@mui/x-charts-pro 8.4.0 → 8.5.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 (138) hide show
  1. package/BarChartPro/BarChartPro.d.ts +13 -5
  2. package/BarChartPro/BarChartPro.js +19 -1
  3. package/CHANGELOG.md +103 -0
  4. package/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  5. package/ChartContainerPro/ChartProApi.d.ts +26 -0
  6. package/ChartContainerPro/ChartProApi.js +5 -0
  7. package/ChartContainerPro/index.d.ts +2 -1
  8. package/ChartContainerPro/index.js +11 -0
  9. package/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
  10. package/ChartDataProviderPro/ChartDataProviderPro.js +19 -3
  11. package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
  12. package/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
  13. package/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
  14. package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +25 -315
  15. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
  16. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +251 -0
  17. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  18. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +160 -0
  19. package/ChartZoomSlider/internals/constants.d.ts +5 -0
  20. package/ChartZoomSlider/internals/constants.js +11 -0
  21. package/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
  22. package/ChartZoomSlider/internals/zoom-utils.js +48 -0
  23. package/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
  24. package/ChartsToolbarPro/ChartsToolbarPro.js +42 -8
  25. package/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
  26. package/ChartsToolbarPro/ChartsToolbarZoomInButton.js +56 -0
  27. package/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
  28. package/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +56 -0
  29. package/ChartsToolbarPro/index.d.ts +3 -1
  30. package/ChartsToolbarPro/index.js +22 -0
  31. package/FunnelChart/FunnelChart.d.ts +2 -1
  32. package/FunnelChart/FunnelChart.js +2 -20
  33. package/FunnelChart/FunnelChart.plugins.d.ts +4 -0
  34. package/FunnelChart/FunnelChart.plugins.js +9 -0
  35. package/FunnelChart/funnelSlots.types.d.ts +4 -3
  36. package/FunnelChart/useFunnelChartProps.d.ts +2 -1
  37. package/FunnelChart/useFunnelChartProps.js +3 -1
  38. package/Heatmap/Heatmap.d.ts +17 -4
  39. package/Heatmap/Heatmap.js +56 -22
  40. package/Heatmap/Heatmap.plugins.d.ts +2 -1
  41. package/Heatmap/Heatmap.plugins.js +2 -1
  42. package/LineChartPro/LineChartPro.d.ts +13 -5
  43. package/LineChartPro/LineChartPro.js +19 -1
  44. package/RadarChartPro/RadarChartPro.d.ts +15 -0
  45. package/RadarChartPro/RadarChartPro.js +202 -0
  46. package/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  47. package/RadarChartPro/RadarChartPro.plugins.js +9 -0
  48. package/RadarChartPro/index.d.ts +1 -0
  49. package/RadarChartPro/index.js +16 -0
  50. package/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  51. package/ScatterChartPro/ScatterChartPro.js +19 -1
  52. package/context/index.d.ts +1 -0
  53. package/context/index.js +16 -0
  54. package/context/useChartApiContext.d.ts +9 -0
  55. package/context/useChartApiContext.js +17 -0
  56. package/esm/BarChartPro/BarChartPro.d.ts +13 -5
  57. package/esm/BarChartPro/BarChartPro.js +19 -1
  58. package/esm/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  59. package/esm/ChartContainerPro/ChartProApi.d.ts +26 -0
  60. package/esm/ChartContainerPro/ChartProApi.js +1 -0
  61. package/esm/ChartContainerPro/index.d.ts +2 -1
  62. package/esm/ChartContainerPro/index.js +2 -1
  63. package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
  64. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +20 -4
  65. package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
  66. package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
  67. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
  68. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +19 -306
  69. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
  70. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +243 -0
  71. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  72. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +152 -0
  73. package/esm/ChartZoomSlider/internals/constants.d.ts +5 -0
  74. package/esm/ChartZoomSlider/internals/constants.js +5 -0
  75. package/esm/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
  76. package/esm/ChartZoomSlider/internals/zoom-utils.js +40 -0
  77. package/esm/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
  78. package/esm/ChartsToolbarPro/ChartsToolbarPro.js +42 -9
  79. package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
  80. package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.js +50 -0
  81. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
  82. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +50 -0
  83. package/esm/ChartsToolbarPro/index.d.ts +3 -1
  84. package/esm/ChartsToolbarPro/index.js +3 -1
  85. package/esm/FunnelChart/FunnelChart.d.ts +2 -1
  86. package/esm/FunnelChart/FunnelChart.js +2 -20
  87. package/esm/FunnelChart/FunnelChart.plugins.d.ts +4 -0
  88. package/esm/FunnelChart/FunnelChart.plugins.js +3 -0
  89. package/esm/FunnelChart/funnelSlots.types.d.ts +4 -3
  90. package/esm/FunnelChart/useFunnelChartProps.d.ts +2 -1
  91. package/esm/FunnelChart/useFunnelChartProps.js +3 -1
  92. package/esm/Heatmap/Heatmap.d.ts +17 -4
  93. package/esm/Heatmap/Heatmap.js +56 -22
  94. package/esm/Heatmap/Heatmap.plugins.d.ts +2 -1
  95. package/esm/Heatmap/Heatmap.plugins.js +2 -1
  96. package/esm/LineChartPro/LineChartPro.d.ts +13 -5
  97. package/esm/LineChartPro/LineChartPro.js +19 -1
  98. package/esm/RadarChartPro/RadarChartPro.d.ts +15 -0
  99. package/esm/RadarChartPro/RadarChartPro.js +195 -0
  100. package/esm/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  101. package/esm/RadarChartPro/RadarChartPro.plugins.js +3 -0
  102. package/esm/RadarChartPro/index.d.ts +1 -0
  103. package/esm/RadarChartPro/index.js +1 -0
  104. package/esm/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  105. package/esm/ScatterChartPro/ScatterChartPro.js +19 -1
  106. package/esm/context/index.d.ts +1 -0
  107. package/esm/context/index.js +1 -0
  108. package/esm/context/useChartApiContext.d.ts +9 -0
  109. package/esm/context/useChartApiContext.js +11 -0
  110. package/esm/hooks/index.d.ts +2 -1
  111. package/esm/hooks/index.js +2 -1
  112. package/esm/index.d.ts +2 -1
  113. package/esm/index.js +2 -1
  114. package/esm/internals/material/index.d.ts +1 -0
  115. package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +10 -0
  116. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  117. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +15 -1
  118. package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  119. package/esm/models/index.d.ts +1 -1
  120. package/hooks/index.d.ts +2 -1
  121. package/hooks/index.js +21 -10
  122. package/index.d.ts +2 -1
  123. package/index.js +12 -1
  124. package/internals/material/index.d.ts +1 -0
  125. package/internals/plugins/useChartProZoom/useChartProZoom.js +10 -0
  126. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  127. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +16 -2
  128. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  129. package/models/index.d.ts +1 -1
  130. package/package.json +5 -5
  131. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  132. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -36
  133. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  134. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -36
  135. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  136. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -29
  137. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  138. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -29
