@mui/x-charts-pro 8.7.0 → 8.8.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 (84) hide show
  1. package/BarChartPro/BarChartPro.d.ts +1 -1
  2. package/BarChartPro/BarChartPro.js +32 -0
  3. package/CHANGELOG.md +98 -0
  4. package/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
  5. package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +31 -16
  6. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
  7. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +27 -12
  8. package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
  9. package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +102 -0
  10. package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
  11. package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +62 -0
  12. package/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
  13. package/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +61 -0
  14. package/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
  15. package/ChartZoomSlider/internals/previews/BarPreviewPlot.js +62 -0
  16. package/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
  17. package/ChartZoomSlider/internals/previews/LinePreviewPlot.js +59 -0
  18. package/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
  19. package/ChartZoomSlider/internals/previews/PreviewPlot.types.js +5 -0
  20. package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
  21. package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +93 -0
  22. package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +2 -0
  23. package/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +3 -1
  24. package/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
  25. package/FunnelChart/FunnelChart.d.ts +1 -1
  26. package/FunnelChart/FunnelPlot.js +1 -1
  27. package/FunnelChart/funnel.types.d.ts +14 -9
  28. package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
  29. package/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
  30. package/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
  31. package/Heatmap/Heatmap.d.ts +1 -1
  32. package/LineChartPro/LineChartPro.js +38 -0
  33. package/PieChartPro/PieChartPro.d.ts +1 -1
  34. package/RadarChartPro/RadarChartPro.d.ts +1 -1
  35. package/ScatterChartPro/ScatterChartPro.d.ts +1 -1
  36. package/ScatterChartPro/ScatterChartPro.js +16 -0
  37. package/esm/BarChartPro/BarChartPro.d.ts +1 -1
  38. package/esm/BarChartPro/BarChartPro.js +32 -0
  39. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
  40. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +33 -18
  41. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
  42. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +28 -13
  43. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
  44. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +94 -0
  45. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
  46. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +54 -0
  47. package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
  48. package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +53 -0
  49. package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
  50. package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.js +55 -0
  51. package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
  52. package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.js +51 -0
  53. package/esm/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
  54. package/esm/ChartZoomSlider/internals/previews/PreviewPlot.types.js +1 -0
  55. package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
  56. package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +86 -0
  57. package/esm/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +2 -0
  58. package/esm/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +3 -1
  59. package/esm/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
  60. package/esm/FunnelChart/FunnelChart.d.ts +1 -1
  61. package/esm/FunnelChart/FunnelPlot.js +1 -1
  62. package/esm/FunnelChart/funnel.types.d.ts +14 -9
  63. package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
  64. package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
  65. package/esm/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
  66. package/esm/Heatmap/Heatmap.d.ts +1 -1
  67. package/esm/LineChartPro/LineChartPro.js +38 -0
  68. package/esm/PieChartPro/PieChartPro.d.ts +1 -1
  69. package/esm/RadarChartPro/RadarChartPro.d.ts +1 -1
  70. package/esm/ScatterChartPro/ScatterChartPro.d.ts +1 -1
  71. package/esm/ScatterChartPro/ScatterChartPro.js +16 -0
  72. package/esm/index.js +1 -1
  73. package/esm/internals/plugins/useChartProExport/exportImage.js +9 -3
  74. package/esm/internals/plugins/useChartProExport/print.d.ts +3 -1
  75. package/esm/internals/plugins/useChartProExport/print.js +7 -2
  76. package/esm/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
  77. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
  78. package/index.js +1 -1
  79. package/internals/plugins/useChartProExport/exportImage.js +9 -3
  80. package/internals/plugins/useChartProExport/print.d.ts +3 -1
  81. package/internals/plugins/useChartProExport/print.js +7 -2
  82. package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
  83. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
  84. package/package.json +6 -6
