@mui/x-charts-pro 9.2.0 → 9.4.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 (78) hide show
  1. package/BarChartPro/BarChartPro.js +62 -32
  2. package/BarChartPro/BarChartPro.mjs +62 -32
  3. package/CHANGELOG.md +314 -0
  4. package/ChartsDataProviderPro/ChartsDataProviderPro.js +2 -2
  5. package/ChartsDataProviderPro/ChartsDataProviderPro.mjs +2 -2
  6. package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +1 -0
  7. package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.mjs +1 -0
  8. package/ChartsToolbarPro/ChartsToolbarPro.d.mts +1 -1
  9. package/ChartsToolbarPro/ChartsToolbarPro.d.ts +1 -1
  10. package/ChartsToolbarPro/ChartsToolbarRangeButtonTrigger.d.mts +1 -1
  11. package/ChartsToolbarPro/ChartsToolbarRangeButtonTrigger.d.ts +1 -1
  12. package/ChartsToolbarPro/ChartsToolbarRangeButtonTrigger.js +35 -38
  13. package/ChartsToolbarPro/ChartsToolbarRangeButtonTrigger.mjs +37 -40
  14. package/ChartsToolbarPro/Toolbar.types.d.mts +3 -2
  15. package/ChartsToolbarPro/Toolbar.types.d.ts +3 -2
  16. package/ChartsToolbarPro/rangeButtonValueToZoom.d.mts +18 -2
  17. package/ChartsToolbarPro/rangeButtonValueToZoom.d.ts +18 -2
  18. package/ChartsToolbarPro/rangeButtonValueToZoom.js +73 -10
  19. package/ChartsToolbarPro/rangeButtonValueToZoom.mjs +72 -10
  20. package/ChartsZoomSlider/internals/chartsAxisZoomSliderThumbClasses.js +9 -2
  21. package/ChartsZoomSlider/internals/chartsAxisZoomSliderThumbClasses.mjs +9 -2
  22. package/ChartsZoomSlider/internals/previews/ScatterPreviewPlot.js +2 -1
  23. package/ChartsZoomSlider/internals/previews/ScatterPreviewPlot.mjs +2 -1
  24. package/FunnelChart/FunnelChart.js +15 -15
  25. package/FunnelChart/FunnelChart.mjs +15 -15
  26. package/FunnelChart/funnelPlotSlots.types.d.mts +5 -4
  27. package/FunnelChart/funnelPlotSlots.types.d.ts +5 -4
  28. package/Heatmap/Heatmap.d.mts +3 -2
  29. package/Heatmap/Heatmap.d.ts +3 -2
  30. package/Heatmap/Heatmap.js +52 -22
  31. package/Heatmap/Heatmap.mjs +52 -22
  32. package/Heatmap/HeatmapItem.d.mts +3 -2
  33. package/Heatmap/HeatmapItem.d.ts +3 -2
  34. package/Heatmap/HeatmapItem.js +2 -0
  35. package/Heatmap/HeatmapItem.mjs +2 -0
  36. package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.mts +3 -2
  37. package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +3 -2
  38. package/LineChartPro/LineChartPro.js +58 -28
  39. package/LineChartPro/LineChartPro.mjs +58 -28
  40. package/PieChartPro/PieChartPro.js +6 -6
  41. package/PieChartPro/PieChartPro.mjs +6 -6
  42. package/RadarChartPro/RadarChartPro.js +8 -8
  43. package/RadarChartPro/RadarChartPro.mjs +8 -8
  44. package/SankeyChart/SankeyChart.js +16 -16
  45. package/SankeyChart/SankeyChart.mjs +16 -16
  46. package/ScatterChartPro/ScatterChartPro.d.mts +2 -1
  47. package/ScatterChartPro/ScatterChartPro.d.ts +2 -1
  48. package/ScatterChartPro/ScatterChartPro.js +58 -28
  49. package/ScatterChartPro/ScatterChartPro.mjs +58 -28
  50. package/index.js +1 -1
  51. package/index.mjs +1 -1
  52. package/internals/plugins/useChartProExport/exportImage.js +8 -2
  53. package/internals/plugins/useChartProExport/exportImage.mjs +8 -2
  54. package/internals/plugins/useChartProExport/print.js +1 -0
  55. package/internals/plugins/useChartProExport/print.mjs +1 -0
  56. package/internals/plugins/useChartProExport/useChartProExport.types.d.mts +6 -0
  57. package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +6 -0
  58. package/internals/plugins/useChartProZoom/useChartProZoom.js +77 -14
  59. package/internals/plugins/useChartProZoom/useChartProZoom.mjs +79 -15
  60. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.mts +0 -3
  61. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +0 -3
  62. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +1 -2
  63. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.mjs +0 -1
  64. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.mts +28 -11
  65. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +28 -11
  66. package/internals/slots/chartsBaseSlots.d.mts +6 -5
  67. package/internals/slots/chartsBaseSlots.d.ts +6 -5
  68. package/internals/slots/chartsIconSlots.d.mts +4 -3
  69. package/internals/slots/chartsIconSlots.d.ts +4 -3
  70. package/models/chartsSlotsComponentsPropsPro.d.mts +11 -0
  71. package/models/chartsSlotsComponentsPropsPro.d.ts +11 -0
  72. package/models/chartsSlotsComponentsPropsPro.js +5 -0
  73. package/models/chartsSlotsComponentsPropsPro.mjs +1 -0
  74. package/models/index.d.mts +1 -0
  75. package/models/index.d.ts +1 -0
  76. package/models/index.js +12 -0
  77. package/models/index.mjs +1 -0
  78. package/package.json +6 -6
