@mui/x-charts 6.18.1 → 6.18.3
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/BarChart/BarElement.d.ts +5 -1
- package/BarChart/BarElement.js +24 -1
- package/BarChart/index.d.ts +3 -2
- package/BarChart/index.js +31 -12
- package/CHANGELOG.md +112 -0
- package/ChartsLegend/index.d.ts +1 -0
- package/ChartsLegend/index.js +11 -0
- package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +6 -3
- package/ChartsTooltip/ChartsAxisTooltipContent.js +93 -69
- package/ChartsTooltip/ChartsItemTooltipContent.d.ts +6 -3
- package/ChartsTooltip/ChartsItemTooltipContent.js +38 -53
- package/ChartsTooltip/ChartsTooltip.d.ts +1 -1
- package/ChartsTooltip/ChartsTooltip.js +13 -5
- package/ChartsTooltip/ChartsTooltipTable.js +3 -3
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +7 -0
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +174 -0
- package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +8 -0
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +99 -0
- package/ChartsTooltip/chartsTooltipClasses.d.ts +21 -0
- package/ChartsTooltip/chartsTooltipClasses.js +12 -0
- package/ChartsTooltip/index.d.ts +5 -0
- package/ChartsTooltip/index.js +55 -0
- package/ChartsTooltip/utils.d.ts +1 -1
- package/ChartsTooltip/utils.js +2 -2
- package/ChartsYAxis/ChartsYAxis.js +6 -4
- package/LineChart/extremums.js +25 -8
- package/LineChart/index.d.ts +5 -5
- package/LineChart/index.js +50 -41
- package/PieChart/PieArc.d.ts +5 -2
- package/PieChart/PieArc.js +17 -2
- package/PieChart/PieArcLabel.d.ts +1 -1
- package/PieChart/PieArcLabel.js +5 -10
- package/PieChart/PieArcLabelPlot.d.ts +5 -1
- package/PieChart/PieArcLabelPlot.js +91 -3
- package/PieChart/PieArcPlot.d.ts +5 -1
- package/PieChart/PieArcPlot.js +90 -3
- package/PieChart/index.d.ts +4 -2
- package/PieChart/index.js +42 -18
- package/ScatterChart/Scatter.js +1 -1
- package/ScatterChart/index.d.ts +3 -3
- package/ScatterChart/index.js +31 -19
- package/esm/BarChart/BarElement.js +26 -2
- package/esm/BarChart/index.js +3 -2
- package/esm/ChartsLegend/index.js +2 -1
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +95 -71
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +40 -54
- package/esm/ChartsTooltip/ChartsTooltip.js +15 -7
- package/esm/ChartsTooltip/ChartsTooltipTable.js +3 -3
- package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +168 -0
- package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
- package/esm/ChartsTooltip/chartsTooltipClasses.js +5 -0
- package/esm/ChartsTooltip/index.js +6 -1
- package/esm/ChartsTooltip/utils.js +1 -1
- package/esm/ChartsYAxis/ChartsYAxis.js +6 -4
- package/esm/LineChart/extremums.js +25 -8
- package/esm/LineChart/index.js +5 -5
- package/esm/PieChart/PieArc.js +18 -2
- package/esm/PieChart/PieArcLabel.js +7 -11
- package/esm/PieChart/PieArcLabelPlot.js +92 -3
- package/esm/PieChart/PieArcPlot.js +91 -3
- package/esm/PieChart/index.js +4 -2
- package/esm/ScatterChart/Scatter.js +1 -1
- package/esm/ScatterChart/index.js +3 -3
- package/esm/internals/defaultizeValueFormatter.js +4 -3
- package/index.js +1 -1
- package/internals/defaultizeValueFormatter.d.ts +3 -1
- package/internals/defaultizeValueFormatter.js +3 -3
- package/legacy/BarChart/BarElement.js +26 -2
- package/legacy/BarChart/index.js +3 -2
- package/legacy/ChartsLegend/index.js +2 -1
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +95 -70
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +40 -51
- package/legacy/ChartsTooltip/ChartsTooltip.js +20 -12
- package/legacy/ChartsTooltip/ChartsTooltipTable.js +3 -3
- package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
- package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +89 -0
- package/legacy/ChartsTooltip/chartsTooltipClasses.js +5 -0
- package/legacy/ChartsTooltip/index.js +6 -1
- package/legacy/ChartsTooltip/utils.js +1 -1
- package/legacy/ChartsYAxis/ChartsYAxis.js +6 -4
- package/legacy/LineChart/extremums.js +29 -14
- package/legacy/LineChart/index.js +5 -5
- package/legacy/PieChart/PieArc.js +18 -2
- package/legacy/PieChart/PieArcLabel.js +7 -11
- package/legacy/PieChart/PieArcLabelPlot.js +92 -3
- package/legacy/PieChart/PieArcPlot.js +91 -3
- package/legacy/PieChart/index.js +4 -2
- package/legacy/ScatterChart/Scatter.js +1 -1
- package/legacy/ScatterChart/index.js +3 -3
- package/legacy/index.js +1 -1
- package/legacy/internals/defaultizeValueFormatter.js +4 -3
- package/models/seriesType/config.d.ts +5 -1
- package/models/seriesType/scatter.d.ts +1 -1
- package/modern/BarChart/BarElement.js +26 -2
- package/modern/BarChart/index.js +3 -2
- package/modern/ChartsLegend/index.js +2 -1
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +95 -70
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +40 -54
- package/modern/ChartsTooltip/ChartsTooltip.js +15 -7
- package/modern/ChartsTooltip/ChartsTooltipTable.js +3 -3
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
- package/modern/ChartsTooltip/chartsTooltipClasses.js +5 -0
- package/modern/ChartsTooltip/index.js +6 -1
- package/modern/ChartsTooltip/utils.js +1 -1
- package/modern/ChartsYAxis/ChartsYAxis.js +6 -4
- package/modern/LineChart/extremums.js +25 -8
- package/modern/LineChart/index.js +5 -5
- package/modern/PieChart/PieArc.js +18 -2
- package/modern/PieChart/PieArcLabel.js +7 -11
- package/modern/PieChart/PieArcLabelPlot.js +92 -3
- package/modern/PieChart/PieArcPlot.js +91 -3
- package/modern/PieChart/index.js +4 -2
- package/modern/ScatterChart/Scatter.js +1 -1
- package/modern/ScatterChart/index.js +3 -3
- package/modern/index.js +1 -1
- package/modern/internals/defaultizeValueFormatter.js +3 -3
- package/package.json +1 -1
- package/themeAugmentation/components.d.ts +1 -0
- package/themeAugmentation/overrides.d.ts +2 -0
- package/ChartsTooltip/tooltipClasses.d.ts +0 -13
- package/ChartsTooltip/tooltipClasses.js +0 -12
- package/esm/ChartsTooltip/tooltipClasses.js +0 -5
- package/legacy/ChartsTooltip/tooltipClasses.js +0 -5
- package/modern/ChartsTooltip/tooltipClasses.js +0 -5
|
@@ -17,7 +17,7 @@ var _InteractionProvider = require("../context/InteractionProvider");
|
|
|
17
17
|
var _utils2 = require("./utils");
|
|
18
18
|
var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
|
|
19
19
|
var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
|
|
20
|
-
var
|
|
20
|
+
var _chartsTooltipClasses = require("./chartsTooltipClasses");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -27,11 +27,15 @@ const useUtilityClasses = ownerState => {
|
|
|
27
27
|
} = ownerState;
|
|
28
28
|
const slots = {
|
|
29
29
|
root: ['root'],
|
|
30
|
+
table: ['table'],
|
|
31
|
+
row: ['row'],
|
|
32
|
+
cell: ['cell'],
|
|
33
|
+
mark: ['mark'],
|
|
30
34
|
markCell: ['markCell'],
|
|
31
35
|
labelCell: ['labelCell'],
|
|
32
36
|
valueCell: ['valueCell']
|
|
33
37
|
};
|
|
34
|
-
return (0, _composeClasses.default)(slots,
|
|
38
|
+
return (0, _composeClasses.default)(slots, _chartsTooltipClasses.getChartsTooltipUtilityClass, classes);
|
|
35
39
|
};
|
|
36
40
|
const ChartsTooltipRoot = (0, _styles.styled)(_Popper.Popper, {
|
|
37
41
|
name: 'MuiChartsTooltip',
|
|
@@ -54,23 +58,27 @@ const ChartsTooltipRoot = (0, _styles.styled)(_Popper.Popper, {
|
|
|
54
58
|
* - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
|
|
55
59
|
*/
|
|
56
60
|
function ChartsTooltip(props) {
|
|
61
|
+
const themeProps = (0, _styles.useThemeProps)({
|
|
62
|
+
props,
|
|
63
|
+
name: 'MuiChartsTooltip'
|
|
64
|
+
});
|
|
57
65
|
const {
|
|
58
66
|
trigger = 'axis',
|
|
59
67
|
itemContent,
|
|
60
68
|
axisContent,
|
|
61
69
|
slots,
|
|
62
70
|
slotProps
|
|
63
|
-
} =
|
|
71
|
+
} = themeProps;
|
|
64
72
|
const mousePosition = (0, _utils2.useMouseTracker)();
|
|
65
73
|
const {
|
|
66
74
|
item,
|
|
67
75
|
axis
|
|
68
76
|
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
69
77
|
const displayedData = trigger === 'item' ? item : axis;
|
|
70
|
-
const tooltipHasData = (0, _utils2.
|
|
78
|
+
const tooltipHasData = (0, _utils2.getTooltipHasData)(trigger, displayedData);
|
|
71
79
|
const popperOpen = mousePosition !== null && tooltipHasData;
|
|
72
80
|
const classes = useUtilityClasses({
|
|
73
|
-
classes:
|
|
81
|
+
classes: themeProps.classes
|
|
74
82
|
});
|
|
75
83
|
const PopperComponent = slots?.popper ?? ChartsTooltipRoot;
|
|
76
84
|
const popperProps = (0, _utils.useSlotProps)({
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ChartsTooltipTable = exports.ChartsTooltipRow = exports.ChartsTooltipPaper = exports.ChartsTooltipMark = exports.ChartsTooltipCell = void 0;
|
|
8
8
|
var _Box = _interopRequireDefault(require("@mui/system/Box"));
|
|
9
9
|
var _styles = require("@mui/material/styles");
|
|
10
|
-
var
|
|
10
|
+
var _chartsTooltipClasses = require("./chartsTooltipClasses");
|
|
11
11
|
const ChartsTooltipPaper = exports.ChartsTooltipPaper = (0, _styles.styled)('div', {
|
|
12
12
|
name: 'MuiChartsTooltip',
|
|
13
13
|
slot: 'Container'
|
|
@@ -52,10 +52,10 @@ const ChartsTooltipCell = exports.ChartsTooltipCell = (0, _styles.styled)('td',
|
|
|
52
52
|
}) => ({
|
|
53
53
|
verticalAlign: 'middle',
|
|
54
54
|
color: (theme.vars || theme).palette.text.secondary,
|
|
55
|
-
[`&.${
|
|
55
|
+
[`&.${_chartsTooltipClasses.chartsTooltipClasses.labelCell}`]: {
|
|
56
56
|
paddingLeft: theme.spacing(1)
|
|
57
57
|
},
|
|
58
|
-
[`&.${
|
|
58
|
+
[`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}`]: {
|
|
59
59
|
paddingLeft: theme.spacing(4),
|
|
60
60
|
color: (theme.vars || theme).palette.text.primary
|
|
61
61
|
},
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { ChartsAxisContentProps } from './ChartsAxisTooltipContent';
|
|
3
|
+
declare function DefaultChartsAxisTooltipContent(props: ChartsAxisContentProps): React.JSX.Element | null;
|
|
4
|
+
declare namespace DefaultChartsAxisTooltipContent {
|
|
5
|
+
var propTypes: any;
|
|
6
|
+
}
|
|
7
|
+
export { DefaultChartsAxisTooltipContent };
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DefaultChartsAxisTooltipContent = DefaultChartsAxisTooltipContent;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
12
|
+
var _ChartsTooltipTable = require("./ChartsTooltipTable");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function DefaultChartsAxisTooltipContent(props) {
|
|
17
|
+
const {
|
|
18
|
+
series,
|
|
19
|
+
axis,
|
|
20
|
+
dataIndex,
|
|
21
|
+
axisValue,
|
|
22
|
+
sx,
|
|
23
|
+
classes
|
|
24
|
+
} = props;
|
|
25
|
+
if (dataIndex == null) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
|
|
29
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
|
|
30
|
+
sx: sx,
|
|
31
|
+
className: classes.root,
|
|
32
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipTable, {
|
|
33
|
+
className: classes.table,
|
|
34
|
+
children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
|
|
35
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
|
|
36
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
37
|
+
colSpan: 3,
|
|
38
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
39
|
+
children: axisFormatter(axisValue)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
|
|
44
|
+
children: series.map(({
|
|
45
|
+
color,
|
|
46
|
+
id,
|
|
47
|
+
label,
|
|
48
|
+
valueFormatter,
|
|
49
|
+
data
|
|
50
|
+
}) => {
|
|
51
|
+
const formattedValue = valueFormatter(data[dataIndex]);
|
|
52
|
+
if (formattedValue == null) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
|
|
56
|
+
className: classes.row,
|
|
57
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
58
|
+
className: (0, _clsx.default)(classes.markCell, classes.cell),
|
|
59
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
|
|
60
|
+
ownerState: {
|
|
61
|
+
color
|
|
62
|
+
},
|
|
63
|
+
boxShadow: 1,
|
|
64
|
+
className: classes.mark
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
67
|
+
className: (0, _clsx.default)(classes.labelCell, classes.cell),
|
|
68
|
+
children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
69
|
+
children: label
|
|
70
|
+
}) : null
|
|
71
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
72
|
+
className: (0, _clsx.default)(classes.valueCell, classes.cell),
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
74
|
+
children: formattedValue
|
|
75
|
+
})
|
|
76
|
+
})]
|
|
77
|
+
}, id);
|
|
78
|
+
})
|
|
79
|
+
})]
|
|
80
|
+
})
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propTypes = {
|
|
84
|
+
// ----------------------------- Warning --------------------------------
|
|
85
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
86
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
87
|
+
// ----------------------------------------------------------------------
|
|
88
|
+
/**
|
|
89
|
+
* The properties of the triggered axis.
|
|
90
|
+
*/
|
|
91
|
+
axis: _propTypes.default.shape({
|
|
92
|
+
axisId: _propTypes.default.string,
|
|
93
|
+
classes: _propTypes.default.object,
|
|
94
|
+
data: _propTypes.default.array,
|
|
95
|
+
dataKey: _propTypes.default.string,
|
|
96
|
+
disableLine: _propTypes.default.bool,
|
|
97
|
+
disableTicks: _propTypes.default.bool,
|
|
98
|
+
fill: _propTypes.default.string,
|
|
99
|
+
hideTooltip: _propTypes.default.bool,
|
|
100
|
+
id: _propTypes.default.string.isRequired,
|
|
101
|
+
label: _propTypes.default.string,
|
|
102
|
+
labelFontSize: _propTypes.default.number,
|
|
103
|
+
labelStyle: _propTypes.default.object,
|
|
104
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
105
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
106
|
+
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
107
|
+
scale: _propTypes.default.func.isRequired,
|
|
108
|
+
scaleType: _propTypes.default.oneOf(['time']).isRequired,
|
|
109
|
+
slotProps: _propTypes.default.object,
|
|
110
|
+
slots: _propTypes.default.object,
|
|
111
|
+
stroke: _propTypes.default.string,
|
|
112
|
+
tickFontSize: _propTypes.default.number,
|
|
113
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
114
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
115
|
+
tickLabelStyle: _propTypes.default.object,
|
|
116
|
+
tickMaxStep: _propTypes.default.number,
|
|
117
|
+
tickMinStep: _propTypes.default.number,
|
|
118
|
+
tickNumber: _propTypes.default.number.isRequired,
|
|
119
|
+
tickSize: _propTypes.default.number,
|
|
120
|
+
valueFormatter: _propTypes.default.func
|
|
121
|
+
}).isRequired,
|
|
122
|
+
/**
|
|
123
|
+
* Data identifying the triggered axis.
|
|
124
|
+
*/
|
|
125
|
+
axisData: _propTypes.default.shape({
|
|
126
|
+
x: _propTypes.default.shape({
|
|
127
|
+
index: _propTypes.default.number,
|
|
128
|
+
value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
|
|
129
|
+
}),
|
|
130
|
+
y: _propTypes.default.shape({
|
|
131
|
+
index: _propTypes.default.number,
|
|
132
|
+
value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
|
|
133
|
+
})
|
|
134
|
+
}).isRequired,
|
|
135
|
+
/**
|
|
136
|
+
* The value associated to the current mouse position.
|
|
137
|
+
*/
|
|
138
|
+
axisValue: _propTypes.default.any.isRequired,
|
|
139
|
+
/**
|
|
140
|
+
* Override or extend the styles applied to the component.
|
|
141
|
+
*/
|
|
142
|
+
classes: _propTypes.default.object.isRequired,
|
|
143
|
+
/**
|
|
144
|
+
* The index of the data item triggered.
|
|
145
|
+
*/
|
|
146
|
+
dataIndex: _propTypes.default.number,
|
|
147
|
+
/**
|
|
148
|
+
* The series linked to the triggered axis.
|
|
149
|
+
*/
|
|
150
|
+
series: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
151
|
+
area: _propTypes.default.bool,
|
|
152
|
+
color: _propTypes.default.string.isRequired,
|
|
153
|
+
connectNulls: _propTypes.default.bool,
|
|
154
|
+
curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
|
|
155
|
+
data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
|
|
156
|
+
dataKey: _propTypes.default.string,
|
|
157
|
+
disableHighlight: _propTypes.default.bool,
|
|
158
|
+
highlightScope: _propTypes.default.shape({
|
|
159
|
+
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
160
|
+
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
161
|
+
}),
|
|
162
|
+
id: _propTypes.default.string.isRequired,
|
|
163
|
+
label: _propTypes.default.string,
|
|
164
|
+
showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
|
|
165
|
+
stack: _propTypes.default.string,
|
|
166
|
+
stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
|
|
167
|
+
stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
|
|
168
|
+
type: _propTypes.default.oneOf(['line']).isRequired,
|
|
169
|
+
valueFormatter: _propTypes.default.func.isRequired,
|
|
170
|
+
xAxisKey: _propTypes.default.string,
|
|
171
|
+
yAxisKey: _propTypes.default.string
|
|
172
|
+
})).isRequired,
|
|
173
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
174
|
+
} : void 0;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartSeriesType } from '../models/seriesType/config';
|
|
3
|
+
import type { ChartsItemContentProps } from './ChartsItemTooltipContent';
|
|
4
|
+
declare function DefaultChartsItemTooltipContent<T extends ChartSeriesType = ChartSeriesType>(props: ChartsItemContentProps<T>): React.JSX.Element | null;
|
|
5
|
+
declare namespace DefaultChartsItemTooltipContent {
|
|
6
|
+
var propTypes: any;
|
|
7
|
+
}
|
|
8
|
+
export { DefaultChartsItemTooltipContent };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DefaultChartsItemTooltipContent = DefaultChartsItemTooltipContent;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
var _ChartsTooltipTable = require("./ChartsTooltipTable");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
function DefaultChartsItemTooltipContent(props) {
|
|
16
|
+
const {
|
|
17
|
+
series,
|
|
18
|
+
itemData,
|
|
19
|
+
sx,
|
|
20
|
+
classes
|
|
21
|
+
} = props;
|
|
22
|
+
if (itemData.dataIndex === undefined) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const {
|
|
26
|
+
displayedLabel,
|
|
27
|
+
color
|
|
28
|
+
} = series.type === 'pie' ? {
|
|
29
|
+
color: series.data[itemData.dataIndex].color,
|
|
30
|
+
displayedLabel: series.data[itemData.dataIndex].label
|
|
31
|
+
} : {
|
|
32
|
+
color: series.color,
|
|
33
|
+
displayedLabel: series.label
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
|
|
40
|
+
sx: sx,
|
|
41
|
+
className: classes.root,
|
|
42
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipTable, {
|
|
43
|
+
className: classes.table,
|
|
44
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
|
|
45
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
|
|
46
|
+
className: classes.row,
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
48
|
+
className: (0, _clsx.default)(classes.markCell, classes.cell),
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
|
|
50
|
+
ownerState: {
|
|
51
|
+
color
|
|
52
|
+
},
|
|
53
|
+
className: classes.mark
|
|
54
|
+
})
|
|
55
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
56
|
+
className: (0, _clsx.default)(classes.labelCell, classes.cell),
|
|
57
|
+
children: displayedLabel
|
|
58
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
59
|
+
className: (0, _clsx.default)(classes.valueCell, classes.cell),
|
|
60
|
+
children: formattedValue
|
|
61
|
+
})]
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propTypes = {
|
|
68
|
+
// ----------------------------- Warning --------------------------------
|
|
69
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
70
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
71
|
+
// ----------------------------------------------------------------------
|
|
72
|
+
/**
|
|
73
|
+
* Override or extend the styles applied to the component.
|
|
74
|
+
*/
|
|
75
|
+
classes: _propTypes.default.object.isRequired,
|
|
76
|
+
/**
|
|
77
|
+
* The data used to identify the triggered item.
|
|
78
|
+
*/
|
|
79
|
+
itemData: _propTypes.default.shape({
|
|
80
|
+
dataIndex: _propTypes.default.number,
|
|
81
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
82
|
+
type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
|
|
83
|
+
}).isRequired,
|
|
84
|
+
/**
|
|
85
|
+
* The series linked to the triggered axis.
|
|
86
|
+
*/
|
|
87
|
+
series: _propTypes.default.shape({
|
|
88
|
+
color: _propTypes.default.string,
|
|
89
|
+
data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
|
|
90
|
+
highlightScope: _propTypes.default.shape({
|
|
91
|
+
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
92
|
+
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
93
|
+
}),
|
|
94
|
+
id: _propTypes.default.string.isRequired,
|
|
95
|
+
type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
|
|
96
|
+
valueFormatter: _propTypes.default.func.isRequired
|
|
97
|
+
}).isRequired,
|
|
98
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
99
|
+
} : void 0;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ChartsTooltipClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the table element. */
|
|
5
|
+
table: string;
|
|
6
|
+
/** Styles applied to the row element. */
|
|
7
|
+
row: string;
|
|
8
|
+
/** Styles applied to the cell element. */
|
|
9
|
+
cell: string;
|
|
10
|
+
/** Styles applied to the mark element. */
|
|
11
|
+
mark: string;
|
|
12
|
+
/** Styles applied to the markCell element. */
|
|
13
|
+
markCell: string;
|
|
14
|
+
/** Styles applied to the labelCell element. */
|
|
15
|
+
labelCell: string;
|
|
16
|
+
/** Styles applied to the valueCell element. */
|
|
17
|
+
valueCell: string;
|
|
18
|
+
}
|
|
19
|
+
export type ChartsTooltipClassKey = keyof Omit<ChartsTooltipClasses, 'markCell' | 'labelCell' | 'valueCell'>;
|
|
20
|
+
export declare function getChartsTooltipUtilityClass(slot: string): string;
|
|
21
|
+
export declare const chartsTooltipClasses: ChartsTooltipClasses;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.chartsTooltipClasses = void 0;
|
|
7
|
+
exports.getChartsTooltipUtilityClass = getChartsTooltipUtilityClass;
|
|
8
|
+
var _utils = require("@mui/utils");
|
|
9
|
+
function getChartsTooltipUtilityClass(slot) {
|
|
10
|
+
return (0, _utils.unstable_generateUtilityClass)('MuiChartsTooltip', slot);
|
|
11
|
+
}
|
|
12
|
+
const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsTooltip', ['root', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
|
package/ChartsTooltip/index.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
1
|
export * from './ChartsTooltip';
|
|
2
|
+
export * from './chartsTooltipClasses';
|
|
3
|
+
export * from './ChartsAxisTooltipContent';
|
|
4
|
+
export * from './ChartsItemTooltipContent';
|
|
5
|
+
export * from './DefaultChartsAxisTooltipContent';
|
|
6
|
+
export * from './DefaultChartsItemTooltipContent';
|
package/ChartsTooltip/index.js
CHANGED
|
@@ -13,4 +13,59 @@ Object.keys(_ChartsTooltip).forEach(function (key) {
|
|
|
13
13
|
return _ChartsTooltip[key];
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
+
});
|
|
17
|
+
var _chartsTooltipClasses = require("./chartsTooltipClasses");
|
|
18
|
+
Object.keys(_chartsTooltipClasses).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _chartsTooltipClasses[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _chartsTooltipClasses[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
|
|
29
|
+
Object.keys(_ChartsAxisTooltipContent).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _ChartsAxisTooltipContent[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _ChartsAxisTooltipContent[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
|
|
40
|
+
Object.keys(_ChartsItemTooltipContent).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ChartsItemTooltipContent[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ChartsItemTooltipContent[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
|
|
51
|
+
Object.keys(_DefaultChartsAxisTooltipContent).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _DefaultChartsAxisTooltipContent[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _DefaultChartsAxisTooltipContent[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
|
|
62
|
+
Object.keys(_DefaultChartsItemTooltipContent).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _DefaultChartsItemTooltipContent[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _DefaultChartsItemTooltipContent[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
16
71
|
});
|
package/ChartsTooltip/utils.d.ts
CHANGED
|
@@ -21,4 +21,4 @@ export declare function useMouseTracker(): {
|
|
|
21
21
|
y: number;
|
|
22
22
|
} | null;
|
|
23
23
|
export type TriggerOptions = 'item' | 'axis' | 'none';
|
|
24
|
-
export declare function
|
|
24
|
+
export declare function getTooltipHasData(trigger: TriggerOptions, displayedData: null | AxisInteractionData | ItemInteractionData<ChartSeriesType>): boolean;
|
package/ChartsTooltip/utils.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.generateVirtualElement = generateVirtualElement;
|
|
7
|
-
exports.
|
|
7
|
+
exports.getTooltipHasData = getTooltipHasData;
|
|
8
8
|
exports.useMouseTracker = useMouseTracker;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
@@ -81,7 +81,7 @@ function useMouseTracker() {
|
|
|
81
81
|
}, [svgRef]);
|
|
82
82
|
return mousePosition;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function getTooltipHasData(trigger, displayedData) {
|
|
85
85
|
if (trigger === 'item') {
|
|
86
86
|
return displayedData !== null;
|
|
87
87
|
}
|
|
@@ -82,6 +82,8 @@ function ChartsYAxis(inProps) {
|
|
|
82
82
|
tickFontSize,
|
|
83
83
|
label,
|
|
84
84
|
labelFontSize,
|
|
85
|
+
labelStyle,
|
|
86
|
+
tickLabelStyle,
|
|
85
87
|
tickSize: tickSizeProp,
|
|
86
88
|
valueFormatter,
|
|
87
89
|
slots,
|
|
@@ -116,11 +118,11 @@ function ChartsYAxis(inProps) {
|
|
|
116
118
|
elementType: TickLabel,
|
|
117
119
|
externalSlotProps: slotProps?.axisTickLabel,
|
|
118
120
|
additionalProps: {
|
|
119
|
-
style: {
|
|
121
|
+
style: (0, _extends2.default)({
|
|
120
122
|
fontSize: tickFontSize,
|
|
121
123
|
textAnchor: position === 'right' ? 'start' : 'end',
|
|
122
124
|
dominantBaseline: 'central'
|
|
123
|
-
},
|
|
125
|
+
}, tickLabelStyle),
|
|
124
126
|
className: classes.tickLabel
|
|
125
127
|
},
|
|
126
128
|
ownerState: {}
|
|
@@ -129,12 +131,12 @@ function ChartsYAxis(inProps) {
|
|
|
129
131
|
elementType: Label,
|
|
130
132
|
externalSlotProps: slotProps?.axisLabel,
|
|
131
133
|
additionalProps: {
|
|
132
|
-
style: {
|
|
134
|
+
style: (0, _extends2.default)({
|
|
133
135
|
fontSize: labelFontSize,
|
|
134
136
|
angle: positionSign * 90,
|
|
135
137
|
textAnchor: 'middle',
|
|
136
138
|
dominantBaseline: 'auto'
|
|
137
|
-
}
|
|
139
|
+
}, labelStyle)
|
|
138
140
|
},
|
|
139
141
|
ownerState: {}
|
|
140
142
|
});
|
package/LineChart/extremums.js
CHANGED
|
@@ -13,6 +13,18 @@ const getExtremumX = params => {
|
|
|
13
13
|
return [minX, maxX];
|
|
14
14
|
};
|
|
15
15
|
exports.getExtremumX = getExtremumX;
|
|
16
|
+
function getSeriesExtremums(getValues, stackedData) {
|
|
17
|
+
if (stackedData.length === 0) {
|
|
18
|
+
return [null, null];
|
|
19
|
+
}
|
|
20
|
+
return stackedData.reduce((seriesAcc, stackedValue) => {
|
|
21
|
+
const [base, value] = getValues(stackedValue);
|
|
22
|
+
if (seriesAcc[0] === null) {
|
|
23
|
+
return [Math.min(base, value), Math.max(base, value)];
|
|
24
|
+
}
|
|
25
|
+
return [Math.min(base, value, seriesAcc[0]), Math.max(base, value, seriesAcc[1])];
|
|
26
|
+
}, getValues(stackedData[0]));
|
|
27
|
+
}
|
|
16
28
|
const getExtremumY = params => {
|
|
17
29
|
const {
|
|
18
30
|
series,
|
|
@@ -20,16 +32,21 @@ const getExtremumY = params => {
|
|
|
20
32
|
isDefaultAxis
|
|
21
33
|
} = params;
|
|
22
34
|
return Object.keys(series).filter(seriesId => series[seriesId].yAxisKey === axis.id || isDefaultAxis && series[seriesId].yAxisKey === undefined).reduce((acc, seriesId) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
35
|
+
const {
|
|
36
|
+
area,
|
|
37
|
+
stackedData
|
|
38
|
+
} = series[seriesId];
|
|
39
|
+
const isArea = area !== undefined;
|
|
40
|
+
const getValues = isArea ? d => d : d => [d[1], d[1]]; // Since this series is not used to display an area, we do not consider the base (the d[0]).
|
|
25
41
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
if (
|
|
31
|
-
return
|
|
42
|
+
const seriesExtremums = getSeriesExtremums(getValues, stackedData);
|
|
43
|
+
if (acc[0] === null) {
|
|
44
|
+
return seriesExtremums;
|
|
45
|
+
}
|
|
46
|
+
if (seriesExtremums[0] === null) {
|
|
47
|
+
return acc;
|
|
32
48
|
}
|
|
49
|
+
const [seriesMin, seriesMax] = seriesExtremums;
|
|
33
50
|
return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
|
|
34
51
|
}, [null, null]);
|
|
35
52
|
};
|
package/LineChart/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export * from './LineChart';
|
|
2
|
+
export * from './LinePlot';
|
|
3
|
+
export * from './AreaPlot';
|
|
4
|
+
export * from './MarkPlot';
|
|
5
|
+
export * from './LineHighlightPlot';
|
|
6
6
|
export * from './AreaElement';
|
|
7
7
|
export * from './LineElement';
|
|
8
8
|
export * from './MarkElement';
|