@mui/x-charts 7.14.0 → 7.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/BarChart/BarChart.js +180 -183
  2. package/BarChart/BarClipPath.js +17 -25
  3. package/BarChart/BarElement.js +33 -43
  4. package/BarChart/BarLabel/BarLabel.d.ts +1 -1
  5. package/BarChart/BarLabel/BarLabel.js +25 -34
  6. package/BarChart/BarLabel/BarLabel.types.js +1 -5
  7. package/BarChart/BarLabel/BarLabelItem.js +31 -39
  8. package/BarChart/BarLabel/BarLabelPlot.js +13 -21
  9. package/BarChart/BarLabel/barLabelClasses.d.ts +1 -1
  10. package/BarChart/BarLabel/barLabelClasses.js +9 -19
  11. package/BarChart/BarLabel/getBarLabel.js +2 -9
  12. package/BarChart/BarLabel/index.js +2 -25
  13. package/BarChart/BarPlot.js +36 -44
  14. package/BarChart/checkScaleErrors.js +6 -12
  15. package/BarChart/extremums.js +3 -11
  16. package/BarChart/formatter.js +9 -16
  17. package/BarChart/getColor.js +1 -7
  18. package/BarChart/getRadius.js +2 -9
  19. package/BarChart/index.js +4 -49
  20. package/BarChart/legend.js +3 -9
  21. package/BarChart/package.json +2 -2
  22. package/BarChart/plugin.js +8 -15
  23. package/BarChart/types.js +1 -5
  24. package/BarChart/useBarChartProps.js +17 -25
  25. package/CHANGELOG.md +69 -0
  26. package/ChartContainer/ChartContainer.js +164 -172
  27. package/ChartContainer/index.js +1 -16
  28. package/ChartContainer/package.json +2 -2
  29. package/ChartContainer/useChartContainerProps.d.ts +8 -8
  30. package/ChartContainer/useChartContainerProps.js +13 -23
  31. package/ChartContainer/useDefaultizeAxis.d.ts +4 -4
  32. package/ChartContainer/useDefaultizeAxis.js +8 -18
  33. package/ChartsAxis/ChartsAxis.js +24 -32
  34. package/ChartsAxis/axisClasses.js +4 -11
  35. package/ChartsAxis/index.js +2 -27
  36. package/ChartsAxis/package.json +2 -2
  37. package/ChartsAxisHighlight/ChartsAxisHighlight.js +34 -44
  38. package/ChartsAxisHighlight/index.js +1 -16
  39. package/ChartsAxisHighlight/package.json +2 -2
  40. package/ChartsClipPath/ChartsClipPath.js +17 -25
  41. package/ChartsClipPath/index.js +1 -16
  42. package/ChartsClipPath/package.json +2 -2
  43. package/ChartsGrid/ChartsGrid.d.ts +1 -1
  44. package/ChartsGrid/ChartsGrid.js +34 -42
  45. package/ChartsGrid/chartsGridClasses.js +5 -13
  46. package/ChartsGrid/index.js +2 -27
  47. package/ChartsGrid/package.json +2 -2
  48. package/ChartsLegend/ChartsLegend.js +33 -41
  49. package/ChartsLegend/ContinuousColorLegend.js +66 -73
  50. package/ChartsLegend/DefaultChartsLegend.js +38 -46
  51. package/ChartsLegend/LegendPerItem.js +30 -39
  52. package/ChartsLegend/PiecewiseColorLegend.js +36 -44
  53. package/ChartsLegend/chartsLegend.types.js +1 -5
  54. package/ChartsLegend/chartsLegendClasses.js +4 -11
  55. package/ChartsLegend/index.js +6 -71
  56. package/ChartsLegend/legend.types.js +1 -5
  57. package/ChartsLegend/legendItemsPlacement.js +6 -13
  58. package/ChartsLegend/package.json +2 -2
  59. package/ChartsLegend/useAxis.js +6 -14
  60. package/ChartsLegend/utils.js +9 -16
  61. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +15 -23
  62. package/ChartsOnAxisClickHandler/index.js +1 -16
  63. package/ChartsOnAxisClickHandler/package.json +2 -2
  64. package/ChartsOverlay/ChartsLoadingOverlay.js +12 -21
  65. package/ChartsOverlay/ChartsNoDataOverlay.js +12 -21
  66. package/ChartsOverlay/ChartsOverlay.js +13 -23
  67. package/ChartsOverlay/index.js +3 -26
  68. package/ChartsOverlay/package.json +2 -2
  69. package/ChartsReferenceLine/ChartsReferenceLine.js +21 -29
  70. package/ChartsReferenceLine/ChartsXReferenceLine.js +22 -31
  71. package/ChartsReferenceLine/ChartsYReferenceLine.js +22 -31
  72. package/ChartsReferenceLine/chartsReferenceLineClasses.js +5 -13
  73. package/ChartsReferenceLine/common.js +6 -13
  74. package/ChartsReferenceLine/index.js +2 -27
  75. package/ChartsReferenceLine/package.json +2 -2
  76. package/{modern → ChartsSurface}/ChartsSurface.js +7 -3
  77. package/ChartsSurface/index.d.ts +1 -0
  78. package/ChartsSurface/index.js +1 -0
  79. package/ChartsSurface/package.json +6 -0
  80. package/ChartsText/ChartsText.js +18 -26
  81. package/ChartsText/index.js +1 -12
  82. package/ChartsText/package.json +2 -2
  83. package/ChartsTooltip/ChartsAxisTooltipContent.js +22 -30
  84. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -26
  85. package/ChartsTooltip/ChartsTooltip.js +34 -42
  86. package/ChartsTooltip/ChartsTooltipTable.js +11 -16
  87. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +44 -52
  88. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +32 -40
  89. package/ChartsTooltip/chartsTooltipClasses.js +4 -11
  90. package/ChartsTooltip/index.js +7 -82
  91. package/ChartsTooltip/package.json +2 -2
  92. package/ChartsTooltip/utils.js +9 -21
  93. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +29 -37
  94. package/ChartsVoronoiHandler/index.js +1 -16
  95. package/ChartsVoronoiHandler/package.json +2 -2
  96. package/ChartsXAxis/ChartsXAxis.js +76 -84
  97. package/ChartsXAxis/index.js +1 -16
  98. package/ChartsXAxis/package.json +2 -2
  99. package/ChartsYAxis/ChartsYAxis.js +70 -77
  100. package/ChartsYAxis/index.js +1 -16
  101. package/ChartsYAxis/package.json +2 -2
  102. package/Gauge/Gauge.js +52 -60
  103. package/Gauge/GaugeContainer.js +51 -59
  104. package/Gauge/GaugeProvider.js +17 -28
  105. package/Gauge/GaugeReferenceArc.js +11 -20
  106. package/Gauge/GaugeValueArc.js +11 -20
  107. package/Gauge/GaugeValueText.js +18 -26
  108. package/Gauge/gaugeClasses.js +6 -14
  109. package/Gauge/index.js +7 -87
  110. package/Gauge/package.json +2 -2
  111. package/Gauge/utils.js +2 -9
  112. package/LineChart/AnimatedArea.js +35 -44
  113. package/LineChart/AnimatedLine.js +36 -45
  114. package/LineChart/AreaElement.js +33 -43
  115. package/LineChart/AreaPlot.js +30 -38
  116. package/LineChart/LineChart.js +185 -188
  117. package/LineChart/LineElement.js +33 -43
  118. package/LineChart/LineHighlightElement.js +20 -30
  119. package/LineChart/LineHighlightPlot.js +28 -36
  120. package/LineChart/LinePlot.js +30 -38
  121. package/LineChart/MarkElement.js +40 -48
  122. package/LineChart/MarkPlot.js +33 -41
  123. package/LineChart/extremums.js +3 -11
  124. package/LineChart/formatter.js +9 -16
  125. package/LineChart/getColor.js +1 -7
  126. package/LineChart/index.js +11 -126
  127. package/LineChart/legend.js +3 -9
  128. package/LineChart/package.json +2 -2
  129. package/LineChart/plugin.js +8 -15
  130. package/LineChart/useLineChartProps.js +14 -22
  131. package/PieChart/PieArc.js +34 -44
  132. package/PieChart/PieArcLabel.js +30 -40
  133. package/PieChart/PieArcLabelPlot.js +59 -67
  134. package/PieChart/PieArcPlot.js +56 -64
  135. package/PieChart/PieChart.js +180 -183
  136. package/PieChart/PiePlot.js +29 -37
  137. package/PieChart/dataTransform/transition.js +2 -8
  138. package/PieChart/dataTransform/useTransformData.js +7 -16
  139. package/PieChart/formatter.js +10 -17
  140. package/PieChart/getColor.js +1 -7
  141. package/PieChart/getPieCoordinates.js +4 -10
  142. package/PieChart/index.js +7 -82
  143. package/PieChart/legend.js +3 -9
  144. package/PieChart/package.json +2 -2
  145. package/PieChart/plugin.js +5 -12
  146. package/ResponsiveChartContainer/ResizableContainer.js +2 -8
  147. package/ResponsiveChartContainer/ResponsiveChartContainer.js +151 -159
  148. package/ResponsiveChartContainer/index.js +1 -16
  149. package/ResponsiveChartContainer/package.json +2 -2
  150. package/ResponsiveChartContainer/useChartContainerDimensions.js +7 -17
  151. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +8 -16
  152. package/ScatterChart/Scatter.js +26 -34
  153. package/ScatterChart/ScatterChart.js +198 -201
  154. package/ScatterChart/ScatterPlot.js +21 -29
  155. package/ScatterChart/extremums.js +3 -11
  156. package/ScatterChart/formatter.js +3 -9
  157. package/ScatterChart/getColor.js +1 -7
  158. package/ScatterChart/index.js +3 -38
  159. package/ScatterChart/legend.js +3 -9
  160. package/ScatterChart/package.json +2 -2
  161. package/ScatterChart/plugin.js +8 -15
  162. package/ScatterChart/useScatterChartProps.js +10 -18
  163. package/SparkLineChart/SparkLineChart.js +163 -171
  164. package/SparkLineChart/index.js +1 -16
  165. package/SparkLineChart/package.json +2 -2
  166. package/colorPalettes/colorPalettes.js +9 -18
  167. package/colorPalettes/index.js +1 -16
  168. package/colorPalettes/package.json +2 -2
  169. package/constants/package.json +6 -0
  170. package/context/CartesianProvider/Cartesian.types.js +1 -5
  171. package/context/CartesianProvider/CartesianContext.js +2 -10
  172. package/context/CartesianProvider/CartesianProvider.js +17 -24
  173. package/context/CartesianProvider/computeValue.js +28 -35
  174. package/context/CartesianProvider/defaultizeAxis.d.ts +4 -4
  175. package/context/CartesianProvider/defaultizeAxis.js +6 -14
  176. package/context/CartesianProvider/getAxisExtremum.js +2 -9
  177. package/context/CartesianProvider/index.js +8 -60
  178. package/context/CartesianProvider/useCartesianContext.js +5 -14
  179. package/context/CartesianProvider/zoom.js +2 -9
  180. package/context/DrawingProvider.js +13 -24
  181. package/context/HighlightedProvider/HighlightedContext.js +2 -9
  182. package/context/HighlightedProvider/HighlightedProvider.js +24 -32
  183. package/context/HighlightedProvider/createIsFaded.js +2 -9
  184. package/context/HighlightedProvider/createIsHighlighted.js +2 -9
  185. package/context/HighlightedProvider/index.js +4 -49
  186. package/context/HighlightedProvider/useHighlighted.js +4 -11
  187. package/context/HighlightedProvider/useItemHighlighted.js +3 -9
  188. package/context/InteractionProvider.d.ts +2 -2
  189. package/context/InteractionProvider.js +13 -22
  190. package/context/PluginProvider/ColorProcessor.types.js +1 -5
  191. package/context/PluginProvider/ExtremumGetter.types.js +1 -5
  192. package/context/PluginProvider/Plugin.types.js +1 -5
  193. package/context/PluginProvider/PluginContext.js +2 -10
  194. package/context/PluginProvider/PluginProvider.js +8 -15
  195. package/context/PluginProvider/SeriesFormatter.types.js +1 -5
  196. package/context/PluginProvider/index.js +10 -115
  197. package/context/PluginProvider/mergePlugins.d.ts +6 -6
  198. package/context/PluginProvider/mergePlugins.js +6 -13
  199. package/context/PluginProvider/useColorProcessor.js +4 -12
  200. package/context/PluginProvider/useSeriesFormatter.js +4 -12
  201. package/context/PluginProvider/useXExtremumGetter.js +4 -12
  202. package/context/PluginProvider/useYExtremumGetter.js +4 -12
  203. package/context/SeriesProvider/Series.types.js +1 -5
  204. package/context/SeriesProvider/SeriesContext.js +2 -10
  205. package/context/SeriesProvider/SeriesProvider.js +14 -21
  206. package/context/SeriesProvider/index.js +7 -48
  207. package/context/SeriesProvider/processSeries.js +6 -14
  208. package/context/ZAxisContextProvider.js +36 -45
  209. package/context/context.types.js +1 -5
  210. package/context/index.js +2 -27
  211. package/context/package.json +2 -2
  212. package/hooks/index.js +7 -115
  213. package/hooks/package.json +2 -2
  214. package/hooks/useAxis.js +5 -12
  215. package/hooks/useAxisEvents.js +17 -25
  216. package/hooks/useChartDimensions.js +5 -14
  217. package/hooks/useChartId.js +4 -12
  218. package/hooks/useColorScale.js +9 -19
  219. package/hooks/useDrawingArea.js +4 -12
  220. package/hooks/useInteractionItemProps.js +7 -16
  221. package/hooks/useMounted.js +4 -13
  222. package/hooks/useReducedMotion.js +6 -12
  223. package/hooks/useScale.js +8 -15
  224. package/hooks/useSeries.js +8 -19
  225. package/hooks/useSvgRef.js +4 -12
  226. package/hooks/useTicks.js +7 -16
  227. package/index.js +27 -292
  228. package/internals/SlotComponentPropsFromProps.js +1 -5
  229. package/internals/cleanId.js +1 -7
  230. package/internals/colorScale.js +8 -16
  231. package/internals/components/AxisSharedComponents.js +8 -15
  232. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  233. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +7 -15
  234. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +7 -15
  235. package/internals/components/ChartsAxesGradients/index.js +1 -16
  236. package/internals/configInit.js +1 -7
  237. package/internals/defaultizeColor.d.ts +16 -16
  238. package/internals/defaultizeColor.js +5 -12
  239. package/internals/defaultizeValueFormatter.js +3 -10
  240. package/internals/domUtils.js +6 -16
  241. package/internals/geometry.js +1 -7
  242. package/internals/getCurve.js +11 -17
  243. package/internals/getLabel.js +1 -7
  244. package/internals/getPercentageValue.js +1 -7
  245. package/internals/getSVGPoint.js +1 -7
  246. package/internals/getScale.js +8 -14
  247. package/internals/getSymbol.js +1 -7
  248. package/internals/getWordsByLines.js +5 -12
  249. package/internals/index.d.ts +1 -0
  250. package/internals/index.js +40 -322
  251. package/internals/isBandScale.js +1 -7
  252. package/internals/isCartesian.js +4 -11
  253. package/internals/isDefined.js +1 -7
  254. package/internals/isInfinity.js +1 -7
  255. package/internals/notNull.js +1 -7
  256. package/internals/package.json +2 -2
  257. package/internals/stackSeries.js +16 -23
  258. package/internals/ts-generic.js +1 -5
  259. package/internals/useAnimatedPath.d.ts +1 -1
  260. package/internals/useAnimatedPath.js +21 -26
  261. package/internals/warning.js +2 -9
  262. package/models/axis.js +2 -9
  263. package/models/colorMapping.js +1 -5
  264. package/models/helpers.js +1 -5
  265. package/models/index.js +4 -38
  266. package/models/layout.js +1 -5
  267. package/models/package.json +2 -2
  268. package/models/seriesType/bar.js +1 -5
  269. package/models/seriesType/common.js +1 -5
  270. package/models/seriesType/config.js +1 -5
  271. package/models/seriesType/index.js +6 -61
  272. package/models/seriesType/line.js +1 -5
  273. package/models/seriesType/pie.js +1 -5
  274. package/models/seriesType/scatter.js +1 -5
  275. package/models/stacking.js +1 -5
  276. package/models/z-axis.js +1 -5
  277. package/modern/BarChart/BarChart.js +6 -1
  278. package/modern/BarChart/BarLabel/BarLabel.js +4 -4
  279. package/modern/ChartsGrid/ChartsGrid.js +6 -6
  280. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -2
  281. package/modern/ChartsLegend/LegendPerItem.js +5 -4
  282. package/{esm → modern/ChartsSurface}/ChartsSurface.js +7 -3
  283. package/modern/ChartsSurface/index.js +1 -0
  284. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  285. package/modern/ChartsYAxis/ChartsYAxis.js +3 -2
  286. package/modern/LineChart/LineChart.js +6 -1
  287. package/modern/LineChart/MarkElement.js +4 -2
  288. package/modern/PieChart/PieChart.js +10 -5
  289. package/modern/ScatterChart/ScatterChart.js +6 -1
  290. package/modern/hooks/useAxisEvents.js +2 -1
  291. package/modern/index.js +1 -1
  292. package/modern/internals/index.js +1 -0
  293. package/modern/internals/useAnimatedPath.js +17 -13
  294. package/node/BarChart/BarChart.js +356 -0
  295. package/node/BarChart/BarClipPath.js +50 -0
  296. package/node/BarChart/BarElement.js +119 -0
  297. package/node/BarChart/BarLabel/BarLabel.js +60 -0
  298. package/node/BarChart/BarLabel/BarLabel.types.js +5 -0
  299. package/node/BarChart/BarLabel/BarLabelItem.js +127 -0
  300. package/node/BarChart/BarLabel/BarLabelPlot.js +83 -0
  301. package/node/BarChart/BarLabel/barLabelClasses.js +29 -0
  302. package/{esm → node}/BarChart/BarLabel/getBarLabel.js +9 -2
  303. package/node/BarChart/BarLabel/index.js +25 -0
  304. package/{esm → node}/BarChart/BarPlot.js +44 -36
  305. package/{esm → node}/BarChart/checkScaleErrors.js +12 -6
  306. package/{esm → node}/BarChart/extremums.js +11 -3
  307. package/{esm → node}/BarChart/formatter.js +16 -9
  308. package/{esm → node}/BarChart/getColor.js +7 -1
  309. package/{esm → node}/BarChart/getRadius.js +9 -2
  310. package/node/BarChart/index.js +49 -0
  311. package/{esm → node}/BarChart/legend.js +9 -3
  312. package/node/BarChart/plugin.js +17 -0
  313. package/node/BarChart/types.js +5 -0
  314. package/{esm → node}/BarChart/useBarChartProps.js +25 -17
  315. package/node/ChartContainer/ChartContainer.js +258 -0
  316. package/node/ChartContainer/index.js +16 -0
  317. package/node/ChartContainer/useChartContainerProps.js +92 -0
  318. package/node/ChartContainer/useDefaultizeAxis.js +40 -0
  319. package/{esm → node}/ChartsAxis/ChartsAxis.js +32 -24
  320. package/node/ChartsAxis/axisClasses.js +12 -0
  321. package/node/ChartsAxis/index.js +27 -0
  322. package/{esm → node}/ChartsAxisHighlight/ChartsAxisHighlight.js +44 -34
  323. package/node/ChartsAxisHighlight/index.js +16 -0
  324. package/node/ChartsClipPath/ChartsClipPath.js +59 -0
  325. package/node/ChartsClipPath/index.js +16 -0
  326. package/node/ChartsGrid/ChartsGrid.js +141 -0
  327. package/node/ChartsGrid/chartsGridClasses.js +14 -0
  328. package/node/ChartsGrid/index.js +27 -0
  329. package/node/ChartsLegend/ChartsLegend.js +114 -0
  330. package/{esm → node}/ChartsLegend/ContinuousColorLegend.js +74 -65
  331. package/node/ChartsLegend/DefaultChartsLegend.js +105 -0
  332. package/{esm → node}/ChartsLegend/LegendPerItem.js +40 -29
  333. package/{esm → node}/ChartsLegend/PiecewiseColorLegend.js +44 -36
  334. package/node/ChartsLegend/chartsLegend.types.js +5 -0
  335. package/node/ChartsLegend/chartsLegendClasses.js +12 -0
  336. package/node/ChartsLegend/index.js +71 -0
  337. package/node/ChartsLegend/legend.types.js +5 -0
  338. package/{esm → node}/ChartsLegend/legendItemsPlacement.js +13 -6
  339. package/node/ChartsLegend/useAxis.js +47 -0
  340. package/node/ChartsLegend/utils.js +23 -0
  341. package/{esm → node}/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +23 -15
  342. package/node/ChartsOnAxisClickHandler/index.js +16 -0
  343. package/node/ChartsOverlay/ChartsLoadingOverlay.js +43 -0
  344. package/node/ChartsOverlay/ChartsNoDataOverlay.js +43 -0
  345. package/node/ChartsOverlay/ChartsOverlay.js +41 -0
  346. package/node/ChartsOverlay/index.js +26 -0
  347. package/node/ChartsReferenceLine/ChartsReferenceLine.js +82 -0
  348. package/node/ChartsReferenceLine/ChartsXReferenceLine.js +109 -0
  349. package/node/ChartsReferenceLine/ChartsYReferenceLine.js +109 -0
  350. package/node/ChartsReferenceLine/chartsReferenceLineClasses.js +14 -0
  351. package/node/ChartsReferenceLine/common.js +27 -0
  352. package/node/ChartsReferenceLine/index.js +27 -0
  353. package/{ChartsSurface.js → node/ChartsSurface/ChartsSurface.js} +6 -2
  354. package/node/ChartsSurface/index.js +16 -0
  355. package/{esm → node}/ChartsText/ChartsText.js +26 -18
  356. package/node/ChartsText/index.js +12 -0
  357. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +88 -0
  358. package/node/ChartsTooltip/ChartsItemTooltipContent.js +60 -0
  359. package/node/ChartsTooltip/ChartsTooltip.js +162 -0
  360. package/{esm → node}/ChartsTooltip/ChartsTooltipTable.js +16 -11
  361. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +129 -0
  362. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +98 -0
  363. package/node/ChartsTooltip/chartsTooltipClasses.js +12 -0
  364. package/node/ChartsTooltip/index.js +82 -0
  365. package/{esm → node}/ChartsTooltip/utils.js +21 -9
  366. package/{esm → node}/ChartsVoronoiHandler/ChartsVoronoiHandler.js +37 -29
  367. package/node/ChartsVoronoiHandler/index.js +16 -0
  368. package/{esm → node}/ChartsXAxis/ChartsXAxis.js +84 -76
  369. package/node/ChartsXAxis/index.js +16 -0
  370. package/{esm → node}/ChartsYAxis/ChartsYAxis.js +78 -69
  371. package/node/ChartsYAxis/index.js +16 -0
  372. package/node/Gauge/Gauge.js +157 -0
  373. package/{esm → node}/Gauge/GaugeContainer.js +59 -51
  374. package/node/Gauge/GaugeProvider.js +99 -0
  375. package/node/Gauge/GaugeReferenceArc.js +44 -0
  376. package/node/Gauge/GaugeValueArc.js +51 -0
  377. package/node/Gauge/GaugeValueText.js +77 -0
  378. package/node/Gauge/gaugeClasses.js +15 -0
  379. package/node/Gauge/index.js +87 -0
  380. package/{esm → node}/Gauge/utils.js +9 -2
  381. package/node/LineChart/AnimatedArea.js +112 -0
  382. package/node/LineChart/AnimatedLine.js +115 -0
  383. package/node/LineChart/AreaElement.js +119 -0
  384. package/{esm → node}/LineChart/AreaPlot.js +38 -30
  385. package/node/LineChart/LineChart.js +357 -0
  386. package/node/LineChart/LineElement.js +119 -0
  387. package/node/LineChart/LineHighlightElement.js +90 -0
  388. package/node/LineChart/LineHighlightPlot.js +126 -0
  389. package/{esm → node}/LineChart/LinePlot.js +38 -30
  390. package/node/LineChart/MarkElement.js +140 -0
  391. package/{esm → node}/LineChart/MarkPlot.js +41 -33
  392. package/{esm → node}/LineChart/extremums.js +11 -3
  393. package/{esm → node}/LineChart/formatter.js +16 -9
  394. package/{esm → node}/LineChart/getColor.js +7 -1
  395. package/node/LineChart/index.js +126 -0
  396. package/{esm → node}/LineChart/legend.js +9 -3
  397. package/node/LineChart/plugin.js +17 -0
  398. package/{esm → node}/LineChart/useLineChartProps.js +22 -14
  399. package/node/PieChart/PieArc.js +117 -0
  400. package/node/PieChart/PieArcLabel.js +117 -0
  401. package/node/PieChart/PieArcLabelPlot.js +202 -0
  402. package/node/PieChart/PieArcPlot.js +184 -0
  403. package/node/PieChart/PieChart.js +401 -0
  404. package/{esm → node}/PieChart/PiePlot.js +37 -29
  405. package/{esm → node}/PieChart/dataTransform/transition.js +8 -2
  406. package/{esm → node}/PieChart/dataTransform/useTransformData.js +16 -7
  407. package/node/PieChart/formatter.js +53 -0
  408. package/node/PieChart/getColor.js +12 -0
  409. package/node/PieChart/getPieCoordinates.js +25 -0
  410. package/node/PieChart/index.js +82 -0
  411. package/{esm → node}/PieChart/legend.js +9 -3
  412. package/node/PieChart/plugin.js +14 -0
  413. package/{esm → node}/ResponsiveChartContainer/ResizableContainer.js +8 -2
  414. package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +233 -0
  415. package/node/ResponsiveChartContainer/index.js +16 -0
  416. package/{esm → node}/ResponsiveChartContainer/useChartContainerDimensions.js +17 -7
  417. package/{esm → node}/ResponsiveChartContainer/useResponsiveChartContainerProps.js +16 -8
  418. package/{esm → node}/ScatterChart/Scatter.js +34 -26
  419. package/node/ScatterChart/ScatterChart.js +363 -0
  420. package/node/ScatterChart/ScatterPlot.js +107 -0
  421. package/{esm → node}/ScatterChart/extremums.js +11 -3
  422. package/node/ScatterChart/formatter.js +17 -0
  423. package/{esm → node}/ScatterChart/getColor.js +7 -1
  424. package/node/ScatterChart/index.js +38 -0
  425. package/{esm → node}/ScatterChart/legend.js +9 -3
  426. package/node/ScatterChart/plugin.js +17 -0
  427. package/{esm → node}/ScatterChart/useScatterChartProps.js +18 -10
  428. package/node/SparkLineChart/SparkLineChart.js +356 -0
  429. package/node/SparkLineChart/index.js +16 -0
  430. package/node/colorPalettes/colorPalettes.js +18 -0
  431. package/node/colorPalettes/index.js +16 -0
  432. package/node/context/CartesianProvider/Cartesian.types.js +5 -0
  433. package/node/context/CartesianProvider/CartesianContext.js +21 -0
  434. package/node/context/CartesianProvider/CartesianProvider.js +54 -0
  435. package/{esm → node}/context/CartesianProvider/computeValue.js +35 -28
  436. package/node/context/CartesianProvider/defaultizeAxis.js +21 -0
  437. package/{esm → node}/context/CartesianProvider/getAxisExtremum.js +9 -2
  438. package/node/context/CartesianProvider/index.js +61 -0
  439. package/node/context/CartesianProvider/useCartesianContext.js +17 -0
  440. package/{esm → node}/context/CartesianProvider/zoom.js +9 -2
  441. package/node/context/DrawingProvider.js +87 -0
  442. package/node/context/HighlightedProvider/HighlightedContext.js +39 -0
  443. package/node/context/HighlightedProvider/HighlightedProvider.js +100 -0
  444. package/{esm → node}/context/HighlightedProvider/createIsFaded.js +9 -2
  445. package/{esm → node}/context/HighlightedProvider/createIsHighlighted.js +9 -2
  446. package/node/context/HighlightedProvider/index.js +49 -0
  447. package/node/context/HighlightedProvider/useHighlighted.js +27 -0
  448. package/{esm → node}/context/HighlightedProvider/useItemHighlighted.js +9 -3
  449. package/node/context/InteractionProvider.js +85 -0
  450. package/node/context/PluginProvider/ColorProcessor.types.js +5 -0
  451. package/node/context/PluginProvider/ExtremumGetter.types.js +5 -0
  452. package/node/context/PluginProvider/Plugin.types.js +5 -0
  453. package/node/context/PluginProvider/PluginContext.js +21 -0
  454. package/node/context/PluginProvider/PluginProvider.js +26 -0
  455. package/node/context/PluginProvider/SeriesFormatter.types.js +5 -0
  456. package/node/context/PluginProvider/index.js +115 -0
  457. package/{esm → node}/context/PluginProvider/mergePlugins.js +13 -6
  458. package/node/context/PluginProvider/useColorProcessor.js +23 -0
  459. package/node/context/PluginProvider/useSeriesFormatter.js +23 -0
  460. package/node/context/PluginProvider/useXExtremumGetter.js +23 -0
  461. package/node/context/PluginProvider/useYExtremumGetter.js +23 -0
  462. package/node/context/SeriesProvider/Series.types.js +5 -0
  463. package/node/context/SeriesProvider/SeriesContext.js +16 -0
  464. package/node/context/SeriesProvider/SeriesProvider.js +38 -0
  465. package/node/context/SeriesProvider/index.js +49 -0
  466. package/{esm → node}/context/SeriesProvider/processSeries.js +14 -6
  467. package/node/context/ZAxisContextProvider.js +103 -0
  468. package/node/context/context.types.js +5 -0
  469. package/node/context/index.js +27 -0
  470. package/node/hooks/index.js +115 -0
  471. package/node/hooks/useAxis.js +24 -0
  472. package/{esm → node}/hooks/useAxisEvents.js +26 -16
  473. package/node/hooks/useChartDimensions.js +25 -0
  474. package/node/hooks/useChartId.js +16 -0
  475. package/node/hooks/useColorScale.js +37 -0
  476. package/node/hooks/useDrawingArea.js +30 -0
  477. package/node/hooks/useInteractionItemProps.js +55 -0
  478. package/node/hooks/useMounted.js +25 -0
  479. package/{esm → node}/hooks/useReducedMotion.js +12 -6
  480. package/node/hooks/useScale.js +30 -0
  481. package/{esm → node}/hooks/useSeries.js +19 -8
  482. package/node/hooks/useSvgRef.js +20 -0
  483. package/{esm → node}/hooks/useTicks.js +16 -7
  484. package/node/index.js +298 -0
  485. package/node/internals/SlotComponentPropsFromProps.js +5 -0
  486. package/node/internals/cleanId.js +12 -0
  487. package/node/internals/colorScale.js +24 -0
  488. package/node/internals/components/AxisSharedComponents.js +33 -0
  489. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +105 -0
  490. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +64 -0
  491. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +48 -0
  492. package/node/internals/components/ChartsAxesGradients/index.js +16 -0
  493. package/{esm → node}/internals/configInit.js +7 -1
  494. package/node/internals/defaultizeColor.js +21 -0
  495. package/node/internals/defaultizeValueFormatter.js +17 -0
  496. package/{esm → node}/internals/domUtils.js +16 -6
  497. package/{esm → node}/internals/geometry.js +7 -1
  498. package/node/internals/getCurve.js +45 -0
  499. package/node/internals/getLabel.js +9 -0
  500. package/{esm → node}/internals/getPercentageValue.js +7 -1
  501. package/{esm → node}/internals/getSVGPoint.js +7 -1
  502. package/node/internals/getScale.js +23 -0
  503. package/{esm → node}/internals/getSymbol.js +7 -1
  504. package/node/internals/getWordsByLines.js +21 -0
  505. package/node/internals/index.js +335 -0
  506. package/node/internals/isBandScale.js +9 -0
  507. package/node/internals/isCartesian.js +14 -0
  508. package/node/internals/isDefined.js +9 -0
  509. package/node/internals/isInfinity.js +9 -0
  510. package/node/internals/notNull.js +9 -0
  511. package/{esm → node}/internals/stackSeries.js +23 -16
  512. package/node/internals/ts-generic.js +5 -0
  513. package/node/internals/useAnimatedPath.js +42 -0
  514. package/{esm → node}/internals/warning.js +9 -2
  515. package/node/models/axis.js +18 -0
  516. package/node/models/colorMapping.js +5 -0
  517. package/node/models/helpers.js +5 -0
  518. package/node/models/index.js +38 -0
  519. package/node/models/layout.js +5 -0
  520. package/node/models/seriesType/bar.js +5 -0
  521. package/node/models/seriesType/common.js +5 -0
  522. package/node/models/seriesType/config.js +5 -0
  523. package/node/models/seriesType/index.js +71 -0
  524. package/node/models/seriesType/line.js +5 -0
  525. package/node/models/seriesType/pie.js +5 -0
  526. package/node/models/seriesType/scatter.js +5 -0
  527. package/node/models/stacking.js +5 -0
  528. package/node/models/z-axis.js +5 -0
  529. package/{esm → node}/tests/firePointerEvent.js +12 -5
  530. package/node/themeAugmentation/index.js +38 -0
  531. package/package.json +7 -7
  532. package/tests/firePointerEvent.js +5 -12
  533. package/themeAugmentation/components.d.ts +2 -12
  534. package/themeAugmentation/index.js +3 -38
  535. package/themeAugmentation/overrides.d.ts +6 -7
  536. package/themeAugmentation/package.json +2 -2
  537. package/themeAugmentation/props.d.ts +3 -14
  538. package/esm/BarChart/BarChart.js +0 -343
  539. package/esm/BarChart/BarClipPath.js +0 -42
  540. package/esm/BarChart/BarElement.js +0 -109
  541. package/esm/BarChart/BarLabel/BarLabel.js +0 -51
  542. package/esm/BarChart/BarLabel/BarLabel.types.js +0 -1
  543. package/esm/BarChart/BarLabel/BarLabelItem.js +0 -119
  544. package/esm/BarChart/BarLabel/BarLabelPlot.js +0 -75
  545. package/esm/BarChart/BarLabel/barLabelClasses.js +0 -19
  546. package/esm/BarChart/BarLabel/index.js +0 -2
  547. package/esm/BarChart/index.js +0 -4
  548. package/esm/BarChart/plugin.js +0 -10
  549. package/esm/BarChart/types.js +0 -1
  550. package/esm/ChartContainer/ChartContainer.js +0 -250
  551. package/esm/ChartContainer/index.js +0 -1
  552. package/esm/ChartContainer/useChartContainerProps.js +0 -82
  553. package/esm/ChartContainer/useDefaultizeAxis.js +0 -30
  554. package/esm/ChartsAxis/axisClasses.js +0 -5
  555. package/esm/ChartsAxis/index.js +0 -2
  556. package/esm/ChartsAxisHighlight/index.js +0 -1
  557. package/esm/ChartsClipPath/ChartsClipPath.js +0 -51
  558. package/esm/ChartsClipPath/index.js +0 -1
  559. package/esm/ChartsGrid/ChartsGrid.js +0 -133
  560. package/esm/ChartsGrid/chartsGridClasses.js +0 -6
  561. package/esm/ChartsGrid/index.js +0 -2
  562. package/esm/ChartsLegend/ChartsLegend.js +0 -106
  563. package/esm/ChartsLegend/DefaultChartsLegend.js +0 -97
  564. package/esm/ChartsLegend/chartsLegend.types.js +0 -1
  565. package/esm/ChartsLegend/chartsLegendClasses.js +0 -5
  566. package/esm/ChartsLegend/index.js +0 -6
  567. package/esm/ChartsLegend/legend.types.js +0 -1
  568. package/esm/ChartsLegend/useAxis.js +0 -39
  569. package/esm/ChartsLegend/utils.js +0 -16
  570. package/esm/ChartsOnAxisClickHandler/index.js +0 -1
  571. package/esm/ChartsOverlay/ChartsLoadingOverlay.js +0 -34
  572. package/esm/ChartsOverlay/ChartsNoDataOverlay.js +0 -34
  573. package/esm/ChartsOverlay/ChartsOverlay.js +0 -31
  574. package/esm/ChartsOverlay/index.js +0 -3
  575. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +0 -74
  576. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +0 -100
  577. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +0 -100
  578. package/esm/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  579. package/esm/ChartsReferenceLine/common.js +0 -20
  580. package/esm/ChartsReferenceLine/index.js +0 -2
  581. package/esm/ChartsText/index.js +0 -1
  582. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +0 -80
  583. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +0 -52
  584. package/esm/ChartsTooltip/ChartsTooltip.js +0 -154
  585. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -121
  586. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -90
  587. package/esm/ChartsTooltip/chartsTooltipClasses.js +0 -5
  588. package/esm/ChartsTooltip/index.js +0 -7
  589. package/esm/ChartsVoronoiHandler/index.js +0 -1
  590. package/esm/ChartsXAxis/index.js +0 -1
  591. package/esm/ChartsYAxis/index.js +0 -1
  592. package/esm/Gauge/Gauge.js +0 -149
  593. package/esm/Gauge/GaugeProvider.js +0 -88
  594. package/esm/Gauge/GaugeReferenceArc.js +0 -35
  595. package/esm/Gauge/GaugeValueArc.js +0 -42
  596. package/esm/Gauge/GaugeValueText.js +0 -69
  597. package/esm/Gauge/gaugeClasses.js +0 -7
  598. package/esm/Gauge/index.js +0 -7
  599. package/esm/LineChart/AnimatedArea.js +0 -103
  600. package/esm/LineChart/AnimatedLine.js +0 -106
  601. package/esm/LineChart/AreaElement.js +0 -109
  602. package/esm/LineChart/LineChart.js +0 -344
  603. package/esm/LineChart/LineElement.js +0 -109
  604. package/esm/LineChart/LineHighlightElement.js +0 -80
  605. package/esm/LineChart/LineHighlightPlot.js +0 -118
  606. package/esm/LineChart/MarkElement.js +0 -128
  607. package/esm/LineChart/index.js +0 -11
  608. package/esm/LineChart/plugin.js +0 -10
  609. package/esm/PieChart/PieArc.js +0 -107
  610. package/esm/PieChart/PieArcLabel.js +0 -107
  611. package/esm/PieChart/PieArcLabelPlot.js +0 -194
  612. package/esm/PieChart/PieArcPlot.js +0 -176
  613. package/esm/PieChart/PieChart.js +0 -388
  614. package/esm/PieChart/formatter.js +0 -46
  615. package/esm/PieChart/getColor.js +0 -6
  616. package/esm/PieChart/getPieCoordinates.js +0 -19
  617. package/esm/PieChart/index.js +0 -7
  618. package/esm/PieChart/plugin.js +0 -7
  619. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -225
  620. package/esm/ResponsiveChartContainer/index.js +0 -1
  621. package/esm/ScatterChart/ScatterChart.js +0 -350
  622. package/esm/ScatterChart/ScatterPlot.js +0 -99
  623. package/esm/ScatterChart/formatter.js +0 -11
  624. package/esm/ScatterChart/index.js +0 -3
  625. package/esm/ScatterChart/plugin.js +0 -10
  626. package/esm/SparkLineChart/SparkLineChart.js +0 -348
  627. package/esm/SparkLineChart/index.js +0 -1
  628. package/esm/colorPalettes/colorPalettes.js +0 -9
  629. package/esm/colorPalettes/index.js +0 -1
  630. package/esm/context/CartesianProvider/Cartesian.types.js +0 -1
  631. package/esm/context/CartesianProvider/CartesianContext.js +0 -13
  632. package/esm/context/CartesianProvider/CartesianProvider.js +0 -47
  633. package/esm/context/CartesianProvider/defaultizeAxis.js +0 -13
  634. package/esm/context/CartesianProvider/index.js +0 -9
  635. package/esm/context/CartesianProvider/useCartesianContext.js +0 -8
  636. package/esm/context/DrawingProvider.js +0 -76
  637. package/esm/context/HighlightedProvider/HighlightedContext.js +0 -32
  638. package/esm/context/HighlightedProvider/HighlightedProvider.js +0 -92
  639. package/esm/context/HighlightedProvider/index.js +0 -4
  640. package/esm/context/HighlightedProvider/useHighlighted.js +0 -20
  641. package/esm/context/InteractionProvider.js +0 -76
  642. package/esm/context/PluginProvider/ColorProcessor.types.js +0 -1
  643. package/esm/context/PluginProvider/ExtremumGetter.types.js +0 -1
  644. package/esm/context/PluginProvider/Plugin.types.js +0 -1
  645. package/esm/context/PluginProvider/PluginContext.js +0 -13
  646. package/esm/context/PluginProvider/PluginProvider.js +0 -19
  647. package/esm/context/PluginProvider/SeriesFormatter.types.js +0 -1
  648. package/esm/context/PluginProvider/index.js +0 -10
  649. package/esm/context/PluginProvider/useColorProcessor.js +0 -15
  650. package/esm/context/PluginProvider/useSeriesFormatter.js +0 -15
  651. package/esm/context/PluginProvider/useXExtremumGetter.js +0 -15
  652. package/esm/context/PluginProvider/useYExtremumGetter.js +0 -15
  653. package/esm/context/SeriesProvider/Series.types.js +0 -1
  654. package/esm/context/SeriesProvider/SeriesContext.js +0 -8
  655. package/esm/context/SeriesProvider/SeriesProvider.js +0 -31
  656. package/esm/context/SeriesProvider/index.js +0 -8
  657. package/esm/context/ZAxisContextProvider.js +0 -94
  658. package/esm/context/context.types.js +0 -1
  659. package/esm/context/index.js +0 -2
  660. package/esm/hooks/index.js +0 -7
  661. package/esm/hooks/useAxis.js +0 -17
  662. package/esm/hooks/useChartDimensions.js +0 -16
  663. package/esm/hooks/useChartId.js +0 -8
  664. package/esm/hooks/useColorScale.js +0 -27
  665. package/esm/hooks/useDrawingArea.js +0 -22
  666. package/esm/hooks/useInteractionItemProps.js +0 -46
  667. package/esm/hooks/useMounted.js +0 -16
  668. package/esm/hooks/useScale.js +0 -23
  669. package/esm/hooks/useSvgRef.js +0 -12
  670. package/esm/index.js +0 -26
  671. package/esm/internals/SlotComponentPropsFromProps.js +0 -1
  672. package/esm/internals/cleanId.js +0 -6
  673. package/esm/internals/colorScale.js +0 -16
  674. package/esm/internals/components/AxisSharedComponents.js +0 -26
  675. package/esm/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +0 -95
  676. package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +0 -56
  677. package/esm/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +0 -40
  678. package/esm/internals/components/ChartsAxesGradients/index.js +0 -1
  679. package/esm/internals/defaultizeColor.js +0 -14
  680. package/esm/internals/defaultizeValueFormatter.js +0 -10
  681. package/esm/internals/getCurve.js +0 -39
  682. package/esm/internals/getLabel.js +0 -3
  683. package/esm/internals/getScale.js +0 -17
  684. package/esm/internals/getWordsByLines.js +0 -14
  685. package/esm/internals/index.js +0 -40
  686. package/esm/internals/isBandScale.js +0 -3
  687. package/esm/internals/isCartesian.js +0 -7
  688. package/esm/internals/isDefined.js +0 -3
  689. package/esm/internals/isInfinity.js +0 -3
  690. package/esm/internals/notNull.js +0 -3
  691. package/esm/internals/ts-generic.js +0 -1
  692. package/esm/internals/useAnimatedPath.js +0 -29
  693. package/esm/internals/useIsRTL.js +0 -5
  694. package/esm/models/axis.js +0 -11
  695. package/esm/models/colorMapping.js +0 -1
  696. package/esm/models/helpers.js +0 -1
  697. package/esm/models/index.js +0 -4
  698. package/esm/models/layout.js +0 -1
  699. package/esm/models/seriesType/bar.js +0 -1
  700. package/esm/models/seriesType/common.js +0 -1
  701. package/esm/models/seriesType/config.js +0 -1
  702. package/esm/models/seriesType/index.js +0 -16
  703. package/esm/models/seriesType/line.js +0 -1
  704. package/esm/models/seriesType/pie.js +0 -1
  705. package/esm/models/seriesType/scatter.js +0 -1
  706. package/esm/models/stacking.js +0 -1
  707. package/esm/models/z-axis.js +0 -1
  708. package/esm/themeAugmentation/index.js +0 -3
  709. package/internals/useIsRTL.d.ts +0 -1
  710. package/internals/useIsRTL.js +0 -12
  711. package/modern/internals/useIsRTL.js +0 -5
  712. /package/{ChartsSurface.d.ts → ChartsSurface/ChartsSurface.d.ts} +0 -0
  713. /package/{constants.d.ts → constants/index.d.ts} +0 -0
  714. /package/{esm/constants.js → constants/index.js} +0 -0
  715. /package/modern/{constants.js → constants/index.js} +0 -0
  716. /package/{constants.js → node/constants/index.js} +0 -0
