@mui/x-charts-pro 9.3.0 → 9.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 (132) hide show
  1. package/BarChartPro/BarChartPro.js +33 -3
  2. package/BarChartPro/BarChartPro.mjs +34 -4
  3. package/CHANGELOG.md +296 -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/funnel.types.d.mts +1 -1
  25. package/FunnelChart/funnel.types.d.ts +1 -1
  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 +32 -2
  31. package/Heatmap/Heatmap.mjs +32 -2
  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 +33 -3
  39. package/LineChartPro/LineChartPro.mjs +34 -4
  40. package/PieChartPro/PieChartPro.js +1 -1
  41. package/PieChartPro/PieChartPro.mjs +2 -2
  42. package/RadarChartPro/RadarChartPro.js +1 -1
  43. package/RadarChartPro/RadarChartPro.mjs +2 -2
  44. package/ScatterChartPro/ScatterChartPro.d.mts +2 -1
  45. package/ScatterChartPro/ScatterChartPro.d.ts +2 -1
  46. package/ScatterChartPro/ScatterChartPro.js +40 -6
  47. package/ScatterChartPro/ScatterChartPro.mjs +41 -7
  48. package/ScatterChartPro/ScatterChartPro.plugins.d.mts +2 -2
  49. package/ScatterChartPro/ScatterChartPro.plugins.d.ts +2 -2
  50. package/ScatterChartPro/ScatterChartPro.plugins.js +1 -1
  51. package/ScatterChartPro/ScatterChartPro.plugins.mjs +2 -2
  52. package/index.js +1 -1
  53. package/index.mjs +1 -1
  54. package/internals/plugins/allPlugins.d.mts +5 -5
  55. package/internals/plugins/allPlugins.d.ts +5 -5
  56. package/internals/plugins/allPlugins.js +2 -2
  57. package/internals/plugins/allPlugins.mjs +3 -3
  58. package/internals/plugins/useChartProExport/exportImage.js +8 -2
  59. package/internals/plugins/useChartProExport/exportImage.mjs +8 -2
  60. package/internals/plugins/useChartProExport/print.js +1 -0
  61. package/internals/plugins/useChartProExport/print.mjs +1 -0
  62. package/internals/plugins/useChartProExport/useChartProExport.types.d.mts +6 -0
  63. package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +6 -0
  64. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.d.mts +36 -4
  65. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.d.ts +36 -4
  66. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.js +2 -4
  67. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.mjs +1 -3
  68. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.types.d.mts +11 -11
  69. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.types.d.ts +11 -11
  70. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.mts +0 -1
  71. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.ts +0 -1
  72. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.js +9 -65
  73. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.mjs +9 -64
  74. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.d.mts +0 -1
  75. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.d.ts +0 -1
  76. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.js +9 -69
  77. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.mjs +9 -68
  78. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.mts +0 -1
  79. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.ts +0 -1
  80. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.js +9 -39
  81. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.mjs +10 -39
  82. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.mts +0 -1
  83. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.ts +0 -1
  84. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.js +9 -58
  85. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.mjs +10 -58
  86. package/internals/plugins/useChartProZoom/useChartProZoom.js +77 -14
  87. package/internals/plugins/useChartProZoom/useChartProZoom.mjs +79 -15
  88. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.mts +0 -3
  89. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +0 -3
  90. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +1 -2
  91. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.mjs +0 -1
  92. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.mts +28 -11
  93. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +28 -11
  94. package/internals/plugins/zoomGestures/index.d.mts +5 -0
  95. package/internals/plugins/zoomGestures/index.d.ts +5 -0
  96. package/internals/plugins/zoomGestures/index.js +33 -0
  97. package/internals/plugins/zoomGestures/index.mjs +4 -0
  98. package/internals/plugins/zoomGestures/useDragGesture.d.mts +30 -0
  99. package/internals/plugins/zoomGestures/useDragGesture.d.ts +30 -0
  100. package/internals/plugins/zoomGestures/useDragGesture.js +105 -0
  101. package/internals/plugins/zoomGestures/useDragGesture.mjs +99 -0
  102. package/internals/plugins/zoomGestures/useDragOnPressGesture.d.mts +30 -0
  103. package/internals/plugins/zoomGestures/useDragOnPressGesture.d.ts +30 -0
  104. package/internals/plugins/zoomGestures/useDragOnPressGesture.js +105 -0
  105. package/internals/plugins/zoomGestures/useDragOnPressGesture.mjs +99 -0
  106. package/internals/plugins/zoomGestures/usePinchGesture.d.mts +22 -0
  107. package/internals/plugins/zoomGestures/usePinchGesture.d.ts +22 -0
  108. package/internals/plugins/zoomGestures/usePinchGesture.js +77 -0
  109. package/internals/plugins/zoomGestures/usePinchGesture.mjs +71 -0
  110. package/internals/plugins/zoomGestures/useWheelGesture.d.mts +21 -0
  111. package/internals/plugins/zoomGestures/useWheelGesture.d.ts +21 -0
  112. package/internals/plugins/zoomGestures/useWheelGesture.js +78 -0
  113. package/internals/plugins/zoomGestures/useWheelGesture.mjs +72 -0
  114. package/internals/plugins/zoomGestures/zoomGestures.types.d.mts +29 -0
  115. package/internals/plugins/zoomGestures/zoomGestures.types.d.ts +29 -0
  116. package/internals/plugins/zoomGestures/zoomGestures.types.js +5 -0
  117. package/internals/plugins/zoomGestures/zoomGestures.types.mjs +1 -0
  118. package/internals/slots/chartsBaseSlots.d.mts +6 -5
  119. package/internals/slots/chartsBaseSlots.d.ts +6 -5
  120. package/internals/slots/chartsIconSlots.d.mts +4 -3
  121. package/internals/slots/chartsIconSlots.d.ts +4 -3
  122. package/models/chartsSlotsComponentsPropsPro.d.mts +11 -0
  123. package/models/chartsSlotsComponentsPropsPro.d.ts +11 -0
  124. package/models/chartsSlotsComponentsPropsPro.js +5 -0
  125. package/models/chartsSlotsComponentsPropsPro.mjs +1 -0
  126. package/models/index.d.mts +1 -0
  127. package/models/index.d.ts +1 -0
  128. package/models/index.js +12 -0
  129. package/models/index.mjs +1 -0
  130. package/models/seriesType/heatmap.d.mts +1 -1
  131. package/models/seriesType/heatmap.d.ts +1 -1
  132. package/package.json +5 -5
