@mui/x-charts 6.0.0-alpha.9 → 6.18.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/BarChart/BarChart.d.ts +19 -5
- package/BarChart/BarChart.js +52 -13
- package/BarChart/BarElement.d.ts +1319 -4
- package/BarChart/BarElement.js +10 -10
- package/BarChart/BarPlot.d.ts +17 -1
- package/BarChart/BarPlot.js +152 -66
- package/BarChart/formatter.js +2 -3
- package/BarChart/legend.js +1 -2
- package/CHANGELOG.md +735 -55
- package/ChartContainer/index.js +7 -5
- package/ChartsAxis/ChartsAxis.d.ts +9 -0
- package/ChartsAxis/ChartsAxis.js +28 -2
- package/ChartsAxis/axisClasses.d.ts +1 -1
- package/ChartsAxis/axisClasses.js +1 -2
- package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +21 -0
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +61 -22
- package/ChartsClipPath/ChartsClipPath.d.ts +5 -0
- package/ChartsClipPath/ChartsClipPath.js +7 -2
- package/ChartsLegend/ChartsLegend.d.ts +44 -24
- package/ChartsLegend/ChartsLegend.js +192 -150
- package/ChartsLegend/chartsLegendClasses.js +1 -2
- package/ChartsLegend/utils.d.ts +1 -6
- package/ChartsSurface.d.ts +1 -1
- package/ChartsSurface.js +9 -18
- package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
- package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
- package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
- package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
- package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
- package/ChartsTooltip/ChartsTooltip.js +62 -18
- package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
- package/ChartsTooltip/ChartsTooltipTable.js +22 -20
- package/ChartsTooltip/tooltipClasses.js +1 -2
- package/ChartsTooltip/utils.js +2 -2
- package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
- package/ChartsXAxis/ChartsXAxis.js +161 -40
- package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
- package/ChartsYAxis/ChartsYAxis.js +86 -33
- package/LineChart/AreaElement.d.ts +11 -1
- package/LineChart/AreaElement.js +14 -6
- package/LineChart/AreaPlot.d.ts +11 -0
- package/LineChart/AreaPlot.js +27 -8
- package/LineChart/LineChart.d.ts +16 -3
- package/LineChart/LineChart.js +48 -13
- package/LineChart/LineElement.d.ts +11 -1
- package/LineChart/LineElement.js +14 -6
- package/LineChart/LineHighlightElement.d.ts +10 -0
- package/LineChart/LineHighlightElement.js +13 -4
- package/LineChart/LineHighlightPlot.d.ts +10 -0
- package/LineChart/LineHighlightPlot.js +14 -3
- package/LineChart/LinePlot.d.ts +10 -0
- package/LineChart/LinePlot.js +25 -12
- package/LineChart/MarkElement.d.ts +10 -0
- package/LineChart/MarkElement.js +14 -5
- package/LineChart/MarkPlot.d.ts +10 -0
- package/LineChart/MarkPlot.js +40 -9
- package/LineChart/formatter.js +5 -5
- package/LineChart/legend.js +1 -2
- package/PieChart/PieArc.d.ts +11 -13
- package/PieChart/PieArc.js +28 -60
- package/PieChart/PieArcLabel.d.ts +8 -9
- package/PieChart/PieArcLabel.js +46 -38
- package/PieChart/PieArcLabelPlot.d.ts +28 -0
- package/PieChart/PieArcLabelPlot.js +99 -0
- package/PieChart/PieArcPlot.d.ts +35 -0
- package/PieChart/PieArcPlot.js +92 -0
- package/PieChart/PieChart.d.ts +19 -5
- package/PieChart/PieChart.js +61 -14
- package/PieChart/PiePlot.d.ts +15 -9
- package/PieChart/PiePlot.js +77 -55
- package/PieChart/dataTransform/transition.d.ts +4 -0
- package/PieChart/dataTransform/transition.js +136 -0
- package/PieChart/dataTransform/useTransformData.d.ts +15 -0
- package/PieChart/dataTransform/useTransformData.js +67 -0
- package/PieChart/formatter.js +1 -2
- package/PieChart/legend.js +1 -2
- package/README.md +8 -14
- package/ResponsiveChartContainer/index.js +7 -8
- package/ScatterChart/Scatter.d.ts +10 -0
- package/ScatterChart/Scatter.js +12 -2
- package/ScatterChart/ScatterChart.d.ts +16 -3
- package/ScatterChart/ScatterChart.js +43 -12
- package/ScatterChart/ScatterPlot.d.ts +10 -0
- package/ScatterChart/ScatterPlot.js +12 -2
- package/ScatterChart/formatter.js +1 -2
- package/ScatterChart/legend.js +1 -2
- package/SparkLineChart/SparkLineChart.d.ts +12 -3
- package/SparkLineChart/SparkLineChart.js +28 -7
- package/colorPalettes/colorPalettes.js +6 -12
- package/constants.js +5 -8
- package/context/CartesianContextProvider.d.ts +5 -0
- package/context/CartesianContextProvider.js +31 -16
- package/context/DrawingProvider.d.ts +7 -0
- package/context/DrawingProvider.js +12 -6
- package/context/HighlightProvider.js +3 -4
- package/context/InteractionProvider.js +3 -4
- package/context/SeriesContextProvider.js +3 -4
- package/esm/BarChart/BarChart.js +49 -9
- package/esm/BarChart/BarElement.js +7 -4
- package/esm/BarChart/BarPlot.js +152 -67
- package/esm/BarChart/formatter.js +1 -1
- package/esm/ChartContainer/index.js +3 -0
- package/esm/ChartsAxis/ChartsAxis.js +26 -0
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
- package/esm/ChartsLegend/ChartsLegend.js +188 -142
- package/esm/ChartsSurface.js +4 -12
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
- package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
- package/esm/ChartsXAxis/ChartsXAxis.js +158 -37
- package/esm/ChartsYAxis/ChartsYAxis.js +83 -30
- package/esm/LineChart/AreaElement.js +10 -0
- package/esm/LineChart/AreaPlot.js +26 -6
- package/esm/LineChart/LineChart.js +45 -9
- package/esm/LineChart/LineElement.js +10 -0
- package/esm/LineChart/LineHighlightElement.js +10 -0
- package/esm/LineChart/LineHighlightPlot.js +12 -1
- package/esm/LineChart/LinePlot.js +25 -14
- package/esm/LineChart/MarkElement.js +11 -1
- package/esm/LineChart/MarkPlot.js +38 -7
- package/esm/LineChart/formatter.js +7 -3
- package/esm/PieChart/PieArc.js +26 -58
- package/esm/PieChart/PieArcLabel.js +43 -34
- package/esm/PieChart/PieArcLabelPlot.js +92 -0
- package/esm/PieChart/PieArcPlot.js +84 -0
- package/esm/PieChart/PieChart.js +59 -12
- package/esm/PieChart/PiePlot.js +76 -57
- package/esm/PieChart/dataTransform/transition.js +130 -0
- package/esm/PieChart/dataTransform/useTransformData.js +59 -0
- package/esm/ResponsiveChartContainer/index.js +3 -3
- package/esm/ScatterChart/Scatter.js +10 -0
- package/esm/ScatterChart/ScatterChart.js +40 -8
- package/esm/ScatterChart/ScatterPlot.js +10 -0
- package/esm/SparkLineChart/SparkLineChart.js +25 -3
- package/esm/constants.js +1 -1
- package/esm/context/CartesianContextProvider.js +30 -14
- package/esm/context/DrawingProvider.js +8 -0
- package/esm/hooks/useChartDimensions.js +2 -0
- package/esm/hooks/useMounted.js +16 -0
- package/esm/hooks/useReducedMotion.js +27 -0
- package/esm/hooks/useTicks.js +15 -9
- package/esm/internals/components/AxisSharedComponents.js +15 -70
- package/esm/internals/components/ChartsText.js +77 -0
- package/esm/internals/domUtils.js +113 -0
- package/esm/internals/geometry.js +36 -0
- package/hooks/useAxisEvents.js +2 -2
- package/hooks/useChartDimensions.d.ts +2 -0
- package/hooks/useChartDimensions.js +5 -4
- package/hooks/useDrawingArea.js +2 -2
- package/hooks/useInteractionItemProps.js +2 -2
- package/hooks/useMounted.d.ts +1 -0
- package/hooks/useMounted.js +25 -0
- package/hooks/useReducedMotion.d.ts +8 -0
- package/hooks/useReducedMotion.js +33 -0
- package/hooks/useScale.d.ts +2 -2
- package/hooks/useScale.js +2 -2
- package/hooks/useTicks.d.ts +19 -11
- package/hooks/useTicks.js +19 -14
- package/index.js +1 -1
- package/internals/components/AxisSharedComponents.d.ts +0 -4
- package/internals/components/AxisSharedComponents.js +18 -78
- package/internals/components/ChartsText.d.ts +35 -0
- package/internals/components/ChartsText.js +87 -0
- package/internals/defaultizeColor.d.ts +7 -2
- package/internals/defaultizeValueFormatter.js +1 -2
- package/internals/domUtils.d.ts +13 -0
- package/internals/domUtils.js +122 -0
- package/internals/geometry.d.ts +9 -0
- package/internals/geometry.js +42 -0
- package/internals/stackSeries.js +2 -4
- package/legacy/BarChart/BarChart.js +49 -9
- package/legacy/BarChart/BarElement.js +6 -3
- package/legacy/BarChart/BarPlot.js +151 -63
- package/legacy/BarChart/formatter.js +1 -1
- package/legacy/ChartContainer/index.js +3 -0
- package/legacy/ChartsAxis/ChartsAxis.js +26 -0
- package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
- package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
- package/legacy/ChartsLegend/ChartsLegend.js +203 -140
- package/legacy/ChartsSurface.js +3 -12
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
- package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
- package/legacy/ChartsXAxis/ChartsXAxis.js +162 -39
- package/legacy/ChartsYAxis/ChartsYAxis.js +83 -30
- package/legacy/LineChart/AreaElement.js +10 -0
- package/legacy/LineChart/AreaPlot.js +31 -7
- package/legacy/LineChart/LineChart.js +45 -9
- package/legacy/LineChart/LineElement.js +10 -0
- package/legacy/LineChart/LineHighlightElement.js +10 -0
- package/legacy/LineChart/LineHighlightPlot.js +12 -1
- package/legacy/LineChart/LinePlot.js +29 -12
- package/legacy/LineChart/MarkElement.js +11 -1
- package/legacy/LineChart/MarkPlot.js +37 -7
- package/legacy/LineChart/formatter.js +7 -3
- package/legacy/PieChart/PieArc.js +30 -62
- package/legacy/PieChart/PieArcLabel.js +48 -34
- package/legacy/PieChart/PieArcLabelPlot.js +93 -0
- package/legacy/PieChart/PieArcPlot.js +84 -0
- package/legacy/PieChart/PieChart.js +59 -12
- package/legacy/PieChart/PiePlot.js +76 -59
- package/legacy/PieChart/dataTransform/transition.js +142 -0
- package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
- package/legacy/ResponsiveChartContainer/index.js +3 -3
- package/legacy/ScatterChart/Scatter.js +10 -0
- package/legacy/ScatterChart/ScatterChart.js +40 -8
- package/legacy/ScatterChart/ScatterPlot.js +10 -0
- package/legacy/SparkLineChart/SparkLineChart.js +25 -3
- package/legacy/constants.js +1 -1
- package/legacy/context/CartesianContextProvider.js +30 -14
- package/legacy/context/DrawingProvider.js +8 -0
- package/legacy/hooks/useChartDimensions.js +2 -0
- package/legacy/hooks/useMounted.js +21 -0
- package/legacy/hooks/useReducedMotion.js +27 -0
- package/legacy/hooks/useTicks.js +16 -9
- package/legacy/index.js +1 -1
- package/legacy/internals/components/AxisSharedComponents.js +11 -65
- package/legacy/internals/components/ChartsText.js +79 -0
- package/legacy/internals/domUtils.js +121 -0
- package/legacy/internals/geometry.js +37 -0
- package/models/axis.d.ts +27 -9
- package/models/layout.d.ts +7 -6
- package/models/seriesType/line.d.ts +8 -3
- package/models/seriesType/pie.d.ts +5 -1
- package/modern/BarChart/BarChart.js +49 -9
- package/modern/BarChart/BarElement.js +7 -4
- package/modern/BarChart/BarPlot.js +149 -65
- package/modern/BarChart/formatter.js +1 -1
- package/modern/ChartContainer/index.js +3 -0
- package/modern/ChartsAxis/ChartsAxis.js +26 -0
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
- package/modern/ChartsLegend/ChartsLegend.js +188 -142
- package/modern/ChartsSurface.js +4 -12
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
- package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
- package/modern/ChartsXAxis/ChartsXAxis.js +158 -37
- package/modern/ChartsYAxis/ChartsYAxis.js +83 -30
- package/modern/LineChart/AreaElement.js +10 -0
- package/modern/LineChart/AreaPlot.js +25 -6
- package/modern/LineChart/LineChart.js +45 -9
- package/modern/LineChart/LineElement.js +10 -0
- package/modern/LineChart/LineHighlightElement.js +10 -0
- package/modern/LineChart/LineHighlightPlot.js +12 -1
- package/modern/LineChart/LinePlot.js +23 -10
- package/modern/LineChart/MarkElement.js +11 -1
- package/modern/LineChart/MarkPlot.js +38 -7
- package/modern/LineChart/formatter.js +4 -3
- package/modern/PieChart/PieArc.js +26 -57
- package/modern/PieChart/PieArcLabel.js +43 -34
- package/modern/PieChart/PieArcLabelPlot.js +90 -0
- package/modern/PieChart/PieArcPlot.js +83 -0
- package/modern/PieChart/PieChart.js +59 -12
- package/modern/PieChart/PiePlot.js +76 -55
- package/modern/PieChart/dataTransform/transition.js +130 -0
- package/modern/PieChart/dataTransform/useTransformData.js +58 -0
- package/modern/ResponsiveChartContainer/index.js +3 -3
- package/modern/ScatterChart/Scatter.js +10 -0
- package/modern/ScatterChart/ScatterChart.js +40 -8
- package/modern/ScatterChart/ScatterPlot.js +10 -0
- package/modern/SparkLineChart/SparkLineChart.js +25 -3
- package/modern/constants.js +1 -1
- package/modern/context/CartesianContextProvider.js +29 -13
- package/modern/context/DrawingProvider.js +8 -0
- package/modern/hooks/useChartDimensions.js +2 -0
- package/modern/hooks/useMounted.js +16 -0
- package/modern/hooks/useReducedMotion.js +27 -0
- package/modern/hooks/useTicks.js +15 -9
- package/modern/index.js +1 -1
- package/modern/internals/components/AxisSharedComponents.js +15 -70
- package/modern/internals/components/ChartsText.js +77 -0
- package/modern/internals/domUtils.js +113 -0
- package/modern/internals/geometry.js +36 -0
- package/package.json +9 -6
- package/themeAugmentation/components.d.ts +1 -0
- package/themeAugmentation/overrides.d.ts +2 -0
|
@@ -5,19 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ChartsLegend = ChartsLegend;
|
|
8
|
-
exports.
|
|
8
|
+
exports.ChartsLegendRoot = void 0;
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
11
|
var React = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _utils = require("@mui/base/utils");
|
|
13
|
+
var _NoSsr = require("@mui/base/NoSsr");
|
|
12
14
|
var _utils2 = require("@mui/utils");
|
|
13
15
|
var _styles = require("@mui/material/styles");
|
|
14
16
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
15
17
|
var _utils3 = require("./utils");
|
|
16
18
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
17
19
|
var _chartsLegendClasses = require("./chartsLegendClasses");
|
|
20
|
+
var _ChartsText = require("../internals/components/ChartsText");
|
|
18
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
const _excluded = ["rotate", "dominantBaseline"],
|
|
23
|
+
_excluded2 = ["label"];
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
21
26
|
const useUtilityClasses = ownerState => {
|
|
22
27
|
const {
|
|
23
28
|
classes,
|
|
@@ -31,171 +36,210 @@ const useUtilityClasses = ownerState => {
|
|
|
31
36
|
};
|
|
32
37
|
return (0, _utils2.unstable_composeClasses)(slots, _chartsLegendClasses.getChartsLegendUtilityClass, classes);
|
|
33
38
|
};
|
|
34
|
-
|
|
35
|
-
position,
|
|
36
|
-
drawingArea
|
|
37
|
-
}) {
|
|
38
|
-
let xValue;
|
|
39
|
-
switch (position.horizontal) {
|
|
40
|
-
case 'left':
|
|
41
|
-
xValue = `calc(var(--ChartsLegend-rootOffsetX, 0px) + ${drawingArea.left}px - var(--ChartsLegend-rootWidth))`;
|
|
42
|
-
break;
|
|
43
|
-
case 'middle':
|
|
44
|
-
xValue = `calc(var(--ChartsLegend-rootOffsetX, 0px) + ${drawingArea.left + drawingArea.width / 2}px - 0.5 * var(--ChartsLegend-rootWidth))`;
|
|
45
|
-
break;
|
|
46
|
-
default:
|
|
47
|
-
xValue = `calc(var(--ChartsLegend-rootOffsetX, 0px) + ${drawingArea.left + drawingArea.width}px)`;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
let yValue;
|
|
51
|
-
switch (position.vertical) {
|
|
52
|
-
case 'top':
|
|
53
|
-
yValue = `calc(var(--ChartsLegend-rootOffsetY, 0px) + ${drawingArea.top}px - var(--ChartsLegend-rootHeight))`;
|
|
54
|
-
break;
|
|
55
|
-
case 'middle':
|
|
56
|
-
yValue = `calc(var(--ChartsLegend-rootOffsetY, 0px) + ${drawingArea.top + drawingArea.height / 2}px - 0.5 * var(--ChartsLegend-rootHeight))`;
|
|
57
|
-
break;
|
|
58
|
-
default:
|
|
59
|
-
yValue = `calc(var(--ChartsLegend-rootOffsetY, 0px) + ${drawingArea.top + drawingArea.height}px)`;
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
transform: `translate(${xValue}, ${yValue})`
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
const ChartsLegendRoot = (0, _styles.styled)('g', {
|
|
39
|
+
const ChartsLegendRoot = exports.ChartsLegendRoot = (0, _styles.styled)('g', {
|
|
67
40
|
name: 'MuiChartsLegend',
|
|
68
41
|
slot: 'Root',
|
|
69
42
|
overridesResolver: (props, styles) => styles.root
|
|
70
|
-
})(
|
|
71
|
-
ownerState
|
|
72
|
-
}) => {
|
|
73
|
-
const {
|
|
74
|
-
direction,
|
|
75
|
-
drawingArea,
|
|
76
|
-
offsetX,
|
|
77
|
-
offsetY,
|
|
78
|
-
seriesNumber,
|
|
79
|
-
position
|
|
80
|
-
} = ownerState;
|
|
81
|
-
return (0, _extends2.default)({
|
|
82
|
-
'--ChartsLegend-rootOffsetX': typeof offsetX === 'number' ? `${offsetX}px` : undefined,
|
|
83
|
-
'--ChartsLegend-rootOffsetY': typeof offsetY === 'number' ? `${offsetY}px` : undefined,
|
|
84
|
-
'--ChartsLegend-rootWidth': direction === 'row' ? `calc(var(--ChartsLegend-itemWidth) * ${seriesNumber} + var(--ChartsLegend-rootSpacing) * ${seriesNumber - 1} )` : 'var(--ChartsLegend-itemWidth)',
|
|
85
|
-
'--ChartsLegend-rootHeight': direction === 'row' ? 'var(--ChartsLegend-itemMarkSize)' : `calc(var(--ChartsLegend-itemMarkSize) * ${seriesNumber} + var(--ChartsLegend-rootSpacing) * ${seriesNumber - 1} )`
|
|
86
|
-
}, getTranslePosition({
|
|
87
|
-
position,
|
|
88
|
-
drawingArea,
|
|
89
|
-
offsetX,
|
|
90
|
-
offsetY
|
|
91
|
-
}));
|
|
92
|
-
});
|
|
93
|
-
exports.ChartsLegendRoot = ChartsLegendRoot;
|
|
94
|
-
const ChartsSeriesLegendGroup = (0, _styles.styled)('g', {
|
|
95
|
-
name: 'MuiChartsLegend',
|
|
96
|
-
slot: 'ChartsSeriesLegendGroup',
|
|
97
|
-
overridesResolver: (props, styles) => styles.series
|
|
98
|
-
})(({
|
|
99
|
-
ownerState
|
|
100
|
-
}) => {
|
|
101
|
-
const {
|
|
102
|
-
direction,
|
|
103
|
-
seriesIndex
|
|
104
|
-
} = ownerState;
|
|
105
|
-
if (direction === 'row') {
|
|
106
|
-
return {
|
|
107
|
-
transform: `translate(calc(${seriesIndex} * (var(--ChartsLegend-itemWidth) + var(--ChartsLegend-rootSpacing))), 0)`
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
transform: `translate(0, calc(${seriesIndex} * (var(--ChartsLegend-itemMarkSize) + var(--ChartsLegend-rootSpacing))))`
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
exports.ChartsSeriesLegendGroup = ChartsSeriesLegendGroup;
|
|
115
|
-
const ChartsLegendMark = (0, _styles.styled)('rect', {
|
|
116
|
-
name: 'MuiChartsLegend',
|
|
117
|
-
slot: 'Mark',
|
|
118
|
-
overridesResolver: (props, styles) => styles.mark
|
|
119
|
-
})(({
|
|
120
|
-
ownerState
|
|
121
|
-
}) => ({
|
|
122
|
-
x: 0,
|
|
123
|
-
y: 0,
|
|
124
|
-
width: 'var(--ChartsLegend-itemMarkSize)',
|
|
125
|
-
height: 'var(--ChartsLegend-itemMarkSize)',
|
|
126
|
-
fill: ownerState.color
|
|
127
|
-
}));
|
|
128
|
-
exports.ChartsLegendMark = ChartsLegendMark;
|
|
129
|
-
const ChartsLegendLabel = (0, _styles.styled)('text', {
|
|
130
|
-
name: 'MuiChartsLegend',
|
|
131
|
-
slot: 'Label',
|
|
132
|
-
overridesResolver: (props, styles) => styles.label
|
|
133
|
-
})(({
|
|
134
|
-
theme
|
|
135
|
-
}) => (0, _extends2.default)({}, theme.typography.body1, {
|
|
136
|
-
color: 'inherit',
|
|
137
|
-
transform: `translate(
|
|
138
|
-
calc(var(--ChartsLegend-itemMarkSize) + var(--ChartsLegend-labelSpacing)),
|
|
139
|
-
calc(0.5 * var(--ChartsLegend-itemMarkSize))
|
|
140
|
-
)`,
|
|
141
|
-
fill: theme.palette.text.primary,
|
|
142
|
-
dominantBaseline: 'central'
|
|
143
|
-
}));
|
|
144
|
-
exports.ChartsLegendLabel = ChartsLegendLabel;
|
|
43
|
+
})({});
|
|
145
44
|
const defaultProps = {
|
|
146
45
|
position: {
|
|
147
46
|
horizontal: 'middle',
|
|
148
47
|
vertical: 'top'
|
|
149
48
|
},
|
|
150
|
-
direction: 'row'
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
49
|
+
direction: 'row'
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Transforms number or partial padding object to a defaultized padding object.
|
|
53
|
+
*/
|
|
54
|
+
const getStandardizedPadding = padding => {
|
|
55
|
+
if (typeof padding === 'number') {
|
|
56
|
+
return {
|
|
57
|
+
left: padding,
|
|
58
|
+
right: padding,
|
|
59
|
+
top: padding,
|
|
60
|
+
bottom: padding
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return (0, _extends2.default)({
|
|
64
|
+
left: 0,
|
|
65
|
+
right: 0,
|
|
66
|
+
top: 0,
|
|
67
|
+
bottom: 0
|
|
68
|
+
}, padding);
|
|
154
69
|
};
|
|
155
70
|
function DefaultChartsLegend(props) {
|
|
156
71
|
const {
|
|
157
72
|
hidden,
|
|
158
73
|
position,
|
|
159
74
|
direction,
|
|
160
|
-
offset,
|
|
161
|
-
series,
|
|
162
75
|
seriesToDisplay,
|
|
163
76
|
drawingArea,
|
|
164
|
-
classes
|
|
77
|
+
classes,
|
|
78
|
+
itemMarkWidth = 20,
|
|
79
|
+
itemMarkHeight = 20,
|
|
80
|
+
markGap = 5,
|
|
81
|
+
itemGap = 10,
|
|
82
|
+
padding: paddingProps = 10,
|
|
83
|
+
labelStyle: inLabelStyle
|
|
165
84
|
} = props;
|
|
85
|
+
const theme = (0, _styles.useTheme)();
|
|
86
|
+
const labelStyle = React.useMemo(() => (0, _extends2.default)({}, theme.typography.subtitle1, {
|
|
87
|
+
color: 'inherit',
|
|
88
|
+
dominantBaseline: 'central',
|
|
89
|
+
textAnchor: 'start',
|
|
90
|
+
fill: (theme.vars || theme).palette.text.primary,
|
|
91
|
+
lineHeight: 1
|
|
92
|
+
}, inLabelStyle),
|
|
93
|
+
// To say to TS that the dominantBaseline and textAnchor are correct
|
|
94
|
+
[inLabelStyle, theme]);
|
|
95
|
+
const padding = React.useMemo(() => getStandardizedPadding(paddingProps), [paddingProps]);
|
|
96
|
+
const getItemSpace = React.useCallback((label, inStyle = {}) => {
|
|
97
|
+
const style = (0, _objectWithoutPropertiesLoose2.default)(inStyle, _excluded);
|
|
98
|
+
const linesSize = (0, _ChartsText.getWordsByLines)({
|
|
99
|
+
style,
|
|
100
|
+
needsComputation: true,
|
|
101
|
+
text: label
|
|
102
|
+
});
|
|
103
|
+
const innerSize = {
|
|
104
|
+
innerWidth: itemMarkWidth + markGap + Math.max(...linesSize.map(size => size.width)),
|
|
105
|
+
innerHeight: Math.max(itemMarkHeight, linesSize.length * linesSize[0].height)
|
|
106
|
+
};
|
|
107
|
+
return (0, _extends2.default)({}, innerSize, {
|
|
108
|
+
outerWidth: innerSize.innerWidth + itemGap,
|
|
109
|
+
outerHeight: innerSize.innerHeight + itemGap
|
|
110
|
+
});
|
|
111
|
+
}, [itemGap, itemMarkHeight, itemMarkWidth, markGap]);
|
|
112
|
+
const totalWidth = drawingArea.left + drawingArea.width + drawingArea.right;
|
|
113
|
+
const totalHeight = drawingArea.top + drawingArea.height + drawingArea.bottom;
|
|
114
|
+
const availableWidth = totalWidth - padding.left - padding.right;
|
|
115
|
+
const availableHeight = totalHeight - padding.top - padding.bottom;
|
|
116
|
+
const seriesWithPosition = React.useMemo(() => {
|
|
117
|
+
// Start at 0, 0. Will be modified later by padding and position.
|
|
118
|
+
let x = 0;
|
|
119
|
+
let y = 0;
|
|
120
|
+
|
|
121
|
+
// total values used to align legend later.
|
|
122
|
+
let totalWidthUsed = 0;
|
|
123
|
+
let totalHeightUsed = 0;
|
|
124
|
+
let rowIndex = 0;
|
|
125
|
+
const rowMaxHeight = [0];
|
|
126
|
+
const seriesWithRawPosition = seriesToDisplay.map(_ref => {
|
|
127
|
+
let {
|
|
128
|
+
label
|
|
129
|
+
} = _ref,
|
|
130
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
|
|
131
|
+
const itemSpace = getItemSpace(label, labelStyle);
|
|
132
|
+
const rep = (0, _extends2.default)({}, other, {
|
|
133
|
+
label,
|
|
134
|
+
positionX: x,
|
|
135
|
+
positionY: y,
|
|
136
|
+
innerHeight: itemSpace.innerHeight,
|
|
137
|
+
innerWidth: itemSpace.innerWidth,
|
|
138
|
+
outerHeight: itemSpace.outerHeight,
|
|
139
|
+
outerWidth: itemSpace.outerWidth,
|
|
140
|
+
rowIndex
|
|
141
|
+
});
|
|
142
|
+
if (direction === 'row') {
|
|
143
|
+
if (x + itemSpace.innerWidth > availableWidth) {
|
|
144
|
+
// This legend item would create overflow along the x-axis, so we start a new row.
|
|
145
|
+
x = 0;
|
|
146
|
+
y += rowMaxHeight[rowIndex];
|
|
147
|
+
rowIndex += 1;
|
|
148
|
+
if (rowMaxHeight.length <= rowIndex) {
|
|
149
|
+
rowMaxHeight.push(0);
|
|
150
|
+
}
|
|
151
|
+
rep.positionX = x;
|
|
152
|
+
rep.positionY = y;
|
|
153
|
+
rep.rowIndex = rowIndex;
|
|
154
|
+
}
|
|
155
|
+
totalWidthUsed = Math.max(totalWidthUsed, x + itemSpace.outerWidth);
|
|
156
|
+
totalHeightUsed = Math.max(totalHeightUsed, y + itemSpace.outerHeight);
|
|
157
|
+
rowMaxHeight[rowIndex] = Math.max(rowMaxHeight[rowIndex], itemSpace.outerHeight);
|
|
158
|
+
x += itemSpace.outerWidth;
|
|
159
|
+
}
|
|
160
|
+
if (direction === 'column') {
|
|
161
|
+
if (y + itemSpace.innerHeight > availableHeight) {
|
|
162
|
+
// This legend item would create overflow along the y-axis, so we start a new column.
|
|
163
|
+
x = totalWidthUsed + itemGap;
|
|
164
|
+
y = 0;
|
|
165
|
+
rowIndex = 0;
|
|
166
|
+
rep.positionX = x;
|
|
167
|
+
rep.positionY = y;
|
|
168
|
+
rep.rowIndex = rowIndex;
|
|
169
|
+
}
|
|
170
|
+
if (rowMaxHeight.length <= rowIndex) {
|
|
171
|
+
rowMaxHeight.push(0);
|
|
172
|
+
}
|
|
173
|
+
totalWidthUsed = Math.max(totalWidthUsed, x + itemSpace.outerWidth);
|
|
174
|
+
totalHeightUsed = Math.max(totalHeightUsed, y + itemSpace.outerHeight);
|
|
175
|
+
rowIndex += 1;
|
|
176
|
+
y += itemSpace.outerHeight;
|
|
177
|
+
}
|
|
178
|
+
return rep;
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// Move the legend according to padding and position
|
|
182
|
+
let gapX = 0;
|
|
183
|
+
let gapY = 0;
|
|
184
|
+
switch (position.horizontal) {
|
|
185
|
+
case 'left':
|
|
186
|
+
gapX = padding.left;
|
|
187
|
+
break;
|
|
188
|
+
case 'right':
|
|
189
|
+
gapX = totalWidth - padding.right - totalWidthUsed;
|
|
190
|
+
break;
|
|
191
|
+
default:
|
|
192
|
+
gapX = (totalWidth - totalWidthUsed) / 2;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
switch (position.vertical) {
|
|
196
|
+
case 'top':
|
|
197
|
+
gapY = padding.top;
|
|
198
|
+
break;
|
|
199
|
+
case 'bottom':
|
|
200
|
+
gapY = totalHeight - padding.bottom - totalHeightUsed;
|
|
201
|
+
break;
|
|
202
|
+
default:
|
|
203
|
+
gapY = (totalHeight - totalHeightUsed) / 2;
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
return seriesWithRawPosition.map(item => (0, _extends2.default)({}, item, {
|
|
207
|
+
// Add the gap due to the position
|
|
208
|
+
positionX: item.positionX + gapX,
|
|
209
|
+
// Add the gap due to the position
|
|
210
|
+
positionY: item.positionY + gapY + (direction === 'row' ? rowMaxHeight[item.rowIndex] / 2 // Get the center of the entire row
|
|
211
|
+
: item.outerHeight / 2) // Get the center of the item
|
|
212
|
+
}));
|
|
213
|
+
}, [seriesToDisplay, position.horizontal, position.vertical, getItemSpace, labelStyle, direction, availableWidth, availableHeight, itemGap, padding.left, padding.right, padding.top, padding.bottom, totalWidth, totalHeight]);
|
|
166
214
|
if (hidden) {
|
|
167
215
|
return null;
|
|
168
216
|
}
|
|
169
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
className: classes.label,
|
|
196
|
-
children: label
|
|
197
|
-
})]
|
|
198
|
-
}, id))
|
|
217
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.NoSsr, {
|
|
218
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsLegendRoot, {
|
|
219
|
+
className: classes.root,
|
|
220
|
+
children: seriesWithPosition.map(({
|
|
221
|
+
id,
|
|
222
|
+
label,
|
|
223
|
+
color,
|
|
224
|
+
positionX,
|
|
225
|
+
positionY
|
|
226
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
227
|
+
className: classes.series,
|
|
228
|
+
transform: `translate(${positionX} ${positionY})`,
|
|
229
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
230
|
+
className: classes.mark,
|
|
231
|
+
y: -itemMarkHeight / 2,
|
|
232
|
+
width: itemMarkWidth,
|
|
233
|
+
height: itemMarkHeight,
|
|
234
|
+
fill: color
|
|
235
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsText.ChartsText, {
|
|
236
|
+
style: labelStyle,
|
|
237
|
+
text: label,
|
|
238
|
+
x: itemMarkWidth + markGap,
|
|
239
|
+
y: 0
|
|
240
|
+
})]
|
|
241
|
+
}, id))
|
|
242
|
+
})
|
|
199
243
|
});
|
|
200
244
|
}
|
|
201
245
|
function ChartsLegend(inProps) {
|
|
@@ -206,7 +250,6 @@ function ChartsLegend(inProps) {
|
|
|
206
250
|
const {
|
|
207
251
|
position,
|
|
208
252
|
direction,
|
|
209
|
-
offset,
|
|
210
253
|
hidden,
|
|
211
254
|
slots,
|
|
212
255
|
slotProps
|
|
@@ -225,7 +268,6 @@ function ChartsLegend(inProps) {
|
|
|
225
268
|
additionalProps: {
|
|
226
269
|
position,
|
|
227
270
|
direction,
|
|
228
|
-
offset,
|
|
229
271
|
classes,
|
|
230
272
|
drawingArea,
|
|
231
273
|
series,
|
|
@@ -9,5 +9,4 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getChartsLegendUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiChartsLegend', slot);
|
|
11
11
|
}
|
|
12
|
-
const legendClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsLegend', ['root', 'series', 'mark', 'label', 'column', 'row']);
|
|
13
|
-
exports.legendClasses = legendClasses;
|
|
12
|
+
const legendClasses = exports.legendClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsLegend', ['root', 'series', 'mark', 'label', 'column', 'row']);
|
package/ChartsLegend/utils.d.ts
CHANGED
|
@@ -5,10 +5,5 @@ export type AnchorPosition = {
|
|
|
5
5
|
horizontal: AnchorX;
|
|
6
6
|
vertical: AnchorY;
|
|
7
7
|
};
|
|
8
|
-
export type
|
|
9
|
-
direction?: 'row' | 'column';
|
|
10
|
-
markSize?: number;
|
|
11
|
-
itemWidth?: number;
|
|
12
|
-
spacing?: number;
|
|
13
|
-
};
|
|
8
|
+
export type Direction = 'row' | 'column';
|
|
14
9
|
export declare function getSeriesToDisplay(series: FormattedSeries): import("../models/seriesType/config").LegendParams[];
|
package/ChartsSurface.d.ts
CHANGED
package/ChartsSurface.js
CHANGED
|
@@ -7,25 +7,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ChartsSurface = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
-
var
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _useAxisEvents = require("./hooks/useAxisEvents");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className"
|
|
15
|
-
function _getRequireWildcardCache(
|
|
16
|
-
function _interopRequireWildcard(
|
|
17
|
-
const ChartChartsSurfaceStyles = (0,
|
|
14
|
+
const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className"];
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
const ChartChartsSurfaceStyles = (0, _styles.styled)('svg', {
|
|
18
18
|
name: 'MuiChartsSurface',
|
|
19
19
|
slot: 'Root'
|
|
20
20
|
})(() => ({}));
|
|
21
|
-
const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props, ref) {
|
|
21
|
+
const ChartsSurface = exports.ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props, ref) {
|
|
22
22
|
const {
|
|
23
23
|
children,
|
|
24
24
|
width,
|
|
25
25
|
height,
|
|
26
26
|
viewBox,
|
|
27
|
-
disableAxisListener = false
|
|
28
|
-
sx
|
|
27
|
+
disableAxisListener = false
|
|
29
28
|
} = props,
|
|
30
29
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
31
30
|
const svgView = (0, _extends2.default)({
|
|
@@ -39,14 +38,7 @@ const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props
|
|
|
39
38
|
width: width,
|
|
40
39
|
height: height,
|
|
41
40
|
viewBox: `${svgView.x} ${svgView.y} ${svgView.width} ${svgView.height}`,
|
|
42
|
-
ref: ref
|
|
43
|
-
sx: [{
|
|
44
|
-
'--ChartsLegend-itemWidth': '100px',
|
|
45
|
-
'--ChartsLegend-itemMarkSize': '20px',
|
|
46
|
-
'--ChartsLegend-rootSpacing': '5px',
|
|
47
|
-
'--ChartsLegend-labelSpacing': '5px',
|
|
48
|
-
'--ChartsLegend-rootOffsetY': '-20px'
|
|
49
|
-
}, ...(Array.isArray(sx) ? sx : [sx])]
|
|
41
|
+
ref: ref
|
|
50
42
|
}, other, {
|
|
51
43
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
|
|
52
44
|
children: props.title
|
|
@@ -54,5 +46,4 @@ const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props
|
|
|
54
46
|
children: props.desc
|
|
55
47
|
}), children]
|
|
56
48
|
}));
|
|
57
|
-
});
|
|
58
|
-
exports.ChartsSurface = ChartsSurface;
|
|
49
|
+
});
|
|
@@ -35,6 +35,7 @@ export declare function DefaultChartsAxisContent(props: ChartsAxisContentProps):
|
|
|
35
35
|
export declare function ChartsAxisTooltipContent(props: {
|
|
36
36
|
axisData: AxisInteractionData;
|
|
37
37
|
content?: React.ElementType<ChartsAxisContentProps>;
|
|
38
|
+
contentProps?: Partial<ChartsAxisContentProps>;
|
|
38
39
|
sx?: SxProps<Theme>;
|
|
39
40
|
classes: ChartsAxisContentProps['classes'];
|
|
40
41
|
}): React.JSX.Element;
|
|
@@ -6,14 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.ChartsAxisTooltipContent = ChartsAxisTooltipContent;
|
|
8
8
|
exports.DefaultChartsAxisContent = DefaultChartsAxisContent;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
10
|
var React = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
12
|
+
var _utils = require("@mui/base/utils");
|
|
11
13
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
12
14
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
13
15
|
var _ChartsTooltipTable = require("./ChartsTooltipTable");
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
function _getRequireWildcardCache(
|
|
16
|
-
function _interopRequireWildcard(
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
17
19
|
function DefaultChartsAxisContent(props) {
|
|
18
20
|
const {
|
|
19
21
|
series,
|
|
@@ -29,7 +31,6 @@ function DefaultChartsAxisContent(props) {
|
|
|
29
31
|
const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
|
|
30
32
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
|
|
31
33
|
sx: sx,
|
|
32
|
-
variant: "outlined",
|
|
33
34
|
className: classes.root,
|
|
34
35
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipTable, {
|
|
35
36
|
children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
|
|
@@ -48,27 +49,33 @@ function DefaultChartsAxisContent(props) {
|
|
|
48
49
|
label,
|
|
49
50
|
valueFormatter,
|
|
50
51
|
data
|
|
51
|
-
}) =>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
52
|
+
}) => {
|
|
53
|
+
const formattedValue = valueFormatter(data[dataIndex]);
|
|
54
|
+
if (formattedValue == null) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
|
|
58
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
59
|
+
className: classes.markCell,
|
|
60
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
|
|
61
|
+
ownerState: {
|
|
62
|
+
color
|
|
63
|
+
},
|
|
64
|
+
boxShadow: 1
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
67
|
+
className: classes.labelCell,
|
|
68
|
+
children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
69
|
+
children: label
|
|
70
|
+
}) : null
|
|
71
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
|
|
72
|
+
className: classes.valueCell,
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
74
|
+
children: formattedValue
|
|
75
|
+
})
|
|
76
|
+
})]
|
|
77
|
+
}, id);
|
|
78
|
+
})
|
|
72
79
|
})]
|
|
73
80
|
})
|
|
74
81
|
});
|
|
@@ -76,6 +83,7 @@ function DefaultChartsAxisContent(props) {
|
|
|
76
83
|
function ChartsAxisTooltipContent(props) {
|
|
77
84
|
const {
|
|
78
85
|
content,
|
|
86
|
+
contentProps,
|
|
79
87
|
axisData,
|
|
80
88
|
sx,
|
|
81
89
|
classes
|
|
@@ -108,13 +116,19 @@ function ChartsAxisTooltipContent(props) {
|
|
|
108
116
|
return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
|
|
109
117
|
}, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
|
|
110
118
|
const Content = content ?? DefaultChartsAxisContent;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
const chartTooltipContentProps = (0, _utils.useSlotProps)({
|
|
120
|
+
elementType: Content,
|
|
121
|
+
externalSlotProps: contentProps,
|
|
122
|
+
additionalProps: {
|
|
123
|
+
axisData,
|
|
124
|
+
series: relevantSeries,
|
|
125
|
+
axis: relevantAxis,
|
|
126
|
+
dataIndex,
|
|
127
|
+
axisValue,
|
|
128
|
+
sx,
|
|
129
|
+
classes
|
|
130
|
+
},
|
|
131
|
+
ownerState: {}
|
|
119
132
|
});
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
|
|
120
134
|
}
|
|
@@ -3,7 +3,7 @@ import { SxProps, Theme } from '@mui/material/styles';
|
|
|
3
3
|
import { ItemInteractionData } from '../context/InteractionProvider';
|
|
4
4
|
import { ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
|
|
5
5
|
import { ChartsTooltipClasses } from './tooltipClasses';
|
|
6
|
-
export type ChartsItemContentProps<T extends ChartSeriesType> = {
|
|
6
|
+
export type ChartsItemContentProps<T extends ChartSeriesType = ChartSeriesType> = {
|
|
7
7
|
/**
|
|
8
8
|
* The data used to identify the triggered item.
|
|
9
9
|
*/
|
|
@@ -18,10 +18,11 @@ export type ChartsItemContentProps<T extends ChartSeriesType> = {
|
|
|
18
18
|
classes: ChartsTooltipClasses;
|
|
19
19
|
sx?: SxProps<Theme>;
|
|
20
20
|
};
|
|
21
|
-
export declare function DefaultChartsItemContent<T extends ChartSeriesType>(props: ChartsItemContentProps<T>): React.JSX.Element | null;
|
|
21
|
+
export declare function DefaultChartsItemContent<T extends ChartSeriesType = ChartSeriesType>(props: ChartsItemContentProps<T>): React.JSX.Element | null;
|
|
22
22
|
export declare function ChartsItemTooltipContent<T extends ChartSeriesType>(props: {
|
|
23
23
|
itemData: ItemInteractionData<T>;
|
|
24
24
|
content?: React.ElementType<ChartsItemContentProps<T>>;
|
|
25
|
+
contentProps?: Partial<ChartsItemContentProps<T>>;
|
|
25
26
|
sx?: SxProps<Theme>;
|
|
26
27
|
classes: ChartsItemContentProps<T>['classes'];
|
|
27
28
|
}): React.JSX.Element;
|