@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
@@ -73,9 +73,10 @@ const ScatterChartPro = exports.ScatterChartPro = /*#__PURE__*/React.forwardRef(
73
73
  plugins: _ScatterChartPro2.SCATTER_CHART_PRO_PLUGINS
74
74
  }), ref);
75
75
  const Tooltip = props.slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
76
+ const Toolbar = props.slots?.toolbar ?? _ChartsToolbarPro.ChartsToolbarPro;
76
77
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProviderPro.ChartDataProviderPro, (0, _extends2.default)({}, chartDataProviderProProps, {
77
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.ChartsWrapper, (0, _extends2.default)({}, chartsWrapperProps, {
78
- children: [showToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarPro.ChartsToolbarPro, {}) : null, !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
79
+ children: [showToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Toolbar, {}) : null, !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
79
80
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartZoomSlider.ChartZoomSlider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
80
81
  "data-drawing-container": true,
81
82
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterChart.ScatterPlot, (0, _extends2.default)({}, scatterPlotProps))
@@ -96,6 +97,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
96
97
  current: _propTypes.default.shape({
97
98
  exportAsImage: _propTypes.default.func.isRequired,
98
99
  exportAsPrint: _propTypes.default.func.isRequired,
100
+ setAxisZoomData: _propTypes.default.func.isRequired,
99
101
  setZoomData: _propTypes.default.func.isRequired
100
102
  })
101
103
  }),
@@ -318,6 +320,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
318
320
  panning: _propTypes.default.bool,
319
321
  slider: _propTypes.default.shape({
320
322
  enabled: _propTypes.default.bool,
323
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
321
324
  size: _propTypes.default.number
322
325
  }),
323
326
  step: _propTypes.default.number
@@ -382,6 +385,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
382
385
  panning: _propTypes.default.bool,
383
386
  slider: _propTypes.default.shape({
384
387
  enabled: _propTypes.default.bool,
388
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
385
389
  size: _propTypes.default.number
386
390
  }),
387
391
  step: _propTypes.default.number
@@ -441,6 +445,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
441
445
  panning: _propTypes.default.bool,
442
446
  slider: _propTypes.default.shape({
443
447
  enabled: _propTypes.default.bool,
448
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
444
449
  size: _propTypes.default.number
445
450
  }),
446
451
  step: _propTypes.default.number
@@ -500,6 +505,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
500
505
  panning: _propTypes.default.bool,
501
506
  slider: _propTypes.default.shape({
502
507
  enabled: _propTypes.default.bool,
508
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
503
509
  size: _propTypes.default.number
504
510
  }),
505
511
  step: _propTypes.default.number
@@ -559,6 +565,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
559
565
  panning: _propTypes.default.bool,
560
566
  slider: _propTypes.default.shape({
561
567
  enabled: _propTypes.default.bool,
568
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
562
569
  size: _propTypes.default.number
563
570
  }),
564
571
  step: _propTypes.default.number
@@ -618,6 +625,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
618
625
  panning: _propTypes.default.bool,
619
626
  slider: _propTypes.default.shape({
620
627
  enabled: _propTypes.default.bool,
628
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
621
629
  size: _propTypes.default.number
622
630
  }),
623
631
  step: _propTypes.default.number
@@ -677,6 +685,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
677
685
  panning: _propTypes.default.bool,
678
686
  slider: _propTypes.default.shape({
679
687
  enabled: _propTypes.default.bool,
688
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
680
689
  size: _propTypes.default.number
681
690
  }),
682
691
  step: _propTypes.default.number
@@ -736,6 +745,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
736
745
  panning: _propTypes.default.bool,
737
746
  slider: _propTypes.default.shape({
738
747
  enabled: _propTypes.default.bool,
748
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
739
749
  size: _propTypes.default.number
740
750
  }),
741
751
  step: _propTypes.default.number
@@ -807,6 +817,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
807
817
  panning: _propTypes.default.bool,
808
818
  slider: _propTypes.default.shape({
809
819
  enabled: _propTypes.default.bool,
820
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
810
821
  size: _propTypes.default.number
811
822
  }),
812
823
  step: _propTypes.default.number
@@ -870,6 +881,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
870
881
  panning: _propTypes.default.bool,
871
882
  slider: _propTypes.default.shape({
872
883
  enabled: _propTypes.default.bool,
884
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
873
885
  size: _propTypes.default.number
874
886
  }),
875
887
  step: _propTypes.default.number
@@ -928,6 +940,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
928
940
  panning: _propTypes.default.bool,
929
941
  slider: _propTypes.default.shape({
930
942
  enabled: _propTypes.default.bool,
943
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
931
944
  size: _propTypes.default.number
932
945
  }),
933
946
  step: _propTypes.default.number
@@ -986,6 +999,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
986
999
  panning: _propTypes.default.bool,
987
1000
  slider: _propTypes.default.shape({
988
1001
  enabled: _propTypes.default.bool,
1002
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
989
1003
  size: _propTypes.default.number
990
1004
  }),
991
1005
  step: _propTypes.default.number
@@ -1044,6 +1058,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1044
1058
  panning: _propTypes.default.bool,
1045
1059
  slider: _propTypes.default.shape({
1046
1060
  enabled: _propTypes.default.bool,
1061
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1047
1062
  size: _propTypes.default.number
1048
1063
  }),
1049
1064
  step: _propTypes.default.number
@@ -1102,6 +1117,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1102
1117
  panning: _propTypes.default.bool,
1103
1118
  slider: _propTypes.default.shape({
1104
1119
  enabled: _propTypes.default.bool,
1120
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1105
1121
  size: _propTypes.default.number
1106
1122
  }),
1107
1123
  step: _propTypes.default.number
@@ -1160,6 +1176,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1160
1176
  panning: _propTypes.default.bool,
1161
1177
  slider: _propTypes.default.shape({
1162
1178
  enabled: _propTypes.default.bool,
1179
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1163
1180
  size: _propTypes.default.number
1164
1181
  }),
1165
1182
  step: _propTypes.default.number
@@ -1218,6 +1235,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1218
1235
  panning: _propTypes.default.bool,
1219
1236
  slider: _propTypes.default.shape({
1220
1237
  enabled: _propTypes.default.bool,
1238
+ showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1221
1239
  size: _propTypes.default.number
1222
1240
  }),
1223
1241
  step: _propTypes.default.number
@@ -0,0 +1 @@
1
+ export * from "./useChartApiContext.js";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useChartApiContext = require("./useChartApiContext");
7
+ Object.keys(_useChartApiContext).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useChartApiContext[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useChartApiContext[key];
14
+ }
15
+ });
16
+ });
@@ -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,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useChartApiContext = useChartApiContext;
7
+ var _context = require("@mui/x-charts/context");
8
+ /**
9
+ * The `useChartApiContext` hook provides access to the chart API.
10
+ * This is only available when the chart is rendered within a chart or a `ChartDataProvider` component.
11
+ * If you want to access the chart API outside those components, you should use the `apiRef` prop instead.
12
+ * @example
13
+ * const apiRef = useChartApiContext<ChartProApi<'bar'>>();
14
+ */
15
+ function useChartApiContext() {
16
+ return (0, _context.useChartApiContext)();
17
+ }
@@ -1,13 +1,21 @@
1
1
  import * as React from 'react';