@@ -1,21 +1,22 @@
1
1
  import type * as React from 'react';
2
2
  import type { FunnelSectionProps } from "./FunnelSection.js";
3
3
  import { type FunnelSectionLabelProps } from "./FunnelSectionLabel.js";
4
+ import type { FunnelSectionPropsOverrides, FunnelSectionLabelPropsOverrides } from "../models/chartsSlotsComponentsPropsPro.js";
4
5
  export interface FunnelPlotSlots {
5
6
  /**
6
7
  * Custom component for funnel section.
7
8
  * @default FunnelSection
8
9
  */
9
- funnelSection?: React.ElementType<FunnelSectionProps>;
10
+ funnelSection?: React.ElementType<FunnelSectionProps & FunnelSectionPropsOverrides>;
10
11
  /**
11
12
  * Custom component for funnel section label.
12
13
  * @default FunnelSectionLabel
13
14
  */
14
- funnelSectionLabel?: React.ElementType<FunnelSectionLabelProps>;
15
+ funnelSectionLabel?: React.ElementType<FunnelSectionLabelProps & FunnelSectionLabelPropsOverrides>;
15
16
  }
16
17
  export interface FunnelPlotSlotProps {
17
- funnelSection?: FunnelSectionProps;
18
- funnelSectionLabel?: FunnelSectionLabelProps;
18
+ funnelSection?: Partial<FunnelSectionProps> & FunnelSectionPropsOverrides;
19
+ funnelSectionLabel?: Partial<FunnelSectionLabelProps> & FunnelSectionLabelPropsOverrides;
19
20
  }