@@ -66,9 +66,10 @@ const ScatterChartPro = /*#__PURE__*/React.forwardRef(function ScatterChartPro(i
66
66
  plugins: SCATTER_CHART_PRO_PLUGINS
67
67
  }), ref);
68
68
  const Tooltip = props.slots?.tooltip ?? ChartsTooltip;
69
+ const Toolbar = props.slots?.toolbar ?? ChartsToolbarPro;
69
70
  return /*#__PURE__*/_jsx(ChartDataProviderPro, _extends({}, chartDataProviderProProps, {
70
71
  children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
71
- children: [showToolbar ? /*#__PURE__*/_jsx(ChartsToolbarPro, {}) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
72
+ children: [showToolbar ? /*#__PURE__*/_jsx(Toolbar, {}) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
72
73
  children: [/*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartZoomSlider, {}), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsx("g", {
73
74
  "data-drawing-container": true,
74
75
  children: /*#__PURE__*/_jsx(ScatterPlot, _extends({}, scatterPlotProps))
@@ -89,6 +90,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
89
90
  current: PropTypes.shape({
90
91
  exportAsImage: PropTypes.func.isRequired,
91
92
  exportAsPrint: PropTypes.func.isRequired,
93
+ setAxisZoomData: PropTypes.func.isRequired,
92
94
  setZoomData: PropTypes.func.isRequired
93
95
  })
94
96
  }),
@@ -311,6 +313,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
311
313
  panning: PropTypes.bool,
312
314
  slider: PropTypes.shape({
313
315
  enabled: PropTypes.bool,
316
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
314
317
  size: PropTypes.number
315
318
  }),
316
319
  step: PropTypes.number
@@ -375,6 +378,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
375
378
  panning: PropTypes.bool,
376
379
  slider: PropTypes.shape({
377
380
  enabled: PropTypes.bool,
381
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
378
382
  size: PropTypes.number
379
383
  }),
380
384
  step: PropTypes.number
@@ -434,6 +438,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
434
438
  panning: PropTypes.bool,
435
439
  slider: PropTypes.shape({
436
440
  enabled: PropTypes.bool,
441
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
437
442
  size: PropTypes.number
438
443
  }),
439
444
  step: PropTypes.number
@@ -493,6 +498,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
493
498
  panning: PropTypes.bool,
494
499
  slider: PropTypes.shape({
495
500
  enabled: PropTypes.bool,
501
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
496
502
  size: PropTypes.number
497
503
  }),
498
504
  step: PropTypes.number
@@ -552,6 +558,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
552
558
  panning: PropTypes.bool,
553
559
  slider: PropTypes.shape({
554
560
  enabled: PropTypes.bool,
561
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
555
562
  size: PropTypes.number
556
563
  }),
557
564
  step: PropTypes.number
@@ -611,6 +618,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
611
618
  panning: PropTypes.bool,
612
619
  slider: PropTypes.shape({
613
620
  enabled: PropTypes.bool,
621
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
614
622
  size: PropTypes.number
615
623
  }),
616
624
  step: PropTypes.number
@@ -670,6 +678,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
670
678
  panning: PropTypes.bool,
671
679
  slider: PropTypes.shape({
672
680
  enabled: PropTypes.bool,
681
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
673
682
  size: PropTypes.number
674
683
  }),
675
684
  step: PropTypes.number
@@ -729,6 +738,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
729
738
  panning: PropTypes.bool,
730
739
  slider: PropTypes.shape({
731
740
  enabled: PropTypes.bool,
741
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
732
742
  size: PropTypes.number
733
743
  }),
734
744
  step: PropTypes.number
@@ -800,6 +810,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
800
810
  panning: PropTypes.bool,
801
811
  slider: PropTypes.shape({
802
812
  enabled: PropTypes.bool,
813
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
803
814
  size: PropTypes.number
804
815
  }),
805
816
  step: PropTypes.number
@@ -863,6 +874,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
863
874
  panning: PropTypes.bool,
864
875
  slider: PropTypes.shape({
865
876
  enabled: PropTypes.bool,
877
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
866
878
  size: PropTypes.number
867
879
  }),
868
880
  step: PropTypes.number
@@ -921,6 +933,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
921
933
  panning: PropTypes.bool,
922
934
  slider: PropTypes.shape({
923
935
  enabled: PropTypes.bool,
936
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
924
937
  size: PropTypes.number
925
938
  }),
926
939
  step: PropTypes.number
@@ -979,6 +992,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
979
992
  panning: PropTypes.bool,
980
993
  slider: PropTypes.shape({
981
994
  enabled: PropTypes.bool,
995
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
982
996
  size: PropTypes.number
983
997
  }),
984
998
  step: PropTypes.number
@@ -1037,6 +1051,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1037
1051
  panning: PropTypes.bool,
1038
1052
  slider: PropTypes.shape({
1039
1053
  enabled: PropTypes.bool,
1054
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1040
1055
  size: PropTypes.number
1041
1056
  }),
1042
1057
  step: PropTypes.number
@@ -1095,6 +1110,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1095
1110
  panning: PropTypes.bool,
1096
1111
  slider: PropTypes.shape({
1097
1112
  enabled: PropTypes.bool,
1113
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1098
1114
  size: PropTypes.number
1099
1115
  }),
1100
1116
  step: PropTypes.number
@@ -1153,6 +1169,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1153
1169
  panning: PropTypes.bool,
1154
1170
  slider: PropTypes.shape({
1155
1171
  enabled: PropTypes.bool,
1172
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1156
1173
  size: PropTypes.number
1157
1174
  }),
1158
1175
  step: PropTypes.number
@@ -1211,6 +1228,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1211
1228
  panning: PropTypes.bool,
1212
1229
  slider: PropTypes.shape({
1213
1230
  enabled: PropTypes.bool,
1231
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1214
1232
  size: PropTypes.number
1215
1233
  }),
1216
1234
  step: PropTypes.number
@@ -0,0 +1 @@
1
+ export * from "./useChartApiContext.js";
@@ -0,0 +1 @@
1
+ export * from "./useChartApiContext.js";
@@ -0,0 +1,9 @@
1
+ import { ChartProApi } from "../ChartContainerPro/index.js";
2
+ /**
3
+ * The `useChartApiContext` hook provides access to the chart API.
4
+ * This is only available when the chart is rendered within a chart or a `ChartDataProvider` component.
5
+ * If you want to access the chart API outside those components, you should use the `apiRef` prop instead.
6
+ * @example
7
+ * const apiRef = useChartApiContext<ChartProApi<'bar'>>();
8
+ */
9
+ export declare function useChartApiContext<Api extends ChartProApi>(): import("react").RefObject<Api>;
@@ -0,0 +1,11 @@
1
+ import { useChartApiContext as useChartApiContextCommunity } from '@mui/x-charts/context';
2
+ /**
3
+ * The `useChartApiContext` hook provides access to the chart API.
4
+ * This is only available when the chart is rendered within a chart or a `ChartDataProvider` component.
5
+ * If you want to access the chart API outside those components, you should use the `apiRef` prop instead.
6
+ * @example
7
+ * const apiRef = useChartApiContext<ChartProApi<'bar'>>();
8
+ */
9
+ export function useChartApiContext() {
10
+ return useChartApiContextCommunity();
11
+ }
@@ -1,2 +1,3 @@
1
- export { useHeatmapSeries } from "./useHeatmapSeries.js";
1
+ export * from "./useHeatmapSeries.js";
2
+ export * from "./useFunnelSeries.js";
2
3
  export * from "./zoom/index.js";
@@ -1,2 +1,3 @@
1
- export { useHeatmapSeries } from "./useHeatmapSeries.js";
1
+ export * from "./useHeatmapSeries.js";
2
+ export * from "./useFunnelSeries.js";
2
3
  export * from "./zoom/index.js";
package/esm/index.d.ts CHANGED
@@ -25,7 +25,7 @@ export * from '@mui/x-charts/RadarChart';
25
25
  export * from '@mui/x-charts/ChartsSurface';
26
26
  export * from '@mui/x-charts/ChartDataProvider';
27
27
  export * from '@mui/x-charts/ChartsLabel';
28
- export type { ZoomData, ZoomFilterMode, ZoomOptions, ZoomSliderOptions } from '@mui/x-charts/internals';
28
+ export type { ZoomData, ZoomFilterMode, ZoomSliderShowTooltip, ZoomOptions, ZoomSliderOptions } from '@mui/x-charts/internals';
29
29
  export * from "./hooks/index.js";
30
30
  export * from "./Heatmap/index.js";
31
31
  export * from "./ChartContainerPro/index.js";
@@ -34,5 +34,6 @@ export * from "./ScatterChartPro/index.js";
34
34
  export * from "./BarChartPro/index.js";
35
35
  export * from "./LineChartPro/index.js";
36
36
  export * from "./FunnelChart/index.js";
37
+ export * from "./RadarChartPro/index.js";
37
38
  export * from "./ChartZoomSlider/index.js";
38
39
  export * from "./ChartsToolbarPro/index.js";
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts-pro v8.4.0
2
+ * @mui/x-charts-pro v8.5.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -43,5 +43,6 @@ export * from "./ScatterChartPro/index.js";
43
43
  export * from "./BarChartPro/index.js";
44
44
  export * from "./LineChartPro/index.js";
45
45
  export * from "./FunnelChart/index.js";
46
+ export * from "./RadarChartPro/index.js";
46
47
  export * from "./ChartZoomSlider/index.js";
47
48
  export * from "./ChartsToolbarPro/index.js";
@@ -1,4 +1,5 @@
1
1
  import { ChartsBaseSlotsPro } from "../slots/chartsBaseSlots.js";
2
2
  import { ChartsIconSlotsPro } from "../slots/chartsIconSlots.js";
3
3
  export type ChartsSlotsPro = ChartsBaseSlotsPro & ChartsIconSlotsPro;
4
+ export type ChartsSlotPropsPro = { [key in keyof ChartsSlotsPro]: React.ComponentProps<ChartsSlotsPro[key]> };
4
5
  export declare const defaultSlotsMaterial: ChartsSlotsPro;
@@ -102,6 +102,14 @@ export const useChartProZoom = ({
102
102
  });
103
103
  });
104
104
  }, [onZoomChange, store, removeIsInteracting]);
