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

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 (314) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +14 -30
  3. package/BarChart/useBarChartProps.js +3 -18
  4. package/CHANGELOG.md +299 -0
  5. package/ChartContainer/ChartContainer.d.ts +1 -1
  6. package/ChartContainer/ChartContainer.js +15 -7
  7. package/ChartDataProvider/ChartDataProvider.d.ts +2 -2
  8. package/ChartDataProvider/ChartDataProvider.js +4 -3
  9. package/ChartsAxis/ChartsAxis.d.ts +1 -25
  10. package/ChartsAxis/ChartsAxis.js +25 -87
  11. package/ChartsAxis/axisClasses.d.ts +5 -1
  12. package/ChartsLabel/ChartsLabelMark.d.ts +6 -1
  13. package/ChartsLabel/ChartsLabelMark.js +15 -2
  14. package/ChartsLabel/index.d.ts +1 -1
  15. package/ChartsLabel/labelGradientClasses.d.ts +1 -1
  16. package/ChartsLabel/labelMarkClasses.d.ts +1 -1
  17. package/ChartsLabel/labelMarkClasses.js +1 -1
  18. package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  19. package/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  20. package/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
  21. package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +1 -1
  22. package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +1 -1
  23. package/ChartsTooltip/ChartsTooltipTable.js +1 -1
  24. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -1
  25. package/ChartsXAxis/ChartsXAxis.js +70 -57
  26. package/ChartsYAxis/ChartsYAxis.js +11 -15
  27. package/Gauge/Gauge.js +4 -3
  28. package/Gauge/GaugeContainer.js +7 -5
  29. package/LineChart/LineChart.d.ts +1 -1
  30. package/LineChart/LineChart.js +14 -30
  31. package/LineChart/useLineChartProps.js +2 -17
  32. package/PieChart/PieArcLabelPlot.js +1 -1
  33. package/PieChart/PieArcPlot.js +1 -1
  34. package/PieChart/PieChart.d.ts +1 -1
  35. package/PieChart/PieChart.js +6 -4
  36. package/ScatterChart/ScatterChart.d.ts +1 -1
  37. package/ScatterChart/ScatterChart.js +14 -30
  38. package/ScatterChart/useScatterChartProps.js +2 -17
  39. package/SparkLineChart/SparkLineChart.d.ts +4 -8
  40. package/SparkLineChart/SparkLineChart.js +23 -21
  41. package/constants/index.d.ts +8 -1
  42. package/constants/index.js +13 -6
  43. package/context/AnimationProvider/useSkipAnimation.js +1 -1
  44. package/context/ChartProvider/ChartProvider.types.d.ts +6 -6
  45. package/context/PolarProvider/Polar.types.d.ts +3 -2
  46. package/esm/BarChart/BarChart.d.ts +1 -1
  47. package/esm/BarChart/BarChart.js +14 -30
  48. package/esm/BarChart/useBarChartProps.js +3 -18
  49. package/esm/ChartContainer/ChartContainer.d.ts +1 -1
  50. package/esm/ChartContainer/ChartContainer.js +15 -7
  51. package/esm/ChartDataProvider/ChartDataProvider.d.ts +2 -2
  52. package/esm/ChartDataProvider/ChartDataProvider.js +4 -3
  53. package/esm/ChartsAxis/ChartsAxis.d.ts +1 -25
  54. package/esm/ChartsAxis/ChartsAxis.js +24 -86
  55. package/esm/ChartsAxis/axisClasses.d.ts +5 -1
  56. package/esm/ChartsLabel/ChartsLabelMark.d.ts +6 -1
  57. package/esm/ChartsLabel/ChartsLabelMark.js +15 -2
  58. package/esm/ChartsLabel/index.d.ts +1 -1
  59. package/esm/ChartsLabel/index.js +0 -3
  60. package/esm/ChartsLabel/labelGradientClasses.d.ts +1 -1
  61. package/esm/ChartsLabel/labelMarkClasses.d.ts +1 -1
  62. package/esm/ChartsLabel/labelMarkClasses.js +1 -1
  63. package/esm/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  64. package/esm/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  65. package/esm/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
  66. package/esm/ChartsReferenceLine/ChartsXReferenceLine.d.ts +1 -1
  67. package/esm/ChartsReferenceLine/ChartsYReferenceLine.d.ts +1 -1
  68. package/esm/ChartsTooltip/ChartsTooltipTable.js +1 -1
  69. package/esm/ChartsTooltip/chartsTooltipClasses.d.ts +1 -1
  70. package/esm/ChartsXAxis/ChartsXAxis.js +70 -57
  71. package/esm/ChartsYAxis/ChartsYAxis.js +12 -16
  72. package/esm/Gauge/Gauge.js +4 -3
  73. package/esm/Gauge/GaugeContainer.js +7 -5
  74. package/esm/LineChart/LineChart.d.ts +1 -1
  75. package/esm/LineChart/LineChart.js +14 -30
  76. package/esm/LineChart/useLineChartProps.js +2 -17
  77. package/esm/PieChart/PieArcLabelPlot.js +1 -1
  78. package/esm/PieChart/PieArcPlot.js +1 -1
  79. package/esm/PieChart/PieChart.d.ts +1 -1
  80. package/esm/PieChart/PieChart.js +6 -4
  81. package/esm/ScatterChart/ScatterChart.d.ts +1 -1
  82. package/esm/ScatterChart/ScatterChart.js +14 -30
  83. package/esm/ScatterChart/useScatterChartProps.js +2 -17
  84. package/esm/SparkLineChart/SparkLineChart.d.ts +4 -8
  85. package/esm/SparkLineChart/SparkLineChart.js +23 -21
  86. package/esm/constants/index.d.ts +8 -1
  87. package/esm/constants/index.js +12 -5
  88. package/esm/context/AnimationProvider/useSkipAnimation.js +1 -1
  89. package/esm/context/ChartProvider/ChartProvider.types.d.ts +6 -6
  90. package/esm/context/PolarProvider/Polar.types.d.ts +3 -2
  91. package/esm/hooks/useAxis.d.ts +2 -2
  92. package/esm/hooks/useAxis.js +1 -1
  93. package/esm/hooks/useSvgRef.js +1 -1
  94. package/esm/index.js +1 -1
  95. package/esm/internals/defaultizeColor.d.ts +23 -23
  96. package/esm/internals/defaultizeMargin.d.ts +3 -0
  97. package/esm/internals/defaultizeMargin.js +15 -0
  98. package/esm/internals/domUtils.js +1 -0
  99. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +1 -1
  100. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +52 -31
  101. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +549 -105
  102. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +19 -18
  103. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +7 -16
  104. package/esm/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +2 -2
  105. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +2 -3
  106. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +3 -3
  107. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  108. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +7 -2
  109. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +13 -15
  110. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +37 -35
  111. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +3 -36
  112. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +37 -9
  113. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  114. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
  115. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +216 -0
  116. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.js +6 -0
  117. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +15 -14
  118. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +15 -13
  119. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +70 -0
  120. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +4 -0
  121. package/{internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts → esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts} +1815 -911
  122. package/{modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js → esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js} +4 -6
  123. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +86 -130
  124. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +2 -2
  125. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +188 -71
  126. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +9 -4
  127. package/esm/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +2 -2
  128. package/esm/internals/plugins/models/plugin.d.ts +1 -1
  129. package/esm/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +1 -1
  130. package/esm/internals/plugins/utils/ChartStore.d.ts +7 -7
  131. package/esm/internals/plugins/utils/selectors.d.ts +1 -0
  132. package/esm/internals/store/useCharts.js +0 -8
  133. package/esm/internals/store/useSelector.d.ts +1 -1
  134. package/esm/internals/store/useSelector.js +4 -1
  135. package/esm/internals/store/useStore.js +1 -1
  136. package/esm/models/axis.d.ts +56 -10
  137. package/esm/models/colorMapping.d.ts +1 -1
  138. package/esm/models/index.d.ts +0 -1
  139. package/esm/models/index.js +0 -1
  140. package/esm/models/seriesType/bar.d.ts +1 -1
  141. package/esm/models/seriesType/config.d.ts +1 -1
  142. package/esm/models/seriesType/line.d.ts +1 -1
  143. package/esm/models/seriesType/pie.d.ts +1 -1
  144. package/esm/models/seriesType/scatter.d.ts +1 -1
  145. package/esm/models/z-axis.d.ts +1 -1
  146. package/hooks/useAxis.d.ts +2 -2
  147. package/hooks/useAxis.js +5 -5
  148. package/hooks/useSvgRef.js +1 -1
  149. package/index.js +1 -1
  150. package/internals/defaultizeColor.d.ts +23 -23
  151. package/internals/defaultizeMargin.d.ts +3 -0
  152. package/internals/defaultizeMargin.js +22 -0
  153. package/internals/domUtils.js +1 -0
  154. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +1 -1
  155. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +51 -30
  156. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +549 -105
  157. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +20 -19
  158. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +7 -16
  159. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +2 -2
  160. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +2 -3
  161. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +3 -3
  162. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  163. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +7 -2
  164. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +13 -15
  165. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +39 -37
  166. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +3 -36
  167. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +36 -8
  168. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  169. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -4
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +216 -0
  171. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.js +12 -0
  172. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +16 -15
  173. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +15 -13
  174. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +70 -0
  175. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +11 -0
  176. package/{modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts} +1815 -911
  177. package/internals/plugins/featurePlugins/useChartCartesianAxis/{useChartCartesianAxis.selectors.js → useChartCartesianAxisRendering.selectors.js} +10 -13
  178. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +86 -130
  179. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +2 -2
  180. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +188 -71
  181. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +10 -5
  182. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +2 -2
  183. package/internals/plugins/models/plugin.d.ts +1 -1
  184. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +1 -1
  185. package/internals/plugins/utils/ChartStore.d.ts +7 -7
  186. package/internals/plugins/utils/selectors.d.ts +1 -0
  187. package/internals/store/useCharts.js +0 -8
  188. package/internals/store/useSelector.d.ts +1 -1
  189. package/internals/store/useSelector.js +5 -1
  190. package/internals/store/useStore.js +1 -1
  191. package/models/axis.d.ts +56 -10
  192. package/models/colorMapping.d.ts +1 -1
  193. package/models/index.d.ts +0 -1
  194. package/models/index.js +0 -11
  195. package/models/seriesType/bar.d.ts +1 -1
  196. package/models/seriesType/config.d.ts +1 -1
  197. package/models/seriesType/line.d.ts +1 -1
  198. package/models/seriesType/pie.d.ts +1 -1
  199. package/models/seriesType/scatter.d.ts +1 -1
  200. package/models/z-axis.d.ts +1 -1
  201. package/modern/BarChart/BarChart.d.ts +1 -1
  202. package/modern/BarChart/BarChart.js +14 -30
  203. package/modern/BarChart/useBarChartProps.js +3 -18
  204. package/modern/ChartContainer/ChartContainer.d.ts +1 -1
  205. package/modern/ChartContainer/ChartContainer.js +15 -7
  206. package/modern/ChartDataProvider/ChartDataProvider.d.ts +2 -2
  207. package/modern/ChartDataProvider/ChartDataProvider.js +4 -3
  208. package/modern/ChartsAxis/ChartsAxis.d.ts +1 -25
  209. package/modern/ChartsAxis/ChartsAxis.js +24 -86
  210. package/modern/ChartsAxis/axisClasses.d.ts +5 -1
  211. package/modern/ChartsLabel/ChartsLabelMark.d.ts +6 -1
  212. package/modern/ChartsLabel/ChartsLabelMark.js +15 -2
  213. package/modern/ChartsLabel/index.d.ts +1 -1
  214. package/modern/ChartsLabel/index.js +0 -3
  215. package/modern/ChartsLabel/labelGradientClasses.d.ts +1 -1
  216. package/modern/ChartsLabel/labelMarkClasses.d.ts +1 -1
  217. package/modern/ChartsLabel/labelMarkClasses.js +1 -1
  218. package/modern/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  219. package/modern/ChartsLegend/continuousColorLegendClasses.d.ts +1 -1
  220. package/modern/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
  221. package/modern/ChartsReferenceLine/ChartsXReferenceLine.d.ts +1 -1
  222. package/modern/ChartsReferenceLine/ChartsYReferenceLine.d.ts +1 -1
  223. package/modern/ChartsTooltip/ChartsTooltipTable.js +1 -1
  224. package/modern/ChartsTooltip/chartsTooltipClasses.d.ts +1 -1
  225. package/modern/ChartsXAxis/ChartsXAxis.js +70 -57
  226. package/modern/ChartsYAxis/ChartsYAxis.js +12 -16
  227. package/modern/Gauge/Gauge.js +4 -3
  228. package/modern/Gauge/GaugeContainer.js +7 -5
  229. package/modern/LineChart/LineChart.d.ts +1 -1
  230. package/modern/LineChart/LineChart.js +14 -30
  231. package/modern/LineChart/useLineChartProps.js +2 -17
  232. package/modern/PieChart/PieArcLabelPlot.js +1 -1
  233. package/modern/PieChart/PieArcPlot.js +1 -1
  234. package/modern/PieChart/PieChart.d.ts +1 -1
  235. package/modern/PieChart/PieChart.js +6 -4
  236. package/modern/ScatterChart/ScatterChart.d.ts +1 -1
  237. package/modern/ScatterChart/ScatterChart.js +14 -30
  238. package/modern/ScatterChart/useScatterChartProps.js +2 -17
  239. package/modern/SparkLineChart/SparkLineChart.d.ts +4 -8
  240. package/modern/SparkLineChart/SparkLineChart.js +23 -21
  241. package/modern/constants/index.d.ts +8 -1
  242. package/modern/constants/index.js +12 -5
  243. package/modern/context/AnimationProvider/useSkipAnimation.js +1 -1
  244. package/modern/context/ChartProvider/ChartProvider.types.d.ts +6 -6
  245. package/modern/context/PolarProvider/Polar.types.d.ts +3 -2
  246. package/modern/hooks/useAxis.d.ts +2 -2
  247. package/modern/hooks/useAxis.js +1 -1
  248. package/modern/hooks/useSvgRef.js +1 -1
  249. package/modern/index.js +1 -1
  250. package/modern/internals/defaultizeColor.d.ts +23 -23
  251. package/modern/internals/defaultizeMargin.d.ts +3 -0
  252. package/modern/internals/defaultizeMargin.js +15 -0
  253. package/modern/internals/domUtils.js +1 -0
  254. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +1 -1
  255. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +52 -31
  256. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +549 -105
  257. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +19 -18
  258. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +7 -16
  259. package/modern/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +2 -2
  260. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +2 -3
  261. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +3 -3
  262. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +1 -1
  263. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +7 -2
  264. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +13 -15
  265. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +37 -35
  266. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +3 -36
  267. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +37 -9
  268. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -1
  269. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -1
  270. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +216 -0
  271. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.js +6 -0
  272. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +15 -14
  273. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +15 -13
  274. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +70 -0
  275. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +4 -0
  276. package/{esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts → modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts} +1815 -911
  277. package/{esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js} +4 -6
  278. package/modern/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +86 -130
  279. package/modern/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +2 -2
  280. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +188 -71
  281. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +9 -4
  282. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +2 -2
  283. package/modern/internals/plugins/models/plugin.d.ts +1 -1
  284. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +1 -1
  285. package/modern/internals/plugins/utils/ChartStore.d.ts +7 -7
  286. package/modern/internals/plugins/utils/selectors.d.ts +1 -0
  287. package/modern/internals/store/useCharts.js +0 -8
  288. package/modern/internals/store/useSelector.d.ts +1 -1
  289. package/modern/internals/store/useSelector.js +4 -1
  290. package/modern/internals/store/useStore.js +1 -1
  291. package/modern/models/axis.d.ts +56 -10
  292. package/modern/models/colorMapping.d.ts +1 -1
  293. package/modern/models/index.d.ts +0 -1
  294. package/modern/models/index.js +0 -1
  295. package/modern/models/seriesType/bar.d.ts +1 -1
  296. package/modern/models/seriesType/config.d.ts +1 -1
  297. package/modern/models/seriesType/line.d.ts +1 -1
  298. package/modern/models/seriesType/pie.d.ts +1 -1
  299. package/modern/models/seriesType/scatter.d.ts +1 -1
  300. package/modern/models/z-axis.d.ts +1 -1
  301. package/package.json +3 -3
  302. package/tsconfig.build.tsbuildinfo +1 -1
  303. package/esm/internals/calculateMargins.d.ts +0 -7
  304. package/esm/internals/calculateMargins.js +0 -25
  305. package/esm/models/layout.d.ts +0 -18
  306. package/esm/models/layout.js +0 -1
  307. package/internals/calculateMargins.d.ts +0 -7
  308. package/internals/calculateMargins.js +0 -33
  309. package/models/layout.d.ts +0 -18
  310. package/models/layout.js +0 -5
  311. package/modern/internals/calculateMargins.d.ts +0 -7
  312. package/modern/internals/calculateMargins.js +0 -25
  313. package/modern/models/layout.d.ts +0 -18
  314. package/modern/models/layout.js +0 -1