@@ -226,11 +226,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
226
226
  */
227
227
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
228
228
  dataIndex: _propTypes.default.number,
229
- seriesId: _propTypes.default.string.isRequired,
230
- type: _propTypes.default.oneOf(['line']).isRequired
229
+ seriesId: _propTypes.default.string.isRequired
231
230
  }), _propTypes.default.shape({
232
231
  dataIndex: _propTypes.default.number,
233
- seriesId: _propTypes.default.string.isRequired
232
+ seriesId: _propTypes.default.string.isRequired,
233
+ type: _propTypes.default.oneOf(['line']).isRequired
234
234
  })]),
235
235
  /**
236
236
  * This prop is used to help implement the accessibility logic.
@@ -270,12 +270,21 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
270
270
  /**
271
271
  * The list of zoom data related to each axis.
272
272
  * Used to initialize the zoom in a specific configuration without controlling it.
273
+ *
274
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
275
+ * range value (`{ axisId, value }`) resolved against the axis domain.
273
276
  */
274
- initialZoom: _propTypes.default.arrayOf(_propTypes.default.shape({
277
+ initialZoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
275
278
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
276
279
  end: _propTypes.default.number.isRequired,
277
280
  start: _propTypes.default.number.isRequired
278
- })),
281
+ }), _propTypes.default.shape({
282
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
283
+ value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.instanceOf(Date).isRequired), _propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func, _propTypes.default.shape({
284
+ step: _propTypes.default.number,
285
+ unit: _propTypes.default.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
286
+ })])
287
+ })]).isRequired),
279
288
  /**
280
289
  * If `true`, a loading overlay is displayed.
281
290
  * @default false
@@ -401,11 +410,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
401
410
  */
402
411
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
403
412
  dataIndex: _propTypes.default.number,
404
- seriesId: _propTypes.default.string.isRequired,
405
- type: _propTypes.default.oneOf(['line']).isRequired
413
+ seriesId: _propTypes.default.string.isRequired
406
414
  }), _propTypes.default.shape({
407
415
  dataIndex: _propTypes.default.number,
408
- seriesId: _propTypes.default.string.isRequired
416
+ seriesId: _propTypes.default.string.isRequired,
417
+ type: _propTypes.default.oneOf(['line']).isRequired
409
418
  })]),
410
419
  /**
411
420
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -428,11 +437,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
428
437
  */
429
438
  zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