105
+ const setAxisZoomData = React.useCallback((axisId, zoomData) => {
106
+ setZoomDataCallback(prev => prev.map(prevZoom => {
107
+ if (prevZoom.axisId !== axisId) {
108
+ return prevZoom;
109
+ }
110
+ return typeof zoomData === 'function' ? zoomData(prevZoom) : zoomData;
111
+ }));
112
+ }, [setZoomDataCallback]);
105
113
  const moveZoomRange = React.useCallback((axisId, by) => {
106
114
  setZoomDataCallback(prevZoomData => {
107
115
  return prevZoomData.map(zoom => {
@@ -367,11 +375,13 @@ export const useChartProZoom = ({
367
375
  return {
368
376
  publicAPI: {
369
377
  setZoomData: setZoomDataCallback,
378
+ setAxisZoomData,
370
379
  zoomIn,
371
380
  zoomOut
372
381
  },
373
382
  instance: {
374
383
  setZoomData: setZoomDataCallback,
384
+ setAxisZoomData,
375
385
  moveZoomRange,
376
386
  zoomIn,
377
387
  zoomOut
@@ -252,4 +252,362 @@ export declare const selectorChartAxisZoomData: ((state: any, axisId: AxisId) =>
252
252
  } & {
253
253
  argsMemoize: typeof import("reselect").weakMapMemoize;
254
254
  memoize: typeof import("reselect").weakMapMemoize;
255
+ };
256
+ export declare const selectorChartCanZoomOut: ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
257
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
258
+ } & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
259
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
260
+ }) => boolean) & {
261
+ clearCache: () => void;
262
+ resultsCount: () => number;
263
+ resetResultsCount: () => void;
264
+ } & {
265
+ resultFunc: (resultFuncArgs_0: {
266
+ isInteracting: boolean;
267
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
268
+ isControlled: boolean;
269
+ }, resultFuncArgs_1: {
270
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
271
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
272
+ }) => boolean;
273
+ memoizedResultFunc: ((resultFuncArgs_0: {
274
+ isInteracting: boolean;
275
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
276
+ isControlled: boolean;
277
+ }, resultFuncArgs_1: {
278
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
279
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
280
+ }) => boolean) & {
281
+ clearCache: () => void;
282
+ resultsCount: () => number;
283
+ resetResultsCount: () => void;
284
+ };
285
+ lastResult: () => boolean;
286
+ dependencies: [ChartRootSelector<UseChartProZoomSignature>, ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
287
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
288
+ }) => {
289
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
290
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
291
+ }) & {
292
+ clearCache: () => void;
293
+ resultsCount: () => number;
294
+ resetResultsCount: () => void;
295
+ } & {
296
+ resultFunc: (resultFuncArgs_0: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
297
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
298
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
299
+ };
300
+ memoizedResultFunc: ((resultFuncArgs_0: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
301
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
302
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
303
+ }) & {
304
+ clearCache: () => void;
305
+ resultsCount: () => number;
306
+ resetResultsCount: () => void;
307
+ };
308
+ lastResult: () => {
309
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
310
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
311
+ };
312
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
313
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
314
+ }) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
315
+ clearCache: () => void;
316
+ resultsCount: () => number;
317
+ resetResultsCount: () => void;
318
+ } & {
319
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
320
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
321
+ clearCache: () => void;
322
+ resultsCount: () => number;
323
+ resetResultsCount: () => void;
324
+ };
325
+ lastResult: () => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
326
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
327
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
328
+ }) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) & {
329
+ clearCache: () => void;
330
+ resultsCount: () => number;
331
+ resetResultsCount: () => void;
332
+ } & {
333
+ resultFunc: (resultFuncArgs_0: {
334
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
335
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
336
+ } | undefined) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined;
337
+ memoizedResultFunc: ((resultFuncArgs_0: {
338
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
339
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
340
+ } | undefined) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) & {
341
+ clearCache: () => void;
342
+ resultsCount: () => number;
343
+ resetResultsCount: () => void;
344
+ };
345
+ lastResult: () => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined;
346
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
347
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
348
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
349
+ } | undefined];
350
+ recomputations: () => number;
351
+ resetRecomputations: () => void;
352
+ dependencyRecomputations: () => number;
353
+ resetDependencyRecomputations: () => void;
354
+ } & {
355
+ memoize: typeof import("reselect").weakMapMemoize;
356
+ argsMemoize: typeof import("reselect").weakMapMemoize;
357
+ }];
358
+ recomputations: () => number;
359
+ resetRecomputations: () => void;
360
+ dependencyRecomputations: () => number;
361
+ resetDependencyRecomputations: () => void;
362
+ } & {
363
+ memoize: typeof import("reselect").weakMapMemoize;
364
+ argsMemoize: typeof import("reselect").weakMapMemoize;
365
+ }, ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
366
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
367
+ }) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
368
+ clearCache: () => void;
369
+ resultsCount: () => number;
370
+ resetResultsCount: () => void;
371
+ } & {
372
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
373
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
374
+ clearCache: () => void;
375
+ resultsCount: () => number;
376
+ resetResultsCount: () => void;
377
+ };
378
+ lastResult: () => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
379
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
380
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
381
+ }) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) & {
382
+ clearCache: () => void;
383
+ resultsCount: () => number;
384
+ resetResultsCount: () => void;
385
+ } & {
386
+ resultFunc: (resultFuncArgs_0: {
387
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
388
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
389
+ } | undefined) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined;
390
+ memoizedResultFunc: ((resultFuncArgs_0: {
391
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
392
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
393
+ } | undefined) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) & {
394
+ clearCache: () => void;
395
+ resultsCount: () => number;
396
+ resetResultsCount: () => void;
397
+ };
398
+ lastResult: () => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined;
399
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
400
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
401
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
402
+ } | undefined];
403
+ recomputations: () => number;
404
+ resetRecomputations: () => void;
405
+ dependencyRecomputations: () => number;
406
+ resetDependencyRecomputations: () => void;
407
+ } & {
408
+ memoize: typeof import("reselect").weakMapMemoize;
409
+ argsMemoize: typeof import("reselect").weakMapMemoize;
410
+ }];
411
+ recomputations: () => number;
412
+ resetRecomputations: () => void;
413
+ dependencyRecomputations: () => number;
414
+ resetDependencyRecomputations: () => void;
415
+ } & {
416
+ memoize: typeof import("reselect").weakMapMemoize;
417
+ argsMemoize: typeof import("reselect").weakMapMemoize;
418
+ }];
419
+ recomputations: () => number;
420
+ resetRecomputations: () => void;
421
+ dependencyRecomputations: () => number;
422
+ resetDependencyRecomputations: () => void;
423
+ } & {
424
+ memoize: typeof import("reselect").weakMapMemoize;
425
+ argsMemoize: typeof import("reselect").weakMapMemoize;
426
+ }];
427
+ recomputations: () => number;
428
+ resetRecomputations: () => void;
429
+ dependencyRecomputations: () => number;
430
+ resetDependencyRecomputations: () => void;
431
+ } & {
432
+ argsMemoize: typeof import("reselect").weakMapMemoize;
433
+ memoize: typeof import("reselect").weakMapMemoize;
434
+ };
435
+ export declare const selectorChartCanZoomIn: ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
436
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
437
+ } & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
438
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
439
+ }) => boolean) & {
440
+ clearCache: () => void;
441
+ resultsCount: () => number;
442
+ resetResultsCount: () => void;
443
+ } & {
444
+ resultFunc: (resultFuncArgs_0: {
445
+ isInteracting: boolean;
446
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
447
+ isControlled: boolean;
448
+ }, resultFuncArgs_1: {
449
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
450
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
451
+ }) => boolean;
452
+ memoizedResultFunc: ((resultFuncArgs_0: {
453
+ isInteracting: boolean;
454
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
455
+ isControlled: boolean;
456
+ }, resultFuncArgs_1: {
457
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
458
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
459
+ }) => boolean) & {
460
+ clearCache: () => void;
461
+ resultsCount: () => number;
462
+ resetResultsCount: () => void;
463
+ };
464
+ lastResult: () => boolean;
465
+ dependencies: [ChartRootSelector<UseChartProZoomSignature>, ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
466
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
467
+ }) => {
468
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
469
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
470
+ }) & {
471
+ clearCache: () => void;
472
+ resultsCount: () => number;
473
+ resetResultsCount: () => void;
474
+ } & {
475
+ resultFunc: (resultFuncArgs_0: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
476
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
477
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
478
+ };
479
+ memoizedResultFunc: ((resultFuncArgs_0: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
480
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
481
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
482
+ }) & {
483
+ clearCache: () => void;
484
+ resultsCount: () => number;
485
+ resetResultsCount: () => void;
486
+ };
487
+ lastResult: () => {
488
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
489
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
490
+ };
491
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
492
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
493
+ }) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
494
+ clearCache: () => void;
495
+ resultsCount: () => number;
496
+ resetResultsCount: () => void;
497
+ } & {
498
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
499
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
500
+ clearCache: () => void;
501
+ resultsCount: () => number;
502
+ resetResultsCount: () => void;
503
+ };
504
+ lastResult: () => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
505
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
506
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
507
+ }) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) & {
508
+ clearCache: () => void;
509
+ resultsCount: () => number;
510
+ resetResultsCount: () => void;
511
+ } & {
512
+ resultFunc: (resultFuncArgs_0: {
513
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
514
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
515
+ } | undefined) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined;
516
+ memoizedResultFunc: ((resultFuncArgs_0: {
517
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
518
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
519
+ } | undefined) => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined) & {
520
+ clearCache: () => void;
521
+ resultsCount: () => number;
522
+ resetResultsCount: () => void;
523
+ };
524
+ lastResult: () => import("@mui/x-charts/internals").DefaultedXAxis[] | undefined;
525
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
526
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
527
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
528
+ } | undefined];
529
+ recomputations: () => number;
530
+ resetRecomputations: () => void;
531
+ dependencyRecomputations: () => number;
532
+ resetDependencyRecomputations: () => void;
533
+ } & {
534
+ memoize: typeof import("reselect").weakMapMemoize;
535
+ argsMemoize: typeof import("reselect").weakMapMemoize;
536
+ }];
537
+ recomputations: () => number;
538
+ resetRecomputations: () => void;
539
+ dependencyRecomputations: () => number;
540
+ resetDependencyRecomputations: () => void;
541
+ } & {
542
+ memoize: typeof import("reselect").weakMapMemoize;
543
+ argsMemoize: typeof import("reselect").weakMapMemoize;
544
+ }, ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
545
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
546
+ }) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
547
+ clearCache: () => void;
548
+ resultsCount: () => number;
549
+ resetResultsCount: () => void;
550
+ } & {
551
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
552
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
553
+ clearCache: () => void;
554
+ resultsCount: () => number;
555
+ resetResultsCount: () => void;
556
+ };
557
+ lastResult: () => Record<AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
558
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
559
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
560
+ }) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) & {
561
+ clearCache: () => void;
562
+ resultsCount: () => number;
563
+ resetResultsCount: () => void;
564
+ } & {
565
+ resultFunc: (resultFuncArgs_0: {
566
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
567
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
568
+ } | undefined) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined;
569
+ memoizedResultFunc: ((resultFuncArgs_0: {
570
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
571
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
572
+ } | undefined) => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined) & {
573
+ clearCache: () => void;
574
+ resultsCount: () => number;
575
+ resetResultsCount: () => void;
576
+ };
577
+ lastResult: () => import("@mui/x-charts/internals").DefaultedYAxis[] | undefined;
578
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
579
+ x: import("@mui/x-charts/internals").DefaultedXAxis[];
580
+ y: import("@mui/x-charts/internals").DefaultedYAxis[];
581
+ } | undefined];
582
+ recomputations: () => number;
583
+ resetRecomputations: () => void;
584
+ dependencyRecomputations: () => number;
585
+ resetDependencyRecomputations: () => void;
586
+ } & {
587
+ memoize: typeof import("reselect").weakMapMemoize;
588
+ argsMemoize: typeof import("reselect").weakMapMemoize;
589
+ }];
590
+ recomputations: () => number;
591
+ resetRecomputations: () => void;
592
+ dependencyRecomputations: () => number;
593
+ resetDependencyRecomputations: () => void;
594
+ } & {
595
+ memoize: typeof import("reselect").weakMapMemoize;
596
+ argsMemoize: typeof import("reselect").weakMapMemoize;
597
+ }];
598
+ recomputations: () => number;
599
+ resetRecomputations: () => void;
600
+ dependencyRecomputations: () => number;
601
+ resetDependencyRecomputations: () => void;
602
+ } & {
603
+ memoize: typeof import("reselect").weakMapMemoize;
604
+ argsMemoize: typeof import("reselect").weakMapMemoize;
605
+ }];
606
+ recomputations: () => number;
607
+ resetRecomputations: () => void;
608
+ dependencyRecomputations: () => number;
609
+ resetDependencyRecomputations: () => void;
610
+ } & {
611
+ argsMemoize: typeof import("reselect").weakMapMemoize;
612
+ memoize: typeof import("reselect").weakMapMemoize;
255
613
  };
