@mui/x-charts-pro 8.3.1 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChartPro/BarChartPro.js +37 -20
- package/CHANGELOG.md +110 -0
- package/ChartContainerPro/ChartContainerPro.js +1 -0
- package/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/ChartZoomSlider/index.d.ts +1 -1
- package/ChartZoomSlider/index.js +4 -4
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +94 -60
- package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +92 -0
- package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
- package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +58 -0
- package/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
- package/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +6 -6
- package/FunnelChart/FunnelChart.js +4 -3
- package/FunnelChart/FunnelPlot.js +2 -0
- package/FunnelChart/FunnelSection.js +2 -1
- package/FunnelChart/curves/curve.types.d.ts +4 -0
- package/FunnelChart/curves/pyramid.d.ts +3 -1
- package/FunnelChart/curves/pyramid.js +37 -10
- package/FunnelChart/curves/step-pyramid.d.ts +10 -2
- package/FunnelChart/curves/step-pyramid.js +96 -20
- package/FunnelChart/curves/step.d.ts +5 -1
- package/FunnelChart/curves/step.js +20 -2
- package/FunnelChart/funnel.types.d.ts +7 -0
- package/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
- package/Heatmap/Heatmap.d.ts +1 -1
- package/Heatmap/Heatmap.js +25 -21
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +27 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.js +4 -102
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +5 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +96 -0
- package/Heatmap/HeatmapTooltip/index.d.ts +3 -1
- package/Heatmap/HeatmapTooltip/index.js +11 -0
- package/LineChartPro/LineChartPro.js +37 -20
- package/ScatterChartPro/ScatterChartPro.js +38 -21
- package/esm/BarChartPro/BarChartPro.js +35 -18
- package/esm/ChartContainerPro/ChartContainerPro.js +1 -0
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
- package/esm/ChartZoomSlider/index.d.ts +1 -1
- package/esm/ChartZoomSlider/index.js +1 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +94 -60
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +85 -0
- package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
- package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +52 -0
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
- package/esm/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +4 -4
- package/esm/FunnelChart/FunnelChart.js +4 -3
- package/esm/FunnelChart/FunnelPlot.js +2 -0
- package/esm/FunnelChart/FunnelSection.js +1 -0
- package/esm/FunnelChart/curves/curve.types.d.ts +4 -0
- package/esm/FunnelChart/curves/pyramid.d.ts +3 -1
- package/esm/FunnelChart/curves/pyramid.js +37 -10
- package/esm/FunnelChart/curves/step-pyramid.d.ts +10 -2
- package/esm/FunnelChart/curves/step-pyramid.js +96 -20
- package/esm/FunnelChart/curves/step.d.ts +5 -1
- package/esm/FunnelChart/curves/step.js +20 -2
- package/esm/FunnelChart/funnel.types.d.ts +7 -0
- package/esm/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
- package/esm/Heatmap/Heatmap.d.ts +1 -1
- package/esm/Heatmap/Heatmap.js +23 -19
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +19 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.js +5 -103
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +1 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +89 -0
- package/esm/Heatmap/HeatmapTooltip/index.d.ts +3 -1
- package/esm/Heatmap/HeatmapTooltip/index.js +3 -1
- package/esm/LineChartPro/LineChartPro.js +35 -18
- package/esm/ScatterChartPro/ScatterChartPro.js +36 -19
- package/esm/index.js +1 -1
- package/esm/internals/plugins/useChartProExport/exportImage.js +1 -1
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +2 -2
- package/index.js +1 -1
- package/internals/plugins/useChartProExport/exportImage.js +1 -1
- package/internals/plugins/useChartProZoom/useChartProZoom.js +2 -2
- package/package.json +5 -5
- package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
- package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -92
- package/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -85
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { ChartsTooltipPaper, ChartsTooltipTable, ChartsTooltipRow, ChartsTooltipCell, useItemTooltip } from '@mui/x-charts/ChartsTooltip';
|
|
7
|
+
import { useXAxis, useYAxis } from '@mui/x-charts/hooks';
|
|
8
|
+
import { getLabel, ChartsLabelMark } from '@mui/x-charts/internals';
|
|
9
|
+
import { useHeatmapSeriesContext } from "../../hooks/useHeatmapSeries.js";
|
|
10
|
+
import { HeatmapTooltipAxesValue } from "./HeatmapTooltipAxesValue.js";
|
|
11
|
+
import { useUtilityClasses } from "./HeatmapTooltip.classes.js";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export function HeatmapTooltipContent(props) {
|
|
14
|
+
const classes = useUtilityClasses(props);
|
|
15
|
+
const xAxis = useXAxis();
|
|
16
|
+
const yAxis = useYAxis();
|
|
17
|
+
const heatmapSeries = useHeatmapSeriesContext();
|
|
18
|
+
const tooltipData = useItemTooltip();
|
|
19
|
+
if (!tooltipData || !heatmapSeries || heatmapSeries.seriesOrder.length === 0) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const {
|
|
23
|
+
series,
|
|
24
|
+
seriesOrder
|
|
25
|
+
} = heatmapSeries;
|
|
26
|
+
const seriesId = seriesOrder[0];
|
|
27
|
+
const {
|
|
28
|
+
color,
|
|
29
|
+
value,
|
|
30
|
+
identifier,
|
|
31
|
+
markType
|
|
32
|
+
} = tooltipData;
|
|
33
|
+
const [xIndex, yIndex] = value;
|
|
34
|
+
const formattedX = xAxis.valueFormatter?.(xAxis.data[xIndex], {
|
|
35
|
+
location: 'tooltip',
|
|
36
|
+
scale: xAxis.scale
|
|
37
|
+
}) ?? xAxis.data[xIndex].toLocaleString();
|
|
38
|
+
const formattedY = yAxis.valueFormatter?.(yAxis.data[yIndex], {
|
|
39
|
+
location: 'tooltip',
|
|
40
|
+
scale: yAxis.scale
|
|
41
|
+
}) ?? yAxis.data[yIndex].toLocaleString();
|
|
42
|
+
const formattedValue = series[seriesId].valueFormatter(value, {
|
|
43
|
+
dataIndex: identifier.dataIndex
|
|
44
|
+
});
|
|
45
|
+
const seriesLabel = getLabel(series[seriesId].label, 'tooltip');
|
|
46
|
+
return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
|
|
47
|
+
className: classes.paper,
|
|
48
|
+
children: /*#__PURE__*/_jsxs(ChartsTooltipTable, {
|
|
49
|
+
className: classes.table,
|
|
50
|
+
children: [/*#__PURE__*/_jsxs(HeatmapTooltipAxesValue, {
|
|
51
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
52
|
+
children: formattedX
|
|
53
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
54
|
+
children: formattedY
|
|
55
|
+
})]
|
|
56
|
+
}), /*#__PURE__*/_jsx("tbody", {
|
|
57
|
+
children: /*#__PURE__*/_jsxs(ChartsTooltipRow, {
|
|
58
|
+
className: classes.row,
|
|
59
|
+
children: [/*#__PURE__*/_jsxs(ChartsTooltipCell, {
|
|
60
|
+
className: clsx(classes.labelCell, classes.cell),
|
|
61
|
+
component: "th",
|
|
62
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
63
|
+
className: classes.markContainer,
|
|
64
|
+
children: /*#__PURE__*/_jsx(ChartsLabelMark, {
|
|
65
|
+
type: markType,
|
|
66
|
+
color: color,
|
|
67
|
+
className: classes.mark
|
|
68
|
+
})
|
|
69
|
+
}), seriesLabel]
|
|
70
|
+
}), /*#__PURE__*/_jsx(ChartsTooltipCell, {
|
|
71
|
+
className: clsx(classes.valueCell, classes.cell),
|
|
72
|
+
component: "td",
|
|
73
|
+
children: formattedValue
|
|
74
|
+
})]
|
|
75
|
+
})
|
|
76
|
+
})]
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
process.env.NODE_ENV !== "production" ? HeatmapTooltipContent.propTypes = {
|
|
81
|
+
// ----------------------------- Warning --------------------------------
|
|
82
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
83
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
84
|
+
// ----------------------------------------------------------------------
|
|
85
|
+
/**
|
|
86
|
+
* Override or extend the styles applied to the component.
|
|
87
|
+
*/
|
|
88
|
+
classes: PropTypes.object
|
|
89
|
+
} : void 0;
|
|
@@ -80,11 +80,12 @@ const LineChartPro = /*#__PURE__*/React.forwardRef(function LineChartPro(inProps
|
|
|
80
80
|
})), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartZoomSlider, {}), /*#__PURE__*/_jsx("g", {
|
|
81
81
|
"data-drawing-container": true,
|
|
82
82
|
children: /*#__PURE__*/_jsx(MarkPlot, _extends({}, markPlotProps))
|
|
83
|
-
}), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)),
|
|
84
|
-
}))]
|
|
83
|
+
}), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
|
|
84
|
+
})), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip))]
|
|
85
85
|
}))
|
|
86
86
|
}));
|
|
87
87
|
});
|
|
88
|
+
if (process.env.NODE_ENV !== "production") LineChartPro.displayName = "LineChartPro";
|
|
88
89
|
process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
89
90
|
// ----------------------------- Warning --------------------------------
|
|
90
91
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -315,7 +316,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
315
316
|
minStart: PropTypes.number,
|
|
316
317
|
panning: PropTypes.bool,
|
|
317
318
|
slider: PropTypes.shape({
|
|
318
|
-
enabled: PropTypes.bool
|
|
319
|
+
enabled: PropTypes.bool,
|
|
320
|
+
size: PropTypes.number
|
|
319
321
|
}),
|
|
320
322
|
step: PropTypes.number
|
|
321
323
|
}), PropTypes.bool])
|
|
@@ -378,7 +380,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
378
380
|
minStart: PropTypes.number,
|
|
379
381
|
panning: PropTypes.bool,
|
|
380
382
|
slider: PropTypes.shape({
|
|
381
|
-
enabled: PropTypes.bool
|
|
383
|
+
enabled: PropTypes.bool,
|
|
384
|
+
size: PropTypes.number
|
|
382
385
|
}),
|
|
383
386
|
step: PropTypes.number
|
|
384
387
|
}), PropTypes.bool])
|
|
@@ -436,7 +439,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
436
439
|
minStart: PropTypes.number,
|
|
437
440
|
panning: PropTypes.bool,
|
|
438
441
|
slider: PropTypes.shape({
|
|
439
|
-
enabled: PropTypes.bool
|
|
442
|
+
enabled: PropTypes.bool,
|
|
443
|
+
size: PropTypes.number
|
|
440
444
|
}),
|
|
441
445
|
step: PropTypes.number
|
|
442
446
|
}), PropTypes.bool])
|
|
@@ -494,7 +498,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
494
498
|
minStart: PropTypes.number,
|
|
495
499
|
panning: PropTypes.bool,
|
|
496
500
|
slider: PropTypes.shape({
|
|
497
|
-
enabled: PropTypes.bool
|
|
501
|
+
enabled: PropTypes.bool,
|
|
502
|
+
size: PropTypes.number
|
|
498
503
|
}),
|
|
499
504
|
step: PropTypes.number
|
|
500
505
|
}), PropTypes.bool])
|
|
@@ -552,7 +557,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
552
557
|
minStart: PropTypes.number,
|
|
553
558
|
panning: PropTypes.bool,
|
|
554
559
|
slider: PropTypes.shape({
|
|
555
|
-
enabled: PropTypes.bool
|
|
560
|
+
enabled: PropTypes.bool,
|
|
561
|
+
size: PropTypes.number
|
|
556
562
|
}),
|
|
557
563
|
step: PropTypes.number
|
|
558
564
|
}), PropTypes.bool])
|
|
@@ -610,7 +616,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
610
616
|
minStart: PropTypes.number,
|
|
611
617
|
panning: PropTypes.bool,
|
|
612
618
|
slider: PropTypes.shape({
|
|
613
|
-
enabled: PropTypes.bool
|
|
619
|
+
enabled: PropTypes.bool,
|
|
620
|
+
size: PropTypes.number
|
|
614
621
|
}),
|
|
615
622
|
step: PropTypes.number
|
|
616
623
|
}), PropTypes.bool])
|
|
@@ -668,7 +675,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
668
675
|
minStart: PropTypes.number,
|
|
669
676
|
panning: PropTypes.bool,
|
|
670
677
|
slider: PropTypes.shape({
|
|
671
|
-
enabled: PropTypes.bool
|
|
678
|
+
enabled: PropTypes.bool,
|
|
679
|
+
size: PropTypes.number
|
|
672
680
|
}),
|
|
673
681
|
step: PropTypes.number
|
|
674
682
|
}), PropTypes.bool])
|
|
@@ -726,7 +734,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
726
734
|
minStart: PropTypes.number,
|
|
727
735
|
panning: PropTypes.bool,
|
|
728
736
|
slider: PropTypes.shape({
|
|
729
|
-
enabled: PropTypes.bool
|
|
737
|
+
enabled: PropTypes.bool,
|
|
738
|
+
size: PropTypes.number
|
|
730
739
|
}),
|
|
731
740
|
step: PropTypes.number
|
|
732
741
|
}), PropTypes.bool])
|
|
@@ -796,7 +805,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
796
805
|
minStart: PropTypes.number,
|
|
797
806
|
panning: PropTypes.bool,
|
|
798
807
|
slider: PropTypes.shape({
|
|
799
|
-
enabled: PropTypes.bool
|
|
808
|
+
enabled: PropTypes.bool,
|
|
809
|
+
size: PropTypes.number
|
|
800
810
|
}),
|
|
801
811
|
step: PropTypes.number
|
|
802
812
|
}), PropTypes.bool])
|
|
@@ -858,7 +868,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
858
868
|
minStart: PropTypes.number,
|
|
859
869
|
panning: PropTypes.bool,
|
|
860
870
|
slider: PropTypes.shape({
|
|
861
|
-
enabled: PropTypes.bool
|
|
871
|
+
enabled: PropTypes.bool,
|
|
872
|
+
size: PropTypes.number
|
|
862
873
|
}),
|
|
863
874
|
step: PropTypes.number
|
|
864
875
|
}), PropTypes.bool])
|
|
@@ -915,7 +926,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
915
926
|
minStart: PropTypes.number,
|
|
916
927
|
panning: PropTypes.bool,
|
|
917
928
|
slider: PropTypes.shape({
|
|
918
|
-
enabled: PropTypes.bool
|
|
929
|
+
enabled: PropTypes.bool,
|
|
930
|
+
size: PropTypes.number
|
|
919
931
|
}),
|
|
920
932
|
step: PropTypes.number
|
|
921
933
|
}), PropTypes.bool])
|
|
@@ -972,7 +984,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
972
984
|
minStart: PropTypes.number,
|
|
973
985
|
panning: PropTypes.bool,
|
|
974
986
|
slider: PropTypes.shape({
|
|
975
|
-
enabled: PropTypes.bool
|
|
987
|
+
enabled: PropTypes.bool,
|
|
988
|
+
size: PropTypes.number
|
|
976
989
|
}),
|
|
977
990
|
step: PropTypes.number
|
|
978
991
|
}), PropTypes.bool])
|
|
@@ -1029,7 +1042,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
1029
1042
|
minStart: PropTypes.number,
|
|
1030
1043
|
panning: PropTypes.bool,
|
|
1031
1044
|
slider: PropTypes.shape({
|
|
1032
|
-
enabled: PropTypes.bool
|
|
1045
|
+
enabled: PropTypes.bool,
|
|
1046
|
+
size: PropTypes.number
|
|
1033
1047
|
}),
|
|
1034
1048
|
step: PropTypes.number
|
|
1035
1049
|
}), PropTypes.bool])
|
|
@@ -1086,7 +1100,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
1086
1100
|
minStart: PropTypes.number,
|
|
1087
1101
|
panning: PropTypes.bool,
|
|
1088
1102
|
slider: PropTypes.shape({
|
|
1089
|
-
enabled: PropTypes.bool
|
|
1103
|
+
enabled: PropTypes.bool,
|
|
1104
|
+
size: PropTypes.number
|
|
1090
1105
|
}),
|
|
1091
1106
|
step: PropTypes.number
|
|
1092
1107
|
}), PropTypes.bool])
|
|
@@ -1143,7 +1158,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
1143
1158
|
minStart: PropTypes.number,
|
|
1144
1159
|
panning: PropTypes.bool,
|
|
1145
1160
|
slider: PropTypes.shape({
|
|
1146
|
-
enabled: PropTypes.bool
|
|
1161
|
+
enabled: PropTypes.bool,
|
|
1162
|
+
size: PropTypes.number
|
|
1147
1163
|
}),
|
|
1148
1164
|
step: PropTypes.number
|
|
1149
1165
|
}), PropTypes.bool])
|
|
@@ -1200,7 +1216,8 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
|
|
|
1200
1216
|
minStart: PropTypes.number,
|
|
1201
1217
|
panning: PropTypes.bool,
|
|
1202
1218
|
slider: PropTypes.shape({
|
|
1203
|
-
enabled: PropTypes.bool
|
|
1219
|
+
enabled: PropTypes.bool,
|
|
1220
|
+
size: PropTypes.number
|
|
1204
1221
|
}),
|
|
1205
1222
|
step: PropTypes.number
|
|
1206
1223
|
}), PropTypes.bool])
|
|
@@ -72,13 +72,14 @@ const ScatterChartPro = /*#__PURE__*/React.forwardRef(function ScatterChartPro(i
|
|
|
72
72
|
children: [/*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartZoomSlider, {}), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsx("g", {
|
|
73
73
|
"data-drawing-container": true,
|
|
74
74
|
children: /*#__PURE__*/_jsx(ScatterPlot, _extends({}, scatterPlotProps))
|
|
75
|
-
}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)),
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), children]
|
|
76
|
+
})), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props?.slotProps?.tooltip, {
|
|
77
|
+
trigger: "item"
|
|
78
78
|
}))]
|
|
79
79
|
}))
|
|
80
80
|
}));
|
|
81
81
|
});
|
|
82
|
+
if (process.env.NODE_ENV !== "production") ScatterChartPro.displayName = "ScatterChartPro";
|
|
82
83
|
process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
83
84
|
// ----------------------------- Warning --------------------------------
|
|
84
85
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -309,7 +310,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
309
310
|
minStart: PropTypes.number,
|
|
310
311
|
panning: PropTypes.bool,
|
|
311
312
|
slider: PropTypes.shape({
|
|
312
|
-
enabled: PropTypes.bool
|
|
313
|
+
enabled: PropTypes.bool,
|
|
314
|
+
size: PropTypes.number
|
|
313
315
|
}),
|
|
314
316
|
step: PropTypes.number
|
|
315
317
|
}), PropTypes.bool])
|
|
@@ -372,7 +374,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
372
374
|
minStart: PropTypes.number,
|
|
373
375
|
panning: PropTypes.bool,
|
|
374
376
|
slider: PropTypes.shape({
|
|
375
|
-
enabled: PropTypes.bool
|
|
377
|
+
enabled: PropTypes.bool,
|
|
378
|
+
size: PropTypes.number
|
|
376
379
|
}),
|
|
377
380
|
step: PropTypes.number
|
|
378
381
|
}), PropTypes.bool])
|
|
@@ -430,7 +433,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
430
433
|
minStart: PropTypes.number,
|
|
431
434
|
panning: PropTypes.bool,
|
|
432
435
|
slider: PropTypes.shape({
|
|
433
|
-
enabled: PropTypes.bool
|
|
436
|
+
enabled: PropTypes.bool,
|
|
437
|
+
size: PropTypes.number
|
|
434
438
|
}),
|
|
435
439
|
step: PropTypes.number
|
|
436
440
|
}), PropTypes.bool])
|
|
@@ -488,7 +492,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
488
492
|
minStart: PropTypes.number,
|
|
489
493
|
panning: PropTypes.bool,
|
|
490
494
|
slider: PropTypes.shape({
|
|
491
|
-
enabled: PropTypes.bool
|
|
495
|
+
enabled: PropTypes.bool,
|
|
496
|
+
size: PropTypes.number
|
|
492
497
|
}),
|
|
493
498
|
step: PropTypes.number
|
|
494
499
|
}), PropTypes.bool])
|
|
@@ -546,7 +551,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
546
551
|
minStart: PropTypes.number,
|
|
547
552
|
panning: PropTypes.bool,
|
|
548
553
|
slider: PropTypes.shape({
|
|
549
|
-
enabled: PropTypes.bool
|
|
554
|
+
enabled: PropTypes.bool,
|
|
555
|
+
size: PropTypes.number
|
|
550
556
|
}),
|
|
551
557
|
step: PropTypes.number
|
|
552
558
|
}), PropTypes.bool])
|
|
@@ -604,7 +610,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
604
610
|
minStart: PropTypes.number,
|
|
605
611
|
panning: PropTypes.bool,
|
|
606
612
|
slider: PropTypes.shape({
|
|
607
|
-
enabled: PropTypes.bool
|
|
613
|
+
enabled: PropTypes.bool,
|
|
614
|
+
size: PropTypes.number
|
|
608
615
|
}),
|
|
609
616
|
step: PropTypes.number
|
|
610
617
|
}), PropTypes.bool])
|
|
@@ -662,7 +669,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
662
669
|
minStart: PropTypes.number,
|
|
663
670
|
panning: PropTypes.bool,
|
|
664
671
|
slider: PropTypes.shape({
|
|
665
|
-
enabled: PropTypes.bool
|
|
672
|
+
enabled: PropTypes.bool,
|
|
673
|
+
size: PropTypes.number
|
|
666
674
|
}),
|
|
667
675
|
step: PropTypes.number
|
|
668
676
|
}), PropTypes.bool])
|
|
@@ -720,7 +728,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
720
728
|
minStart: PropTypes.number,
|
|
721
729
|
panning: PropTypes.bool,
|
|
722
730
|
slider: PropTypes.shape({
|
|
723
|
-
enabled: PropTypes.bool
|
|
731
|
+
enabled: PropTypes.bool,
|
|
732
|
+
size: PropTypes.number
|
|
724
733
|
}),
|
|
725
734
|
step: PropTypes.number
|
|
726
735
|
}), PropTypes.bool])
|
|
@@ -790,7 +799,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
790
799
|
minStart: PropTypes.number,
|
|
791
800
|
panning: PropTypes.bool,
|
|
792
801
|
slider: PropTypes.shape({
|
|
793
|
-
enabled: PropTypes.bool
|
|
802
|
+
enabled: PropTypes.bool,
|
|
803
|
+
size: PropTypes.number
|
|
794
804
|
}),
|
|
795
805
|
step: PropTypes.number
|
|
796
806
|
}), PropTypes.bool])
|
|
@@ -852,7 +862,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
852
862
|
minStart: PropTypes.number,
|
|
853
863
|
panning: PropTypes.bool,
|
|
854
864
|
slider: PropTypes.shape({
|
|
855
|
-
enabled: PropTypes.bool
|
|
865
|
+
enabled: PropTypes.bool,
|
|
866
|
+
size: PropTypes.number
|
|
856
867
|
}),
|
|
857
868
|
step: PropTypes.number
|
|
858
869
|
}), PropTypes.bool])
|
|
@@ -909,7 +920,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
909
920
|
minStart: PropTypes.number,
|
|
910
921
|
panning: PropTypes.bool,
|
|
911
922
|
slider: PropTypes.shape({
|
|
912
|
-
enabled: PropTypes.bool
|
|
923
|
+
enabled: PropTypes.bool,
|
|
924
|
+
size: PropTypes.number
|
|
913
925
|
}),
|
|
914
926
|
step: PropTypes.number
|
|
915
927
|
}), PropTypes.bool])
|
|
@@ -966,7 +978,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
966
978
|
minStart: PropTypes.number,
|
|
967
979
|
panning: PropTypes.bool,
|
|
968
980
|
slider: PropTypes.shape({
|
|
969
|
-
enabled: PropTypes.bool
|
|
981
|
+
enabled: PropTypes.bool,
|
|
982
|
+
size: PropTypes.number
|
|
970
983
|
}),
|
|
971
984
|
step: PropTypes.number
|
|
972
985
|
}), PropTypes.bool])
|
|
@@ -1023,7 +1036,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1023
1036
|
minStart: PropTypes.number,
|
|
1024
1037
|
panning: PropTypes.bool,
|
|
1025
1038
|
slider: PropTypes.shape({
|
|
1026
|
-
enabled: PropTypes.bool
|
|
1039
|
+
enabled: PropTypes.bool,
|
|
1040
|
+
size: PropTypes.number
|
|
1027
1041
|
}),
|
|
1028
1042
|
step: PropTypes.number
|
|
1029
1043
|
}), PropTypes.bool])
|
|
@@ -1080,7 +1094,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1080
1094
|
minStart: PropTypes.number,
|
|
1081
1095
|
panning: PropTypes.bool,
|
|
1082
1096
|
slider: PropTypes.shape({
|
|
1083
|
-
enabled: PropTypes.bool
|
|
1097
|
+
enabled: PropTypes.bool,
|
|
1098
|
+
size: PropTypes.number
|
|
1084
1099
|
}),
|
|
1085
1100
|
step: PropTypes.number
|
|
1086
1101
|
}), PropTypes.bool])
|
|
@@ -1137,7 +1152,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1137
1152
|
minStart: PropTypes.number,
|
|
1138
1153
|
panning: PropTypes.bool,
|
|
1139
1154
|
slider: PropTypes.shape({
|
|
1140
|
-
enabled: PropTypes.bool
|
|
1155
|
+
enabled: PropTypes.bool,
|
|
1156
|
+
size: PropTypes.number
|
|
1141
1157
|
}),
|
|
1142
1158
|
step: PropTypes.number
|
|
1143
1159
|
}), PropTypes.bool])
|
|
@@ -1194,7 +1210,8 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
|
1194
1210
|
minStart: PropTypes.number,
|
|
1195
1211
|
panning: PropTypes.bool,
|
|
1196
1212
|
slider: PropTypes.shape({
|
|
1197
|
-
enabled: PropTypes.bool
|
|
1213
|
+
enabled: PropTypes.bool,
|
|
1214
|
+
size: PropTypes.number
|
|
1198
1215
|
}),
|
|
1199
1216
|
step: PropTypes.number
|
|
1200
1217
|
}), PropTypes.bool])
|
package/esm/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { createExportIframe } from "./common.js";
|
|
|
4
4
|
export const getDrawDocument = async () => {
|
|
5
5
|
try {
|
|
6
6
|
const module = await import('rasterizehtml');
|
|
7
|
-
return module.drawDocument;
|
|
7
|
+
return (module.default || module).drawDocument;
|
|
8
8
|
} catch (error) {
|
|
9
9
|
throw new Error(`MUI X Charts: Failed to import 'rasterizehtml' module. This dependency is mandatory when exporting a chart as an image. Make sure you have it installed as a dependency.`, {
|
|
10
10
|
cause: error
|
|
@@ -199,7 +199,7 @@ export const useChartProZoom = ({
|
|
|
199
199
|
const handleDown = event => {
|
|
200
200
|
panningEventCacheRef.current.push(event);
|
|
201
201
|
const point = getSVGPoint(element, event);
|
|
202
|
-
if (!instance.isPointInside(point)) {
|
|
202
|
+
if (!instance.isPointInside(point.x, point.y)) {
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
205
|
// If there is only one pointer, prevent selecting text
|
|
@@ -245,7 +245,7 @@ export const useChartProZoom = ({
|
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
247
247
|
const point = getSVGPoint(element, event);
|
|
248
|
-
if (!instance.isPointInside(point)) {
|
|
248
|
+
if (!instance.isPointInside(point.x, point.y)) {
|
|
249
249
|
return;
|
|
250
250
|
}
|
|
251
251
|
event.preventDefault();
|
package/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var _common = require("./common");
|
|
|
13
13
|
const getDrawDocument = async () => {
|
|
14
14
|
try {
|
|
15
15
|
const module = await Promise.resolve().then(() => (0, _interopRequireWildcard2.default)(require('rasterizehtml')));
|
|
16
|
-
return module.drawDocument;
|
|
16
|
+
return (module.default || module).drawDocument;
|
|
17
17
|
} catch (error) {
|
|
18
18
|
throw new Error(`MUI X Charts: Failed to import 'rasterizehtml' module. This dependency is mandatory when exporting a chart as an image. Make sure you have it installed as a dependency.`, {
|
|
19
19
|
cause: error
|
|
@@ -206,7 +206,7 @@ const useChartProZoom = ({
|
|
|
206
206
|
const handleDown = event => {
|
|
207
207
|
panningEventCacheRef.current.push(event);
|
|
208
208
|
const point = (0, _internals.getSVGPoint)(element, event);
|
|
209
|
-
if (!instance.isPointInside(point)) {
|
|
209
|
+
if (!instance.isPointInside(point.x, point.y)) {
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
212
|
// If there is only one pointer, prevent selecting text
|
|
@@ -252,7 +252,7 @@ const useChartProZoom = ({
|
|
|
252
252
|
return;
|
|
253
253
|
}
|
|
254
254
|
const point = (0, _internals.getSVGPoint)(element, event);
|
|
255
|
-
if (!instance.isPointInside(point)) {
|
|
255
|
+
if (!instance.isPointInside(point.x, point.y)) {
|
|
256
256
|
return;
|
|
257
257
|
}
|
|
258
258
|
event.preventDefault();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-charts-pro",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Pro plan edition of the MUI X Charts components.",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"@mui/utils": "^7.0.2",
|
|
34
34
|
"clsx": "^2.1.1",
|
|
35
35
|
"prop-types": "^15.8.1",
|
|
36
|
-
"@mui/x-internals": "8.
|
|
37
|
-
"@mui/x-
|
|
38
|
-
"@mui/x-
|
|
39
|
-
"@mui/x-charts": "8.
|
|
36
|
+
"@mui/x-internals": "8.4.0",
|
|
37
|
+
"@mui/x-license": "8.4.0",
|
|
38
|
+
"@mui/x-charts": "8.4.0",
|
|
39
|
+
"@mui/x-charts-vendor": "8.4.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@emotion/react": "^11.9.0",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export interface ChartZoomSliderHandleOwnerState {
|
|
3
|
-
onResize: (event: PointerEvent) => void;
|
|
4
|
-
orientation: 'horizontal' | 'vertical';
|
|
5
|
-
placement: 'start' | 'end';
|
|
6
|
-
}
|
|
7
|
-
export interface ChartZoomSliderHandleProps extends Pick<React.ComponentProps<'rect'>, 'x' | 'y' | 'width' | 'height' | 'rx' | 'ry'>, ChartZoomSliderHandleOwnerState {}
|
|
8
|
-
/**
|
|
9
|
-
* Renders the zoom slider handle, which is responsible for resizing the zoom range.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export declare const ChartAxisZoomSliderHandle: React.ForwardRefExoticComponent<ChartZoomSliderHandleProps & React.RefAttributes<SVGRectElement>>;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
Object.defineProperty(exports, "__esModule", {
|
|
7
|
-
value: true
|
|
8
|
-
});
|
|
9
|
-
exports.ChartAxisZoomSliderHandle = void 0;
|
|
10
|
-
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _styles = require("@mui/material/styles");
|
|
12
|
-
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
13
|
-
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
14
|
-
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
15
|
-
var _chartAxisZoomSliderHandleClasses = require("./chartAxisZoomSliderHandleClasses");
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const Rect = (0, _styles.styled)('rect')(({
|
|
18
|
-
theme
|
|
19
|
-
}) => ({
|
|
20
|
-
[`&.${_chartAxisZoomSliderHandleClasses.chartAxisZoomSliderHandleClasses.root}`]: {
|
|
21
|
-
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[300] : (theme.vars || theme).palette.common.white,
|
|
22
|
-
stroke: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[600] : (theme.vars || theme).palette.grey[500]
|
|
23
|
-
},
|
|
24
|
-
[`&.${_chartAxisZoomSliderHandleClasses.chartAxisZoomSliderHandleClasses.horizontal}`]: {
|
|
25
|
-
cursor: 'ew-resize'
|
|
26
|
-
},
|
|
27
|
-
[`&.${_chartAxisZoomSliderHandleClasses.chartAxisZoomSliderHandleClasses.vertical}`]: {
|
|
28
|
-
cursor: 'ns-resize'
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
31
|
-
/**
|
|
32
|
-
* Renders the zoom slider handle, which is responsible for resizing the zoom range.
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
const ChartAxisZoomSliderHandle = exports.ChartAxisZoomSliderHandle = /*#__PURE__*/React.forwardRef(function ChartPreviewHandle({
|
|
36
|
-
x,
|
|
37
|
-
y,
|
|
38
|
-
width,
|
|
39
|
-
height,
|
|
40
|
-
onResize,
|
|
41
|
-
orientation,
|
|
42
|
-
placement,
|
|
43
|
-
rx = 4,
|
|
44
|
-
ry = 4
|
|
45
|
-
}, forwardedRef) {
|
|
46
|
-
const classes = (0, _chartAxisZoomSliderHandleClasses.useUtilityClasses)({
|
|
47
|
-
onResize,
|
|
48
|
-
orientation,
|
|
49
|
-
placement
|
|
50
|
-
});
|
|
51
|
-
const handleRef = React.useRef(null);
|
|
52
|
-
const ref = (0, _useForkRef.default)(handleRef, forwardedRef);
|
|
53
|
-
const onResizeEvent = (0, _useEventCallback.default)(onResize);
|
|
54
|
-
React.useEffect(() => {
|
|
55
|
-
const handle = handleRef.current;
|
|
56
|
-
if (!handle) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const onPointerMove = (0, _rafThrottle.rafThrottle)(event => {
|
|
60
|
-
onResizeEvent(event);
|
|
61
|
-
});
|
|
62
|
-
const onPointerUp = () => {
|
|
63
|
-
handle.removeEventListener('pointermove', onPointerMove);
|
|
64
|
-
handle.removeEventListener('pointerup', onPointerUp);
|
|
65
|
-
};
|
|
66
|
-
const onPointerDown = event => {
|
|
67
|
-
// Prevent text selection when dragging the handle
|
|
68
|
-
event.preventDefault();
|
|
69
|
-
event.stopPropagation();
|
|
70
|
-
handle.setPointerCapture(event.pointerId);
|
|
71
|
-
handle.addEventListener('pointerup', onPointerUp);
|
|
72
|
-
handle.addEventListener('pointermove', onPointerMove);
|
|
73
|
-
};
|
|
74
|
-
handle.addEventListener('pointerdown', onPointerDown);
|
|
75
|
-
|
|
76
|
-
// eslint-disable-next-line consistent-return
|
|
77
|
-
return () => {
|
|
78
|
-
handle.removeEventListener('pointerdown', onPointerDown);
|
|
79
|
-
onPointerMove.clear();
|
|
80
|
-
};
|
|
81
|
-
}, [onResizeEvent, orientation]);
|
|
82
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Rect, {
|
|
83
|
-
className: classes.root,
|
|
84
|
-
ref: ref,
|
|
85
|
-
x: x,
|
|
86
|
-
y: y,
|
|
87
|
-
width: width,
|
|
88
|
-
height: height,
|
|
89
|
-
rx: rx,
|
|
90
|
-
ry: ry
|
|
91
|
-
});
|
|
92
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ChartZoomSliderHandleOwnerState } from "./ChartAxisZoomSliderHandle.js";
|
|
2
|
-
export interface ChartAxisZoomSliderHandleClasses {
|
|
3
|
-
/** Styles applied to the root element. */
|
|
4
|
-
root: string;
|
|
5
|
-
/** Styles applied to the root element when it is horizontal. */
|
|
6
|
-
horizontal: string;
|
|
7
|
-
/** Styles applied to the root element when it is vertical. */
|
|
8
|
-
vertical: string;
|
|
9
|
-
/** Styles applied to the root element when it is a start handle. */
|
|
10
|
-
start: string;
|
|
11
|
-
/** Styles applied to the root element when it is an end handle. */
|
|
12
|
-
end: string;
|
|
13
|
-
}
|
|
14
|
-
export type ChartAxisZoomSliderHandleClassKey = keyof ChartAxisZoomSliderHandleClasses;
|
|
15
|
-
export declare const chartAxisZoomSliderHandleClasses: ChartAxisZoomSliderHandleClasses;
|
|
16
|
-
export declare function getAxisZoomSliderHandleUtilityClass(slot: string): string;
|
|
17
|
-
export declare const useUtilityClasses: (ownerState: ChartZoomSliderHandleOwnerState) => Record<"root", string>;
|