430
439
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
431
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
432
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
433
- unknownColor: _propTypes.default.string,
434
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
435
- }), _propTypes.default.shape({
436
440
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
437
441
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
438
442
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -441,12 +445,38 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
441
445
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
442
446
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
443
447
  type: _propTypes.default.oneOf(['piecewise']).isRequired
448
+ }), _propTypes.default.shape({
449
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
450
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
451
+ unknownColor: _propTypes.default.string,
452
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
444
453
  })]),
445
454
  data: _propTypes.default.array,
446
455
  dataKey: _propTypes.default.string,
447
456
  id: _propTypes.default.string,
448
457
  max: _propTypes.default.number,
449
458
  min: _propTypes.default.number,
459
+ sizeMap: _propTypes.default.oneOfType([_propTypes.default.shape({
460
+ interpolator: _propTypes.default.oneOf(['linear', 'log', 'sqrt']),
461
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
462
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
463
+ size: _propTypes.default.arrayOf(_propTypes.default.number.isRequired).isRequired,
464
+ type: _propTypes.default.oneOf(['continuous']).isRequired
465
+ }), _propTypes.default.shape({
466
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
467
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
468
+ size: _propTypes.default.func.isRequired,
469
+ type: _propTypes.default.oneOf(['continuous']).isRequired
470
+ }), _propTypes.default.shape({
471
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
472
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
473
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
474
+ }), _propTypes.default.shape({
475
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
476
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
477
+ unknownSize: _propTypes.default.number,
478
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
479
+ })]),
450
480
  valueGetter: _propTypes.default.func
451
481
  })),
452
482
  /**
@@ -462,6 +492,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
462
492
  */
463
493
  zoomInteractionConfig: _propTypes.default.shape({
464
494
  pan: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['drag', 'pressAndDrag', 'wheel']), _propTypes.default.shape({
495
+ allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
496
+ pointerMode: _propTypes.default.any,
497
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
498
+ type: _propTypes.default.oneOf(['wheel']).isRequired
499
+ }), _propTypes.default.shape({
465
500
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
466
501
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
467
502
  type: _propTypes.default.oneOf(['drag']).isRequired
@@ -469,24 +504,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
469
504
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
470
505
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
471
506
  type: _propTypes.default.oneOf(['pressAndDrag']).isRequired
472
- }), _propTypes.default.shape({
473
- allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
474
- pointerMode: _propTypes.default.any,
475
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
476
- type: _propTypes.default.oneOf(['wheel']).isRequired
477
507
  })]).isRequired),
478
508
  zoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), _propTypes.default.shape({
479
- pointerMode: _propTypes.default.any,
480
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
481
- type: _propTypes.default.oneOf(['wheel']).isRequired
482
- }), _propTypes.default.shape({
483
- pointerMode: _propTypes.default.any,
484
- requiredKeys: _propTypes.default.array,
485
- type: _propTypes.default.oneOf(['pinch']).isRequired
486
- }), _propTypes.default.shape({
487
509
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
488
510
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
489
- type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
511
+ type: _propTypes.default.oneOf(['brush']).isRequired
490
512
  }), _propTypes.default.shape({
491
513
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
492
514
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
@@ -494,7 +516,15 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
494
516
  }), _propTypes.default.shape({
495
517
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
496
518
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
497
- type: _propTypes.default.oneOf(['brush']).isRequired
519
+ type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
520
+ }), _propTypes.default.shape({
521
+ pointerMode: _propTypes.default.any,
522
+ requiredKeys: _propTypes.default.array,
523
+ type: _propTypes.default.oneOf(['pinch']).isRequired
524
+ }), _propTypes.default.shape({
525
+ pointerMode: _propTypes.default.any,
526
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
527
+ type: _propTypes.default.oneOf(['wheel']).isRequired
498
528
  })]).isRequired)
499
529
  })
500
530
  } : void 0;
@@ -219,11 +219,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
219
219
  */
220
220
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
221
221
  dataIndex: PropTypes.number,
222
- seriesId: PropTypes.string.isRequired,
223
- type: PropTypes.oneOf(['line']).isRequired
222
+ seriesId: PropTypes.string.isRequired
224
223
  }), PropTypes.shape({
225
224
  dataIndex: PropTypes.number,
226
- seriesId: PropTypes.string.isRequired
225
+ seriesId: PropTypes.string.isRequired,
226
+ type: PropTypes.oneOf(['line']).isRequired
227
227
  })]),
