@mui/x-charts 8.0.0-alpha.13 → 8.0.0-alpha.14

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 (452) hide show
  1. package/BarChart/BarPlot.js +10 -7
  2. package/BarChart/checkScaleErrors.d.ts +4 -1
  3. package/BarChart/checkScaleErrors.js +7 -1
  4. package/BarChart/seriesConfig/extremums.d.ts +1 -1
  5. package/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  6. package/{internals/defaultizeColor.js → BarChart/seriesConfig/getSeriesWithDefaultValues.js} +6 -11
  7. package/BarChart/seriesConfig/index.js +3 -1
  8. package/CHANGELOG.md +131 -0
  9. package/ChartContainer/ChartContainer.d.ts +1 -1
  10. package/ChartContainer/ChartContainer.js +107 -0
  11. package/ChartContainer/useChartContainerProps.d.ts +1 -1
  12. package/ChartContainer/useChartContainerProps.js +6 -2
  13. package/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
  14. package/ChartsXAxis/ChartsXAxis.js +38 -8
  15. package/ChartsYAxis/ChartsYAxis.js +12 -7
  16. package/LineChart/LinePlot.js +2 -1
  17. package/LineChart/seriesConfig/extremums.d.ts +1 -1
  18. package/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  19. package/LineChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
  20. package/LineChart/seriesConfig/index.js +3 -1
  21. package/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  22. package/PieChart/seriesConfig/getSeriesWithDefaultValues.js +18 -0
  23. package/PieChart/seriesConfig/index.js +3 -1
  24. package/RadarChart/RadarChart.d.ts +24 -0
  25. package/RadarChart/RadarChart.js +150 -0
  26. package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
  27. package/RadarChart/RadarDataProvider/RadarDataProvider.js +168 -0
  28. package/RadarChart/RadarDataProvider/index.d.ts +1 -0
  29. package/RadarChart/RadarDataProvider/index.js +16 -0
  30. package/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
  31. package/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
  32. package/RadarChart/RadarGrid/RadarGrid.js +51 -0
  33. package/RadarChart/RadarGrid/index.d.ts +1 -0
  34. package/RadarChart/RadarGrid/index.js +16 -0
  35. package/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
  36. package/RadarChart/RadarGrid/useRadarGridData.js +35 -0
  37. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
  38. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +46 -0
  39. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
  40. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +45 -0
  41. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
  42. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +48 -0
  43. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
  44. package/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
  45. package/RadarChart/RadarSeriesPlot/getAreaPath.js +9 -0
  46. package/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
  47. package/RadarChart/RadarSeriesPlot/index.js +38 -0
  48. package/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
  49. package/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +67 -0
  50. package/RadarChart/index.d.ts +6 -0
  51. package/RadarChart/index.js +47 -0
  52. package/RadarChart/seriesConfig/extremums.d.ts +3 -0
  53. package/RadarChart/seriesConfig/extremums.js +26 -0
  54. package/RadarChart/seriesConfig/formatter.d.ts +3 -0
  55. package/RadarChart/seriesConfig/formatter.js +18 -0
  56. package/RadarChart/seriesConfig/getColor.d.ts +3 -0
  57. package/RadarChart/seriesConfig/getColor.js +10 -0
  58. package/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  59. package/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
  60. package/RadarChart/seriesConfig/index.d.ts +2 -0
  61. package/RadarChart/seriesConfig/index.js +22 -0
  62. package/RadarChart/seriesConfig/legend.d.ts +3 -0
  63. package/RadarChart/seriesConfig/legend.js +28 -0
  64. package/RadarChart/seriesConfig/tooltip.d.ts +3 -0
  65. package/RadarChart/seriesConfig/tooltip.js +31 -0
  66. package/RadarChart/useRadarChartProps.d.ts +23 -0
  67. package/RadarChart/useRadarChartProps.js +74 -0
  68. package/ScatterChart/seriesConfig/extremums.d.ts +1 -1
  69. package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  70. package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +15 -0
  71. package/ScatterChart/seriesConfig/index.js +3 -1
  72. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  73. package/constants/index.d.ts +3 -6
  74. package/constants/index.js +6 -7
  75. package/esm/BarChart/BarPlot.js +10 -7
  76. package/esm/BarChart/checkScaleErrors.d.ts +4 -1
  77. package/esm/BarChart/checkScaleErrors.js +7 -1
  78. package/esm/BarChart/seriesConfig/extremums.d.ts +1 -1
  79. package/esm/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  80. package/esm/BarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  81. package/esm/BarChart/seriesConfig/index.js +3 -1
  82. package/esm/ChartContainer/ChartContainer.d.ts +1 -1
  83. package/esm/ChartContainer/ChartContainer.js +107 -0
  84. package/esm/ChartContainer/useChartContainerProps.d.ts +1 -1
  85. package/esm/ChartContainer/useChartContainerProps.js +6 -2
  86. package/esm/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
  87. package/esm/ChartsXAxis/ChartsXAxis.js +38 -8
  88. package/esm/ChartsYAxis/ChartsYAxis.js +13 -8
  89. package/esm/LineChart/LinePlot.js +2 -1
  90. package/esm/LineChart/seriesConfig/extremums.d.ts +1 -1
  91. package/esm/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  92. package/esm/LineChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  93. package/esm/LineChart/seriesConfig/index.js +3 -1
  94. package/esm/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  95. package/esm/PieChart/seriesConfig/getSeriesWithDefaultValues.js +11 -0
  96. package/esm/PieChart/seriesConfig/index.js +3 -1
  97. package/esm/RadarChart/RadarChart.d.ts +24 -0
  98. package/esm/RadarChart/RadarChart.js +144 -0
  99. package/esm/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
  100. package/esm/RadarChart/RadarDataProvider/RadarDataProvider.js +162 -0
  101. package/esm/RadarChart/RadarDataProvider/index.d.ts +1 -0
  102. package/esm/RadarChart/RadarDataProvider/index.js +1 -0
  103. package/esm/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
  104. package/esm/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
  105. package/esm/RadarChart/RadarGrid/RadarGrid.js +44 -0
  106. package/esm/RadarChart/RadarGrid/index.d.ts +1 -0
  107. package/esm/RadarChart/RadarGrid/index.js +1 -0
  108. package/esm/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
  109. package/esm/RadarChart/RadarGrid/useRadarGridData.js +29 -0
  110. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
  111. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +39 -0
  112. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
  113. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +38 -0
  114. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
  115. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +41 -0
  116. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
  117. package/esm/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
  118. package/esm/RadarChart/RadarSeriesPlot/getAreaPath.js +3 -0
  119. package/esm/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
  120. package/esm/RadarChart/RadarSeriesPlot/index.js +3 -0
  121. package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
  122. package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +60 -0
  123. package/esm/RadarChart/index.d.ts +6 -0
  124. package/esm/RadarChart/index.js +4 -0
  125. package/esm/RadarChart/seriesConfig/extremums.d.ts +3 -0
  126. package/esm/RadarChart/seriesConfig/extremums.js +18 -0
  127. package/esm/RadarChart/seriesConfig/formatter.d.ts +3 -0
  128. package/esm/RadarChart/seriesConfig/formatter.js +12 -0
  129. package/esm/RadarChart/seriesConfig/getColor.d.ts +3 -0
  130. package/esm/RadarChart/seriesConfig/getColor.js +4 -0
  131. package/esm/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  132. package/esm/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  133. package/esm/RadarChart/seriesConfig/index.d.ts +2 -0
  134. package/esm/RadarChart/seriesConfig/index.js +15 -0
  135. package/esm/RadarChart/seriesConfig/legend.d.ts +3 -0
  136. package/esm/RadarChart/seriesConfig/legend.js +22 -0
  137. package/esm/RadarChart/seriesConfig/tooltip.d.ts +3 -0
  138. package/esm/RadarChart/seriesConfig/tooltip.js +25 -0
  139. package/esm/RadarChart/useRadarChartProps.d.ts +23 -0
  140. package/esm/RadarChart/useRadarChartProps.js +67 -0
  141. package/esm/ScatterChart/seriesConfig/extremums.d.ts +1 -1
  142. package/esm/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  143. package/esm/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  144. package/esm/ScatterChart/seriesConfig/index.js +3 -1
  145. package/esm/SparkLineChart/SparkLineChart.d.ts +1 -1
  146. package/esm/constants/index.d.ts +3 -6
  147. package/esm/constants/index.js +5 -6
  148. package/esm/hooks/useAxis.d.ts +11 -1
  149. package/esm/hooks/useAxis.js +41 -0
  150. package/esm/hooks/useRadarSeries.d.ts +35 -0
  151. package/esm/hooks/useRadarSeries.js +42 -0
  152. package/esm/hooks/useScale.d.ts +3 -1
  153. package/esm/hooks/useScale.js +9 -1
  154. package/esm/hooks/useTicks.js +17 -11
  155. package/esm/index.d.ts +1 -0
  156. package/esm/index.js +2 -1
  157. package/esm/internals/clampAngle.d.ts +2 -0
  158. package/esm/internals/clampAngle.js +4 -0
  159. package/esm/internals/components/AxisSharedComponents.js +2 -2
  160. package/esm/internals/configInit.d.ts +11 -4
  161. package/esm/internals/configInit.js +22 -4
  162. package/esm/internals/index.d.ts +5 -0
  163. package/esm/internals/index.js +5 -0
  164. package/esm/internals/invertTextAnchor.d.ts +2 -0
  165. package/esm/internals/invertTextAnchor.js +10 -0
  166. package/esm/internals/isPolar.d.ts +7 -0
  167. package/esm/internals/isPolar.js +7 -0
  168. package/esm/internals/plugins/allPlugins.d.ts +3 -2
  169. package/esm/internals/plugins/allPlugins.js +2 -1
  170. package/esm/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -13
  171. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
  172. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
  173. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +59 -19
  174. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  175. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
  176. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +5 -5
  177. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
  178. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
  179. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
  180. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +133 -0
  181. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
  182. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +24 -0
  183. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
  184. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +21 -0
  185. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
  186. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/index.js +2 -0
  187. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
  188. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +57 -0
  189. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
  190. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +26 -0
  191. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
  192. package/esm/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
  193. package/esm/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +1 -0
  194. package/esm/internals/plugins/models/seriesConfig/index.d.ts +4 -2
  195. package/esm/internals/plugins/models/seriesConfig/index.js +4 -2
  196. package/esm/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
  197. package/esm/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +1 -0
  198. package/esm/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
  199. package/esm/internals/stackSeries.d.ts +4 -6
  200. package/esm/models/axis.d.ts +27 -12
  201. package/esm/models/axis.js +4 -0
  202. package/esm/models/seriesType/config.d.ts +19 -9
  203. package/esm/models/seriesType/index.d.ts +1 -0
  204. package/esm/models/seriesType/index.js +1 -0
  205. package/esm/models/seriesType/radar.d.ts +24 -0
  206. package/esm/models/seriesType/radar.js +1 -0
  207. package/hooks/useAxis.d.ts +11 -1
  208. package/hooks/useAxis.js +45 -0
  209. package/hooks/useRadarSeries.d.ts +35 -0
  210. package/hooks/useRadarSeries.js +48 -0
  211. package/hooks/useScale.d.ts +3 -1
  212. package/hooks/useScale.js +10 -0
  213. package/hooks/useTicks.js +17 -11
  214. package/index.d.ts +1 -0
  215. package/index.js +12 -1
  216. package/internals/clampAngle.d.ts +2 -0
  217. package/internals/clampAngle.js +10 -0
  218. package/internals/components/AxisSharedComponents.js +2 -2
  219. package/internals/configInit.d.ts +11 -4
  220. package/internals/configInit.js +23 -5
  221. package/internals/index.d.ts +5 -0
  222. package/internals/index.js +60 -0
  223. package/internals/invertTextAnchor.d.ts +2 -0
  224. package/internals/invertTextAnchor.js +16 -0
  225. package/internals/isPolar.d.ts +7 -0
  226. package/internals/isPolar.js +14 -0
  227. package/internals/plugins/allPlugins.d.ts +3 -2
  228. package/internals/plugins/allPlugins.js +2 -1
  229. package/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -14
  230. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
  231. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
  232. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +60 -19
  233. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  234. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +10 -3
  235. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +4 -4
  236. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
  237. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
  238. package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
  239. package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +140 -0
  240. package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
  241. package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +31 -0
  242. package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
  243. package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +28 -0
  244. package/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
  245. package/internals/plugins/featurePlugins/useChartPolarAxis/index.js +27 -0
  246. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
  247. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +65 -0
  248. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
  249. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +33 -0
  250. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
  251. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js +5 -0
  252. package/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js +5 -0
  253. package/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
  254. package/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +5 -0
  255. package/internals/plugins/models/seriesConfig/index.d.ts +4 -2
  256. package/internals/plugins/models/seriesConfig/index.js +26 -4
  257. package/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
  258. package/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +5 -0
  259. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
  260. package/internals/stackSeries.d.ts +4 -6
  261. package/models/axis.d.ts +27 -12
  262. package/models/axis.js +4 -0
  263. package/models/seriesType/config.d.ts +19 -9
  264. package/models/seriesType/index.d.ts +1 -0
  265. package/models/seriesType/index.js +12 -0
  266. package/models/seriesType/radar.d.ts +24 -0
  267. package/models/seriesType/radar.js +5 -0
  268. package/modern/BarChart/BarPlot.js +10 -7
  269. package/modern/BarChart/checkScaleErrors.d.ts +4 -1
  270. package/modern/BarChart/checkScaleErrors.js +7 -1
  271. package/modern/BarChart/seriesConfig/extremums.d.ts +1 -1
  272. package/modern/BarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  273. package/modern/BarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  274. package/modern/BarChart/seriesConfig/index.js +3 -1
  275. package/modern/ChartContainer/ChartContainer.d.ts +1 -1
  276. package/modern/ChartContainer/ChartContainer.js +107 -0
  277. package/modern/ChartContainer/useChartContainerProps.d.ts +1 -1
  278. package/modern/ChartContainer/useChartContainerProps.js +6 -2
  279. package/modern/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
  280. package/modern/ChartsXAxis/ChartsXAxis.js +38 -8
  281. package/modern/ChartsYAxis/ChartsYAxis.js +13 -8
  282. package/modern/LineChart/LinePlot.js +2 -1
  283. package/modern/LineChart/seriesConfig/extremums.d.ts +1 -1
  284. package/modern/LineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  285. package/modern/LineChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  286. package/modern/LineChart/seriesConfig/index.js +3 -1
  287. package/modern/PieChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  288. package/modern/PieChart/seriesConfig/getSeriesWithDefaultValues.js +11 -0
  289. package/modern/PieChart/seriesConfig/index.js +3 -1
  290. package/modern/RadarChart/RadarChart.d.ts +24 -0
  291. package/modern/RadarChart/RadarChart.js +144 -0
  292. package/modern/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +24 -0
  293. package/modern/RadarChart/RadarDataProvider/RadarDataProvider.js +162 -0
  294. package/modern/RadarChart/RadarDataProvider/index.d.ts +1 -0
  295. package/modern/RadarChart/RadarDataProvider/index.js +1 -0
  296. package/modern/RadarChart/RadarDataProvider/radar.types.d.ts +32 -0
  297. package/modern/RadarChart/RadarDataProvider/radar.types.js +1 -0
  298. package/modern/RadarChart/RadarGrid/RadarGrid.d.ts +13 -0
  299. package/modern/RadarChart/RadarGrid/RadarGrid.js +44 -0
  300. package/modern/RadarChart/RadarGrid/index.d.ts +1 -0
  301. package/modern/RadarChart/RadarGrid/index.js +1 -0
  302. package/modern/RadarChart/RadarGrid/useRadarGridData.d.ts +10 -0
  303. package/modern/RadarChart/RadarGrid/useRadarGridData.js +29 -0
  304. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesArea.d.ts +7 -0
  305. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +39 -0
  306. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesMarks.d.ts +7 -0
  307. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +38 -0
  308. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.d.ts +7 -0
  309. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +41 -0
  310. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +12 -0
  311. package/modern/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js +1 -0
  312. package/modern/RadarChart/RadarSeriesPlot/getAreaPath.d.ts +4 -0
  313. package/modern/RadarChart/RadarSeriesPlot/getAreaPath.js +3 -0
  314. package/modern/RadarChart/RadarSeriesPlot/index.d.ts +4 -0
  315. package/modern/RadarChart/RadarSeriesPlot/index.js +3 -0
  316. package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +27 -0
  317. package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +60 -0
  318. package/modern/RadarChart/index.d.ts +6 -0
  319. package/modern/RadarChart/index.js +4 -0
  320. package/modern/RadarChart/seriesConfig/extremums.d.ts +3 -0
  321. package/modern/RadarChart/seriesConfig/extremums.js +18 -0
  322. package/modern/RadarChart/seriesConfig/formatter.d.ts +3 -0
  323. package/modern/RadarChart/seriesConfig/formatter.js +12 -0
  324. package/modern/RadarChart/seriesConfig/getColor.d.ts +3 -0
  325. package/modern/RadarChart/seriesConfig/getColor.js +4 -0
  326. package/modern/RadarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  327. package/modern/RadarChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  328. package/modern/RadarChart/seriesConfig/index.d.ts +2 -0
  329. package/modern/RadarChart/seriesConfig/index.js +15 -0
  330. package/modern/RadarChart/seriesConfig/legend.d.ts +3 -0
  331. package/modern/RadarChart/seriesConfig/legend.js +22 -0
  332. package/modern/RadarChart/seriesConfig/tooltip.d.ts +3 -0
  333. package/modern/RadarChart/seriesConfig/tooltip.js +25 -0
  334. package/modern/RadarChart/useRadarChartProps.d.ts +23 -0
  335. package/modern/RadarChart/useRadarChartProps.js +67 -0
  336. package/modern/ScatterChart/seriesConfig/extremums.d.ts +1 -1
  337. package/modern/ScatterChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  338. package/modern/ScatterChart/seriesConfig/getSeriesWithDefaultValues.js +8 -0
  339. package/modern/ScatterChart/seriesConfig/index.js +3 -1
  340. package/modern/SparkLineChart/SparkLineChart.d.ts +1 -1
  341. package/modern/constants/index.d.ts +3 -6
  342. package/modern/constants/index.js +5 -6
  343. package/modern/hooks/useAxis.d.ts +11 -1
  344. package/modern/hooks/useAxis.js +41 -0
  345. package/modern/hooks/useRadarSeries.d.ts +35 -0
  346. package/modern/hooks/useRadarSeries.js +42 -0
  347. package/modern/hooks/useScale.d.ts +3 -1
  348. package/modern/hooks/useScale.js +9 -1
  349. package/modern/hooks/useTicks.js +17 -11
  350. package/modern/index.d.ts +1 -0
  351. package/modern/index.js +2 -1
  352. package/modern/internals/clampAngle.d.ts +2 -0
  353. package/modern/internals/clampAngle.js +4 -0
  354. package/modern/internals/components/AxisSharedComponents.js +2 -2
  355. package/modern/internals/configInit.d.ts +11 -4
  356. package/modern/internals/configInit.js +22 -4
  357. package/modern/internals/index.d.ts +5 -0
  358. package/modern/internals/index.js +5 -0
  359. package/modern/internals/invertTextAnchor.d.ts +2 -0
  360. package/modern/internals/invertTextAnchor.js +10 -0
  361. package/modern/internals/isPolar.d.ts +7 -0
  362. package/modern/internals/isPolar.js +7 -0
  363. package/modern/internals/plugins/allPlugins.d.ts +3 -2
  364. package/modern/internals/plugins/allPlugins.js +2 -1
  365. package/modern/internals/plugins/corePlugins/useChartSeries/processSeries.js +7 -13
  366. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +5 -2
  367. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +2 -2
  368. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +59 -19
  369. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  370. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
  371. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +5 -5
  372. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +0 -18
  373. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +10 -10
  374. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +27 -0
  375. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.js +133 -0
  376. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +5 -0
  377. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.js +24 -0
  378. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +5 -0
  379. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.js +21 -0
  380. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +3 -0
  381. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/index.js +2 -0
  382. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.d.ts +3 -0
  383. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +57 -0
  384. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +1453 -0
  385. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +26 -0
  386. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +55 -0
  387. package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js +1 -0
  388. package/modern/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js +1 -0
  389. package/modern/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.d.ts +3 -0
  390. package/modern/internals/plugins/models/seriesConfig/getSeriesWithDefaultValues.types.js +1 -0
  391. package/modern/internals/plugins/models/seriesConfig/index.d.ts +4 -2
  392. package/modern/internals/plugins/models/seriesConfig/index.js +4 -2
  393. package/modern/internals/plugins/models/seriesConfig/polarExtremumGetter.types.d.ts +16 -0
  394. package/modern/internals/plugins/models/seriesConfig/polarExtremumGetter.types.js +1 -0
  395. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +8 -2
  396. package/modern/internals/stackSeries.d.ts +4 -6
  397. package/modern/models/axis.d.ts +27 -12
  398. package/modern/models/axis.js +4 -0
  399. package/modern/models/seriesType/config.d.ts +19 -9
  400. package/modern/models/seriesType/index.d.ts +1 -0
  401. package/modern/models/seriesType/index.js +1 -0
  402. package/modern/models/seriesType/radar.d.ts +24 -0
  403. package/modern/models/seriesType/radar.js +1 -0
  404. package/package.json +1 -1
  405. package/tsconfig.build.tsbuildinfo +1 -1
  406. package/context/PolarProvider/Polar.types.d.ts +0 -43
  407. package/context/PolarProvider/PolarContext.d.ts +0 -4
  408. package/context/PolarProvider/PolarContext.js +0 -20
  409. package/context/PolarProvider/PolarProvider.d.ts +0 -0
  410. package/context/PolarProvider/PolarProvider.js +0 -62
  411. package/context/PolarProvider/getAxisExtremum.d.ts +0 -0
  412. package/context/PolarProvider/getAxisExtremum.js +0 -49
  413. package/context/PolarProvider/index.d.ts +0 -0
  414. package/context/PolarProvider/index.js +0 -1
  415. package/context/PolarProvider/usePolarContext.d.ts +0 -0
  416. package/context/PolarProvider/usePolarContext.js +0 -12
  417. package/esm/context/PolarProvider/Polar.types.d.ts +0 -43
  418. package/esm/context/PolarProvider/PolarContext.d.ts +0 -4
  419. package/esm/context/PolarProvider/PolarContext.js +0 -13
  420. package/esm/context/PolarProvider/PolarProvider.d.ts +0 -0
  421. package/esm/context/PolarProvider/PolarProvider.js +0 -61
  422. package/esm/context/PolarProvider/getAxisExtremum.d.ts +0 -0
  423. package/esm/context/PolarProvider/getAxisExtremum.js +0 -48
  424. package/esm/context/PolarProvider/index.d.ts +0 -0
  425. package/esm/context/PolarProvider/index.js +0 -0
  426. package/esm/context/PolarProvider/usePolarContext.d.ts +0 -0
  427. package/esm/context/PolarProvider/usePolarContext.js +0 -11
  428. package/esm/internals/defaultizeColor.d.ts +0 -107
  429. package/esm/internals/defaultizeColor.js +0 -13
  430. package/internals/defaultizeColor.d.ts +0 -107
  431. package/modern/context/PolarProvider/Polar.types.d.ts +0 -43
  432. package/modern/context/PolarProvider/PolarContext.d.ts +0 -4
  433. package/modern/context/PolarProvider/PolarContext.js +0 -13
  434. package/modern/context/PolarProvider/PolarProvider.d.ts +0 -0
  435. package/modern/context/PolarProvider/PolarProvider.js +0 -61
  436. package/modern/context/PolarProvider/getAxisExtremum.d.ts +0 -0
  437. package/modern/context/PolarProvider/getAxisExtremum.js +0 -48
  438. package/modern/context/PolarProvider/index.d.ts +0 -0
  439. package/modern/context/PolarProvider/index.js +0 -0
  440. package/modern/context/PolarProvider/usePolarContext.d.ts +0 -0
  441. package/modern/context/PolarProvider/usePolarContext.js +0 -11
  442. package/modern/internals/defaultizeColor.d.ts +0 -107
  443. package/modern/internals/defaultizeColor.js +0 -13
  444. /package/{context/PolarProvider/Polar.types.js → RadarChart/RadarDataProvider/radar.types.js} +0 -0
  445. /package/{internals/plugins/models/seriesConfig/extremumGetter.types.js → RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js} +0 -0
  446. /package/esm/{context/PolarProvider/Polar.types.js → RadarChart/RadarDataProvider/radar.types.js} +0 -0
  447. /package/esm/{internals/plugins/models/seriesConfig/extremumGetter.types.js → RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.js} +0 -0
  448. /package/{modern/context/PolarProvider/Polar.types.js → esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.js} +0 -0
  449. /package/esm/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
  450. /package/{modern/internals/plugins/models/seriesConfig/extremumGetter.types.js → esm/internals/plugins/models/seriesConfig/cartesianExtremumGetter.types.js} +0 -0
  451. /package/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
  452. /package/modern/internals/plugins/models/seriesConfig/{extremumGetter.types.d.ts → cartesianExtremumGetter.types.d.ts} +0 -0
