@mui/x-charts-pro 8.4.0 → 8.5.1

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 (184) hide show
  1. package/BarChartPro/BarChartPro.d.ts +13 -5
  2. package/BarChartPro/BarChartPro.js +19 -1
  3. package/CHANGELOG.md +215 -0
  4. package/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  5. package/ChartContainerPro/ChartProApi.d.ts +28 -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 +22 -0
  16. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +283 -0
  17. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  18. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +138 -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 +5 -1
  24. package/ChartsToolbarPro/ChartsToolbarPro.js +35 -7
  25. package/ChartsToolbarPro/ChartsToolbarZoomInTrigger.d.ts +17 -0
  26. package/ChartsToolbarPro/ChartsToolbarZoomInTrigger.js +57 -0
  27. package/ChartsToolbarPro/ChartsToolbarZoomOutTrigger.d.ts +17 -0
  28. package/ChartsToolbarPro/ChartsToolbarZoomOutTrigger.js +57 -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/FunnelPlot.js +10 -22
  36. package/FunnelChart/FunnelSection.d.ts +1 -1
  37. package/FunnelChart/FunnelSectionLabel.d.ts +21 -0
  38. package/FunnelChart/FunnelSectionLabel.js +52 -0
  39. package/FunnelChart/curves/bump.d.ts +10 -4
  40. package/FunnelChart/curves/bump.js +73 -41
  41. package/FunnelChart/curves/curve.types.d.ts +6 -1
  42. package/FunnelChart/curves/getFunnelCurve.js +3 -0
  43. package/FunnelChart/curves/linear.d.ts +9 -1
  44. package/FunnelChart/curves/linear.js +82 -5
  45. package/FunnelChart/funnel.types.d.ts +1 -0
  46. package/FunnelChart/funnelPlotSlots.types.d.ts +11 -0
  47. package/FunnelChart/funnelSectionClasses.d.ts +2 -0
  48. package/FunnelChart/funnelSectionClasses.js +17 -4
  49. package/FunnelChart/funnelSlots.types.d.ts +4 -3
  50. package/FunnelChart/index.d.ts +3 -1
  51. package/FunnelChart/index.js +18 -2
  52. package/FunnelChart/useFunnelChartProps.d.ts +2 -1
  53. package/FunnelChart/useFunnelChartProps.js +3 -1
  54. package/Heatmap/Heatmap.d.ts +22 -4
  55. package/Heatmap/Heatmap.js +64 -22
  56. package/Heatmap/Heatmap.plugins.d.ts +2 -1
  57. package/Heatmap/Heatmap.plugins.js +2 -1
  58. package/Heatmap/HeatmapTooltip/HeatmapTooltipAxesValue.d.ts +1 -1
  59. package/LineChartPro/LineChartPro.d.ts +13 -5
  60. package/LineChartPro/LineChartPro.js +19 -1
  61. package/PieChartPro/PieChartPro.d.ts +21 -0
  62. package/PieChartPro/PieChartPro.js +204 -0
  63. package/PieChartPro/PieChartPro.plugins.d.ts +4 -0
  64. package/PieChartPro/PieChartPro.plugins.js +9 -0
  65. package/PieChartPro/index.d.ts +1 -0
  66. package/PieChartPro/index.js +16 -0
  67. package/RadarChartPro/RadarChartPro.d.ts +15 -0
  68. package/RadarChartPro/RadarChartPro.js +202 -0
  69. package/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  70. package/RadarChartPro/RadarChartPro.plugins.js +9 -0
  71. package/RadarChartPro/index.d.ts +1 -0
  72. package/RadarChartPro/index.js +16 -0
  73. package/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  74. package/ScatterChartPro/ScatterChartPro.js +19 -1
  75. package/context/index.d.ts +1 -0
  76. package/context/index.js +16 -0
  77. package/context/useChartApiContext.d.ts +9 -0
  78. package/context/useChartApiContext.js +17 -0
  79. package/esm/BarChartPro/BarChartPro.d.ts +13 -5
  80. package/esm/BarChartPro/BarChartPro.js +19 -1
  81. package/esm/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  82. package/esm/ChartContainerPro/ChartProApi.d.ts +28 -0
  83. package/esm/ChartContainerPro/ChartProApi.js +1 -0
  84. package/esm/ChartContainerPro/index.d.ts +2 -1
  85. package/esm/ChartContainerPro/index.js +2 -1
  86. package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
  87. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +20 -4
  88. package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
  89. package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
  90. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
  91. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +19 -306
  92. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +22 -0
  93. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +275 -0
  94. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  95. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +130 -0
  96. package/esm/ChartZoomSlider/internals/constants.d.ts +5 -0
  97. package/esm/ChartZoomSlider/internals/constants.js +5 -0
  98. package/esm/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
  99. package/esm/ChartZoomSlider/internals/zoom-utils.js +40 -0
  100. package/esm/ChartsToolbarPro/ChartsToolbarPro.d.ts +5 -1
  101. package/esm/ChartsToolbarPro/ChartsToolbarPro.js +36 -9
  102. package/esm/ChartsToolbarPro/ChartsToolbarZoomInTrigger.d.ts +17 -0
  103. package/esm/ChartsToolbarPro/ChartsToolbarZoomInTrigger.js +51 -0
  104. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutTrigger.d.ts +17 -0
  105. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutTrigger.js +51 -0
  106. package/esm/ChartsToolbarPro/index.d.ts +3 -1
  107. package/esm/ChartsToolbarPro/index.js +3 -1
  108. package/esm/FunnelChart/FunnelChart.d.ts +2 -1
  109. package/esm/FunnelChart/FunnelChart.js +2 -20
  110. package/esm/FunnelChart/FunnelChart.plugins.d.ts +4 -0
  111. package/esm/FunnelChart/FunnelChart.plugins.js +3 -0
  112. package/esm/FunnelChart/FunnelPlot.js +10 -22
  113. package/esm/FunnelChart/FunnelSection.d.ts +1 -1
  114. package/esm/FunnelChart/FunnelSectionLabel.d.ts +21 -0
  115. package/esm/FunnelChart/FunnelSectionLabel.js +46 -0
  116. package/esm/FunnelChart/curves/bump.d.ts +10 -4
  117. package/esm/FunnelChart/curves/bump.js +73 -41
  118. package/esm/FunnelChart/curves/curve.types.d.ts +6 -1
  119. package/esm/FunnelChart/curves/getFunnelCurve.js +3 -0
  120. package/esm/FunnelChart/curves/linear.d.ts +9 -1
  121. package/esm/FunnelChart/curves/linear.js +82 -5
  122. package/esm/FunnelChart/funnel.types.d.ts +1 -0
  123. package/esm/FunnelChart/funnelPlotSlots.types.d.ts +11 -0
  124. package/esm/FunnelChart/funnelSectionClasses.d.ts +2 -0
  125. package/esm/FunnelChart/funnelSectionClasses.js +15 -3
  126. package/esm/FunnelChart/funnelSlots.types.d.ts +4 -3
  127. package/esm/FunnelChart/index.d.ts +3 -1
  128. package/esm/FunnelChart/index.js +3 -1
  129. package/esm/FunnelChart/useFunnelChartProps.d.ts +2 -1
  130. package/esm/FunnelChart/useFunnelChartProps.js +3 -1
  131. package/esm/Heatmap/Heatmap.d.ts +22 -4
  132. package/esm/Heatmap/Heatmap.js +64 -22
  133. package/esm/Heatmap/Heatmap.plugins.d.ts +2 -1
  134. package/esm/Heatmap/Heatmap.plugins.js +2 -1
  135. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipAxesValue.d.ts +1 -1
  136. package/esm/LineChartPro/LineChartPro.d.ts +13 -5
  137. package/esm/LineChartPro/LineChartPro.js +19 -1
  138. package/esm/PieChartPro/PieChartPro.d.ts +21 -0
  139. package/esm/PieChartPro/PieChartPro.js +197 -0
  140. package/esm/PieChartPro/PieChartPro.plugins.d.ts +4 -0
  141. package/esm/PieChartPro/PieChartPro.plugins.js +3 -0
  142. package/esm/PieChartPro/index.d.ts +1 -0
  143. package/esm/PieChartPro/index.js +1 -0
  144. package/esm/RadarChartPro/RadarChartPro.d.ts +15 -0
  145. package/esm/RadarChartPro/RadarChartPro.js +195 -0
  146. package/esm/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  147. package/esm/RadarChartPro/RadarChartPro.plugins.js +3 -0
  148. package/esm/RadarChartPro/index.d.ts +1 -0
  149. package/esm/RadarChartPro/index.js +1 -0
  150. package/esm/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  151. package/esm/ScatterChartPro/ScatterChartPro.js +19 -1
  152. package/esm/context/index.d.ts +1 -0
  153. package/esm/context/index.js +1 -0
  154. package/esm/context/useChartApiContext.d.ts +9 -0
  155. package/esm/context/useChartApiContext.js +11 -0
  156. package/esm/hooks/index.d.ts +2 -1
  157. package/esm/hooks/index.js +2 -1
  158. package/esm/index.d.ts +3 -1
  159. package/esm/index.js +3 -1
  160. package/esm/internals/material/index.d.ts +1 -0
  161. package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +10 -0
  162. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  163. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +15 -1
  164. package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  165. package/esm/models/index.d.ts +1 -1
  166. package/hooks/index.d.ts +2 -1
  167. package/hooks/index.js +21 -10
  168. package/index.d.ts +3 -1
  169. package/index.js +23 -1
  170. package/internals/material/index.d.ts +1 -0
  171. package/internals/plugins/useChartProZoom/useChartProZoom.js +10 -0
  172. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  173. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +16 -2
  174. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  175. package/models/index.d.ts +1 -1
  176. package/package.json +7 -7
  177. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  178. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -36
  179. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  180. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -36
  181. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  182. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -29
  183. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  184. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -29