20
21
  export interface FunnelPlotSlotExtension {
21
22
  /**
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { type MakeOptional } from '@mui/x-internals/types';
3
3
  import { type ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
4
4
  import { type ChartsAxisSlots, type ChartsAxisSlotProps, type XAxis, type YAxis } from '@mui/x-charts/internals';
5
+ import type { TooltipPropsOverrides } from '@mui/x-charts/models';
5
6
  import { type ChartsOverlayProps, type ChartsOverlaySlotProps, type ChartsOverlaySlots } from '@mui/x-charts/ChartsOverlay';
6
7
  import { type ChartsLegendSlotProps, type ChartsLegendSlots } from '@mui/x-charts/ChartsLegend';
7
8
  import { type ChartsSlotPropsPro, type ChartsSlotsPro } from "../internals/material/index.mjs";
@@ -16,7 +17,7 @@ export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, Heatm
16
17
  * Custom component for the tooltip.
17
18
  * @default ChartsTooltipRoot
18
19
  */
19
- tooltip?: React.ElementType<HeatmapTooltipProps>;
20
+ tooltip?: React.ElementType<HeatmapTooltipProps & TooltipPropsOverrides>;
20
21
  /**
21
22
  * Custom component for the legend.
22
23
  * @default ContinuousColorLegendProps
@@ -24,7 +25,7 @@ export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, Heatm
24
25
  legend?: ChartsLegendSlots['legend'];
25
26
  }
26
27
  export interface HeatmapSlotProps extends ChartsAxisSlotProps, ChartsOverlaySlotProps, HeatmapItemSlotProps, ChartsLegendSlotProps, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
27
- tooltip?: Partial<HeatmapTooltipProps>;
28
+ tooltip?: Partial<HeatmapTooltipProps> & TooltipPropsOverrides;
28
29
  }
29
30
  export type HeatmapSeries = MakeOptional<HeatmapSeriesType, 'type'>;
30
31
  export interface HeatmapProps extends Omit<ChartsContainerProProps<'heatmap', HeatmapPluginSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'axesGap' | 'skipAnimation' | 'slots' | 'slotProps' | 'highlightedAxis' | 'onHighlightedAxisChange' | 'seriesConfig' | 'onAxisClick'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { type MakeOptional } from '@mui/x-internals/types';
3
3
  import { type ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
4
4
  import { type ChartsAxisSlots, type ChartsAxisSlotProps, type XAxis, type YAxis } from '@mui/x-charts/internals';
5
+ import type { TooltipPropsOverrides } from '@mui/x-charts/models';
5
6
  import { type ChartsOverlayProps, type ChartsOverlaySlotProps, type ChartsOverlaySlots } from '@mui/x-charts/ChartsOverlay';
6
7
  import { type ChartsLegendSlotProps, type ChartsLegendSlots } from '@mui/x-charts/ChartsLegend';
7
8
  import { type ChartsSlotPropsPro, type ChartsSlotsPro } from "../internals/material/index.js";
@@ -16,7 +17,7 @@ export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, Heatm
16
17
  * Custom component for the tooltip.
17
18
  * @default ChartsTooltipRoot
18
19
  */
19
- tooltip?: React.ElementType<HeatmapTooltipProps>;
20
+ tooltip?: React.ElementType<HeatmapTooltipProps & TooltipPropsOverrides>;
20
21
  /**
21
22
  * Custom component for the legend.
22
23
  * @default ContinuousColorLegendProps
@@ -24,7 +25,7 @@ export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, Heatm
24
25
  legend?: ChartsLegendSlots['legend'];
25
26
  }
26
27
  export interface HeatmapSlotProps extends ChartsAxisSlotProps, ChartsOverlaySlotProps, HeatmapItemSlotProps, ChartsLegendSlotProps, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
27
- tooltip?: Partial<HeatmapTooltipProps>;
28
+ tooltip?: Partial<HeatmapTooltipProps> & TooltipPropsOverrides;
28
29
  }
29
30
  export type HeatmapSeries = MakeOptional<HeatmapSeriesType, 'type'>;
30
31
  export interface HeatmapProps extends Omit<ChartsContainerProProps<'heatmap', HeatmapPluginSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'axesGap' | 'skipAnimation' | 'slots' | 'slotProps' | 'highlightedAxis' | 'onHighlightedAxisChange' | 'seriesConfig' | 'onAxisClick'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
@@ -151,12 +151,21 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
151
151
  /**
152
152
  * The list of zoom data related to each axis.
153
153
  * Used to initialize the zoom in a specific configuration without controlling it.
154
+ *
155
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
156
+ * range value (`{ axisId, value }`) resolved against the axis domain.
154
157
  */
155
- initialZoom: _propTypes.default.arrayOf(_propTypes.default.shape({
158
+ initialZoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
156
159
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
157
160
  end: _propTypes.default.number.isRequired,
158
161
  start: _propTypes.default.number.isRequired
159
- })),
162
+ }), _propTypes.default.shape({
163
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
164
+ 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({
165
+ step: _propTypes.default.number,
166
+ unit: _propTypes.default.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
167
+ })])
168
+ })]).isRequired),
160
169
  /**
161
170
  * If `true`, a loading overlay is displayed.
162
171
  * @default false
@@ -305,6 +314,27 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
305
314
  id: _propTypes.default.string,
306
315
  max: _propTypes.default.number,
307
316
  min: _propTypes.default.number,
317
+ sizeMap: _propTypes.default.oneOfType([_propTypes.default.shape({
318
+ interpolator: _propTypes.default.oneOf(['linear', 'log', 'sqrt']),
319
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
320
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
321
+ size: _propTypes.default.arrayOf(_propTypes.default.number.isRequired).isRequired,
322
+ type: _propTypes.default.oneOf(['continuous']).isRequired
323
+ }), _propTypes.default.shape({
324
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
325
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
326
+ size: _propTypes.default.func.isRequired,
327
+ type: _propTypes.default.oneOf(['continuous']).isRequired
328
+ }), _propTypes.default.shape({
329
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
330
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
331
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
332
+ }), _propTypes.default.shape({
333
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
334
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
335
+ unknownSize: _propTypes.default.number,
336
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
337
+ })]),
308
338
  valueGetter: _propTypes.default.func
309
339
  })),
310
340
  /**
@@ -144,12 +144,21 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
144
144
  /**
145
145
  * The list of zoom data related to each axis.
146
146
  * Used to initialize the zoom in a specific configuration without controlling it.
147
+ *
148
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
149
+ * range value (`{ axisId, value }`) resolved against the axis domain.
147
150
  */