@@ -3,30 +3,31 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectorChartPropsSize = exports.selectorChartHasIntrinsicSize = exports.selectorChartDrawingArea = exports.selectorChartDimensionsState = exports.selectorChartContainerSize = void 0;
6
+ exports.selectorChartPropsSize = exports.selectorChartDrawingArea = exports.selectorChartDimensionsState = exports.selectorChartContainerSize = void 0;
7
7
  var _selectors = require("../../utils/selectors");
8
+ var _useChartAxisSize = require("../../featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors");
8
9
  const selectorChartDimensionsState = state => state.dimensions;
9
10
  exports.selectorChartDimensionsState = selectorChartDimensionsState;
10
- const selectorChartDrawingArea = exports.selectorChartDrawingArea = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => ({
11
- width: dimensionsState.width,
12
- left: dimensionsState.left,
13
- right: dimensionsState.right,
14
- height: dimensionsState.height,
15
- top: dimensionsState.top,
16
- bottom: dimensionsState.bottom
11
+ const selectorChartMargin = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => dimensionsState.margin);
12
+ const selectorChartWidth = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => dimensionsState.width);
13
+ const selectorChartHeight = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => dimensionsState.height);
14
+ const selectorChartTopMargin = (0, _selectors.createSelector)(selectorChartMargin, margin => margin.top);
15
+ const selectorChartRightMargin = (0, _selectors.createSelector)(selectorChartMargin, margin => margin.right);
16
+ const selectorChartBottomMargin = (0, _selectors.createSelector)(selectorChartMargin, margin => margin.bottom);
17
+ const selectorChartLeftMargin = (0, _selectors.createSelector)(selectorChartMargin, margin => margin.left);
18
+ const selectorChartDrawingArea = exports.selectorChartDrawingArea = (0, _selectors.createSelector)(selectorChartWidth, selectorChartHeight, selectorChartTopMargin, selectorChartRightMargin, selectorChartBottomMargin, selectorChartLeftMargin, _useChartAxisSize.selectorChartTopAxisSize, _useChartAxisSize.selectorChartRightAxisSize, _useChartAxisSize.selectorChartBottomAxisSize, _useChartAxisSize.selectorChartLeftAxisSize, (width, height, marginTop, marginRight, marginBottom, marginLeft, axisSizeTop, axisSizeRight, axisSizeBottom, axisSizeLeft) => ({
19
+ width: width - marginLeft - marginRight - axisSizeLeft - axisSizeRight,
20
+ left: marginLeft + axisSizeLeft,
21
+ right: marginRight + axisSizeRight,
22
+ height: height - marginTop - marginBottom - axisSizeTop - axisSizeBottom,
23
+ top: marginTop + axisSizeTop,
24
+ bottom: marginBottom + axisSizeBottom
17
25
  }));
