@mui/x-charts 8.7.0 → 8.9.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 (248) hide show
  1. package/BarChart/BarChart.d.ts +4 -3
  2. package/BarChart/BarChart.js +17 -1
  3. package/BarChart/barClasses.d.ts +1 -1
  4. package/BarChart/seriesConfig/seriesProcessor.js +5 -3
  5. package/BarChart/useBarPlotData.js +32 -5
  6. package/CHANGELOG.md +199 -24
  7. package/ChartContainer/ChartContainer.js +22 -0
  8. package/ChartContainer/useChartContainerProps.js +8 -2
  9. package/ChartDataProvider/ChartDataProvider.js +6 -0
  10. package/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
  11. package/ChartDataProvider/useChartDataProviderProps.js +6 -1
  12. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +1 -1
  13. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +34 -24
  14. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +1 -1
  15. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +34 -24
  16. package/ChartsLabel/ChartsLabelMark.d.ts +2 -1
  17. package/ChartsLabel/index.d.ts +1 -0
  18. package/ChartsLabel/index.js +18 -0
  19. package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  20. package/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
  21. package/Gauge/GaugeContainer.d.ts +1 -1
  22. package/LineChart/LineChart.d.ts +3 -2
  23. package/LineChart/LineChart.js +23 -1
  24. package/LineChart/LineHighlightPlot.js +10 -4
  25. package/LineChart/MarkPlot.js +17 -3
  26. package/LineChart/useAreaPlotData.js +3 -2
  27. package/PieChart/PieArcLabelPlot.js +3 -0
  28. package/PieChart/PieArcPlot.js +3 -0
  29. package/PieChart/PieChart.d.ts +4 -3
  30. package/PieChart/PieChart.js +1 -1
  31. package/PieChart/pieClasses.d.ts +1 -1
  32. package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +3 -5
  33. package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.d.ts +2 -13
  34. package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +8 -45
  35. package/RadarChart/RadarChart.d.ts +2 -1
  36. package/RadarChart/RadarChart.js +23 -2
  37. package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +4 -3
  38. package/RadarChart/RadarMetricLabels/useRadarMetricData.js +4 -2
  39. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +19 -3
  40. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +20 -4
  41. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +38 -4
  42. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +32 -3
  43. package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.d.ts +8 -0
  44. package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.js +38 -0
  45. package/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +2 -2
  46. package/RadarChart/index.d.ts +1 -1
  47. package/RadarChart/useRadarChartProps.d.ts +3 -0
  48. package/RadarChart/useRadarChartProps.js +15 -3
  49. package/ScatterChart/ScatterChart.d.ts +4 -3
  50. package/ScatterChart/ScatterChart.js +1 -1
  51. package/ScatterChart/ScatterPlot.js +2 -2
  52. package/ScatterChart/seriesConfig/seriesProcessor.js +3 -0
  53. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  54. package/SparkLineChart/SparkLineChart.js +16 -0
  55. package/esm/BarChart/BarChart.d.ts +4 -3
  56. package/esm/BarChart/BarChart.js +17 -1
  57. package/esm/BarChart/barClasses.d.ts +1 -1
  58. package/esm/BarChart/seriesConfig/seriesProcessor.js +5 -3
  59. package/esm/BarChart/useBarPlotData.js +32 -5
  60. package/esm/ChartContainer/ChartContainer.js +22 -0
  61. package/esm/ChartContainer/useChartContainerProps.js +8 -2
  62. package/esm/ChartDataProvider/ChartDataProvider.js +6 -0
  63. package/esm/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
  64. package/esm/ChartDataProvider/useChartDataProviderProps.js +7 -2
  65. package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +1 -1
  66. package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.js +36 -26
  67. package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +1 -1
  68. package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.js +36 -26
  69. package/esm/ChartsLabel/ChartsLabelMark.d.ts +2 -1
  70. package/esm/ChartsLabel/index.d.ts +1 -0
  71. package/esm/ChartsLabel/index.js +1 -0
  72. package/esm/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  73. package/esm/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
  74. package/esm/Gauge/GaugeContainer.d.ts +1 -1
  75. package/esm/LineChart/LineChart.d.ts +3 -2
  76. package/esm/LineChart/LineChart.js +23 -1
  77. package/esm/LineChart/LineHighlightPlot.js +11 -5
  78. package/esm/LineChart/MarkPlot.js +17 -3
  79. package/esm/LineChart/useAreaPlotData.js +3 -2
  80. package/esm/PieChart/PieArcLabelPlot.js +3 -0
  81. package/esm/PieChart/PieArcPlot.js +3 -0
  82. package/esm/PieChart/PieChart.d.ts +4 -3
  83. package/esm/PieChart/PieChart.js +1 -1
  84. package/esm/PieChart/pieClasses.d.ts +1 -1
  85. package/esm/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +3 -5
  86. package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.d.ts +2 -13
  87. package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +8 -45
  88. package/esm/RadarChart/RadarChart.d.ts +2 -1
  89. package/esm/RadarChart/RadarChart.js +23 -2
  90. package/esm/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +4 -3
  91. package/esm/RadarChart/RadarMetricLabels/useRadarMetricData.js +4 -2
  92. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +19 -3
  93. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +20 -4
  94. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +38 -4
  95. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +32 -3
  96. package/esm/RadarChart/RadarSeriesPlot/useRadarRotationIndex.d.ts +8 -0
  97. package/esm/RadarChart/RadarSeriesPlot/useRadarRotationIndex.js +32 -0
  98. package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +2 -2
  99. package/esm/RadarChart/index.d.ts +1 -1
  100. package/esm/RadarChart/useRadarChartProps.d.ts +3 -0
  101. package/esm/RadarChart/useRadarChartProps.js +15 -3
  102. package/esm/ScatterChart/ScatterChart.d.ts +4 -3
  103. package/esm/ScatterChart/ScatterChart.js +1 -1
  104. package/esm/ScatterChart/ScatterPlot.js +2 -2
  105. package/esm/ScatterChart/seriesConfig/seriesProcessor.js +3 -0
  106. package/esm/SparkLineChart/SparkLineChart.d.ts +1 -1
  107. package/esm/SparkLineChart/SparkLineChart.js +16 -0
  108. package/esm/hooks/useAxis.d.ts +2 -2
  109. package/esm/hooks/useTicks.d.ts +6 -1
  110. package/esm/hooks/useTicks.js +94 -58
  111. package/esm/index.js +1 -1
  112. package/esm/internals/constants.d.ts +3 -0
  113. package/esm/internals/constants.js +4 -0
  114. package/esm/internals/getLabel.d.ts +1 -1
  115. package/esm/internals/index.d.ts +1 -0
  116. package/esm/internals/index.js +1 -0
  117. package/esm/internals/plugins/corePlugins/corePlugins.d.ts +3 -2
  118. package/esm/internals/plugins/corePlugins/corePlugins.js +2 -1
  119. package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +1 -1
  120. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +3 -3
  121. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/index.d.ts +3 -0
  122. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/index.js +2 -0
  123. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.ts +3 -0
  124. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.js +27 -0
  125. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.ts +8 -0
  126. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.js +3 -0
  127. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.ts +21 -0
  128. package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js +1 -0
  129. package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
  130. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +2 -2
  131. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +5 -1
  132. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +4 -2
  133. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +1 -0
  134. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +5 -2
  135. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.d.ts +7 -0
  136. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.js +14 -0
  137. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +2 -0
  138. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +2 -0
  139. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +4 -4
  140. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +46 -3
  141. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +18 -1
  142. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.d.ts +3 -0
  143. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +76 -0
  144. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +10 -5
  145. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +8 -5
  146. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +47 -0
  147. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +48 -0
  148. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +18 -12
  149. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +16 -2
  150. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +6 -1
  151. package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.ts +1 -1
  152. package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.js +19 -11
  153. package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.ts +1 -1
  154. package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.js +19 -11
  155. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +5 -5
  156. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +10 -4
  157. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +4 -4
  158. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +6 -6
  159. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +44 -1
  160. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +5 -5
  161. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +8 -1
  162. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +7 -8
  163. package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +1 -1
  164. package/esm/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +1 -1
  165. package/esm/internals/plugins/utils/useLazySelectorEffect.d.ts +7 -0
  166. package/esm/internals/plugins/utils/useLazySelectorEffect.js +70 -0
  167. package/esm/internals/store/useCharts.d.ts +1 -1
  168. package/esm/models/axis.d.ts +42 -1
  169. package/esm/models/axis.js +4 -0
  170. package/esm/models/index.d.ts +1 -1
  171. package/esm/models/seriesType/bar.d.ts +11 -1
  172. package/esm/models/seriesType/common.d.ts +9 -3
  173. package/esm/models/seriesType/line.d.ts +3 -1
  174. package/esm/models/seriesType/scatter.d.ts +14 -2
  175. package/esm/tests/web-components.js +49 -0
  176. package/esm/themeAugmentation/components.d.ts +3 -0
  177. package/esm/themeAugmentation/props.d.ts +2 -0
  178. package/hooks/useAxis.d.ts +2 -2
  179. package/hooks/useTicks.d.ts +6 -1
  180. package/hooks/useTicks.js +95 -58
  181. package/index.js +1 -1
  182. package/internals/constants.d.ts +3 -0
  183. package/internals/constants.js +5 -1
  184. package/internals/getLabel.d.ts +1 -1
  185. package/internals/index.d.ts +1 -0
  186. package/internals/index.js +8 -0
  187. package/internals/plugins/corePlugins/corePlugins.d.ts +3 -2
  188. package/internals/plugins/corePlugins/corePlugins.js +2 -1
  189. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +1 -1
  190. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +3 -3
  191. package/internals/plugins/corePlugins/useChartExperimentalFeature/index.d.ts +3 -0
  192. package/internals/plugins/corePlugins/useChartExperimentalFeature/index.js +27 -0
  193. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.ts +3 -0
  194. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.js +34 -0
  195. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.ts +8 -0
  196. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.js +10 -0
  197. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.ts +21 -0
  198. package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js +5 -0
  199. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
  200. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +2 -2
  201. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +5 -1
  202. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +4 -2
  203. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +1 -0
  204. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +4 -1
  205. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.d.ts +7 -0
  206. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.js +21 -0
  207. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +2 -0
  208. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +24 -0
  209. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +4 -4
  210. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +46 -3
  211. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +18 -1
  212. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.d.ts +3 -0
  213. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +82 -0
  214. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +10 -5
  215. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +9 -6
  216. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +47 -0
  217. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +55 -0
  218. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +18 -12
  219. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +18 -3
  220. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +6 -1
  221. package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.ts +1 -1
  222. package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.js +20 -13
  223. package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.ts +1 -1
  224. package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.js +20 -13
  225. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +5 -5
  226. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +10 -4
  227. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +4 -4
  228. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +6 -6
  229. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +44 -1
  230. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +5 -5
  231. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +8 -1
  232. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +7 -8
  233. package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +1 -1
  234. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +1 -1
  235. package/internals/plugins/utils/useLazySelectorEffect.d.ts +7 -0
  236. package/internals/plugins/utils/useLazySelectorEffect.js +77 -0
  237. package/internals/store/useCharts.d.ts +1 -1
  238. package/models/axis.d.ts +42 -1
  239. package/models/axis.js +4 -0
  240. package/models/index.d.ts +1 -1
  241. package/models/seriesType/bar.d.ts +11 -1
  242. package/models/seriesType/common.d.ts +9 -3
  243. package/models/seriesType/line.d.ts +3 -1
  244. package/models/seriesType/scatter.d.ts +14 -2
  245. package/package.json +5 -5
  246. package/tests/web-components.js +55 -0
  247. package/themeAugmentation/components.d.ts +3 -0
  248. package/themeAugmentation/props.d.ts +2 -0
