@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
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import Typography from '@mui/material/Typography';
|
|
4
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
3
5
|
import { SeriesContext } from '../context/SeriesContextProvider';
|
|
4
6
|
import { CartesianContext } from '../context/CartesianContextProvider';
|
|
5
7
|
import { ChartsTooltipCell, ChartsTooltipPaper, ChartsTooltipTable, ChartsTooltipMark, ChartsTooltipRow } from './ChartsTooltipTable';
|
|
@@ -20,7 +22,6 @@ export function DefaultChartsAxisContent(props) {
|
|
|
20
22
|
const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
|
|
21
23
|
return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
|
|
22
24
|
sx: sx,
|
|
23
|
-
variant: "outlined",
|
|
24
25
|
className: classes.root,
|
|
25
26
|
children: /*#__PURE__*/_jsxs(ChartsTooltipTable, {
|
|
26
27
|
children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/_jsx("thead", {
|
|
@@ -39,27 +40,33 @@ export function DefaultChartsAxisContent(props) {
|
|
|
39
40
|
label,
|
|
40
41
|
valueFormatter,
|
|
41
42
|
data
|
|
42
|
-
}) =>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
43
|
+
}) => {
|
|
44
|
+
const formattedValue = valueFormatter(data[dataIndex]);
|
|
45
|
+
if (formattedValue == null) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/_jsxs(ChartsTooltipRow, {
|
|
49
|
+
children: [/*#__PURE__*/_jsx(ChartsTooltipCell, {
|
|
50
|
+
className: classes.markCell,
|
|
51
|
+
children: /*#__PURE__*/_jsx(ChartsTooltipMark, {
|
|
52
|
+
ownerState: {
|
|
53
|
+
color
|
|
54
|
+
},
|
|
55
|
+
boxShadow: 1
|
|
56
|
+
})
|
|
57
|
+
}), /*#__PURE__*/_jsx(ChartsTooltipCell, {
|
|
58
|
+
className: classes.labelCell,
|
|
59
|
+
children: label ? /*#__PURE__*/_jsx(Typography, {
|
|
60
|
+
children: label
|
|
61
|
+
}) : null
|
|
62
|
+
}), /*#__PURE__*/_jsx(ChartsTooltipCell, {
|
|
63
|
+
className: classes.valueCell,
|
|
64
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
65
|
+
children: formattedValue
|
|
66
|
+
})
|
|
67
|
+
})]
|
|
68
|
+
}, id);
|
|
69
|
+
})
|
|
63
70
|
})]
|
|
64
71
|
})
|
|
65
72
|
});
|
|
@@ -67,6 +74,7 @@ export function DefaultChartsAxisContent(props) {
|
|
|
67
74
|
export function ChartsAxisTooltipContent(props) {
|
|
68
75
|
const {
|
|
69
76
|
content,
|
|
77
|
+
contentProps,
|
|
70
78
|
axisData,
|
|
71
79
|
sx,
|
|
72
80
|
classes
|
|
@@ -99,13 +107,19 @@ export function ChartsAxisTooltipContent(props) {
|
|
|
99
107
|
return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
|
|
100
108
|
}, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
|
|
101
109
|
const Content = content ?? DefaultChartsAxisContent;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
const chartTooltipContentProps = useSlotProps({
|
|
111
|
+
elementType: Content,
|
|
112
|
+
externalSlotProps: contentProps,
|
|
113
|
+
additionalProps: {
|
|
114
|
+
axisData,
|
|
115
|
+
series: relevantSeries,
|
|
116
|
+
axis: relevantAxis,
|
|
117
|
+
dataIndex,
|
|
118
|
+
axisValue,
|
|
119
|
+
sx,
|
|
120
|
+
classes
|
|
121
|
+
},
|
|
122
|
+
ownerState: {}
|
|
110
123
|
});
|
|
124
|
+
return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
|
|
111
125
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import * as React from 'react';
|
|
3
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
2
4
|
import { SeriesContext } from '../context/SeriesContextProvider';
|
|
3
5
|
import { ChartsTooltipTable, ChartsTooltipCell, ChartsTooltipMark, ChartsTooltipPaper, ChartsTooltipRow } from './ChartsTooltipTable';
|
|
4
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -29,7 +31,6 @@ export function DefaultChartsItemContent(props) {
|
|
|
29
31
|
const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
|
|
30
32
|
return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
|
|
31
33
|
sx: sx,
|
|
32
|
-
variant: "outlined",
|
|
33
34
|
className: classes.root,
|
|
34
35
|
children: /*#__PURE__*/_jsx(ChartsTooltipTable, {
|
|
35
36
|
children: /*#__PURE__*/_jsx("tbody", {
|
|
@@ -58,14 +59,21 @@ export function ChartsItemTooltipContent(props) {
|
|
|
58
59
|
content,
|
|
59
60
|
itemData,
|
|
60
61
|
sx,
|
|
61
|
-
classes
|
|
62
|
+
classes,
|
|
63
|
+
contentProps
|
|
62
64
|
} = props;
|
|
63
65
|
const series = React.useContext(SeriesContext)[itemData.type].series[itemData.seriesId];
|
|
64
66
|
const Content = content ?? DefaultChartsItemContent;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
const chartTooltipContentProps = useSlotProps({
|
|
68
|
+
elementType: Content,
|
|
69
|
+
externalSlotProps: contentProps,
|
|
70
|
+
additionalProps: {
|
|
71
|
+
itemData,
|
|
72
|
+
series,
|
|
73
|
+
sx,
|
|
74
|
+
classes
|
|
75
|
+
},
|
|
76
|
+
ownerState: {}
|
|
70
77
|
});
|
|
78
|
+
return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
|
|
71
79
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
5
|
+
import { styled } from '@mui/material/styles';
|
|
6
|
+
import { Popper } from '@mui/base/Popper';
|
|
7
|
+
import { NoSsr } from '@mui/base/NoSsr';
|
|
8
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
6
9
|
import { InteractionContext } from '../context/InteractionProvider';
|
|
7
10
|
import { generateVirtualElement, useMouseTracker, getTootipHasData } from './utils';
|
|
8
11
|
import { ChartsItemTooltipContent } from './ChartsItemTooltipContent';
|
|
@@ -21,11 +24,33 @@ const useUtilityClasses = ownerState => {
|
|
|
21
24
|
};
|
|
22
25
|
return composeClasses(slots, getTooltipUtilityClass, classes);
|
|
23
26
|
};
|
|
27
|
+
const ChartsTooltipRoot = styled(Popper, {
|
|
28
|
+
name: 'MuiChartsTooltip',
|
|
29
|
+
slot: 'Root',
|
|
30
|
+
overridesResolver: (_, styles) => styles.root
|
|
31
|
+
})(({
|
|
32
|
+
theme
|
|
33
|
+
}) => ({
|
|
34
|
+
pointerEvents: 'none',
|
|
35
|
+
zIndex: theme.zIndex.modal
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Demos:
|
|
40
|
+
*
|
|
41
|
+
* - [ChartsTooltip](https://mui.com/x/react-charts/tooltip/)
|
|
42
|
+
*
|
|
43
|
+
* API:
|
|
44
|
+
*
|
|
45
|
+
* - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
|
|
46
|
+
*/
|
|
24
47
|
function ChartsTooltip(props) {
|
|
25
48
|
const {
|
|
26
49
|
trigger = 'axis',
|
|
27
50
|
itemContent,
|
|
28
|
-
axisContent
|
|
51
|
+
axisContent,
|
|
52
|
+
slots,
|
|
53
|
+
slotProps
|
|
29
54
|
} = props;
|
|
30
55
|
const mousePosition = useMouseTracker();
|
|
31
56
|
const {
|
|
@@ -38,33 +63,40 @@ function ChartsTooltip(props) {
|
|
|
38
63
|
const classes = useUtilityClasses({
|
|
39
64
|
classes: props.classes
|
|
40
65
|
});
|
|
66
|
+
const PopperComponent = slots?.popper ?? ChartsTooltipRoot;
|
|
67
|
+
const popperProps = useSlotProps({
|
|
68
|
+
elementType: PopperComponent,
|
|
69
|
+
externalSlotProps: slotProps?.popper,
|
|
70
|
+
additionalProps: {
|
|
71
|
+
open: popperOpen,
|
|
72
|
+
placement: 'right-start',
|
|
73
|
+
anchorEl: generateVirtualElement(mousePosition)
|
|
74
|
+
},
|
|
75
|
+
ownerState: {}
|
|
76
|
+
});
|
|
41
77
|
if (trigger === 'none') {
|
|
42
78
|
return null;
|
|
43
79
|
}
|
|
44
80
|
return /*#__PURE__*/_jsx(NoSsr, {
|
|
45
|
-
children: popperOpen && /*#__PURE__*/_jsx(
|
|
46
|
-
open: popperOpen,
|
|
47
|
-
placement: "right-start",
|
|
48
|
-
anchorEl: generateVirtualElement(mousePosition),
|
|
49
|
-
style: {
|
|
50
|
-
pointerEvents: 'none'
|
|
51
|
-
},
|
|
81
|
+
children: popperOpen && /*#__PURE__*/_jsx(PopperComponent, _extends({}, popperProps, {
|
|
52
82
|
children: trigger === 'item' ? /*#__PURE__*/_jsx(ChartsItemTooltipContent, {
|
|
53
83
|
itemData: displayedData,
|
|
54
|
-
content: itemContent,
|
|
84
|
+
content: slots?.itemContent ?? itemContent,
|
|
85
|
+
contentProps: slotProps?.itemContent,
|
|
55
86
|
sx: {
|
|
56
87
|
mx: 2
|
|
57
88
|
},
|
|
58
89
|
classes: classes
|
|
59
90
|
}) : /*#__PURE__*/_jsx(ChartsAxisTooltipContent, {
|
|
60
91
|
axisData: displayedData,
|
|
61
|
-
content: axisContent,
|
|
92
|
+
content: slots?.axisContent ?? axisContent,
|
|
93
|
+
contentProps: slotProps?.axisContent,
|
|
62
94
|
sx: {
|
|
63
95
|
mx: 2
|
|
64
96
|
},
|
|
65
97
|
classes: classes
|
|
66
98
|
})
|
|
67
|
-
})
|
|
99
|
+
}))
|
|
68
100
|
});
|
|
69
101
|
}
|
|
70
102
|
process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
|
|
@@ -74,6 +106,7 @@ process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
|
|
|
74
106
|
// ----------------------------------------------------------------------
|
|
75
107
|
/**
|
|
76
108
|
* Component to override the tooltip content when triger is set to 'axis'.
|
|
109
|
+
* @deprecated Use slots.axisContent instead
|
|
77
110
|
*/
|
|
78
111
|
axisContent: PropTypes.elementType,
|
|
79
112
|
/**
|
|
@@ -82,8 +115,19 @@ process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
|
|
|
82
115
|
classes: PropTypes.object,
|
|
83
116
|
/**
|
|
84
117
|
* Component to override the tooltip content when triger is set to 'item'.
|
|
118
|
+
* @deprecated Use slots.itemContent instead
|
|
85
119
|
*/
|
|
86
120
|
itemContent: PropTypes.elementType,
|
|
121
|
+
/**
|
|
122
|
+
* The props used for each component slot.
|
|
123
|
+
* @default {}
|
|
124
|
+
*/
|
|
125
|
+
slotProps: PropTypes.object,
|
|
126
|
+
/**
|
|
127
|
+
* Overridable component slots.
|
|
128
|
+
* @default {}
|
|
129
|
+
*/
|
|
130
|
+
slots: PropTypes.object,
|
|
87
131
|
/**
|
|
88
132
|
* Select the kind of tooltip to display
|
|
89
133
|
* - 'item': Shows data about the item below the mouse.
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import Box from '@mui/
|
|
2
|
-
import Paper from '@mui/material/Paper';
|
|
1
|
+
import Box from '@mui/system/Box';
|
|
3
2
|
import { styled } from '@mui/material/styles';
|
|
4
3
|
import { tooltipClasses } from './tooltipClasses';
|
|
5
|
-
export const ChartsTooltipPaper = styled(
|
|
4
|
+
export const ChartsTooltipPaper = styled('div', {
|
|
6
5
|
name: 'MuiChartsTooltip',
|
|
7
|
-
slot: '
|
|
8
|
-
})({
|
|
6
|
+
slot: 'Container'
|
|
7
|
+
})(({
|
|
8
|
+
theme
|
|
9
|
+
}) => ({
|
|
10
|
+
backgroundColor: (theme.vars || theme).palette.background.paper,
|
|
11
|
+
color: (theme.vars || theme).palette.text.primary,
|
|
12
|
+
transition: theme.transitions.create('box-shadow'),
|
|
13
|
+
border: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
14
|
+
borderRadius: theme.shape.borderRadius
|
|
15
|
+
}));
|
|
9
16
|
export const ChartsTooltipTable = styled('table', {
|
|
10
17
|
name: 'MuiChartsTooltip',
|
|
11
18
|
slot: 'Table'
|
|
@@ -14,7 +21,7 @@ export const ChartsTooltipTable = styled('table', {
|
|
|
14
21
|
}) => ({
|
|
15
22
|
borderSpacing: 0,
|
|
16
23
|
'& thead td': {
|
|
17
|
-
borderBottom: `solid ${theme.palette.divider} 1px`
|
|
24
|
+
borderBottom: `solid ${(theme.vars || theme).palette.divider} 1px`
|
|
18
25
|
}
|
|
19
26
|
}));
|
|
20
27
|
export const ChartsTooltipRow = styled('tr', {
|
|
@@ -37,13 +44,13 @@ export const ChartsTooltipCell = styled('td', {
|
|
|
37
44
|
theme
|
|
38
45
|
}) => ({
|
|
39
46
|
verticalAlign: 'middle',
|
|
40
|
-
color: theme.palette.text.secondary,
|
|
47
|
+
color: (theme.vars || theme).palette.text.secondary,
|
|
41
48
|
[`&.${tooltipClasses.labelCell}`]: {
|
|
42
49
|
paddingLeft: theme.spacing(1)
|
|
43
50
|
},
|
|
44
51
|
[`&.${tooltipClasses.valueCell}`]: {
|
|
45
52
|
paddingLeft: theme.spacing(4),
|
|
46
|
-
color: theme.palette.text.primary
|
|
53
|
+
color: (theme.vars || theme).palette.text.primary
|
|
47
54
|
},
|
|
48
55
|
'td:first-of-type&': {
|
|
49
56
|
paddingLeft: theme.spacing(2)
|
|
@@ -63,7 +70,7 @@ export const ChartsTooltipMark = styled(Box, {
|
|
|
63
70
|
height: theme.spacing(1),
|
|
64
71
|
borderRadius: '50%',
|
|
65
72
|
backgroundColor: ownerState.color,
|
|
66
|
-
borderColor: theme.palette.background.paper,
|
|
67
|
-
border: `solid ${theme.palette.background.paper} ${theme.spacing(0.25)}`,
|
|
73
|
+
borderColor: (theme.vars || theme).palette.background.paper,
|
|
74
|
+
border: `solid ${(theme.vars || theme).palette.background.paper} ${theme.spacing(0.25)}`,
|
|
68
75
|
boxSizing: 'content-box'
|
|
69
76
|
}));
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["scale", "
|
|
3
|
+
const _excluded = ["scale", "tickNumber"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { useSlotProps } from '@mui/base/utils';
|
|
6
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
7
8
|
import { useThemeProps, useTheme } from '@mui/material/styles';
|
|
8
9
|
import { CartesianContext } from '../context/CartesianContextProvider';
|
|
9
10
|
import { DrawingContext } from '../context/DrawingProvider';
|
|
10
11
|
import useTicks from '../hooks/useTicks';
|
|
11
12
|
import { getAxisUtilityClass } from '../ChartsAxis/axisClasses';
|
|
12
|
-
import {
|
|
13
|
+
import { AxisRoot } from '../internals/components/AxisSharedComponents';
|
|
14
|
+
import { ChartsText, getWordsByLines } from '../internals/components/ChartsText';
|
|
15
|
+
import { getMinXTranslation } from '../internals/geometry';
|
|
16
|
+
import { useMounted } from '../hooks/useMounted';
|
|
13
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
18
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
19
|
const useUtilityClasses = ownerState => {
|
|
@@ -27,14 +31,76 @@ const useUtilityClasses = ownerState => {
|
|
|
27
31
|
};
|
|
28
32
|
return composeClasses(slots, getAxisUtilityClass, classes);
|
|
29
33
|
};
|
|
34
|
+
function addLabelDimension(xTicks, {
|
|
35
|
+
tickLabelStyle: style,
|
|
36
|
+
tickLabelInterval,
|
|
37
|
+
isMounted
|
|
38
|
+
}) {
|
|
39
|
+
const withDimension = xTicks.map(tick => {
|
|
40
|
+
if (!isMounted || tick.formattedValue === undefined) {
|
|
41
|
+
return _extends({}, tick, {
|
|
42
|
+
width: 0,
|
|
43
|
+
height: 0
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const tickSizes = getWordsByLines({
|
|
47
|
+
style,
|
|
48
|
+
needsComputation: true,
|
|
49
|
+
text: tick.formattedValue
|
|
50
|
+
});
|
|
51
|
+
return _extends({}, tick, {
|
|
52
|
+
width: Math.max(...tickSizes.map(size => size.width)),
|
|
53
|
+
height: Math.max(tickSizes.length * tickSizes[0].height)
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
if (typeof tickLabelInterval === 'function') {
|
|
57
|
+
return withDimension.map((item, index) => _extends({}, item, {
|
|
58
|
+
skipLabel: !tickLabelInterval(item.value, index)
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Filter label to avoid overlap
|
|
63
|
+
let textStart = 0;
|
|
64
|
+
let textEnd = 0;
|
|
65
|
+
return withDimension.map((item, labelIndex) => {
|
|
66
|
+
const {
|
|
67
|
+
width,
|
|
68
|
+
offset,
|
|
69
|
+
labelOffset,
|
|
70
|
+
height
|
|
71
|
+
} = item;
|
|
72
|
+
const distance = getMinXTranslation(width, height, style?.angle);
|
|
73
|
+
const textPosition = offset + labelOffset;
|
|
74
|
+
const gapRatio = 1.2; // Ratio applied to the minimal distance to add some margin.
|
|
75
|
+
|
|
76
|
+
textStart = textPosition - gapRatio * distance / 2;
|
|
77
|
+
if (labelIndex > 0 && textStart < textEnd) {
|
|
78
|
+
// Except for the first label, we skip all label that overlap with the last accepted.
|
|
79
|
+
// Notice that the early return prevents `textEnd` from being updated.
|
|
80
|
+
return _extends({}, item, {
|
|
81
|
+
skipLabel: true
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
textEnd = textPosition + gapRatio * distance / 2;
|
|
85
|
+
return item;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
30
88
|
const defaultProps = {
|
|
31
89
|
position: 'bottom',
|
|
32
90
|
disableLine: false,
|
|
33
91
|
disableTicks: false,
|
|
34
|
-
tickFontSize: 12,
|
|
35
|
-
labelFontSize: 14,
|
|
36
92
|
tickSize: 6
|
|
37
93
|
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Demos:
|
|
97
|
+
*
|
|
98
|
+
* - [Axis](https://mui.com/x/react-charts/axis/)
|
|
99
|
+
*
|
|
100
|
+
* API:
|
|
101
|
+
*
|
|
102
|
+
* - [ChartsXAxis API](https://mui.com/x/api/charts/charts-x-axis/)
|
|
103
|
+
*/
|
|
38
104
|
function ChartsXAxis(inProps) {
|
|
39
105
|
const props = useThemeProps({
|
|
40
106
|
props: _extends({}, defaultProps, inProps),
|
|
@@ -46,23 +112,28 @@ function ChartsXAxis(inProps) {
|
|
|
46
112
|
xAxis: {
|
|
47
113
|
[_props$axisId]: {
|
|
48
114
|
scale: xScale,
|
|
49
|
-
|
|
115
|
+
tickNumber
|
|
50
116
|
}
|
|
51
117
|
}
|
|
52
118
|
} = _React$useContext,
|
|
53
119
|
settings = _objectWithoutPropertiesLoose(_React$useContext.xAxis[_props$axisId], _excluded);
|
|
120
|
+
const isMounted = useMounted();
|
|
54
121
|
const defaultizedProps = _extends({}, defaultProps, settings, props);
|
|
55
122
|
const {
|
|
56
123
|
position,
|
|
57
124
|
disableLine,
|
|
58
125
|
disableTicks,
|
|
59
|
-
|
|
126
|
+
tickLabelStyle,
|
|
60
127
|
label,
|
|
128
|
+
labelStyle,
|
|
129
|
+
tickFontSize,
|
|
61
130
|
labelFontSize,
|
|
62
131
|
tickSize: tickSizeProp,
|
|
63
132
|
valueFormatter,
|
|
64
133
|
slots,
|
|
65
|
-
slotProps
|
|
134
|
+
slotProps,
|
|
135
|
+
tickInterval,
|
|
136
|
+
tickLabelInterval
|
|
66
137
|
} = defaultizedProps;
|
|
67
138
|
const theme = useTheme();
|
|
68
139
|
const classes = useUtilityClasses(_extends({}, defaultizedProps, {
|
|
@@ -75,20 +146,52 @@ function ChartsXAxis(inProps) {
|
|
|
75
146
|
height
|
|
76
147
|
} = React.useContext(DrawingContext);
|
|
77
148
|
const tickSize = disableTicks ? 4 : tickSizeProp;
|
|
149
|
+
const positionSign = position === 'bottom' ? 1 : -1;
|
|
150
|
+
const Line = slots?.axisLine ?? 'line';
|
|
151
|
+
const Tick = slots?.axisTick ?? 'line';
|
|
152
|
+
const TickLabel = slots?.axisTickLabel ?? ChartsText;
|
|
153
|
+
const Label = slots?.axisLabel ?? ChartsText;
|
|
154
|
+
const axisTickLabelProps = useSlotProps({
|
|
155
|
+
elementType: TickLabel,
|
|
156
|
+
externalSlotProps: slotProps?.axisTickLabel,
|
|
157
|
+
additionalProps: {
|
|
158
|
+
style: _extends({
|
|
159
|
+
textAnchor: 'middle',
|
|
160
|
+
dominantBaseline: position === 'bottom' ? 'hanging' : 'auto',
|
|
161
|
+
fontSize: tickFontSize ?? 12
|
|
162
|
+
}, tickLabelStyle),
|
|
163
|
+
className: classes.tickLabel
|
|
164
|
+
},
|
|
165
|
+
className: classes.tickLabel,
|
|
166
|
+
ownerState: {}
|
|
167
|
+
});
|
|
78
168
|
const xTicks = useTicks({
|
|
79
169
|
scale: xScale,
|
|
80
|
-
|
|
81
|
-
valueFormatter
|
|
170
|
+
tickNumber,
|
|
171
|
+
valueFormatter,
|
|
172
|
+
tickInterval
|
|
173
|
+
});
|
|
174
|
+
const xTicksWithDimension = addLabelDimension(xTicks, {
|
|
175
|
+
tickLabelStyle: axisTickLabelProps.style,
|
|
176
|
+
tickLabelInterval,
|
|
177
|
+
isMounted
|
|
82
178
|
});
|
|
83
|
-
const positionSigne = position === 'bottom' ? 1 : -1;
|
|
84
179
|
const labelRefPoint = {
|
|
85
180
|
x: left + width / 2,
|
|
86
|
-
y:
|
|
181
|
+
y: positionSign * (tickSize + 22)
|
|
87
182
|
};
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
183
|
+
const axisLabelProps = useSlotProps({
|
|
184
|
+
elementType: Label,
|
|
185
|
+
externalSlotProps: slotProps?.axisLabel,
|
|
186
|
+
additionalProps: {
|
|
187
|
+
style: _extends({
|
|
188
|
+
fontSize: labelFontSize ?? 14,
|
|
189
|
+
textAnchor: 'middle',
|
|
190
|
+
dominantBaseline: position === 'bottom' ? 'hanging' : 'auto'
|
|
191
|
+
}, labelStyle)
|
|
192
|
+
},
|
|
193
|
+
ownerState: {}
|
|
194
|
+
});
|
|
92
195
|
return /*#__PURE__*/_jsxs(AxisRoot, {
|
|
93
196
|
transform: `translate(0, ${position === 'bottom' ? top + height : top})`,
|
|
94
197
|
className: classes.root,
|
|
@@ -96,40 +199,33 @@ function ChartsXAxis(inProps) {
|
|
|
96
199
|
x1: xScale.range()[0],
|
|
97
200
|
x2: xScale.range()[1],
|
|
98
201
|
className: classes.line
|
|
99
|
-
}, slotProps?.axisLine)),
|
|
202
|
+
}, slotProps?.axisLine)), xTicksWithDimension.map(({
|
|
100
203
|
formattedValue,
|
|
101
204
|
offset,
|
|
102
|
-
labelOffset
|
|
205
|
+
labelOffset,
|
|
206
|
+
skipLabel
|
|
103
207
|
}, index) => {
|
|
104
208
|
const xTickLabel = labelOffset ?? 0;
|
|
105
|
-
const yTickLabel =
|
|
209
|
+
const yTickLabel = positionSign * (tickSize + 3);
|
|
106
210
|
return /*#__PURE__*/_jsxs("g", {
|
|
107
211
|
transform: `translate(${offset}, 0)`,
|
|
108
212
|
className: classes.tickContainer,
|
|
109
213
|
children: [!disableTicks && /*#__PURE__*/_jsx(Tick, _extends({
|
|
110
|
-
y2:
|
|
214
|
+
y2: positionSign * tickSize,
|
|
111
215
|
className: classes.tick
|
|
112
|
-
}, slotProps?.axisTick)), formattedValue !== undefined && /*#__PURE__*/_jsx(TickLabel, _extends({
|
|
216
|
+
}, slotProps?.axisTick)), formattedValue !== undefined && !skipLabel && /*#__PURE__*/_jsx(TickLabel, _extends({
|
|
113
217
|
x: xTickLabel,
|
|
114
|
-
y: yTickLabel
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
fontSize: tickFontSize
|
|
118
|
-
},
|
|
119
|
-
className: classes.tickLabel
|
|
120
|
-
}, slotProps?.axisTickLabel, {
|
|
121
|
-
children: formattedValue
|
|
218
|
+
y: yTickLabel
|
|
219
|
+
}, axisTickLabelProps, {
|
|
220
|
+
text: formattedValue.toString()
|
|
122
221
|
}))]
|
|
123
222
|
}, index);
|
|
124
|
-
}), label && /*#__PURE__*/_jsx(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
}, slotProps?.axisLabel, {
|
|
131
|
-
children: label
|
|
132
|
-
}))]
|
|
223
|
+
}), label && /*#__PURE__*/_jsx("g", {
|
|
224
|
+
className: classes.label,
|
|
225
|
+
children: /*#__PURE__*/_jsx(Label, _extends({}, labelRefPoint, axisLabelProps, {
|
|
226
|
+
text: label
|
|
227
|
+
}))
|
|
228
|
+
})]
|
|
133
229
|
});
|
|
134
230
|
}
|
|
135
231
|
process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
|
|
@@ -167,8 +263,13 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
|
|
|
167
263
|
/**
|
|
168
264
|
* The font size of the axis label.
|
|
169
265
|
* @default 14
|
|
266
|
+
* @deprecated Consider using `labelStyle.fontSize` instead.
|
|
170
267
|
*/
|
|
171
268
|
labelFontSize: PropTypes.number,
|
|
269
|
+
/**
|
|
270
|
+
* The style applied to the axis label.
|
|
271
|
+
*/
|
|
272
|
+
labelStyle: PropTypes.object,
|
|
172
273
|
/**
|
|
173
274
|
* Position of the axis.
|
|
174
275
|
*/
|
|
@@ -191,8 +292,28 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
|
|
|
191
292
|
/**
|
|
192
293
|
* The font size of the axis ticks text.
|
|
193
294
|
* @default 12
|
|
295
|
+
* @deprecated Consider using `tickLabelStyle.fontSize` instead.
|
|
194
296
|
*/
|
|
195
297
|
tickFontSize: PropTypes.number,
|
|
298
|
+
/**
|
|
299
|
+
* Defines which ticks are displayed. Its value can be:
|
|
300
|
+
* - 'auto' In such case the ticks are computed based on axis scale and other parameters.
|
|
301
|
+
* - a filtering function of the form `(value, index) => boolean` which is available only if the axis has a data property.
|
|
302
|
+
* - an array containing the values where ticks should be displayed.
|
|
303
|
+
* @default 'auto'
|
|
304
|
+
*/
|
|
305
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
306
|
+
/**
|
|
307
|
+
* Defines which ticks get its label displayed. Its value can be:
|
|
308
|
+
* - 'auto' In such case, labels are displayed if they do not overlap with the previous one.
|
|
309
|
+
* - a filtering function of the form (value, index) => boolean. Warning: the index is tick index, not data ones.
|
|
310
|
+
* @default 'auto'
|
|
311
|
+
*/
|
|
312
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
313
|
+
/**
|
|
314
|
+
* The style applied to ticks text.
|
|
315
|
+
*/
|
|
316
|
+
tickLabelStyle: PropTypes.object,
|
|
196
317
|
/**
|
|
197
318
|
* Maximal step between two ticks.
|
|
198
319
|
* When using time data, the value is assumed to be in ms.
|