228
228
  /**
229
229
  * This prop is used to help implement the accessibility logic.
@@ -263,12 +263,21 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
263
263
  /**
264
264
  * The list of zoom data related to each axis.
265
265
  * Used to initialize the zoom in a specific configuration without controlling it.
266
+ *
267
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
268
+ * range value (`{ axisId, value }`) resolved against the axis domain.
266
269
  */
267
- initialZoom: PropTypes.arrayOf(PropTypes.shape({
270
+ initialZoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
268
271
  axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
269
272
  end: PropTypes.number.isRequired,
270
273
  start: PropTypes.number.isRequired
271
- })),
274
+ }), PropTypes.shape({
275
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
276
+ value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(Date).isRequired), PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func, PropTypes.shape({
277
+ step: PropTypes.number,
278
+ unit: PropTypes.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
279
+ })])
280
+ })]).isRequired),
272
281
  /**
273
282
  * If `true`, a loading overlay is displayed.
274
283
  * @default false
@@ -394,11 +403,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
394
403
  */
395
404
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
396
405
  dataIndex: PropTypes.number,
397
- seriesId: PropTypes.string.isRequired,
398
- type: PropTypes.oneOf(['line']).isRequired
406
+ seriesId: PropTypes.string.isRequired
399
407
  }), PropTypes.shape({
400
408
  dataIndex: PropTypes.number,
401
- seriesId: PropTypes.string.isRequired
409
+ seriesId: PropTypes.string.isRequired,
410
+ type: PropTypes.oneOf(['line']).isRequired
402
411
  })]),
403
412
  /**
404
413
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -421,11 +430,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
421
430
  */
422
431
  zAxis: PropTypes.arrayOf(PropTypes.shape({
423
432
  colorMap: PropTypes.oneOfType([PropTypes.shape({
424
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
425
- type: PropTypes.oneOf(['ordinal']).isRequired,
426
- unknownColor: PropTypes.string,
427
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
428
- }), PropTypes.shape({
429
433
  color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
430
434
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
431
435
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -434,12 +438,38 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
434
438
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
435
439
  thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
436
440
  type: PropTypes.oneOf(['piecewise']).isRequired
441
+ }), PropTypes.shape({
442
+ colors: PropTypes.arrayOf(PropTypes.string).isRequired,
443
+ type: PropTypes.oneOf(['ordinal']).isRequired,
444
+ unknownColor: PropTypes.string,
445
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
437
446
  })]),
438
447
  data: PropTypes.array,
439
448
  dataKey: PropTypes.string,
440
449
  id: PropTypes.string,
441
450
  max: PropTypes.number,
442
451
  min: PropTypes.number,
452
+ sizeMap: PropTypes.oneOfType([PropTypes.shape({
453
+ interpolator: PropTypes.oneOf(['linear', 'log', 'sqrt']),
454
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
455
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
456
+ size: PropTypes.arrayOf(PropTypes.number.isRequired).isRequired,
457
+ type: PropTypes.oneOf(['continuous']).isRequired
458
+ }), PropTypes.shape({
459
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
460
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
461
+ size: PropTypes.func.isRequired,
462
+ type: PropTypes.oneOf(['continuous']).isRequired
463
+ }), PropTypes.shape({
464
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
465
+ thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
466
+ type: PropTypes.oneOf(['piecewise']).isRequired
467
+ }), PropTypes.shape({
468
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
469
+ type: PropTypes.oneOf(['ordinal']).isRequired,
470
+ unknownSize: PropTypes.number,
471
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
472
+ })]),
443
473
  valueGetter: PropTypes.func
444
474
  })),
445
475
  /**
@@ -455,6 +485,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
455
485
  */