@@ -6,6 +6,7 @@ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { styled } from '@mui/material/styles';
9
+ import { warnOnce } from '@mui/x-internals/warning';
9
10
  import { line as d3Line } from '@mui/x-charts-vendor/d3-shape';
10
11
  import { LineElement, lineElementClasses } from "./LineElement.js";
11
12
  import { getValueToPositionMapper } from "../hooks/useScale.js";
@@ -72,7 +73,7 @@ const useAggregatedData = () => {
72
73
  throw new Error(`MUI X: ${xAxisId === DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
73
74
  }
74
75
  if (xData.length < stackedData.length) {
75
- throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
76
+ warnOnce(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`, 'error');
76
77
  }
77
78
  }
78
79
  const shouldExpand = curve?.includes('step') && !strictStepCurve && isBandScale(xScale);
@@ -1,3 +1,3 @@
1
- import { CartesianExtremumGetter } from "../../internals/plugins/models/seriesConfig/extremumGetter.types.js";
1
+ import { CartesianExtremumGetter } from "../../internals/plugins/models/seriesConfig/index.js";
2
2
  export declare const getExtremumX: CartesianExtremumGetter<'line'>;
3
3
  export declare const getExtremumY: CartesianExtremumGetter<'line'>;
@@ -0,0 +1,3 @@
1
+ import type { GetSeriesWithDefaultValues } from '../../internals/plugins/models/seriesConfig';
2
+ declare const getSeriesWithDefaultValues: GetSeriesWithDefaultValues<'line'>;
3
+ export default getSeriesWithDefaultValues;
@@ -0,0 +1,8 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
3
+ return _extends({
4
+ id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
5
+ color: colors[seriesIndex % colors.length]
6
+ }, seriesData);
7
+ };
8
+ export default getSeriesWithDefaultValues;
@@ -3,11 +3,13 @@ import seriesProcessor from "./seriesProcessor.js";
3
3
  import getColor from "./getColor.js";