148
- initialZoom: PropTypes.arrayOf(PropTypes.shape({
151
+ initialZoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
149
152
  axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
150
153
  end: PropTypes.number.isRequired,
151
154
  start: PropTypes.number.isRequired
152
- })),
155
+ }), PropTypes.shape({
156
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
157
+ value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(Date).isRequired), PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func, PropTypes.shape({
158
+ step: PropTypes.number,
159
+ unit: PropTypes.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
160
+ })])
161
+ })]).isRequired),
153
162
  /**
154
163
  * If `true`, a loading overlay is displayed.
155
164
  * @default false
@@ -298,6 +307,27 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
298
307
  id: PropTypes.string,
299
308
  max: PropTypes.number,
300
309
  min: PropTypes.number,
310
+ sizeMap: PropTypes.oneOfType([PropTypes.shape({
311
+ interpolator: PropTypes.oneOf(['linear', 'log', 'sqrt']),
312
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
313
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
314
+ size: PropTypes.arrayOf(PropTypes.number.isRequired).isRequired,
315
+ type: PropTypes.oneOf(['continuous']).isRequired
316
+ }), PropTypes.shape({
317
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
318
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
319
+ size: PropTypes.func.isRequired,
320
+ type: PropTypes.oneOf(['continuous']).isRequired
321
+ }), PropTypes.shape({
322
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
323
+ thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
324
+ type: PropTypes.oneOf(['piecewise']).isRequired
325
+ }), PropTypes.shape({
326
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
327
+ type: PropTypes.oneOf(['ordinal']).isRequired,
328
+ unknownSize: PropTypes.number,
329
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
330
+ })]),
301
331
  valueGetter: PropTypes.func
302
332
  })),
303
333
  /**
@@ -1,15 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { type SeriesId } from '@mui/x-charts/internals';
3
3
  import { type HeatmapCellProps } from "./HeatmapCell.mjs";
4
+ import type { CellPropsOverrides } from "../models/chartsSlotsComponentsPropsPro.mjs";
4
5
  export interface HeatmapItemSlots {
5
6
  /**
6
7
  * The component that renders the heatmap cell.
7
8
  * @default HeatmapCell
8
9
  */