456
486
  zoomInteractionConfig: PropTypes.shape({
457
487
  pan: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['drag', 'pressAndDrag', 'wheel']), PropTypes.shape({
488
+ allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
489
+ pointerMode: PropTypes.any,
490
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
491
+ type: PropTypes.oneOf(['wheel']).isRequired
492
+ }), PropTypes.shape({
458
493
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
459
494
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
460
495
  type: PropTypes.oneOf(['drag']).isRequired
@@ -462,24 +497,11 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
462
497
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
463
498
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
464
499
  type: PropTypes.oneOf(['pressAndDrag']).isRequired
465
- }), PropTypes.shape({
466
- allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
467
- pointerMode: PropTypes.any,
468
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
469
- type: PropTypes.oneOf(['wheel']).isRequired
470
500
  })]).isRequired),
471
501
  zoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), PropTypes.shape({
472
- pointerMode: PropTypes.any,
473
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
474
- type: PropTypes.oneOf(['wheel']).isRequired
475
- }), PropTypes.shape({
476
- pointerMode: PropTypes.any,
477
- requiredKeys: PropTypes.array,
478
- type: PropTypes.oneOf(['pinch']).isRequired
479
- }), PropTypes.shape({
480
502
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
481
503
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
482
- type: PropTypes.oneOf(['tapAndDrag']).isRequired
504
+ type: PropTypes.oneOf(['brush']).isRequired
483
505
  }), PropTypes.shape({
484
506
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
485
507
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
@@ -487,7 +509,15 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
487
509
  }), PropTypes.shape({
488
510
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
489
511
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
490
- type: PropTypes.oneOf(['brush']).isRequired
512
+ type: PropTypes.oneOf(['tapAndDrag']).isRequired
513
+ }), PropTypes.shape({
514
+ pointerMode: PropTypes.any,
515
+ requiredKeys: PropTypes.array,
516
+ type: PropTypes.oneOf(['pinch']).isRequired
517
+ }), PropTypes.shape({
518
+ pointerMode: PropTypes.any,
519
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
520
+ type: PropTypes.oneOf(['wheel']).isRequired
491
521
  })]).isRequired)
492
522
  })
493
523
  } : void 0;
@@ -175,11 +175,11 @@ process.env.NODE_ENV !== "production" ? PieChartPro.propTypes = {
175
175
  */
176
176
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
177
177
  dataIndex: _propTypes.default.number,
178
- seriesId: _propTypes.default.string.isRequired,
179
- type: _propTypes.default.oneOf(['pie']).isRequired
178
+ seriesId: _propTypes.default.string.isRequired
180
179
  }), _propTypes.default.shape({
181
180
  dataIndex: _propTypes.default.number,
182
- seriesId: _propTypes.default.string.isRequired
181
+ seriesId: _propTypes.default.string.isRequired,
182
+ type: _propTypes.default.oneOf(['pie']).isRequired
183
183
  })]),
184
184
  /**
185
185
  * This prop is used to help implement the accessibility logic.
@@ -296,11 +296,11 @@ process.env.NODE_ENV !== "production" ? PieChartPro.propTypes = {
296
296
  */
297
297
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
298
298
  dataIndex: _propTypes.default.number.isRequired,
299
- seriesId: _propTypes.default.string.isRequired,
300
- type: _propTypes.default.oneOf(['pie']).isRequired
299
+ seriesId: _propTypes.default.string.isRequired
301
300
  }), _propTypes.default.shape({
302
301
  dataIndex: _propTypes.default.number.isRequired,
303
- seriesId: _propTypes.default.string.isRequired
302
+ seriesId: _propTypes.default.string.isRequired,
303
+ type: _propTypes.default.oneOf(['pie']).isRequired
304
304
  })]),
305
305
  /**
306
306
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -167,11 +167,11 @@ process.env.NODE_ENV !== "production" ? PieChartPro.propTypes = {
167
167
  */
168
168
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
169
169
  dataIndex: PropTypes.number,
170
- seriesId: PropTypes.string.isRequired,
171
- type: PropTypes.oneOf(['pie']).isRequired
170
+ seriesId: PropTypes.string.isRequired
172
171
  }), PropTypes.shape({
173
172
  dataIndex: PropTypes.number,
174
- seriesId: PropTypes.string.isRequired
173
+ seriesId: PropTypes.string.isRequired,
174
+ type: PropTypes.oneOf(['pie']).isRequired
175
175
  })]),