2
- import { BarChartProps } from '@mui/x-charts/BarChart';
2
+ import { BarChartProps, BarChartSlotProps, BarChartSlots } from '@mui/x-charts/BarChart';
3
+ import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
3
4
  import { ChartContainerProProps } from "../ChartContainerPro/index.js";
4
5
  import { BarChartProPluginsSignatures } from "./BarChartPro.plugins.js";
5
- export interface BarChartProProps extends Omit<BarChartProps, 'apiRef'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig'> {
6
+ export interface BarChartProSlots extends BarChartSlots, Partial<ChartsSlotsPro> {}
7
+ export interface BarChartProSlotProps extends BarChartSlotProps, Partial<ChartsSlotPropsPro> {}
8
+ export interface BarChartProProps extends Omit<BarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | '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?: BarChartProSlots;
14
+ /**
15
+ * The props used for each component slot.
16
+ * @default {}
17
+ */
18
+ slotProps?: BarChartProSlotProps;
11
19
  }
12
20
  /**
13
21
  * Demos:
@@ -70,9 +70,10 @@ const BarChartPro = /*#__PURE__*/React.forwardRef(function BarChartPro(inProps,
70
70
  plugins: BAR_CHART_PRO_PLUGINS
71
71
  }), ref);
72
72
  const Tooltip = props.slots?.tooltip ?? ChartsTooltip;