@@ -1,13 +1,21 @@
1
1
  import * as React from 'react';
2
- import { ScatterChartProps } from '@mui/x-charts/ScatterChart';
2
+ import { ScatterChartProps, ScatterChartSlotProps, ScatterChartSlots } from '@mui/x-charts/ScatterChart';
3
+ import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
3
4
  import { ChartContainerProProps } from "../ChartContainerPro/ChartContainerPro.js";
4
5
  import { ScatterChartProPluginsSignatures } from "./ScatterChartPro.plugins.js";
5
- export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick'> {
6
+ export interface ScatterChartProSlots extends ScatterChartSlots, Partial<ChartsSlotsPro> {}
7
+ export interface ScatterChartProSlotProps extends ScatterChartSlotProps, Partial<ChartsSlotPropsPro> {}
8
+ export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps'> {
6
9
  /**
7
- * If true, shows the default chart toolbar.
8
- * @default false
10
+ * Overridable component slots.
11
+ * @default {}
9
12
  */
10
- showToolbar?: boolean;
13
+ slots?: ScatterChartProSlots;
14
+ /**
15
+ * The props used for each component slot.
16
+ * @default {}
17
+ */
18
+ slotProps?: ScatterChartProSlotProps;
11
19
  }
12
20
  /**
13
21
  * Demos:
@@ -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, _extends({}, props.slotProps?.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";
@@ -33,6 +33,8 @@ export * from "./ChartDataProviderPro/index.js";
33
33
  export * from "./ScatterChartPro/index.js";
34
34
  export * from "./BarChartPro/index.js";
35
35
  export * from "./LineChartPro/index.js";
36
+ export * from "./PieChartPro/index.js";
36
37
  export * from "./FunnelChart/index.js";
38
+ export * from "./RadarChartPro/index.js";
37
39
  export * from "./ChartZoomSlider/index.js";
38
40
  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.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -42,6 +42,8 @@ export * from "./ChartDataProviderPro/index.js";
42
42
  export * from "./ScatterChartPro/index.js";
43
43
  export * from "./BarChartPro/index.js";
44
44
  export * from "./LineChartPro/index.js";
45
+ export * from "./PieChartPro/index.js";
45
46
  export * from "./FunnelChart/index.js";
47
+ export * from "./RadarChartPro/index.js";
46
48
  export * from "./ChartZoomSlider/index.js";
47
49
  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