18
26
  const selectorChartPropsSize = exports.selectorChartPropsSize = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => ({
19
27
  width: dimensionsState.propsWidth,
20
28
  height: dimensionsState.propsHeight
21
29
  }));
22
- const selectorChartContainerSize = exports.selectorChartContainerSize = (0, _selectors.createSelector)(selectorChartDimensionsState, dimensionsState => ({
23
- width: dimensionsState.width + dimensionsState.left + dimensionsState.right,
24
- height: dimensionsState.height + dimensionsState.top + dimensionsState.bottom
25
- }));
26
-
27
- /**
28
- * Get the id attribute of the chart.
29
- * @param {ChartState<[UseChartIdSignature]>} state The state of the chart.
30
- * @returns {string} The id attribute of the chart.
31
- */
32
- const selectorChartHasIntrinsicSize = exports.selectorChartHasIntrinsicSize = (0, _selectors.createSelector)(selectorChartContainerSize, svgSize => svgSize.width > 0 && svgSize.height > 0);
30
+ const selectorChartContainerSize = exports.selectorChartContainerSize = (0, _selectors.createSelector)(selectorChartWidth, selectorChartHeight, (width, height) => ({
31
+ width,
32
+ height
33
+ }));
@@ -1,4 +1,5 @@
1
1
  import { ChartPluginSignature } from "../../models/index.js";