176
176
  /**
177
177
  * This prop is used to help implement the accessibility logic.
@@ -288,11 +288,11 @@ process.env.NODE_ENV !== "production" ? PieChartPro.propTypes = {
288
288
  */
289
289
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
290
290
  dataIndex: PropTypes.number.isRequired,
291
- seriesId: PropTypes.string.isRequired,
292
- type: PropTypes.oneOf(['pie']).isRequired
291
+ seriesId: PropTypes.string.isRequired
293
292
  }), PropTypes.shape({
294
293
  dataIndex: PropTypes.number.isRequired,
295
- seriesId: PropTypes.string.isRequired
294
+ seriesId: PropTypes.string.isRequired,
295
+ type: PropTypes.oneOf(['pie']).isRequired
296
296
  })]),
297
297
  /**
298
298
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -153,11 +153,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
153
153
  */
154
154
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
155
155
  dataIndex: _propTypes.default.number,
156
- seriesId: _propTypes.default.string.isRequired,
157
- type: _propTypes.default.oneOf(['radar']).isRequired
156
+ seriesId: _propTypes.default.string.isRequired
158
157
  }), _propTypes.default.shape({
159
158
  dataIndex: _propTypes.default.number,
160
- seriesId: _propTypes.default.string.isRequired
159
+ seriesId: _propTypes.default.string.isRequired,
160
+ type: _propTypes.default.oneOf(['radar']).isRequired
161
161
  })]),
162
162
  /**
163
163
  * This prop is used to help implement the accessibility logic.
@@ -258,11 +258,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
258
258
  labelFormatter: _propTypes.default.func,
259
259
  labelGap: _propTypes.default.number,
260
260
  max: _propTypes.default.number,
261
- metrics: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.arrayOf(_propTypes.default.shape({
261
+ metrics: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape({
262
262
  max: _propTypes.default.number,
263
263
  min: _propTypes.default.number,
264
264
  name: _propTypes.default.string.isRequired
265
- }))]).isRequired,
265
+ })), _propTypes.default.arrayOf(_propTypes.default.string)]).isRequired,
266
266
  startAngle: _propTypes.default.number
267
267
  }).isRequired,
268
268
  /**
@@ -315,11 +315,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
315
315
  */
316
316
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
317
317
  dataIndex: _propTypes.default.number,
318
- seriesId: _propTypes.default.string.isRequired,
319
- type: _propTypes.default.oneOf(['radar']).isRequired
318
+ seriesId: _propTypes.default.string.isRequired
320
319
  }), _propTypes.default.shape({
321
320
  dataIndex: _propTypes.default.number,
322
- seriesId: _propTypes.default.string.isRequired
321
+ seriesId: _propTypes.default.string.isRequired,
322
+ type: _propTypes.default.oneOf(['radar']).isRequired
323
323
  })]),
324
324
  /**
325
325
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -146,11 +146,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
146
146
  */
147
147
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
148
148
  dataIndex: PropTypes.number,
149
- seriesId: PropTypes.string.isRequired,
150
- type: PropTypes.oneOf(['radar']).isRequired
149
+ seriesId: PropTypes.string.isRequired
151
150
  }), PropTypes.shape({
152
151
  dataIndex: PropTypes.number,
153
- seriesId: PropTypes.string.isRequired
152
+ seriesId: PropTypes.string.isRequired,
153
+ type: PropTypes.oneOf(['radar']).isRequired
154
154
  })]),
155
155
  /**
156
156
  * This prop is used to help implement the accessibility logic.
@@ -251,11 +251,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
251
251
  labelFormatter: PropTypes.func,
252
252
  labelGap: PropTypes.number,
253
253
  max: PropTypes.number,
254
- metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.shape({
254
+ metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({
255
255
  max: PropTypes.number,
256
256
  min: PropTypes.number,
257
257
  name: PropTypes.string.isRequired
258
- }))]).isRequired,
258
+ })), PropTypes.arrayOf(PropTypes.string)]).isRequired,
259
259
  startAngle: PropTypes.number
260
260
  }).isRequired,
261
261
  /**
@@ -308,11 +308,11 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
308
308
  */