9
- cell?: React.ElementType;
10
+ cell?: React.ElementType<HeatmapCellProps & CellPropsOverrides>;
10
11
  }
11
12
  export interface HeatmapItemSlotProps {
12
- cell?: Partial<HeatmapCellProps>;
13
+ cell?: Partial<HeatmapCellProps> & CellPropsOverrides;
13
14
  }
14
15
  export interface HeatmapItemProps {
15
16
  seriesId: SeriesId;
@@ -1,15 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { type SeriesId } from '@mui/x-charts/internals';
3
3
  import { type HeatmapCellProps } from "./HeatmapCell.js";
4
+ import type { CellPropsOverrides } from "../models/chartsSlotsComponentsPropsPro.js";
4
5
  export interface HeatmapItemSlots {
5
6
  /**
6
7
  * The component that renders the heatmap cell.
7
8
  * @default HeatmapCell
8
9
  */
9
- cell?: React.ElementType;
10
+ cell?: React.ElementType<HeatmapCellProps & CellPropsOverrides>;
10
11
  }
11
12
  export interface HeatmapItemSlotProps {
12
- cell?: Partial<HeatmapCellProps>;
13
+ cell?: Partial<HeatmapCellProps> & CellPropsOverrides;
13
14
  }
14
15
  export interface HeatmapItemProps {
15
16
  seriesId: SeriesId;
@@ -52,6 +52,8 @@ function HeatmapItem(props) {
52
52
  ownerState,
53
53
  className: classes.cell
54
54
  });
55
+
56
+ // `useSlotProps` returns a loosely-typed object; the required `x/y/width/height` flow in via `...other`.
55
57
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Cell, (0, _extends2.default)({}, cellProps));
56
58
  }
57
59
  process.env.NODE_ENV !== "production" ? HeatmapItem.propTypes = {
@@ -44,6 +44,8 @@ function HeatmapItem(props) {
44
44
  ownerState,
45
45
  className: classes.cell
46
46
  });
47
+
48
+ // `useSlotProps` returns a loosely-typed object; the required `x/y/width/height` flow in via `...other`.
47
49
  return /*#__PURE__*/_jsx(Cell, _extends({}, cellProps));
48
50
  }