2
+ import type { UseChartCartesianAxisSignature } from '../../featurePlugins/useChartCartesianAxis';
2
3
  export interface ChartMargin {
3
4
  /**
4
5
  * The gap between the left border of the SVG and the drawing area.
@@ -29,9 +30,10 @@ export interface UseChartDimensionsParameters {
29
30
  /**
30
31
  * The margin between the SVG and the drawing area.
31
32
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
32
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
33
+ *
34
+ * Accepts a `number` to be used on all sides or an object with the optional properties: `top`, `bottom`, `left`, and `right`.
33
35
  */
34
- margin?: Partial<ChartMargin>;
36
+ margin?: Partial<ChartMargin> | number;
35
37
  }
36
38
  export type UseChartDimensionsDefaultizedParameters = UseChartDimensionsParameters & {
37
39
  margin: ChartMargin;
@@ -39,21 +41,9 @@ export type UseChartDimensionsDefaultizedParameters = UseChartDimensionsParamete
39
41
  export interface UseChartDimensionsState {
40
42
  dimensions: {
41
43
  /**
42
- * The gap between the left border of the SVG and the drawing area.
44
+ * The drawing area's margin.
43
45
  */
44
- left: number;
45
- /**
46
- * The gap between the top border of the SVG and the drawing area.
47
- */
48
- top: number;
49
- /**
50
- * The gap between the bottom border of the SVG and the drawing area.
51
- */
52
- bottom: number;
53
- /**
54
- * The gap between the right border of the SVG and the drawing area.
55
- */
56
- right: number;
46
+ margin: ChartMargin;
57
47
  /**
58
48
  * The width of the drawing area.
59
49
  */
@@ -96,4 +86,5 @@ export type UseChartDimensionsSignature = ChartPluginSignature<{
96
86
  defaultizedParams: UseChartDimensionsDefaultizedParameters;
97
87
  state: UseChartDimensionsState;
98
88
  instance: UseChartDimensionsInstance;
89
+ optionalDependencies: [UseChartCartesianAxisSignature];
99
90
  }>;
@@ -16,8 +16,8 @@ export declare const preprocessSeries: <TSeriesType extends ChartSeriesType>({
16
16
  seriesConfig,
17
17
  dataset
18
18
  }: {
19
- series: AllSeriesType<TSeriesType>[];
19
+ series: Readonly<AllSeriesType<TSeriesType>[]>;
20
20
  colors: string[];
21
21
  seriesConfig: ChartSeriesConfig<TSeriesType>;
22
- dataset?: DatasetType;
22
+ dataset?: Readonly<DatasetType>;
23
23
  }) => { [type in TSeriesType]?: SeriesProcessorResult<TSeriesType> | undefined };
@@ -54,9 +54,8 @@ useChartSeries.params = {
54
54
  const EMPTY_ARRAY = [];
55
55
  useChartSeries.getDefaultizedParams = ({
56
56
  params
57
- }) => (0, _extends2.default)({
58
- series: EMPTY_ARRAY
59
- }, params, {
57
+ }) => (0, _extends2.default)({}, params, {
58
+ series: params.series?.length ? params.series : EMPTY_ARRAY,
60
59
  colors: params.colors ?? _colorPalettes.rainbowSurgePalette,
61
60
  theme: params.theme ?? 'light'
62
61
  });
@@ -7,13 +7,13 @@ export interface UseChartSeriesParameters<T extends ChartSeriesType = ChartSerie
7
7
  /**
8
8
  * An array of objects that can be used to populate series and axes data using their `dataKey` property.
9
9
  */
10
- dataset?: DatasetType;
10
+ dataset?: Readonly<DatasetType>;
11
11
  /**
12
12
  * The array of series to display.
13
13
  * Each type of series has its own specificity.
14
14
  * Please refer to the appropriate docs page to learn more about it.
15
15
  */
16
- series?: AllSeriesType<T>[];
16
+ series?: Readonly<AllSeriesType<T>[]>;
17
17
  /**
18
18
  * Color palette used to colorize multiple series.
19
19
  * @default rainbowSurgePalette
@@ -27,7 +27,7 @@ export type UseChartSeriesDefaultizedParameters<T extends ChartSeriesType = Char
27
27
  * Each type of series has its own specificity.
28
28
  * Please refer to the appropriate docs page to learn more about it.
29
29
  */
30
- series: AllSeriesType<T>[];
30
+ series: Readonly<AllSeriesType<T>[]>;
31
31
  /**
32
32
  * Color palette used to colorize multiple series.
33
33
  * @default rainbowSurgePalette
@@ -25,5 +25,5 @@ export declare function computeAxisValue<T extends ChartSeriesType>(options: Com
25
25
  export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
26
26
  axis?: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
27
27
  axisDirection: 'x';
28
- }): ComputeResult<ChartsAxisProps>;
28
+ }): ComputeResult<ChartsXAxisProps>;
29
29
  export {};
@@ -61,6 +61,7 @@ function computeAxisValue({
61
61
  const scaleRange = axisDirection === 'y' ? [range[1], range[0]] : range;
62
62
  const zoomedRange = (0, _zoom.zoomScaleRange)(scaleRange, zoomRange);
63
63
  completeAxis[axis.id] = (0, _extends2.default)({
64
+ offset: 0,
64
65
  categoryGapRatio,
65
66
  barGapRatio
66
67
  }, axis, {
@@ -79,7 +80,9 @@ function computeAxisValue({
79
80
  if ((0, _axis.isPointScaleConfig)(axis)) {
80
81
  const scaleRange = axisDirection === 'y' ? [...range].reverse() : range;
81
82
  const zoomedRange = (0, _zoom.zoomScaleRange)(scaleRange, zoomRange);
82
- completeAxis[axis.id] = (0, _extends2.default)({}, axis, {
83
+ completeAxis[axis.id] = (0, _extends2.default)({
84
+ offset: 0
85
+ }, axis, {
83
86
  data,
84
87
  scale: (0, _d3Scale.scalePoint)(axis.data, zoomedRange),
85
88
  tickNumber: axis.data.length,
@@ -117,7 +120,9 @@ function computeAxisValue({
117
120
  const finalScale = domainLimit === 'nice' ? scale.nice(rawTickNumber) : scale;
118
121
  const [minDomain, maxDomain] = finalScale.domain();
119
122
  const domain = [axis.min ?? minDomain, axis.max ?? maxDomain];
120
- completeAxis[axis.id] = (0, _extends2.default)({}, axis, {
123
+ completeAxis[axis.id] = (0, _extends2.default)({
124
+ offset: 0
125
+ }, axis, {
121
126
  data,
122
127
  scaleType: scaleType,
123
128
  scale: finalScale.domain(domain),
@@ -1,24 +1,22 @@
1
- import type { ChartsAxisProps } from '../../../../ChartsAxis';
2
- import { AxisId } from "../../../../models/axis.js";
1
+ import { AxisId, ChartsXAxisProps, ChartsYAxisProps, ScaleName } from "../../../../models/axis.js";
3
2
  import { CartesianChartSeriesType } from "../../../../models/seriesType/config.js";
4
3
  import { ProcessedSeries } from "../../corePlugins/useChartSeries/index.js";
5
- import { AxisConfig, ScaleName } from "../../../../models/index.js";
4
+ import { AxisConfig } from "../../../../models/index.js";
6
5
  import { ChartSeriesConfig } from "../../models/seriesConfig/index.js";
7
6
  import { DefaultizedZoomOptions, ExtremumFilter } from "./useChartCartesianAxis.types.js";
8
7
  import { GetZoomAxisFilters, ZoomAxisFilters, ZoomData } from "./zoom.types.js";
9
- type CreateAxisFilterMapperParams = {
8
+ export declare function createAxisFilterMapper(params: {
10
9
  zoomMap: Map<AxisId, ZoomData>;
11
10
  zoomOptions: Record<AxisId, DefaultizedZoomOptions>;
12
11
  seriesConfig: ChartSeriesConfig<CartesianChartSeriesType>;
13
12
  formattedSeries: ProcessedSeries;
14
- direction: 'x' | 'y';
15
- };
16
- export declare const createAxisFilterMapper: ({
17
- zoomMap,
18
- zoomOptions,
19
- seriesConfig,
20
- formattedSeries,
21
- direction
22
- }: CreateAxisFilterMapperParams) => (axis: AxisConfig<ScaleName, any, ChartsAxisProps>, axisIndex: number) => ExtremumFilter | null;
23
- export declare const createGetAxisFilters: (filters: ZoomAxisFilters) => GetZoomAxisFilters;
24
- export {};
13
+ direction: 'x';
14
+ }): (axis: AxisConfig<ScaleName, any, ChartsXAxisProps>, axisIndex: number) => ExtremumFilter | null;
15
+ export declare function createAxisFilterMapper(params: {
16
+ zoomMap: Map<AxisId, ZoomData>;
17
+ zoomOptions: Record<AxisId, DefaultizedZoomOptions>;
18
+ seriesConfig: ChartSeriesConfig<CartesianChartSeriesType>;
19
+ formattedSeries: ProcessedSeries;
20
+ direction: 'y';
21
+ }): (axis: AxisConfig<ScaleName, any, ChartsYAxisProps>, axisIndex: number) => ExtremumFilter | null;
22
+ export declare const createGetAxisFilters: (filters: ZoomAxisFilters) => GetZoomAxisFilters;
@@ -3,54 +3,56 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createGetAxisFilters = exports.createAxisFilterMapper = void 0;
6
+ exports.createAxisFilterMapper = createAxisFilterMapper;
7
+ exports.createGetAxisFilters = void 0;
7
8
  var _isDefined = require("../../../isDefined");
8
9
  var _getAxisExtremum = require("./getAxisExtremum");
9
10
  var _getScale = require("../../../getScale");
10
- const createAxisFilterMapper = ({
11
+ function createAxisFilterMapper({
11
12
  zoomMap,
12
13
  zoomOptions,
13
14
  seriesConfig,
14
15
  formattedSeries,
15
16
  direction
16
- }) => (axis, axisIndex) => {
17
- const zoomOption = zoomOptions[axis.id];
18
- if (!zoomOption || zoomOption.filterMode !== 'discard') {
19
- return null;
20
- }
21
- const zoom = zoomMap?.get(axis.id);
22
- if (zoom === undefined || zoom.start <= 0 && zoom.end >= 100) {
23
- // No zoom, or zoom with all data visible
24
- return null;
25
- }
26
- let extremums = [];
27
- const scaleType = axis.scaleType;
28
- if (scaleType === 'point' || scaleType === 'band') {
29
- extremums = [0, (axis.data?.length ?? 1) - 1];
30
- } else {
31
- extremums = (0, _getAxisExtremum.getAxisExtremum)(axis, direction, seriesConfig, axisIndex, formattedSeries);
32
- }
33
- let min;
34
- let max;
35
- const continuousScaleType = !scaleType || scaleType === 'band' || scaleType === 'point' ? 'linear' : scaleType;
36
- [min, max] = (0, _getScale.getScale)(continuousScaleType, extremums, [0, 100]).nice().domain();
37
- min = min instanceof Date ? min.getTime() : min;
38
- max = max instanceof Date ? max.getTime() : max;
39
- const minVal = min + zoom.start * (max - min) / 100;
40
- const maxVal = min + zoom.end * (max - min) / 100;
41
- return (value, dataIndex) => {
42
- const val = value[direction] ?? axis.data?.[dataIndex];
43
- if (val == null) {
44
- // If the value does not exist because of missing data point, or out of range index, we just ignore.
45
- return true;
17
+ }) {
18
+ return (axis, axisIndex) => {
19
+ const zoomOption = zoomOptions[axis.id];
20
+ if (!zoomOption || zoomOption.filterMode !== 'discard') {
21
+ return null;
22
+ }
23
+ const zoom = zoomMap?.get(axis.id);
24
+ if (zoom === undefined || zoom.start <= 0 && zoom.end >= 100) {
25
+ // No zoom, or zoom with all data visible
26
+ return null;
46
27
  }
47
- if (axis.scaleType === 'point' || axis.scaleType === 'band' || typeof val === 'string') {
48
- return dataIndex >= minVal && dataIndex <= maxVal;
28
+ let extremums = [];
29
+ const scaleType = axis.scaleType;
30
+ if (scaleType === 'point' || scaleType === 'band') {
31
+ extremums = [0, (axis.data?.length ?? 1) - 1];
32
+ } else {
33
+ extremums = (0, _getAxisExtremum.getAxisExtremum)(axis, direction, seriesConfig, axisIndex, formattedSeries);
49
34
  }
50
- return val >= minVal && val <= maxVal;
35
+ let min;
36
+ let max;
37
+ const continuousScaleType = !scaleType || scaleType === 'band' || scaleType === 'point' ? 'linear' : scaleType;
38
+ [min, max] = (0, _getScale.getScale)(continuousScaleType, extremums, [0, 100]).nice().domain();
39
+ min = min instanceof Date ? min.getTime() : min;
40
+ max = max instanceof Date ? max.getTime() : max;
41
+ const minVal = min + zoom.start * (max - min) / 100;
42
+ const maxVal = min + zoom.end * (max - min) / 100;
43
+ return (value, dataIndex) => {
44
+ const val = value[direction] ?? axis.data?.[dataIndex];
45
+ if (val == null) {
46
+ // If the value does not exist because of missing data point, or out of range index, we just ignore.
47
+ return true;
48
+ }
49
+ if (axis.scaleType === 'point' || axis.scaleType === 'band' || typeof val === 'string') {
50
+ return dataIndex >= minVal && dataIndex <= maxVal;
51
+ }
52
+ return val >= minVal && val <= maxVal;
53
+ };
51
54
  };
52
- };
53
- exports.createAxisFilterMapper = createAxisFilterMapper;
55
+ }
54
56
  const createGetAxisFilters = filters => ({
55
57
  currentAxisId,
56
58
  seriesXAxisId,
@@ -1,39 +1,6 @@
1
1
  import { MakeOptional } from '@mui/x-internals/types';
2
2
  import { AxisConfig, ScaleName } from "../../../../models/index.js";
3
- import { ChartsAxisProps } from "../../../../models/axis.js";
3
+ import { ChartsXAxisProps, ChartsYAxisProps } from "../../../../models/axis.js";
4
4
  import { DatasetType } from "../../../../models/seriesType/config.js";
5
- export declare function defaultizeAxis(inAxis: MakeOptional<AxisConfig<ScaleName, any, ChartsAxisProps>, 'id'>[] | undefined, dataset: DatasetType | undefined, axisName: 'x' | 'y'): {
6
- label?: string | undefined;
7
- reverse?: boolean | undefined;
8
- fill?: string | undefined;
9
- data?: any[] | undefined;
10
- slots?: Partial<import("../../..").ChartsAxisSlots> | undefined;
11
- slotProps?: Partial<import("../../..").ChartsAxisSlotProps> | undefined;
12
- classes?: Partial<import("../../../..").ChartsAxisClasses> | undefined;
13
- stroke?: string | undefined;
14
- sx?: import("@mui/system").SxProps | undefined;
15
- valueFormatter?: (<TScaleName extends keyof import("../../..").AxisScaleConfig>(value: any, context: import("../../..").AxisValueFormatterContext<TScaleName>) => string) | undefined;
16
- dataKey?: string | undefined;
17
- min?: (number | Date) | undefined;
18
- max?: (number | Date) | undefined;
19
- tickMaxStep?: number | undefined;
20
- tickMinStep?: number | undefined;
21
- tickNumber?: number | undefined;
22
- disableLine?: boolean | undefined;
23
- disableTicks?: boolean | undefined;
24
- tickLabelStyle?: import("../../../getWordsByLines").ChartsTextStyle | undefined;
25
- labelStyle?: import("../../../getWordsByLines").ChartsTextStyle | undefined;
26
- tickLabelInterval?: "auto" | ((value: any, index: number) => boolean) | undefined;
27
- tickSize?: number | undefined;
28
- tickInterval?: "auto" | ((value: any, index: number) => boolean) | any[] | undefined;
29
- tickPlacement?: "start" | "end" | "middle" | "extremities" | undefined;
30
- tickLabelPlacement?: "middle" | "tick" | undefined;
31
- scaleType?: "time" | "linear" | "band" | "point" | "log" | "pow" | "sqrt" | "utc" | undefined;
32
- colorMap?: import("../../../../models/colorMapping").ContinuousColorConfig<number | Date> | import("../../../../models/colorMapping").PiecewiseColorConfig<number | Date> | import("../../../../models/colorMapping").OrdinalColorConfig<string | number | Date> | undefined;
33
- hideTooltip?: boolean | undefined;
34
- domainLimit?: "nice" | "strict" | ((min: number, max: number) => {
35
- min: number;
36
- max: number;
37
- }) | undefined;
38
- id: import("../../..").AxisId;
39
- }[];
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>[];
@@ -9,23 +9,51 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _constants = require("../../../../constants");
10
10
  function defaultizeAxis(inAxis, dataset, axisName) {
11
11
  const DEFAULT_AXIS_KEY = axisName === 'x' ? _constants.DEFAULT_X_AXIS_KEY : _constants.DEFAULT_Y_AXIS_KEY;
12
- return [...(inAxis?.map((axis, index) => (0, _extends2.default)({
13
- id: `defaultized-${axisName}-axis-${index}`
14
- }, axis)) ?? []), ...(inAxis === undefined || inAxis.findIndex(({
15
- id
16
- }) => id === DEFAULT_AXIS_KEY) === -1 ? [{
12
+ const offsets = {
13
+ top: 0,
14
+ right: 0,
15
+ bottom: 0,
16
+ left: 0,
17
+ none: 0
18
+ };
19
+ const inputAxes = inAxis && inAxis.length > 0 ? inAxis : [{
17
20
  id: DEFAULT_AXIS_KEY,
18
21
  scaleType: 'linear'
19
- }] : [])].map(axisConfig => {
22
+ }];
23
+ const parsedAxes = inputAxes.map((axisConfig, index) => {
20
24
  const dataKey = axisConfig.dataKey;
25
+ const defaultPosition = axisName === 'x' ? 'bottom' : 'left';
26
+ const position = axisConfig.position ?? 'none';
27
+ const dimension = axisName === 'x' ? 'height' : 'width';
28
+ const height = axisName === 'x' ? _constants.DEFAULT_AXIS_SIZE_HEIGHT : 0;
29
+ const width = axisName === 'y' ? _constants.DEFAULT_AXIS_SIZE_WIDTH : 0;
30
+ const sharedConfig = (0, _extends2.default)({
31
+ id: `defaultized-${axisName}-axis-${index}`
32
+ }, index === 0 ? {
33
+ position: defaultPosition
34
+ } : {}, {
35
+ height,
36
+ width,
37
+ offset: offsets[position]
38
+ }, axisConfig);
39
+
40
+ // Increment the offset for the next axis
41
+ if (position !== 'none') {
42
+ offsets[position] += axisConfig[dimension] ?? (dimension === 'height' ? height : width);
43
+ }
44
+
45
+ // If `dataKey` is NOT provided
21
46
  if (dataKey === undefined || axisConfig.data !== undefined) {
22
- return axisConfig;
47
+ return sharedConfig;
23
48
  }
24
49
  if (dataset === undefined) {
25
50
  throw new Error(`MUI X: ${axisName}-axis uses \`dataKey\` but no \`dataset\` is provided.`);
26
51
  }
27
- return (0, _extends2.default)({}, axisConfig, {
52
+
53
+ // If `dataKey` is provided
54
+ return (0, _extends2.default)({}, sharedConfig, {
28
55
  data: dataset.map(d => d[dataKey])
29
56
  });
30
57
  });
58
+ return parsedAxes;
31
59
  }
@@ -1,6 +1,6 @@
1
1
  export { useChartCartesianAxis } from "./useChartCartesianAxis.js";
2
2
  export type * from './useChartCartesianAxis.types';
3
- export * from "./useChartCartesianAxis.selectors.js";
3
+ export * from "./useChartCartesianAxisRendering.selectors.js";
4
4
  export { defaultizeAxis } from "./defaultizeAxis.js";
5
5
  export * from "./computeAxisValue.js";
6
6
  export * from "./createZoomLookup.js";
@@ -20,15 +20,15 @@ Object.defineProperty(exports, "useChartCartesianAxis", {
20
20
  }
21
21
  });
22
22
  var _useChartCartesianAxis = require("./useChartCartesianAxis");
23
- var _useChartCartesianAxis2 = require("./useChartCartesianAxis.selectors");
24
- Object.keys(_useChartCartesianAxis2).forEach(function (key) {
23
+ var _useChartCartesianAxisRendering = require("./useChartCartesianAxisRendering.selectors");
24
+ Object.keys(_useChartCartesianAxisRendering).forEach(function (key) {
25
25
  if (key === "default" || key === "__esModule") return;
26
26
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
- if (key in exports && exports[key] === _useChartCartesianAxis2[key]) return;
27
+ if (key in exports && exports[key] === _useChartCartesianAxisRendering[key]) return;
28
28
  Object.defineProperty(exports, key, {
29
29
  enumerable: true,
30
30
  get: function () {
31
- return _useChartCartesianAxis2[key];
31
+ return _useChartCartesianAxisRendering[key];
32
32
  }
33
33
  });
34
34
  });