4
4
  import legendGetter from "./legend.js";
5
5
  import tooltipGetter from "./tooltip.js";
6
+ import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.js";
6
7
  export const seriesConfig = {
7
8
  colorProcessor: getColor,
8
9
  seriesProcessor,
9
10
  legendGetter,
10
11
  tooltipGetter,
11
12
  xExtremumGetter: getExtremumX,
12
- yExtremumGetter: getExtremumY
13
+ yExtremumGetter: getExtremumY,
14
+ getSeriesWithDefaultValues
13
15
  };
@@ -0,0 +1,3 @@
1
+ import type { GetSeriesWithDefaultValues } from '../../internals/plugins/models/seriesConfig';
2
+ declare const getSeriesWithDefaultValues: GetSeriesWithDefaultValues<'pie'>;
3
+ export default getSeriesWithDefaultValues;
@@ -0,0 +1,11 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
3
+ return _extends({
4
+ id: seriesData.id ?? `auto-generated-id-${seriesIndex}`
5
+ }, seriesData, {
6
+ data: seriesData.data.map((d, index) => _extends({
7
+ color: colors[index % colors.length]
8
+ }, d))
9
+ });
10
+ };
11
+ export default getSeriesWithDefaultValues;
@@ -2,9 +2,11 @@ import seriesProcessor from "./seriesProcessor.js";
2
2
  import getColor from "./getColor.js";