49
51
  process.env.NODE_ENV !== "production" ? HeatmapItem.propTypes = {
@@ -1,17 +1,18 @@
1
1
  import { type ChartsTooltipContainerProps, type ChartsTooltipClasses } from '@mui/x-charts/ChartsTooltip';
2
+ import type { TooltipPropsOverrides } from '@mui/x-charts/models';
2
3
  export interface HeatmapTooltipSlots {
3
4
  /**
4
5
  * Custom component for the tooltip popper.
5
6
  * @default ChartsTooltipRoot
6
7
  */
7
- tooltip?: React.ElementType<HeatmapTooltipProps>;
8
+ tooltip?: React.ElementType<HeatmapTooltipProps & TooltipPropsOverrides>;
8
9
  }
9
10
  export interface HeatmapTooltipSlotProps {
10
11
  /**
11
12
  * Custom component for the tooltip popper.
12
13
  * @default ChartsTooltipRoot
13
14
  */
14
- tooltip?: Partial<HeatmapTooltipProps>;
15
+ tooltip?: Partial<HeatmapTooltipProps> & TooltipPropsOverrides;
15
16
  }
16
17
  export interface HeatmapTooltipClasses extends ChartsTooltipClasses {}
17
18
  export interface HeatmapTooltipContentClasses extends ChartsTooltipClasses {}
@@ -1,17 +1,18 @@
1
1
  import { type ChartsTooltipContainerProps, type ChartsTooltipClasses } from '@mui/x-charts/ChartsTooltip';
2
+ import type { TooltipPropsOverrides } from '@mui/x-charts/models';
2
3
  export interface HeatmapTooltipSlots {
3
4
  /**
4
5
  * Custom component for the tooltip popper.
5
6
  * @default ChartsTooltipRoot
6
7
  */
7
- tooltip?: React.ElementType<HeatmapTooltipProps>;
8
+ tooltip?: React.ElementType<HeatmapTooltipProps & TooltipPropsOverrides>;
8
9
  }
9
10
  export interface HeatmapTooltipSlotProps {
10
11
  /**
11
12
  * Custom component for the tooltip popper.
12
13
  * @default ChartsTooltipRoot
13
14
  */
14
- tooltip?: Partial<HeatmapTooltipProps>;
15
+ tooltip?: Partial<HeatmapTooltipProps> & TooltipPropsOverrides;
15
16
  }
16
17
  export interface HeatmapTooltipClasses extends ChartsTooltipClasses {}
17
18
  export interface HeatmapTooltipContentClasses extends ChartsTooltipClasses {}
@@ -88,7 +88,7 @@ const LineChartPro = exports.LineChartPro = /*#__PURE__*/React.forwardRef(functi
88
88
  children: [showToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Toolbar, (0, _extends2.default)({}, props.slotProps?.toolbar)) : null, !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
89
89
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
90
90
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.AreaPlot, (0, _extends2.default)({}, areaPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.LinePlot, (0, _extends2.default)({}, linePlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps))]
91
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsZoomSlider.ChartsZoomSlider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
91
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.FocusedLineMark, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsZoomSlider.ChartsZoomSlider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
92
92
  "data-drawing-container": true,
93
93
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.MarkPlot, (0, _extends2.default)({}, markPlotProps))
94
94
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsBrushOverlay.ChartsBrushOverlay, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
@@ -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
@@ -447,6 +456,27 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
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
  /**
@@ -6,7 +6,7 @@ const _excluded = ["initialZoom", "zoomData", "onZoomChange", "apiRef", "showToo
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useThemeProps } from '@mui/material/styles';
9
- import { AreaPlot, LineHighlightPlot, LinePlot, MarkPlot } from '@mui/x-charts/LineChart';
9
+ import { AreaPlot, LineHighlightPlot, LinePlot, MarkPlot, FocusedLineMark } from '@mui/x-charts/LineChart';
10
10
  import { ChartsGrid } from '@mui/x-charts/ChartsGrid';
11
11
  import { ChartsOverlay } from '@mui/x-charts/ChartsOverlay';
12
12
  import { ChartsAxis } from '@mui/x-charts/ChartsAxis';
@@ -81,7 +81,7 @@ const LineChartPro = /*#__PURE__*/React.forwardRef(function LineChartPro(inProps
81
81
  children: [showToolbar ? /*#__PURE__*/_jsx(Toolbar, _extends({}, props.slotProps?.toolbar)) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
82
82
  children: [/*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
83
83
  children: [/*#__PURE__*/_jsx(AreaPlot, _extends({}, areaPlotProps)), /*#__PURE__*/_jsx(LinePlot, _extends({}, linePlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
84
- })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsZoomSlider, {}), /*#__PURE__*/_jsx("g", {
84
+ })), /*#__PURE__*/_jsx(FocusedLineMark, {}), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsZoomSlider, {}), /*#__PURE__*/_jsx("g", {
85
85
  "data-drawing-container": true,
86
86
  children: /*#__PURE__*/_jsx(MarkPlot, _extends({}, markPlotProps))
87
87
  }), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)), /*#__PURE__*/_jsx(ChartsBrushOverlay, {}), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
