@mui/x-charts 9.0.0-alpha.4 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/BarChart/BarChart.js +19 -28
  2. package/BarChart/BarChart.mjs +19 -28
  3. package/BarChart/BarElement.js +3 -5
  4. package/BarChart/BarElement.mjs +3 -5
  5. package/BarChart/BarLabel/BarLabelPlot.d.mts +0 -2
  6. package/BarChart/BarLabel/BarLabelPlot.d.ts +0 -2
  7. package/BarChart/BarLabel/BarLabelPlot.js +2 -3
  8. package/BarChart/BarLabel/BarLabelPlot.mjs +2 -3
  9. package/BarChart/BarPlot.d.mts +2 -12
  10. package/BarChart/BarPlot.d.ts +2 -12
  11. package/BarChart/BarPlot.js +4 -18
  12. package/BarChart/BarPlot.mjs +4 -18
  13. package/BarChart/BatchBarPlot/BatchBarPlot.js +0 -27
  14. package/BarChart/BatchBarPlot/BatchBarPlot.mjs +0 -27
  15. package/BarChart/IndividualBarPlot.d.mts +1 -2
  16. package/BarChart/IndividualBarPlot.d.ts +1 -2
  17. package/BarChart/IndividualBarPlot.js +5 -10
  18. package/BarChart/IndividualBarPlot.mjs +5 -10
  19. package/BarChart/seriesConfig/bar/descriptionGetter.d.mts +3 -0
  20. package/BarChart/seriesConfig/bar/descriptionGetter.d.ts +3 -0
  21. package/BarChart/seriesConfig/bar/descriptionGetter.js +36 -0
  22. package/BarChart/seriesConfig/bar/descriptionGetter.mjs +30 -0
  23. package/BarChart/seriesConfig/index.js +5 -1
  24. package/BarChart/seriesConfig/index.mjs +5 -1
  25. package/BarChart/useBarChartProps.js +2 -4
  26. package/BarChart/useBarChartProps.mjs +2 -4
  27. package/CHANGELOG.md +107 -1
  28. package/ChartsContainer/ChartsContainer.js +29 -29
  29. package/ChartsContainer/ChartsContainer.mjs +29 -29
  30. package/ChartsLayerContainer/ChartsLayerContainer.js +6 -2
  31. package/ChartsLayerContainer/ChartsLayerContainer.mjs +7 -2
  32. package/ChartsSvgLayer/ChartsSvgLayer.js +2 -2
  33. package/ChartsSvgLayer/ChartsSvgLayer.mjs +2 -2
  34. package/ChartsXAxis/ChartsGroupedXAxisTicks.js +12 -3
  35. package/ChartsXAxis/ChartsGroupedXAxisTicks.mjs +12 -3
  36. package/ChartsXAxis/useAxisTicksProps.d.mts +89 -89
  37. package/ChartsXAxis/useAxisTicksProps.d.ts +89 -89
  38. package/ChartsYAxis/ChartsGroupedYAxisTicks.js +12 -3
  39. package/ChartsYAxis/ChartsGroupedYAxisTicks.mjs +12 -3
  40. package/ChartsYAxis/useAxisTicksProps.d.mts +89 -89
  41. package/ChartsYAxis/useAxisTicksProps.d.ts +89 -89
  42. package/Gauge/Gauge.js +0 -4
  43. package/Gauge/Gauge.mjs +0 -4
  44. package/Gauge/GaugeContainer.d.mts +1 -1
  45. package/Gauge/GaugeContainer.d.ts +1 -1
  46. package/Gauge/GaugeContainer.js +0 -4
  47. package/Gauge/GaugeContainer.mjs +0 -4
  48. package/LineChart/AreaElement.js +5 -1
  49. package/LineChart/AreaElement.mjs +5 -1
  50. package/LineChart/CircleMarkElement.js +8 -5
  51. package/LineChart/CircleMarkElement.mjs +8 -5
  52. package/LineChart/LineChart.js +21 -19
  53. package/LineChart/LineChart.mjs +21 -19
  54. package/LineChart/LineElement.js +5 -1
  55. package/LineChart/LineElement.mjs +5 -1
  56. package/LineChart/MarkElement.js +7 -4
  57. package/LineChart/MarkElement.mjs +7 -4
  58. package/LineChart/seriesConfig/curveEvaluation.d.mts +11 -0
  59. package/LineChart/seriesConfig/curveEvaluation.d.ts +11 -0
  60. package/LineChart/seriesConfig/curveEvaluation.js +134 -0
  61. package/LineChart/seriesConfig/curveEvaluation.mjs +129 -0
  62. package/LineChart/seriesConfig/descriptionGetter.d.mts +3 -0
  63. package/LineChart/seriesConfig/descriptionGetter.d.ts +3 -0
  64. package/LineChart/seriesConfig/descriptionGetter.js +37 -0
  65. package/LineChart/seriesConfig/descriptionGetter.mjs +31 -0
  66. package/LineChart/seriesConfig/getItemAtPosition.d.mts +7 -0
  67. package/LineChart/seriesConfig/getItemAtPosition.d.ts +7 -0
  68. package/LineChart/seriesConfig/getItemAtPosition.js +356 -0
  69. package/LineChart/seriesConfig/getItemAtPosition.mjs +351 -0
  70. package/LineChart/seriesConfig/index.js +4 -0
  71. package/LineChart/seriesConfig/index.mjs +4 -0
  72. package/PieChart/PieArc.js +2 -3
  73. package/PieChart/PieArc.mjs +2 -3
  74. package/PieChart/seriesConfig/descriptionGetter.d.mts +3 -0
  75. package/PieChart/seriesConfig/descriptionGetter.d.ts +3 -0
  76. package/PieChart/seriesConfig/descriptionGetter.js +26 -0
  77. package/PieChart/seriesConfig/descriptionGetter.mjs +20 -0
  78. package/PieChart/seriesConfig/index.js +2 -0
  79. package/PieChart/seriesConfig/index.mjs +2 -0
  80. package/RadarChart/seriesConfig/descriptionGetter.d.mts +3 -0
  81. package/RadarChart/seriesConfig/descriptionGetter.d.ts +3 -0
  82. package/RadarChart/seriesConfig/descriptionGetter.js +37 -0
  83. package/RadarChart/seriesConfig/descriptionGetter.mjs +31 -0
  84. package/RadarChart/seriesConfig/index.js +2 -0
  85. package/RadarChart/seriesConfig/index.mjs +2 -0
  86. package/ScatterChart/ScatterChart.js +18 -18
  87. package/ScatterChart/ScatterChart.mjs +18 -18
  88. package/ScatterChart/seriesConfig/descriptionGetter.d.mts +3 -0
  89. package/ScatterChart/seriesConfig/descriptionGetter.d.ts +3 -0
  90. package/ScatterChart/seriesConfig/descriptionGetter.js +34 -0
  91. package/ScatterChart/seriesConfig/descriptionGetter.mjs +28 -0
  92. package/ScatterChart/seriesConfig/index.js +2 -0
  93. package/ScatterChart/seriesConfig/index.mjs +2 -0
  94. package/SparkLineChart/SparkLineChart.js +21 -19
  95. package/SparkLineChart/SparkLineChart.mjs +21 -19
  96. package/constants/index.js +0 -2
  97. package/constants/index.mjs +0 -2
  98. package/hooks/useInteractionItemProps.d.mts +1 -1
  99. package/hooks/useInteractionItemProps.d.ts +1 -1
  100. package/hooks/useInteractionItemProps.js +3 -3
  101. package/hooks/useInteractionItemProps.mjs +3 -3
  102. package/index.js +1 -1
  103. package/index.mjs +1 -1
  104. package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.d.mts +5 -0
  105. package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.d.ts +5 -0
  106. package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.js +100 -0
  107. package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.mjs +96 -0
  108. package/internals/components/ChartsAccessibilityProxy/index.d.mts +1 -0
  109. package/internals/components/ChartsAccessibilityProxy/index.d.ts +1 -0
  110. package/internals/components/ChartsAccessibilityProxy/index.js +16 -0
  111. package/internals/components/ChartsAccessibilityProxy/index.mjs +1 -0
  112. package/internals/components/ChartsAccessibilityProxy/useDescription.d.mts +5 -0
  113. package/internals/components/ChartsAccessibilityProxy/useDescription.d.ts +5 -0
  114. package/internals/components/ChartsAccessibilityProxy/useDescription.js +71 -0
  115. package/internals/components/ChartsAccessibilityProxy/useDescription.mjs +66 -0
  116. package/internals/getChartPoint.js +18 -1
  117. package/internals/getChartPoint.mjs +18 -1
  118. package/internals/plugins/corePlugins/corePlugins.d.mts +2 -2
  119. package/internals/plugins/corePlugins/corePlugins.d.ts +2 -2
  120. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.mts +2 -1
  121. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.ts +2 -1
  122. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.mts +2 -1
  123. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.ts +2 -1
  124. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.mts +22 -7
  125. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.ts +22 -7
  126. package/internals/plugins/corePlugins/useChartSeries/index.d.mts +2 -1
  127. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +2 -1
  128. package/internals/plugins/corePlugins/useChartSeries/index.js +12 -0
  129. package/internals/plugins/corePlugins/useChartSeries/index.mjs +2 -1
  130. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.mts +1 -8
  131. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +1 -8
  132. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +1 -11
  133. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.mjs +1 -11
  134. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.d.mts +8 -0
  135. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.d.ts +8 -0
  136. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.js +19 -0
  137. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.mjs +14 -0
  138. package/internals/plugins/corePlugins/useChartSeriesConfig/types/descriptionGetter.types.d.mts +5 -0
  139. package/internals/plugins/corePlugins/useChartSeriesConfig/types/descriptionGetter.types.d.ts +5 -0
  140. package/internals/plugins/corePlugins/useChartSeriesConfig/types/descriptionGetter.types.js +5 -0
  141. package/internals/plugins/corePlugins/useChartSeriesConfig/types/descriptionGetter.types.mjs +1 -0
  142. package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.d.mts +1 -0
  143. package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.d.ts +1 -0
  144. package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.js +11 -0
  145. package/internals/plugins/corePlugins/useChartSeriesConfig/types/index.mjs +1 -0
  146. package/internals/plugins/corePlugins/useChartSeriesConfig/types/seriesConfig.types.d.mts +2 -0
  147. package/internals/plugins/corePlugins/useChartSeriesConfig/types/seriesConfig.types.d.ts +2 -0
  148. package/internals/plugins/featurePlugins/shared/useRegisterPointerInteractions.d.mts +4 -10
  149. package/internals/plugins/featurePlugins/shared/useRegisterPointerInteractions.d.ts +4 -10
  150. package/internals/plugins/featurePlugins/shared/useRegisterPointerInteractions.js +28 -19
  151. package/internals/plugins/featurePlugins/shared/useRegisterPointerInteractions.mjs +28 -18
  152. package/internals/plugins/featurePlugins/useChartCartesianAxis/autoSizeConstants.d.mts +5 -0
  153. package/internals/plugins/featurePlugins/useChartCartesianAxis/autoSizeConstants.d.ts +5 -0
  154. package/internals/plugins/featurePlugins/useChartCartesianAxis/autoSizeConstants.js +11 -0
  155. package/internals/plugins/featurePlugins/useChartCartesianAxis/autoSizeConstants.mjs +5 -0
  156. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisAutoSize.d.mts +33 -0
  157. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisAutoSize.d.ts +33 -0
  158. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisAutoSize.js +318 -0
  159. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisAutoSize.mjs +311 -0
  160. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.mts +5 -1
  161. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +5 -1
  162. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +63 -8
  163. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.mjs +62 -8
  164. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js +12 -4
  165. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.mjs +12 -4
  166. package/internals/plugins/featurePlugins/useChartCartesianAxis/domain.d.mts +12 -2
  167. package/internals/plugins/featurePlugins/useChartCartesianAxis/domain.d.ts +12 -2
  168. package/internals/plugins/featurePlugins/useChartCartesianAxis/domain.js +28 -0
  169. package/internals/plugins/featurePlugins/useChartCartesianAxis/domain.mjs +27 -0
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.mts +3 -1
  171. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +3 -1
  172. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +22 -2
  173. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.mjs +3 -1
  174. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.d.mts +30 -0
  175. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.d.ts +30 -0
  176. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.js +96 -0
  177. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.mjs +91 -0
  178. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.d.mts +16 -0
  179. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.d.ts +16 -0
  180. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.js +36 -0
  181. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.mjs +31 -0
  182. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.d.mts +15 -0
  183. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.d.ts +15 -0
  184. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.js +45 -0
  185. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.mjs +39 -0
  186. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.mts +11 -0
  187. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +11 -0
  188. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.js +53 -11
  189. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.mjs +52 -11
  190. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.mts +4 -9
  191. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +4 -9
  192. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +16 -40
  193. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.mjs +19 -43
  194. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianTooltip.selectors.js +20 -2
  195. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianTooltip.selectors.mjs +20 -2
  196. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.js +36 -30
  197. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.mjs +36 -30
  198. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.d.mts +8 -0
  199. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.d.ts +8 -0
  200. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.js +9 -2
  201. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.mjs +9 -2
  202. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.types.d.mts +6 -0
  203. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.types.d.ts +6 -0
  204. package/internals/store/useCharts.d.mts +1 -1
  205. package/internals/store/useCharts.d.ts +1 -1
  206. package/locales/elGR.d.mts +76 -0
  207. package/locales/elGR.d.ts +76 -0
  208. package/locales/elGR.js +89 -0
  209. package/locales/elGR.mjs +89 -0
  210. package/locales/enUS.d.mts +76 -0
  211. package/locales/enUS.d.ts +76 -0
  212. package/locales/enUS.js +89 -1
  213. package/locales/enUS.mjs +89 -1
  214. package/locales/frFR.d.mts +76 -0
  215. package/locales/frFR.d.ts +76 -0
  216. package/locales/frFR.js +89 -0
  217. package/locales/frFR.mjs +89 -0
  218. package/locales/nbNO.d.mts +76 -0
  219. package/locales/nbNO.d.ts +76 -0
  220. package/locales/nbNO.js +89 -0
  221. package/locales/nbNO.mjs +89 -0
  222. package/locales/ptBR.d.mts +76 -0
  223. package/locales/ptBR.d.ts +76 -0
  224. package/locales/ptBR.js +89 -0
  225. package/locales/ptBR.mjs +89 -0
  226. package/locales/ptPT.d.mts +76 -0
  227. package/locales/ptPT.d.ts +76 -0
  228. package/locales/ptPT.js +89 -0
  229. package/locales/ptPT.mjs +89 -0
  230. package/locales/svSE.d.mts +76 -0
  231. package/locales/svSE.d.ts +76 -0
  232. package/locales/svSE.js +89 -0
  233. package/locales/svSE.mjs +89 -0
  234. package/locales/utils/chartsLocaleTextApi.d.mts +189 -0
  235. package/locales/utils/chartsLocaleTextApi.d.ts +189 -0
  236. package/locales/utils/getChartsLocalization.d.mts +76 -0
  237. package/locales/utils/getChartsLocalization.d.ts +76 -0
  238. package/models/axis.d.mts +11 -5
  239. package/models/axis.d.ts +11 -5
  240. package/models/seriesType/config.d.mts +29 -0
  241. package/models/seriesType/config.d.ts +29 -0
  242. package/package.json +85 -85