@@ -23,6 +23,14 @@ const createPoint = ({
23
23
  useBandWidth,
24
24
  stackOffset
25
25
  };
26
+ const getFunnelDirection = (funnelDirection, curve, firstValue, lastValue) => {
27
+ if (curve !== 'step' && curve !== 'linear-sharp' && (funnelDirection === 'increasing' || funnelDirection === 'decreasing')) {
28
+ return funnelDirection;
29
+ }
30
+
31
+ // Implicit check for null or undefined values
32
+ return firstValue != null && lastValue != null && firstValue < lastValue ? 'increasing' : 'decreasing';
33
+ };
26
34
  const seriesProcessor = params => {
27
35
  const {
28
36
  seriesOrder,
@@ -34,7 +42,7 @@ const seriesProcessor = params => {
34
42
  const currentSeries = series[seriesId];
35
43
  const firstDataPoint = currentSeries.data.at(0);
36
44
  const lastDataPoint = currentSeries.data.at(-1);
37
- const dataDirection = firstDataPoint !== undefined && lastDataPoint !== undefined && firstDataPoint.value < lastDataPoint.value ? 'increasing' : 'decreasing';
45
+ const funnelDirection = getFunnelDirection(currentSeries.funnelDirection, currentSeries.curve, firstDataPoint?.value, lastDataPoint?.value);
38
46
  completedSeries[seriesId] = (0, _extends2.default)({
39
47
  labelMarkType: 'square',
40
48
  layout: isHorizontal ? 'horizontal' : 'vertical',
@@ -43,7 +51,7 @@ const seriesProcessor = params => {
43
51
  data: currentSeries.data.map((v, i) => (0, _extends2.default)({
44
52
  id: `${seriesId}-funnel-item-${v.id ?? i}`
45
53
  }, v)),
46
- dataDirection,
54
+ funnelDirection,
47
55
  dataPoints: []
48
56
  });
49
57
  const stackOffsets = completedSeries[seriesId].data.toReversed().map((_, i, array) => array.slice(0, i).reduce((acc, item) => acc + item.value, 0)).toReversed();
@@ -51,54 +59,22 @@ const seriesProcessor = params => {
51
59
  // Main = main axis, Other = other axis
52
60
  // For horizontal layout, main is y, other is x
53
61
  // For vertical layout, main is x, other is y
54
- const isIncreasing = completedSeries[seriesId].dataDirection === 'increasing';
55
- const currentMaxMain = item.value;
56
- const getNextDataIndex = () => {
57
- if (isIncreasing) {
58
- return dataIndex === 0 ? dataIndex : dataIndex - 1;
59
- }
60
- return dataIndex === array.length - 1 ? dataIndex : dataIndex + 1;
61
- };
62
- const nextDataIndex = getNextDataIndex();
63
- const nextMaxMain = array[nextDataIndex].value ?? 0;
64
- const nextMaxOther = 0;
65
- const currentMaxOther = completedSeries[seriesId].data[dataIndex].value;
66
- const stackOffset = stackOffsets[dataIndex];
62
+ const isIncreasing = completedSeries[seriesId].funnelDirection === 'increasing';
63
+ let currentMaxMain = 0;
64
+ let nextMaxMain = 0;
65
+ let nextDataIndex = 0;
67
66
  if (isIncreasing) {
68
- return [
69
- // Top right (vertical) or Top left (horizontal)
70
- createPoint({
71
- main: nextMaxMain,
72
- other: nextMaxOther,
73
- inverse: isHorizontal,
74
- useBandWidth: false,
75
- stackOffset
76
- }),
77
- // Bottom right (vertical) or Top right (horizontal)
78
- createPoint({
79
- main: currentMaxMain,
80
- other: currentMaxOther,
81
- inverse: isHorizontal,
82
- useBandWidth: true,
83
- stackOffset
84
- }),
85
- // Bottom left (vertical) or Bottom right (horizontal)
86
- createPoint({
87
- main: -currentMaxMain,
88
- other: currentMaxOther,
89
- inverse: isHorizontal,
90
- useBandWidth: true,
91
- stackOffset
92
- }),
93
- // Top left (vertical) or Bottom left (horizontal)
94
- createPoint({
95
- main: -nextMaxMain,
96
- other: nextMaxOther,
97
- inverse: isHorizontal,
98
- useBandWidth: false,
99
- stackOffset
100
- })];
67
+ nextDataIndex = dataIndex === 0 ? dataIndex : dataIndex - 1;
68
+ currentMaxMain = array[nextDataIndex].value ?? 0;
69
+ nextMaxMain = item.value;
70
+ } else {
71
+ nextDataIndex = dataIndex === array.length - 1 ? dataIndex : dataIndex + 1;
72
+ currentMaxMain = item.value;
73
+ nextMaxMain = array[nextDataIndex].value ?? 0;
101
74
  }
75
+ const stackOffset = stackOffsets[dataIndex];
76
+ const nextMaxOther = 0;
77
+ const currentMaxOther = completedSeries[seriesId].data[dataIndex].value;
102
78
  return [
103
79
  // Top right (vertical) or Top left (horizontal)
104
80
  createPoint({
@@ -27,7 +27,7 @@ export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, Heatm
27
27
  export interface HeatmapSlotProps extends ChartsAxisSlotProps, ChartsOverlaySlotProps, HeatmapItemSlotProps, ChartsLegendSlotProps, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
28
28
  tooltip?: Partial<HeatmapTooltipProps>;
29
29
  }
30
- export interface HeatmapProps extends Omit<ChartContainerProProps<'heatmap', HeatmapPluginsSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'skipAnimation' | 'slots' | 'slotProps'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
30
+ export interface HeatmapProps extends Omit<ChartContainerProProps<'heatmap', HeatmapPluginsSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'skipAnimation' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
31
31
  /**
32
32
  * The configuration of the x-axes.
33
33
  * If not provided, a default axis config is used.
@@ -138,6 +138,12 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
138
138
  * If `true`, render the line highlight item.
139
139
  */
140
140
  disableLineItemHighlight: _propTypes.default.bool,
141
+ /**
142
+ * Options to enable features planned for the next major.
143
+ */
144
+ experimentalFeatures: _propTypes.default.shape({
145
+ preferStrictDomainInLineCharts: _propTypes.default.bool
146
+ }),
141
147
  /**
142
148
  * Option to display a cartesian grid in the background.
143
149
  */
@@ -153,6 +159,14 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
153
159
  * If `true`, the legend is not rendered.
154
160
  */
155
161
  hideLegend: _propTypes.default.bool,
162
+ /**
163
+ * The controlled axis highlight.
164
+ * Identified by the axis id, and data index.
165
+ */
166
+ highlightedAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
167
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
168
+ dataIndex: _propTypes.default.number.isRequired
169
+ })),
156
170
  /**
157
171
  * The highlighted item.
158
172
  * Used when the highlight is controlled.
@@ -213,6 +227,14 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
213
227
  * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
214
228
  */
215
229
  onHighlightChange: _propTypes.default.func,
230
+ /**
231
+ * The function called when the pointer position corresponds to a new axis data item.
232
+ * This update can either be caused by a pointer movement, or an axis update.
233
+ * In case of multiple axes, the function is called if at least one axis is updated.
234
+ * The argument contains the identifier for all axes with a `data` property.
235
+ * @param {AxisItemIdentifier[]} axisItems The array of axes item identifiers.
236
+ */
237
+ onHighlightedAxisChange: _propTypes.default.func,
216
238
  /**
217
239
  * Callback fired when a line element is clicked.
218
240
  */
@@ -326,6 +348,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
326
348
  panning: _propTypes.default.bool,
327
349
  slider: _propTypes.default.shape({
328
350
  enabled: _propTypes.default.bool,
351
+ preview: _propTypes.default.bool,
329
352
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
330
353
  size: _propTypes.default.number
331
354
  }),
@@ -391,6 +414,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
391
414
  panning: _propTypes.default.bool,
392
415
  slider: _propTypes.default.shape({
393
416
  enabled: _propTypes.default.bool,
417
+ preview: _propTypes.default.bool,
394
418
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
395
419
  size: _propTypes.default.number
396
420
  }),
@@ -451,6 +475,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
451
475
  panning: _propTypes.default.bool,
452
476
  slider: _propTypes.default.shape({
453
477
  enabled: _propTypes.default.bool,
478
+ preview: _propTypes.default.bool,
454
479
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
455
480
  size: _propTypes.default.number
456
481
  }),
@@ -511,6 +536,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
511
536
  panning: _propTypes.default.bool,
512
537
  slider: _propTypes.default.shape({
513
538
  enabled: _propTypes.default.bool,
539
+ preview: _propTypes.default.bool,
514
540
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
515
541
  size: _propTypes.default.number
516
542
  }),
@@ -571,6 +597,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
571
597
  panning: _propTypes.default.bool,
572
598
  slider: _propTypes.default.shape({
573
599
  enabled: _propTypes.default.bool,
600
+ preview: _propTypes.default.bool,
574
601
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
575
602
  size: _propTypes.default.number
576
603
  }),
@@ -631,6 +658,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
631
658
  panning: _propTypes.default.bool,
632
659
  slider: _propTypes.default.shape({
633
660
  enabled: _propTypes.default.bool,
661
+ preview: _propTypes.default.bool,
634
662
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
635
663
  size: _propTypes.default.number
636
664
  }),
@@ -691,6 +719,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
691
719
  panning: _propTypes.default.bool,
692
720
  slider: _propTypes.default.shape({
693
721
  enabled: _propTypes.default.bool,
722
+ preview: _propTypes.default.bool,
694
723
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
695
724
  size: _propTypes.default.number
696
725
  }),
@@ -751,6 +780,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
751
780
  panning: _propTypes.default.bool,
752
781
  slider: _propTypes.default.shape({
753
782
  enabled: _propTypes.default.bool,
783
+ preview: _propTypes.default.bool,
754
784
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
755
785
  size: _propTypes.default.number
756
786
  }),
@@ -823,6 +853,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
823
853
  panning: _propTypes.default.bool,
824
854
  slider: _propTypes.default.shape({
825
855
  enabled: _propTypes.default.bool,
856
+ preview: _propTypes.default.bool,
826
857
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
827
858
  size: _propTypes.default.number
828
859
  }),
@@ -887,6 +918,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
887
918
  panning: _propTypes.default.bool,
888
919
  slider: _propTypes.default.shape({
889
920
  enabled: _propTypes.default.bool,
921
+ preview: _propTypes.default.bool,
890
922
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
891
923
  size: _propTypes.default.number
892
924
  }),
@@ -946,6 +978,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
946
978
  panning: _propTypes.default.bool,
947
979
  slider: _propTypes.default.shape({
948
980
  enabled: _propTypes.default.bool,
981
+ preview: _propTypes.default.bool,
949
982
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
950
983
  size: _propTypes.default.number
951
984
  }),
@@ -1005,6 +1038,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
1005
1038
  panning: _propTypes.default.bool,
1006
1039
  slider: _propTypes.default.shape({
1007
1040
  enabled: _propTypes.default.bool,
1041
+ preview: _propTypes.default.bool,
1008
1042
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1009
1043
  size: _propTypes.default.number
1010
1044
  }),
@@ -1064,6 +1098,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
1064
1098
  panning: _propTypes.default.bool,
1065
1099
  slider: _propTypes.default.shape({
1066
1100
  enabled: _propTypes.default.bool,
1101
+ preview: _propTypes.default.bool,
1067
1102
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1068
1103
  size: _propTypes.default.number
1069
1104
  }),
@@ -1123,6 +1158,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
1123
1158
  panning: _propTypes.default.bool,
1124
1159
  slider: _propTypes.default.shape({
1125
1160
  enabled: _propTypes.default.bool,
1161
+ preview: _propTypes.default.bool,
1126
1162
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1127
1163
  size: _propTypes.default.number
1128
1164
  }),
@@ -1182,6 +1218,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
1182
1218
  panning: _propTypes.default.bool,
1183
1219
  slider: _propTypes.default.shape({
1184
1220
  enabled: _propTypes.default.bool,
1221
+ preview: _propTypes.default.bool,
1185
1222
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1186
1223
  size: _propTypes.default.number
1187
1224
  }),
@@ -1241,6 +1278,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
1241
1278
  panning: _propTypes.default.bool,
1242
1279
  slider: _propTypes.default.shape({
1243
1280
  enabled: _propTypes.default.bool,
1281
+ preview: _propTypes.default.bool,
1244
1282
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1245
1283
  size: _propTypes.default.number
1246
1284
  }),
@@ -6,7 +6,7 @@ import { PieChartProPluginSignatures } from "./PieChartPro.plugins.js";
6
6
  import { ChartsToolbarProSlotProps, ChartsToolbarProSlots } from "../ChartsToolbarPro/Toolbar.types.js";
7
7
  export interface PieChartProSlots extends Omit<PieChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
8
8
  export interface PieChartProSlotProps extends Omit<PieChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
9
- export interface PieChartProProps extends Omit<PieChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'pie', PieChartProPluginSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
9
+ export interface PieChartProProps extends Omit<PieChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'pie', PieChartProPluginSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
@@ -5,7 +5,7 @@ import { ChartsToolbarProSlotProps, ChartsToolbarProSlots } from "../ChartsToolb
5
5
  import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
6
6
  export interface RadarChartProSlots extends Omit<RadarChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
7
7
  export interface RadarChartProSlotProps extends Omit<RadarChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
8
- export interface RadarChartProProps extends Omit<RadarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<RadarDataProviderProps<RadarChartProPluginsSignatures>, 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
8
+ export interface RadarChartProProps extends Omit<RadarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<RadarDataProviderProps<RadarChartProPluginsSignatures>, 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
9
9
  /**
10
10
  * Overridable component slots.
11
11
  * @default {}
@@ -6,7 +6,7 @@ import { ScatterChartProPluginsSignatures } from "./ScatterChartPro.plugins.js";
6
6
  import { ChartsToolbarProSlots, ChartsToolbarProSlotProps } from "../ChartsToolbarPro/Toolbar.types.js";
7
7
  export interface ScatterChartProSlots extends Omit<ScatterChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
8
8
  export interface ScatterChartProSlotProps extends Omit<ScatterChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
9
- export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps'> {
9
+ export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
@@ -320,6 +320,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
320
320
  panning: _propTypes.default.bool,
321
321
  slider: _propTypes.default.shape({
322
322
  enabled: _propTypes.default.bool,
323
+ preview: _propTypes.default.bool,
323
324
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
324
325
  size: _propTypes.default.number
325
326
  }),
@@ -385,6 +386,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
385
386
  panning: _propTypes.default.bool,
386
387
  slider: _propTypes.default.shape({
387
388
  enabled: _propTypes.default.bool,
389
+ preview: _propTypes.default.bool,
388
390
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
389
391
  size: _propTypes.default.number
390
392
  }),
@@ -445,6 +447,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
445
447
  panning: _propTypes.default.bool,
446
448
  slider: _propTypes.default.shape({
447
449
  enabled: _propTypes.default.bool,
450
+ preview: _propTypes.default.bool,
448
451
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
449
452
  size: _propTypes.default.number
450
453
  }),
@@ -505,6 +508,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
505
508
  panning: _propTypes.default.bool,
506
509
  slider: _propTypes.default.shape({
507
510
  enabled: _propTypes.default.bool,
511
+ preview: _propTypes.default.bool,
508
512
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
509
513
  size: _propTypes.default.number
510
514
  }),
@@ -565,6 +569,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
565
569
  panning: _propTypes.default.bool,
566
570
  slider: _propTypes.default.shape({
567
571
  enabled: _propTypes.default.bool,
572
+ preview: _propTypes.default.bool,
568
573
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
569
574
  size: _propTypes.default.number
570
575
  }),
@@ -625,6 +630,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
625
630
  panning: _propTypes.default.bool,
626
631
  slider: _propTypes.default.shape({
627
632
  enabled: _propTypes.default.bool,
633
+ preview: _propTypes.default.bool,
628
634
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
629
635
  size: _propTypes.default.number
630
636
  }),
@@ -685,6 +691,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
685
691
  panning: _propTypes.default.bool,
686
692
  slider: _propTypes.default.shape({
687
693
  enabled: _propTypes.default.bool,
694
+ preview: _propTypes.default.bool,
688
695
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
689
696
  size: _propTypes.default.number
690
697
  }),
@@ -745,6 +752,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
745
752
  panning: _propTypes.default.bool,
746
753
  slider: _propTypes.default.shape({
747
754
  enabled: _propTypes.default.bool,
755
+ preview: _propTypes.default.bool,
748
756
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
749
757
  size: _propTypes.default.number
750
758
  }),
@@ -817,6 +825,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
817
825
  panning: _propTypes.default.bool,
818
826
  slider: _propTypes.default.shape({
819
827
  enabled: _propTypes.default.bool,
828
+ preview: _propTypes.default.bool,
820
829
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
821
830
  size: _propTypes.default.number
822
831
  }),
@@ -881,6 +890,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
881
890
  panning: _propTypes.default.bool,
882
891
  slider: _propTypes.default.shape({
883
892
  enabled: _propTypes.default.bool,
893
+ preview: _propTypes.default.bool,
884
894
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
885
895
  size: _propTypes.default.number
886
896
  }),
@@ -940,6 +950,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
940
950
  panning: _propTypes.default.bool,
941
951
  slider: _propTypes.default.shape({
942
952
  enabled: _propTypes.default.bool,
953
+ preview: _propTypes.default.bool,
943
954
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
944
955
  size: _propTypes.default.number
945
956
  }),
@@ -999,6 +1010,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
999
1010
  panning: _propTypes.default.bool,
1000
1011
  slider: _propTypes.default.shape({
1001
1012
  enabled: _propTypes.default.bool,
1013
+ preview: _propTypes.default.bool,
1002
1014
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1003
1015
  size: _propTypes.default.number
1004
1016
  }),
@@ -1058,6 +1070,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1058
1070
  panning: _propTypes.default.bool,
1059
1071
  slider: _propTypes.default.shape({
1060
1072
  enabled: _propTypes.default.bool,
1073
+ preview: _propTypes.default.bool,
1061
1074
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1062
1075
  size: _propTypes.default.number
1063
1076
  }),
@@ -1117,6 +1130,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1117
1130
  panning: _propTypes.default.bool,
1118
1131
  slider: _propTypes.default.shape({
1119
1132
  enabled: _propTypes.default.bool,
1133
+ preview: _propTypes.default.bool,
1120
1134
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1121
1135
  size: _propTypes.default.number
1122
1136
  }),
@@ -1176,6 +1190,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1176
1190
  panning: _propTypes.default.bool,
1177
1191
  slider: _propTypes.default.shape({
1178
1192
  enabled: _propTypes.default.bool,
1193
+ preview: _propTypes.default.bool,
1179
1194
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1180
1195
  size: _propTypes.default.number
1181
1196
  }),
@@ -1235,6 +1250,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
1235
1250
  panning: _propTypes.default.bool,
1236
1251
  slider: _propTypes.default.shape({
1237
1252
  enabled: _propTypes.default.bool,
1253
+ preview: _propTypes.default.bool,
1238
1254
  showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
1239
1255
  size: _propTypes.default.number
1240
1256
  }),
@@ -6,7 +6,7 @@ import { ChartContainerProProps } from "../ChartContainerPro/index.js";
6
6
  import { BarChartProPluginsSignatures } from "./BarChartPro.plugins.js";
7
7
  export interface BarChartProSlots extends Omit<BarChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
8
8
  export interface BarChartProSlotProps extends Omit<BarChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
9
- export interface BarChartProProps extends Omit<BarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
9
+ export interface BarChartProProps extends Omit<BarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
@@ -150,6 +150,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
150
150
  * If `true`, the legend is not rendered.
151
151
  */
152
152
  hideLegend: PropTypes.bool,
153
+ /**
154
+ * The controlled axis highlight.
155
+ * Identified by the axis id, and data index.
156
+ */
157
+ highlightedAxis: PropTypes.arrayOf(PropTypes.shape({
158
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
159
+ dataIndex: PropTypes.number.isRequired
160
+ })),
153
161
  /**
154
162
  * The highlighted item.
155
163
  * Used when the highlight is controlled.
@@ -211,6 +219,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
211
219
  * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
212
220
  */
213
221
  onHighlightChange: PropTypes.func,
222
+ /**
223
+ * The function called when the pointer position corresponds to a new axis data item.
224
+ * This update can either be caused by a pointer movement, or an axis update.
225
+ * In case of multiple axes, the function is called if at least one axis is updated.
226
+ * The argument contains the identifier for all axes with a `data` property.
227
+ * @param {AxisItemIdentifier[]} axisItems The array of axes item identifiers.
228
+ */
229
+ onHighlightedAxisChange: PropTypes.func,
214
230
  /**
215
231
  * Callback fired when a bar item is clicked.
216
232
  * @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
@@ -322,6 +338,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
322
338
  panning: PropTypes.bool,
323
339
  slider: PropTypes.shape({
324
340
  enabled: PropTypes.bool,
341
+ preview: PropTypes.bool,
325
342
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
326
343
  size: PropTypes.number
327
344
  }),
@@ -387,6 +404,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
387
404
  panning: PropTypes.bool,
388
405
  slider: PropTypes.shape({
389
406
  enabled: PropTypes.bool,
407
+ preview: PropTypes.bool,
390
408
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
391
409
  size: PropTypes.number
392
410
  }),
@@ -447,6 +465,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
447
465
  panning: PropTypes.bool,
448
466
  slider: PropTypes.shape({
449
467
  enabled: PropTypes.bool,
468
+ preview: PropTypes.bool,
450
469
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
451
470
  size: PropTypes.number
452
471
  }),
@@ -507,6 +526,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
507
526
  panning: PropTypes.bool,
508
527
  slider: PropTypes.shape({
509
528
  enabled: PropTypes.bool,
529
+ preview: PropTypes.bool,
510
530
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
511
531
  size: PropTypes.number
512
532
  }),
@@ -567,6 +587,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
567
587
  panning: PropTypes.bool,
568
588
  slider: PropTypes.shape({
569
589
  enabled: PropTypes.bool,
590
+ preview: PropTypes.bool,
570
591
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
571
592
  size: PropTypes.number
572
593
  }),
@@ -627,6 +648,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
627
648
  panning: PropTypes.bool,
628
649
  slider: PropTypes.shape({
629
650
  enabled: PropTypes.bool,
651
+ preview: PropTypes.bool,
630
652
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
631
653
  size: PropTypes.number
632
654
  }),
@@ -687,6 +709,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
687
709
  panning: PropTypes.bool,
688
710
  slider: PropTypes.shape({
689
711
  enabled: PropTypes.bool,
712
+ preview: PropTypes.bool,
690
713
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
691
714
  size: PropTypes.number
692
715
  }),
@@ -747,6 +770,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
747
770
  panning: PropTypes.bool,
748
771
  slider: PropTypes.shape({
749
772
  enabled: PropTypes.bool,
773
+ preview: PropTypes.bool,
750
774
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
751
775
  size: PropTypes.number
752
776
  }),
@@ -819,6 +843,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
819
843
  panning: PropTypes.bool,
820
844
  slider: PropTypes.shape({
821
845
  enabled: PropTypes.bool,
846
+ preview: PropTypes.bool,
822
847
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
823
848
  size: PropTypes.number
824
849
  }),
@@ -883,6 +908,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
883
908
  panning: PropTypes.bool,
884
909
  slider: PropTypes.shape({
885
910
  enabled: PropTypes.bool,
911
+ preview: PropTypes.bool,
886
912
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
887
913
  size: PropTypes.number
888
914
  }),
@@ -942,6 +968,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
942
968
  panning: PropTypes.bool,
943
969
  slider: PropTypes.shape({
944
970
  enabled: PropTypes.bool,
971
+ preview: PropTypes.bool,
945
972
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
946
973
  size: PropTypes.number
947
974
  }),
@@ -1001,6 +1028,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1001
1028
  panning: PropTypes.bool,
1002
1029
  slider: PropTypes.shape({
1003
1030
  enabled: PropTypes.bool,
1031
+ preview: PropTypes.bool,
1004
1032
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1005
1033
  size: PropTypes.number
1006
1034
  }),
@@ -1060,6 +1088,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1060
1088
  panning: PropTypes.bool,
1061
1089
  slider: PropTypes.shape({
1062
1090
  enabled: PropTypes.bool,
1091
+ preview: PropTypes.bool,
1063
1092
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1064
1093
  size: PropTypes.number
1065
1094
  }),
@@ -1119,6 +1148,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1119
1148
  panning: PropTypes.bool,
1120
1149
  slider: PropTypes.shape({
1121
1150
  enabled: PropTypes.bool,
1151
+ preview: PropTypes.bool,
1122
1152
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1123
1153
  size: PropTypes.number
1124
1154
  }),
@@ -1178,6 +1208,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1178
1208
  panning: PropTypes.bool,
1179
1209
  slider: PropTypes.shape({
1180
1210
  enabled: PropTypes.bool,
1211
+ preview: PropTypes.bool,
1181
1212
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1182
1213
  size: PropTypes.number
1183
1214
  }),
@@ -1237,6 +1268,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
1237
1268
  panning: PropTypes.bool,
1238
1269
  slider: PropTypes.shape({
1239
1270
  enabled: PropTypes.bool,
1271
+ preview: PropTypes.bool,
1240
1272
  showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
1241
1273
  size: PropTypes.number
1242
1274
  }),
@@ -11,7 +11,7 @@ import { defaultSlotsMaterial } from "../internals/material/index.js";
11
11
  import { DEFAULT_PLUGINS } from "../internals/plugins/allPlugins.js";
12
12
  import { useChartDataProviderProProps } from "./useChartDataProviderProProps.js";
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- const releaseInfo = "MTc1MTU4MDAwMDAwMA==";
14
+ const releaseInfo = "MTc1MjE4NDgwMDAwMA==";
15
15
  const packageIdentifier = 'x-charts-pro';
16
16
  /**
17
17
  * Orchestrates the data providers for the chart components and hooks.
@@ -83,6 +83,12 @@ process.env.NODE_ENV !== "production" ? ChartDataProviderPro.propTypes = {
83
83
  * An array of objects that can be used to populate series and axes data using their `dataKey` property.
84
84
  */
85
85
  dataset: PropTypes.arrayOf(PropTypes.object),
86
+ /**
87
+ * Options to enable features planned for the next major.
88
+ */
89
+ experimentalFeatures: PropTypes.shape({
90
+ preferStrictDomainInLineCharts: PropTypes.bool
91
+ }),
86
92
  /**
87
93
  * The height of the chart in px. If not defined, it takes the height of the parent element.
88
94
  */