@@ -2,4 +2,18 @@ import { createSelector, selectorChartZoomMap, selectorChartZoomOptionsLookup }
2
2
  export const selectorChartZoomState = state => state.zoom;
3
3
  export const selectorChartZoomIsInteracting = createSelector(selectorChartZoomState, zoom => zoom.isInteracting);
4
4
  export const selectorChartZoomIsEnabled = createSelector(selectorChartZoomOptionsLookup, optionsLookup => Object.keys(optionsLookup).length > 0);
5
- export const selectorChartAxisZoomData = createSelector([selectorChartZoomMap, (state, axisId) => axisId], (zoomMap, axisId) => zoomMap?.get(axisId));
5
+ export const selectorChartAxisZoomData = createSelector([selectorChartZoomMap, (state, axisId) => axisId], (zoomMap, axisId) => zoomMap?.get(axisId));
6
+ export const selectorChartCanZoomOut = createSelector([selectorChartZoomState, selectorChartZoomOptionsLookup], (zoomState, zoomOptions) => {
7
+ return zoomState.zoomData.every(zoomData => {
8
+ const span = zoomData.end - zoomData.start;
9
+ const options = zoomOptions[zoomData.axisId];
10
+ return zoomData.start === options.minStart && zoomData.end === options.maxEnd || span === options.maxSpan;
11
+ });
12
+ });
13
+ export const selectorChartCanZoomIn = createSelector([selectorChartZoomState, selectorChartZoomOptionsLookup], (zoomState, zoomOptions) => {
14
+ return zoomState.zoomData.every(zoomData => {
15
+ const span = zoomData.end - zoomData.start;
16
+ const options = zoomOptions[zoomData.axisId];
17
+ return span === options.minSpan;
18
+ });
19
+ });