3
3
  import legendGetter from "./legend.js";
4
4
  import tooltipGetter from "./tooltip.js";
5
+ import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.js";
5
6
  export const seriesConfig = {
6
7
  colorProcessor: getColor,
7
8
  seriesProcessor,
8
9
  legendGetter,
9
- tooltipGetter
10
+ tooltipGetter,
11
+ getSeriesWithDefaultValues
10
12
  };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { ChartsOverlayProps } from "../ChartsOverlay/ChartsOverlay.js";
3
+ import { RadarGridProps } from "./RadarGrid/RadarGrid.js";
4
+ import { RadarDataProviderProps } from "./RadarDataProvider/RadarDataProvider.js";
5
+ export interface RadarChartSlots {}
6
+ export interface RadarChartSlotProps {}
7
+ export interface RadarChartProps extends RadarDataProviderProps, RadarGridProps, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
8
+ /**
9
+ * If `true`, the legend is not rendered.
10
+ */
11
+ hideLegend?: boolean;
12
+ /**
13
+ * Overridable component slots.
14
+ * @default {}
15
+ */
16
+ slots?: RadarChartSlots;
17
+ /**
18
+ * The props used for each component slot.
19
+ * @default {}
20
+ */
21
+ slotProps?: RadarChartSlotProps;
22
+ }
23
+ declare const RadarChart: React.ForwardRefExoticComponent<RadarChartProps & React.RefAttributes<SVGSVGElement>>;
24
+ export { RadarChart };
@@ -0,0 +1,144 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useThemeProps } from '@mui/material/styles';
7
+ import { ChartsLegend } from "../ChartsLegend/index.js";
8
+ import { ChartsOverlay } from "../ChartsOverlay/ChartsOverlay.js";
9
+ import { useRadarChartProps } from "./useRadarChartProps.js";
10
+ import { ChartsSurface } from "../ChartsSurface/index.js";
11
+ import { ChartsWrapper } from "../internals/components/ChartsWrapper/index.js";
12
+ import { RadarGrid } from "./RadarGrid/RadarGrid.js";
13
+ import { RadarDataProvider } from "./RadarDataProvider/RadarDataProvider.js";
14
+ import { RadarSeriesPlot } from "./RadarSeriesPlot/index.js";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ const RadarChart = /*#__PURE__*/React.forwardRef(function RadarChart(inProps, ref) {
17
+ const props = useThemeProps({
18
+ props: inProps,
19
+ name: 'MuiRadarChart'
20
+ });
21
+ const {
22
+ chartsWrapperProps,
23
+ chartsSurfaceProps,
24
+ radarDataProviderProps,
25
+ radarGrid,
26
+ overlayProps,
27
+ legendProps,
28
+ children
29
+ } = useRadarChartProps(props);
30
+ return /*#__PURE__*/_jsx(RadarDataProvider, _extends({}, radarDataProviderProps, {
31
+ children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
32
+ children: [!props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
33
+ ref: ref,
34
+ children: [/*#__PURE__*/_jsx(RadarGrid, _extends({}, radarGrid)), /*#__PURE__*/_jsx(RadarSeriesPlot, {}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), children]
35
+ }))]
36
+ }))
37
+ }));
38
+ });
39
+ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
40
+ // ----------------------------- Warning --------------------------------
41
+ // | These PropTypes are generated from the TypeScript type definitions |
42
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
43
+ // ----------------------------------------------------------------------
44
+ apiRef: PropTypes.shape({
45
+ current: PropTypes.object
46
+ }),
47
+ children: PropTypes.node,
48
+ className: PropTypes.string,
49
+ /**
50
+ * Color palette used to colorize multiple series.
51
+ * @default rainbowSurgePalette
52
+ */
53
+ colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
54
+ desc: PropTypes.string,
55
+ /**
56
+ * The number of divisions in the radar grid.
57
+ * @default 5
58
+ */
59
+ divisions: PropTypes.number,
60
+ /**
61
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
62
+ */
63
+ height: PropTypes.number,
64
+ /**
65
+ * If `true`, the legend is not rendered.
66
+ */
67
+ hideLegend: PropTypes.bool,
68
+ /**
69
+ * The highlighted item.
70
+ * Used when the highlight is controlled.
71
+ */
72
+ highlightedItem: PropTypes.shape({
73
+ dataIndex: PropTypes.number,
74
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
75
+ }),
76
+ /**
77
+ * This prop is used to help implement the accessibility logic.
78
+ * If you don't provide this prop. It falls back to a randomly generated id.
79
+ */
80
+ id: PropTypes.string,
81
+ /**
82
+ * If `true`, a loading overlay is displayed.
83
+ * @default false
84
+ */
85
+ loading: PropTypes.bool,
86
+ /**
87
+ * The margin between the SVG and the drawing area.
88
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
89
+ *
90
+ * Accepts a `number` to be used on all sides or an object with the optional properties: `top`, `bottom`, `left`, and `right`.
91
+ */
92
+ margin: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
93
+ bottom: PropTypes.number,
94
+ left: PropTypes.number,
95
+ right: PropTypes.number,
96
+ top: PropTypes.number
97
+ })]),
98
+ /**
99
+ * The callback fired when the highlighted item changes.
100
+ *
101
+ * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
102
+ */
103
+ onHighlightChange: PropTypes.func,
104
+ /**
105
+ * The configuration of the radar scales.
106
+ */
107
+ radar: PropTypes.shape({
108
+ max: PropTypes.number,
109
+ metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
110
+ max: PropTypes.number,
111
+ min: PropTypes.number,
112
+ name: PropTypes.string.isRequired
113
+ }))]).isRequired,
114
+ startAngle: PropTypes.number
115
+ }).isRequired,
116
+ /**
117
+ * The series to display in the bar chart.
118
+ * An array of [[RadarSeriesType]] objects.
119
+ */
120
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
121
+ /**
122
+ * If `true`, animations are skipped.
123
+ * If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
124
+ */
125
+ skipAnimation: PropTypes.bool,
126
+ /**
127
+ * The props used for each component slot.
128
+ * @default {}
129
+ */
130
+ slotProps: PropTypes.object,
131
+ /**
132
+ * Overridable component slots.
133
+ * @default {}
134
+ */
135
+ slots: PropTypes.object,
136
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
137
+ theme: PropTypes.oneOf(['dark', 'light']),
138
+ title: PropTypes.string,
139
+ /**
140
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
141
+ */
142
+ width: PropTypes.number
143
+ } : void 0;
144
+ export { RadarChart };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { MakeOptional } from '@mui/x-internals/types';
3
+ import { ChartContainerProps } from "../../ChartContainer/index.js";
4
+ import { RadarSeriesType } from "../../models/seriesType/radar.js";
5
+ import { UseChartPolarAxisSignature } from "../../internals/plugins/featurePlugins/useChartPolarAxis/index.js";
6
+ import { UseChartHighlightSignature } from "../../internals/plugins/featurePlugins/useChartHighlight/index.js";
7
+ import { RadarConfig } from "./radar.types.js";
8
+ type RadarPluginSignatures = [UseChartPolarAxisSignature, UseChartHighlightSignature];
9
+ export interface RadarDataProviderProps extends Omit<ChartContainerProps<'radar', RadarPluginSignatures>, 'series' | 'plugins' | 'rotationAxis' | 'radiusAxis' | 'dataset'> {
10
+ /**
11
+ * The series to display in the bar chart.
12
+ * An array of [[RadarSeriesType]] objects.
13
+ */
14
+ series: MakeOptional<RadarSeriesType, 'type'>[];
15
+ /**
16
+ * The configuration of the radar scales.
17
+ */
18
+ radar: RadarConfig;
19
+ }
20
+ declare function RadarDataProvider(props: RadarDataProviderProps): React.JSX.Element;
21
+ declare namespace RadarDataProvider {
22
+ var propTypes: any;
23
+ }
24
+ export { RadarDataProvider };
@@ -0,0 +1,162 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
+ const _excluded = ["series", "children", "width", "height", "colors", "highlightedItem", "onHighlightChange", "className", "skipAnimation", "margin", "radar"];
6
+ import * as React from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import { ChartDataProvider } from "../../ChartDataProvider/index.js";
9
+ import { defaultizeMargin } from "../../internals/defaultizeMargin.js";
10
+ import { useChartPolarAxis } from "../../internals/plugins/featurePlugins/useChartPolarAxis/index.js";
11
+ import { useChartHighlight } from "../../internals/plugins/featurePlugins/useChartHighlight/index.js";
12
+ import { radarSeriesConfig } from "../seriesConfig/index.js";
13
+ import { DEFAULT_MARGINS } from "../../constants/index.js";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ const RADAR_SERIES_CONFIG = {
16
+ radar: radarSeriesConfig
17
+ };
18
+ const RADAR_PLUGINS = [useChartPolarAxis, useChartHighlight];
19
+ function RadarDataProvider(props) {
20
+ const {
21
+ series,
22
+ children,
23
+ width,
24
+ height,
25
+ colors,
26
+ highlightedItem,
27
+ onHighlightChange,
28
+ skipAnimation,
29
+ margin,
30
+ radar
31
+ } = props,
32
+ other = _objectWithoutPropertiesLoose(props, _excluded);
33
+ const rotationAxes = React.useMemo(() => [{
34
+ id: 'radar-rotation-axis',
35
+ scaleType: 'point',
36
+ data: radar.metrics.map(metric => typeof metric === 'string' ? metric : metric.name),
37
+ startAngle: radar.startAngle,
38
+ endAngle: radar.startAngle !== undefined ? radar.startAngle + 360 : undefined
39
+ }], [radar]);
40
+ const radiusAxis = React.useMemo(() => radar.metrics.map(m => {
41
+ const {
42
+ name,
43
+ min = 0,
44
+ max = radar.max
45
+ } = typeof m === 'string' ? {
46
+ name: m
47
+ } : m;
48
+ return {
49
+ id: name,
50
+ label: name,
51
+ scaleType: 'linear',
52
+ min,
53
+ max
54
+ };
55
+ }), [radar]);
56
+ const defaultizedSeries = React.useMemo(() => series.map(s => _extends({
57
+ type: 'radar'
58
+ }, s)), [series]);
59
+ const defaultizedMargin = React.useMemo(() => defaultizeMargin(margin, DEFAULT_MARGINS), [margin]);
60
+ return /*#__PURE__*/_jsx(ChartDataProvider, _extends({}, other, {
61
+ series: defaultizedSeries,
62
+ width: width,
63
+ height: height,
64
+ margin: defaultizedMargin,
65
+ colors: colors,
66
+ highlightedItem: highlightedItem,
67
+ onHighlightChange: onHighlightChange,
68
+ skipAnimation: skipAnimation,
69
+ plugins: RADAR_PLUGINS,
70
+ rotationAxis: rotationAxes,
71
+ radiusAxis: radiusAxis,
72
+ seriesConfig: RADAR_SERIES_CONFIG,
73
+ children: children
74
+ }));
75
+ }
76
+ process.env.NODE_ENV !== "production" ? RadarDataProvider.propTypes = {
77
+ // ----------------------------- Warning --------------------------------
78
+ // | These PropTypes are generated from the TypeScript type definitions |
79
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
80
+ // ----------------------------------------------------------------------
81
+ apiRef: PropTypes.shape({
82
+ current: PropTypes.object
83
+ }),
84
+ children: PropTypes.node,
85
+ className: PropTypes.string,
86
+ /**
87
+ * Color palette used to colorize multiple series.
88
+ * @default rainbowSurgePalette
89
+ */
90
+ colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
91
+ desc: PropTypes.string,
92
+ /**
93
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
94
+ */
95
+ height: PropTypes.number,
96
+ /**
97
+ * The highlighted item.
98
+ * Used when the highlight is controlled.
99
+ */
100
+ highlightedItem: PropTypes.shape({
101
+ dataIndex: PropTypes.number,
102
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
103
+ }),
104
+ /**
105
+ * This prop is used to help implement the accessibility logic.
106
+ * If you don't provide this prop. It falls back to a randomly generated id.
107
+ */
108
+ id: PropTypes.string,
109
+ /**
110
+ * The margin between the SVG and the drawing area.
111
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
112
+ *
113
+ * Accepts a `number` to be used on all sides or an object with the optional properties: `top`, `bottom`, `left`, and `right`.
114
+ */
115
+ margin: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
116
+ bottom: PropTypes.number,
117
+ left: PropTypes.number,
118
+ right: PropTypes.number,
119
+ top: PropTypes.number
120
+ })]),
121
+ /**
122
+ * The callback fired when the highlighted item changes.
123
+ *
124
+ * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
125
+ */
126
+ onHighlightChange: PropTypes.func,
127
+ /**
128
+ * The configuration of the radar scales.
129
+ */
130
+ radar: PropTypes.shape({
131
+ max: PropTypes.number,
132
+ metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
133
+ max: PropTypes.number,
134
+ min: PropTypes.number,
135
+ name: PropTypes.string.isRequired
136
+ }))]).isRequired,
137
+ startAngle: PropTypes.number
138
+ }).isRequired,
139
+ /**
140
+ * The series to display in the bar chart.
141
+ * An array of [[RadarSeriesType]] objects.
142
+ */
143
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
144
+ /**
145
+ * The configuration helpers used to compute attributes according to the serries type.
146
+ * @ignore Unstable props for internal usage.
147
+ */
148
+ seriesConfig: PropTypes.object,
149
+ /**
150
+ * If `true`, animations are skipped.
151
+ * If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
152
+ */
153
+ skipAnimation: PropTypes.bool,
154
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
155
+ theme: PropTypes.oneOf(['dark', 'light']),
156
+ title: PropTypes.string,
157
+ /**
158
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
159
+ */
160
+ width: PropTypes.number
161
+ } : void 0;
162
+ export { RadarDataProvider };
@@ -0,0 +1 @@
1
+ export * from "./RadarDataProvider.js";
@@ -0,0 +1 @@
1
+ export * from "./RadarDataProvider.js";
@@ -0,0 +1,32 @@
1
+ export interface MetricConfig {
2
+ /**
3
+ * The name of the metric.
4
+ */
5
+ name: string;
6
+ /**
7
+ * The minimum value of the domain.
8
+ * @default 0
9
+ */
10
+ min?: number;
11
+ /**
12
+ * The maximum value of the domain.
13
+ * If not provided, it gets computed to display the entire chart data.
14
+ */
15
+ max?: number;
16
+ }
17
+ export interface RadarConfig {
18
+ /**
19
+ * The metrics shown by radar.
20
+ */
21
+ metrics: string[] | MetricConfig[];
22
+ /**
23
+ * The default max value for radius axes.
24
+ * It will be overridden if `metrics` contains a `max` property.
25
+ */
26
+ max?: number;
27
+ /**
28
+ * The starting angle of the rotation axis (in degrees)
29
+ * @default 0
30
+ */
31
+ startAngle?: number;
32
+ }
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export interface RadarGridProps {
3
+ /**
4
+ * The number of divisions in the radar grid.
5
+ * @default 5
6
+ */
7
+ divisions?: number;
8
+ }
9
+ declare function RadarGrid(props: RadarGridProps): React.JSX.Element;
10
+ declare namespace RadarGrid {
11
+ var propTypes: any;
12
+ }
13
+ export { RadarGrid };
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useRadarGridData } from "./useRadarGridData.js";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ function RadarGrid(props) {
6
+ const {
7
+ divisions = 5
8
+ } = props;
9
+ const {
10
+ center,
11
+ corners
12
+ } = useRadarGridData();
13
+ const divisionRatio = Array.from({
14
+ length: divisions
15
+ }, (_, index) => (index + 1) / divisions);
16
+ return /*#__PURE__*/_jsxs(React.Fragment, {
17
+ children: [corners.map(({
18
+ x,
19
+ y
20
+ }, i) => /*#__PURE__*/_jsx("path", {
21
+ d: `M ${center.x} ${center.y} L ${x} ${y}`,
22
+ stroke: "black"
23
+ }, i)), divisionRatio.map(ratio => /*#__PURE__*/_jsx("path", {
24
+ d: `M ${corners.map(({
25
+ x,
26
+ y
27
+ }) => `${center.x * (1 - ratio) + ratio * x} ${center.y * (1 - ratio) + ratio * y}`).join(' L ')} Z`,
28
+ stroke: "black",
29
+ fill: "none"
30
+ }, ratio))]
31
+ });
32
+ }
33
+ process.env.NODE_ENV !== "production" ? RadarGrid.propTypes = {
34
+ // ----------------------------- Warning --------------------------------
35
+ // | These PropTypes are generated from the TypeScript type definitions |
36
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
37
+ // ----------------------------------------------------------------------
38
+ /**
39
+ * The number of divisions in the radar grid.
40
+ * @default 5
41
+ */
42
+ divisions: PropTypes.number
43
+ } : void 0;
44
+ export { RadarGrid };
@@ -0,0 +1 @@
1
+ export * from "./RadarGrid.js";
@@ -0,0 +1 @@
1
+ export * from "./RadarGrid.js";
@@ -0,0 +1,10 @@
1
+ export declare function useRadarGridData(): {
2
+ center: {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ corners: {
7
+ x: number;
8
+ y: number;
9
+ }[];
10
+ };
@@ -0,0 +1,29 @@
1
+ import { useRotationScale } from "../../hooks/useScale.js";
2
+ import { useDrawingArea } from "../../hooks/useDrawingArea.js";
3
+ import { useRadiusAxes } from "../../hooks/index.js";
4
+ export function useRadarGridData() {
5
+ const rotationScale = useRotationScale();
6
+ const {
7
+ radiusAxis
8
+ } = useRadiusAxes();
9
+ const drawingArea = useDrawingArea();
10
+ const cx = drawingArea.left + drawingArea.width / 2;
11
+ const cy = drawingArea.top + drawingArea.height / 2;
12
+ const metrics = rotationScale.domain();
13
+ const angles = metrics.map(key => rotationScale(key));
14
+ return {
15
+ center: {
16
+ x: cx,
17
+ y: cy
18
+ },
19
+ corners: metrics.map((metric, dataIndex) => {
20
+ const radiusScale = radiusAxis[metric].scale;
21
+ const r = radiusScale.range()[1];
22
+ const angle = angles[dataIndex];
23
+ return {
24
+ x: cx + r * Math.sin(angle),
25
+ y: cy - r * Math.cos(angle)
26
+ };
27
+ })
28
+ };
29
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { RadarSeriesAreaProps } from "./RadarSeriesPlot.types.js";
3
+ declare function RadarSeriesArea(props: RadarSeriesAreaProps): React.JSX.Element;
4
+ declare namespace RadarSeriesArea {
5
+ var propTypes: any;
6
+ }
7
+ export { RadarSeriesArea };
@@ -0,0 +1,39 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["seriesId"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useRadarSeriesData } from "./useRadarSeriesData.js";
7
+ import { getAreaPath } from "./getAreaPath.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ function RadarSeriesArea(props) {
10
+ const {
11
+ seriesId
12
+ } = props,
13
+ other = _objectWithoutPropertiesLoose(props, _excluded);
14
+ const seriesCoordinates = useRadarSeriesData(seriesId);
15
+ return /*#__PURE__*/_jsx(React.Fragment, {
16
+ children: seriesCoordinates?.map(({
17
+ seriesId: id,
18
+ points,
19
+ color
20
+ }) => /*#__PURE__*/_jsx("path", _extends({
21
+ d: getAreaPath(points),
22
+ fill: color,
23
+ stroke: color,
24
+ fillOpacity: 0.4
25
+ }, other), id))
26
+ });
27
+ }
28
+ process.env.NODE_ENV !== "production" ? RadarSeriesArea.propTypes = {
29
+ // ----------------------------- Warning --------------------------------
30
+ // | These PropTypes are generated from the TypeScript type definitions |
31
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
32
+ // ----------------------------------------------------------------------
33
+ /**
34
+ * The id of the series to display.
35
+ * If undefined all series are displayed.
36
+ */
37
+ seriesId: PropTypes.string
38
+ } : void 0;
39
+ export { RadarSeriesArea };
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { RadarSeriesMarksProps } from "./RadarSeriesPlot.types.js";
3
+ declare function RadarSeriesMarks(props: RadarSeriesMarksProps): React.JSX.Element;
4
+ declare namespace RadarSeriesMarks {
5
+ var propTypes: any;
6
+ }
7
+ export { RadarSeriesMarks };