@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
@@ -0,0 +1,35 @@
1
+ import { ProcessedSeries } from "../internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js";
2
+ import { SeriesId } from "../models/seriesType/common.js";
3
+ import { ChartSeriesDefaultized } from "../models/seriesType/config.js";
4
+ export type UseRadarSeriesReturnValue = ChartSeriesDefaultized<'radar'>;
5
+ export type UseRadarSeriesContextReturnValue = ProcessedSeries['radar'];
6
+ /**
7
+ * Get access to the internal state of radar series.
8
+ *
9
+ * @param {SeriesId} seriesId The id of the series to get.
10
+ * @returns {UseRadarSeriesReturnValue} the radar series
11
+ */
12
+ export declare function useRadarSeries(seriesId: SeriesId): UseRadarSeriesReturnValue | undefined;
13
+ /**
14
+ * Get access to the internal state of radar series.
15
+ *
16
+ * When called without arguments, it returns all radar series.
17
+ *
18
+ * @returns {UseRadarSeriesReturnValue[]} the radar series
19
+ */
20
+ export declare function useRadarSeries(): UseRadarSeriesReturnValue[];
21
+ /**
22
+ * Get access to the internal state of radar series.
23
+ *
24
+ * @param {SeriesId[]} seriesIds The ids of the series to get. Order is preserved.
25
+ * @returns {UseRadarSeriesReturnValue[]} the radar series
26
+ */
27
+ export declare function useRadarSeries(seriesIds?: SeriesId[]): UseRadarSeriesReturnValue[];
28
+ /**
29
+ * Get access to the internal state of radar series.
30
+ * The returned object contains:
31
+ * - series: a mapping from ids to series attributes.
32
+ * - seriesOrder: the array of series ids.
33
+ * @returns the radar series
34
+ */
35
+ export declare function useRadarSeriesContext(): UseRadarSeriesContextReturnValue;
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+
3
+ import { createSeriesSelectorsOfType, createAllSeriesSelectorOfType } from "../internals/createSeriesSelectorOfType.js";
4
+ const useSelectorSeries = createSeriesSelectorsOfType('radar');
5
+ const useSelectorSeriesContext = createAllSeriesSelectorOfType('radar');
6
+
7
+ /**
8
+ * Get access to the internal state of radar series.
9
+ *
10
+ * @param {SeriesId} seriesId The id of the series to get.
11
+ * @returns {UseRadarSeriesReturnValue} the radar series
12
+ */
13
+
14
+ /**
15
+ * Get access to the internal state of radar series.
16
+ *
17
+ * When called without arguments, it returns all radar series.
18
+ *
19
+ * @returns {UseRadarSeriesReturnValue[]} the radar series
20
+ */
21
+
22
+ /**
23
+ * Get access to the internal state of radar series.
24
+ *
25
+ * @param {SeriesId[]} seriesIds The ids of the series to get. Order is preserved.
26
+ * @returns {UseRadarSeriesReturnValue[]} the radar series
27
+ */
28
+
29
+ export function useRadarSeries(seriesIds) {
30
+ return useSelectorSeries(seriesIds);
31
+ }
32
+
33
+ /**
34
+ * Get access to the internal state of radar series.
35
+ * The returned object contains:
36
+ * - series: a mapping from ids to series attributes.
37
+ * - seriesOrder: the array of series ids.
38
+ * @returns the radar series
39
+ */
40
+ export function useRadarSeriesContext() {
41
+ return useSelectorSeriesContext();
42
+ }
@@ -19,4 +19,6 @@ export declare function useXScale<S extends ScaleName>(axisId?: AxisId): AxisSca
19
19
  * @param {AxisId | undefined} axisId - If provided returns the scale for the y axis with axisId, else returns the values for the default y axis.
20
20
  * @returns {AxisScaleConfig[S]['scale']} The scale for the specified Y axis.
21
21
  */