@@ -1,29 +1,70 @@
1
1
  import { createSelector, createSelectorMemoized } from '@mui/x-internals/store';
2
2
  import { selectorChartCartesianAxesGap, selectorChartRawXAxis, selectorChartRawYAxis } from "./useChartCartesianAxisLayout.selectors.mjs";
3
- function selectAxisSize(axes, axesGap, position) {
3
+ import { selectorChartXAxisAutoSizes, selectorChartYAxisAutoSizes } from "./useChartAxisAutoSize.selectors.mjs";
4
+ import { DEFAULT_AXIS_SIZE_HEIGHT, DEFAULT_AXIS_SIZE_WIDTH, AXIS_LABEL_DEFAULT_HEIGHT } from "../../../../constants/index.mjs";
5
+
6
+ /**
7
+ * Returns the default fallback height for an X axis when auto-sizing is not available.
8
+ * This function ensures consistent fallback values between axis size calculation and rendering.
9
+ */
10
+ export function getDefaultXAxisHeight(axis) {
11
+ return DEFAULT_AXIS_SIZE_HEIGHT + (axis.label ? AXIS_LABEL_DEFAULT_HEIGHT : 0);
12
+ }
13
+
14
+ /**
15
+ * Returns the default fallback width for a Y axis when auto-sizing is not available.
16
+ * This function ensures consistent fallback values between axis size calculation and rendering.
17
+ */
18
+ export function getDefaultYAxisWidth(axis) {
19
+ return DEFAULT_AXIS_SIZE_WIDTH + (axis.label ? AXIS_LABEL_DEFAULT_HEIGHT : 0);
20
+ }
21
+ function selectXAxisSize(axes, axesGap, position, autoSizes) {
22
+ let axesSize = 0;
23
+ let nbOfAxes = 0;
24
+ for (const axis of axes ?? []) {
25
+ if (axis.position !== position) {
26
+ continue;
27
+ }
28
+ let axisSize;
29
+ if (axis.height === 'auto') {
30
+ axisSize = autoSizes[axis.id] ?? getDefaultXAxisHeight(axis);
31
+ } else {
32
+ axisSize = axis.height ?? 0;
33
+ }
34
+ axesSize += axisSize + (axis.zoom?.slider.enabled ? axis.zoom.slider.size : 0);
35
+ nbOfAxes += 1;
36
+ }
37
+ return axesSize + axesGap * Math.max(0, nbOfAxes - 1);
38
+ }
39
+ function selectYAxisSize(axes, axesGap, position, autoSizes) {
4
40
  let axesSize = 0;
5
41
  let nbOfAxes = 0;
6
42
  for (const axis of axes ?? []) {
7
43
  if (axis.position !== position) {
8
44
  continue;
9
45
  }
10
- const axisSize = position === 'top' || position === 'bottom' ? axis.height : axis.width;
11
- axesSize += (axisSize || 0) + (axis.zoom?.slider.enabled ? axis.zoom.slider.size : 0);
46
+ let axisSize;
47
+ if (axis.width === 'auto') {
48
+ axisSize = autoSizes[axis.id] ?? getDefaultYAxisWidth(axis);
49
+ } else {
50
+ axisSize = axis.width ?? 0;
51
+ }
52
+ axesSize += axisSize + (axis.zoom?.slider.enabled ? axis.zoom.slider.size : 0);
12
53
  nbOfAxes += 1;
13
54
  }
14
55
  return axesSize + axesGap * Math.max(0, nbOfAxes - 1);
15
56
  }
16
- export const selectorChartLeftAxisSize = createSelector(selectorChartRawYAxis, selectorChartCartesianAxesGap, function selectorChartLeftAxisSize(yAxis, axesGap) {
17
- return selectAxisSize(yAxis, axesGap, 'left');
57
+ export const selectorChartLeftAxisSize = createSelector(selectorChartRawYAxis, selectorChartCartesianAxesGap, selectorChartYAxisAutoSizes, function selectorChartLeftAxisSize(yAxis, axesGap, autoSizes) {
58
+ return selectYAxisSize(yAxis, axesGap, 'left', autoSizes);
18
59
  });
19
- export const selectorChartRightAxisSize = createSelector(selectorChartRawYAxis, selectorChartCartesianAxesGap, function selectorChartRightAxisSize(yAxis, axesGap) {
20
- return selectAxisSize(yAxis, axesGap, 'right');
60
+ export const selectorChartRightAxisSize = createSelector(selectorChartRawYAxis, selectorChartCartesianAxesGap, selectorChartYAxisAutoSizes, function selectorChartRightAxisSize(yAxis, axesGap, autoSizes) {
61
+ return selectYAxisSize(yAxis, axesGap, 'right', autoSizes);
21
62
  });
22
- export const selectorChartTopAxisSize = createSelector(selectorChartRawXAxis, selectorChartCartesianAxesGap, function selectorChartTopAxisSize(xAxis, axesGap) {
23
- return selectAxisSize(xAxis, axesGap, 'top');
63
+ export const selectorChartTopAxisSize = createSelector(selectorChartRawXAxis, selectorChartCartesianAxesGap, selectorChartXAxisAutoSizes, function selectorChartTopAxisSize(xAxis, axesGap, autoSizes) {
64
+ return selectXAxisSize(xAxis, axesGap, 'top', autoSizes);
24
65
  });
25
- export const selectorChartBottomAxisSize = createSelector(selectorChartRawXAxis, selectorChartCartesianAxesGap, function selectorChartBottomAxisSize(xAxis, axesGap) {
26
- return selectAxisSize(xAxis, axesGap, 'bottom');
66
+ export const selectorChartBottomAxisSize = createSelector(selectorChartRawXAxis, selectorChartCartesianAxesGap, selectorChartXAxisAutoSizes, function selectorChartBottomAxisSize(xAxis, axesGap, autoSizes) {
67
+ return selectXAxisSize(xAxis, axesGap, 'bottom', autoSizes);
27
68
  });
28
69
  export const selectorChartAxisSizes = createSelectorMemoized(selectorChartLeftAxisSize, selectorChartRightAxisSize, selectorChartTopAxisSize, selectorChartBottomAxisSize, function selectorChartAxisSizes(left, right, top, bottom) {
29
70
  return {
@@ -30,21 +30,17 @@ export declare const selectorDefaultXAxisTickNumber: (args_0: import("../../core
30
30
  export declare const selectorDefaultYAxisTickNumber: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<{}> & {
31
31
  cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
32
32
  }) => number;
33
- type DomainDefinition = {
34
- domain: ReadonlyArray<string | NumberValue>;
35
- tickNumber?: number;
36
- };
37
33
  export declare const selectorChartXAxisWithDomains: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.mjs").UseChartCartesianAxisState> & {
38
34
  cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
39
35
  }) => {
40
36
  axes: import("../../../index.mjs").DefaultedXAxis[] | undefined;
41
- domains: Record<AxisId, DomainDefinition>;
37
+ domains: Record<AxisId, import("./domain.mjs").DomainDefinition>;
42
38
  };
43
39
  export declare const selectorChartYAxisWithDomains: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.mjs").UseChartCartesianAxisState> & {
44
40
  cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
45
41
  }) => {
46
42
  axes: import("../../../index.mjs").DefaultedYAxis[] | undefined;
47
- domains: Record<AxisId, DomainDefinition>;
43
+ domains: Record<AxisId, import("./domain.mjs").DomainDefinition>;
48
44
  };
49
45
  export declare const selectorChartZoomAxisFilters: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.mjs").UseChartCartesianAxisState> & {
50
46
  cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
@@ -142,7 +138,7 @@ export declare const selectorChartRawAxis: (args_0: import("../../corePlugins/us
142
138
  colorMap?: import("../../../../models/colorMapping.mjs").ContinuousColorConfig | import("../../../../models/colorMapping.mjs").PiecewiseColorConfig;
143
139
  }, "scale">> & {
144
140
  position?: "left" | "right" | "none";
145
- width?: number;
141
+ width?: number | "auto";
146
142
  } & import("../../../../hooks/useTicks.mjs").TickParams & import("../../../index.mjs").AxisConfigExtension & {
147
143
  zoom: import("./useChartCartesianAxis.types.mjs").DefaultizedZoomOptions | undefined;
148
144
  }) | undefined;
@@ -155,5 +151,4 @@ export declare const selectorChartDefaultYAxisId: (args_0: import("../../corePlu
155
151
  export declare const selectorChartSeriesEmptyFlatbushMap: () => Map<string, Flatbush>;
156
152
  export declare const selectorChartSeriesFlatbushMap: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<{}> & {
157
153
  cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
158
- }) => Map<string, Flatbush>;
159
- export {};
154
+ }) => Map<string, Flatbush>;
@@ -30,21 +30,17 @@ export declare const selectorDefaultXAxisTickNumber: (args_0: import("../../core
30
30
  export declare const selectorDefaultYAxisTickNumber: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<{}> & {
31
31
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
32
32
  }) => number;
33
- type DomainDefinition = {
34
- domain: ReadonlyArray<string | NumberValue>;
35
- tickNumber?: number;
36
- };
37
33
  export declare const selectorChartXAxisWithDomains: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & {
38
34
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
39
35
  }) => {
40
36
  axes: import("../../../index.js").DefaultedXAxis[] | undefined;
41
- domains: Record<AxisId, DomainDefinition>;
37
+ domains: Record<AxisId, import("./domain.js").DomainDefinition>;
42
38
  };
43
39
  export declare const selectorChartYAxisWithDomains: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & {
44
40
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
45
41
  }) => {
46
42
  axes: import("../../../index.js").DefaultedYAxis[] | undefined;
47
- domains: Record<AxisId, DomainDefinition>;
43
+ domains: Record<AxisId, import("./domain.js").DomainDefinition>;
48
44
  };
49
45
  export declare const selectorChartZoomAxisFilters: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & {
50
46
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
@@ -142,7 +138,7 @@ export declare const selectorChartRawAxis: (args_0: import("../../corePlugins/us
142
138
  colorMap?: import("../../../../models/colorMapping.js").ContinuousColorConfig | import("../../../../models/colorMapping.js").PiecewiseColorConfig;
143
139
  }, "scale">> & {
144
140
  position?: "left" | "right" | "none";
145
- width?: number;
141
+ width?: number | "auto";
146
142
  } & import("../../../../hooks/useTicks.js").TickParams & import("../../../index.js").AxisConfigExtension & {
147
143
  zoom: import("./useChartCartesianAxis.types.js").DefaultizedZoomOptions | undefined;
148
144
  }) | undefined;
@@ -155,5 +151,4 @@ export declare const selectorChartDefaultYAxisId: (args_0: import("../../corePlu
155
151
  export declare const selectorChartSeriesEmptyFlatbushMap: () => Map<string, Flatbush>;
156
152
  export declare const selectorChartSeriesFlatbushMap: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<{}> & {
157
153
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
158
- }) => Map<string, Flatbush>;
159
- export {};
154
+ }) => Map<string, Flatbush>;
@@ -14,6 +14,7 @@ var _createAxisFilterMapper = require("./createAxisFilterMapper");
14
14
  var _createZoomLookup = require("./createZoomLookup");
15
15
  var _axis = require("../../../../models/axis");
16
16
  var _useChartCartesianAxisLayout = require("./useChartCartesianAxisLayout.selectors");
17
+ var _useChartAxisAutoSize = require("./useChartAxisAutoSize.selectors");
17
18
  var _ticks = require("../../../ticks");
18
19
  var _getAxisScale = require("./getAxisScale");
19
20
  var _scaleGuards = require("../../../scaleGuards");
@@ -22,6 +23,7 @@ var _getAxisExtrema = require("./getAxisExtrema");
22
23
  var _domain = require("./domain");
23
24
  var _Flatbush = require("../../../Flatbush");
24
25
  var _useChartSeriesConfig = require("../../corePlugins/useChartSeriesConfig");
26
+ var _useChartAxisExtrema = require("./useChartAxisExtrema.selectors");
25
27
  const createZoomMap = zoom => {
26
28
  const zoomItemMap = new Map();
27
29
  zoom.forEach(zoomItem => {
@@ -51,45 +53,15 @@ const selectorDefaultXAxisTickNumber = exports.selectorDefaultXAxisTickNumber =
51
53
  const selectorDefaultYAxisTickNumber = exports.selectorDefaultYAxisTickNumber = (0, _store.createSelector)(_useChartDimensions.selectorChartDrawingArea, function selectorDefaultYAxisTickNumber(drawingArea) {
52
54
  return (0, _ticks.getDefaultTickNumber)(drawingArea.height);
53
55
  });
54
- const selectorChartXAxisWithDomains = exports.selectorChartXAxisWithDomains = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorDefaultXAxisTickNumber, function selectorChartXAxisWithDomains(axes, formattedSeries, seriesConfig, defaultTickNumber) {
55
- const axisDirection = 'x';
56
- const domains = {};
57
- axes?.forEach((eachAxis, axisIndex) => {
58
- const axis = eachAxis;
59
- if ((0, _axis.isBandScaleConfig)(axis) || (0, _axis.isPointScaleConfig)(axis)) {
60
- domains[axis.id] = {
61
- domain: axis.data
62
- };
63
- if (axis.ordinalTimeTicks !== undefined) {
64
- domains[axis.id].tickNumber = (0, _ticks.getTickNumber)(axis, [axis.data?.find(d => d !== null), axis.data?.findLast(d => d !== null)], defaultTickNumber);
65
- }
66
- return;
67
- }
68
- const axisExtrema = (0, _getAxisExtrema.getAxisExtrema)(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
69
- domains[axis.id] = (0, _domain.calculateInitialDomainAndTickNumber)(axis, 'x', axisIndex, formattedSeries, axisExtrema, defaultTickNumber);
70
- });
56
+ const selectorChartXAxisWithDomains = exports.selectorChartXAxisWithDomains = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartSeries.selectorChartSeriesProcessed, selectorDefaultXAxisTickNumber, _useChartAxisExtrema.selectorChartXAxisExtrema, function selectorChartXAxisWithDomains(axes, formattedSeries, defaultTickNumber, extremaMap) {
57
+ const domains = (0, _domain.computeAxisDomainsMap)(axes, formattedSeries, defaultTickNumber, extremaMap, 'x');
71
58
  return {
72
59
  axes,
73
60
  domains
74
61
  };
75
62
  });
76
- const selectorChartYAxisWithDomains = exports.selectorChartYAxisWithDomains = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorDefaultYAxisTickNumber, function selectorChartYAxisWithDomains(axes, formattedSeries, seriesConfig, defaultTickNumber) {
77
- const axisDirection = 'y';
78
- const domains = {};
79
- axes?.forEach((eachAxis, axisIndex) => {
80
- const axis = eachAxis;
81
- if ((0, _axis.isBandScaleConfig)(axis) || (0, _axis.isPointScaleConfig)(axis)) {
82
- domains[axis.id] = {
83
- domain: axis.data
84
- };
85
- if (axis.ordinalTimeTicks !== undefined) {
86
- domains[axis.id].tickNumber = (0, _ticks.getTickNumber)(axis, [axis.data?.find(d => d !== null), axis.data?.findLast(d => d !== null)], defaultTickNumber);
87
- }
88
- return;
89
- }
90
- const axisExtrema = (0, _getAxisExtrema.getAxisExtrema)(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
91
- domains[axis.id] = (0, _domain.calculateInitialDomainAndTickNumber)(axis, 'y', axisIndex, formattedSeries, axisExtrema, defaultTickNumber);
92
- });
63
+ const selectorChartYAxisWithDomains = exports.selectorChartYAxisWithDomains = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartSeries.selectorChartSeriesProcessed, selectorDefaultYAxisTickNumber, _useChartAxisExtrema.selectorChartYAxisExtrema, function selectorChartYAxisWithDomains(axes, formattedSeries, defaultTickNumber, extremaMap) {
64
+ const domains = (0, _domain.computeAxisDomainsMap)(axes, formattedSeries, defaultTickNumber, extremaMap, 'y');
93
65
  return {
94
66
  axes,
95
67
  domains
@@ -238,10 +210,10 @@ const selectorChartYScales = exports.selectorChartYScales = (0, _store.createSel
238
210
  * The only interesting selectors that merge axis data and zoom if provided.
239
211
  */
240
212
 
241
- const selectorChartXAxis = exports.selectorChartXAxis = (0, _store.createSelectorMemoized)(_useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartXAxisWithDomains, selectorChartXScales, function selectorChartXAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
213
+ const selectorChartXAxis = exports.selectorChartXAxis = (0, _store.createSelectorMemoized)(_useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartXAxisWithDomains, selectorChartXScales, _useChartAxisAutoSize.selectorChartXAxisAutoSizes, _useChartCartesianAxisLayout.selectorChartCartesianAxesGap, function selectorChartXAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
242
214
  axes,
243
215
  domains
244
- }, scales) {
216
+ }, scales, autoSizes, axesGap) {
245
217
  return (0, _computeAxisValue.computeAxisValue)({
246
218
  scales,
247
219
  drawingArea,
@@ -250,13 +222,15 @@ const selectorChartXAxis = exports.selectorChartXAxis = (0, _store.createSelecto
250
222
  seriesConfig,
251
223
  axisDirection: 'x',
252
224
  zoomMap,
253
- domains
225
+ domains,
226
+ autoSizes,
227
+ axesGap
254
228
  });
255
229
  });
256
- const selectorChartYAxis = exports.selectorChartYAxis = (0, _store.createSelectorMemoized)(_useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartYAxisWithDomains, selectorChartYScales, function selectorChartYAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
230
+ const selectorChartYAxis = exports.selectorChartYAxis = (0, _store.createSelectorMemoized)(_useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartYAxisWithDomains, selectorChartYScales, _useChartAxisAutoSize.selectorChartYAxisAutoSizes, _useChartCartesianAxisLayout.selectorChartCartesianAxesGap, function selectorChartYAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
257
231
  axes,
258
232
  domains
259
- }, scales) {
233
+ }, scales, autoSizes, axesGap) {
260
234
  return (0, _computeAxisValue.computeAxisValue)({
261
235
  scales,
262
236
  drawingArea,
@@ -265,7 +239,9 @@ const selectorChartYAxis = exports.selectorChartYAxis = (0, _store.createSelecto
265
239
  seriesConfig,
266
240
  axisDirection: 'y',
267
241
  zoomMap,
268
- domains
242
+ domains,
243
+ autoSizes,
244
+ axesGap
269
245
  });
270
246
  });
271
247
  const selectorChartAxis = exports.selectorChartAxis = (0, _store.createSelector)(selectorChartXAxis, selectorChartYAxis, (xAxes, yAxes, axisId) => xAxes?.axis[axisId] ?? yAxes?.axis[axisId]);
@@ -6,15 +6,17 @@ import { computeAxisValue } from "./computeAxisValue.mjs";
6
6
  import { createContinuousScaleGetAxisFilter, createDiscreteScaleGetAxisFilter, createGetAxisFilters } from "./createAxisFilterMapper.mjs";
7
7
  import { createZoomLookup } from "./createZoomLookup.mjs";
8
8
  import { isBandScaleConfig, isPointScaleConfig } from "../../../../models/axis.mjs";
9
- import { selectorChartRawXAxis, selectorChartRawYAxis } from "./useChartCartesianAxisLayout.selectors.mjs";
10
- import { getDefaultTickNumber, getTickNumber } from "../../../ticks.mjs";
9
+ import { selectorChartRawXAxis, selectorChartRawYAxis, selectorChartCartesianAxesGap } from "./useChartCartesianAxisLayout.selectors.mjs";
10
+ import { selectorChartXAxisAutoSizes, selectorChartYAxisAutoSizes } from "./useChartAxisAutoSize.selectors.mjs";
11
+ import { getDefaultTickNumber } from "../../../ticks.mjs";
11
12
  import { getNormalizedAxisScale, getRange } from "./getAxisScale.mjs";
12
13
  import { isOrdinalScale } from "../../../scaleGuards.mjs";
13
14
  import { zoomScaleRange } from "./zoom.mjs";
14
15
  import { getAxisExtrema } from "./getAxisExtrema.mjs";
15
- import { calculateFinalDomain, calculateInitialDomainAndTickNumber } from "./domain.mjs";
16
+ import { calculateFinalDomain, computeAxisDomainsMap } from "./domain.mjs";
16
17
  import { Flatbush } from "../../../Flatbush.mjs";
17
18
  import { selectorChartSeriesConfig } from "../../corePlugins/useChartSeriesConfig/index.mjs";
19
+ import { selectorChartXAxisExtrema, selectorChartYAxisExtrema } from "./useChartAxisExtrema.selectors.mjs";
18
20
  export const createZoomMap = zoom => {
19
21
  const zoomItemMap = new Map();
20
22
  zoom.forEach(zoomItem => {
@@ -43,45 +45,15 @@ export const selectorDefaultXAxisTickNumber = createSelector(selectorChartDrawin
43
45
  export const selectorDefaultYAxisTickNumber = createSelector(selectorChartDrawingArea, function selectorDefaultYAxisTickNumber(drawingArea) {
44
46
  return getDefaultTickNumber(drawingArea.height);
45
47
  });
46
- export const selectorChartXAxisWithDomains = createSelectorMemoized(selectorChartRawXAxis, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorDefaultXAxisTickNumber, function selectorChartXAxisWithDomains(axes, formattedSeries, seriesConfig, defaultTickNumber) {
47
- const axisDirection = 'x';
48
- const domains = {};
49
- axes?.forEach((eachAxis, axisIndex) => {
50
- const axis = eachAxis;
51
- if (isBandScaleConfig(axis) || isPointScaleConfig(axis)) {
52
- domains[axis.id] = {
53
- domain: axis.data
54
- };
55
- if (axis.ordinalTimeTicks !== undefined) {
56
- domains[axis.id].tickNumber = getTickNumber(axis, [axis.data?.find(d => d !== null), axis.data?.findLast(d => d !== null)], defaultTickNumber);
57
- }
58
- return;
59
- }
60
- const axisExtrema = getAxisExtrema(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
61
- domains[axis.id] = calculateInitialDomainAndTickNumber(axis, 'x', axisIndex, formattedSeries, axisExtrema, defaultTickNumber);
62
- });
48
+ export const selectorChartXAxisWithDomains = createSelectorMemoized(selectorChartRawXAxis, selectorChartSeriesProcessed, selectorDefaultXAxisTickNumber, selectorChartXAxisExtrema, function selectorChartXAxisWithDomains(axes, formattedSeries, defaultTickNumber, extremaMap) {
49
+ const domains = computeAxisDomainsMap(axes, formattedSeries, defaultTickNumber, extremaMap, 'x');
63
50
  return {
64
51
  axes,
65
52
  domains
66
53
  };
67
54
  });
68
- export const selectorChartYAxisWithDomains = createSelectorMemoized(selectorChartRawYAxis, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorDefaultYAxisTickNumber, function selectorChartYAxisWithDomains(axes, formattedSeries, seriesConfig, defaultTickNumber) {
69
- const axisDirection = 'y';
70
- const domains = {};
71
- axes?.forEach((eachAxis, axisIndex) => {
72
- const axis = eachAxis;
73
- if (isBandScaleConfig(axis) || isPointScaleConfig(axis)) {
74
- domains[axis.id] = {
75
- domain: axis.data
76
- };
77
- if (axis.ordinalTimeTicks !== undefined) {
78
- domains[axis.id].tickNumber = getTickNumber(axis, [axis.data?.find(d => d !== null), axis.data?.findLast(d => d !== null)], defaultTickNumber);
79
- }
80
- return;
81
- }
82
- const axisExtrema = getAxisExtrema(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
83
- domains[axis.id] = calculateInitialDomainAndTickNumber(axis, 'y', axisIndex, formattedSeries, axisExtrema, defaultTickNumber);
84
- });
55
+ export const selectorChartYAxisWithDomains = createSelectorMemoized(selectorChartRawYAxis, selectorChartSeriesProcessed, selectorDefaultYAxisTickNumber, selectorChartYAxisExtrema, function selectorChartYAxisWithDomains(axes, formattedSeries, defaultTickNumber, extremaMap) {
56
+ const domains = computeAxisDomainsMap(axes, formattedSeries, defaultTickNumber, extremaMap, 'y');
85
57
  return {
86
58
  axes,
87
59
  domains
@@ -230,10 +202,10 @@ export const selectorChartYScales = createSelectorMemoized(selectorChartRawYAxis
230
202
  * The only interesting selectors that merge axis data and zoom if provided.
231
203
  */
232
204
 
233
- export const selectorChartXAxis = createSelectorMemoized(selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartXAxisWithDomains, selectorChartXScales, function selectorChartXAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
205
+ export const selectorChartXAxis = createSelectorMemoized(selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartXAxisWithDomains, selectorChartXScales, selectorChartXAxisAutoSizes, selectorChartCartesianAxesGap, function selectorChartXAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
234
206
  axes,
235
207
  domains
236
- }, scales) {
208
+ }, scales, autoSizes, axesGap) {
237
209
  return computeAxisValue({
238
210
  scales,
239
211
  drawingArea,
@@ -242,13 +214,15 @@ export const selectorChartXAxis = createSelectorMemoized(selectorChartDrawingAre
242
214
  seriesConfig,
243
215
  axisDirection: 'x',
244
216
  zoomMap,
245
- domains
217
+ domains,
218
+ autoSizes,
219
+ axesGap
246
220
  });
247
221
  });
248
- export const selectorChartYAxis = createSelectorMemoized(selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartYAxisWithDomains, selectorChartYScales, function selectorChartYAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
222
+ export const selectorChartYAxis = createSelectorMemoized(selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartZoomMap, selectorChartYAxisWithDomains, selectorChartYScales, selectorChartYAxisAutoSizes, selectorChartCartesianAxesGap, function selectorChartYAxis(drawingArea, formattedSeries, seriesConfig, zoomMap, {
249
223
  axes,
250
224
  domains
251
- }, scales) {
225
+ }, scales, autoSizes, axesGap) {
252
226
  return computeAxisValue({
253
227
  scales,
254
228
  drawingArea,
@@ -257,7 +231,9 @@ export const selectorChartYAxis = createSelectorMemoized(selectorChartDrawingAre
257
231
  seriesConfig,
258
232
  axisDirection: 'y',
259
233
  zoomMap,
260
- domains
234
+ domains,
235
+ autoSizes,
236
+ axesGap
261
237
  });
262
238
  });
263
239
  export const selectorChartAxis = createSelector(selectorChartXAxis, selectorChartYAxis, (xAxes, yAxes, axisId) => xAxes?.axis[axisId] ?? yAxes?.axis[axisId]);
@@ -8,11 +8,23 @@ var _store = require("@mui/x-internals/store");
8
8
  var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
9
9
  var _useChartCartesianAxisRendering = require("./useChartCartesianAxisRendering.selectors");
10
10
  var _useChartInteraction = require("../useChartInteraction");
11
+ var _useChartInteraction2 = require("../useChartInteraction/useChartInteraction.selectors");
12
+ var _useChartKeyboardNavigation = require("../useChartKeyboardNavigation/useChartKeyboardNavigation.selectors");
11
13
  var _getAxisValue = require("./getAxisValue");
12
14
  var _getValueToPositionMapper = require("../../../../hooks/getValueToPositionMapper");
13
15
  var _useChartDimensions = require("../../corePlugins/useChartDimensions/useChartDimensions.selectors");
14
16
  const selectorChartControlledCartesianAxisTooltip = state => state.controlledCartesianAxisTooltip;
15
17
  const EMPTY_ARRAY = [];
18
+ function getKeyboardAxisTooltip(keyboardIndex, axes) {
19
+ if (keyboardIndex === undefined) {
20
+ return EMPTY_ARRAY;
21
+ }
22
+ const axis = axes.axis[keyboardIndex.axisId];
23
+ if (!axis?.triggerTooltip) {
24
+ return EMPTY_ARRAY;
25
+ }
26
+ return [keyboardIndex];
27
+ }
16
28
 
17
29
  /**
18
30
  * Get x-axis ids and corresponding data index that should be display in the tooltip.
@@ -24,7 +36,7 @@ const selectorChartsInteractionTooltipXAxes = exports.selectorChartsInteractionT
24
36
  // uses string/number as arguments.
25
37
  resultEqualityCheck: _isDeepEqual.isDeepEqual
26
38
  }
27
- })(selectorChartControlledCartesianAxisTooltip, _useChartInteraction.selectorChartsInteractionPointerX, _useChartCartesianAxisRendering.selectorChartXAxis, (controlledValues, value, axes) => {
39
+ })(selectorChartControlledCartesianAxisTooltip, _useChartInteraction.selectorChartsInteractionPointerX, _useChartCartesianAxisRendering.selectorChartXAxis, _useChartInteraction2.selectorChartsLastInteraction, _useChartKeyboardNavigation.selectorChartsKeyboardXAxisIndex, (controlledValues, value, axes, lastInteraction, keyboardIndex) => {
28
40
  if (controlledValues !== undefined) {
29
41
  if (controlledValues.length === 0) {
30
42
  return EMPTY_ARRAY;
@@ -35,6 +47,9 @@ const selectorChartsInteractionTooltipXAxes = exports.selectorChartsInteractionT
35
47
  }) => ids.has(axisId));
36
48
  return filteredArray.length === controlledValues.length ? controlledValues : filteredArray;
37
49
  }
50
+ if (lastInteraction === 'keyboard') {
51
+ return getKeyboardAxisTooltip(keyboardIndex, axes);
52
+ }
38
53
  if (value === null) {
39
54
  return EMPTY_ARRAY;
40
55
  }
@@ -56,7 +71,7 @@ const selectorChartsInteractionTooltipYAxes = exports.selectorChartsInteractionT
56
71
  // uses string/number as arguments.
57
72
  resultEqualityCheck: _isDeepEqual.isDeepEqual
58
73
  }
59
- })(selectorChartControlledCartesianAxisTooltip, _useChartInteraction.selectorChartsInteractionPointerY, _useChartCartesianAxisRendering.selectorChartYAxis, (controlledValues, value, axes) => {
74
+ })(selectorChartControlledCartesianAxisTooltip, _useChartInteraction.selectorChartsInteractionPointerY, _useChartCartesianAxisRendering.selectorChartYAxis, _useChartInteraction2.selectorChartsLastInteraction, _useChartKeyboardNavigation.selectorChartsKeyboardYAxisIndex, (controlledValues, value, axes, lastInteraction, keyboardIndex) => {
60
75
  if (controlledValues !== undefined) {
61
76
  if (controlledValues.length === 0) {
62
77
  return EMPTY_ARRAY;
@@ -67,6 +82,9 @@ const selectorChartsInteractionTooltipYAxes = exports.selectorChartsInteractionT
67
82
  }) => ids.has(axisId));
68
83
  return filteredArray.length === controlledValues.length ? controlledValues : filteredArray;
69
84
  }
85
+ if (lastInteraction === 'keyboard') {
86
+ return getKeyboardAxisTooltip(keyboardIndex, axes);
87
+ }
70
88
  if (value === null) {
71
89
  return EMPTY_ARRAY;
72
90
  }
@@ -2,11 +2,23 @@ import { createSelector, createSelectorMemoized, createSelectorMemoizedWithOptio
2
2
  import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
3
3
  import { selectorChartXAxis, selectorChartYAxis } from "./useChartCartesianAxisRendering.selectors.mjs";
4
4
  import { selectorChartsInteractionPointerX, selectorChartsInteractionPointerY } from "../useChartInteraction/index.mjs";
5
+ import { selectorChartsLastInteraction } from "../useChartInteraction/useChartInteraction.selectors.mjs";
6
+ import { selectorChartsKeyboardXAxisIndex, selectorChartsKeyboardYAxisIndex } from "../useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.mjs";
5
7
  import { getAxisIndex } from "./getAxisValue.mjs";
6
8
  import { getValueToPositionMapper } from "../../../../hooks/getValueToPositionMapper.mjs";
7
9
  import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/useChartDimensions.selectors.mjs";
8
10
  const selectorChartControlledCartesianAxisTooltip = state => state.controlledCartesianAxisTooltip;
9
11
  const EMPTY_ARRAY = [];
12
+ function getKeyboardAxisTooltip(keyboardIndex, axes) {
13
+ if (keyboardIndex === undefined) {
14
+ return EMPTY_ARRAY;
15
+ }
16
+ const axis = axes.axis[keyboardIndex.axisId];
17
+ if (!axis?.triggerTooltip) {
18
+ return EMPTY_ARRAY;
19
+ }
20
+ return [keyboardIndex];
21
+ }
10
22
 
11
23
  /**
12
24
  * Get x-axis ids and corresponding data index that should be display in the tooltip.
@@ -18,7 +30,7 @@ export const selectorChartsInteractionTooltipXAxes = createSelectorMemoizedWithO
18
30
  // uses string/number as arguments.
19
31
  resultEqualityCheck: isDeepEqual
20
32
  }
21
- })(selectorChartControlledCartesianAxisTooltip, selectorChartsInteractionPointerX, selectorChartXAxis, (controlledValues, value, axes) => {
33
+ })(selectorChartControlledCartesianAxisTooltip, selectorChartsInteractionPointerX, selectorChartXAxis, selectorChartsLastInteraction, selectorChartsKeyboardXAxisIndex, (controlledValues, value, axes, lastInteraction, keyboardIndex) => {
22
34
  if (controlledValues !== undefined) {
23
35
  if (controlledValues.length === 0) {
24
36
  return EMPTY_ARRAY;
@@ -29,6 +41,9 @@ export const selectorChartsInteractionTooltipXAxes = createSelectorMemoizedWithO
29
41
  }) => ids.has(axisId));
30
42
  return filteredArray.length === controlledValues.length ? controlledValues : filteredArray;
31
43
  }
44
+ if (lastInteraction === 'keyboard') {
45
+ return getKeyboardAxisTooltip(keyboardIndex, axes);
46
+ }
32
47
  if (value === null) {
33
48
  return EMPTY_ARRAY;
34
49
  }
@@ -50,7 +65,7 @@ export const selectorChartsInteractionTooltipYAxes = createSelectorMemoizedWithO
50
65
  // uses string/number as arguments.
51
66
  resultEqualityCheck: isDeepEqual
52
67
  }
53
- })(selectorChartControlledCartesianAxisTooltip, selectorChartsInteractionPointerY, selectorChartYAxis, (controlledValues, value, axes) => {
68
+ })(selectorChartControlledCartesianAxisTooltip, selectorChartsInteractionPointerY, selectorChartYAxis, selectorChartsLastInteraction, selectorChartsKeyboardYAxisIndex, (controlledValues, value, axes, lastInteraction, keyboardIndex) => {
54
69
  if (controlledValues !== undefined) {
55
70
  if (controlledValues.length === 0) {
56
71
  return EMPTY_ARRAY;
@@ -61,6 +76,9 @@ export const selectorChartsInteractionTooltipYAxes = createSelectorMemoizedWithO
61
76
  }) => ids.has(axisId));
62
77
  return filteredArray.length === controlledValues.length ? controlledValues : filteredArray;
63
78
  }
79
+ if (lastInteraction === 'keyboard') {
80
+ return getKeyboardAxisTooltip(keyboardIndex, axes);
81
+ }
64
82
  if (value === null) {
65
83
  return EMPTY_ARRAY;
66
84
  }
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.useChartKeyboardNavigation = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
- var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
13
12
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
14
13
  var _useChartSeries = require("../../corePlugins/useChartSeries/useChartSeries.selectors");
15
14
  var _useChartSeriesConfig = require("../../corePlugins/useChartSeriesConfig");
@@ -21,35 +20,42 @@ const useChartKeyboardNavigation = ({
21
20
  const {
22
21
  chartsLayerContainerRef
23
22
  } = instance;
24
- const removeFocus = (0, _useEventCallback.default)(function removeFocus() {
25
- if (store.state.keyboardNavigation.isFocused) {
26
- store.set('keyboardNavigation', (0, _extends2.default)({}, store.state.keyboardNavigation, {
27
- isFocused: false
28
- }));
29
- }
30
- });
31
- const restoreFocus = (0, _useEventCallback.default)(function restoreFocus() {
32
- if (!store.state.keyboardNavigation.isFocused) {
33
- store.update((0, _extends2.default)({}, store.state.highlight && {
34
- highlight: (0, _extends2.default)({}, store.state.highlight, {
35
- lastUpdate: 'keyboard'
36
- })
37
- }, store.state.interaction && {
38
- interaction: (0, _extends2.default)({}, store.state.interaction, {
39
- lastUpdate: 'keyboard'
40
- })
41
- }, {
42
- keyboardNavigation: (0, _extends2.default)({}, store.state.keyboardNavigation, {
43
- isFocused: true
44
- })
45
- }));
46
- }
47
- });
48
23
  React.useEffect(() => {
49
24
  const element = chartsLayerContainerRef.current;
50
25
  if (!element || params.disableKeyboardNavigation) {
51
26
  return undefined;
52
27
  }
28
+ function removeFocus(event) {
29
+ const root = event.currentTarget;
30
+ const next = event.relatedTarget;
31
+
32
+ // Avoid removing focus if we know it is moving to another children in the chart.
33
+ // This avoid extra computation ot remove/add focus at each keyboard pressed when navigating in the chart.
34
+ if (root && next instanceof Node && !root.contains(next)) {
35
+ if (store.state.keyboardNavigation.isFocused) {
36
+ store.set('keyboardNavigation', (0, _extends2.default)({}, store.state.keyboardNavigation, {
37
+ isFocused: false
38
+ }));
39
+ }
40
+ }
41
+ }
42
+ function restoreFocus() {
43
+ if (!store.state.keyboardNavigation.isFocused) {
44
+ store.update((0, _extends2.default)({}, store.state.highlight && {
45
+ highlight: (0, _extends2.default)({}, store.state.highlight, {
46
+ lastUpdate: 'keyboard'
47
+ })
48
+ }, store.state.interaction && {
49
+ interaction: (0, _extends2.default)({}, store.state.interaction, {
50
+ lastUpdate: 'keyboard'
51
+ })
52
+ }, {
53
+ keyboardNavigation: (0, _extends2.default)({}, store.state.keyboardNavigation, {
54
+ isFocused: true
55
+ })
56
+ }));
57
+ }
58
+ }
53
59
  function keyboardHandler(event) {
54
60
  let newFocusedItem = store.state.keyboardNavigation.item;
55
61
  const seriesConfig = (0, _useChartSeriesConfig.selectorChartSeriesConfig)(store.state);
@@ -83,14 +89,14 @@ const useChartKeyboardNavigation = ({
83
89
  }
84
90
  }
85
91
  element.addEventListener('keydown', keyboardHandler);
86
- element.addEventListener('blur', removeFocus);
87
- element.addEventListener('focus', restoreFocus);
92
+ element.addEventListener('focusout', removeFocus);
93
+ element.addEventListener('focusin', restoreFocus);
88
94
  return () => {
89
95
  element.removeEventListener('keydown', keyboardHandler);
90
- element.removeEventListener('blur', removeFocus);
91
- element.removeEventListener('focus', restoreFocus);
96
+ element.removeEventListener('focusout', removeFocus);
97
+ element.removeEventListener('focusin', restoreFocus);
92
98
  };
93
- }, [chartsLayerContainerRef, removeFocus, restoreFocus, params.disableKeyboardNavigation, store]);
99
+ }, [chartsLayerContainerRef, params.disableKeyboardNavigation, store]);
94
100
  (0, _useEnhancedEffect.default)(() => {
95
101
  store.set('keyboardNavigation', (0, _extends2.default)({}, store.state.keyboardNavigation, {
96
102
  enabled: !params.disableKeyboardNavigation