@mui/x-charts 6.0.0-alpha.9 → 6.18.1
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 +26 -5
- package/BarChart/BarChart.js +93 -17
- 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 +797 -59
- package/ChartContainer/index.js +7 -5
- package/ChartsAxis/ChartsAxis.d.ts +9 -0
- package/ChartsAxis/ChartsAxis.js +33 -7
- package/ChartsAxis/axisClasses.d.ts +3 -3
- 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 +45 -24
- package/ChartsLegend/ChartsLegend.js +193 -151
- package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
- package/ChartsLegend/chartsLegendClasses.js +3 -4
- package/ChartsLegend/utils.d.ts +1 -6
- package/ChartsReferenceLine/ChartsReferenceLine.d.ts +10 -0
- package/ChartsReferenceLine/ChartsReferenceLine.js +78 -0
- package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +13 -0
- package/ChartsReferenceLine/ChartsXReferenceLine.js +112 -0
- package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +13 -0
- package/ChartsReferenceLine/ChartsYReferenceLine.js +112 -0
- package/ChartsReferenceLine/chartsReferenceLineClasses.d.ts +15 -0
- package/ChartsReferenceLine/chartsReferenceLineClasses.js +14 -0
- package/ChartsReferenceLine/common.d.ts +41 -0
- package/ChartsReferenceLine/common.js +27 -0
- package/ChartsReferenceLine/index.d.ts +2 -0
- package/ChartsReferenceLine/index.js +27 -0
- package/ChartsReferenceLine/package.json +6 -0
- package/ChartsSurface.d.ts +12 -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 +170 -45
- package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
- package/ChartsYAxis/ChartsYAxis.js +95 -38
- 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 +23 -3
- package/LineChart/LineChart.js +89 -17
- 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 +15 -4
- 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 +42 -10
- 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 +95 -18
- 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.d.ts +13 -3
- 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 +77 -16
- 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 +50 -7
- package/colorPalettes/colorPalettes.js +6 -12
- package/constants.js +5 -8
- package/context/CartesianContextProvider.d.ts +26 -1
- package/context/CartesianContextProvider.js +42 -16
- package/context/DrawingProvider.d.ts +25 -0
- package/context/DrawingProvider.js +18 -6
- package/context/HighlightProvider.d.ts +17 -0
- package/context/HighlightProvider.js +3 -4
- package/context/InteractionProvider.d.ts +6 -0
- package/context/InteractionProvider.js +3 -4
- package/context/SeriesContextProvider.d.ts +5 -0
- package/context/SeriesContextProvider.js +3 -4
- package/esm/BarChart/BarChart.js +90 -13
- 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 +32 -5
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
- package/esm/ChartsLegend/ChartsLegend.js +190 -144
- package/esm/ChartsLegend/chartsLegendClasses.js +1 -1
- package/esm/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
- package/esm/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
- package/esm/ChartsReferenceLine/common.js +20 -0
- package/esm/ChartsReferenceLine/index.js +2 -0
- 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 +168 -43
- package/esm/ChartsYAxis/ChartsYAxis.js +93 -36
- package/esm/LineChart/AreaElement.js +10 -0
- package/esm/LineChart/AreaPlot.js +26 -6
- package/esm/LineChart/LineChart.js +86 -13
- package/esm/LineChart/LineElement.js +10 -0
- package/esm/LineChart/LineHighlightElement.js +10 -0
- package/esm/LineChart/LineHighlightPlot.js +13 -2
- package/esm/LineChart/LinePlot.js +25 -14
- package/esm/LineChart/MarkElement.js +11 -1
- package/esm/LineChart/MarkPlot.js +40 -8
- 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 +93 -16
- 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 +74 -12
- package/esm/ScatterChart/ScatterPlot.js +10 -0
- package/esm/SparkLineChart/SparkLineChart.js +47 -3
- package/esm/constants.js +1 -1
- package/esm/context/CartesianContextProvider.js +41 -14
- package/esm/context/DrawingProvider.js +14 -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/index.js +1 -0
- 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.d.ts +1 -0
- package/index.js +12 -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/isBandScale.d.ts +3 -1
- package/internals/stackSeries.js +2 -4
- package/internals/utils.d.ts +5 -0
- package/legacy/BarChart/BarChart.js +90 -13
- 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 +32 -5
- package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
- package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
- package/legacy/ChartsLegend/ChartsLegend.js +205 -142
- package/legacy/ChartsLegend/chartsLegendClasses.js +1 -1
- package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
- package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
- package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
- package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
- package/legacy/ChartsReferenceLine/common.js +20 -0
- package/legacy/ChartsReferenceLine/index.js +2 -0
- 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 +176 -50
- package/legacy/ChartsYAxis/ChartsYAxis.js +97 -41
- package/legacy/LineChart/AreaElement.js +10 -0
- package/legacy/LineChart/AreaPlot.js +31 -7
- package/legacy/LineChart/LineChart.js +86 -13
- package/legacy/LineChart/LineElement.js +10 -0
- package/legacy/LineChart/LineHighlightElement.js +10 -0
- package/legacy/LineChart/LineHighlightPlot.js +13 -2
- package/legacy/LineChart/LinePlot.js +29 -12
- package/legacy/LineChart/MarkElement.js +11 -1
- package/legacy/LineChart/MarkPlot.js +39 -8
- 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 +93 -16
- 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 +74 -12
- package/legacy/ScatterChart/ScatterPlot.js +10 -0
- package/legacy/SparkLineChart/SparkLineChart.js +47 -3
- package/legacy/constants.js +1 -1
- package/legacy/context/CartesianContextProvider.js +41 -14
- package/legacy/context/DrawingProvider.js +14 -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 +2 -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 +58 -20
- package/models/layout.d.ts +13 -6
- package/models/seriesType/common.d.ts +16 -0
- package/models/seriesType/line.d.ts +8 -3
- package/models/seriesType/pie.d.ts +5 -1
- package/modern/BarChart/BarChart.js +90 -13
- 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 +31 -5
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
- package/modern/ChartsLegend/ChartsLegend.js +190 -144
- package/modern/ChartsLegend/chartsLegendClasses.js +1 -1
- package/modern/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
- package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +104 -0
- package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +104 -0
- package/modern/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
- package/modern/ChartsReferenceLine/common.js +20 -0
- package/modern/ChartsReferenceLine/index.js +2 -0
- 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 +167 -42
- package/modern/ChartsYAxis/ChartsYAxis.js +92 -35
- package/modern/LineChart/AreaElement.js +10 -0
- package/modern/LineChart/AreaPlot.js +25 -6
- package/modern/LineChart/LineChart.js +86 -13
- package/modern/LineChart/LineElement.js +10 -0
- package/modern/LineChart/LineHighlightElement.js +10 -0
- package/modern/LineChart/LineHighlightPlot.js +13 -2
- package/modern/LineChart/LinePlot.js +23 -10
- package/modern/LineChart/MarkElement.js +11 -1
- package/modern/LineChart/MarkPlot.js +40 -8
- 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 +93 -16
- 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 +74 -12
- package/modern/ScatterChart/ScatterPlot.js +10 -0
- package/modern/SparkLineChart/SparkLineChart.js +47 -3
- package/modern/constants.js +1 -1
- package/modern/context/CartesianContextProvider.js +40 -13
- package/modern/context/DrawingProvider.js +14 -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 +2 -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
|
@@ -49,7 +49,7 @@ var useChartDimensions = function useChartDimensions(inWidth, inHeight) {
|
|
|
49
49
|
var animationFrame;
|
|
50
50
|
var observer = new ResizeObserver(function () {
|
|
51
51
|
// See https://github.com/mui/mui-x/issues/8733
|
|
52
|
-
animationFrame =
|
|
52
|
+
animationFrame = requestAnimationFrame(function () {
|
|
53
53
|
computeSize();
|
|
54
54
|
});
|
|
55
55
|
});
|
|
@@ -114,10 +114,10 @@ export var ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function Res
|
|
|
114
114
|
width: inWidth,
|
|
115
115
|
height: inHeight
|
|
116
116
|
},
|
|
117
|
-
children: /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
|
|
117
|
+
children: width && height ? /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
|
|
118
118
|
width: width,
|
|
119
119
|
height: height,
|
|
120
120
|
ref: ref
|
|
121
|
-
}))
|
|
121
|
+
})) : null
|
|
122
122
|
});
|
|
123
123
|
});
|
|
@@ -6,6 +6,16 @@ import { getValueToPositionMapper } from '../hooks/useScale';
|
|
|
6
6
|
import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
|
|
7
7
|
import { InteractionContext } from '../context/InteractionProvider';
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Demos:
|
|
11
|
+
*
|
|
12
|
+
* - [Scatter](https://mui.com/x/react-charts/scatter/)
|
|
13
|
+
* - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
|
|
14
|
+
*
|
|
15
|
+
* API:
|
|
16
|
+
*
|
|
17
|
+
* - [Scatter API](https://mui.com/x/api/charts/scatter/)
|
|
18
|
+
*/
|
|
9
19
|
function Scatter(props) {
|
|
10
20
|
var series = props.series,
|
|
11
21
|
xScale = props.xScale,
|
|
@@ -9,6 +9,16 @@ import { ChartsLegend } from '../ChartsLegend';
|
|
|
9
9
|
import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
/**
|
|
13
|
+
* Demos:
|
|
14
|
+
*
|
|
15
|
+
* - [Scatter](https://mui.com/x/react-charts/scatter/)
|
|
16
|
+
* - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
|
|
17
|
+
*
|
|
18
|
+
* API:
|
|
19
|
+
*
|
|
20
|
+
* - [ScatterChart API](https://mui.com/x/api/charts/scatter-chart/)
|
|
21
|
+
*/
|
|
12
22
|
var ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, ref) {
|
|
13
23
|
var xAxis = props.xAxis,
|
|
14
24
|
yAxis = props.yAxis,
|
|
@@ -78,18 +88,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
78
88
|
* @default xAxisIds[0] The id of the first provided axis
|
|
79
89
|
*/
|
|
80
90
|
bottomAxis: PropTypes.oneOfType([PropTypes.shape({
|
|
81
|
-
axisId: PropTypes.string
|
|
91
|
+
axisId: PropTypes.string,
|
|
82
92
|
classes: PropTypes.object,
|
|
83
93
|
disableLine: PropTypes.bool,
|
|
84
94
|
disableTicks: PropTypes.bool,
|
|
85
95
|
fill: PropTypes.string,
|
|
86
96
|
label: PropTypes.string,
|
|
87
97
|
labelFontSize: PropTypes.number,
|
|
98
|
+
labelStyle: PropTypes.object,
|
|
88
99
|
position: PropTypes.oneOf(['bottom', 'top']),
|
|
89
100
|
slotProps: PropTypes.object,
|
|
90
101
|
slots: PropTypes.object,
|
|
91
102
|
stroke: PropTypes.string,
|
|
92
103
|
tickFontSize: PropTypes.number,
|
|
104
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
105
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
106
|
+
tickLabelStyle: PropTypes.object,
|
|
93
107
|
tickMaxStep: PropTypes.number,
|
|
94
108
|
tickMinStep: PropTypes.number,
|
|
95
109
|
tickNumber: PropTypes.number,
|
|
@@ -101,9 +115,21 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
101
115
|
* Color palette used to colorize multiple series.
|
|
102
116
|
*/
|
|
103
117
|
colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
|
|
118
|
+
/**
|
|
119
|
+
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
120
|
+
*/
|
|
104
121
|
dataset: PropTypes.arrayOf(PropTypes.object),
|
|
105
122
|
desc: PropTypes.string,
|
|
123
|
+
/**
|
|
124
|
+
* If `true`, the charts will not listen to the mouse move event.
|
|
125
|
+
* It might break interactive features, but will improve performance.
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
106
128
|
disableAxisListener: PropTypes.bool,
|
|
129
|
+
/**
|
|
130
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
131
|
+
* @default undefined
|
|
132
|
+
*/
|
|
107
133
|
height: PropTypes.number,
|
|
108
134
|
/**
|
|
109
135
|
* Indicate which axis to display the left of the charts.
|
|
@@ -111,41 +137,47 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
111
137
|
* @default yAxisIds[0] The id of the first provided axis
|
|
112
138
|
*/
|
|
113
139
|
leftAxis: PropTypes.oneOfType([PropTypes.shape({
|
|
114
|
-
axisId: PropTypes.string
|
|
140
|
+
axisId: PropTypes.string,
|
|
115
141
|
classes: PropTypes.object,
|
|
116
142
|
disableLine: PropTypes.bool,
|
|
117
143
|
disableTicks: PropTypes.bool,
|
|
118
144
|
fill: PropTypes.string,
|
|
119
145
|
label: PropTypes.string,
|
|
120
146
|
labelFontSize: PropTypes.number,
|
|
147
|
+
labelStyle: PropTypes.object,
|
|
121
148
|
position: PropTypes.oneOf(['left', 'right']),
|
|
122
149
|
slotProps: PropTypes.object,
|
|
123
150
|
slots: PropTypes.object,
|
|
124
151
|
stroke: PropTypes.string,
|
|
125
152
|
tickFontSize: PropTypes.number,
|
|
153
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
154
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
155
|
+
tickLabelStyle: PropTypes.object,
|
|
126
156
|
tickMaxStep: PropTypes.number,
|
|
127
157
|
tickMinStep: PropTypes.number,
|
|
128
158
|
tickNumber: PropTypes.number,
|
|
129
159
|
tickSize: PropTypes.number
|
|
130
160
|
}), PropTypes.string]),
|
|
161
|
+
/**
|
|
162
|
+
* @deprecated Consider using `slotProps.legend` instead.
|
|
163
|
+
*/
|
|
131
164
|
legend: PropTypes.shape({
|
|
132
165
|
classes: PropTypes.object,
|
|
133
166
|
direction: PropTypes.oneOf(['column', 'row']),
|
|
134
167
|
hidden: PropTypes.bool,
|
|
135
|
-
itemWidth: PropTypes.number,
|
|
136
|
-
markSize: PropTypes.number,
|
|
137
|
-
offset: PropTypes.shape({
|
|
138
|
-
x: PropTypes.number,
|
|
139
|
-
y: PropTypes.number
|
|
140
|
-
}),
|
|
141
168
|
position: PropTypes.shape({
|
|
142
169
|
horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
|
|
143
170
|
vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
144
171
|
}),
|
|
145
172
|
slotProps: PropTypes.object,
|
|
146
|
-
slots: PropTypes.object
|
|
147
|
-
spacing: PropTypes.number
|
|
173
|
+
slots: PropTypes.object
|
|
148
174
|
}),
|
|
175
|
+
/**
|
|
176
|
+
* The margin between the SVG and the drawing area.
|
|
177
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
178
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
179
|
+
* @default object Depends on the charts type.
|
|
180
|
+
*/
|
|
149
181
|
margin: PropTypes.shape({
|
|
150
182
|
bottom: PropTypes.number,
|
|
151
183
|
left: PropTypes.number,
|
|
@@ -158,18 +190,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
158
190
|
* @default null
|
|
159
191
|
*/
|
|
160
192
|
rightAxis: PropTypes.oneOfType([PropTypes.shape({
|
|
161
|
-
axisId: PropTypes.string
|
|
193
|
+
axisId: PropTypes.string,
|
|
162
194
|
classes: PropTypes.object,
|
|
163
195
|
disableLine: PropTypes.bool,
|
|
164
196
|
disableTicks: PropTypes.bool,
|
|
165
197
|
fill: PropTypes.string,
|
|
166
198
|
label: PropTypes.string,
|
|
167
199
|
labelFontSize: PropTypes.number,
|
|
200
|
+
labelStyle: PropTypes.object,
|
|
168
201
|
position: PropTypes.oneOf(['left', 'right']),
|
|
169
202
|
slotProps: PropTypes.object,
|
|
170
203
|
slots: PropTypes.object,
|
|
171
204
|
stroke: PropTypes.string,
|
|
172
205
|
tickFontSize: PropTypes.number,
|
|
206
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
207
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
208
|
+
tickLabelStyle: PropTypes.object,
|
|
173
209
|
tickMaxStep: PropTypes.number,
|
|
174
210
|
tickMinStep: PropTypes.number,
|
|
175
211
|
tickNumber: PropTypes.number,
|
|
@@ -210,6 +246,8 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
210
246
|
axisContent: PropTypes.elementType,
|
|
211
247
|
classes: PropTypes.object,
|
|
212
248
|
itemContent: PropTypes.elementType,
|
|
249
|
+
slotProps: PropTypes.object,
|
|
250
|
+
slots: PropTypes.object,
|
|
213
251
|
trigger: PropTypes.oneOf(['axis', 'item', 'none'])
|
|
214
252
|
}),
|
|
215
253
|
/**
|
|
@@ -218,18 +256,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
218
256
|
* @default null
|
|
219
257
|
*/
|
|
220
258
|
topAxis: PropTypes.oneOfType([PropTypes.shape({
|
|
221
|
-
axisId: PropTypes.string
|
|
259
|
+
axisId: PropTypes.string,
|
|
222
260
|
classes: PropTypes.object,
|
|
223
261
|
disableLine: PropTypes.bool,
|
|
224
262
|
disableTicks: PropTypes.bool,
|
|
225
263
|
fill: PropTypes.string,
|
|
226
264
|
label: PropTypes.string,
|
|
227
265
|
labelFontSize: PropTypes.number,
|
|
266
|
+
labelStyle: PropTypes.object,
|
|
228
267
|
position: PropTypes.oneOf(['bottom', 'top']),
|
|
229
268
|
slotProps: PropTypes.object,
|
|
230
269
|
slots: PropTypes.object,
|
|
231
270
|
stroke: PropTypes.string,
|
|
232
271
|
tickFontSize: PropTypes.number,
|
|
272
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
273
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
274
|
+
tickLabelStyle: PropTypes.object,
|
|
233
275
|
tickMaxStep: PropTypes.number,
|
|
234
276
|
tickMinStep: PropTypes.number,
|
|
235
277
|
tickNumber: PropTypes.number,
|
|
@@ -241,7 +283,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
241
283
|
x: PropTypes.number,
|
|
242
284
|
y: PropTypes.number
|
|
243
285
|
}),
|
|
286
|
+
/**
|
|
287
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
288
|
+
* @default undefined
|
|
289
|
+
*/
|
|
244
290
|
width: PropTypes.number,
|
|
291
|
+
/**
|
|
292
|
+
* The configuration of the x-axes.
|
|
293
|
+
* If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
|
|
294
|
+
*/
|
|
245
295
|
xAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
246
296
|
axisId: PropTypes.string,
|
|
247
297
|
classes: PropTypes.object,
|
|
@@ -254,6 +304,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
254
304
|
id: PropTypes.string,
|
|
255
305
|
label: PropTypes.string,
|
|
256
306
|
labelFontSize: PropTypes.number,
|
|
307
|
+
labelStyle: PropTypes.object,
|
|
257
308
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
258
309
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
259
310
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -262,12 +313,19 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
262
313
|
slots: PropTypes.object,
|
|
263
314
|
stroke: PropTypes.string,
|
|
264
315
|
tickFontSize: PropTypes.number,
|
|
316
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
317
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
318
|
+
tickLabelStyle: PropTypes.object,
|
|
265
319
|
tickMaxStep: PropTypes.number,
|
|
266
320
|
tickMinStep: PropTypes.number,
|
|
267
321
|
tickNumber: PropTypes.number,
|
|
268
322
|
tickSize: PropTypes.number,
|
|
269
323
|
valueFormatter: PropTypes.func
|
|
270
324
|
})),
|
|
325
|
+
/**
|
|
326
|
+
* The configuration of the y-axes.
|
|
327
|
+
* If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
|
|
328
|
+
*/
|
|
271
329
|
yAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
272
330
|
axisId: PropTypes.string,
|
|
273
331
|
classes: PropTypes.object,
|
|
@@ -280,6 +338,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
280
338
|
id: PropTypes.string,
|
|
281
339
|
label: PropTypes.string,
|
|
282
340
|
labelFontSize: PropTypes.number,
|
|
341
|
+
labelStyle: PropTypes.object,
|
|
283
342
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
284
343
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
285
344
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -288,6 +347,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
288
347
|
slots: PropTypes.object,
|
|
289
348
|
stroke: PropTypes.string,
|
|
290
349
|
tickFontSize: PropTypes.number,
|
|
350
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
351
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
352
|
+
tickLabelStyle: PropTypes.object,
|
|
291
353
|
tickMaxStep: PropTypes.number,
|
|
292
354
|
tickMinStep: PropTypes.number,
|
|
293
355
|
tickNumber: PropTypes.number,
|
|
@@ -5,6 +5,16 @@ import { Scatter } from './Scatter';
|
|
|
5
5
|
import { SeriesContext } from '../context/SeriesContextProvider';
|
|
6
6
|
import { CartesianContext } from '../context/CartesianContextProvider';
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Demos:
|
|
10
|
+
*
|
|
11
|
+
* - [Scatter](https://mui.com/x/react-charts/scatter/)
|
|
12
|
+
* - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
|
|
13
|
+
*
|
|
14
|
+
* API:
|
|
15
|
+
*
|
|
16
|
+
* - [ScatterPlot API](https://mui.com/x/api/charts/scatter-plot/)
|
|
17
|
+
*/
|
|
8
18
|
function ScatterPlot(props) {
|
|
9
19
|
var _slots$scatter;
|
|
10
20
|
var slots = props.slots,
|
|
@@ -15,6 +15,16 @@ var SPARKLINE_DEFAULT_MARGIN = {
|
|
|
15
15
|
left: 5,
|
|
16
16
|
right: 5
|
|
17
17
|
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Demos:
|
|
21
|
+
*
|
|
22
|
+
* - [SparkLine](https://mui.com/x/react-charts/sparkline/)
|
|
23
|
+
*
|
|
24
|
+
* API:
|
|
25
|
+
*
|
|
26
|
+
* - [SparkLineChart API](https://mui.com/x/api/charts/spark-line-chart/)
|
|
27
|
+
*/
|
|
18
28
|
var SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props, ref) {
|
|
19
29
|
var xAxis = props.xAxis,
|
|
20
30
|
width = props.width,
|
|
@@ -62,7 +72,7 @@ var SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props
|
|
|
62
72
|
margin: margin,
|
|
63
73
|
xAxis: [_extends({
|
|
64
74
|
id: DEFAULT_X_AXIS_KEY,
|
|
65
|
-
scaleType: plotType === 'bar' ? 'band' : '
|
|
75
|
+
scaleType: plotType === 'bar' ? 'band' : 'point',
|
|
66
76
|
data: Array.from({
|
|
67
77
|
length: data.length
|
|
68
78
|
}, function (_, index) {
|
|
@@ -75,7 +85,10 @@ var SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props
|
|
|
75
85
|
disableAxisListener: (!showTooltip || (tooltip == null ? void 0 : tooltip.trigger) !== 'axis') && (axisHighlight == null ? void 0 : axisHighlight.x) === 'none' && (axisHighlight == null ? void 0 : axisHighlight.y) === 'none',
|
|
76
86
|
children: [plotType === 'bar' && /*#__PURE__*/_jsx(BarPlot, {
|
|
77
87
|
slots: slots,
|
|
78
|
-
slotProps: slotProps
|
|
88
|
+
slotProps: slotProps,
|
|
89
|
+
sx: {
|
|
90
|
+
shapeRendering: 'auto'
|
|
91
|
+
}
|
|
79
92
|
}), plotType === 'line' && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
80
93
|
children: [/*#__PURE__*/_jsx(AreaPlot, {
|
|
81
94
|
slots: slots,
|
|
@@ -87,7 +100,10 @@ var SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props
|
|
|
87
100
|
slots: slots,
|
|
88
101
|
slotProps: slotProps
|
|
89
102
|
})]
|
|
90
|
-
}), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlight)), showTooltip && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip
|
|
103
|
+
}), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlight)), showTooltip && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
|
|
104
|
+
slotProps: slotProps,
|
|
105
|
+
slots: slots
|
|
106
|
+
})), children]
|
|
91
107
|
});
|
|
92
108
|
});
|
|
93
109
|
process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
@@ -119,10 +135,28 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
119
135
|
* Data to plot.
|
|
120
136
|
*/
|
|
121
137
|
data: PropTypes.arrayOf(PropTypes.number).isRequired,
|
|
138
|
+
/**
|
|
139
|
+
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
140
|
+
*/
|
|
122
141
|
dataset: PropTypes.arrayOf(PropTypes.object),
|
|
123
142
|
desc: PropTypes.string,
|
|
143
|
+
/**
|
|
144
|
+
* If `true`, the charts will not listen to the mouse move event.
|
|
145
|
+
* It might break interactive features, but will improve performance.
|
|
146
|
+
* @default false
|
|
147
|
+
*/
|
|
124
148
|
disableAxisListener: PropTypes.bool,
|
|
149
|
+
/**
|
|
150
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
151
|
+
* @default undefined
|
|
152
|
+
*/
|
|
125
153
|
height: PropTypes.number,
|
|
154
|
+
/**
|
|
155
|
+
* The margin between the SVG and the drawing area.
|
|
156
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
157
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
158
|
+
* @default object Depends on the charts type.
|
|
159
|
+
*/
|
|
126
160
|
margin: PropTypes.shape({
|
|
127
161
|
bottom: PropTypes.number,
|
|
128
162
|
left: PropTypes.number,
|
|
@@ -162,6 +196,8 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
162
196
|
axisContent: PropTypes.elementType,
|
|
163
197
|
classes: PropTypes.object,
|
|
164
198
|
itemContent: PropTypes.elementType,
|
|
199
|
+
slotProps: PropTypes.object,
|
|
200
|
+
slots: PropTypes.object,
|
|
165
201
|
trigger: PropTypes.oneOf(['axis', 'item', 'none'])
|
|
166
202
|
}),
|
|
167
203
|
/**
|
|
@@ -176,6 +212,10 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
176
212
|
x: PropTypes.number,
|
|
177
213
|
y: PropTypes.number
|
|
178
214
|
}),
|
|
215
|
+
/**
|
|
216
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
217
|
+
* @default undefined
|
|
218
|
+
*/
|
|
179
219
|
width: PropTypes.number,
|
|
180
220
|
/**
|
|
181
221
|
* The xAxis configuration.
|
|
@@ -193,6 +233,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
193
233
|
id: PropTypes.string,
|
|
194
234
|
label: PropTypes.string,
|
|
195
235
|
labelFontSize: PropTypes.number,
|
|
236
|
+
labelStyle: PropTypes.object,
|
|
196
237
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
197
238
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
198
239
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -201,6 +242,9 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
201
242
|
slots: PropTypes.object,
|
|
202
243
|
stroke: PropTypes.string,
|
|
203
244
|
tickFontSize: PropTypes.number,
|
|
245
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
246
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
247
|
+
tickLabelStyle: PropTypes.object,
|
|
204
248
|
tickMaxStep: PropTypes.number,
|
|
205
249
|
tickMinStep: PropTypes.number,
|
|
206
250
|
tickNumber: PropTypes.number,
|
package/legacy/constants.js
CHANGED
|
@@ -12,9 +12,10 @@ import { getScale } from '../internals/getScale';
|
|
|
12
12
|
import { DrawingContext } from './DrawingProvider';
|
|
13
13
|
import { SeriesContext } from './SeriesContextProvider';
|
|
14
14
|
import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../constants';
|
|
15
|
-
import {
|
|
15
|
+
import { getTickNumber } from '../hooks/useTicks';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
var DEFAULT_CATEGORY_GAP_RATIO = 0.
|
|
17
|
+
var DEFAULT_CATEGORY_GAP_RATIO = 0.2;
|
|
18
|
+
var DEFAULT_BAR_GAP_RATIO = 0.1;
|
|
18
19
|
|
|
19
20
|
// TODO: those might be better placed in a distinct file
|
|
20
21
|
var xExtremumGetters = {
|
|
@@ -33,6 +34,12 @@ export var CartesianContext = /*#__PURE__*/React.createContext({
|
|
|
33
34
|
xAxisIds: [],
|
|
34
35
|
yAxisIds: []
|
|
35
36
|
});
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* API:
|
|
40
|
+
*
|
|
41
|
+
* - [CartesianContextProvider API](https://mui.com/x/api/charts/cartesian-context-provider/)
|
|
42
|
+
*/
|
|
36
43
|
function CartesianContextProvider(_ref) {
|
|
37
44
|
var inXAxis = _ref.xAxis,
|
|
38
45
|
inYAxis = _ref.yAxis,
|
|
@@ -124,20 +131,21 @@ function CartesianContextProvider(_ref) {
|
|
|
124
131
|
maxData = _getAxisExtremum2[1];
|
|
125
132
|
var range = [drawingArea.left, drawingArea.left + drawingArea.width];
|
|
126
133
|
if (isBandScaleConfig(axis)) {
|
|
127
|
-
var _axis$categoryGapRati;
|
|
134
|
+
var _axis$categoryGapRati, _axis$barGapRatio;
|
|
128
135
|
var categoryGapRatio = (_axis$categoryGapRati = axis.categoryGapRatio) != null ? _axis$categoryGapRati : DEFAULT_CATEGORY_GAP_RATIO;
|
|
136
|
+
var barGapRatio = (_axis$barGapRatio = axis.barGapRatio) != null ? _axis$barGapRatio : DEFAULT_BAR_GAP_RATIO;
|
|
129
137
|
completedXAxis[axis.id] = _extends({
|
|
130
138
|
categoryGapRatio: categoryGapRatio,
|
|
131
|
-
barGapRatio:
|
|
139
|
+
barGapRatio: barGapRatio
|
|
132
140
|
}, axis, {
|
|
133
141
|
scale: scaleBand(axis.data, range).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
|
|
134
|
-
|
|
142
|
+
tickNumber: axis.data.length
|
|
135
143
|
});
|
|
136
144
|
}
|
|
137
145
|
if (isPointScaleConfig(axis)) {
|
|
138
146
|
completedXAxis[axis.id] = _extends({}, axis, {
|
|
139
147
|
scale: scalePoint(axis.data, range),
|
|
140
|
-
|
|
148
|
+
tickNumber: axis.data.length
|
|
141
149
|
});
|
|
142
150
|
}
|
|
143
151
|
if (axis.scaleType === 'band' || axis.scaleType === 'point') {
|
|
@@ -146,17 +154,17 @@ function CartesianContextProvider(_ref) {
|
|
|
146
154
|
}
|
|
147
155
|
var scaleType = (_axis$scaleType = axis.scaleType) != null ? _axis$scaleType : 'linear';
|
|
148
156
|
var extremums = [(_axis$min = axis.min) != null ? _axis$min : minData, (_axis$max = axis.max) != null ? _axis$max : maxData];
|
|
149
|
-
var
|
|
157
|
+
var tickNumber = getTickNumber(_extends({}, axis, {
|
|
150
158
|
range: range,
|
|
151
159
|
domain: extremums
|
|
152
160
|
}));
|
|
153
|
-
var niceScale = getScale(scaleType, extremums, range).nice(
|
|
161
|
+
var niceScale = getScale(scaleType, extremums, range).nice(tickNumber);
|
|
154
162
|
var niceDomain = niceScale.domain();
|
|
155
163
|
var domain = [(_axis$min2 = axis.min) != null ? _axis$min2 : niceDomain[0], (_axis$max2 = axis.max) != null ? _axis$max2 : niceDomain[1]];
|
|
156
164
|
completedXAxis[axis.id] = _extends({}, axis, {
|
|
157
165
|
scaleType: scaleType,
|
|
158
166
|
scale: niceScale.domain(domain),
|
|
159
|
-
|
|
167
|
+
tickNumber: tickNumber
|
|
160
168
|
});
|
|
161
169
|
});
|
|
162
170
|
var allYAxis = [].concat(_toConsumableArray((_yAxis$map = yAxis == null ? void 0 : yAxis.map(function (axis, index) {
|
|
@@ -187,13 +195,13 @@ function CartesianContextProvider(_ref) {
|
|
|
187
195
|
barGapRatio: 0
|
|
188
196
|
}, axis, {
|
|
189
197
|
scale: scaleBand(axis.data, [range[1], range[0]]).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
|
|
190
|
-
|
|
198
|
+
tickNumber: axis.data.length
|
|
191
199
|
});
|
|
192
200
|
}
|
|
193
201
|
if (isPointScaleConfig(axis)) {
|
|
194
202
|
completedYAxis[axis.id] = _extends({}, axis, {
|
|
195
203
|
scale: scalePoint(axis.data, [range[1], range[0]]),
|
|
196
|
-
|
|
204
|
+
tickNumber: axis.data.length
|
|
197
205
|
});
|
|
198
206
|
}
|
|
199
207
|
if (axis.scaleType === 'band' || axis.scaleType === 'point') {
|
|
@@ -202,17 +210,17 @@ function CartesianContextProvider(_ref) {
|
|
|
202
210
|
}
|
|
203
211
|
var scaleType = (_axis$scaleType2 = axis.scaleType) != null ? _axis$scaleType2 : 'linear';
|
|
204
212
|
var extremums = [(_axis$min3 = axis.min) != null ? _axis$min3 : minData, (_axis$max3 = axis.max) != null ? _axis$max3 : maxData];
|
|
205
|
-
var
|
|
213
|
+
var tickNumber = getTickNumber(_extends({}, axis, {
|
|
206
214
|
range: range,
|
|
207
215
|
domain: extremums
|
|
208
216
|
}));
|
|
209
|
-
var niceScale = getScale(scaleType, extremums, range).nice(
|
|
217
|
+
var niceScale = getScale(scaleType, extremums, range).nice(tickNumber);
|
|
210
218
|
var niceDomain = niceScale.domain();
|
|
211
219
|
var domain = [(_axis$min4 = axis.min) != null ? _axis$min4 : niceDomain[0], (_axis$max4 = axis.max) != null ? _axis$max4 : niceDomain[1]];
|
|
212
220
|
completedYAxis[axis.id] = _extends({}, axis, {
|
|
213
221
|
scaleType: scaleType,
|
|
214
222
|
scale: niceScale.domain(domain),
|
|
215
|
-
|
|
223
|
+
tickNumber: tickNumber
|
|
216
224
|
});
|
|
217
225
|
});
|
|
218
226
|
return {
|
|
@@ -241,7 +249,14 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
241
249
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
242
250
|
// ----------------------------------------------------------------------
|
|
243
251
|
children: PropTypes.node,
|
|
252
|
+
/**
|
|
253
|
+
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
254
|
+
*/
|
|
244
255
|
dataset: PropTypes.arrayOf(PropTypes.object),
|
|
256
|
+
/**
|
|
257
|
+
* The configuration of the x-axes.
|
|
258
|
+
* If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
|
|
259
|
+
*/
|
|
245
260
|
xAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
246
261
|
axisId: PropTypes.string,
|
|
247
262
|
classes: PropTypes.object,
|
|
@@ -254,6 +269,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
254
269
|
id: PropTypes.string,
|
|
255
270
|
label: PropTypes.string,
|
|
256
271
|
labelFontSize: PropTypes.number,
|
|
272
|
+
labelStyle: PropTypes.object,
|
|
257
273
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
258
274
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
259
275
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -262,12 +278,19 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
262
278
|
slots: PropTypes.object,
|
|
263
279
|
stroke: PropTypes.string,
|
|
264
280
|
tickFontSize: PropTypes.number,
|
|
281
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
282
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
283
|
+
tickLabelStyle: PropTypes.object,
|
|
265
284
|
tickMaxStep: PropTypes.number,
|
|
266
285
|
tickMinStep: PropTypes.number,
|
|
267
286
|
tickNumber: PropTypes.number,
|
|
268
287
|
tickSize: PropTypes.number,
|
|
269
288
|
valueFormatter: PropTypes.func
|
|
270
289
|
})),
|
|
290
|
+
/**
|
|
291
|
+
* The configuration of the y-axes.
|
|
292
|
+
* If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
|
|
293
|
+
*/
|
|
271
294
|
yAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
272
295
|
axisId: PropTypes.string,
|
|
273
296
|
classes: PropTypes.object,
|
|
@@ -280,6 +303,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
280
303
|
id: PropTypes.string,
|
|
281
304
|
label: PropTypes.string,
|
|
282
305
|
labelFontSize: PropTypes.number,
|
|
306
|
+
labelStyle: PropTypes.object,
|
|
283
307
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
284
308
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
285
309
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -288,6 +312,9 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
288
312
|
slots: PropTypes.object,
|
|
289
313
|
stroke: PropTypes.string,
|
|
290
314
|
tickFontSize: PropTypes.number,
|
|
315
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
316
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
317
|
+
tickLabelStyle: PropTypes.object,
|
|
291
318
|
tickMaxStep: PropTypes.number,
|
|
292
319
|
tickMinStep: PropTypes.number,
|
|
293
320
|
tickNumber: PropTypes.number,
|
|
@@ -9,12 +9,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
9
9
|
export var DrawingContext = /*#__PURE__*/React.createContext({
|
|
10
10
|
top: 0,
|
|
11
11
|
left: 0,
|
|
12
|
+
bottom: 0,
|
|
13
|
+
right: 0,
|
|
12
14
|
height: 300,
|
|
13
15
|
width: 400
|
|
14
16
|
});
|
|
15
17
|
export var SVGContext = /*#__PURE__*/React.createContext({
|
|
16
18
|
current: null
|
|
17
19
|
});
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* API:
|
|
23
|
+
*
|
|
24
|
+
* - [DrawingProvider API](https://mui.com/x/api/charts/drawing-provider/)
|
|
25
|
+
*/
|
|
18
26
|
function DrawingProvider(_ref) {
|
|
19
27
|
var width = _ref.width,
|
|
20
28
|
height = _ref.height,
|
|
@@ -37,6 +45,12 @@ process.env.NODE_ENV !== "production" ? DrawingProvider.propTypes = {
|
|
|
37
45
|
// ----------------------------------------------------------------------
|
|
38
46
|
children: PropTypes.node,
|
|
39
47
|
height: PropTypes.number.isRequired,
|
|
48
|
+
/**
|
|
49
|
+
* The margin between the SVG and the drawing area.
|
|
50
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
51
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
52
|
+
* @default object Depends on the charts type.
|
|
53
|
+
*/
|
|
40
54
|
margin: PropTypes.shape({
|
|
41
55
|
bottom: PropTypes.number,
|
|
42
56
|
left: PropTypes.number,
|
|
@@ -7,6 +7,8 @@ var useChartDimensions = function useChartDimensions(width, height, margin) {
|
|
|
7
7
|
return {
|
|
8
8
|
left: defaultizedMargin.left,
|
|
9
9
|
top: defaultizedMargin.top,
|
|
10
|
+
right: defaultizedMargin.right,
|
|
11
|
+
bottom: defaultizedMargin.bottom,
|
|
10
12
|
width: Math.max(0, width - defaultizedMargin.left - defaultizedMargin.right),
|
|
11
13
|
height: Math.max(0, height - defaultizedMargin.top - defaultizedMargin.bottom)
|
|
12
14
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
4
|
+
export function useMounted() {
|
|
5
|
+
var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
6
|
+
var _React$useState = React.useState(false),
|
|
7
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
8
|
+
mountedState = _React$useState2[0],
|
|
9
|
+
setMountedState = _React$useState2[1];
|
|
10
|
+
useEnhancedEffect(function () {
|
|
11
|
+
if (!defer) {
|
|
12
|
+
setMountedState(true);
|
|
13
|
+
}
|
|
14
|
+
}, [defer]);
|
|
15
|
+
React.useEffect(function () {
|
|
16
|
+
if (defer) {
|
|
17
|
+
setMountedState(true);
|
|
18
|
+
}
|
|
19
|
+
}, [defer]);
|
|
20
|
+
return mountedState;
|
|
21
|
+
}
|