309
309
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
310
310
  dataIndex: PropTypes.number,
311
- seriesId: PropTypes.string.isRequired,
312
- type: PropTypes.oneOf(['radar']).isRequired
311
+ seriesId: PropTypes.string.isRequired
313
312
  }), PropTypes.shape({
314
313
  dataIndex: PropTypes.number,
315
- seriesId: PropTypes.string.isRequired
314
+ seriesId: PropTypes.string.isRequired,
315
+ type: PropTypes.oneOf(['radar']).isRequired
316
316
  })]),
317
317
  /**
318
318
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -122,26 +122,25 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
122
122
  /**
123
123
  * Subtype to differentiate between node and link
124
124
  */
125
- 'node']).isRequired,
126
- type: _propTypes.default.oneOf(['sankey']).isRequired
125
+ 'node']).isRequired
127
126
  }), _propTypes.default.shape({
127
+ nodeId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
128
128
  seriesId: _propTypes.default.string.isRequired,
129
- sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
130
129
  subType: _propTypes.default.oneOf([
131
130
  /**
132
131
  * Subtype to differentiate between node and link
133
132
  */
134
- 'link']).isRequired,
135
- targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
133
+ 'node']).isRequired,
136
134
  type: _propTypes.default.oneOf(['sankey']).isRequired
137
135
  }), _propTypes.default.shape({
138
- nodeId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
139
136
  seriesId: _propTypes.default.string.isRequired,
137
+ sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
140
138
  subType: _propTypes.default.oneOf([
141
139
  /**
142
140
  * Subtype to differentiate between node and link
143
141
  */
144
- 'node']).isRequired
142
+ 'link']).isRequired,
143
+ targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired
145
144
  }), _propTypes.default.shape({
146
145
  seriesId: _propTypes.default.string.isRequired,
147
146
  sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
@@ -150,7 +149,8 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
150
149
  * Subtype to differentiate between node and link
151
150
  */
152
151
  'link']).isRequired,
153
- targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired
152
+ targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
153
+ type: _propTypes.default.oneOf(['sankey']).isRequired
154
154
  })]),
155
155
  /**
156
156
  * This prop is used to help implement the accessibility logic.
@@ -235,26 +235,25 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
235
235
  /**
236
236
  * Subtype to differentiate between node and link
237
237
  */
238
- 'node']).isRequired,
239
- type: _propTypes.default.oneOf(['sankey']).isRequired
238
+ 'node']).isRequired
240
239
  }), _propTypes.default.shape({
240
+ nodeId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
241
241
  seriesId: _propTypes.default.string.isRequired,
242
- sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
243
242
  subType: _propTypes.default.oneOf([
244
243
  /**
245
244
  * Subtype to differentiate between node and link
246
245
  */
247
- 'link']).isRequired,
248
- targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
246
+ 'node']).isRequired,
249
247
  type: _propTypes.default.oneOf(['sankey']).isRequired
250
248
  }), _propTypes.default.shape({
251
- nodeId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
252
249
  seriesId: _propTypes.default.string.isRequired,
250
+ sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
253
251
  subType: _propTypes.default.oneOf([
254
252
  /**
255
253
  * Subtype to differentiate between node and link
256
254
  */
257
- 'node']).isRequired
255
+ 'link']).isRequired,
256
+ targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired
258
257
  }), _propTypes.default.shape({
259
258
  seriesId: _propTypes.default.string.isRequired,
260
259
  sourceId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
@@ -263,7 +262,8 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
263
262
  * Subtype to differentiate between node and link
264
263
  */
265
264
  'link']).isRequired,
266
- targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired
265
+ targetId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
266
+ type: _propTypes.default.oneOf(['sankey']).isRequired
267
267
  })]),
268
268
  /**
269
269
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -115,26 +115,25 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
115
115
  /**
116
116
  * Subtype to differentiate between node and link
117
117
  */