73
+ const Toolbar = props.slots?.toolbar ?? ChartsToolbarPro;
73
74
  return /*#__PURE__*/_jsx(ChartDataProviderPro, _extends({}, chartDataProviderProProps, {
74
75
  children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
75
- children: [showToolbar ? /*#__PURE__*/_jsx(ChartsToolbarPro, {}) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
76
+ children: [showToolbar ? /*#__PURE__*/_jsx(Toolbar, {}) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
76
77
  children: [/*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
77
78
  children: [/*#__PURE__*/_jsx(BarPlot, _extends({}, barPlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
78
79
  })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartZoomSlider, {}), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
@@ -90,6 +91,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
90
91
  current: PropTypes.shape({
91
92
  exportAsImage: PropTypes.func.isRequired,
92
93
  exportAsPrint: PropTypes.func.isRequired,
94
+ setAxisZoomData: PropTypes.func.isRequired,
93
95
  setZoomData: PropTypes.func.isRequired
94
96
  })
95
97
  }),
@@ -320,6 +322,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
320
322
  panning: PropTypes.bool,
321
323
  slider: PropTypes.shape({
322
324
  enabled: PropTypes.bool,
325
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
323
326
  size: PropTypes.number
324
327
  }),
325
328
  step: PropTypes.number
@@ -384,6 +387,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
384
387
  panning: PropTypes.bool,
385
388
  slider: PropTypes.shape({
386
389
  enabled: PropTypes.bool,
390
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
387
391
  size: PropTypes.number
388
392
  }),
389
393
  step: PropTypes.number
@@ -443,6 +447,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
443
447
  panning: PropTypes.bool,
444
448
  slider: PropTypes.shape({
445
449
  enabled: PropTypes.bool,
450
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
446
451
  size: PropTypes.number
447
452
  }),
448
453
  step: PropTypes.number
@@ -502,6 +507,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
502
507
  panning: PropTypes.bool,
503
508
  slider: PropTypes.shape({
504
509
  enabled: PropTypes.bool,
510
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
505
511
  size: PropTypes.number
506
512
  }),
507
513
  step: PropTypes.number
@@ -561,6 +567,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
561
567
  panning: PropTypes.bool,
562
568
  slider: PropTypes.shape({
563
569
  enabled: PropTypes.bool,
570
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
564
571
  size: PropTypes.number
565
572
  }),
566
573
  step: PropTypes.number
@@ -620,6 +627,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
620
627
  panning: PropTypes.bool,
621
628
  slider: PropTypes.shape({
622
629
  enabled: PropTypes.bool,
630
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
623
631
  size: PropTypes.number
624
632
  }),
625
633
  step: PropTypes.number
@@ -679,6 +687,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
679
687
  panning: PropTypes.bool,
680
688
  slider: PropTypes.shape({
681
689
  enabled: PropTypes.bool,
690
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
682
691
  size: PropTypes.number
683
692
  }),
684
693
  step: PropTypes.number
@@ -738,6 +747,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
738
747
  panning: PropTypes.bool,
739
748
  slider: PropTypes.shape({
740
749
  enabled: PropTypes.bool,
750
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
741
751
  size: PropTypes.number
742
752
  }),
743
753
  step: PropTypes.number
@@ -809,6 +819,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
809
819
  panning: PropTypes.bool,
810
820
  slider: PropTypes.shape({
811
821
  enabled: PropTypes.bool,
822
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
812
823
  size: PropTypes.number
813
824
  }),
814
825
  step: PropTypes.number
@@ -872,6 +883,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
872
883
  panning: PropTypes.bool,
873
884
  slider: PropTypes.shape({
874
885
  enabled: PropTypes.bool,
886
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
875
887
  size: PropTypes.number
876
888
  }),
877
889
  step: PropTypes.number
@@ -930,6 +942,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
930
942
  panning: PropTypes.bool,
931
943
  slider: PropTypes.shape({
932
944
  enabled: PropTypes.bool,
945
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
933
946
  size: PropTypes.number
934
947
  }),
935
948
  step: PropTypes.number
@@ -988,6 +1001,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
988
1001
  panning: PropTypes.bool,
989
1002
  slider: PropTypes.shape({
990
1003
  enabled: PropTypes.bool,
1004
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
991
1005
  size: PropTypes.number
992
1006
  }),
993
1007
  step: PropTypes.number
@@ -1046,6 +1060,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1046
1060
  panning: PropTypes.bool,
1047
1061
  slider: PropTypes.shape({
1048
1062
  enabled: PropTypes.bool,
1063
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1049
1064
  size: PropTypes.number
1050
1065
  }),
1051
1066
  step: PropTypes.number
@@ -1104,6 +1119,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1104
1119
  panning: PropTypes.bool,
1105
1120
  slider: PropTypes.shape({
1106
1121
  enabled: PropTypes.bool,
1122
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1107
1123
  size: PropTypes.number
1108
1124
  }),
1109
1125
  step: PropTypes.number
@@ -1162,6 +1178,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1162
1178
  panning: PropTypes.bool,
1163
1179
  slider: PropTypes.shape({
1164
1180
  enabled: PropTypes.bool,
1181
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1165
1182
  size: PropTypes.number
1166
1183
  }),
1167
1184
  step: PropTypes.number
@@ -1220,6 +1237,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1220
1237
  panning: PropTypes.bool,
1221
1238
  slider: PropTypes.shape({
1222
1239
  enabled: PropTypes.bool,
1240
+ showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1223
1241
  size: PropTypes.number
1224
1242
  }),
1225
1243
  step: PropTypes.number
@@ -7,7 +7,6 @@ export type ChartContainerProProps<TSeries extends ChartSeriesType = ChartSeries
7
7
  type ChartContainerProComponent = <TSeries extends ChartSeriesType = ChartSeriesType, TSignatures extends readonly ChartAnyPluginSignature[] = AllPluginSignatures<TSeries>>(props: ChartContainerProProps<TSeries, TSignatures> & {
8
8
  ref?: React.ForwardedRef<SVGSVGElement>;
9
9
  }) => React.JSX.Element;
10
- export type ChartProApi = NonNullable<NonNullable<ChartContainerProProps['apiRef']>['current']>;
11
10
  /**
12
11
  * It sets up the data providers as well as the `<svg>` for the chart.
13
12
  *
@@ -0,0 +1,26 @@
1
+ import { ChartAnyPluginSignature, ChartPublicAPI } from '@mui/x-charts/internals';
2
+ import { HeatmapPluginsSignatures } from "../Heatmap/Heatmap.plugins.js";
3
+ import { LineChartProPluginsSignatures } from "../LineChartPro/LineChartPro.plugins.js";
4
+ import { ScatterChartProPluginsSignatures } from "../ScatterChartPro/ScatterChartPro.plugins.js";
5
+ import { BarChartProPluginsSignatures } from "../BarChartPro/BarChartPro.plugins.js";
6
+ import { AllPluginSignatures, DefaultPluginSignatures } from "../internals/plugins/allPlugins.js";
7
+ import { FunnelChartPluginsSignatures } from "../FunnelChart/FunnelChart.plugins.js";
8
+ import { RadarChartProPluginsSignatures } from "../RadarChartPro/RadarChartPro.plugins.js";
9
+ type PluginsPerSeriesType = {
10
+ heatmap: HeatmapPluginsSignatures;
11
+ line: LineChartProPluginsSignatures;
12
+ scatter: ScatterChartProPluginsSignatures;
13
+ bar: BarChartProPluginsSignatures;
14
+ funnel: FunnelChartPluginsSignatures;
15
+ radar: RadarChartProPluginsSignatures;
16
+ composition: DefaultPluginSignatures;
17
+ };
18
+ /**
19
+ * The API of the chart `apiRef` object.
20
+ * The chart type can be passed as the first generic parameter to narrow down the API to the specific chart type.
21
+ * @example ChartProApi<'bar'>
22
+ * If the chart is being created using composition, the `composition` value can be used.
23
+ * @example ChartProApi<'composition'>
24
+ */
25
+ export type ChartProApi<TSeries extends keyof PluginsPerSeriesType | undefined = undefined, TSignatures extends readonly ChartAnyPluginSignature[] = (TSeries extends keyof PluginsPerSeriesType ? PluginsPerSeriesType[TSeries] : AllPluginSignatures)> = ChartPublicAPI<TSignatures>;
26
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,3 @@
1
1
  import "../typeOverloads/index.js";
2
- export * from "./ChartContainerPro.js";
2
+ export * from "./ChartContainerPro.js";
3
+ export * from "./ChartProApi.js";
@@ -1,2 +1,3 @@
1
1
  import "../typeOverloads/index.js";
2
- export * from "./ChartContainerPro.js";
2
+ export * from "./ChartContainerPro.js";
3
+ export * from "./ChartProApi.js";
@@ -1,8 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { ChartSeriesType, ChartAnyPluginSignature, ChartProviderProps } from '@mui/x-charts/internals';
3
3
  import { ChartDataProviderProps } from '@mui/x-charts/ChartDataProvider';
4
+ import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
4
5
  import { AllPluginSignatures } from "../internals/plugins/allPlugins.js";
5
- export type ChartDataProviderProProps<TSeries extends ChartSeriesType = ChartSeriesType, TSignatures extends readonly ChartAnyPluginSignature[] = AllPluginSignatures<TSeries>> = ChartDataProviderProps<TSeries, TSignatures> & ChartProviderProps<TSeries, TSignatures>['pluginParams'];
6
+ export type ChartDataProviderProProps<TSeries extends ChartSeriesType = ChartSeriesType, TSignatures extends readonly ChartAnyPluginSignature[] = AllPluginSignatures<TSeries>> = ChartDataProviderProps<TSeries, TSignatures> & ChartProviderProps<TSeries, TSignatures>['pluginParams'] & {
7
+ /**
8
+ * Slots to customize charts' components.
9
+ */
10
+ slots?: Partial<ChartsSlotsPro>;
11
+ /**
12
+ * The props for the slots.
13
+ */
14
+ slotProps?: Partial<ChartsSlotPropsPro>;
15
+ };
6
16
  /**
7
17
  * Orchestrates the data providers for the chart components and hooks.
8
18
  *
@@ -4,13 +4,14 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { Watermark } from '@mui/x-license/Watermark';
7
- import { ChartProvider } from '@mui/x-charts/internals';
7
+ import { ChartProvider, ChartsSlotsProvider } from '@mui/x-charts/internals';
8
8
  import { ChartsLocalizationProvider } from '@mui/x-charts/ChartsLocalizationProvider';
9
9
  import { useLicenseVerifier } from '@mui/x-license/useLicenseVerifier';
10
+ import { defaultSlotsMaterial } from "../internals/material/index.js";
10
11
  import { DEFAULT_PLUGINS } from "../internals/plugins/allPlugins.js";
11
12
  import { useChartDataProviderProProps } from "./useChartDataProviderProProps.js";
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const releaseInfo = "MTc0Nzc3ODQwMDAwMA==";
14
+ const releaseInfo = "MTc0ODQ2OTYwMDAwMA==";
14
15
  const packageIdentifier = 'x-charts-pro';
15
16
  /**
16
17
  * Orchestrates the data providers for the chart components and hooks.
@@ -43,7 +44,9 @@ function ChartDataProviderPro(props) {
43
44
  const {
44
45
  children,
45
46
  localeText,
46
- chartProviderProps
47
+ chartProviderProps,
48
+ slots,
49
+ slotProps
47
50
  } = useChartDataProviderProProps(_extends({}, props, {
48
51
  plugins: props.plugins ?? DEFAULT_PLUGINS
49
52
  }));
@@ -51,7 +54,12 @@ function ChartDataProviderPro(props) {
51
54
  return /*#__PURE__*/_jsxs(ChartProvider, _extends({}, chartProviderProps, {
52
55
  children: [/*#__PURE__*/_jsx(ChartsLocalizationProvider, {
53
56
  localeText: localeText,
54
- children: children
57
+ children: /*#__PURE__*/_jsx(ChartsSlotsProvider, {
58
+ slots: slots,
59
+ slotProps: slotProps,
60
+ defaultSlots: defaultSlotsMaterial,
61
+ children: children
62
+ })
55
63
  }), /*#__PURE__*/_jsx(Watermark, {
56
64
  packageName: packageIdentifier,
57
65
  releaseInfo: releaseInfo
@@ -111,6 +119,14 @@ process.env.NODE_ENV !== "production" ? ChartDataProviderPro.propTypes = {
111
119
  * If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
112
120
  */
113
121
  skipAnimation: PropTypes.bool,
122
+ /**
123
+ * The props for the slots.
124
+ */
125
+ slotProps: PropTypes.object,
126
+ /**
127
+ * Slots to customize charts' components.
128
+ */
129
+ slots: PropTypes.object,
114
130
  theme: PropTypes.oneOf(['dark', 'light']),
115
131
  /**
116
132
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -5,4 +5,6 @@ export declare const useChartDataProviderProProps: <TSeries extends ChartSeriesT
5
5
  children: import("react").ReactNode;
6
6
  localeText: Partial<import("@mui/x-charts/locales").ChartsLocaleText> | undefined;
7
7
  chartProviderProps: import("@mui/x-charts/internals").ChartProviderProps<TSeries, TSignatures>;
8
+ slots: Partial<import("@mui/x-charts/internals").ChartsSlots> | undefined;
9
+ slotProps: Partial<import("@mui/x-charts/internals").ChartsSlotProps> | undefined;
8
10
  };
@@ -5,11 +5,15 @@ export const useChartDataProviderProProps = props => {
5
5
  const {
6
6
  chartProviderProps,
7
7
  localeText,
8
+ slots,
9
+ slotProps,
8
10
  children
9
11
  } = useChartDataProviderProps(props);
10
12
  return {
11
13
  children,
12
14
  localeText,
13
- chartProviderProps
15
+ chartProviderProps,
16
+ slots,
17
+ slotProps
14
18
  };
15
19
  };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { AxisId, DefaultizedZoomOptions, ZoomData } from '@mui/x-charts/internals';
2
+ import { AxisId } from '@mui/x-charts/internals';
3
3
  interface ChartZoomSliderProps {
4
4
  /**
5
5
  * The ID of the axis this overview refers to.
@@ -18,6 +18,4 @@ export declare function ChartAxisZoomSlider({
18
18
  axisDirection,
19
19
  axisId
20
20
  }: ChartZoomSliderProps): React.JSX.Element | null;
21
- export declare function calculateZoomStart(newStart: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'minStart' | 'minSpan' | 'maxSpan'>): number;
22
- export declare function calculateZoomEnd(newEnd: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'maxEnd' | 'minSpan' | 'maxSpan'>): number;
23
21
  export {};