@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.
- package/BarChartPro/BarChartPro.d.ts +1 -1
- package/BarChartPro/BarChartPro.js +32 -0
- package/CHANGELOG.md +98 -0
- package/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +31 -16
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +27 -12
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +102 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +62 -0
- package/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
- package/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +61 -0
- package/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
- package/ChartZoomSlider/internals/previews/BarPreviewPlot.js +62 -0
- package/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
- package/ChartZoomSlider/internals/previews/LinePreviewPlot.js +59 -0
- package/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
- package/ChartZoomSlider/internals/previews/PreviewPlot.types.js +5 -0
- package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
- package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +93 -0
- package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +2 -0
- package/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +3 -1
- package/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
- package/FunnelChart/FunnelChart.d.ts +1 -1
- package/FunnelChart/FunnelPlot.js +1 -1
- package/FunnelChart/funnel.types.d.ts +14 -9
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
- package/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/Heatmap/Heatmap.d.ts +1 -1
- package/LineChartPro/LineChartPro.js +38 -0
- package/PieChartPro/PieChartPro.d.ts +1 -1
- package/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.js +16 -0
- package/esm/BarChartPro/BarChartPro.d.ts +1 -1
- package/esm/BarChartPro/BarChartPro.js +32 -0
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +33 -18
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +28 -13
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +94 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +54 -0
- package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
- package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +53 -0
- package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
- package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.js +55 -0
- package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
- package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.js +51 -0
- package/esm/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
- package/esm/ChartZoomSlider/internals/previews/PreviewPlot.types.js +1 -0
- package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
- package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +86 -0
- package/esm/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +2 -0
- package/esm/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +3 -1
- package/esm/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
- package/esm/FunnelChart/FunnelChart.d.ts +1 -1
- package/esm/FunnelChart/FunnelPlot.js +1 -1
- package/esm/FunnelChart/funnel.types.d.ts +14 -9
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
- package/esm/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/esm/Heatmap/Heatmap.d.ts +1 -1
- package/esm/LineChartPro/LineChartPro.js +38 -0
- package/esm/PieChartPro/PieChartPro.d.ts +1 -1
- package/esm/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/esm/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/esm/ScatterChartPro/ScatterChartPro.js +16 -0
- package/esm/index.js +1 -1
- package/esm/internals/plugins/useChartProExport/exportImage.js +9 -3
- package/esm/internals/plugins/useChartProExport/print.d.ts +3 -1
- package/esm/internals/plugins/useChartProExport/print.js +7 -2
- package/esm/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
- package/index.js +1 -1
- package/internals/plugins/useChartProExport/exportImage.js +9 -3
- package/internals/plugins/useChartProExport/print.d.ts +3 -1
- package/internals/plugins/useChartProExport/print.js +7 -2
- package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
- package/package.json +6 -6
|
@@ -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 {}
|
|
@@ -157,6 +157,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
157
157
|
* If `true`, the legend is not rendered.
|
|
158
158
|
*/
|
|
159
159
|
hideLegend: _propTypes.default.bool,
|
|
160
|
+
/**
|
|
161
|
+
* The controlled axis highlight.
|
|
162
|
+
* Identified by the axis id, and data index.
|
|
163
|
+
*/
|
|
164
|
+
highlightedAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
165
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
166
|
+
dataIndex: _propTypes.default.number.isRequired
|
|
167
|
+
})),
|
|
160
168
|
/**
|
|
161
169
|
* The highlighted item.
|
|
162
170
|
* Used when the highlight is controlled.
|
|
@@ -218,6 +226,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
218
226
|
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
219
227
|
*/
|
|
220
228
|
onHighlightChange: _propTypes.default.func,
|
|
229
|
+
/**
|
|
230
|
+
* The function called when the pointer position corresponds to a new axis data item.
|
|
231
|
+
* This update can either be caused by a pointer movement, or an axis update.
|
|
232
|
+
* In case of multiple axes, the function is called if at least one axis is updated.
|
|
233
|
+
* The argument contains the identifier for all axes with a `data` property.
|
|
234
|
+
* @param {AxisItemIdentifier[]} axisItems The array of axes item identifiers.
|
|
235
|
+
*/
|
|
236
|
+
onHighlightedAxisChange: _propTypes.default.func,
|
|
221
237
|
/**
|
|
222
238
|
* Callback fired when a bar item is clicked.
|
|
223
239
|
* @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
|
|
@@ -329,6 +345,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
329
345
|
panning: _propTypes.default.bool,
|
|
330
346
|
slider: _propTypes.default.shape({
|
|
331
347
|
enabled: _propTypes.default.bool,
|
|
348
|
+
preview: _propTypes.default.bool,
|
|
332
349
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
333
350
|
size: _propTypes.default.number
|
|
334
351
|
}),
|
|
@@ -394,6 +411,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
394
411
|
panning: _propTypes.default.bool,
|
|
395
412
|
slider: _propTypes.default.shape({
|
|
396
413
|
enabled: _propTypes.default.bool,
|
|
414
|
+
preview: _propTypes.default.bool,
|
|
397
415
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
398
416
|
size: _propTypes.default.number
|
|
399
417
|
}),
|
|
@@ -454,6 +472,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
454
472
|
panning: _propTypes.default.bool,
|
|
455
473
|
slider: _propTypes.default.shape({
|
|
456
474
|
enabled: _propTypes.default.bool,
|
|
475
|
+
preview: _propTypes.default.bool,
|
|
457
476
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
458
477
|
size: _propTypes.default.number
|
|
459
478
|
}),
|
|
@@ -514,6 +533,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
514
533
|
panning: _propTypes.default.bool,
|
|
515
534
|
slider: _propTypes.default.shape({
|
|
516
535
|
enabled: _propTypes.default.bool,
|
|
536
|
+
preview: _propTypes.default.bool,
|
|
517
537
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
518
538
|
size: _propTypes.default.number
|
|
519
539
|
}),
|
|
@@ -574,6 +594,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
574
594
|
panning: _propTypes.default.bool,
|
|
575
595
|
slider: _propTypes.default.shape({
|
|
576
596
|
enabled: _propTypes.default.bool,
|
|
597
|
+
preview: _propTypes.default.bool,
|
|
577
598
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
578
599
|
size: _propTypes.default.number
|
|
579
600
|
}),
|
|
@@ -634,6 +655,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
634
655
|
panning: _propTypes.default.bool,
|
|
635
656
|
slider: _propTypes.default.shape({
|
|
636
657
|
enabled: _propTypes.default.bool,
|
|
658
|
+
preview: _propTypes.default.bool,
|
|
637
659
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
638
660
|
size: _propTypes.default.number
|
|
639
661
|
}),
|
|
@@ -694,6 +716,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
694
716
|
panning: _propTypes.default.bool,
|
|
695
717
|
slider: _propTypes.default.shape({
|
|
696
718
|
enabled: _propTypes.default.bool,
|
|
719
|
+
preview: _propTypes.default.bool,
|
|
697
720
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
698
721
|
size: _propTypes.default.number
|
|
699
722
|
}),
|
|
@@ -754,6 +777,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
754
777
|
panning: _propTypes.default.bool,
|
|
755
778
|
slider: _propTypes.default.shape({
|
|
756
779
|
enabled: _propTypes.default.bool,
|
|
780
|
+
preview: _propTypes.default.bool,
|
|
757
781
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
758
782
|
size: _propTypes.default.number
|
|
759
783
|
}),
|
|
@@ -826,6 +850,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
826
850
|
panning: _propTypes.default.bool,
|
|
827
851
|
slider: _propTypes.default.shape({
|
|
828
852
|
enabled: _propTypes.default.bool,
|
|
853
|
+
preview: _propTypes.default.bool,
|
|
829
854
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
830
855
|
size: _propTypes.default.number
|
|
831
856
|
}),
|
|
@@ -890,6 +915,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
890
915
|
panning: _propTypes.default.bool,
|
|
891
916
|
slider: _propTypes.default.shape({
|
|
892
917
|
enabled: _propTypes.default.bool,
|
|
918
|
+
preview: _propTypes.default.bool,
|
|
893
919
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
894
920
|
size: _propTypes.default.number
|
|
895
921
|
}),
|
|
@@ -949,6 +975,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
949
975
|
panning: _propTypes.default.bool,
|
|
950
976
|
slider: _propTypes.default.shape({
|
|
951
977
|
enabled: _propTypes.default.bool,
|
|
978
|
+
preview: _propTypes.default.bool,
|
|
952
979
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
953
980
|
size: _propTypes.default.number
|
|
954
981
|
}),
|
|
@@ -1008,6 +1035,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1008
1035
|
panning: _propTypes.default.bool,
|
|
1009
1036
|
slider: _propTypes.default.shape({
|
|
1010
1037
|
enabled: _propTypes.default.bool,
|
|
1038
|
+
preview: _propTypes.default.bool,
|
|
1011
1039
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1012
1040
|
size: _propTypes.default.number
|
|
1013
1041
|
}),
|
|
@@ -1067,6 +1095,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1067
1095
|
panning: _propTypes.default.bool,
|
|
1068
1096
|
slider: _propTypes.default.shape({
|
|
1069
1097
|
enabled: _propTypes.default.bool,
|
|
1098
|
+
preview: _propTypes.default.bool,
|
|
1070
1099
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1071
1100
|
size: _propTypes.default.number
|
|
1072
1101
|
}),
|
|
@@ -1126,6 +1155,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1126
1155
|
panning: _propTypes.default.bool,
|
|
1127
1156
|
slider: _propTypes.default.shape({
|
|
1128
1157
|
enabled: _propTypes.default.bool,
|
|
1158
|
+
preview: _propTypes.default.bool,
|
|
1129
1159
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1130
1160
|
size: _propTypes.default.number
|
|
1131
1161
|
}),
|
|
@@ -1185,6 +1215,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1185
1215
|
panning: _propTypes.default.bool,
|
|
1186
1216
|
slider: _propTypes.default.shape({
|
|
1187
1217
|
enabled: _propTypes.default.bool,
|
|
1218
|
+
preview: _propTypes.default.bool,
|
|
1188
1219
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1189
1220
|
size: _propTypes.default.number
|
|
1190
1221
|
}),
|
|
@@ -1244,6 +1275,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1244
1275
|
panning: _propTypes.default.bool,
|
|
1245
1276
|
slider: _propTypes.default.shape({
|
|
1246
1277
|
enabled: _propTypes.default.bool,
|
|
1278
|
+
preview: _propTypes.default.bool,
|
|
1247
1279
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1248
1280
|
size: _propTypes.default.number
|
|
1249
1281
|
}),
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,104 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.8.0
|
|
9
|
+
|
|
10
|
+
_Jul 11, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 13 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 Chart zoom preview can be enabled
|
|
15
|
+
|
|
16
|
+
<img width="758" alt="chart with x-axis preview" src="https://github.com/user-attachments/assets/50ce6f61-16dc-4e9b-a727-ca65d80927d7" />
|
|
17
|
+
|
|
18
|
+
- 🌎 Add Indonesian (id-ID) locale on the Data Grid
|
|
19
|
+
|
|
20
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
21
|
+
@kennarddh
|
|
22
|
+
|
|
23
|
+
The following are all team members who have contributed to this release:
|
|
24
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @noraleonte, @prakhargupta1, @rita-codes, @siriwatknp
|
|
25
|
+
|
|
26
|
+
### Data Grid
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid@8.8.0`
|
|
29
|
+
|
|
30
|
+
- [DataGrid] Fix `useGridSelector` missing subscription in `React.StrictMode` (#18676) @cherniavskii
|
|
31
|
+
- [DataGrid] Fix scrollbar filler `z-index` (#18688) @KenanYusuf
|
|
32
|
+
- [DataGrid] Set correct data source cache chunk size when pagination is disabled (#18636) @arminmeh
|
|
33
|
+
- [l10n] Add Indonesian (id-ID) locale (#18710) @kennarddh
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-data-grid-pro@8.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
36
|
+
|
|
37
|
+
Same changes as in `@mui/x-data-grid@8.8.0`, plus:
|
|
38
|
+
|
|
39
|
+
- [DataGridPro] Fix row ordering not auto-scrolling when moving beyond viewport (#18557) @MBilalShafi
|
|
40
|
+
- [DataGridPro] Set correct parent paths when tree is refreshed with data source tree data and row grouping (#18715) @arminmeh
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-data-grid-premium@8.8.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-data-grid-pro@8.8.0`.
|
|
45
|
+
|
|
46
|
+
### Date and Time Pickers
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-date-pickers@8.8.0`
|
|
49
|
+
|
|
50
|
+
Internal changes.
|
|
51
|
+
|
|
52
|
+
#### `@mui/x-date-pickers-pro@8.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
53
|
+
|
|
54
|
+
Same changes as in `@mui/x-date-pickers@8.8.0`.
|
|
55
|
+
|
|
56
|
+
### Charts
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-charts@8.8.0`
|
|
59
|
+
|
|
60
|
+
- [charts] Add control to the axis highlight (#17900) @alexfauquette
|
|
61
|
+
- [charts] Avoid processing area plot data if area isn't used in series (#18712) @bernardobelchior
|
|
62
|
+
- [charts] Make smarter default domain limit (#18506) @alexfauquette
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-charts-pro@8.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
65
|
+
|
|
66
|
+
Same changes as in `@mui/x-charts@8.8.0`, plus:
|
|
67
|
+
|
|
68
|
+
- [charts-pro] Add `funnelDirection` to control pyramid direction (#18568) @JCQuintas
|
|
69
|
+
- [charts-pro] Add `onBeforeExport` callback (#18722) @bernardobelchior
|
|
70
|
+
- [charts-pro] Add chart zoom preview (#18267) @bernardobelchior
|
|
71
|
+
- [charts-pro] Allow customizing scatter preview marker size (#18726) @bernardobelchior
|
|
72
|
+
- [charts-pro] Allow disabling the copy of styles in charts export (#18753) @bernardobelchior
|
|
73
|
+
|
|
74
|
+
### Tree View
|
|
75
|
+
|
|
76
|
+
#### `@mui/x-tree-view@8.8.0`
|
|
77
|
+
|
|
78
|
+
- [tree view] Fix state update that caused scrolling bug when lazy loading and `checkboxSelection` are enabled (#18749) @rita-codes
|
|
79
|
+
|
|
80
|
+
#### `@mui/x-tree-view-pro@8.8.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
81
|
+
|
|
82
|
+
Same changes as in `@mui/x-tree-view@8.8.0`.
|
|
83
|
+
|
|
84
|
+
### Codemod
|
|
85
|
+
|
|
86
|
+
#### `@mui/x-codemod@8.8.0`
|
|
87
|
+
|
|
88
|
+
Internal changes.
|
|
89
|
+
|
|
90
|
+
### Docs
|
|
91
|
+
|
|
92
|
+
- [docs] Add standalone Pyramid chart page to improve SEO (#18527) @prakhargupta1
|
|
93
|
+
- [docs] Add example to customise line interaction (#18539) @alexfauquette
|
|
94
|
+
- [docs] Fix `size` column filtering in files tree demo (#17952) @cherniavskii
|
|
95
|
+
- [docs] Generate `llms.txt` for X and their products (#18595) @siriwatknp
|
|
96
|
+
- [docs] Improve bar chart demos on mobile (#18721) @alexfauquette
|
|
97
|
+
- [docs] Refine charts overview page (#17447) @noraleonte
|
|
98
|
+
|
|
99
|
+
### Miscellaneous
|
|
100
|
+
|
|
101
|
+
- [code-infra] Ensure all `@mui/*` packages are picked by `Material UI` renovate group (#18711) @LukasTy
|
|
102
|
+
- [code-infra] Fix broken CI (#18716) @LukasTy
|
|
103
|
+
- [code-infra] Refactor `prettier` config resolving (#18720) @LukasTy
|
|
104
|
+
- [test] Increase data points in chart benchmarks (#18714) @bernardobelchior
|
|
105
|
+
|
|
8
106
|
## 8.7.0
|
|
9
107
|
|
|
10
108
|
_Jul 4, 2025_
|
|
@@ -18,7 +18,7 @@ var _material = require("../internals/material");
|
|
|
18
18
|
var _allPlugins = require("../internals/plugins/allPlugins");
|
|
19
19
|
var _useChartDataProviderProProps = require("./useChartDataProviderProProps");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
const releaseInfo = "
|
|
21
|
+
const releaseInfo = "MTc1MjE4NDgwMDAwMA==";
|
|
22
22
|
const packageIdentifier = 'x-charts-pro';
|
|
23
23
|
/**
|
|
24
24
|
* Orchestrates the data providers for the chart components and hooks.
|
|
@@ -90,6 +90,12 @@ process.env.NODE_ENV !== "production" ? ChartDataProviderPro.propTypes = {
|
|
|
90
90
|
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
91
91
|
*/
|
|
92
92
|
dataset: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
93
|
+
/**
|
|
94
|
+
* Options to enable features planned for the next major.
|
|
95
|
+
*/
|
|
96
|
+
experimentalFeatures: _propTypes.default.shape({
|
|
97
|
+
preferStrictDomainInLineCharts: _propTypes.default.bool
|
|
98
|
+
}),
|
|
93
99
|
/**
|
|
94
100
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
95
101
|
*/
|
|
@@ -9,6 +9,7 @@ exports.ChartAxisZoomSlider = ChartAxisZoomSlider;
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _internals = require("@mui/x-charts/internals");
|
|
11
11
|
var _hooks = require("@mui/x-charts/hooks");
|
|
12
|
+
var _ChartAxisZoomSliderPreview = require("./ChartAxisZoomSliderPreview");
|
|
12
13
|
var _constants = require("./constants");
|
|
13
14
|
var _useChartProZoom = require("../../internals/plugins/useChartProZoom");
|
|
14
15
|
var _ChartAxisZoomSliderTrack = require("./ChartAxisZoomSliderTrack");
|
|
@@ -25,6 +26,7 @@ function ChartAxisZoomSlider({
|
|
|
25
26
|
const store = (0, _internals.useStore)();
|
|
26
27
|
const drawingArea = (0, _internals.useDrawingArea)();
|
|
27
28
|
const zoomData = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartAxisZoomData, [axisId]);
|
|
29
|
+
const zoomOptions = (0, _internals.useSelector)(store, _internals.selectorChartAxisZoomOptionsLookup, [axisId]);
|
|
28
30
|
const [showTooltip, setShowTooltip] = React.useState(false);
|
|
29
31
|
const {
|
|
30
32
|
xAxis
|
|
@@ -32,6 +34,7 @@ function ChartAxisZoomSlider({
|
|
|
32
34
|
const {
|
|
33
35
|
yAxis
|
|
34
36
|
} = (0, _hooks.useYAxes)();
|
|
37
|
+
const showPreview = zoomOptions.slider.preview;
|
|
35
38
|
if (!zoomData) {
|
|
36
39
|
return null;
|
|
37
40
|
}
|
|
@@ -40,6 +43,7 @@ function ChartAxisZoomSlider({
|
|
|
40
43
|
let reverse;
|
|
41
44
|
let axisPosition;
|
|
42
45
|
let tooltipConditions;
|
|
46
|
+
const sliderSize = showPreview ? _internals.ZOOM_SLIDER_PREVIEW_SIZE : _constants.ZOOM_SLIDER_SIZE;
|
|
43
47
|
if (axisDirection === 'x') {
|
|
44
48
|
const axis = xAxis[axisId];
|
|
45
49
|
if (!axis || axis.position === 'none') {
|
|
@@ -47,7 +51,7 @@ function ChartAxisZoomSlider({
|
|
|
47
51
|
}
|
|
48
52
|
const axisSize = axis.height;
|
|
49
53
|
x = drawingArea.left;
|
|
50
|
-
y = axis.position === 'bottom' ? drawingArea.top + drawingArea.height + axis.offset + axisSize + _internals.ZOOM_SLIDER_MARGIN : drawingArea.top - axis.offset - axisSize -
|
|
54
|
+
y = axis.position === 'bottom' ? drawingArea.top + drawingArea.height + axis.offset + axisSize + _internals.ZOOM_SLIDER_MARGIN : drawingArea.top - axis.offset - axisSize - sliderSize - _internals.ZOOM_SLIDER_MARGIN;
|
|
51
55
|
reverse = axis.reverse ?? false;
|
|
52
56
|
axisPosition = axis.position ?? 'bottom';
|
|
53
57
|
tooltipConditions = axis.zoom?.slider?.showTooltip ?? _internals.DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP;
|
|
@@ -57,38 +61,49 @@ function ChartAxisZoomSlider({
|
|
|
57
61
|
return null;
|
|
58
62
|
}
|
|
59
63
|
const axisSize = axis.width;
|
|
60
|
-
x = axis.position === 'right' ? drawingArea.left + drawingArea.width + axis.offset + axisSize + _internals.ZOOM_SLIDER_MARGIN : drawingArea.left - axis.offset - axisSize -
|
|
64
|
+
x = axis.position === 'right' ? drawingArea.left + drawingArea.width + axis.offset + axisSize + _internals.ZOOM_SLIDER_MARGIN : drawingArea.left - axis.offset - axisSize - sliderSize - _internals.ZOOM_SLIDER_MARGIN;
|
|
61
65
|
y = drawingArea.top;
|
|
62
66
|
reverse = axis.reverse ?? false;
|
|
63
67
|
axisPosition = axis.position ?? 'left';
|
|
64
68
|
tooltipConditions = axis.zoom?.slider?.showTooltip ?? _internals.DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP;
|
|
65
69
|
}
|
|
66
|
-
const backgroundRectOffset = (
|
|
70
|
+
const backgroundRectOffset = (sliderSize - _constants.ZOOM_SLIDER_TRACK_SIZE) / 2;
|
|
71
|
+
const track = showPreview ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderPreview.ChartAxisZoomSliderPreview, {
|
|
72
|
+
axisId: axisId,
|
|
73
|
+
axisDirection: axisDirection,
|
|
74
|
+
reverse: reverse,
|
|
75
|
+
x: 0,
|
|
76
|
+
y: 0,
|
|
77
|
+
height: axisDirection === 'x' ? _internals.ZOOM_SLIDER_PREVIEW_SIZE : drawingArea.height,
|
|
78
|
+
width: axisDirection === 'x' ? drawingArea.width : _internals.ZOOM_SLIDER_PREVIEW_SIZE
|
|
79
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderTrack.ChartAxisZoomSliderTrack, {
|
|
80
|
+
x: axisDirection === 'x' ? 0 : backgroundRectOffset,
|
|
81
|
+
y: axisDirection === 'x' ? backgroundRectOffset : 0,
|
|
82
|
+
height: axisDirection === 'x' ? _constants.ZOOM_SLIDER_TRACK_SIZE : drawingArea.height,
|
|
83
|
+
width: axisDirection === 'x' ? drawingArea.width : _constants.ZOOM_SLIDER_TRACK_SIZE,
|
|
84
|
+
rx: _constants.ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
85
|
+
ry: _constants.ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
86
|
+
axisId: axisId,
|
|
87
|
+
axisDirection: axisDirection,
|
|
88
|
+
reverse: reverse,
|
|
89
|
+
onSelectStart: tooltipConditions === 'hover' ? () => setShowTooltip(true) : undefined,
|
|
90
|
+
onSelectEnd: tooltipConditions === 'hover' ? () => setShowTooltip(false) : undefined
|
|
91
|
+
});
|
|
67
92
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
68
93
|
"data-charts-zoom-slider": true,
|
|
69
94
|
transform: `translate(${x} ${y})`,
|
|
70
95
|
style: {
|
|
71
96
|
touchAction: 'none'
|
|
72
97
|
},
|
|
73
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
74
|
-
x: axisDirection === 'x' ? 0 : backgroundRectOffset,
|
|
75
|
-
y: axisDirection === 'x' ? backgroundRectOffset : 0,
|
|
76
|
-
height: axisDirection === 'x' ? _constants.ZOOM_SLIDER_TRACK_SIZE : drawingArea.height,
|
|
77
|
-
width: axisDirection === 'x' ? drawingArea.width : _constants.ZOOM_SLIDER_TRACK_SIZE,
|
|
78
|
-
rx: _constants.ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
79
|
-
ry: _constants.ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
80
|
-
axisId: axisId,
|
|
81
|
-
axisDirection: axisDirection,
|
|
82
|
-
reverse: reverse,
|
|
83
|
-
onSelectStart: tooltipConditions === 'hover' ? () => setShowTooltip(true) : undefined,
|
|
84
|
-
onSelectEnd: tooltipConditions === 'hover' ? () => setShowTooltip(false) : undefined
|
|
85
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderActiveTrack.ChartAxisZoomSliderActiveTrack, {
|
|
98
|
+
children: [track, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderActiveTrack.ChartAxisZoomSliderActiveTrack, {
|
|
86
99
|
zoomData: zoomData,
|
|
87
100
|
axisId: axisId,
|
|
88
101
|
axisPosition: axisPosition,
|
|
89
102
|
axisDirection: axisDirection,
|
|
90
103
|
reverse: reverse,
|
|
91
104
|
showTooltip: showTooltip && tooltipConditions !== 'never' || tooltipConditions === 'always',
|
|
105
|
+
size: showPreview ? _internals.ZOOM_SLIDER_PREVIEW_SIZE : _constants.ZOOM_SLIDER_ACTIVE_TRACK_SIZE,
|
|
106
|
+
preview: showPreview,
|
|
92
107
|
onPointerEnter: tooltipConditions === 'hover' ? () => setShowTooltip(true) : undefined,
|
|
93
108
|
onPointerLeave: tooltipConditions === 'hover' ? () => setShowTooltip(false) : undefined
|
|
94
109
|
})]
|
|
@@ -4,6 +4,8 @@ export interface ChartAxisZoomSliderActiveTrackProps {
|
|
|
4
4
|
axisId: AxisId;
|
|
5
5
|
axisDirection: 'x' | 'y';
|
|
6
6
|
axisPosition: 'top' | 'bottom' | 'left' | 'right';
|
|
7
|
+
size: number;
|
|
8
|
+
preview: boolean;
|
|
7
9
|
zoomData: ZoomData;
|
|
8
10
|
reverse?: boolean;
|
|
9
11
|
showTooltip: boolean;
|
|
@@ -14,6 +16,8 @@ export declare function ChartAxisZoomSliderActiveTrack({
|
|
|
14
16
|
axisId,
|
|
15
17
|
axisDirection,
|
|
16
18
|
axisPosition,
|
|
19
|
+
size,
|
|
20
|
+
preview,
|
|
17
21
|
zoomData,
|
|
18
22
|
reverse,
|
|
19
23
|
showTooltip,
|
|
@@ -12,6 +12,7 @@ var _styles = require("@mui/material/styles");
|
|
|
12
12
|
var _internals = require("@mui/x-charts/internals");
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
15
|
+
var _system = require("@mui/system");
|
|
15
16
|
var _useChartProZoom = require("../../internals/plugins/useChartProZoom");
|
|
16
17
|
var _ChartAxisZoomSliderThumb = require("./ChartAxisZoomSliderThumb");
|
|
17
18
|
var _ChartsTooltipZoomSliderValue = require("./ChartsTooltipZoomSliderValue");
|
|
@@ -19,18 +20,31 @@ var _zoomUtils = require("./zoom-utils");
|
|
|
19
20
|
var _constants = require("./constants");
|
|
20
21
|
var _chartAxisZoomSliderTrackClasses = require("./chartAxisZoomSliderTrackClasses");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const ZoomSliderActiveTrackRect = (0, _styles.styled)('rect'
|
|
23
|
+
const ZoomSliderActiveTrackRect = (0, _styles.styled)('rect', {
|
|
24
|
+
shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'preview'
|
|
25
|
+
})(({
|
|
23
26
|
theme
|
|
24
27
|
}) => ({
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[500] : (theme.vars || theme).palette.grey[600],
|
|
29
|
+
cursor: 'grab',
|
|
30
|
+
variants: [{
|
|
31
|
+
props: {
|
|
32
|
+
preview: true
|
|
33
|
+
},
|
|
34
|
+
style: {
|
|
35
|
+
fill: 'transparent',
|
|
36
|
+
rx: 4,
|
|
37
|
+
ry: 4,
|
|
38
|
+
stroke: theme.palette.grey[500]
|
|
39
|
+
}
|
|
40
|
+
}]
|
|
29
41
|
}));
|
|
30
42
|
function ChartAxisZoomSliderActiveTrack({
|
|
31
43
|
axisId,
|
|
32
44
|
axisDirection,
|
|
33
45
|
axisPosition,
|
|
46
|
+
size,
|
|
47
|
+
preview,
|
|
34
48
|
zoomData,
|
|
35
49
|
reverse,
|
|
36
50
|
showTooltip,
|
|
@@ -169,11 +183,11 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
169
183
|
previewX = (zoomStart - minStart) / range * drawingArea.width;
|
|
170
184
|
previewY = 0;
|
|
171
185
|
previewWidth = drawingArea.width * (zoomEnd - zoomStart) / range;
|
|
172
|
-
previewHeight =
|
|
186
|
+
previewHeight = size;
|
|
173
187
|
startThumbX = (zoomStart - minStart) / range * drawingArea.width;
|
|
174
|
-
startThumbY = 0;
|
|
188
|
+
startThumbY = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
175
189
|
endThumbX = (zoomEnd - minStart) / range * drawingArea.width;
|
|
176
|
-
endThumbY = 0;
|
|
190
|
+
endThumbY = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
177
191
|
if (reverse) {
|
|
178
192
|
previewX = drawingArea.width - previewX - previewWidth;
|
|
179
193
|
startThumbX = drawingArea.width - startThumbX;
|
|
@@ -184,11 +198,11 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
184
198
|
} else {
|
|
185
199
|
previewX = 0;
|
|
186
200
|
previewY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
187
|
-
previewWidth =
|
|
201
|
+
previewWidth = size;
|
|
188
202
|
previewHeight = drawingArea.height * (zoomEnd - zoomStart) / range;
|
|
189
|
-
startThumbX = 0;
|
|
203
|
+
startThumbX = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
190
204
|
startThumbY = drawingArea.height - (zoomStart - minStart) / range * drawingArea.height;
|
|
191
|
-
endThumbX = 0;
|
|
205
|
+
endThumbX = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
192
206
|
endThumbY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
193
207
|
if (reverse) {
|
|
194
208
|
previewY = drawingArea.height - previewY - previewHeight;
|
|
@@ -198,12 +212,13 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
198
212
|
startThumbY -= previewThumbHeight / 2;
|
|
199
213
|
endThumbY -= previewThumbHeight / 2;
|
|
200
214
|
}
|
|
201
|
-
const previewOffset = (_constants.ZOOM_SLIDER_THUMB_HEIGHT -
|
|
215
|
+
const previewOffset = _constants.ZOOM_SLIDER_THUMB_HEIGHT > size ? (_constants.ZOOM_SLIDER_THUMB_HEIGHT - size) / 2 : 0;
|
|
202
216
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
203
217
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomSliderActiveTrackRect, {
|
|
204
218
|
ref: activePreviewRectRef,
|
|
205
219
|
x: previewX + (axisDirection === 'x' ? 0 : previewOffset),
|
|
206
220
|
y: previewY + (axisDirection === 'x' ? previewOffset : 0),
|
|
221
|
+
preview: preview,
|
|
207
222
|
width: previewWidth,
|
|
208
223
|
height: previewHeight,
|
|
209
224
|
onPointerEnter: onPointerEnter,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AxisId } from '@mui/x-charts/internals';
|
|
3
|
+
interface ChartAxisZoomSliderPreviewProps {
|
|
4
|
+
axisId: AxisId;
|
|
5
|
+
axisDirection: 'x' | 'y';
|
|
6
|
+
reverse: boolean;
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
height: number;
|
|
10
|
+
width: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function ChartAxisZoomSliderPreview({
|
|
13
|
+
axisId,
|
|
14
|
+
axisDirection,
|
|
15
|
+
reverse,
|
|
16
|
+
...props
|
|
17
|
+
}: ChartAxisZoomSliderPreviewProps): React.JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ChartAxisZoomSliderPreview = ChartAxisZoomSliderPreview;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _internals = require("@mui/x-charts/internals");
|
|
14
|
+
var _system = require("@mui/system");
|
|
15
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
16
|
+
var _useChartProZoom = require("../../internals/plugins/useChartProZoom");
|
|
17
|
+
var _ChartAxisZoomSliderPreviewContent = require("./ChartAxisZoomSliderPreviewContent");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
const _excluded = ["axisId", "axisDirection", "reverse"];
|
|
20
|
+
const PreviewBackgroundRect = (0, _styles.styled)('rect')(({
|
|
21
|
+
theme
|
|
22
|
+
}) => ({
|
|
23
|
+
rx: 4,
|
|
24
|
+
ry: 4,
|
|
25
|
+
stroke: theme.palette.grey[700],
|
|
26
|
+
fill: (0, _system.alpha)(theme.palette.grey[700], 0.4)
|
|
27
|
+
}));
|
|
28
|
+
function ChartAxisZoomSliderPreview(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
axisId,
|
|
31
|
+
axisDirection
|
|
32
|
+
} = _ref,
|
|
33
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, props, {
|
|
35
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewRectangles, (0, _extends2.default)({}, props, {
|
|
36
|
+
axisId: axisId,
|
|
37
|
+
axisDirection: axisDirection
|
|
38
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", (0, _extends2.default)({}, props, {
|
|
39
|
+
fill: "transparent",
|
|
40
|
+
rx: 4,
|
|
41
|
+
ry: 4
|
|
42
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderPreviewContent.ChartAxisZoomSliderPreviewContent, (0, _extends2.default)({
|
|
43
|
+
axisId: axisId
|
|
44
|
+
}, props))]
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
function PreviewRectangles(props) {
|
|
48
|
+
const {
|
|
49
|
+
axisId,
|
|
50
|
+
axisDirection
|
|
51
|
+
} = props;
|
|
52
|
+
const store = (0, _internals.useStore)();
|
|
53
|
+
const zoomData = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartAxisZoomData, [axisId]);
|
|
54
|
+
const zoomOptions = (0, _internals.useSelector)(store, _internals.selectorChartAxisZoomOptionsLookup, [axisId]);
|
|
55
|
+
const id = (0, _useId.default)();
|
|
56
|
+
if (!zoomData) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const maskId = `zoom-preview-mask-${axisId}-${id}`;
|
|
60
|
+
let x;
|
|
61
|
+
let y;
|
|
62
|
+
let width;
|
|
63
|
+
let height;
|
|
64
|
+
const range = zoomOptions.maxEnd - zoomOptions.minStart;
|
|
65
|
+
if (axisDirection === 'x') {
|
|
66
|
+
x = props.x + (zoomData.start - zoomOptions.minStart) / range * props.width;
|
|
67
|
+
y = props.y;
|
|
68
|
+
width = (zoomData.end - zoomData.start) / range * props.width;
|
|
69
|
+
height = props.height;
|
|
70
|
+
} else {
|
|
71
|
+
x = props.x;
|
|
72
|
+
y = props.y + (1 - zoomData.end / range) * props.height;
|
|
73
|
+
width = props.width;
|
|
74
|
+
height = (zoomData.end - zoomData.start) / range * props.height;
|
|
75
|
+
}
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
77
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("mask", {
|
|
78
|
+
id: maskId,
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
80
|
+
x: props.x,
|
|
81
|
+
y: props.y,
|
|
82
|
+
width: props.width,
|
|
83
|
+
height: props.height,
|
|
84
|
+
fill: "white"
|
|
85
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
86
|
+
x: x,
|
|
87
|
+
y: y,
|
|
88
|
+
width: width,
|
|
89
|
+
height: height,
|
|
90
|
+
fill: "black",
|
|
91
|
+
rx: 4,
|
|
92
|
+
ry: 4
|
|
93
|
+
})]
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewBackgroundRect, {
|
|
95
|
+
x: props.x,
|
|
96
|
+
y: props.y,
|
|
97
|
+
width: props.width,
|
|
98
|
+
height: props.height,
|
|
99
|
+
mask: `url(#${maskId})`
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AxisId } from '@mui/x-charts/internals';
|
|
3
|
+
interface ChartAxisZoomSliderPreviewContentProps {
|
|
4
|
+
axisId: AxisId;
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
height: number;
|
|
8
|
+
width: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function ChartAxisZoomSliderPreviewContent(props: ChartAxisZoomSliderPreviewContentProps): React.JSX.Element;
|
|
11
|
+
export {};
|