@@ -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
@@ -440,6 +449,27 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
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
  /**
@@ -85,7 +85,7 @@ const PieChartPro = exports.PieChartPro = /*#__PURE__*/React.forwardRef(function
85
85
  slots: slots,
86
86
  slotProps: slotProps,
87
87
  onItemClick: onItemClick
88
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, {
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieChart.FocusedPieArc, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, {
89
89
  loading: loading,
90
90
  slots: slots,
91
91
  slotProps: slotProps
@@ -9,7 +9,7 @@ import * as React from 'react';
9
9
  import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
10
10
  import { ChartsLegend } from '@mui/x-charts/ChartsLegend';
11
11
  import { ChartsSurface } from '@mui/x-charts/ChartsSurface';
12
- import { PiePlot } from '@mui/x-charts/PieChart';
12
+ import { FocusedPieArc, PiePlot } from '@mui/x-charts/PieChart';
13
13
  import { ChartsWrapper } from '@mui/x-charts/ChartsWrapper';
14
14
  import { useChartsContainerProProps } from "../ChartsContainerPro/useChartsContainerProProps.mjs";
15
15
  import { ChartsDataProviderPro } from "../ChartsDataProviderPro/index.mjs";
@@ -77,7 +77,7 @@ const PieChartPro = /*#__PURE__*/React.forwardRef(function PieChartPro(inProps,
77
77
  slots: slots,
78
78
  slotProps: slotProps,
79
79
  onItemClick: onItemClick
80
- }), /*#__PURE__*/_jsx(ChartsOverlay, {
80
+ }), /*#__PURE__*/_jsx(FocusedPieArc, {}), /*#__PURE__*/_jsx(ChartsOverlay, {
81
81
  loading: loading,
82
82
  slots: slots,
83
83
  slotProps: slotProps
@@ -55,7 +55,7 @@ const RadarChartPro = exports.RadarChartPro = /*#__PURE__*/React.forwardRef(func
55
55
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsWrapper.ChartsWrapper, (0, _extends2.default)({}, chartsWrapperProps, {
56
56
  ref: ref,
57
57
  children: [props.showToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Toolbar, (0, _extends2.default)({}, props.slotProps?.toolbar)) : null, !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
58
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarGrid, (0, _extends2.default)({}, radarGrid)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarMetricLabels, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarSeriesArea, {}), highlight === 'axis' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarAxisHighlight, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarSeriesMarks, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), children]
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarGrid, (0, _extends2.default)({}, radarGrid)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarMetricLabels, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarSeriesArea, {}), highlight === 'axis' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarAxisHighlight, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.RadarSeriesMarks, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadarChart.FocusedRadarMark, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), children]
59
59
  })), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, props.slotProps?.tooltip))]
60
60
  }))
61
61
  }));
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { RadarAxisHighlight, RadarDataProvider, RadarGrid, RadarMetricLabels, RadarSeriesArea, RadarSeriesMarks } from '@mui/x-charts/RadarChart';
6
+ import { RadarAxisHighlight, RadarDataProvider, RadarGrid, RadarMetricLabels, RadarSeriesArea, RadarSeriesMarks, FocusedRadarMark } from '@mui/x-charts/RadarChart';
7
7
  import { useThemeProps } from '@mui/material/styles';
8
8
  import { useRadarChartProps } from '@mui/x-charts/internals';
9
9
  import { ChartsLegend } from '@mui/x-charts/ChartsLegend';
@@ -48,7 +48,7 @@ const RadarChartPro = /*#__PURE__*/React.forwardRef(function RadarChartPro(inPro
48
48
  children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
49
49
  ref: ref,
50
50
  children: [props.showToolbar ? /*#__PURE__*/_jsx(Toolbar, _extends({}, props.slotProps?.toolbar)) : null, !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
51
- children: [/*#__PURE__*/_jsx(RadarGrid, _extends({}, radarGrid)), /*#__PURE__*/_jsx(RadarMetricLabels, {}), /*#__PURE__*/_jsx(RadarSeriesArea, {}), highlight === 'axis' && /*#__PURE__*/_jsx(RadarAxisHighlight, {}), /*#__PURE__*/_jsx(RadarSeriesMarks, {}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), children]
51
+ children: [/*#__PURE__*/_jsx(RadarGrid, _extends({}, radarGrid)), /*#__PURE__*/_jsx(RadarMetricLabels, {}), /*#__PURE__*/_jsx(RadarSeriesArea, {}), highlight === 'axis' && /*#__PURE__*/_jsx(RadarAxisHighlight, {}), /*#__PURE__*/_jsx(RadarSeriesMarks, {}), /*#__PURE__*/_jsx(FocusedRadarMark, {}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), children]
52
52
  })), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip))]
53
53
  }))
54
54
  }));