22
- export declare function useYScale<S extends ScaleName>(axisId?: AxisId): AxisScaleConfig[S]['scale'];
22
+ export declare function useYScale<S extends ScaleName>(axisId?: AxisId): AxisScaleConfig[S]['scale'];
23
+ export declare function useRotationScale<S extends ScaleName>(identifier?: number | string): AxisScaleConfig[S]['scale'];
24
+ export declare function useRadiusScale<S extends ScaleName>(identifier?: number | string): AxisScaleConfig[S]['scale'];
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { isBandScale } from "../internals/isBandScale.js";
4
- import { useXAxis, useYAxis } from "./useAxis.js";
4
+ import { useRadiusAxis, useRotationAxis, useXAxis, useYAxis } from "./useAxis.js";
5
5
 
6
6
  /**
7
7
  * For a given scale return a function that map value to their position.
@@ -36,4 +36,12 @@ export function useXScale(axisId) {
36
36
  export function useYScale(axisId) {
37
37
  const axis = useYAxis(axisId);
38
38
  return axis.scale;
39
+ }
40
+ export function useRotationScale(identifier) {
41
+ const axis = useRotationAxis(identifier);
42
+ return axis.scale;
43
+ }
44
+ export function useRadiusScale(identifier) {
45
+ const axis = useRadiusAxis(identifier);
46
+ return axis.scale;
39
47
  }
@@ -29,12 +29,13 @@ export function useTicks(options) {
29
29
  valueFormatter,
30
30
  tickInterval,
31
31
  tickPlacement = 'extremities',
32
- tickLabelPlacement = 'middle'
32
+ tickLabelPlacement: tickLabelPlacementProp
33
33
  } = options;
34
34
  return React.useMemo(() => {
35
35
  // band scale
36
36
  if (isBandScale(scale)) {
37
37
  const domain = scale.domain();
38
+ const tickLabelPlacement = tickLabelPlacementProp ?? 'middle';
38
39
  if (scale.bandwidth() > 0) {
39
40
  // scale type = 'band'
40
41
  const filteredDomain = typeof tickInterval === 'function' && domain.filter(tickInterval) || typeof tickInterval === 'object' && tickInterval || domain;
@@ -71,15 +72,20 @@ export function useTicks(options) {
71
72
  if (domain.some(isInfinity)) {
72
73
  return [];
73
74
  }
75
+ const tickLabelPlacement = tickLabelPlacementProp;
74
76
  const ticks = typeof tickInterval === 'object' ? tickInterval : scale.ticks(tickNumber);
75
- return ticks.map(value => ({
76
- value,
77
- formattedValue: valueFormatter?.(value, {
78
- location: 'tick',
79
- scale
80
- }) ?? scale.tickFormat(tickNumber)(value),
81
- offset: scale(value),
82
- labelOffset: 0
83
- }));
84
- }, [scale, tickInterval, tickNumber, valueFormatter, tickPlacement, tickLabelPlacement]);
77
+ return ticks.map((value, i) => {
78
+ return {
79
+ value,
80
+ formattedValue: valueFormatter?.(value, {
81
+ location: 'tick',
82
+ scale
83
+ }) ?? scale.tickFormat(tickNumber)(value),
84
+ offset: scale(value),
85
+ // Allowing the label to be placed in the middle of a continuous scale is weird.
86
+ // But it is useful in some cases, like funnel categories with a linear scale.
87
+ labelOffset: tickLabelPlacement === 'middle' ? scale(ticks[i - 1] ?? 0) - (scale(value) + scale(ticks[i - 1] ?? 0)) / 2 : 0
88
+ };
89
+ });
90
+ }, [scale, tickInterval, tickNumber, valueFormatter, tickPlacement, tickLabelPlacementProp]);
85
91
  }
package/esm/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from "./PieChart/index.js";
20
20
  export * from "./ScatterChart/index.js";
21
21
  export * from "./SparkLineChart/index.js";
22
22
  export * from "./Gauge/index.js";
23
+ export * from "./RadarChart/index.js";
23
24
  export * from "./ChartsSurface/index.js";
24
25
  export * from "./ChartContainer/index.js";
25
26
  export * from "./ChartDataProvider/index.js";
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v8.0.0-alpha.13
2
+ * @mui/x-charts v8.0.0-alpha.14
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -27,6 +27,7 @@ export * from "./PieChart/index.js";
27
27
  export * from "./ScatterChart/index.js";
28
28
  export * from "./SparkLineChart/index.js";
29
29
  export * from "./Gauge/index.js";
30
+ export * from "./RadarChart/index.js";
30
31
  export * from "./ChartsSurface/index.js";
31
32
  export * from "./ChartContainer/index.js";
32
33
  export * from "./ChartDataProvider/index.js";
@@ -0,0 +1,2 @@
1
+ /** Clamp angle to [0, 360[. */
2
+ export declare function clampAngle(angle: number): number;
@@ -0,0 +1,4 @@
1
+ /** Clamp angle to [0, 360[. */
2
+ export function clampAngle(angle) {
3
+ return (angle % 360 + 360) % 360;
4
+ }
@@ -11,9 +11,9 @@ export const AxisRoot = styled('g', {
11
11
  [`& .${axisClasses.tickLabel}`]: _extends({}, theme.typography.caption, {
12
12
  fill: (theme.vars || theme).palette.text.primary
13
13
  }),
14
- [`& .${axisClasses.label}`]: _extends({}, theme.typography.body1, {
14
+ [`& .${axisClasses.label}`]: {
15
15
  fill: (theme.vars || theme).palette.text.primary
16
- }),
16
+ },
17
17
  [`& .${axisClasses.line}`]: {
18
18
  stroke: (theme.vars || theme).palette.text.primary,
19
19
  shapeRendering: 'crispEdges',
@@ -1,9 +1,16 @@
1
- import { ChartSeriesType } from "../models/seriesType/config.js";
1
+ import { CartesianChartSeriesType, PolarChartSeriesType } from "../models/seriesType/config.js";
2
2
  declare class CartesianSeriesTypes {
3
- types: Set<ChartSeriesType>;
3
+ types: Set<CartesianChartSeriesType>;
4
4
  constructor();
5
- addType(value: ChartSeriesType): void;
6
- getTypes(): Set<keyof import(".").ChartsSeriesConfig>;
5
+ addType(value: CartesianChartSeriesType): void;
6
+ getTypes(): Set<"line" | "scatter" | "bar">;
7
+ }
8
+ declare class PolarSeriesTypes {
9
+ types: Set<PolarChartSeriesType>;
10
+ constructor();
11
+ addType(value: PolarChartSeriesType): void;
12
+ getTypes(): Set<"radar">;
7
13
  }
8
14
  export declare const cartesianSeriesTypes: CartesianSeriesTypes;
15
+ export declare const polarSeriesTypes: PolarSeriesTypes;
9
16
  export {};
@@ -1,11 +1,27 @@
1
- let instance;
1
+ let cartesianInstance;
2
+ let polarInstance;
2
3
  class CartesianSeriesTypes {
3
4
  constructor() {
4
5
  this.types = new Set();
5
- if (instance) {
6
+ if (cartesianInstance) {
6
7
  throw new Error('You can only create one instance!');
7
8
  }
8
- instance = this.types;
9
+ cartesianInstance = this.types;
10
+ }
11
+ addType(value) {
12
+ this.types.add(value);
13
+ }
14
+ getTypes() {
15
+ return this.types;
16
+ }
17
+ }
18
+ class PolarSeriesTypes {
19
+ constructor() {
20
+ this.types = new Set();
21
+ if (polarInstance) {
22
+ throw new Error('You can only create one instance!');
23
+ }
24
+ polarInstance = this.types;
9
25
  }
10
26
  addType(value) {
11
27
  this.types.add(value);
@@ -17,4 +33,6 @@ class CartesianSeriesTypes {
17
33
  export const cartesianSeriesTypes = new CartesianSeriesTypes();
18
34
  cartesianSeriesTypes.addType('bar');
19
35
  cartesianSeriesTypes.addType('line');
20
- cartesianSeriesTypes.addType('scatter');
36
+ cartesianSeriesTypes.addType('scatter');
37
+ export const polarSeriesTypes = new PolarSeriesTypes();
38
+ polarSeriesTypes.addType('radar');
@@ -15,6 +15,7 @@ export * from "./plugins/corePlugins/useChartSeries/index.js";
15
15
  export * from "./plugins/corePlugins/useChartDimensions/index.js";
16
16
  export * from "./plugins/featurePlugins/useChartZAxis/index.js";
17
17
  export * from "./plugins/featurePlugins/useChartCartesianAxis/index.js";
18
+ export * from "./plugins/featurePlugins/useChartPolarAxis/index.js";
18
19
  export * from "./plugins/featurePlugins/useChartInteraction/index.js";
19
20
  export * from "./plugins/featurePlugins/useChartHighlight/index.js";
20
21
  export * from "./plugins/featurePlugins/useChartVoronoi/index.js";
@@ -32,7 +33,11 @@ export * from "./getSVGPoint.js";
32
33
  export * from "./isDefined.js";
33
34
  export { unstable_cleanupDOM } from "./domUtils.js";
34
35
  export * from "./getScale.js";
36
+ export * from "./stackSeries.js";
35
37
  export * from "./getCurve.js";
38
+ export * from "./consumeSlots.js";
39
+ export * from "./consumeThemeProps.js";
40
+ export * from "./defaultizeMargin.js";
36
41
  export * from "../context/AnimationProvider/index.js";
37
42
  export type * from '../context/context.types';
38
43
  export { getAxisExtremum } from "./plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js";
@@ -20,6 +20,7 @@ export * from "./plugins/corePlugins/useChartSeries/index.js";
20
20
  export * from "./plugins/corePlugins/useChartDimensions/index.js";
21
21
  export * from "./plugins/featurePlugins/useChartZAxis/index.js";
22
22
  export * from "./plugins/featurePlugins/useChartCartesianAxis/index.js";
23
+ export * from "./plugins/featurePlugins/useChartPolarAxis/index.js";
23
24
  export * from "./plugins/featurePlugins/useChartInteraction/index.js";
24
25
  export * from "./plugins/featurePlugins/useChartHighlight/index.js";
25
26
  export * from "./plugins/featurePlugins/useChartVoronoi/index.js";
@@ -42,7 +43,11 @@ export * from "./getSVGPoint.js";
42
43
  export * from "./isDefined.js";
43
44
  export { unstable_cleanupDOM } from "./domUtils.js";
44
45
  export * from "./getScale.js";
46
+ export * from "./stackSeries.js";
45
47
  export * from "./getCurve.js";
48
+ export * from "./consumeSlots.js";
49
+ export * from "./consumeThemeProps.js";
50
+ export * from "./defaultizeMargin.js";
46
51
 
47
52
  // contexts
48
53
 
@@ -0,0 +1,2 @@
1
+ import { ChartsTextStyle } from "../ChartsText/index.js";
2
+ export declare function invertTextAnchor(textAnchor: ChartsTextStyle['textAnchor']): ChartsTextStyle['textAnchor'];
@@ -0,0 +1,10 @@
1
+ export function invertTextAnchor(textAnchor) {
2
+ switch (textAnchor) {
3
+ case 'start':
4
+ return 'end';
5
+ case 'end':
6
+ return 'start';
7
+ default:
8
+ return textAnchor;
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ import { ChartSeriesType, PolarChartSeriesType, ChartSeriesDefaultized } from "../models/seriesType/config.js";
2
+ export declare function isPolarSeriesType(seriesType: string): seriesType is PolarChartSeriesType;
3
+ export declare function isPolarSeries(series: ChartSeriesDefaultized<ChartSeriesType> & {
4
+ getColor: (dataIndex: number) => string;
5
+ }): series is ChartSeriesDefaultized<PolarChartSeriesType> & {
6
+ getColor: (dataIndex: number) => string;
7
+ };
@@ -0,0 +1,7 @@
1
+ import { polarSeriesTypes } from "./configInit.js";
2
+ export function isPolarSeriesType(seriesType) {
3
+ return polarSeriesTypes.getTypes().has(seriesType);
4
+ }
5
+ export function isPolarSeries(series) {
6
+ return isPolarSeriesType(series.type);
7
+ }
@@ -2,9 +2,10 @@ import { ChartSeriesType } from "../../models/seriesType/config.js";
2
2
  import { UseChartCartesianAxisSignature } from "./featurePlugins/useChartCartesianAxis/index.js";
3
3
  import { UseChartHighlightSignature } from "./featurePlugins/useChartHighlight/index.js";
4
4
  import { UseChartInteractionSignature } from "./featurePlugins/useChartInteraction/index.js";
5
+ import { UseChartPolarAxisSignature } from "./featurePlugins/useChartPolarAxis/index.js";
5
6
  import { UseChartVoronoiSignature } from "./featurePlugins/useChartVoronoi/index.js";
6
7
  import { UseChartZAxisSignature } from "./featurePlugins/useChartZAxis/index.js";
7
8
  import { ConvertSignaturesIntoPlugins } from "./models/helpers.js";
8
- export type AllPluginSignatures<TSeries extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartCartesianAxisSignature<TSeries>, UseChartInteractionSignature, UseChartHighlightSignature, UseChartVoronoiSignature];
9
+ export type AllPluginSignatures<TSeries extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartCartesianAxisSignature<TSeries>, UseChartPolarAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, UseChartVoronoiSignature];
9
10
  export type AllPluginsType<TSeries extends ChartSeriesType = ChartSeriesType> = ConvertSignaturesIntoPlugins<AllPluginSignatures<TSeries>>;
10
- export declare const ALL_PLUGINS: (import("./models").ChartPlugin<UseChartInteractionSignature> | import("./models").ChartPlugin<UseChartZAxisSignature> | import("./models").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("./models").ChartPlugin<UseChartHighlightSignature> | import("./models").ChartPlugin<UseChartVoronoiSignature>)[];
11
+ export declare const ALL_PLUGINS: (import("./models").ChartPlugin<UseChartInteractionSignature> | import("./models").ChartPlugin<UseChartZAxisSignature> | import("./models").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("./models").ChartPlugin<UseChartHighlightSignature> | import("./models").ChartPlugin<UseChartPolarAxisSignature<any>> | import("./models").ChartPlugin<UseChartVoronoiSignature>)[];
@@ -3,6 +3,7 @@
3
3
  import { useChartCartesianAxis } from "./featurePlugins/useChartCartesianAxis/index.js";
4
4
  import { useChartHighlight } from "./featurePlugins/useChartHighlight/index.js";
5
5
  import { useChartInteraction } from "./featurePlugins/useChartInteraction/index.js";
6
+ import { useChartPolarAxis } from "./featurePlugins/useChartPolarAxis/index.js";
6
7
  import { useChartVoronoi } from "./featurePlugins/useChartVoronoi/index.js";
7
8
  import { useChartZAxis } from "./featurePlugins/useChartZAxis/index.js";
8
- export const ALL_PLUGINS = [useChartZAxis, useChartCartesianAxis, useChartInteraction, useChartHighlight, useChartVoronoi];
9
+ export const ALL_PLUGINS = [useChartZAxis, useChartCartesianAxis, useChartPolarAxis, useChartInteraction, useChartHighlight, useChartVoronoi];
@@ -1,5 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { defaultizeColor } from "../../../defaultizeColor.js";
3
1
  /**
4
2
  * This methods is the interface between what the developer is providing and what components receives
5
3
  * To simplify the components behaviors, it groups series by type, such that LinePlots props are not updated if some line data are modified
@@ -20,23 +18,19 @@ export const preprocessSeries = ({
20
18
  // That's probably because the series.type is not propagated from the generic but hardcoded in the config.
21
19
 
22
20
  series.forEach((seriesData, seriesIndex) => {
23
- const {
24
- id = `auto-generated-id-${seriesIndex}`,
25
- type
26
- } = seriesData;
27
- if (seriesGroups[type] === undefined) {
28
- seriesGroups[type] = {
21
+ const seriesWithDefaultValues = seriesConfig[seriesData.type].getSeriesWithDefaultValues(seriesData, seriesIndex, colors);
22
+ const id = seriesWithDefaultValues.id;
23
+ if (seriesGroups[seriesData.type] === undefined) {
24
+ seriesGroups[seriesData.type] = {
29
25
  series: {},
30
26
  seriesOrder: []
31
27
  };
32
28
  }
33
- if (seriesGroups[type]?.series[id] !== undefined) {
29
+ if (seriesGroups[seriesData.type]?.series[id] !== undefined) {
34
30
  throw new Error(`MUI X: series' id "${id}" is not unique.`);
35
31
  }
36
- seriesGroups[type].series[id] = _extends({
37
- id
38
- }, defaultizeColor(seriesData, seriesIndex, colors));
39
- seriesGroups[type].seriesOrder.push(id);
32
+ seriesGroups[seriesData.type].series[id] = seriesWithDefaultValues;
33
+ seriesGroups[seriesData.type].seriesOrder.push(id);
40
34
  });
41
35
  const processedSeries = {};
42
36
  // Apply formatter on a type group
@@ -55,6 +55,7 @@ export function computeAxisValue({
55
55
  const zoomedRange = zoomScaleRange(scaleRange, zoomRange);
56
56
  completeAxis[axis.id] = _extends({
57
57
  offset: 0,
58
+ height: 0,
58
59
  categoryGapRatio,
59
60
  barGapRatio
60
61
  }, axis, {
@@ -74,7 +75,8 @@ export function computeAxisValue({
74
75
  const scaleRange = axisDirection === 'y' ? [...range].reverse() : range;
75
76
  const zoomedRange = zoomScaleRange(scaleRange, zoomRange);
76
77
  completeAxis[axis.id] = _extends({
77
- offset: 0
78
+ offset: 0,
79
+ height: 0
78
80
  }, axis, {
79
81
  data,
80
82
  scale: scalePoint(axis.data, zoomedRange),
@@ -114,7 +116,8 @@ export function computeAxisValue({
114
116
  const [minDomain, maxDomain] = finalScale.domain();
115
117
  const domain = [axis.min ?? minDomain, axis.max ?? maxDomain];
116
118
  completeAxis[axis.id] = _extends({
117
- offset: 0
119
+ offset: 0,
120
+ height: 0
118
121
  }, axis, {
119
122
  data,
120
123
  scaleType: scaleType,
@@ -2,5 +2,5 @@ import { MakeOptional } from '@mui/x-internals/types';
2
2
  import { AxisConfig, ScaleName } from "../../../../models/index.js";
3
3
  import { ChartsXAxisProps, ChartsYAxisProps } from "../../../../models/axis.js";
4
4
  import { DatasetType } from "../../../../models/seriesType/config.js";
5
- export declare function defaultizeAxis(inAxis: readonly MakeOptional<AxisConfig<ScaleName, any, ChartsXAxisProps>, 'id'>[] | undefined, dataset: Readonly<DatasetType> | undefined, axisName: 'x'): AxisConfig<ScaleName, any, ChartsXAxisProps>[];
6
- export declare function defaultizeAxis(inAxis: readonly MakeOptional<AxisConfig<ScaleName, any, ChartsYAxisProps>, 'id'>[] | undefined, dataset: Readonly<DatasetType> | undefined, axisName: 'y'): AxisConfig<ScaleName, any, ChartsYAxisProps>[];
5
+ export declare function defaultizeXAxis(inAxis: readonly MakeOptional<AxisConfig<ScaleName, any, ChartsXAxisProps>, 'id'>[] | undefined, dataset: Readonly<DatasetType> | undefined): Array<AxisConfig<ScaleName, any, ChartsXAxisProps>>;
6
+ export declare function defaultizeYAxis(inAxis: readonly MakeOptional<AxisConfig<ScaleName, any, ChartsYAxisProps>, 'id'>[] | undefined, dataset: Readonly<DatasetType> | undefined): Array<AxisConfig<ScaleName, any, ChartsYAxisProps>>;
@@ -1,38 +1,78 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY, DEFAULT_AXIS_SIZE_HEIGHT, DEFAULT_AXIS_SIZE_WIDTH } from "../../../../constants/index.js";
3
- export function defaultizeAxis(inAxis, dataset, axisName) {
4
- const DEFAULT_AXIS_KEY = axisName === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY;
2
+ import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY, DEFAULT_AXIS_SIZE_HEIGHT, DEFAULT_AXIS_SIZE_WIDTH, AXIS_LABEL_DEFAULT_HEIGHT } from "../../../../constants/index.js";
3
+ export function defaultizeXAxis(inAxis, dataset) {
5
4
  const offsets = {
6
5
  top: 0,
7
- right: 0,
8
6
  bottom: 0,
7
+ none: 0
8
+ };
9
+ const inputAxes = inAxis && inAxis.length > 0 ? inAxis : [{
10
+ id: DEFAULT_X_AXIS_KEY,
11
+ scaleType: 'linear'
12
+ }];
13
+ const parsedAxes = inputAxes.map((axisConfig, index) => {
14
+ const dataKey = axisConfig.dataKey;
15
+
16
+ // The first x-axis is defaultized to the bottom
17
+ const defaultPosition = index === 0 ? 'bottom' : 'none';
18
+ const position = axisConfig.position ?? defaultPosition;
19
+ const defaultHeight = DEFAULT_AXIS_SIZE_HEIGHT + (axisConfig.label ? AXIS_LABEL_DEFAULT_HEIGHT : 0);
20
+ const sharedConfig = _extends({
21
+ id: `defaultized-x-axis-${index}`,
22
+ offset: offsets[position]
23
+ }, axisConfig, {
24
+ position,
25
+ height: axisConfig.height ?? defaultHeight
26
+ });
27
+
28
+ // Increment the offset for the next axis
29
+ if (position !== 'none') {
30
+ offsets[position] += sharedConfig.height;
31
+ }
32
+
33
+ // If `dataKey` is NOT provided
34
+ if (dataKey === undefined || axisConfig.data !== undefined) {
35
+ return sharedConfig;
36
+ }
37
+ if (dataset === undefined) {
38
+ throw new Error(`MUI X: x-axis uses \`dataKey\` but no \`dataset\` is provided.`);
39
+ }
40
+
41
+ // If `dataKey` is provided
42
+ return _extends({}, sharedConfig, {
43
+ data: dataset.map(d => d[dataKey])
44
+ });
45
+ });
46
+ return parsedAxes;
47
+ }
48
+ export function defaultizeYAxis(inAxis, dataset) {
49
+ const offsets = {
50
+ right: 0,
9
51
  left: 0,
10
52
  none: 0
11
53
  };
12
54
  const inputAxes = inAxis && inAxis.length > 0 ? inAxis : [{
13
- id: DEFAULT_AXIS_KEY,
55
+ id: DEFAULT_Y_AXIS_KEY,
14
56
  scaleType: 'linear'
15
57
  }];
16
58
  const parsedAxes = inputAxes.map((axisConfig, index) => {
17
59
  const dataKey = axisConfig.dataKey;
18
- const defaultPosition = axisName === 'x' ? 'bottom' : 'left';
19
- const position = axisConfig.position ?? 'none';
20
- const dimension = axisName === 'x' ? 'height' : 'width';
21
- const height = axisName === 'x' ? DEFAULT_AXIS_SIZE_HEIGHT : 0;
22
- const width = axisName === 'y' ? DEFAULT_AXIS_SIZE_WIDTH : 0;
60
+
61
+ // The first y-axis is defaultized to the left
62
+ const defaultPosition = index === 0 ? 'left' : 'none';
63
+ const position = axisConfig.position ?? defaultPosition;
64
+ const defaultWidth = DEFAULT_AXIS_SIZE_WIDTH + (axisConfig.label ? AXIS_LABEL_DEFAULT_HEIGHT : 0);
23
65
  const sharedConfig = _extends({
24
- id: `defaultized-${axisName}-axis-${index}`
25
- }, index === 0 ? {
26
- position: defaultPosition
27
- } : {}, {
28
- height,
29
- width,
66
+ id: `defaultized-y-axis-${index}`,
30
67
  offset: offsets[position]
31
- }, axisConfig);
68
+ }, axisConfig, {
69
+ position,
70
+ width: axisConfig.width ?? defaultWidth
71
+ });
32
72
 
33
73
  // Increment the offset for the next axis
34
74
  if (position !== 'none') {
35
- offsets[position] += axisConfig[dimension] ?? (dimension === 'height' ? height : width);
75
+ offsets[position] += sharedConfig.width;
36
76
  }
37
77
 
38
78
  // If `dataKey` is NOT provided
@@ -40,7 +80,7 @@ export function defaultizeAxis(inAxis, dataset, axisName) {
40
80
  return sharedConfig;
41
81
  }
42
82
  if (dataset === undefined) {
43
- throw new Error(`MUI X: ${axisName}-axis uses \`dataKey\` but no \`dataset\` is provided.`);
83
+ throw new Error(`MUI X: y-axis uses \`dataKey\` but no \`dataset\` is provided.`);
44
84
  }
45
85
 
46
86
  // If `dataKey` is provided
@@ -1,7 +1,7 @@
1
1
  export { useChartCartesianAxis } from "./useChartCartesianAxis.js";
2
2
  export type * from './useChartCartesianAxis.types';
3
3
  export * from "./useChartCartesianAxisRendering.selectors.js";
4
- export { defaultizeAxis } from "./defaultizeAxis.js";
4
+ export { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
5
5
  export * from "./computeAxisValue.js";
6
6
  export * from "./createZoomLookup.js";
7
7
  export * from "./zoom.types.js";
@@ -1,6 +1,6 @@
1
1
  export { useChartCartesianAxis } from "./useChartCartesianAxis.js";
2
2
  export * from "./useChartCartesianAxisRendering.selectors.js";
3
- export { defaultizeAxis } from "./defaultizeAxis.js";
3
+ export { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
4
4
  export * from "./computeAxisValue.js";
5
5
  export * from "./createZoomLookup.js";
6
6
  export * from "./zoom.types.js";
@@ -7,7 +7,7 @@ import { rainbowSurgePalette } from "../../../../colorPalettes/index.js";
7
7
  import { useSelector } from "../../../store/useSelector.js";
8
8
  import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/useChartDimensions.selectors.js";
9
9
  import { selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/useChartSeries.selectors.js";
10
- import { defaultizeAxis } from "./defaultizeAxis.js";
10
+ import { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
11
11
  import { selectorChartXAxis, selectorChartYAxis } from "./useChartCartesianAxisRendering.selectors.js";
12
12
  import { getAxisValue } from "./getAxisValue.js";
13
13
  import { getSVGPoint } from "../../../getSVGPoint.js";
@@ -54,8 +54,8 @@ export const useChartCartesianAxis = ({
54
54
  }
55
55
  store.update(prev => _extends({}, prev, {
56
56
  cartesianAxis: _extends({}, prev.cartesianAxis, {
57
- x: defaultizeAxis(xAxis, dataset, 'x'),
58
- y: defaultizeAxis(yAxis, dataset, 'y')
57
+ x: defaultizeXAxis(xAxis, dataset),
58
+ y: defaultizeYAxis(yAxis, dataset)
59
59
  })
60
60
  }));
61
61
  }, [seriesConfig, drawingArea, xAxis, yAxis, dataset, store]);
@@ -194,8 +194,8 @@ useChartCartesianAxis.getDefaultizedParams = ({
194
194
  return _extends({}, params, {
195
195
  colors: params.colors ?? rainbowSurgePalette,
196
196
  theme: params.theme ?? 'light',
197
- defaultizedXAxis: defaultizeAxis(params.xAxis, params.dataset, 'x'),
198
- defaultizedYAxis: defaultizeAxis(params.yAxis, params.dataset, 'y')
197
+ defaultizedXAxis: defaultizeXAxis(params.xAxis, params.dataset),
198
+ defaultizedYAxis: defaultizeYAxis(params.yAxis, params.dataset)
199
199
  });
200
200
  };
201
201
  useChartCartesianAxis.getInitialState = params => ({
@@ -9,24 +9,6 @@ import type { ChartsAxisProps } from '../../../../ChartsAxis';
9
9
  export type DefaultizedAxisConfig<AxisProps extends ChartsAxisProps> = {
10
10
  [axisId: AxisId]: AxisDefaultized<ScaleName, any, AxisProps>;
11
11
  };
12
- export type CartesianContextState = {
13
- /**
14
- * Mapping from x-axis key to scaling configuration.
15
- */
16
- xAxis: DefaultizedAxisConfig<ChartsXAxisProps>;
17
- /**
18
- * Mapping from y-axis key to scaling configuration.
19
- */
20
- yAxis: DefaultizedAxisConfig<ChartsYAxisProps>;
21
- /**
22
- * The x-axes IDs sorted by order they got provided.
23
- */
24
- xAxisIds: AxisId[];
25
- /**
26
- * The y-axes IDs sorted by order they got provided.
27
- */
28
- yAxisIds: AxisId[];
29
- };
30
12
  export interface UseChartCartesianAxisParameters {
31
13
  /**
32
14
  * The configuration of the x-axes.