@mui/x-charts 8.0.0-alpha.3 → 8.0.0-alpha.5
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/CHANGELOG.md +377 -0
- package/ChartsAxis/ChartsAxis.js +0 -4
- package/ChartsLabel/ChartsLabel.d.ts +19 -0
- package/ChartsLabel/ChartsLabel.js +58 -0
- package/ChartsLabel/ChartsLabelGradient.d.ts +40 -0
- package/ChartsLabel/ChartsLabelGradient.js +133 -0
- package/ChartsLabel/ChartsLabelMark.d.ts +27 -0
- package/ChartsLabel/ChartsLabelMark.js +108 -0
- package/ChartsLabel/labelClasses.d.ts +9 -0
- package/ChartsLabel/labelClasses.js +13 -0
- package/ChartsLabel/labelGradientClasses.d.ts +15 -0
- package/ChartsLabel/labelGradientClasses.js +17 -0
- package/ChartsLabel/labelMarkClasses.d.ts +17 -0
- package/ChartsLabel/labelMarkClasses.js +17 -0
- package/ChartsLegend/useAxis.js +3 -3
- package/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
- package/ChartsTooltip/ChartsTooltipTable.js +15 -13
- package/ChartsTooltip/chartsTooltipClasses.d.ts +3 -1
- package/ChartsTooltip/chartsTooltipClasses.js +3 -2
- package/ChartsTooltip/useAxisTooltip.js +2 -3
- package/ChartsTooltip/useItemTooltip.js +2 -3
- package/PieChart/PiePlot.js +2 -2
- package/README.md +1 -1
- package/ScatterChart/ScatterPlot.js +2 -2
- package/ScatterChart/extremums.js +1 -3
- package/ScatterChart/formatter.js +3 -3
- package/hooks/useChartId.d.ts +1 -1
- package/hooks/useColorScale.js +2 -3
- package/hooks/useZAxis.d.ts +6 -0
- package/hooks/useZAxis.js +8 -0
- package/index.js +1 -1
- package/internals/consumeThemeProps.d.ts +54 -0
- package/internals/consumeThemeProps.js +79 -0
- package/internals/defaultizeColor.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +6 -6
- package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +3 -3
- package/internals/store/useCharts.js +8 -2
- package/models/seriesType/scatter.d.ts +1 -1
- package/modern/ChartsAxis/ChartsAxis.js +0 -4
- package/modern/ChartsLabel/ChartsLabel.js +58 -0
- package/modern/ChartsLabel/ChartsLabelGradient.js +133 -0
- package/modern/ChartsLabel/ChartsLabelMark.js +108 -0
- package/modern/ChartsLabel/labelClasses.js +13 -0
- package/modern/ChartsLabel/labelGradientClasses.js +17 -0
- package/modern/ChartsLabel/labelMarkClasses.js +17 -0
- package/modern/ChartsLegend/useAxis.js +3 -3
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
- package/modern/ChartsTooltip/ChartsTooltipTable.js +15 -13
- package/modern/ChartsTooltip/chartsTooltipClasses.js +3 -2
- package/modern/ChartsTooltip/useAxisTooltip.js +2 -3
- package/modern/ChartsTooltip/useItemTooltip.js +2 -3
- package/modern/PieChart/PiePlot.js +2 -2
- package/modern/ScatterChart/ScatterPlot.js +2 -2
- package/modern/ScatterChart/extremums.js +1 -3
- package/modern/ScatterChart/formatter.js +3 -3
- package/modern/hooks/useColorScale.js +2 -3
- package/modern/hooks/useZAxis.js +8 -0
- package/modern/index.js +1 -1
- package/modern/internals/consumeThemeProps.js +79 -0
- package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/modern/internals/store/useCharts.js +8 -2
- package/node/ChartsAxis/ChartsAxis.js +0 -4
- package/node/ChartsLabel/ChartsLabel.js +64 -0
- package/node/ChartsLabel/ChartsLabelGradient.js +139 -0
- package/node/ChartsLabel/ChartsLabelMark.js +114 -0
- package/node/ChartsLabel/labelClasses.js +22 -0
- package/node/ChartsLabel/labelGradientClasses.js +26 -0
- package/node/ChartsLabel/labelMarkClasses.js +26 -0
- package/node/ChartsLegend/useAxis.js +2 -4
- package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
- package/node/ChartsTooltip/ChartsTooltipTable.js +15 -13
- package/node/ChartsTooltip/chartsTooltipClasses.js +3 -2
- package/node/ChartsTooltip/useAxisTooltip.js +2 -4
- package/node/ChartsTooltip/useItemTooltip.js +2 -4
- package/node/PieChart/PiePlot.js +2 -2
- package/node/ScatterChart/ScatterPlot.js +2 -2
- package/node/ScatterChart/extremums.js +1 -3
- package/node/ScatterChart/formatter.js +3 -3
- package/node/hooks/useColorScale.js +2 -4
- package/node/hooks/useZAxis.js +15 -0
- package/node/index.js +1 -1
- package/node/internals/consumeThemeProps.js +87 -0
- package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
- package/node/internals/store/useCharts.js +9 -2
- package/package.json +5 -4
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getLabelGradientUtilityClass = getLabelGradientUtilityClass;
|
|
8
|
+
exports.useUtilityClasses = exports.labelGradientClasses = void 0;
|
|
9
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
10
|
+
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
11
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
12
|
+
function getLabelGradientUtilityClass(slot) {
|
|
13
|
+
return (0, _generateUtilityClass.default)('MuiChartsLabelGradient', slot);
|
|
14
|
+
}
|
|
15
|
+
const labelGradientClasses = exports.labelGradientClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelGradient', ['root', 'column', 'row', 'mask']);
|
|
16
|
+
const useUtilityClasses = props => {
|
|
17
|
+
const {
|
|
18
|
+
direction
|
|
19
|
+
} = props;
|
|
20
|
+
const slots = {
|
|
21
|
+
root: ['root', direction],
|
|
22
|
+
mask: ['mask']
|
|
23
|
+
};
|
|
24
|
+
return (0, _composeClasses.default)(slots, getLabelGradientUtilityClass, props.classes);
|
|
25
|
+
};
|
|
26
|
+
exports.useUtilityClasses = useUtilityClasses;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getLabelMarkUtilityClass = getLabelMarkUtilityClass;
|
|
8
|
+
exports.useUtilityClasses = exports.labelMarkClasses = void 0;
|
|
9
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
10
|
+
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
11
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
12
|
+
function getLabelMarkUtilityClass(slot) {
|
|
13
|
+
return (0, _generateUtilityClass.default)('MuiChartsLabelMark', slot);
|
|
14
|
+
}
|
|
15
|
+
const labelMarkClasses = exports.labelMarkClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelMark', ['root', 'line', 'square', 'circle', 'mask']);
|
|
16
|
+
const useUtilityClasses = props => {
|
|
17
|
+
const {
|
|
18
|
+
type
|
|
19
|
+
} = props;
|
|
20
|
+
const slots = {
|
|
21
|
+
root: ['root', type],
|
|
22
|
+
mask: ['mask']
|
|
23
|
+
};
|
|
24
|
+
return (0, _composeClasses.default)(slots, getLabelMarkUtilityClass, props.classes);
|
|
25
|
+
};
|
|
26
|
+
exports.useUtilityClasses = useUtilityClasses;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useAxis = useAxis;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
11
8
|
var _useCartesianContext = require("../context/CartesianProvider/useCartesianContext");
|
|
9
|
+
var _useZAxis = require("../hooks/useZAxis");
|
|
12
10
|
/**
|
|
13
11
|
* Helper to select an axis definition according to its direction and id.
|
|
14
12
|
*/
|
|
@@ -25,7 +23,7 @@ function useAxis({
|
|
|
25
23
|
const {
|
|
26
24
|
zAxis,
|
|
27
25
|
zAxisIds
|
|
28
|
-
} =
|
|
26
|
+
} = (0, _useZAxis.useZAxis)();
|
|
29
27
|
switch (axisDirection) {
|
|
30
28
|
case 'x':
|
|
31
29
|
{
|
|
@@ -21,11 +21,11 @@ function ChartsAxisTooltipContent(props) {
|
|
|
21
21
|
classes: propClasses,
|
|
22
22
|
sx
|
|
23
23
|
} = props;
|
|
24
|
-
const
|
|
24
|
+
const tooltipData = (0, _useAxisTooltip.useAxisTooltip)();
|
|
25
25
|
const xAxis = (0, _hooks.useXAxis)();
|
|
26
26
|
const yAxis = (0, _hooks.useYAxis)();
|
|
27
27
|
const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
|
|
28
|
-
if (
|
|
28
|
+
if (tooltipData === null) {
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
31
|
const {
|
|
@@ -33,7 +33,7 @@ function ChartsAxisTooltipContent(props) {
|
|
|
33
33
|
axisValue,
|
|
34
34
|
axisFormattedValue,
|
|
35
35
|
seriesItems
|
|
36
|
-
} =
|
|
36
|
+
} = tooltipData;
|
|
37
37
|
const axis = axisDirection === 'x' ? xAxis : yAxis;
|
|
38
38
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
|
|
39
39
|
sx: sx,
|
|
@@ -42,8 +42,10 @@ function ChartsAxisTooltipContent(props) {
|
|
|
42
42
|
className: classes.table,
|
|
43
43
|
children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
|
|
44
44
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
|
|
45
|
+
className: classes.row,
|
|
45
46
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
46
47
|
colSpan: 3,
|
|
48
|
+
className: (0, _clsx.default)(classes.cell, classes.axisValueCell),
|
|
47
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
48
50
|
children: axisFormattedValue
|
|
49
51
|
})
|
|
@@ -17,11 +17,10 @@ const ChartsTooltipPaper = exports.ChartsTooltipPaper = (0, _styles.styled)('div
|
|
|
17
17
|
})(({
|
|
18
18
|
theme
|
|
19
19
|
}) => ({
|
|
20
|
-
boxShadow: theme.shadows[1],
|
|
21
20
|
backgroundColor: (theme.vars || theme).palette.background.paper,
|
|
22
21
|
color: (theme.vars || theme).palette.text.primary,
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
borderRadius: theme.shape.borderRadius,
|
|
23
|
+
border: `solid ${(theme.vars || theme).palette.divider} 1px`
|
|
25
24
|
}));
|
|
26
25
|
|
|
27
26
|
/**
|
|
@@ -51,10 +50,10 @@ const ChartsTooltipRow = exports.ChartsTooltipRow = (0, _styles.styled)('tr', {
|
|
|
51
50
|
theme
|
|
52
51
|
}) => ({
|
|
53
52
|
'tr:first-of-type& td': {
|
|
54
|
-
paddingTop: theme.spacing(
|
|
53
|
+
paddingTop: theme.spacing(0.5)
|
|
55
54
|
},
|
|
56
55
|
'tr:last-of-type& td': {
|
|
57
|
-
paddingBottom: theme.spacing(
|
|
56
|
+
paddingBottom: theme.spacing(0.5)
|
|
58
57
|
}
|
|
59
58
|
}));
|
|
60
59
|
|
|
@@ -71,17 +70,23 @@ const ChartsTooltipCell = exports.ChartsTooltipCell = (0, _styles.styled)('td',
|
|
|
71
70
|
verticalAlign: 'middle',
|
|
72
71
|
color: (theme.vars || theme).palette.text.secondary,
|
|
73
72
|
[`&.${_chartsTooltipClasses.chartsTooltipClasses.labelCell}`]: {
|
|
74
|
-
paddingLeft: theme.spacing(1)
|
|
73
|
+
paddingLeft: theme.spacing(1),
|
|
74
|
+
paddingRight: theme.spacing(1.5),
|
|
75
|
+
fontWeight: theme.typography.fontWeightRegular
|
|
76
|
+
},
|
|
77
|
+
[`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}, &.${_chartsTooltipClasses.chartsTooltipClasses.axisValueCell}`]: {
|
|
78
|
+
color: (theme.vars || theme).palette.text.primary,
|
|
79
|
+
fontWeight: theme.typography.fontWeightMedium
|
|
75
80
|
},
|
|
76
81
|
[`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}`]: {
|
|
77
|
-
paddingLeft: theme.spacing(
|
|
78
|
-
|
|
82
|
+
paddingLeft: theme.spacing(1.5),
|
|
83
|
+
paddingRight: theme.spacing(1.5)
|
|
79
84
|
},
|
|
80
85
|
'td:first-of-type&': {
|
|
81
|
-
paddingLeft: theme.spacing(
|
|
86
|
+
paddingLeft: theme.spacing(1.5)
|
|
82
87
|
},
|
|
83
88
|
'td:last-of-type&': {
|
|
84
|
-
paddingRight: theme.spacing(
|
|
89
|
+
paddingRight: theme.spacing(1.5)
|
|
85
90
|
}
|
|
86
91
|
}));
|
|
87
92
|
|
|
@@ -100,9 +105,6 @@ const ChartsTooltipMark = exports.ChartsTooltipMark = (0, _styles.styled)('div',
|
|
|
100
105
|
width: theme.spacing(1),
|
|
101
106
|
height: theme.spacing(1),
|
|
102
107
|
borderRadius: '50%',
|
|
103
|
-
boxShadow: theme.shadows[1],
|
|
104
108
|
background: color,
|
|
105
|
-
borderColor: (theme.vars || theme).palette.background.paper,
|
|
106
|
-
border: `solid ${(theme.vars || theme).palette.background.paper} ${theme.spacing(0.25)}`,
|
|
107
109
|
boxSizing: 'content-box'
|
|
108
110
|
}));
|
|
@@ -13,7 +13,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
13
13
|
function getChartsTooltipUtilityClass(slot) {
|
|
14
14
|
return (0, _generateUtilityClass.default)('MuiChartsTooltip', slot);
|
|
15
15
|
}
|
|
16
|
-
const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
|
|
16
|
+
const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell', 'axisValueCell']);
|
|
17
17
|
const useUtilityClasses = classes => {
|
|
18
18
|
const slots = {
|
|
19
19
|
root: ['root'],
|
|
@@ -24,7 +24,8 @@ const useUtilityClasses = classes => {
|
|
|
24
24
|
mark: ['mark'],
|
|
25
25
|
markCell: ['markCell'],
|
|
26
26
|
labelCell: ['labelCell'],
|
|
27
|
-
valueCell: ['valueCell']
|
|
27
|
+
valueCell: ['valueCell'],
|
|
28
|
+
axisValueCell: ['axisValueCell']
|
|
28
29
|
};
|
|
29
30
|
return (0, _composeClasses.default)(slots, getChartsTooltipUtilityClass, classes);
|
|
30
31
|
};
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useAxisTooltip = useAxisTooltip;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
8
|
var _useSeries = require("../hooks/useSeries");
|
|
11
9
|
var _CartesianProvider = require("../context/CartesianProvider");
|
|
12
|
-
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
13
10
|
var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
|
|
14
11
|
var _useStore = require("../internals/store/useStore");
|
|
15
12
|
var _useSelector = require("../internals/store/useSelector");
|
|
@@ -17,6 +14,7 @@ var _getLabel = require("../internals/getLabel");
|
|
|
17
14
|
var _isCartesian = require("../internals/isCartesian");
|
|
18
15
|
var _utils = require("./utils");
|
|
19
16
|
var _useAxis = require("../hooks/useAxis");
|
|
17
|
+
var _useZAxis = require("../hooks/useZAxis");
|
|
20
18
|
var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
|
|
21
19
|
function useAxisTooltip() {
|
|
22
20
|
const defaultXAxis = (0, _useAxis.useXAxis)();
|
|
@@ -32,7 +30,7 @@ function useAxisTooltip() {
|
|
|
32
30
|
const {
|
|
33
31
|
zAxis,
|
|
34
32
|
zAxisIds
|
|
35
|
-
} =
|
|
33
|
+
} = (0, _useZAxis.useZAxis)();
|
|
36
34
|
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
37
35
|
if (axisData === null) {
|
|
38
36
|
return null;
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
5
|
Object.defineProperty(exports, "__esModule", {
|
|
7
6
|
value: true
|
|
8
7
|
});
|
|
9
8
|
exports.useItemTooltip = useItemTooltip;
|
|
10
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
var React = _interopRequireWildcard(require("react"));
|
|
12
10
|
var _useSeries = require("../hooks/useSeries");
|
|
13
11
|
var _CartesianProvider = require("../context/CartesianProvider");
|
|
14
|
-
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
15
12
|
var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
|
|
16
13
|
var _getLabel = require("../internals/getLabel");
|
|
17
14
|
var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
|
|
18
15
|
var _useSelector = require("../internals/store/useSelector");
|
|
19
16
|
var _useStore = require("../internals/store/useStore");
|
|
17
|
+
var _useZAxis = require("../hooks/useZAxis");
|
|
20
18
|
function useItemTooltip() {
|
|
21
19
|
const store = (0, _useStore.useStore)();
|
|
22
20
|
const item = (0, _useSelector.useSelector)(store, _useChartInteraction.selectorChartsInteractionItem);
|
|
@@ -30,7 +28,7 @@ function useItemTooltip() {
|
|
|
30
28
|
const {
|
|
31
29
|
zAxis,
|
|
32
30
|
zAxisIds
|
|
33
|
-
} =
|
|
31
|
+
} = (0, _useZAxis.useZAxis)();
|
|
34
32
|
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
35
33
|
const xAxisId = series.xAxisId ?? xAxisIds[0];
|
|
36
34
|
const yAxisId = series.yAxisId ?? yAxisIds[0];
|
package/node/PieChart/PiePlot.js
CHANGED
|
@@ -9,13 +9,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.PiePlot = PiePlot;
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
|
|
13
12
|
var _PieArcPlot = require("./PieArcPlot");
|
|
14
13
|
var _PieArcLabelPlot = require("./PieArcLabelPlot");
|
|
15
14
|
var _getPercentageValue = require("../internals/getPercentageValue");
|
|
16
15
|
var _getPieCoordinates = require("./getPieCoordinates");
|
|
17
16
|
var _useSeries = require("../hooks/useSeries");
|
|
18
17
|
var _AnimationProvider = require("../context/AnimationProvider");
|
|
18
|
+
var _hooks = require("../hooks");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
20
|
/**
|
|
21
21
|
* Demos:
|
|
@@ -40,7 +40,7 @@ function PiePlot(props) {
|
|
|
40
40
|
top,
|
|
41
41
|
width,
|
|
42
42
|
height
|
|
43
|
-
} =
|
|
43
|
+
} = (0, _hooks.useDrawingArea)();
|
|
44
44
|
const skipAnimation = (0, _AnimationProvider.useSkipAnimation)(inSkipAnimation);
|
|
45
45
|
if (seriesData === undefined) {
|
|
46
46
|
return null;
|
|
@@ -13,8 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _Scatter = require("./Scatter");
|
|
14
14
|
var _CartesianProvider = require("../context/CartesianProvider");
|
|
15
15
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
16
|
-
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
17
16
|
var _useSeries = require("../hooks/useSeries");
|
|
17
|
+
var _useZAxis = require("../hooks/useZAxis");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
/**
|
|
20
20
|
* Demos:
|
|
@@ -37,7 +37,7 @@ function ScatterPlot(props) {
|
|
|
37
37
|
const {
|
|
38
38
|
zAxis,
|
|
39
39
|
zAxisIds
|
|
40
|
-
} =
|
|
40
|
+
} = (0, _useZAxis.useZAxis)();
|
|
41
41
|
if (seriesData === undefined) {
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getExtremumY = exports.getExtremumX = void 0;
|
|
7
|
-
const mergeMinMax = (acc, val) =>
|
|
8
|
-
return [Math.min(acc[0], val[0]), Math.max(acc[1], val[1])];
|
|
9
|
-
};
|
|
7
|
+
const mergeMinMax = (acc, val) => [val[0] === null ? acc[0] : Math.min(acc[0], val[0]), val[1] === null ? acc[1] : Math.max(acc[1], val[1])];
|
|
10
8
|
const getExtremumX = params => {
|
|
11
9
|
const {
|
|
12
10
|
series,
|
|
@@ -18,15 +18,15 @@ const formatter = ({
|
|
|
18
18
|
}
|
|
19
19
|
const data = !datasetKeys ? seriesData.data ?? [] : dataset?.map(d => {
|
|
20
20
|
return {
|
|
21
|
-
x: d[datasetKeys.x],
|
|
22
|
-
y: d[datasetKeys.y],
|
|
21
|
+
x: d[datasetKeys.x] ?? null,
|
|
22
|
+
y: d[datasetKeys.y] ?? null,
|
|
23
23
|
z: datasetKeys.z && d[datasetKeys.z],
|
|
24
24
|
id: d[datasetKeys.id]
|
|
25
25
|
};
|
|
26
26
|
}) ?? [];
|
|
27
27
|
return [seriesId, (0, _extends2.default)({}, seriesData, {
|
|
28
28
|
data,
|
|
29
|
-
valueFormatter: seriesData.valueFormatter ?? (v => `(${v.x}, ${v.y})`)
|
|
29
|
+
valueFormatter: seriesData.valueFormatter ?? (v => v && `(${v.x}, ${v.y})`)
|
|
30
30
|
})];
|
|
31
31
|
}));
|
|
32
32
|
return {
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useXColorScale = useXColorScale;
|
|
9
8
|
exports.useYColorScale = useYColorScale;
|
|
10
9
|
exports.useZColorScale = useZColorScale;
|
|
11
|
-
var React = _interopRequireWildcard(require("react"));
|
|
12
10
|
var _CartesianProvider = require("../context/CartesianProvider");
|
|
13
|
-
var
|
|
11
|
+
var _useZAxis = require("./useZAxis");
|
|
14
12
|
function useXColorScale(identifier) {
|
|
15
13
|
const {
|
|
16
14
|
xAxis,
|
|
@@ -31,7 +29,7 @@ function useZColorScale(identifier) {
|
|
|
31
29
|
const {
|
|
32
30
|
zAxis,
|
|
33
31
|
zAxisIds
|
|
34
|
-
} =
|
|
32
|
+
} = (0, _useZAxis.useZAxis)();
|
|
35
33
|
const id = typeof identifier === 'string' ? identifier : zAxisIds[identifier ?? 0];
|
|
36
34
|
return zAxis[id]?.colorScale;
|
|
37
35
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useZAxis = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
|
|
11
|
+
const useZAxis = () => {
|
|
12
|
+
const data = React.useContext(_ZAxisContextProvider.ZAxisContext);
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
exports.useZAxis = useZAxis;
|
package/node/index.js
CHANGED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.consumeThemeProps = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
var _resolveProps = _interopRequireDefault(require("@mui/utils/resolveProps"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var ReactIs = _interopRequireWildcard(require("react-is"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
/**
|
|
16
|
+
* A higher order component that consumes and merges the theme `defaultProps` and handles the `classes` and renders the component.
|
|
17
|
+
*
|
|
18
|
+
* This HOC will wrap a single component.
|
|
19
|
+
* If you need to render multiple components, you can manually consume the theme and render them in your component instead of using this HOC.
|
|
20
|
+
*
|
|
21
|
+
* In the example below, `MyComponent` will render the `DefaultComponent` with the `direction` prop set to `'row'` and the className set to `'my-custom-root'`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* createTheme({
|
|
26
|
+
* components: {
|
|
27
|
+
* MuiMyComponent: {
|
|
28
|
+
* defaultProps: {
|
|
29
|
+
* direction: 'row',
|
|
30
|
+
* },
|
|
31
|
+
* },
|
|
32
|
+
* },
|
|
33
|
+
* })
|
|
34
|
+
*
|
|
35
|
+
* type MyComponentProps = {
|
|
36
|
+
* direction: 'row' | 'column';
|
|
37
|
+
* classes?: Record<'root', string>;
|
|
38
|
+
* };
|
|
39
|
+
*
|
|
40
|
+
* const MyComponent = consumeThemeProps(
|
|
41
|
+
* 'MuiMyComponent',
|
|
42
|
+
* function DefaultComponent(props: MyComponentProps) {
|
|
43
|
+
* return (
|
|
44
|
+
* <div className={props.classes.root}>
|
|
45
|
+
* {props.direction}
|
|
46
|
+
* </div>
|
|
47
|
+
* );
|
|
48
|
+
* }
|
|
49
|
+
* );
|
|
50
|
+
*
|
|
51
|
+
* render(<MyComponent classes={{ root: 'my-custom-root' }} />);
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @param {string} name The mui component name.
|
|
55
|
+
* @param {object} options Options for the HOC.
|
|
56
|
+
* @param {Record<string, any>} options.defaultProps A set of defaults for the component, will be deep merged with the props.
|
|
57
|
+
* @param {Function} options.classesResolver A function that returns the classes for the component. It receives the props, after theme props and defaults have been applied. And the theme object as the second argument.
|
|
58
|
+
* @param InComponent The component to render if the slot is not provided.
|
|
59
|
+
*/
|
|
60
|
+
const consumeThemeProps = (name, options, InComponent) => {
|
|
61
|
+
function InternalComponent(props, ref) {
|
|
62
|
+
const themedProps = (0, _styles.useThemeProps)({
|
|
63
|
+
props,
|
|
64
|
+
// eslint-disable-next-line material-ui/mui-name-matches-component-name
|
|
65
|
+
name
|
|
66
|
+
});
|
|
67
|
+
const defaultProps = typeof options.defaultProps === 'function' ? options.defaultProps(themedProps) : options.defaultProps ?? {};
|
|
68
|
+
const outProps = (0, _resolveProps.default)(defaultProps, themedProps);
|
|
69
|
+
const theme = (0, _styles.useTheme)();
|
|
70
|
+
const classes = options.classesResolver?.(outProps, theme);
|
|
71
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
72
|
+
// eslint-disable-next-line react-compiler/react-compiler
|
|
73
|
+
InComponent.displayName = name;
|
|
74
|
+
}
|
|
75
|
+
const OutComponent = ReactIs.isForwardRef(InComponent) ? InComponent :
|
|
76
|
+
/*#__PURE__*/
|
|
77
|
+
// InComponent needs to be a function that accepts `(props, ref)`
|
|
78
|
+
// @ts-expect-error
|
|
79
|
+
React.forwardRef(InComponent);
|
|
80
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(OutComponent, (0, _extends2.default)({}, outProps, {
|
|
81
|
+
classes: classes,
|
|
82
|
+
ref: ref
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
return /*#__PURE__*/React.forwardRef(InternalComponent);
|
|
86
|
+
};
|
|
87
|
+
exports.consumeThemeProps = consumeThemeProps;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -7,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
8
|
exports.useChartApiInitialization = useChartApiInitialization;
|
|
8
9
|
exports.useCharts = useCharts;
|
|
9
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
10
12
|
var _ChartStore = require("../plugins/utils/ChartStore");
|
|
11
13
|
var _corePlugins = require("../plugins/corePlugins");
|
|
12
14
|
function useChartApiInitialization(inputApiRef) {
|
|
@@ -23,7 +25,10 @@ function useChartApiInitialization(inputApiRef) {
|
|
|
23
25
|
let globalId = 0;
|
|
24
26
|
function useCharts(inPlugins, props) {
|
|
25
27
|
const plugins = React.useMemo(() => [..._corePlugins.CHART_CORE_PLUGINS, ...inPlugins], [inPlugins]);
|
|
26
|
-
const
|
|
28
|
+
const defaultChartId = (0, _useId.default)();
|
|
29
|
+
const pluginParams = {
|
|
30
|
+
id: defaultChartId
|
|
31
|
+
}; // To generate when plugins use params.
|
|
27
32
|
const instanceRef = React.useRef({});
|
|
28
33
|
const instance = instanceRef.current;
|
|
29
34
|
const publicAPI = useChartApiInitialization(props.apiRef);
|
|
@@ -47,7 +52,9 @@ function useCharts(inPlugins, props) {
|
|
|
47
52
|
};
|
|
48
53
|
plugins.forEach(plugin => {
|
|
49
54
|
if (plugin.getInitialState) {
|
|
50
|
-
Object.assign(initialState, plugin.getInitialState({
|
|
55
|
+
Object.assign(initialState, plugin.getInitialState({
|
|
56
|
+
id: defaultChartId
|
|
57
|
+
}));
|
|
51
58
|
}
|
|
52
59
|
});
|
|
53
60
|
storeRef.current = new _ChartStore.ChartStore(initialState);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-charts",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.5",
|
|
4
4
|
"description": "The community edition of the Charts components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -35,10 +35,11 @@
|
|
|
35
35
|
"@react-spring/web": "^9.7.5",
|
|
36
36
|
"clsx": "^2.1.1",
|
|
37
37
|
"prop-types": "^15.8.1",
|
|
38
|
+
"react-is": "^18.3.1",
|
|
38
39
|
"reselect": "^5.1.1",
|
|
39
|
-
"use-sync-external-store": "^1.
|
|
40
|
-
"@mui/x-charts-vendor": "8.0.0-alpha.
|
|
41
|
-
"@mui/x-internals": "8.0.0-alpha.
|
|
40
|
+
"use-sync-external-store": "^1.4.0",
|
|
41
|
+
"@mui/x-charts-vendor": "8.0.0-alpha.4",
|
|
42
|
+
"@mui/x-internals": "8.0.0-alpha.5"
|
|
42
43
|
},
|
|
43
44
|
"peerDependencies": {
|
|
44
45
|
"@emotion/react": "^11.9.0",
|