@@ -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
  /**
@@ -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.js";
5
6
  import { type ChartsContainerProProps } from "../ChartsContainerPro/ChartsContainerPro.js";
6
7
  import { type ScatterChartProPluginSignatures } from "./ScatterChartPro.plugins.js";
@@ -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
  /**
@@ -83,7 +83,7 @@ const ScatterChartPro = exports.ScatterChartPro = /*#__PURE__*/React.forwardRef(
83
83
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsZoomSlider.ChartsZoomSlider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
84
84
  "data-drawing-container": true,
85
85
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterChart.ScatterPlot, (0, _extends2.default)({}, scatterPlotProps))
86
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsBrushOverlay.ChartsBrushOverlay, {}), children]
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterChart.FocusedScatterMark, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsBrushOverlay.ChartsBrushOverlay, {}), children]
87
87
  })), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({
88
88
  trigger: "item"
89
89
  }, props.slotProps?.tooltip))]
@@ -172,7 +172,9 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
172
172
  /**
173
173
  * Options to enable features planned for the next major.
174
174
  */
175
- experimentalFeatures: _propTypes.default.object,
175
+ experimentalFeatures: _propTypes.default.shape({
176
+ progressiveRendering: _propTypes.default.bool
177
+ }),
176
178
  /**
177
179
  * Option to display a cartesian grid in the background.
178
180
  */
@@ -273,12 +275,21 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
273
275
  /**
274
276
  * The list of zoom data related to each axis.
275
277
  * Used to initialize the zoom in a specific configuration without controlling it.
278
+ *
279
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
280
+ * range value (`{ axisId, value }`) resolved against the axis domain.
276
281
  */
277
- initialZoom: _propTypes.default.arrayOf(_propTypes.default.shape({
282
+ initialZoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
278
283
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
279
284
  end: _propTypes.default.number.isRequired,
280
285
  start: _propTypes.default.number.isRequired
281
- })),
286
+ }), _propTypes.default.shape({
287
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
288
+ 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({
289
+ step: _propTypes.default.number,
290
+ unit: _propTypes.default.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
291
+ })])
292
+ })]).isRequired),
282
293
  /**
283
294
  * If `true`, a loading overlay is displayed.
284
295
  * @default false
@@ -346,13 +357,15 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
346
357
  onZoomChange: _propTypes.default.func,
347
358
  /**
348
359
  * The type of renderer to use for the scatter plot.
349
- * - `svg-single`: Renders every scatter item in a `<circle />` element.
360
+ * - `svg-single`: Renders every scatter item in a `<circle />` element, synchronously.
361
+ * - `svg-progressive`: Renders every scatter item in a `<circle />` element, in progressive batches that paint over several animation frames to keep the main thread responsive.
350
362
  * - `svg-batch`: Batch renders scatter items in `<path />` elements for better performance with large datasets, at the cost of some limitations.
351
363
  * Read more: https://mui.com/x/react-charts/scatter/#performance
352
364
  *
365
+ * When not set, defaults to `svg-single`. Enable the `progressiveRendering` experimental feature to auto-select `svg-progressive` above an internal point-count threshold; this will become the default in the next major version.
353
366
  * @default 'svg-single'
354
367
  */
355
- renderer: _propTypes.default.oneOf(['svg-batch', 'svg-single']),
368
+ renderer: _propTypes.default.oneOf(['svg-batch', 'svg-progressive', 'svg-single']),
356
369
  /**
357
370
  * The series to display in the scatter chart.
358
371
  * An array of [[ScatterSeries]] objects.
@@ -445,6 +458,27 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
445
458
  id: _propTypes.default.string,
446
459
  max: _propTypes.default.number,
447
460
  min: _propTypes.default.number,
461
+ sizeMap: _propTypes.default.oneOfType([_propTypes.default.shape({
462
+ interpolator: _propTypes.default.oneOf(['linear', 'log', 'sqrt']),
463
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
464
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
465
+ size: _propTypes.default.arrayOf(_propTypes.default.number.isRequired).isRequired,
466
+ type: _propTypes.default.oneOf(['continuous']).isRequired
467
+ }), _propTypes.default.shape({
468
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
469
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
470
+ size: _propTypes.default.func.isRequired,
471
+ type: _propTypes.default.oneOf(['continuous']).isRequired
472
+ }), _propTypes.default.shape({
473
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
474
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
475
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
476
+ }), _propTypes.default.shape({
477
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
478
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
479
+ unknownSize: _propTypes.default.number,
480
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
481
+ })]),
448
482
  valueGetter: _propTypes.default.func
449
483
  })),
450
484
  /**