@@ -63,6 +63,30 @@ Object.keys(_useChartCartesianInteraction).forEach(function (key) {
63
63
  }
64
64
  });
65
65
  });
66
+ var _useChartCartesianHighlight = require("./useChartCartesianHighlight.selectors");
67
+ Object.keys(_useChartCartesianHighlight).forEach(function (key) {
68
+ if (key === "default" || key === "__esModule") return;
69
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
70
+ if (key in exports && exports[key] === _useChartCartesianHighlight[key]) return;
71
+ Object.defineProperty(exports, key, {
72
+ enumerable: true,
73
+ get: function () {
74
+ return _useChartCartesianHighlight[key];
75
+ }
76
+ });
77
+ });
78
+ var _useChartCartesianAxisPreview = require("./useChartCartesianAxisPreview.selectors");
79
+ Object.keys(_useChartCartesianAxisPreview).forEach(function (key) {
80
+ if (key === "default" || key === "__esModule") return;
81
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
82
+ if (key in exports && exports[key] === _useChartCartesianAxisPreview[key]) return;
83
+ Object.defineProperty(exports, key, {
84
+ enumerable: true,
85
+ get: function () {
86
+ return _useChartCartesianAxisPreview[key];
87
+ }
88
+ });
89
+ });
66
90
  var _defaultizeAxis = require("./defaultizeAxis");
