@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
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectorChartSeriesLayout = void 0;
7
+ var _store = require("@mui/x-internals/store");
8
+ var _processSeries = require("./processSeries");
9
+ var _useChartDimensions = require("../useChartDimensions");
10
+ var _useChartSeriesConfig = require("../useChartSeriesConfig/useChartSeriesConfig.selectors");
11
+ var _useChartSeries = require("./useChartSeries.selectors");
12
+ /**
13
+ * Get the processed series after applying series layout.
14
+ * This selector computes the series layout on-demand from the processed series.
15
+ * @returns {SeriesLayout} The series with layout applied.
16
+ */
17
+ const selectorChartSeriesLayout = exports.selectorChartSeriesLayout = (0, _store.createSelectorMemoized)(_useChartSeries.selectorChartSeriesProcessed, _useChartSeriesConfig.selectorChartSeriesConfig, _useChartDimensions.selectorChartDrawingArea, function selectorChartSeriesLayout(processedSeries, seriesConfig, drawingArea) {
18
+ return (0, _processSeries.applySeriesLayout)(processedSeries, seriesConfig, drawingArea);
19
+ });
@@ -0,0 +1,14 @@
1
+ import { createSelectorMemoized } from '@mui/x-internals/store';
2
+ import { applySeriesLayout } from "./processSeries.mjs";
3
+ import { selectorChartDrawingArea } from "../useChartDimensions/index.mjs";
4
+ import { selectorChartSeriesConfig } from "../useChartSeriesConfig/useChartSeriesConfig.selectors.mjs";
5
+ import { selectorChartSeriesProcessed } from "./useChartSeries.selectors.mjs";
6
+
7
+ /**
8
+ * Get the processed series after applying series layout.
9
+ * This selector computes the series layout on-demand from the processed series.
10
+ * @returns {SeriesLayout} The series with layout applied.
11
+ */
12
+ export const selectorChartSeriesLayout = createSelectorMemoized(selectorChartSeriesProcessed, selectorChartSeriesConfig, selectorChartDrawingArea, function selectorChartSeriesLayout(processedSeries, seriesConfig, drawingArea) {
13
+ return applySeriesLayout(processedSeries, seriesConfig, drawingArea);
14
+ });
@@ -0,0 +1,5 @@
1
+ import type { ChartsLocaleText } from "../../../../../locales/utils/chartsLocaleTextApi.mjs";
2
+ import type { ChartSeriesType, ChartsSeriesConfig } from "../../../../../models/seriesType/config.mjs";
3
+ export type DescriptionGetter<T extends ChartSeriesType> = (params: ChartsSeriesConfig[T]['descriptionGetterParams'] & {
4
+ localeText: ChartsLocaleText;
5
+ }) => string;
@@ -0,0 +1,5 @@
1
+ import type { ChartsLocaleText } from "../../../../../locales/utils/chartsLocaleTextApi.js";
2
+ import type { ChartSeriesType, ChartsSeriesConfig } from "../../../../../models/seriesType/config.js";
3
+ export type DescriptionGetter<T extends ChartSeriesType> = (params: ChartsSeriesConfig[T]['descriptionGetterParams'] & {
4
+ localeText: ChartsLocaleText;
5
+ }) => string;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -11,4 +11,5 @@ export * from "./getSeriesWithDefaultValues.types.mjs";
11
11
  export * from "./identifierSerializer.types.mjs";
12
12
  export * from "./identifierCleaner.types.mjs";
13
13
  export * from "./getItemAtPosition.types.mjs";
14
+ export * from "./descriptionGetter.types.mjs";
14
15
  export * from "./TooltipContent.types.mjs";
@@ -11,4 +11,5 @@ export * from "./getSeriesWithDefaultValues.types.js";
11
11
  export * from "./identifierSerializer.types.js";
12
12
  export * from "./identifierCleaner.types.js";
13
13
  export * from "./getItemAtPosition.types.js";
14
+ export * from "./descriptionGetter.types.js";
14
15
  export * from "./TooltipContent.types.js";
@@ -146,6 +146,17 @@ Object.keys(_getItemAtPosition).forEach(function (key) {
146
146
  }
147
147
  });
148
148
  });