@@ -1,3 +0,0 @@
1
- export * from './ScatterChart';
2
- export * from './ScatterPlot';
3
- export * from './Scatter';
@@ -1,10 +0,0 @@
1
- import { getExtremumX, getExtremumY } from './extremums';
2
- import formatter from './formatter';
3
- import getColor from './getColor';
4
- export const plugin = {
5
- seriesType: 'scatter',
6
- seriesFormatter: formatter,
7
- colorProcessor: getColor,
8
- xExtremumGetter: getExtremumX,
9
- yExtremumGetter: getExtremumY
10
- };
@@ -1,348 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["xAxis", "yAxis", "width", "height", "margin", "colors", "sx", "showTooltip", "tooltip", "showHighlight", "axisHighlight", "children", "slots", "slotProps", "data", "plotType", "valueFormatter", "area", "curve", "className"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { BarPlot } from '../BarChart';
7
- import { LinePlot, AreaPlot, LineHighlightPlot } from '../LineChart';
8
- import { ResponsiveChartContainer } from '../ResponsiveChartContainer';
9
- import { DEFAULT_X_AXIS_KEY } from '../constants';
10
- import { ChartsTooltip } from '../ChartsTooltip';
11
- import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const SPARKLINE_DEFAULT_MARGIN = {
14
- top: 5,
15
- bottom: 5,
16
- left: 5,
17
- right: 5
18
- };
19
-
20
- /**
21
- * Demos:
22
- *
23
- * - [SparkLine](https://mui.com/x/react-charts/sparkline/)
24
- *
25
- * API:
26
- *
27
- * - [SparkLineChart API](https://mui.com/x/api/charts/spark-line-chart/)
28
- */
29
- const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props, ref) {
30
- const {
31
- xAxis,
32
- yAxis,
33
- width,
34
- height,
35
- margin = SPARKLINE_DEFAULT_MARGIN,
36
- colors,
37
- sx,
38
- showTooltip,
39
- tooltip,
40
- showHighlight,
41
- axisHighlight: inAxisHighlight,
42
- children,
43
- slots,
44
- slotProps,
45
- data,
46
- plotType = 'line',
47
- valueFormatter = value => value === null ? '' : value.toString(),
48
- area,
49
- curve = 'linear',
50
- className
51
- } = props,
52
- other = _objectWithoutPropertiesLoose(props, _excluded);
53
- const defaultXHighlight = showHighlight && plotType === 'bar' ? {
54
- x: 'band'
55
- } : {
56
- x: 'none'
57
- };
58
- const axisHighlight = _extends({}, defaultXHighlight, inAxisHighlight);
59
- return /*#__PURE__*/_jsxs(ResponsiveChartContainer, _extends({}, other, {
60
- ref: ref,
61
- series: [_extends({
62
- type: plotType,
63
- data,
64
- valueFormatter
65
- }, plotType === 'bar' ? {} : {
66
- area,
67
- curve,
68
- disableHighlight: !showHighlight
69
- })],
70
- width: width,
71
- height: height,
72
- margin: margin,
73
- className: className,
74
- xAxis: [_extends({
75
- id: DEFAULT_X_AXIS_KEY,
76
- scaleType: plotType === 'bar' ? 'band' : 'point',
77
- data: Array.from({
78
- length: data.length
79
- }, (_, index) => index),
80
- hideTooltip: xAxis === undefined
81
- }, xAxis)],
82
- yAxis: [_extends({
83
- id: DEFAULT_X_AXIS_KEY
84
- }, yAxis)],
85
- colors: colors,
86
- sx: sx,
87
- disableAxisListener: (!showTooltip || tooltip?.trigger !== 'axis') && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
88
- children: [plotType === 'bar' && /*#__PURE__*/_jsx(BarPlot, {
89
- skipAnimation: true,
90
- slots: slots,
91
- slotProps: slotProps,
92
- sx: {
93
- shapeRendering: 'auto'
94
- }
95
- }), plotType === 'line' && /*#__PURE__*/_jsxs(React.Fragment, {
96
- children: [/*#__PURE__*/_jsx(AreaPlot, {
97
- skipAnimation: true,
98
- slots: slots,
99
- slotProps: slotProps
100
- }), /*#__PURE__*/_jsx(LinePlot, {
101
- skipAnimation: true,
102
- slots: slots,
103
- slotProps: slotProps
104
- }), /*#__PURE__*/_jsx(LineHighlightPlot, {
105
- slots: slots,
106
- slotProps: slotProps
107
- })]
108
- }), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlight)), showTooltip && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
109
- slotProps: slotProps,
110
- slots: slots
111
- })), children]
112
- }));
113
- });
114
- process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
115
- // ----------------------------- Warning --------------------------------
116
- // | These PropTypes are generated from the TypeScript type definitions |
117
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
118
- // ----------------------------------------------------------------------
119
- /**
120
- * Set to `true` to fill spark line area.
121
- * Has no effect if plotType='bar'.
122
- * @default false
123
- */
124
- area: PropTypes.bool,
125
- axisHighlight: PropTypes.shape({
126
- x: PropTypes.oneOf(['band', 'line', 'none']),
127
- y: PropTypes.oneOf(['band', 'line', 'none'])
128
- }),
129
- children: PropTypes.node,
130
- className: PropTypes.string,
131
- /**
132
- * Color palette used to colorize multiple series.
133
- * @default blueberryTwilightPalette
134
- */
135
- colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
136
- /**
137
- * @default 'linear'
138
- */
139
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
140
- /**
141
- * Data to plot.
142
- */
143
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
144
- /**
145
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
146
- */
147
- dataset: PropTypes.arrayOf(PropTypes.object),
148
- desc: PropTypes.string,
149
- /**
150
- * If `true`, the charts will not listen to the mouse move event.
151
- * It might break interactive features, but will improve performance.
152
- * @default false
153
- */
154
- disableAxisListener: PropTypes.bool,
155
- /**
156
- * The height of the chart in px. If not defined, it takes the height of the parent element.
157
- */
158
- height: PropTypes.number,
159
- /**
160
- * The item currently highlighted. Turns highlighting into a controlled prop.
161
- */
162
- highlightedItem: PropTypes.shape({
163
- dataIndex: PropTypes.number,
164
- seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
165
- }),
166
- /**
167
- * The margin between the SVG and the drawing area.
168
- * It's used for leaving some space for extra information such as the x- and y-axis or legend.
169
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
170
- * @default {
171
- * top: 5,
172
- * bottom: 5,
173
- * left: 5,
174
- * right: 5,
175
- * }
176
- */
177
- margin: PropTypes.shape({
178
- bottom: PropTypes.number,
179
- left: PropTypes.number,
180
- right: PropTypes.number,
181
- top: PropTypes.number
182
- }),
183
- /**
184
- * The callback fired when the highlighted item changes.
185
- *
186
- * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
187
- */
188
- onHighlightChange: PropTypes.func,
189
- /**
190
- * Type of plot used.
191
- * @default 'line'
192
- */
193
- plotType: PropTypes.oneOf(['bar', 'line']),
194
- /**
195
- * Set to `true` to highlight the value.
196
- * With line, it shows a point.
197
- * With bar, it shows a highlight band.
198
- * @default false
199
- */
200
- showHighlight: PropTypes.bool,
201
- /**
202
- * Set to `true` to enable the tooltip in the sparkline.
203
- * @default false
204
- */
205
- showTooltip: PropTypes.bool,
206
- /**
207
- * The props used for each component slot.
208
- * @default {}
209
- */
210
- slotProps: PropTypes.object,
211
- /**
212
- * Overridable component slots.
213
- * @default {}
214
- */
215
- slots: PropTypes.object,
216
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
217
- title: PropTypes.string,
218
- tooltip: PropTypes.shape({
219
- axisContent: PropTypes.elementType,
220
- classes: PropTypes.object,
221
- itemContent: PropTypes.elementType,
222
- slotProps: PropTypes.object,
223
- slots: PropTypes.object,
224
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
225
- }),
226
- /**
227
- * Formatter used by the tooltip.
228
- * @param {number} value The value to format.
229
- * @returns {string} the formatted value.
230
- * @default (value: number | null) => (value === null ? '' : value.toString())
231
- */
232
- valueFormatter: PropTypes.func,
233
- viewBox: PropTypes.shape({
234
- height: PropTypes.number,
235
- width: PropTypes.number,
236
- x: PropTypes.number,
237
- y: PropTypes.number
238
- }),
239
- /**
240
- * The width of the chart in px. If not defined, it takes the width of the parent element.
241
- */
242
- width: PropTypes.number,
243
- /**
244
- * The xAxis configuration.
245
- * Notice it is a single [[AxisConfig]] object, not an array of configuration.
246
- */
247
- xAxis: PropTypes.shape({
248
- classes: PropTypes.object,
249
- colorMap: PropTypes.oneOfType([PropTypes.shape({
250
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
251
- type: PropTypes.oneOf(['ordinal']).isRequired,
252
- unknownColor: PropTypes.string,
253
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
254
- }), PropTypes.shape({
255
- color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
256
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
257
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
258
- type: PropTypes.oneOf(['continuous']).isRequired
259
- }), PropTypes.shape({
260
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
261
- thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
262
- type: PropTypes.oneOf(['piecewise']).isRequired
263
- })]),
264
- data: PropTypes.array,
265
- dataKey: PropTypes.string,
266
- disableLine: PropTypes.bool,
267
- disableTicks: PropTypes.bool,
268
- fill: PropTypes.string,
269
- hideTooltip: PropTypes.bool,
270
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
271
- label: PropTypes.string,
272
- labelFontSize: PropTypes.number,
273
- labelStyle: PropTypes.object,
274
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
275
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
276
- position: PropTypes.oneOf(['bottom', 'top']),
277
- reverse: PropTypes.bool,
278
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
279
- slotProps: PropTypes.object,
280
- slots: PropTypes.object,
281
- stroke: PropTypes.string,
282
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
283
- tickFontSize: PropTypes.number,
284
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
285
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
286
- tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
287
- tickLabelStyle: PropTypes.object,
288
- tickMaxStep: PropTypes.number,
289
- tickMinStep: PropTypes.number,
290
- tickNumber: PropTypes.number,
291
- tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
292
- tickSize: PropTypes.number,
293
- valueFormatter: PropTypes.func
294
- }),
295
- /**
296
- * The yAxis configuration.
297
- * Notice it is a single [[AxisConfig]] object, not an array of configuration.
298
- */
299
- yAxis: PropTypes.shape({
300
- classes: PropTypes.object,
301
- colorMap: PropTypes.oneOfType([PropTypes.shape({
302
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
303
- type: PropTypes.oneOf(['ordinal']).isRequired,
304
- unknownColor: PropTypes.string,
305
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
306
- }), PropTypes.shape({
307
- color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
308
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
309
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
310
- type: PropTypes.oneOf(['continuous']).isRequired
311
- }), PropTypes.shape({
312
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
313
- thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
314
- type: PropTypes.oneOf(['piecewise']).isRequired
315
- })]),
316
- data: PropTypes.array,
317
- dataKey: PropTypes.string,
318
- disableLine: PropTypes.bool,
319
- disableTicks: PropTypes.bool,
320
- fill: PropTypes.string,
321
- hideTooltip: PropTypes.bool,
322
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
323
- label: PropTypes.string,
324
- labelFontSize: PropTypes.number,
325
- labelStyle: PropTypes.object,
326
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
327
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
328
- position: PropTypes.oneOf(['left', 'right']),
329
- reverse: PropTypes.bool,
330
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
331
- slotProps: PropTypes.object,
332
- slots: PropTypes.object,
333
- stroke: PropTypes.string,
334
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
335
- tickFontSize: PropTypes.number,
336
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
337
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
338
- tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
339
- tickLabelStyle: PropTypes.object,
340
- tickMaxStep: PropTypes.number,
341
- tickMinStep: PropTypes.number,
342
- tickNumber: PropTypes.number,
343
- tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
344
- tickSize: PropTypes.number,
345
- valueFormatter: PropTypes.func
346
- })
347
- } : void 0;
348
- export { SparkLineChart };
@@ -1 +0,0 @@
1
- export * from './SparkLineChart';
@@ -1,9 +0,0 @@
1
- export const blueberryTwilightPaletteLight = ['#02B2AF', '#2E96FF', '#B800D8', '#60009B', '#2731C8', '#03008D'];
2
- export const blueberryTwilightPaletteDark = ['#02B2AF', '#72CCFF', '#DA00FF', '#9001CB', '#2E96FF', '#3B48E0'];
3
- export const blueberryTwilightPalette = mode => mode === 'dark' ? blueberryTwilightPaletteDark : blueberryTwilightPaletteLight;
4
- export const mangoFusionPaletteLight = ['#173A5E', '#00A3A0', '#C91B63', '#EF5350', '#FFA726', '#B800D8', '#60009B', '#2E96FF', '#2731C8', '#03008D'];
5
- export const mangoFusionPaletteDark = ['#41698F', '#19D0CD', '#DE196B', '#FC5F5C', '#FFD771', '#DA00FF', '#9001CB', '#72CCFF', '#2E96FF', '#3B48E0'];
6
- export const mangoFusionPalette = mode => mode === 'dark' ? mangoFusionPaletteDark : mangoFusionPaletteLight;
7
- export const cheerfulFiestaPaletteDark = ['#0059B2', '#2E96FF', '#FFC24C', '#FF9F0E', '#F38200', '#2ABFDE', '#1F94AD', '#BD2C38', '#FF3143', '#FF8282'];
8
- export const cheerfulFiestaPaletteLight = ['#003A75', '#007FFF', '#FFC24C', '#FF9D09', '#CA6C00', '#127D94', '#1F94AD', '#C82634', '#FF3143', '#FF7E7E'];
9
- export const cheerfulFiestaPalette = mode => mode === 'dark' ? cheerfulFiestaPaletteDark : cheerfulFiestaPaletteLight;
@@ -1 +0,0 @@
1
- export * from './colorPalettes';
@@ -1 +0,0 @@
1
- export {};
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- export const CartesianContext = /*#__PURE__*/React.createContext({
3
- isInitialized: false,
4
- data: {
5
- xAxis: {},
6
- yAxis: {},
7
- xAxisIds: [],
8
- yAxisIds: []
9
- }
10
- });
11
- if (process.env.NODE_ENV !== 'production') {
12
- CartesianContext.displayName = 'CartesianContext';
13
- }
@@ -1,47 +0,0 @@
1
- import * as React from 'react';
2
- import { useDrawingArea } from '../../hooks/useDrawingArea';
3
- import { useSeries } from '../../hooks/useSeries';
4
- import { CartesianContext } from './CartesianContext';
5
- import { computeValue } from './computeValue';
6
- import { useXExtremumGetter } from '../PluginProvider/useXExtremumGetter';
7
- import { useYExtremumGetter } from '../PluginProvider';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- function CartesianProvider(props) {
10
- const {
11
- xAxis,
12
- yAxis,
13
- children
14
- } = props;
15
- const formattedSeries = useSeries();
16
- const drawingArea = useDrawingArea();
17
- const xExtremumGetters = useXExtremumGetter();
18
- const yExtremumGetters = useYExtremumGetter();
19
- const xValues = React.useMemo(() => computeValue({
20
- drawingArea,
21
- formattedSeries,
22
- axis: xAxis,
23
- extremumGetters: xExtremumGetters,
24
- axisDirection: 'x'
25
- }), [drawingArea, formattedSeries, xAxis, xExtremumGetters]);
26
- const yValues = React.useMemo(() => computeValue({
27
- drawingArea,
28
- formattedSeries,
29
- axis: yAxis,
30
- extremumGetters: yExtremumGetters,
31
- axisDirection: 'y'
32
- }), [drawingArea, formattedSeries, yAxis, yExtremumGetters]);
33
- const value = React.useMemo(() => ({
34
- isInitialized: true,
35
- data: {
36
- xAxis: xValues.axis,
37
- yAxis: yValues.axis,
38
- xAxisIds: xValues.axisIds,
39
- yAxisIds: yValues.axisIds
40
- }
41
- }), [xValues, yValues]);
42
- return /*#__PURE__*/_jsx(CartesianContext.Provider, {
43
- value: value,
44
- children: children
45
- });
46
- }
47
- export { CartesianProvider };
@@ -1,13 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../../constants';
3
- export const defaultizeAxis = (inAxis, axisName) => {
4
- const DEFAULT_AXIS_KEY = axisName === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY;
5
- return [...(inAxis?.map((axis, index) => _extends({
6
- id: `defaultized-${axisName}-axis-${index}`
7
- }, axis)) ?? []), ...(inAxis === undefined || inAxis.findIndex(({
8
- id
9
- }) => id === DEFAULT_AXIS_KEY) === -1 ? [{
10
- id: DEFAULT_AXIS_KEY,
11
- scaleType: 'linear'
12
- }] : [])];
13
- };
@@ -1,9 +0,0 @@
1
- import { computeValue } from './computeValue';
2
- export * from './CartesianProvider';
3
- export * from './CartesianContext';
4
- export * from './useCartesianContext';
5
- export * from './Cartesian.types';
6
- const cartesianProviderUtils = {
7
- computeValue
8
- };
9
- export { cartesianProviderUtils };
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import { CartesianContext } from './CartesianContext';
3
- export const useCartesianContext = () => {
4
- const {
5
- data
6
- } = React.useContext(CartesianContext);
7
- return data;
8
- };
@@ -1,76 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import useId from '@mui/utils/useId';
4
- import useChartDimensions from '../hooks/useChartDimensions';
5
-
6
- /**
7
- * Defines the area in which it is possible to draw the charts.
8
- */
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- export const DrawingContext = /*#__PURE__*/React.createContext({
11
- top: 0,
12
- left: 0,
13
- bottom: 0,
14
- right: 0,
15
- height: 300,
16
- width: 400,
17
- chartId: '',
18
- isPointInside: () => false
19
- });
20
- if (process.env.NODE_ENV !== 'production') {
21
- DrawingContext.displayName = 'DrawingContext';
22
- }
23
- export const SvgContext = /*#__PURE__*/React.createContext({
24
- isInitialized: false,
25
- data: {
26
- current: null
27
- }
28
- });
29
- if (process.env.NODE_ENV !== 'production') {
30
- SvgContext.displayName = 'SvgContext';
31
- }
32
- export function DrawingProvider(props) {
33
- const {
34
- width,
35
- height,
36
- margin,
37
- svgRef,
38
- children
39
- } = props;
40
- const drawingArea = useChartDimensions(width, height, margin);
41
- const chartId = useId();
42
- const isPointInside = React.useCallback(({
43
- x,
44
- y
45
- }, options) => {
46
- // For element allowed to overflow, wrapping them in <g data-drawing-container /> make them fully part of the drawing area.
47
- if (options?.targetElement && options?.targetElement.closest('[data-drawing-container]')) {
48
- return true;
49
- }
50
- const isInsideX = x >= drawingArea.left - 1 && x <= drawingArea.left + drawingArea.width;
51
- const isInsideY = y >= drawingArea.top - 1 && y <= drawingArea.top + drawingArea.height;
52
- if (options?.direction === 'x') {
53
- return isInsideX;
54
- }
55
- if (options?.direction === 'y') {
56
- return isInsideY;
57
- }
58
- return isInsideX && isInsideY;
59
- }, [drawingArea]);
60
- const value = React.useMemo(() => _extends({
61
- chartId: chartId ?? ''
62
- }, drawingArea, {
63
- isPointInside
64
- }), [chartId, drawingArea, isPointInside]);
65
- const refValue = React.useMemo(() => ({
66
- isInitialized: true,
67
- data: svgRef
68
- }), [svgRef]);
69
- return /*#__PURE__*/_jsx(SvgContext.Provider, {
70
- value: refValue,
71
- children: /*#__PURE__*/_jsx(DrawingContext.Provider, {
72
- value: value,
73
- children: children
74
- })
75
- });
76
- }
@@ -1,32 +0,0 @@
1
- import * as React from 'react';
2
-
3
- /**
4
- * The data of the highlighted item.
5
- * To highlight an item, you need to provide the series id and the item id.
6
- * If targeting the whole series, you can omit the item id.
7
- * To clear the highlight, set the value to an empty object.
8
- *
9
- * @example
10
- * // Highlight the item with the series id 'london' and the item id 0.
11
- * { seriesId: 'london', dataIndex: 0 }
12
- *
13
- * // Highlight the whole series with the series id 'london'.
14
- * { seriesId: 'london' }
15
- *
16
- * // Clear the highlight.
17
- * {}
18
- */
19
-
20
- export const HighlightedContext = /*#__PURE__*/React.createContext({
21
- isInitialized: false,
22
- data: {
23
- highlightedItem: null,
24
- setHighlighted: () => {},
25
- clearHighlighted: () => {},
26
- isHighlighted: () => false,
27
- isFaded: () => false
28
- }
29
- });
30
- if (process.env.NODE_ENV !== 'production') {
31
- HighlightedContext.displayName = 'HighlightedContext';
32
- }
@@ -1,92 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["highlighted", "faded"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import useControlled from '@mui/utils/useControlled';
7
- import { HighlightedContext } from './HighlightedContext';
8
- import { createIsFaded } from './createIsFaded';
9
- import { createIsHighlighted } from './createIsHighlighted';
10
- import { useSeries } from '../../hooks/useSeries';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- const mergeDeprecatedOptions = options => {
13
- const _ref = options ?? {},
14
- {
15
- highlighted,
16
- faded
17
- } = _ref,
18
- other = _objectWithoutPropertiesLoose(_ref, _excluded);
19
- return _extends({
20
- highlight: highlighted,
21
- fade: faded
22
- }, other);
23
- };
24
- function HighlightedProvider({
25
- children,
26
- highlightedItem: highlightedItemProps,
27
- onHighlightChange
28
- }) {
29
- const [highlightedItem, setHighlightedItem] = useControlled({
30
- controlled: highlightedItemProps,
31
- default: null,
32
- name: 'HighlightedProvider',
33
- state: 'highlightedItem'
34
- });
35
- const series = useSeries();
36
- const seriesById = React.useMemo(() => {
37
- const map = new Map();
38
- Object.keys(series).forEach(seriesType => {
39
- const seriesData = series[seriesType];
40
- Object.keys(seriesData?.series ?? {}).forEach(seriesId => {
41
- const seriesItem = seriesData?.series[seriesId];
42
- map.set(seriesId, mergeDeprecatedOptions(seriesItem?.highlightScope));
43
- });
44
- });
45
- return map;
46
- }, [series]);
47
- const highlightScope = highlightedItem && highlightedItem.seriesId ? seriesById.get(highlightedItem.seriesId) ?? undefined : undefined;
48
- const providerValue = React.useMemo(() => {
49
- return {
50
- isInitialized: true,
51
- data: {
52
- highlightScope,
53
- highlightedItem,
54
- setHighlighted: itemData => {
55
- setHighlightedItem(itemData);
56
- onHighlightChange?.(itemData);
57
- },
58
- clearHighlighted: () => {
59
- setHighlightedItem(null);
60
- onHighlightChange?.(null);
61
- },
62
- isHighlighted: createIsHighlighted(highlightScope, highlightedItem),
63
- isFaded: createIsFaded(highlightScope, highlightedItem)
64
- }
65
- };
66
- }, [highlightedItem, highlightScope, setHighlightedItem, onHighlightChange]);
67
- return /*#__PURE__*/_jsx(HighlightedContext.Provider, {
68
- value: providerValue,
69
- children: children
70
- });
71
- }
72
- process.env.NODE_ENV !== "production" ? HighlightedProvider.propTypes = {
73
- // ----------------------------- Warning --------------------------------
74
- // | These PropTypes are generated from the TypeScript type definitions |
75
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
76
- // ----------------------------------------------------------------------
77
- children: PropTypes.node,
78
- /**
79
- * The item currently highlighted. Turns highlighting into a controlled prop.
80
- */
81
- highlightedItem: PropTypes.shape({
82
- dataIndex: PropTypes.number,
83
- seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
84
- }),
85
- /**
86
- * The callback fired when the highlighted item changes.
87
- *
88
- * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
89
- */
90
- onHighlightChange: PropTypes.func
91
- } : void 0;
92
- export { HighlightedProvider };