67
91
  var _computeAxisValue = require("./computeAxisValue");
68
92
  Object.keys(_computeAxisValue).forEach(function (key) {
@@ -1,19 +1,19 @@
1
- export declare const selectorChartLeftAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
1
+ export declare const selectorChartLeftAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
2
2
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
3
3
  } & {
4
4
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
5
  }, number, []>;
6
- export declare const selectorChartRightAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
6
+ export declare const selectorChartRightAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
7
7
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
8
8
  } & {
9
9
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
10
10
  }, number, []>;
11
- export declare const selectorChartTopAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
11
+ export declare const selectorChartTopAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
12
12
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
13
13
  } & {
14
14
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
15
15
  }, number, []>;
16
- export declare const selectorChartBottomAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
16
+ export declare const selectorChartBottomAxisSize: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
17
17
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
18
18
  } & {
19
19
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.useChartCartesianAxis = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
+ var _useAssertModelConsistency = require("@mui/x-internals/useAssertModelConsistency");
12
14
  var _warning = require("@mui/x-internals/warning");
13
15
  var _colorPalettes = require("../../../../colorPalettes");
14
16
  var _useSelector = require("../../../store/useSelector");
@@ -19,6 +21,8 @@ var _useChartCartesianAxisRendering = require("./useChartCartesianAxisRendering.
19
21
  var _getAxisValue = require("./getAxisValue");
20
22
  var _getSVGPoint = require("../../../getSVGPoint");
21
23
  var _useChartInteraction = require("../useChartInteraction");
24
+ var _useChartCartesianInteraction = require("./useChartCartesianInteraction.selectors");
25
+ var _useLazySelectorEffect = require("../../utils/useLazySelectorEffect");
22
26
  const useChartCartesianAxis = ({
23
27
  params,
24
28
  store,
@@ -29,7 +33,8 @@ const useChartCartesianAxis = ({
29
33
  const {
30
34
  xAxis,
31
35
  yAxis,
32
- dataset
36
+ dataset,
37
+ onHighlightedAxisChange
33
38
  } = params;
34
39
  if (process.env.NODE_ENV !== 'production') {
35
40
  const ids = [...(xAxis ?? []), ...(yAxis ?? [])].filter(axis => axis.id).map(axis => axis.id);
@@ -49,6 +54,25 @@ const useChartCartesianAxis = ({
49
54
  axis: yAxisWithScale,
50
55
  axisIds: yAxisIds
51
56
  } = (0, _useSelector.useSelector)(store, _useChartCartesianAxisRendering.selectorChartYAxis);
57
+ (0, _useAssertModelConsistency.useAssertModelConsistency)({
58
+ warningPrefix: 'MUI X Charts',
59
+ componentName: 'Chart',
60
+ propName: 'highlightedAxis',
61
+ controlled: params.highlightedAxis,
62
+ defaultValue: undefined
63
+ });
64
+ (0, _useEnhancedEffect.default)(() => {
65
+ if (params.highlightedAxis !== undefined) {
66
+ store.update(prevState => {
67
+ if (prevState.controlledCartesianAxisHighlight === params.highlightedAxis) {
68
+ return prevState;
69
+ }
70
+ return (0, _extends2.default)({}, prevState, {
71
+ controlledCartesianAxisHighlight: params.highlightedAxis
72
+ });
73
+ });
74
+ }
75
+ }, [store, params.highlightedAxis]);
52
76
 
53
77
  // The effect do not track any value defined synchronously during the 1st render by hooks called after `useChartCartesianAxis`
54
78
  // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
@@ -67,6 +91,21 @@ const useChartCartesianAxis = ({
67
91
  }, [seriesConfig, drawingArea, xAxis, yAxis, dataset, store]);
68
92
  const usedXAxis = xAxisIds[0];
69
93
  const usedYAxis = yAxisIds[0];
94
+ (0, _useLazySelectorEffect.useLazySelectorEffect)(store, _useChartCartesianInteraction.selectorChartAxisInteraction, (prevAxisInteraction, nextAxisInteraction) => {
95
+ if (Object.is(prevAxisInteraction, nextAxisInteraction)) {
96
+ return;
97
+ }
98
+ if (prevAxisInteraction.length !== nextAxisInteraction.length) {
99
+ onHighlightedAxisChange(nextAxisInteraction);
100
+ return;
101
+ }
102
+ if (prevAxisInteraction?.some(({
103
+ axisId,
104
+ dataIndex
105
+ }, itemIndex) => nextAxisInteraction[itemIndex].axisId !== axisId || nextAxisInteraction[itemIndex].dataIndex !== dataIndex)) {
106
+ onHighlightedAxisChange(nextAxisInteraction);
107
+ }
108
+ }, !onHighlightedAxisChange);
70
109
  React.useEffect(() => {
71
110
  const element = svgRef.current;
72
111
  if (!isInteractionEnabled || !element || params.disableAxisListener) {
@@ -167,7 +206,9 @@ useChartCartesianAxis.params = {
167
206
  yAxis: true,
168
207
  dataset: true,
169
208
  onAxisClick: true,
170
- disableAxisListener: true
209
+ disableAxisListener: true,
210
+ onHighlightedAxisChange: true,
211
+ highlightedAxis: true
171
212
  };
172
213
  useChartCartesianAxis.getDefaultizedParams = ({
173
214
  params
@@ -179,9 +220,11 @@ useChartCartesianAxis.getDefaultizedParams = ({
179
220
  defaultizedYAxis: (0, _defaultizeAxis.defaultizeYAxis)(params.yAxis, params.dataset)
180
221
  });
181
222
  };
182
- useChartCartesianAxis.getInitialState = params => ({
223
+ useChartCartesianAxis.getInitialState = params => (0, _extends2.default)({
183
224
  cartesianAxis: {
184
225
  x: params.defaultizedXAxis,
185
226
  y: params.defaultizedYAxis
186
227
  }
228
+ }, params.highlightedAxis === undefined ? {} : {
229
+ controlledCartesianAxisHighlight: params.highlightedAxis
187
230
  });
@@ -1,6 +1,6 @@
1
1
  import type { ChartPluginSignature } from "../../models/index.js";
2
2
  import type { ChartSeriesType, DatasetType } from "../../../../models/seriesType/config.js";
3
- import type { ComputedAxis, ScaleName, AxisId, ChartsAxisData, YAxis, XAxis, DefaultedXAxis, DefaultedYAxis } from "../../../../models/axis.js";
3
+ import type { ComputedAxis, ScaleName, AxisId, ChartsAxisData, YAxis, XAxis, DefaultedXAxis, DefaultedYAxis, AxisItemIdentifier } from "../../../../models/axis.js";
4
4
  import type { UseChartSeriesSignature } from "../../corePlugins/useChartSeries/index.js";
5
5
  import type { ZoomData, ZoomOptions, ZoomSliderShowTooltip } from "./zoom.types.js";
6
6
  import type { UseChartInteractionSignature } from "../useChartInteraction/index.js";
@@ -36,6 +36,19 @@ export interface UseChartCartesianAxisParameters<S extends ScaleName = ScaleName
36
36
  * @param {null | ChartsAxisData} data The data about the clicked axis and items associated with it.
37
37
  */
38
38
  onAxisClick?: (event: MouseEvent, data: null | ChartsAxisData) => void;
39
+ /**
40
+ * The function called when the pointer position corresponds to a new axis data item.
41
+ * This update can either be caused by a pointer movement, or an axis update.
42
+ * In case of multiple axes, the function is called if at least one axis is updated.
43
+ * The argument contains the identifier for all axes with a `data` property.
44
+ * @param {AxisItemIdentifier[]} axisItems The array of axes item identifiers.
45
+ */
46
+ onHighlightedAxisChange?: (axisItems: AxisItemIdentifier[]) => void;
47
+ /**
48
+ * The controlled axis highlight.
49
+ * Identified by the axis id, and data index.
50
+ */
51
+ highlightedAxis?: AxisItemIdentifier[];
39
52
  /**
40
53
  * If `true`, the charts will not listen to the mouse move event.
41
54
  * It might break interactive features, but will improve performance.
@@ -67,6 +80,10 @@ export interface UseChartCartesianAxisState {
67
80
  x: DefaultedXAxis[];
68
81
  y: DefaultedYAxis[];
69
82
  };
83
+ /**
84
+ * The controlled axis item highlighted.
85
+ */
86
+ controlledCartesianAxisHighlight?: AxisItemIdentifier[];
70
87
  }
71
88
  export type ExtremumFilter = (value: {
72
89
  x: number | Date | string | null;
@@ -0,0 +1,3 @@
1
+ import { AxisId } from "../../../../models/axis.js";
2
+ export declare const selectorChartPreviewComputedXAxis: import("reselect").Selector<any, import("./useChartCartesianAxis.types.js").ComputedAxisConfig<import("../../../index.js").ChartsXAxisProps>, [axisId: AxisId]>;
3
+ export declare const selectorChartPreviewComputedYAxis: import("reselect").Selector<any, import("./useChartCartesianAxis.types.js").ComputedAxisConfig<import("../../../index.js").ChartsYAxisProps>, [axisId: AxisId]>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectorChartPreviewComputedYAxis = exports.selectorChartPreviewComputedXAxis = void 0;
7
+ var _selectors = require("../../utils/selectors");
8
+ var _useChartCartesianAxisLayout = require("./useChartCartesianAxisLayout.selectors");
9
+ var _useChartSeries = require("../../corePlugins/useChartSeries");
10
+ var _computeAxisValue = require("./computeAxisValue");
11
+ var _useChartCartesianAxisRendering = require("./useChartCartesianAxisRendering.selectors");
12
+ var _useChartDimensions = require("../../corePlugins/useChartDimensions");
13
+ var _constants = require("../../../constants");
14
+ function createPreviewDrawingArea(axisDirection, mainChartDrawingArea) {
15
+ return axisDirection === 'x' ? {
16
+ left: 0,
17
+ top: 0,
18
+ width: mainChartDrawingArea.width,
19
+ height: _constants.ZOOM_SLIDER_PREVIEW_SIZE,
20
+ right: mainChartDrawingArea.width,
21
+ bottom: _constants.ZOOM_SLIDER_PREVIEW_SIZE
22
+ } : {
23
+ left: 0,
24
+ top: 0,
25
+ width: _constants.ZOOM_SLIDER_PREVIEW_SIZE,
26
+ height: mainChartDrawingArea.height,
27
+ right: _constants.ZOOM_SLIDER_PREVIEW_SIZE,
28
+ bottom: mainChartDrawingArea.height
29
+ };
30
+ }
31
+ const selectorChartPreviewComputedXAxis = exports.selectorChartPreviewComputedXAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.selectorChartZoomAxisFilters, _useChartDimensions.selectorChartDrawingArea, (_, axisId) => axisId], (xAxes, formattedSeries, seriesConfig, zoomOptions, getFilters, chartDrawingArea, axisId) => {
32
+ const hasAxis = xAxes?.some(axis => axis.id === axisId);
33
+ const drawingArea = createPreviewDrawingArea(hasAxis ? 'x' : 'y', chartDrawingArea);
34
+ const options = zoomOptions[axisId];
35
+ const zoomMap = new Map([[axisId, {
36
+ axisId,
37
+ start: options.minStart,
38
+ end: options.maxEnd
39
+ }]]);
40
+ const computedAxes = (0, _computeAxisValue.computeAxisValue)({
41
+ drawingArea,
42
+ formattedSeries,
43
+ axis: xAxes,
44
+ seriesConfig,
45
+ axisDirection: 'x',
46
+ zoomMap,
47
+ zoomOptions,
48
+ getFilters
49
+ });
50
+ if (computedAxes.axis[axisId]) {
51
+ return {
52
+ [axisId]: computedAxes.axis[axisId]
53
+ };
54
+ }
55
+ return computedAxes.axis;
56
+ });
57
+ const selectorChartPreviewComputedYAxis = exports.selectorChartPreviewComputedYAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.selectorChartZoomAxisFilters, _useChartDimensions.selectorChartDrawingArea, (_, axisId) => axisId], (yAxes, formattedSeries, seriesConfig, zoomOptions, getFilters, chartDrawingArea, axisId) => {
58
+ const hasAxis = yAxes?.some(axis => axis.id === axisId);
59
+ const drawingArea = createPreviewDrawingArea(hasAxis ? 'y' : 'x', chartDrawingArea);
60
+ const options = zoomOptions[axisId];
61
+ const zoomMap = new Map([[axisId, {
62
+ axisId,
63
+ start: options.minStart,
64
+ end: options.maxEnd
65
+ }]]);
66
+ const computedAxes = (0, _computeAxisValue.computeAxisValue)({
67
+ drawingArea,
68
+ formattedSeries,
69
+ axis: yAxes,
70
+ seriesConfig,
71
+ axisDirection: 'y',
72
+ zoomMap,
73
+ zoomOptions,
74
+ getFilters
75
+ });
76
+ if (computedAxes.axis[axisId]) {
77
+ return {
78
+ [axisId]: computedAxes.axis[axisId]
79
+ };
80
+ }
81
+ return computedAxes.axis;
82
+ });
@@ -4,17 +4,17 @@ export declare const createZoomMap: (zoom: readonly ZoomData[]) => Map<AxisId, Z
4
4
  /**
5
5
  * Following selectors are not exported because they exist in the MIT chart only to ba able to reuse the Zoom state from the pro.
6
6
  */
7
- export declare const selectorChartZoomIsInteracting: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
7
+ export declare const selectorChartZoomIsInteracting: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
8
8
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
9
9
  } & {
10
10
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
11
11
  }, boolean | undefined, []>;
12
- export declare const selectorChartZoomMap: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
12
+ export declare const selectorChartZoomMap: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
13
13
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
14
14
  } & {
15
15
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
16
16
  }, Map<AxisId, ZoomData> | undefined, []>;
17
- export declare const selectorChartZoomOptionsLookup: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
17
+ export declare const selectorChartZoomOptionsLookup: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
18
18
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
19
19
  } & {
20
20
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
@@ -23,15 +23,20 @@ export declare const selectorChartZoomOptionsLookup: import("reselect").Selector
23
23
  [x: number]: import("./useChartCartesianAxis.types.js").DefaultizedZoomOptions;
24
24
  }, []>;
25
25
  export declare const selectorChartAxisZoomOptionsLookup: import("reselect").Selector<any, import("./useChartCartesianAxis.types.js").DefaultizedZoomOptions, [axisId: AxisId]>;
26
+ export declare const selectorChartZoomAxisFilters: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
27
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
28
+ } & {
29
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
30
+ } & Partial<{}>, import("./zoom.types.js").GetZoomAxisFilters | undefined, []>;
26
31
  /**
27
32
  * The only interesting selectors that merge axis data and zoom if provided.
28
33
  */
29
- export declare const selectorChartXAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
34
+ export declare const selectorChartXAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
30
35
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
31
36
  } & Partial<{}> & {
32
37
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
33
38
  }, import("./computeAxisValue.js").ComputeResult<import("../../../index.js").ChartsXAxisProps>, []>;
34
- export declare const selectorChartYAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
39
+ export declare const selectorChartYAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
35
40
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
36
41
  } & Partial<{}> & {
37
42
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.selectorChartZoomOptionsLookup = exports.selectorChartZoomMap = exports.selectorChartZoomIsInteracting = exports.selectorChartYAxis = exports.selectorChartXAxis = exports.selectorChartRawAxis = exports.selectorChartAxisZoomOptionsLookup = exports.selectorChartAxis = exports.createZoomMap = void 0;
7
+ exports.selectorChartZoomOptionsLookup = exports.selectorChartZoomMap = exports.selectorChartZoomIsInteracting = exports.selectorChartZoomAxisFilters = exports.selectorChartYAxis = exports.selectorChartXAxis = exports.selectorChartRawAxis = exports.selectorChartAxisZoomOptionsLookup = exports.selectorChartAxis = exports.createZoomMap = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _useChartDimensions = require("../../corePlugins/useChartDimensions");
10
10
  var _useChartSeries = require("../../corePlugins/useChartSeries");
@@ -13,6 +13,7 @@ var _computeAxisValue = require("./computeAxisValue");
13
13
  var _createAxisFilterMapper = require("./createAxisFilterMapper");
14
14
  var _createZoomLookup = require("./createZoomLookup");
15
15
  var _useChartCartesianAxisLayout = require("./useChartCartesianAxisLayout.selectors");
16
+ var _useChartExperimentalFeature = require("../../corePlugins/useChartExperimentalFeature");
16
17
  const createZoomMap = zoom => {
17
18
  const zoomItemMap = new Map();
18
19
  zoom.forEach(zoomItem => {
@@ -45,7 +46,7 @@ const selectorChartYFilter = (0, _selectors.createSelector)([selectorChartZoomMa
45
46
  formattedSeries,
46
47
  direction: 'y'
47
48
  }));
48
- const selectorChartZoomAxisFilters = (0, _selectors.createSelector)([selectorChartXFilter, selectorChartYFilter, _useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartCartesianAxisLayout.selectorChartRawYAxis], (xMapper, yMapper, xAxis, yAxis) => {
49
+ const selectorChartZoomAxisFilters = exports.selectorChartZoomAxisFilters = (0, _selectors.createSelector)([selectorChartXFilter, selectorChartYFilter, _useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartCartesianAxisLayout.selectorChartRawYAxis], (xMapper, yMapper, xAxis, yAxis) => {
49
50
  if (xMapper === undefined || yMapper === undefined) {
50
51
  // Early return if there is no zoom.
51
52
  return undefined;
@@ -74,7 +75,7 @@ const selectorChartZoomAxisFilters = (0, _selectors.createSelector)([selectorCha
74
75
  * The only interesting selectors that merge axis data and zoom if provided.
75
76
  */
76
77
 
77
- const selectorChartXAxis = exports.selectorChartXAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters) => (0, _computeAxisValue.computeAxisValue)({
78
+ const selectorChartXAxis = exports.selectorChartXAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters, _useChartExperimentalFeature.selectorPreferStrictDomainInLineCharts], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters, preferStrictDomainInLineCharts) => (0, _computeAxisValue.computeAxisValue)({
78
79
  drawingArea,
79
80
  formattedSeries,
80
81
  axis,
@@ -82,9 +83,10 @@ const selectorChartXAxis = exports.selectorChartXAxis = (0, _selectors.createSel
82
83
  axisDirection: 'x',
83
84
  zoomMap,
84
85
  zoomOptions,
85
- getFilters
86
+ getFilters,
87
+ preferStrictDomainInLineCharts
86
88
  }));
87
- const selectorChartYAxis = exports.selectorChartYAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters) => (0, _computeAxisValue.computeAxisValue)({
89
+ const selectorChartYAxis = exports.selectorChartYAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesConfig, selectorChartZoomMap, selectorChartZoomOptionsLookup, selectorChartZoomAxisFilters, _useChartExperimentalFeature.selectorPreferStrictDomainInLineCharts], (axis, drawingArea, formattedSeries, seriesConfig, zoomMap, zoomOptions, getFilters, preferStrictDomainInLineCharts) => (0, _computeAxisValue.computeAxisValue)({
88
90
  drawingArea,
89
91
  formattedSeries,
90
92
  axis,
@@ -92,7 +94,8 @@ const selectorChartYAxis = exports.selectorChartYAxis = (0, _selectors.createSel
92
94
  axisDirection: 'y',
93
95
  zoomMap,
94
96
  zoomOptions,
95
- getFilters
97
+ getFilters,
98
+ preferStrictDomainInLineCharts
96
99
  }));
97
100
  const selectorChartAxis = exports.selectorChartAxis = (0, _selectors.createSelector)([selectorChartXAxis, selectorChartYAxis, (_, axisId) => axisId], (xAxes, yAxes, axisId) => xAxes?.axis[axisId] ?? yAxes?.axis[axisId]);
98
101
  const selectorChartRawAxis = exports.selectorChartRawAxis = (0, _selectors.createSelector)([_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartCartesianAxisLayout.selectorChartRawYAxis, (state, axisId) => axisId], (xAxes, yAxes, axisId) => {
@@ -0,0 +1,47 @@
1
+ import { AxisItemIdentifier, ChartsAxisProps } from "../../../../models/axis.js";
2
+ export declare const selectorChartsHighlightXAxisIndex: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
3
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
4
+ } & {
5
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
6
+ } & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & Partial<{}>, AxisItemIdentifier[], [id?: import("../../../index.js").AxisId | undefined]>;
7
+ export declare const selectorChartsHighlightYAxisIndex: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
8
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
9
+ } & {
10
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
11
+ } & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & Partial<{}>, AxisItemIdentifier[], [id?: import("../../../index.js").AxisId | undefined]>;
12
+ export declare const selectorChartsHighlightXAxisValue: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
13
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
14
+ } & {
15
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
16
+ } & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & Partial<{}>, {
17
+ value: any;
18
+ axisId: import("../../../index.js").AxisId;
19
+ dataIndex: number;
20
+ }[] | {
21
+ axisId: import("../../../index.js").AxisId;
22
+ dataIndex: number | null;
23
+ value: number | Date;
24
+ }[], [id?: import("../../../index.js").AxisId | undefined]>;
25
+ export declare const selectorChartsHighlightYAxisValue: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
26
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
27
+ } & {
28
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
29
+ } & Partial<import("./useChartCartesianAxis.types.js").UseChartCartesianAxisState> & Partial<{}>, {
30
+ value: any;
31
+ axisId: import("../../../index.js").AxisId;
32
+ dataIndex: number;
33
+ }[] | {
34
+ axisId: import("../../../index.js").AxisId;
35
+ dataIndex: number | null;
36
+ value: number | Date;
37
+ }[], [id?: import("../../../index.js").AxisId | undefined]>;
38
+ export declare const selectorChartsHighlightXAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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> & {
39
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
40
+ } & Partial<{}> & {
41
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
42
+ }, import("../../../index.js").ComputedAxis<keyof import("../../../index.js").AxisScaleConfig, any, ChartsAxisProps>[], []>;
43
+ export declare const selectorChartsHighlightYAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & 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
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
45
+ } & Partial<{}> & {
46
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
47
+ }, import("../../../index.js").ComputedAxis<keyof import("../../../index.js").AxisScaleConfig, any, ChartsAxisProps>[], []>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.selectorChartsHighlightYAxisValue = exports.selectorChartsHighlightYAxisIndex = exports.selectorChartsHighlightYAxis = exports.selectorChartsHighlightXAxisValue = exports.selectorChartsHighlightXAxisIndex = exports.selectorChartsHighlightXAxis = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _selectors = require("../../utils/selectors");
10
+ var _useChartCartesianAxisRendering = require("./useChartCartesianAxisRendering.selectors");
11
+ var _useChartCartesianInteraction = require("./useChartCartesianInteraction.selectors");
12
+ const selectorChartControlledCartesianAxisHighlight = state => state.controlledCartesianAxisHighlight;
13
+ const selectAxisHighlight = (computedIndex, axis, axisItems) => {
14
+ if (axisItems !== undefined) {
15
+ return axisItems.filter(item => axis.axis[item.axisId] !== undefined).map(item => item);
16
+ }
17
+ return computedIndex === null ? [] : [{
18
+ axisId: axis.axisIds[0],
19
+ dataIndex: computedIndex
20
+ }];
21
+ };
22
+ const selectorChartsHighlightXAxisIndex = exports.selectorChartsHighlightXAxisIndex = (0, _selectors.createSelector)([_useChartCartesianInteraction.selectorChartsInteractionXAxisIndex, _useChartCartesianAxisRendering.selectorChartXAxis, selectorChartControlledCartesianAxisHighlight], selectAxisHighlight);
23
+ const selectorChartsHighlightYAxisIndex = exports.selectorChartsHighlightYAxisIndex = (0, _selectors.createSelector)([_useChartCartesianInteraction.selectorChartsInteractionYAxisIndex, _useChartCartesianAxisRendering.selectorChartYAxis, selectorChartControlledCartesianAxisHighlight], selectAxisHighlight);
24
+ const selectAxisHighlightWithValue = (computedIndex, computedValue, axis, axisItems) => {
25
+ if (axisItems !== undefined) {
26
+ return axisItems.map(item => (0, _extends2.default)({}, item, {
27
+ value: axis.axis[item.axisId]?.data?.[item.dataIndex]
28
+ })).filter(({
29
+ value
30
+ }) => value !== undefined);
31
+ }
32
+ return computedValue === null ? [] : [{
33
+ axisId: axis.axisIds[0],
34
+ dataIndex: computedIndex,
35
+ value: computedValue
36
+ }];
37
+ };
38
+ const selectorChartsHighlightXAxisValue = exports.selectorChartsHighlightXAxisValue = (0, _selectors.createSelector)([_useChartCartesianInteraction.selectorChartsInteractionXAxisIndex, _useChartCartesianInteraction.selectorChartsInteractionXAxisValue, _useChartCartesianAxisRendering.selectorChartXAxis, selectorChartControlledCartesianAxisHighlight], selectAxisHighlightWithValue);
39
+ const selectorChartsHighlightYAxisValue = exports.selectorChartsHighlightYAxisValue = (0, _selectors.createSelector)([_useChartCartesianInteraction.selectorChartsInteractionYAxisIndex, _useChartCartesianInteraction.selectorChartsInteractionYAxisValue, _useChartCartesianAxisRendering.selectorChartYAxis, selectorChartControlledCartesianAxisHighlight], selectAxisHighlightWithValue);
40
+
41
+ /**
42
+ * Get the scale of the axis with highlight if controlled. The default axis otherwise.
43
+ * @param controlledItem The controlled value of highlightedAxis
44
+ * @param axis The axis state after all the processing
45
+ * @returns axis state
46
+ */
47
+ const selectAxis = (axisItems, axis) => {
48
+ if (axisItems === undefined) {
49
+ return [axis.axis[axis.axisIds[0]]];
50
+ }
51
+ const filteredAxes = axisItems.map(item => axis.axis[item.axisId] ?? null).filter(item => item !== null);
52
+ return filteredAxes;
53
+ };
54
+ const selectorChartsHighlightXAxis = exports.selectorChartsHighlightXAxis = (0, _selectors.createSelector)([selectorChartControlledCartesianAxisHighlight, _useChartCartesianAxisRendering.selectorChartXAxis], selectAxis);
55
+ const selectorChartsHighlightYAxis = exports.selectorChartsHighlightYAxis = (0, _selectors.createSelector)([selectorChartControlledCartesianAxisHighlight, _useChartCartesianAxisRendering.selectorChartYAxis], selectAxis);