118
- 'node']).isRequired,
119
- type: PropTypes.oneOf(['sankey']).isRequired
118
+ 'node']).isRequired
120
119
  }), PropTypes.shape({
120
+ nodeId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
121
121
  seriesId: PropTypes.string.isRequired,
122
- sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
123
122
  subType: PropTypes.oneOf([
124
123
  /**
125
124
  * Subtype to differentiate between node and link
126
125
  */
127
- 'link']).isRequired,
128
- targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
126
+ 'node']).isRequired,
129
127
  type: PropTypes.oneOf(['sankey']).isRequired
130
128
  }), PropTypes.shape({
131
- nodeId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
132
129
  seriesId: PropTypes.string.isRequired,
130
+ sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
133
131
  subType: PropTypes.oneOf([
134
132
  /**
135
133
  * Subtype to differentiate between node and link
136
134
  */
137
- 'node']).isRequired
135
+ 'link']).isRequired,
136
+ targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
138
137
  }), PropTypes.shape({
139
138
  seriesId: PropTypes.string.isRequired,
140
139
  sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
@@ -143,7 +142,8 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
143
142
  * Subtype to differentiate between node and link
144
143
  */
145
144
  'link']).isRequired,
146
- targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
145
+ targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
146
+ type: PropTypes.oneOf(['sankey']).isRequired
147
147
  })]),
148
148
  /**
149
149
  * This prop is used to help implement the accessibility logic.
@@ -228,26 +228,25 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
228
228
  /**
229
229
  * Subtype to differentiate between node and link
230
230
  */
231
- 'node']).isRequired,
232
- type: PropTypes.oneOf(['sankey']).isRequired
231
+ 'node']).isRequired
233
232
  }), PropTypes.shape({
233
+ nodeId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
234
234
  seriesId: PropTypes.string.isRequired,
235
- sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
236
235
  subType: PropTypes.oneOf([
237
236
  /**
238
237
  * Subtype to differentiate between node and link
239
238
  */
240
- 'link']).isRequired,
241
- targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
239
+ 'node']).isRequired,
242
240
  type: PropTypes.oneOf(['sankey']).isRequired
243
241
  }), PropTypes.shape({
244
- nodeId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
245
242
  seriesId: PropTypes.string.isRequired,
243
+ sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
246
244
  subType: PropTypes.oneOf([
247
245
  /**
248
246
  * Subtype to differentiate between node and link
249
247
  */
250
- 'node']).isRequired
248
+ 'link']).isRequired,
249
+ targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
251
250
  }), PropTypes.shape({
252
251
  seriesId: PropTypes.string.isRequired,
253
252
  sourceId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
@@ -256,7 +255,8 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
256
255
  * Subtype to differentiate between node and link
257
256
  */
258
257
  'link']).isRequired,
259
- targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
258
+ targetId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
259
+ type: PropTypes.oneOf(['sankey']).isRequired
260
260
  })]),
261
261
  /**
262
262
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type ScatterChartProps, type ScatterChartSlotProps, type ScatterChartSlots } from '@mui/x-charts/ScatterChart';
3
3
  import { type ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
4
+ import type { TooltipPropsOverrides } from '@mui/x-charts/models';
4
5
  import { type ChartsSlotPropsPro, type ChartsSlotsPro } from "../internals/material/index.mjs";
5
6
  import { type ChartsContainerProProps } from "../ChartsContainerPro/ChartsContainerPro.mjs";
6
7
  import { type ScatterChartProPluginSignatures } from "./ScatterChartPro.plugins.mjs";
@@ -11,7 +12,7 @@ export interface ScatterChartProSlotProps extends Omit<ScatterChartSlotProps, 't
11
12
  * Slot props for the tooltip component.
12
13
  * @default {}
13
14
  */
14
- tooltip?: Partial<ChartsTooltipProps<'item' | 'none'>>;
15
+ tooltip?: Partial<ChartsTooltipProps<'item' | 'none'>> & TooltipPropsOverrides;
15
16
  }
16
17
  export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps' | 'plugins' | 'seriesConfig'>, Omit<ChartsContainerProProps<'scatter', ScatterChartProPluginSignatures>, 'series' | 'onItemClick' | 'slots' | 'slotProps' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
17
18
  /**