@mui/x-charts-pro 8.7.0 → 8.9.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 +33 -1
- package/CHANGELOG.md +199 -24
- 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 +4 -3
- package/FunnelChart/FunnelChart.js +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/index.d.ts +1 -1
- package/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/Heatmap/Heatmap.d.ts +4 -3
- package/Heatmap/Heatmap.js +1 -1
- package/Heatmap/index.d.ts +1 -0
- package/LineChartPro/LineChartPro.js +39 -1
- package/PieChartPro/PieChartPro.d.ts +1 -1
- package/PieChartPro/PieChartPro.js +1 -1
- package/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/RadarChartPro/RadarChartPro.js +20 -1
- package/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.js +17 -1
- package/esm/BarChartPro/BarChartPro.d.ts +1 -1
- package/esm/BarChartPro/BarChartPro.js +33 -1
- 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 +4 -3
- package/esm/FunnelChart/FunnelChart.js +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/index.d.ts +1 -1
- package/esm/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/esm/Heatmap/Heatmap.d.ts +4 -3
- package/esm/Heatmap/Heatmap.js +1 -1
- package/esm/Heatmap/index.d.ts +1 -0
- package/esm/LineChartPro/LineChartPro.js +39 -1
- package/esm/PieChartPro/PieChartPro.d.ts +1 -1
- package/esm/PieChartPro/PieChartPro.js +1 -1
- package/esm/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/esm/RadarChartPro/RadarChartPro.js +20 -1
- package/esm/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/esm/ScatterChartPro/ScatterChartPro.js +17 -1
- package/esm/index.js +3 -3
- 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 +3 -3
- 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 +7 -7
|
@@ -135,12 +135,31 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
|
|
|
135
135
|
right: _propTypes.default.number,
|
|
136
136
|
top: _propTypes.default.number
|
|
137
137
|
})]),
|
|
138
|
+
/**
|
|
139
|
+
* Callback fired when an area is clicked.
|
|
140
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
141
|
+
* @param {RadarItemIdentifier} radarItemIdentifier The radar item identifier.
|
|
142
|
+
*/
|
|
143
|
+
onAreaClick: _propTypes.default.func,
|
|
144
|
+
/**
|
|
145
|
+
* The function called for onClick events.
|
|
146
|
+
* The second argument contains information about all line/bar elements at the current mouse position.
|
|
147
|
+
* @param {MouseEvent} event The mouse event recorded on the `<svg/>` element.
|
|
148
|
+
* @param {null | ChartsAxisData} data The data about the clicked axis and items associated with it.
|
|
149
|
+
*/
|
|
150
|
+
onAxisClick: _propTypes.default.func,
|
|
138
151
|
/**
|
|
139
152
|
* The callback fired when the highlighted item changes.
|
|
140
153
|
*
|
|
141
154
|
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
142
155
|
*/
|
|
143
156
|
onHighlightChange: _propTypes.default.func,
|
|
157
|
+
/**
|
|
158
|
+
* Callback fired when a mark is clicked.
|
|
159
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
160
|
+
* @param {RadarItemIdentifier} radarItemIdentifier The radar item identifier.
|
|
161
|
+
*/
|
|
162
|
+
onMarkClick: _propTypes.default.func,
|
|
144
163
|
/**
|
|
145
164
|
* The configuration of the radar scales.
|
|
146
165
|
*/
|
|
@@ -157,7 +176,7 @@ process.env.NODE_ENV !== "production" ? RadarChartPro.propTypes = {
|
|
|
157
176
|
}).isRequired,
|
|
158
177
|
/**
|
|
159
178
|
* The series to display in the bar chart.
|
|
160
|
-
* An array of [[
|
|
179
|
+
* An array of [[RadarSeries]] objects.
|
|
161
180
|
*/
|
|
162
181
|
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
163
182
|
/**
|
|
@@ -6,7 +6,7 @@ import { ScatterChartProPluginsSignatures } from "./ScatterChartPro.plugins.js";
|
|
|
6
6
|
import { ChartsToolbarProSlots, ChartsToolbarProSlotProps } from "../ChartsToolbarPro/Toolbar.types.js";
|
|
7
7
|
export interface ScatterChartProSlots extends Omit<ScatterChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
|
|
8
8
|
export interface ScatterChartProSlotProps extends Omit<ScatterChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
|
|
9
|
-
export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps'> {
|
|
9
|
+
export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
|
|
10
10
|
/**
|
|
11
11
|
* Overridable component slots.
|
|
12
12
|
* @default {}
|
|
@@ -218,7 +218,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
218
218
|
onZoomChange: _propTypes.default.func,
|
|
219
219
|
/**
|
|
220
220
|
* The series to display in the scatter chart.
|
|
221
|
-
* An array of [[
|
|
221
|
+
* An array of [[ScatterSeries]] objects.
|
|
222
222
|
*/
|
|
223
223
|
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
224
224
|
/**
|
|
@@ -320,6 +320,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
320
320
|
panning: _propTypes.default.bool,
|
|
321
321
|
slider: _propTypes.default.shape({
|
|
322
322
|
enabled: _propTypes.default.bool,
|
|
323
|
+
preview: _propTypes.default.bool,
|
|
323
324
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
324
325
|
size: _propTypes.default.number
|
|
325
326
|
}),
|
|
@@ -385,6 +386,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
385
386
|
panning: _propTypes.default.bool,
|
|
386
387
|
slider: _propTypes.default.shape({
|
|
387
388
|
enabled: _propTypes.default.bool,
|
|
389
|
+
preview: _propTypes.default.bool,
|
|
388
390
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
389
391
|
size: _propTypes.default.number
|
|
390
392
|
}),
|
|
@@ -445,6 +447,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
445
447
|
panning: _propTypes.default.bool,
|
|
446
448
|
slider: _propTypes.default.shape({
|
|
447
449
|
enabled: _propTypes.default.bool,
|
|
450
|
+
preview: _propTypes.default.bool,
|
|
448
451
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
449
452
|
size: _propTypes.default.number
|
|
450
453
|
}),
|
|
@@ -505,6 +508,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
505
508
|
panning: _propTypes.default.bool,
|
|
506
509
|
slider: _propTypes.default.shape({
|
|
507
510
|
enabled: _propTypes.default.bool,
|
|
511
|
+
preview: _propTypes.default.bool,
|
|
508
512
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
509
513
|
size: _propTypes.default.number
|
|
510
514
|
}),
|
|
@@ -565,6 +569,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
565
569
|
panning: _propTypes.default.bool,
|
|
566
570
|
slider: _propTypes.default.shape({
|
|
567
571
|
enabled: _propTypes.default.bool,
|
|
572
|
+
preview: _propTypes.default.bool,
|
|
568
573
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
569
574
|
size: _propTypes.default.number
|
|
570
575
|
}),
|
|
@@ -625,6 +630,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
625
630
|
panning: _propTypes.default.bool,
|
|
626
631
|
slider: _propTypes.default.shape({
|
|
627
632
|
enabled: _propTypes.default.bool,
|
|
633
|
+
preview: _propTypes.default.bool,
|
|
628
634
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
629
635
|
size: _propTypes.default.number
|
|
630
636
|
}),
|
|
@@ -685,6 +691,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
685
691
|
panning: _propTypes.default.bool,
|
|
686
692
|
slider: _propTypes.default.shape({
|
|
687
693
|
enabled: _propTypes.default.bool,
|
|
694
|
+
preview: _propTypes.default.bool,
|
|
688
695
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
689
696
|
size: _propTypes.default.number
|
|
690
697
|
}),
|
|
@@ -745,6 +752,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
745
752
|
panning: _propTypes.default.bool,
|
|
746
753
|
slider: _propTypes.default.shape({
|
|
747
754
|
enabled: _propTypes.default.bool,
|
|
755
|
+
preview: _propTypes.default.bool,
|
|
748
756
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
749
757
|
size: _propTypes.default.number
|
|
750
758
|
}),
|
|
@@ -817,6 +825,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
817
825
|
panning: _propTypes.default.bool,
|
|
818
826
|
slider: _propTypes.default.shape({
|
|
819
827
|
enabled: _propTypes.default.bool,
|
|
828
|
+
preview: _propTypes.default.bool,
|
|
820
829
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
821
830
|
size: _propTypes.default.number
|
|
822
831
|
}),
|
|
@@ -881,6 +890,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
881
890
|
panning: _propTypes.default.bool,
|
|
882
891
|
slider: _propTypes.default.shape({
|
|
883
892
|
enabled: _propTypes.default.bool,
|
|
893
|
+
preview: _propTypes.default.bool,
|
|
884
894
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
885
895
|
size: _propTypes.default.number
|
|
886
896
|
}),
|
|
@@ -940,6 +950,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
940
950
|
panning: _propTypes.default.bool,
|
|
941
951
|
slider: _propTypes.default.shape({
|
|
942
952
|
enabled: _propTypes.default.bool,
|
|
953
|
+
preview: _propTypes.default.bool,
|
|
943
954
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
944
955
|
size: _propTypes.default.number
|
|
945
956
|
}),
|
|
@@ -999,6 +1010,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
999
1010
|
panning: _propTypes.default.bool,
|
|
1000
1011
|
slider: _propTypes.default.shape({
|
|
1001
1012
|
enabled: _propTypes.default.bool,
|
|
1013
|
+
preview: _propTypes.default.bool,
|
|
1002
1014
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1003
1015
|
size: _propTypes.default.number
|
|
1004
1016
|
}),
|
|
@@ -1058,6 +1070,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1058
1070
|
panning: _propTypes.default.bool,
|
|
1059
1071
|
slider: _propTypes.default.shape({
|
|
1060
1072
|
enabled: _propTypes.default.bool,
|
|
1073
|
+
preview: _propTypes.default.bool,
|
|
1061
1074
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1062
1075
|
size: _propTypes.default.number
|
|
1063
1076
|
}),
|
|
@@ -1117,6 +1130,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1117
1130
|
panning: _propTypes.default.bool,
|
|
1118
1131
|
slider: _propTypes.default.shape({
|
|
1119
1132
|
enabled: _propTypes.default.bool,
|
|
1133
|
+
preview: _propTypes.default.bool,
|
|
1120
1134
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1121
1135
|
size: _propTypes.default.number
|
|
1122
1136
|
}),
|
|
@@ -1176,6 +1190,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1176
1190
|
panning: _propTypes.default.bool,
|
|
1177
1191
|
slider: _propTypes.default.shape({
|
|
1178
1192
|
enabled: _propTypes.default.bool,
|
|
1193
|
+
preview: _propTypes.default.bool,
|
|
1179
1194
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1180
1195
|
size: _propTypes.default.number
|
|
1181
1196
|
}),
|
|
@@ -1235,6 +1250,7 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1235
1250
|
panning: _propTypes.default.bool,
|
|
1236
1251
|
slider: _propTypes.default.shape({
|
|
1237
1252
|
enabled: _propTypes.default.bool,
|
|
1253
|
+
preview: _propTypes.default.bool,
|
|
1238
1254
|
showTooltip: _propTypes.default.oneOf(['always', 'hover', 'never']),
|
|
1239
1255
|
size: _propTypes.default.number
|
|
1240
1256
|
}),
|
|
@@ -6,7 +6,7 @@ import { ChartContainerProProps } from "../ChartContainerPro/index.js";
|
|
|
6
6
|
import { BarChartProPluginsSignatures } from "./BarChartPro.plugins.js";
|
|
7
7
|
export interface BarChartProSlots extends Omit<BarChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
|
|
8
8
|
export interface BarChartProSlotProps extends Omit<BarChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
|
|
9
|
-
export interface BarChartProProps extends Omit<BarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
|
|
9
|
+
export interface BarChartProProps extends Omit<BarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'bar', BarChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
|
|
10
10
|
/**
|
|
11
11
|
* Overridable component slots.
|
|
12
12
|
* @default {}
|
|
@@ -150,6 +150,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
150
150
|
* If `true`, the legend is not rendered.
|
|
151
151
|
*/
|
|
152
152
|
hideLegend: PropTypes.bool,
|
|
153
|
+
/**
|
|
154
|
+
* The controlled axis highlight.
|
|
155
|
+
* Identified by the axis id, and data index.
|
|
156
|
+
*/
|
|
157
|
+
highlightedAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
158
|
+
axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
159
|
+
dataIndex: PropTypes.number.isRequired
|
|
160
|
+
})),
|
|
153
161
|
/**
|
|
154
162
|
* The highlighted item.
|
|
155
163
|
* Used when the highlight is controlled.
|
|
@@ -211,6 +219,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
211
219
|
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
212
220
|
*/
|
|
213
221
|
onHighlightChange: PropTypes.func,
|
|
222
|
+
/**
|
|
223
|
+
* The function called when the pointer position corresponds to a new axis data item.
|
|
224
|
+
* This update can either be caused by a pointer movement, or an axis update.
|
|
225
|
+
* In case of multiple axes, the function is called if at least one axis is updated.
|
|
226
|
+
* The argument contains the identifier for all axes with a `data` property.
|
|
227
|
+
* @param {AxisItemIdentifier[]} axisItems The array of axes item identifiers.
|
|
228
|
+
*/
|
|
229
|
+
onHighlightedAxisChange: PropTypes.func,
|
|
214
230
|
/**
|
|
215
231
|
* Callback fired when a bar item is clicked.
|
|
216
232
|
* @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
|
|
@@ -225,7 +241,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
225
241
|
onZoomChange: PropTypes.func,
|
|
226
242
|
/**
|
|
227
243
|
* The series to display in the bar chart.
|
|
228
|
-
* An array of [[
|
|
244
|
+
* An array of [[BarSeries]] objects.
|
|
229
245
|
*/
|
|
230
246
|
series: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
231
247
|
/**
|
|
@@ -322,6 +338,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
322
338
|
panning: PropTypes.bool,
|
|
323
339
|
slider: PropTypes.shape({
|
|
324
340
|
enabled: PropTypes.bool,
|
|
341
|
+
preview: PropTypes.bool,
|
|
325
342
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
326
343
|
size: PropTypes.number
|
|
327
344
|
}),
|
|
@@ -387,6 +404,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
387
404
|
panning: PropTypes.bool,
|
|
388
405
|
slider: PropTypes.shape({
|
|
389
406
|
enabled: PropTypes.bool,
|
|
407
|
+
preview: PropTypes.bool,
|
|
390
408
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
391
409
|
size: PropTypes.number
|
|
392
410
|
}),
|
|
@@ -447,6 +465,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
447
465
|
panning: PropTypes.bool,
|
|
448
466
|
slider: PropTypes.shape({
|
|
449
467
|
enabled: PropTypes.bool,
|
|
468
|
+
preview: PropTypes.bool,
|
|
450
469
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
451
470
|
size: PropTypes.number
|
|
452
471
|
}),
|
|
@@ -507,6 +526,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
507
526
|
panning: PropTypes.bool,
|
|
508
527
|
slider: PropTypes.shape({
|
|
509
528
|
enabled: PropTypes.bool,
|
|
529
|
+
preview: PropTypes.bool,
|
|
510
530
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
511
531
|
size: PropTypes.number
|
|
512
532
|
}),
|
|
@@ -567,6 +587,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
567
587
|
panning: PropTypes.bool,
|
|
568
588
|
slider: PropTypes.shape({
|
|
569
589
|
enabled: PropTypes.bool,
|
|
590
|
+
preview: PropTypes.bool,
|
|
570
591
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
571
592
|
size: PropTypes.number
|
|
572
593
|
}),
|
|
@@ -627,6 +648,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
627
648
|
panning: PropTypes.bool,
|
|
628
649
|
slider: PropTypes.shape({
|
|
629
650
|
enabled: PropTypes.bool,
|
|
651
|
+
preview: PropTypes.bool,
|
|
630
652
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
631
653
|
size: PropTypes.number
|
|
632
654
|
}),
|
|
@@ -687,6 +709,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
687
709
|
panning: PropTypes.bool,
|
|
688
710
|
slider: PropTypes.shape({
|
|
689
711
|
enabled: PropTypes.bool,
|
|
712
|
+
preview: PropTypes.bool,
|
|
690
713
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
691
714
|
size: PropTypes.number
|
|
692
715
|
}),
|
|
@@ -747,6 +770,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
747
770
|
panning: PropTypes.bool,
|
|
748
771
|
slider: PropTypes.shape({
|
|
749
772
|
enabled: PropTypes.bool,
|
|
773
|
+
preview: PropTypes.bool,
|
|
750
774
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
751
775
|
size: PropTypes.number
|
|
752
776
|
}),
|
|
@@ -819,6 +843,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
819
843
|
panning: PropTypes.bool,
|
|
820
844
|
slider: PropTypes.shape({
|
|
821
845
|
enabled: PropTypes.bool,
|
|
846
|
+
preview: PropTypes.bool,
|
|
822
847
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
823
848
|
size: PropTypes.number
|
|
824
849
|
}),
|
|
@@ -883,6 +908,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
883
908
|
panning: PropTypes.bool,
|
|
884
909
|
slider: PropTypes.shape({
|
|
885
910
|
enabled: PropTypes.bool,
|
|
911
|
+
preview: PropTypes.bool,
|
|
886
912
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
887
913
|
size: PropTypes.number
|
|
888
914
|
}),
|
|
@@ -942,6 +968,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
942
968
|
panning: PropTypes.bool,
|
|
943
969
|
slider: PropTypes.shape({
|
|
944
970
|
enabled: PropTypes.bool,
|
|
971
|
+
preview: PropTypes.bool,
|
|
945
972
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
946
973
|
size: PropTypes.number
|
|
947
974
|
}),
|
|
@@ -1001,6 +1028,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1001
1028
|
panning: PropTypes.bool,
|
|
1002
1029
|
slider: PropTypes.shape({
|
|
1003
1030
|
enabled: PropTypes.bool,
|
|
1031
|
+
preview: PropTypes.bool,
|
|
1004
1032
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
1005
1033
|
size: PropTypes.number
|
|
1006
1034
|
}),
|
|
@@ -1060,6 +1088,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1060
1088
|
panning: PropTypes.bool,
|
|
1061
1089
|
slider: PropTypes.shape({
|
|
1062
1090
|
enabled: PropTypes.bool,
|
|
1091
|
+
preview: PropTypes.bool,
|
|
1063
1092
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
1064
1093
|
size: PropTypes.number
|
|
1065
1094
|
}),
|
|
@@ -1119,6 +1148,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1119
1148
|
panning: PropTypes.bool,
|
|
1120
1149
|
slider: PropTypes.shape({
|
|
1121
1150
|
enabled: PropTypes.bool,
|
|
1151
|
+
preview: PropTypes.bool,
|
|
1122
1152
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
1123
1153
|
size: PropTypes.number
|
|
1124
1154
|
}),
|
|
@@ -1178,6 +1208,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1178
1208
|
panning: PropTypes.bool,
|
|
1179
1209
|
slider: PropTypes.shape({
|
|
1180
1210
|
enabled: PropTypes.bool,
|
|
1211
|
+
preview: PropTypes.bool,
|
|
1181
1212
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
1182
1213
|
size: PropTypes.number
|
|
1183
1214
|
}),
|
|
@@ -1237,6 +1268,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
1237
1268
|
panning: PropTypes.bool,
|
|
1238
1269
|
slider: PropTypes.shape({
|
|
1239
1270
|
enabled: PropTypes.bool,
|
|
1271
|
+
preview: PropTypes.bool,
|
|
1240
1272
|
showTooltip: PropTypes.oneOf(['always', 'hover', 'never']),
|
|
1241
1273
|
size: PropTypes.number
|
|
1242
1274
|
}),
|
|
@@ -11,7 +11,7 @@ import { defaultSlotsMaterial } from "../internals/material/index.js";
|
|
|
11
11
|
import { DEFAULT_PLUGINS } from "../internals/plugins/allPlugins.js";
|
|
12
12
|
import { useChartDataProviderProProps } from "./useChartDataProviderProProps.js";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const releaseInfo = "
|
|
14
|
+
const releaseInfo = "MTc1Mjc4OTYwMDAwMA==";
|
|
15
15
|
const packageIdentifier = 'x-charts-pro';
|
|
16
16
|
/**
|
|
17
17
|
* Orchestrates the data providers for the chart components and hooks.
|
|
@@ -83,6 +83,12 @@ process.env.NODE_ENV !== "production" ? ChartDataProviderPro.propTypes = {
|
|
|
83
83
|
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
84
84
|
*/
|
|
85
85
|
dataset: PropTypes.arrayOf(PropTypes.object),
|
|
86
|
+
/**
|
|
87
|
+
* Options to enable features planned for the next major.
|
|
88
|
+
*/
|
|
89
|
+
experimentalFeatures: PropTypes.shape({
|
|
90
|
+
preferStrictDomainInLineCharts: PropTypes.bool
|
|
91
|
+
}),
|
|
86
92
|
/**
|
|
87
93
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
88
94
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP, useDrawingArea, useSelector, useStore, ZOOM_SLIDER_MARGIN } from '@mui/x-charts/internals';
|
|
4
|
+
import { DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP, selectorChartAxisZoomOptionsLookup, useDrawingArea, useSelector, useStore, ZOOM_SLIDER_MARGIN, ZOOM_SLIDER_PREVIEW_SIZE } from '@mui/x-charts/internals';
|
|
5
5
|
import { useXAxes, useYAxes } from '@mui/x-charts/hooks';
|
|
6
|
-
import {
|
|
6
|
+
import { ChartAxisZoomSliderPreview } from "./ChartAxisZoomSliderPreview.js";
|
|
7
|
+
import { ZOOM_SLIDER_ACTIVE_TRACK_SIZE, ZOOM_SLIDER_SIZE, ZOOM_SLIDER_TRACK_SIZE } from "./constants.js";
|
|
7
8
|
import { selectorChartAxisZoomData } from "../../internals/plugins/useChartProZoom/index.js";
|
|
8
9
|
import { ChartAxisZoomSliderTrack } from "./ChartAxisZoomSliderTrack.js";
|
|
9
10
|
import { ChartAxisZoomSliderActiveTrack } from "./ChartAxisZoomSliderActiveTrack.js";
|
|
@@ -19,6 +20,7 @@ export function ChartAxisZoomSlider({
|
|
|
19
20
|
const store = useStore();
|
|
20
21
|
const drawingArea = useDrawingArea();
|
|
21
22
|
const zoomData = useSelector(store, selectorChartAxisZoomData, [axisId]);
|
|
23
|
+
const zoomOptions = useSelector(store, selectorChartAxisZoomOptionsLookup, [axisId]);
|
|
22
24
|
const [showTooltip, setShowTooltip] = React.useState(false);
|
|
23
25
|
const {
|
|
24
26
|
xAxis
|
|
@@ -26,6 +28,7 @@ export function ChartAxisZoomSlider({
|
|
|
26
28
|
const {
|
|
27
29
|
yAxis
|
|
28
30
|
} = useYAxes();
|
|
31
|
+
const showPreview = zoomOptions.slider.preview;
|
|
29
32
|
if (!zoomData) {
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
@@ -34,6 +37,7 @@ export function ChartAxisZoomSlider({
|
|
|
34
37
|
let reverse;
|
|
35
38
|
let axisPosition;
|
|
36
39
|
let tooltipConditions;
|
|
40
|
+
const sliderSize = showPreview ? ZOOM_SLIDER_PREVIEW_SIZE : ZOOM_SLIDER_SIZE;
|
|
37
41
|
if (axisDirection === 'x') {
|
|
38
42
|
const axis = xAxis[axisId];
|
|
39
43
|
if (!axis || axis.position === 'none') {
|
|
@@ -41,7 +45,7 @@ export function ChartAxisZoomSlider({
|
|
|
41
45
|
}
|
|
42
46
|
const axisSize = axis.height;
|
|
43
47
|
x = drawingArea.left;
|
|
44
|
-
y = axis.position === 'bottom' ? drawingArea.top + drawingArea.height + axis.offset + axisSize + ZOOM_SLIDER_MARGIN : drawingArea.top - axis.offset - axisSize -
|
|
48
|
+
y = axis.position === 'bottom' ? drawingArea.top + drawingArea.height + axis.offset + axisSize + ZOOM_SLIDER_MARGIN : drawingArea.top - axis.offset - axisSize - sliderSize - ZOOM_SLIDER_MARGIN;
|
|
45
49
|
reverse = axis.reverse ?? false;
|
|
46
50
|
axisPosition = axis.position ?? 'bottom';
|
|
47
51
|
tooltipConditions = axis.zoom?.slider?.showTooltip ?? DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP;
|
|
@@ -51,38 +55,49 @@ export function ChartAxisZoomSlider({
|
|
|
51
55
|
return null;
|
|
52
56
|
}
|
|
53
57
|
const axisSize = axis.width;
|
|
54
|
-
x = axis.position === 'right' ? drawingArea.left + drawingArea.width + axis.offset + axisSize + ZOOM_SLIDER_MARGIN : drawingArea.left - axis.offset - axisSize -
|
|
58
|
+
x = axis.position === 'right' ? drawingArea.left + drawingArea.width + axis.offset + axisSize + ZOOM_SLIDER_MARGIN : drawingArea.left - axis.offset - axisSize - sliderSize - ZOOM_SLIDER_MARGIN;
|
|
55
59
|
y = drawingArea.top;
|
|
56
60
|
reverse = axis.reverse ?? false;
|
|
57
61
|
axisPosition = axis.position ?? 'left';
|
|
58
62
|
tooltipConditions = axis.zoom?.slider?.showTooltip ?? DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP;
|
|
59
63
|
}
|
|
60
|
-
const backgroundRectOffset = (
|
|
64
|
+
const backgroundRectOffset = (sliderSize - ZOOM_SLIDER_TRACK_SIZE) / 2;
|
|
65
|
+
const track = showPreview ? /*#__PURE__*/_jsx(ChartAxisZoomSliderPreview, {
|
|
66
|
+
axisId: axisId,
|
|
67
|
+
axisDirection: axisDirection,
|
|
68
|
+
reverse: reverse,
|
|
69
|
+
x: 0,
|
|
70
|
+
y: 0,
|
|
71
|
+
height: axisDirection === 'x' ? ZOOM_SLIDER_PREVIEW_SIZE : drawingArea.height,
|
|
72
|
+
width: axisDirection === 'x' ? drawingArea.width : ZOOM_SLIDER_PREVIEW_SIZE
|
|
73
|
+
}) : /*#__PURE__*/_jsx(ChartAxisZoomSliderTrack, {
|
|
74
|
+
x: axisDirection === 'x' ? 0 : backgroundRectOffset,
|
|
75
|
+
y: axisDirection === 'x' ? backgroundRectOffset : 0,
|
|
76
|
+
height: axisDirection === 'x' ? ZOOM_SLIDER_TRACK_SIZE : drawingArea.height,
|
|
77
|
+
width: axisDirection === 'x' ? drawingArea.width : ZOOM_SLIDER_TRACK_SIZE,
|
|
78
|
+
rx: ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
79
|
+
ry: 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
|
+
});
|
|
61
86
|
return /*#__PURE__*/_jsxs("g", {
|
|
62
87
|
"data-charts-zoom-slider": true,
|
|
63
88
|
transform: `translate(${x} ${y})`,
|
|
64
89
|
style: {
|
|
65
90
|
touchAction: 'none'
|
|
66
91
|
},
|
|
67
|
-
children: [/*#__PURE__*/_jsx(
|
|
68
|
-
x: axisDirection === 'x' ? 0 : backgroundRectOffset,
|
|
69
|
-
y: axisDirection === 'x' ? backgroundRectOffset : 0,
|
|
70
|
-
height: axisDirection === 'x' ? ZOOM_SLIDER_TRACK_SIZE : drawingArea.height,
|
|
71
|
-
width: axisDirection === 'x' ? drawingArea.width : ZOOM_SLIDER_TRACK_SIZE,
|
|
72
|
-
rx: ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
73
|
-
ry: ZOOM_SLIDER_TRACK_SIZE / 2,
|
|
74
|
-
axisId: axisId,
|
|
75
|
-
axisDirection: axisDirection,
|
|
76
|
-
reverse: reverse,
|
|
77
|
-
onSelectStart: tooltipConditions === 'hover' ? () => setShowTooltip(true) : undefined,
|
|
78
|
-
onSelectEnd: tooltipConditions === 'hover' ? () => setShowTooltip(false) : undefined
|
|
79
|
-
}), /*#__PURE__*/_jsx(ChartAxisZoomSliderActiveTrack, {
|
|
92
|
+
children: [track, /*#__PURE__*/_jsx(ChartAxisZoomSliderActiveTrack, {
|
|
80
93
|
zoomData: zoomData,
|
|
81
94
|
axisId: axisId,
|
|
82
95
|
axisPosition: axisPosition,
|
|
83
96
|
axisDirection: axisDirection,
|
|
84
97
|
reverse: reverse,
|
|
85
98
|
showTooltip: showTooltip && tooltipConditions !== 'never' || tooltipConditions === 'always',
|
|
99
|
+
size: showPreview ? ZOOM_SLIDER_PREVIEW_SIZE : ZOOM_SLIDER_ACTIVE_TRACK_SIZE,
|
|
100
|
+
preview: showPreview,
|
|
86
101
|
onPointerEnter: tooltipConditions === 'hover' ? () => setShowTooltip(true) : undefined,
|
|
87
102
|
onPointerLeave: tooltipConditions === 'hover' ? () => setShowTooltip(false) : undefined
|
|
88
103
|
})]
|
|
@@ -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,
|
|
@@ -5,25 +5,39 @@ import { styled } from '@mui/material/styles';
|
|
|
5
5
|
import { getSVGPoint, invertScale, selectorChartAxis, selectorChartAxisZoomOptionsLookup, useChartContext, useDrawingArea, useSelector, useStore } from '@mui/x-charts/internals';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { rafThrottle } from '@mui/x-internals/rafThrottle';
|
|
8
|
+
import { shouldForwardProp } from '@mui/system';
|
|
8
9
|
import { selectorChartAxisZoomData } from "../../internals/plugins/useChartProZoom/index.js";
|
|
9
10
|
import { ChartAxisZoomSliderThumb } from "./ChartAxisZoomSliderThumb.js";
|
|
10
11
|
import { ChartsTooltipZoomSliderValue } from "./ChartsTooltipZoomSliderValue.js";
|
|
11
12
|
import { calculateZoomEnd, calculateZoomFromPoint, calculateZoomStart } from "./zoom-utils.js";
|
|
12
|
-
import {
|
|
13
|
+
import { ZOOM_SLIDER_THUMB_HEIGHT, ZOOM_SLIDER_THUMB_WIDTH } from "./constants.js";
|
|
13
14
|
import { useUtilityClasses } from "./chartAxisZoomSliderTrackClasses.js";
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
const ZoomSliderActiveTrackRect = styled('rect'
|
|
16
|
+
const ZoomSliderActiveTrackRect = styled('rect', {
|
|
17
|
+
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'preview'
|
|
18
|
+
})(({
|
|
16
19
|
theme
|
|
17
20
|
}) => ({
|
|
18
|
-
'
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[500] : (theme.vars || theme).palette.grey[600],
|
|
22
|
+
cursor: 'grab',
|
|
23
|
+
variants: [{
|
|
24
|
+
props: {
|
|
25
|
+
preview: true
|
|
26
|
+
},
|
|
27
|
+
style: {
|
|
28
|
+
fill: 'transparent',
|
|
29
|
+
rx: 4,
|
|
30
|
+
ry: 4,
|
|
31
|
+
stroke: theme.palette.grey[500]
|
|
32
|
+
}
|
|
33
|
+
}]
|
|
22
34
|
}));
|
|
23
35
|
export function ChartAxisZoomSliderActiveTrack({
|
|
24
36
|
axisId,
|
|
25
37
|
axisDirection,
|
|
26
38
|
axisPosition,
|
|
39
|
+
size,
|
|
40
|
+
preview,
|
|
27
41
|
zoomData,
|
|
28
42
|
reverse,
|
|
29
43
|
showTooltip,
|
|
@@ -162,11 +176,11 @@ export function ChartAxisZoomSliderActiveTrack({
|
|
|
162
176
|
previewX = (zoomStart - minStart) / range * drawingArea.width;
|
|
163
177
|
previewY = 0;
|
|
164
178
|
previewWidth = drawingArea.width * (zoomEnd - zoomStart) / range;
|
|
165
|
-
previewHeight =
|
|
179
|
+
previewHeight = size;
|
|
166
180
|
startThumbX = (zoomStart - minStart) / range * drawingArea.width;
|
|
167
|
-
startThumbY = 0;
|
|
181
|
+
startThumbY = ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
168
182
|
endThumbX = (zoomEnd - minStart) / range * drawingArea.width;
|
|
169
|
-
endThumbY = 0;
|
|
183
|
+
endThumbY = ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
170
184
|
if (reverse) {
|
|
171
185
|
previewX = drawingArea.width - previewX - previewWidth;
|
|
172
186
|
startThumbX = drawingArea.width - startThumbX;
|
|
@@ -177,11 +191,11 @@ export function ChartAxisZoomSliderActiveTrack({
|
|
|
177
191
|
} else {
|
|
178
192
|
previewX = 0;
|
|
179
193
|
previewY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
180
|
-
previewWidth =
|
|
194
|
+
previewWidth = size;
|
|
181
195
|
previewHeight = drawingArea.height * (zoomEnd - zoomStart) / range;
|
|
182
|
-
startThumbX = 0;
|
|
196
|
+
startThumbX = ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
183
197
|
startThumbY = drawingArea.height - (zoomStart - minStart) / range * drawingArea.height;
|
|
184
|
-
endThumbX = 0;
|
|
198
|
+
endThumbX = ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
185
199
|
endThumbY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
186
200
|
if (reverse) {
|
|
187
201
|
previewY = drawingArea.height - previewY - previewHeight;
|
|
@@ -191,12 +205,13 @@ export function ChartAxisZoomSliderActiveTrack({
|
|
|
191
205
|
startThumbY -= previewThumbHeight / 2;
|
|
192
206
|
endThumbY -= previewThumbHeight / 2;
|
|
193
207
|
}
|
|
194
|
-
const previewOffset = (ZOOM_SLIDER_THUMB_HEIGHT -
|
|
208
|
+
const previewOffset = ZOOM_SLIDER_THUMB_HEIGHT > size ? (ZOOM_SLIDER_THUMB_HEIGHT - size) / 2 : 0;
|
|
195
209
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
196
210
|
children: [/*#__PURE__*/_jsx(ZoomSliderActiveTrackRect, {
|
|
197
211
|
ref: activePreviewRectRef,
|
|
198
212
|
x: previewX + (axisDirection === 'x' ? 0 : previewOffset),
|
|
199
213
|
y: previewY + (axisDirection === 'x' ? previewOffset : 0),
|
|
214
|
+
preview: preview,
|
|
200
215
|
width: previewWidth,
|
|
201
216
|
height: previewHeight,
|
|
202
217
|
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 {};
|