149
+ var _descriptionGetter = require("./descriptionGetter.types");
150
+ Object.keys(_descriptionGetter).forEach(function (key) {
151
+ if (key === "default" || key === "__esModule") return;
152
+ if (key in exports && exports[key] === _descriptionGetter[key]) return;
153
+ Object.defineProperty(exports, key, {
154
+ enumerable: true,
155
+ get: function () {
156
+ return _descriptionGetter[key];
157
+ }
158
+ });
159
+ });
149
160
  var _TooltipContent = require("./TooltipContent.types");
150
161
  Object.keys(_TooltipContent).forEach(function (key) {
151
162
  if (key === "default" || key === "__esModule") return;
@@ -11,4 +11,5 @@ export * from "./getSeriesWithDefaultValues.types.mjs";
11
11
  export * from "./identifierSerializer.types.mjs";
12
12
  export * from "./identifierCleaner.types.mjs";
13
13
  export * from "./getItemAtPosition.types.mjs";
14
+ export * from "./descriptionGetter.types.mjs";
14
15
  export * from "./TooltipContent.types.mjs";
@@ -13,6 +13,7 @@ import { type KeyboardFocusHandler } from "../../../featurePlugins/useChartKeybo
13
13
  import { type IdentifierSerializer } from "./identifierSerializer.types.mjs";
14
14
  import { type IdentifierCleaner } from "./identifierCleaner.types.mjs";
15
15
  import { type GetItemAtPosition } from "./getItemAtPosition.types.mjs";
16
+ import { type DescriptionGetter } from "./descriptionGetter.types.mjs";
16
17
  import { type UseChartCartesianAxisSignature } from "../../../featurePlugins/useChartCartesianAxis/index.mjs";
17
18
  import { type UseChartPolarAxisSignature } from "../../../featurePlugins/useChartPolarAxis/index.mjs";
18
19
  import { type HighlightCreator } from "../../../featurePlugins/useChartHighlight/highlightCreator.types.mjs";
@@ -49,6 +50,7 @@ export type ChartSeriesTypeConfig<SeriesType extends ChartSeriesType> = {
49
50
  */
50
51
  identifierCleaner: IdentifierCleaner<SeriesType>;
51
52
  getItemAtPosition?: GetItemAtPosition<SeriesType>;
53
+ descriptionGetter: DescriptionGetter<SeriesType>;
52
54
  isHighlightedCreator: HighlightCreator<SeriesType>;
53
55
  isFadedCreator: HighlightCreator<SeriesType>;
54
56
  } & (SeriesType extends CartesianChartSeriesType ? {
@@ -13,6 +13,7 @@ import { type KeyboardFocusHandler } from "../../../featurePlugins/useChartKeybo
13
13
  import { type IdentifierSerializer } from "./identifierSerializer.types.js";
14
14
  import { type IdentifierCleaner } from "./identifierCleaner.types.js";
15
15
  import { type GetItemAtPosition } from "./getItemAtPosition.types.js";
16
+ import { type DescriptionGetter } from "./descriptionGetter.types.js";
16
17
  import { type UseChartCartesianAxisSignature } from "../../../featurePlugins/useChartCartesianAxis/index.js";
17
18
  import { type UseChartPolarAxisSignature } from "../../../featurePlugins/useChartPolarAxis/index.js";
18
19
  import { type HighlightCreator } from "../../../featurePlugins/useChartHighlight/highlightCreator.types.js";
@@ -49,6 +50,7 @@ export type ChartSeriesTypeConfig<SeriesType extends ChartSeriesType> = {
49
50
  */
50
51
  identifierCleaner: IdentifierCleaner<SeriesType>;
51
52
  getItemAtPosition?: GetItemAtPosition<SeriesType>;
53
+ descriptionGetter: DescriptionGetter<SeriesType>;
52
54
  isHighlightedCreator: HighlightCreator<SeriesType>;
53
55
  isFadedCreator: HighlightCreator<SeriesType>;
54
56
  } & (SeriesType extends CartesianChartSeriesType ? {
@@ -1,12 +1,6 @@
1
- import { type SeriesItemIdentifierWithType } from "../../../../models/seriesType/index.mjs";
2
- import { type ChartSeriesType } from "../../../../models/seriesType/config.mjs";
3
- import { type UseChartHighlightSignature } from "../useChartHighlight/index.mjs";
4
- import { type UseChartCartesianAxisSignature } from "../useChartCartesianAxis/index.mjs";
5
- import { type ChartState } from "../../models/index.mjs";
6
1
  /**
7
- * Hook to get pointer interaction props for chart items.
2
+ * Hook that registers pointer interaction handlers on the chart container.
3
+ * It iterates through all series configs' `getItemAtPosition` to find which
4
+ * item is at the pointer position and updates highlight/tooltip state accordingly.
8
5
  */
9
- export declare function useRegisterPointerInteractions<SeriesType extends ChartSeriesType>(getItemAtPosition: (state: ChartState<[UseChartCartesianAxisSignature, UseChartHighlightSignature<SeriesType>]>, point: {
10
- x: number;
11
- y: number;
12
- }) => SeriesItemIdentifierWithType<SeriesType> | undefined, onItemEnter?: () => void, onItemLeave?: () => void): void;
6
+ export declare function useRegisterPointerInteractions(): void;
@@ -1,12 +1,6 @@
1
- import { type SeriesItemIdentifierWithType } from "../../../../models/seriesType/index.js";
2
- import { type ChartSeriesType } from "../../../../models/seriesType/config.js";
3
- import { type UseChartHighlightSignature } from "../useChartHighlight/index.js";
4
- import { type UseChartCartesianAxisSignature } from "../useChartCartesianAxis/index.js";
5
- import { type ChartState } from "../../models/index.js";
6
1
  /**
7
- * Hook to get pointer interaction props for chart items.
2
+ * Hook that registers pointer interaction handlers on the chart container.
3
+ * It iterates through all series configs' `getItemAtPosition` to find which
4
+ * item is at the pointer position and updates highlight/tooltip state accordingly.
8
5
  */
9
- export declare function useRegisterPointerInteractions<SeriesType extends ChartSeriesType>(getItemAtPosition: (state: ChartState<[UseChartCartesianAxisSignature, UseChartHighlightSignature<SeriesType>]>, point: {
10
- x: number;
11
- y: number;
12
- }) => SeriesItemIdentifierWithType<SeriesType> | undefined, onItemEnter?: () => void, onItemLeave?: () => void): void;
6
+ export declare function useRegisterPointerInteractions(): void;
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
8
  exports.useRegisterPointerInteractions = useRegisterPointerInteractions;
10
9
  var React = _interopRequireWildcard(require("react"));
11
- var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
12
10
  var _hooks = require("../../../../hooks");
13
11
  var _useStore = require("../../../store/useStore");
14
12
  var _ChartsProvider = require("../../../../context/ChartsProvider");
15
13
  var _getChartPoint = require("../../../getChartPoint");
16
14
  /**
17
- * Hook to get pointer interaction props for chart items.
15
+ * Hook that registers pointer interaction handlers on the chart container.
16
+ * It iterates through all series configs' `getItemAtPosition` to find which
17
+ * item is at the pointer position and updates highlight/tooltip state accordingly.
18
18
  */
19
- function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, onItemLeave) {
19
+ function useRegisterPointerInteractions() {
20
20
  const {
21
21
  instance
22
22
  } = (0, _ChartsProvider.useChartsContext)();
@@ -24,11 +24,13 @@ function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, onItemLe
24
24
  const store = (0, _useStore.useStore)();
25
25
  const interactionActive = React.useRef(false);
26
26
  const lastItemRef = React.useRef(undefined);
27
- const onItemEnterRef = (0, _useEventCallback.default)(() => onItemEnter?.());
28
- const onItemLeaveRef = (0, _useEventCallback.default)(() => onItemLeave?.());
29
27
  React.useEffect(() => {
30
- const svg = chartsLayerContainerRef.current;
31
- if (!svg) {
28
+ const element = chartsLayerContainerRef.current;
29
+ if (!element) {
30
+ return undefined;
31
+ }
32
+ const hasGetItemAtPosition = Object.values(store.state.seriesConfig.config).some(config => config.getItemAtPosition != null);
33
+ if (!hasGetItemAtPosition) {
32
34
  return undefined;
33
35
  }
34
36
  function onPointerEnter() {
@@ -40,7 +42,6 @@ function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, onItemLe
40
42
  lastItemRef.current = undefined;
41
43
  instance.removeTooltipItem(lastItem);
42
44
  instance.clearHighlight();
43
- onItemLeaveRef();
44
45
  }
45
46
  }
46
47
  function onPointerLeave() {
@@ -48,34 +49,42 @@ function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, onItemLe
48
49
  reset();
49
50
  }
50
51
  const onPointerMove = function onPointerMove(event) {
51
- const svgPoint = (0, _getChartPoint.getChartPoint)(svg, event);
52
+ const svgPoint = (0, _getChartPoint.getChartPoint)(element, event);
52
53
  if (!instance.isPointInside(svgPoint.x, svgPoint.y)) {
53
54
  reset();
54
55
  return;
55
56
  }
56
- const item = getItemAtPosition(store.state, svgPoint);
57
+ let item;
58
+ for (const seriesType of Object.keys(store.state.seriesConfig.config)) {
59
+ item = store.state.seriesConfig.config[seriesType].getItemAtPosition?.(store.state, {
60
+ x: svgPoint.x,
61
+ y: svgPoint.y
62
+ });
63
+ if (item) {
64
+ break;
65
+ }
66
+ }
57
67
  if (item) {
58
68
  instance.setLastUpdateSource('pointer');
59
69
  instance.setTooltipItem(item);
60
70
  instance.setHighlight(item);
61
- onItemEnterRef();
62
71
  lastItemRef.current = item;
63
72
  } else {
64
73
  reset();
65
74
  }
66
75
  };
67
- svg.addEventListener('pointerleave', onPointerLeave);
68
- svg.addEventListener('pointermove', onPointerMove);
69
- svg.addEventListener('pointerenter', onPointerEnter);
76
+ element.addEventListener('pointerleave', onPointerLeave);
77
+ element.addEventListener('pointermove', onPointerMove);
78
+ element.addEventListener('pointerenter', onPointerEnter);
70
79
  return () => {
71
- svg.removeEventListener('pointerenter', onPointerEnter);
72
- svg.removeEventListener('pointermove', onPointerMove);
73
- svg.removeEventListener('pointerleave', onPointerLeave);
80
+ element.removeEventListener('pointerenter', onPointerEnter);
81
+ element.removeEventListener('pointermove', onPointerMove);
82
+ element.removeEventListener('pointerleave', onPointerLeave);
74
83
 
75
84
  /* Clean up state if this item is unmounted while active. */
76
85
  if (interactionActive.current) {
77
86
  onPointerLeave();
78
87
  }
79
88
  };
80
- }, [getItemAtPosition, instance, onItemEnterRef, onItemLeaveRef, store, chartsLayerContainerRef]);
89
+ }, [instance, store, chartsLayerContainerRef, store.state.seriesConfig.config]);
81
90
  }
@@ -1,15 +1,16 @@
1
1
  'use client';
2
2
 
3
3
  import * as React from 'react';
4
- import useEventCallback from '@mui/utils/useEventCallback';
5
4
  import { useChartsLayerContainerRef } from "../../../../hooks/index.mjs";
6
5
  import { useStore } from "../../../store/useStore.mjs";
7
6
  import { useChartsContext } from "../../../../context/ChartsProvider/index.mjs";
8
7
  import { getChartPoint } from "../../../getChartPoint.mjs";
9
8
  /**
10
- * Hook to get pointer interaction props for chart items.
9
+ * Hook that registers pointer interaction handlers on the chart container.
10
+ * It iterates through all series configs' `getItemAtPosition` to find which
11
+ * item is at the pointer position and updates highlight/tooltip state accordingly.
11
12
  */
12
- export function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, onItemLeave) {
13
+ export function useRegisterPointerInteractions() {
13
14
  const {
14
15
  instance
15
16
  } = useChartsContext();
@@ -17,11 +18,13 @@ export function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, o
17
18
  const store = useStore();
18
19
  const interactionActive = React.useRef(false);
19
20
  const lastItemRef = React.useRef(undefined);
20
- const onItemEnterRef = useEventCallback(() => onItemEnter?.());
21
- const onItemLeaveRef = useEventCallback(() => onItemLeave?.());
22
21
  React.useEffect(() => {
23
- const svg = chartsLayerContainerRef.current;
24
- if (!svg) {
22
+ const element = chartsLayerContainerRef.current;
23
+ if (!element) {
24
+ return undefined;
25
+ }
26
+ const hasGetItemAtPosition = Object.values(store.state.seriesConfig.config).some(config => config.getItemAtPosition != null);
27
+ if (!hasGetItemAtPosition) {
25
28
  return undefined;
26
29
  }
27
30
  function onPointerEnter() {
@@ -33,7 +36,6 @@ export function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, o
33
36
  lastItemRef.current = undefined;
34
37
  instance.removeTooltipItem(lastItem);
35
38
  instance.clearHighlight();
36
- onItemLeaveRef();
37
39
  }
38
40
  }
39
41
  function onPointerLeave() {
@@ -41,34 +43,42 @@ export function useRegisterPointerInteractions(getItemAtPosition, onItemEnter, o
41
43
  reset();
42
44
  }
43
45
  const onPointerMove = function onPointerMove(event) {
44
- const svgPoint = getChartPoint(svg, event);
46
+ const svgPoint = getChartPoint(element, event);
45
47
  if (!instance.isPointInside(svgPoint.x, svgPoint.y)) {
46
48
  reset();
47
49
  return;
48
50
  }
49
- const item = getItemAtPosition(store.state, svgPoint);
51
+ let item;
52
+ for (const seriesType of Object.keys(store.state.seriesConfig.config)) {
53
+ item = store.state.seriesConfig.config[seriesType].getItemAtPosition?.(store.state, {
54
+ x: svgPoint.x,
55
+ y: svgPoint.y
56
+ });
57
+ if (item) {
58
+ break;
59
+ }
60
+ }
50
61
  if (item) {
51
62
  instance.setLastUpdateSource('pointer');
52
63
  instance.setTooltipItem(item);
53
64
  instance.setHighlight(item);
54
- onItemEnterRef();
55
65
  lastItemRef.current = item;
56
66
  } else {
57
67
  reset();
58
68
  }
59
69
  };
60
- svg.addEventListener('pointerleave', onPointerLeave);
61
- svg.addEventListener('pointermove', onPointerMove);
62
- svg.addEventListener('pointerenter', onPointerEnter);
70
+ element.addEventListener('pointerleave', onPointerLeave);
71
+ element.addEventListener('pointermove', onPointerMove);
72
+ element.addEventListener('pointerenter', onPointerEnter);
63
73
  return () => {
64
- svg.removeEventListener('pointerenter', onPointerEnter);
65
- svg.removeEventListener('pointermove', onPointerMove);
66
- svg.removeEventListener('pointerleave', onPointerLeave);
74
+ element.removeEventListener('pointerenter', onPointerEnter);
75
+ element.removeEventListener('pointermove', onPointerMove);
76
+ element.removeEventListener('pointerleave', onPointerLeave);
67
77
 
68
78
  /* Clean up state if this item is unmounted while active. */
69
79
  if (interactionActive.current) {
70
80
  onPointerLeave();
71
81
  }
72
82
  };
73
- }, [getItemAtPosition, instance, onItemEnterRef, onItemLeaveRef, store, chartsLayerContainerRef]);
83
+ }, [instance, store, chartsLayerContainerRef, store.state.seriesConfig.config]);
74
84
  }
@@ -0,0 +1,5 @@
1
+ export declare const AXIS_AUTO_SIZE_PADDING = 4;
2
+ export declare const AXIS_AUTO_SIZE_MIN = 20;
3
+ export declare const AXIS_AUTO_SIZE_TICK_SIZE = 6;
4
+ export declare const AXIS_AUTO_SIZE_TICK_LABEL_GAP = 2;
5
+ export declare const AXIS_AUTO_SIZE_GROUP_GAP = 4;
@@ -0,0 +1,5 @@
1
+ export declare const AXIS_AUTO_SIZE_PADDING = 4;
2
+ export declare const AXIS_AUTO_SIZE_MIN = 20;
3
+ export declare const AXIS_AUTO_SIZE_TICK_SIZE = 6;
4
+ export declare const AXIS_AUTO_SIZE_TICK_LABEL_GAP = 2;
5
+ export declare const AXIS_AUTO_SIZE_GROUP_GAP = 4;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AXIS_AUTO_SIZE_TICK_SIZE = exports.AXIS_AUTO_SIZE_TICK_LABEL_GAP = exports.AXIS_AUTO_SIZE_PADDING = exports.AXIS_AUTO_SIZE_MIN = exports.AXIS_AUTO_SIZE_GROUP_GAP = void 0;
7
+ const AXIS_AUTO_SIZE_PADDING = exports.AXIS_AUTO_SIZE_PADDING = 4;
8
+ const AXIS_AUTO_SIZE_MIN = exports.AXIS_AUTO_SIZE_MIN = 20;
9
+ const AXIS_AUTO_SIZE_TICK_SIZE = exports.AXIS_AUTO_SIZE_TICK_SIZE = 6;
10
+ const AXIS_AUTO_SIZE_TICK_LABEL_GAP = exports.AXIS_AUTO_SIZE_TICK_LABEL_GAP = 2;
11
+ const AXIS_AUTO_SIZE_GROUP_GAP = exports.AXIS_AUTO_SIZE_GROUP_GAP = 4;
@@ -0,0 +1,5 @@
1
+ export const AXIS_AUTO_SIZE_PADDING = 4;
2
+ export const AXIS_AUTO_SIZE_MIN = 20;
3
+ export const AXIS_AUTO_SIZE_TICK_SIZE = 6;
4
+ export const AXIS_AUTO_SIZE_TICK_LABEL_GAP = 2;
5
+ export const AXIS_AUTO_SIZE_GROUP_GAP = 4;
@@ -0,0 +1,33 @@
1
+ import type { DefaultedXAxis, DefaultedYAxis } from "../../../../models/axis.mjs";
2
+ import { type DomainDefinition } from "./domain.mjs";
3
+ interface ComputeAxisAutoSizeOptions {
4
+ axis: DefaultedXAxis | DefaultedYAxis;
5
+ direction: 'x' | 'y';
6
+ /**
7
+ * The niced domain and tick number for the axis.
8
+ * These reflect the actual displayed domain (after domainLimit processing),
9
+ * so tick labels measured from them match what the chart renders.
10
+ */
11
+ domain?: DomainDefinition;
12
+ }
13
+ /**
14
+ * Result of auto-size computation for axes.
15
+ */
16
+ export interface AxisAutoSizeResult {
17
+ size: number;
18
+ /**
19
+ * Computed tick sizes for each group level.
20
+ * These are cumulative - each group's tick extends further than the previous.
21
+ * The renderer should use these instead of the formula-based tick sizes.
22
+ */
23
+ groupTickSizes?: number[];
24
+ }
25
+ /**
26
+ * Computes the auto-size dimension for an axis based on tick label measurements.
27
+ * Returns undefined if measurement is not available (SSR or not hydrated).
28
+ *
29
+ * For regular axes, returns just a number (the size).
30
+ * For grouped axes, returns an object with size and computed group tick sizes.
31
+ */
32
+ export declare function computeAxisAutoSize(options: ComputeAxisAutoSizeOptions): AxisAutoSizeResult | undefined;
33
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { DefaultedXAxis, DefaultedYAxis } from "../../../../models/axis.js";
2
+ import { type DomainDefinition } from "./domain.js";
3
+ interface ComputeAxisAutoSizeOptions {
4
+ axis: DefaultedXAxis | DefaultedYAxis;
5
+ direction: 'x' | 'y';
6
+ /**
7
+ * The niced domain and tick number for the axis.
8
+ * These reflect the actual displayed domain (after domainLimit processing),
9
+ * so tick labels measured from them match what the chart renders.
10
+ */
11
+ domain?: DomainDefinition;
12
+ }
13
+ /**
14
+ * Result of auto-size computation for axes.
15
+ */
16
+ export interface AxisAutoSizeResult {
17
+ size: number;
18
+ /**
19
+ * Computed tick sizes for each group level.
20
+ * These are cumulative - each group's tick extends further than the previous.
21
+ * The renderer should use these instead of the formula-based tick sizes.
22
+ */
23
+ groupTickSizes?: number[];
24
+ }
25
+ /**
26
+ * Computes the auto-size dimension for an axis based on tick label measurements.
27
+ * Returns undefined if measurement is not available (SSR or not hydrated).
28
+ *
29
+ * For regular axes, returns just a number (the size).
30
+ * For grouped axes, returns an object with size and computed group tick sizes.
31
+ */
32
+ export declare function computeAxisAutoSize(options: ComputeAxisAutoSizeOptions): AxisAutoSizeResult | undefined;
33
+ export {};