@mui/x-charts 7.0.0-beta.1 → 7.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChart/BarChart.d.ts +21 -5
- package/BarChart/BarChart.js +37 -13
- package/BarChart/BarElement.d.ts +20 -13
- package/BarChart/BarElement.js +1 -0
- package/BarChart/BarPlot.d.ts +3 -5
- package/BarChart/BarPlot.js +9 -10
- package/CHANGELOG.md +223 -1
- package/ChartContainer/ChartContainer.js +6 -4
- package/ChartsAxis/ChartsAxis.js +4 -4
- package/ChartsGrid/ChartsGrid.d.ts +30 -0
- package/ChartsGrid/ChartsGrid.js +128 -0
- package/ChartsGrid/chartsGridClasses.d.ts +13 -0
- package/ChartsGrid/chartsGridClasses.js +14 -0
- package/ChartsGrid/index.d.ts +2 -0
- package/ChartsGrid/index.js +27 -0
- package/ChartsGrid/package.json +6 -0
- package/ChartsLegend/ChartsLegend.d.ts +5 -54
- package/ChartsLegend/ChartsLegend.js +2 -307
- package/ChartsLegend/DefaultChartsLegend.d.ts +60 -0
- package/ChartsLegend/DefaultChartsLegend.js +294 -0
- package/ChartsLegend/index.d.ts +1 -0
- package/ChartsLegend/index.js +11 -0
- package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/ChartsReferenceLine/common.d.ts +2 -1
- package/ChartsSurface.js +6 -4
- package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/ChartsTooltip/utils.d.ts +1 -0
- package/ChartsTooltip/utils.js +7 -0
- package/ChartsXAxis/ChartsXAxis.js +15 -11
- package/ChartsYAxis/ChartsYAxis.js +3 -3
- package/Gauge/Gauge.d.ts +13 -0
- package/Gauge/Gauge.js +156 -0
- package/Gauge/GaugeContainer.d.ts +19 -0
- package/Gauge/GaugeContainer.js +216 -0
- package/Gauge/GaugeProvider.d.ts +117 -0
- package/Gauge/GaugeProvider.js +96 -0
- package/Gauge/GaugeReferenceArc.d.ts +2 -0
- package/Gauge/GaugeReferenceArc.js +44 -0
- package/Gauge/GaugeValueArc.d.ts +2 -0
- package/Gauge/GaugeValueArc.js +51 -0
- package/Gauge/GaugeValueText.d.ts +15 -0
- package/Gauge/GaugeValueText.js +77 -0
- package/Gauge/gaugeClasses.d.ts +14 -0
- package/Gauge/gaugeClasses.js +15 -0
- package/Gauge/index.d.ts +7 -0
- package/Gauge/index.js +87 -0
- package/Gauge/package.json +6 -0
- package/Gauge/utils.d.ts +19 -0
- package/Gauge/utils.js +75 -0
- package/LineChart/AnimatedArea.js +1 -1
- package/LineChart/AnimatedLine.js +1 -1
- package/LineChart/AreaElement.d.ts +2 -1
- package/LineChart/AreaElement.js +1 -1
- package/LineChart/LineChart.d.ts +24 -5
- package/LineChart/LineChart.js +41 -13
- package/LineChart/LineElement.d.ts +2 -1
- package/LineChart/LineElement.js +1 -1
- package/LineChart/LineHighlightElement.d.ts +3 -2
- package/LineChart/LineHighlightElement.js +2 -1
- package/LineChart/MarkElement.d.ts +3 -2
- package/LineChart/MarkElement.js +1 -0
- package/PieChart/PieArc.d.ts +7 -6
- package/PieChart/PieArc.js +10 -9
- package/PieChart/PieArcLabel.d.ts +3 -2
- package/PieChart/PieArcLabel.js +1 -0
- package/PieChart/PieArcLabelPlot.js +14 -14
- package/PieChart/PieArcPlot.js +1 -1
- package/PieChart/PieChart.d.ts +22 -0
- package/PieChart/PieChart.js +32 -8
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
- package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
- package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
- package/ScatterChart/ScatterChart.d.ts +18 -0
- package/ScatterChart/ScatterChart.js +35 -8
- package/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/SparkLineChart/SparkLineChart.js +5 -4
- package/context/CartesianContextProvider.js +8 -6
- package/esm/BarChart/BarChart.js +37 -13
- package/esm/BarChart/BarElement.js +1 -0
- package/esm/BarChart/BarPlot.js +8 -10
- package/esm/ChartContainer/ChartContainer.js +6 -4
- package/esm/ChartsAxis/ChartsAxis.js +4 -4
- package/esm/ChartsGrid/ChartsGrid.js +121 -0
- package/esm/ChartsGrid/chartsGridClasses.js +6 -0
- package/esm/ChartsGrid/index.js +2 -0
- package/esm/ChartsLegend/ChartsLegend.js +2 -307
- package/esm/ChartsLegend/DefaultChartsLegend.js +286 -0
- package/esm/ChartsLegend/index.js +1 -0
- package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/esm/ChartsSurface.js +6 -4
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
- package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/esm/ChartsTooltip/utils.js +6 -0
- package/esm/ChartsXAxis/ChartsXAxis.js +14 -10
- package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
- package/esm/Gauge/Gauge.js +149 -0
- package/esm/Gauge/GaugeContainer.js +211 -0
- package/esm/Gauge/GaugeProvider.js +85 -0
- package/esm/Gauge/GaugeReferenceArc.js +35 -0
- package/esm/Gauge/GaugeValueArc.js +42 -0
- package/esm/Gauge/GaugeValueText.js +69 -0
- package/esm/Gauge/gaugeClasses.js +7 -0
- package/esm/Gauge/index.js +7 -0
- package/esm/Gauge/utils.js +68 -0
- package/esm/LineChart/AnimatedArea.js +1 -1
- package/esm/LineChart/AnimatedLine.js +1 -1
- package/esm/LineChart/AreaElement.js +1 -1
- package/esm/LineChart/LineChart.js +41 -13
- package/esm/LineChart/LineElement.js +1 -1
- package/esm/LineChart/LineHighlightElement.js +2 -1
- package/esm/LineChart/MarkElement.js +1 -0
- package/esm/PieChart/PieArc.js +10 -9
- package/esm/PieChart/PieArcLabel.js +1 -0
- package/esm/PieChart/PieArcLabelPlot.js +14 -14
- package/esm/PieChart/PieArcPlot.js +1 -1
- package/esm/PieChart/PieChart.js +32 -8
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
- package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
- package/esm/ScatterChart/ScatterChart.js +35 -8
- package/esm/SparkLineChart/SparkLineChart.js +5 -4
- package/esm/context/CartesianContextProvider.js +8 -6
- package/esm/hooks/useTicks.js +2 -3
- package/esm/index.js +2 -0
- package/hooks/useTicks.d.ts +1 -2
- package/hooks/useTicks.js +2 -3
- package/index.d.ts +2 -0
- package/index.js +23 -1
- package/internals/defaultizeColor.d.ts +16 -16
- package/internals/defaultizeValueFormatter.d.ts +4 -7
- package/internals/stackSeries.d.ts +4 -7
- package/legacy/BarChart/BarChart.js +37 -13
- package/legacy/BarChart/BarElement.js +1 -0
- package/legacy/BarChart/BarPlot.js +10 -10
- package/legacy/ChartContainer/ChartContainer.js +6 -4
- package/legacy/ChartsAxis/ChartsAxis.js +4 -4
- package/legacy/ChartsGrid/ChartsGrid.js +119 -0
- package/legacy/ChartsGrid/chartsGridClasses.js +6 -0
- package/legacy/ChartsGrid/index.js +2 -0
- package/legacy/ChartsLegend/ChartsLegend.js +2 -323
- package/legacy/ChartsLegend/DefaultChartsLegend.js +302 -0
- package/legacy/ChartsLegend/index.js +1 -0
- package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/legacy/ChartsSurface.js +5 -3
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
- package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/legacy/ChartsTooltip/utils.js +6 -0
- package/legacy/ChartsXAxis/ChartsXAxis.js +13 -9
- package/legacy/ChartsYAxis/ChartsYAxis.js +2 -2
- package/legacy/Gauge/Gauge.js +146 -0
- package/legacy/Gauge/GaugeContainer.js +215 -0
- package/legacy/Gauge/GaugeProvider.js +87 -0
- package/legacy/Gauge/GaugeReferenceArc.js +37 -0
- package/legacy/Gauge/GaugeValueArc.js +44 -0
- package/legacy/Gauge/GaugeValueText.js +66 -0
- package/legacy/Gauge/gaugeClasses.js +7 -0
- package/legacy/Gauge/index.js +7 -0
- package/legacy/Gauge/utils.js +84 -0
- package/legacy/LineChart/AnimatedArea.js +1 -1
- package/legacy/LineChart/AnimatedLine.js +1 -1
- package/legacy/LineChart/AreaElement.js +1 -1
- package/legacy/LineChart/LineChart.js +41 -13
- package/legacy/LineChart/LineElement.js +1 -1
- package/legacy/LineChart/LineHighlightElement.js +2 -1
- package/legacy/LineChart/MarkElement.js +1 -0
- package/legacy/PieChart/PieArc.js +11 -10
- package/legacy/PieChart/PieArcLabel.js +1 -0
- package/legacy/PieChart/PieArcLabelPlot.js +15 -15
- package/legacy/PieChart/PieArcPlot.js +1 -1
- package/legacy/PieChart/PieChart.js +32 -8
- package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +13 -81
- package/legacy/ResponsiveChartContainer/useChartContainerDimensions.js +73 -0
- package/legacy/ScatterChart/ScatterChart.js +35 -8
- package/legacy/SparkLineChart/SparkLineChart.js +6 -5
- package/legacy/context/CartesianContextProvider.js +8 -6
- package/legacy/hooks/useTicks.js +2 -3
- package/legacy/index.js +3 -1
- package/models/axis.d.ts +7 -2
- package/models/seriesType/common.d.ts +2 -1
- package/models/seriesType/config.d.ts +7 -12
- package/models/seriesType/line.d.ts +2 -2
- package/models/seriesType/pie.d.ts +7 -3
- package/models/seriesType/scatter.d.ts +5 -2
- package/modern/BarChart/BarChart.js +37 -13
- package/modern/BarChart/BarElement.js +1 -0
- package/modern/BarChart/BarPlot.js +8 -10
- package/modern/ChartContainer/ChartContainer.js +6 -4
- package/modern/ChartsAxis/ChartsAxis.js +4 -4
- package/modern/ChartsGrid/ChartsGrid.js +121 -0
- package/modern/ChartsGrid/chartsGridClasses.js +6 -0
- package/modern/ChartsGrid/index.js +2 -0
- package/modern/ChartsLegend/ChartsLegend.js +2 -307
- package/modern/ChartsLegend/DefaultChartsLegend.js +286 -0
- package/modern/ChartsLegend/index.js +1 -0
- package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/modern/ChartsSurface.js +6 -4
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/modern/ChartsTooltip/utils.js +6 -0
- package/modern/ChartsXAxis/ChartsXAxis.js +14 -10
- package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
- package/modern/Gauge/Gauge.js +149 -0
- package/modern/Gauge/GaugeContainer.js +208 -0
- package/modern/Gauge/GaugeProvider.js +85 -0
- package/modern/Gauge/GaugeReferenceArc.js +35 -0
- package/modern/Gauge/GaugeValueArc.js +42 -0
- package/modern/Gauge/GaugeValueText.js +69 -0
- package/modern/Gauge/gaugeClasses.js +7 -0
- package/modern/Gauge/index.js +7 -0
- package/modern/Gauge/utils.js +68 -0
- package/modern/LineChart/AnimatedArea.js +1 -1
- package/modern/LineChart/AnimatedLine.js +1 -1
- package/modern/LineChart/AreaElement.js +1 -1
- package/modern/LineChart/LineChart.js +41 -13
- package/modern/LineChart/LineElement.js +1 -1
- package/modern/LineChart/LineHighlightElement.js +2 -1
- package/modern/LineChart/MarkElement.js +1 -0
- package/modern/PieChart/PieArc.js +10 -9
- package/modern/PieChart/PieArcLabel.js +1 -0
- package/modern/PieChart/PieArcLabelPlot.js +14 -14
- package/modern/PieChart/PieArcPlot.js +1 -1
- package/modern/PieChart/PieChart.js +32 -8
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
- package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
- package/modern/ScatterChart/ScatterChart.js +35 -8
- package/modern/SparkLineChart/SparkLineChart.js +5 -4
- package/modern/context/CartesianContextProvider.js +8 -6
- package/modern/hooks/useTicks.js +2 -3
- package/modern/index.js +3 -1
- package/package.json +4 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SpringValue } from '@react-spring/web';
|
|
3
|
+
import { PieItemId } from '../models/seriesType/pie';
|
|
3
4
|
export interface PieArcLabelClasses {
|
|
4
5
|
/** Styles applied to the root element. */
|
|
5
6
|
root: string;
|
|
@@ -10,7 +11,7 @@ export interface PieArcLabelClasses {
|
|
|
10
11
|
}
|
|
11
12
|
export type PieArcLabelClassKey = keyof PieArcLabelClasses;
|
|
12
13
|
interface PieArcLabelOwnerState {
|
|
13
|
-
id:
|
|
14
|
+
id: PieItemId;
|
|
14
15
|
color: string;
|
|
15
16
|
isFaded: boolean;
|
|
16
17
|
isHighlighted: boolean;
|
|
@@ -18,7 +19,7 @@ interface PieArcLabelOwnerState {
|
|
|
18
19
|
}
|
|
19
20
|
export declare function getPieArcLabelUtilityClass(slot: string): string;
|
|
20
21
|
export declare const pieArcLabelClasses: PieArcLabelClasses;
|
|
21
|
-
export type PieArcLabelProps = PieArcLabelOwnerState & React.ComponentPropsWithoutRef<'text'> & {
|
|
22
|
+
export type PieArcLabelProps = PieArcLabelOwnerState & Omit<React.ComponentPropsWithoutRef<'text'>, 'id'> & {
|
|
22
23
|
startAngle: SpringValue<number>;
|
|
23
24
|
endAngle: SpringValue<number>;
|
|
24
25
|
innerRadius: SpringValue<number>;
|
package/PieChart/PieArcLabel.js
CHANGED
|
@@ -109,6 +109,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabel.propTypes = {
|
|
|
109
109
|
// ----------------------------------------------------------------------
|
|
110
110
|
classes: _propTypes.default.object,
|
|
111
111
|
formattedArcLabel: _propTypes.default.string,
|
|
112
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
112
113
|
isFaded: _propTypes.default.bool.isRequired,
|
|
113
114
|
isHighlighted: _propTypes.default.bool.isRequired
|
|
114
115
|
} : void 0;
|
|
@@ -14,7 +14,7 @@ var _transition = require("./dataTransform/transition");
|
|
|
14
14
|
var _useTransformData = require("./dataTransform/useTransformData");
|
|
15
15
|
var _PieArcLabel = require("./PieArcLabel");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const _excluded = ["
|
|
17
|
+
const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadius", "data", "faded", "highlighted", "highlightScope", "id", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "slotProps", "slots"],
|
|
18
18
|
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "arcLabelRadius", "cornerRadius"];
|
|
19
19
|
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); }
|
|
20
20
|
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; }
|
|
@@ -34,23 +34,23 @@ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
|
|
|
34
34
|
}
|
|
35
35
|
function PieArcLabelPlot(props) {
|
|
36
36
|
const {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
innerRadius,
|
|
40
|
-
outerRadius,
|
|
37
|
+
arcLabel,
|
|
38
|
+
arcLabelMinAngle = 0,
|
|
41
39
|
arcLabelRadius,
|
|
42
40
|
cornerRadius = 0,
|
|
43
|
-
|
|
44
|
-
id,
|
|
45
|
-
highlightScope,
|
|
46
|
-
highlighted,
|
|
41
|
+
data,
|
|
47
42
|
faded = {
|
|
48
43
|
additionalRadius: -5
|
|
49
44
|
},
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
highlighted,
|
|
46
|
+
highlightScope,
|
|
47
|
+
id,
|
|
48
|
+
innerRadius,
|
|
49
|
+
outerRadius,
|
|
50
|
+
paddingAngle = 0,
|
|
51
|
+
skipAnimation,
|
|
52
|
+
slotProps,
|
|
53
|
+
slots
|
|
54
54
|
} = props,
|
|
55
55
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
56
56
|
const transformedData = (0, _useTransformData.useTransformData)({
|
|
@@ -166,7 +166,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
|
|
|
166
166
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
167
167
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
168
168
|
}),
|
|
169
|
-
id: _propTypes.default.string.isRequired,
|
|
169
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
170
170
|
/**
|
|
171
171
|
* The radius between circle center and the begining of the arc.
|
|
172
172
|
* @default 0
|
package/PieChart/PieArcPlot.js
CHANGED
|
@@ -146,7 +146,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
|
|
|
146
146
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
147
147
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
148
148
|
}),
|
|
149
|
-
id: _propTypes.default.string.isRequired,
|
|
149
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
150
150
|
/**
|
|
151
151
|
* The radius between circle center and the begining of the arc.
|
|
152
152
|
* @default 0
|
package/PieChart/PieChart.d.ts
CHANGED
|
@@ -26,14 +26,36 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
|
|
|
26
26
|
* @default null
|
|
27
27
|
*/
|
|
28
28
|
leftAxis?: null | string | ChartsYAxisProps;
|
|
29
|
+
/**
|
|
30
|
+
* The series to display in the pie chart.
|
|
31
|
+
*/
|
|
29
32
|
series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
|
|
33
|
+
/**
|
|
34
|
+
* The configuration of the tooltip.
|
|
35
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
|
|
36
|
+
* @default { trigger: 'item' }
|
|
37
|
+
*/
|
|
30
38
|
tooltip?: ChartsTooltipProps;
|
|
39
|
+
/**
|
|
40
|
+
* The configuration of axes highlight.
|
|
41
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
|
|
42
|
+
* @default { x: 'none', y: 'none' }
|
|
43
|
+
*/
|
|
31
44
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
32
45
|
/**
|
|
46
|
+
* The props of the legend.
|
|
47
|
+
* @default { direction: 'column', position: { vertical: 'middle', horizontal: 'right' } }
|
|
33
48
|
* @deprecated Consider using `slotProps.legend` instead.
|
|
34
49
|
*/
|
|
35
50
|
legend?: ChartsLegendProps;
|
|
51
|
+
/**
|
|
52
|
+
* Callback fired when a pie arc is clicked.
|
|
53
|
+
*/
|
|
36
54
|
onItemClick?: PiePlotProps['onItemClick'];
|
|
55
|
+
/**
|
|
56
|
+
* Overridable component slots.
|
|
57
|
+
* @default {}
|
|
58
|
+
*/
|
|
37
59
|
slots?: PieChartSlots;
|
|
38
60
|
/**
|
|
39
61
|
* The props used for each component slot.
|
package/PieChart/PieChart.js
CHANGED
|
@@ -109,6 +109,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
109
109
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
110
110
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
111
111
|
// ----------------------------------------------------------------------
|
|
112
|
+
/**
|
|
113
|
+
* The configuration of axes highlight.
|
|
114
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
|
|
115
|
+
* @default { x: 'none', y: 'none' }
|
|
116
|
+
*/
|
|
112
117
|
axisHighlight: _propTypes.default.shape({
|
|
113
118
|
x: _propTypes.default.oneOf(['band', 'line', 'none']),
|
|
114
119
|
y: _propTypes.default.oneOf(['band', 'line', 'none'])
|
|
@@ -119,7 +124,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
119
124
|
* @default null
|
|
120
125
|
*/
|
|
121
126
|
bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
122
|
-
axisId: _propTypes.default.string,
|
|
127
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
123
128
|
classes: _propTypes.default.object,
|
|
124
129
|
disableLine: _propTypes.default.bool,
|
|
125
130
|
disableTicks: _propTypes.default.bool,
|
|
@@ -169,7 +174,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
169
174
|
* @default null
|
|
170
175
|
*/
|
|
171
176
|
leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
172
|
-
axisId: _propTypes.default.string,
|
|
177
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
173
178
|
classes: _propTypes.default.object,
|
|
174
179
|
disableLine: _propTypes.default.bool,
|
|
175
180
|
disableTicks: _propTypes.default.bool,
|
|
@@ -191,6 +196,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
191
196
|
tickSize: _propTypes.default.number
|
|
192
197
|
}), _propTypes.default.string]),
|
|
193
198
|
/**
|
|
199
|
+
* The props of the legend.
|
|
200
|
+
* @default { direction: 'column', position: { vertical: 'middle', horizontal: 'right' } }
|
|
194
201
|
* @deprecated Consider using `slotProps.legend` instead.
|
|
195
202
|
*/
|
|
196
203
|
legend: _propTypes.default.shape({
|
|
@@ -216,6 +223,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
216
223
|
right: _propTypes.default.number,
|
|
217
224
|
top: _propTypes.default.number
|
|
218
225
|
}),
|
|
226
|
+
/**
|
|
227
|
+
* Callback fired when a pie arc is clicked.
|
|
228
|
+
*/
|
|
219
229
|
onItemClick: _propTypes.default.func,
|
|
220
230
|
/**
|
|
221
231
|
* Indicate which axis to display the right of the charts.
|
|
@@ -223,7 +233,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
223
233
|
* @default null
|
|
224
234
|
*/
|
|
225
235
|
rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
226
|
-
axisId: _propTypes.default.string,
|
|
236
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
227
237
|
classes: _propTypes.default.object,
|
|
228
238
|
disableLine: _propTypes.default.bool,
|
|
229
239
|
disableTicks: _propTypes.default.bool,
|
|
@@ -244,6 +254,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
244
254
|
tickNumber: _propTypes.default.number,
|
|
245
255
|
tickSize: _propTypes.default.number
|
|
246
256
|
}), _propTypes.default.string]),
|
|
257
|
+
/**
|
|
258
|
+
* The series to display in the pie chart.
|
|
259
|
+
*/
|
|
247
260
|
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
248
261
|
/**
|
|
249
262
|
* If `true`, animations are skipped.
|
|
@@ -255,9 +268,18 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
255
268
|
* @default {}
|
|
256
269
|
*/
|
|
257
270
|
slotProps: _propTypes.default.object,
|
|
271
|
+
/**
|
|
272
|
+
* Overridable component slots.
|
|
273
|
+
* @default {}
|
|
274
|
+
*/
|
|
258
275
|
slots: _propTypes.default.object,
|
|
259
276
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
260
277
|
title: _propTypes.default.string,
|
|
278
|
+
/**
|
|
279
|
+
* The configuration of the tooltip.
|
|
280
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
|
|
281
|
+
* @default { trigger: 'item' }
|
|
282
|
+
*/
|
|
261
283
|
tooltip: _propTypes.default.shape({
|
|
262
284
|
axisContent: _propTypes.default.elementType,
|
|
263
285
|
classes: _propTypes.default.object,
|
|
@@ -272,7 +294,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
272
294
|
* @default null
|
|
273
295
|
*/
|
|
274
296
|
topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
275
|
-
axisId: _propTypes.default.string,
|
|
297
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
276
298
|
classes: _propTypes.default.object,
|
|
277
299
|
disableLine: _propTypes.default.bool,
|
|
278
300
|
disableTicks: _propTypes.default.bool,
|
|
@@ -309,7 +331,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
309
331
|
* If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
|
|
310
332
|
*/
|
|
311
333
|
xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
312
|
-
axisId: _propTypes.default.string,
|
|
334
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
313
335
|
classes: _propTypes.default.object,
|
|
314
336
|
data: _propTypes.default.array,
|
|
315
337
|
dataKey: _propTypes.default.string,
|
|
@@ -317,13 +339,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
317
339
|
disableTicks: _propTypes.default.bool,
|
|
318
340
|
fill: _propTypes.default.string,
|
|
319
341
|
hideTooltip: _propTypes.default.bool,
|
|
320
|
-
id: _propTypes.default.string,
|
|
342
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
321
343
|
label: _propTypes.default.string,
|
|
322
344
|
labelFontSize: _propTypes.default.number,
|
|
323
345
|
labelStyle: _propTypes.default.object,
|
|
324
346
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
325
347
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
326
348
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
349
|
+
reverse: _propTypes.default.bool,
|
|
327
350
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
328
351
|
slotProps: _propTypes.default.object,
|
|
329
352
|
slots: _propTypes.default.object,
|
|
@@ -343,7 +366,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
343
366
|
* If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
|
|
344
367
|
*/
|
|
345
368
|
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
346
|
-
axisId: _propTypes.default.string,
|
|
369
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
347
370
|
classes: _propTypes.default.object,
|
|
348
371
|
data: _propTypes.default.array,
|
|
349
372
|
dataKey: _propTypes.default.string,
|
|
@@ -351,13 +374,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
351
374
|
disableTicks: _propTypes.default.bool,
|
|
352
375
|
fill: _propTypes.default.string,
|
|
353
376
|
hideTooltip: _propTypes.default.bool,
|
|
354
|
-
id: _propTypes.default.string,
|
|
377
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
355
378
|
label: _propTypes.default.string,
|
|
356
379
|
labelFontSize: _propTypes.default.number,
|
|
357
380
|
labelStyle: _propTypes.default.object,
|
|
358
381
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
359
382
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
360
383
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
384
|
+
reverse: _propTypes.default.bool,
|
|
361
385
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
362
386
|
slotProps: _propTypes.default.object,
|
|
363
387
|
slots: _propTypes.default.object,
|
|
@@ -9,77 +9,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
13
|
-
var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
|
|
14
12
|
var _styles = require("@mui/material/styles");
|
|
15
13
|
var _ChartContainer = require("../ChartContainer");
|
|
14
|
+
var _useChartContainerDimensions = require("./useChartContainerDimensions");
|
|
16
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
16
|
const _excluded = ["width", "height"];
|
|
18
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); }
|
|
19
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; }
|
|
20
|
-
const useChartDimensions = (inWidth, inHeight) => {
|
|
21
|
-
const rootRef = React.useRef(null);
|
|
22
|
-
const displayError = React.useRef(false);
|
|
23
|
-
const [width, setWidth] = React.useState(0);
|
|
24
|
-
const [height, setHeight] = React.useState(0);
|
|
25
|
-
|
|
26
|
-
// Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
|
|
27
|
-
const computeSize = React.useCallback(() => {
|
|
28
|
-
const mainEl = rootRef?.current;
|
|
29
|
-
if (!mainEl) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const win = (0, _ownerWindow.default)(mainEl);
|
|
33
|
-
const computedStyle = win.getComputedStyle(mainEl);
|
|
34
|
-
const newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
|
|
35
|
-
const newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
|
|
36
|
-
setWidth(newWidth);
|
|
37
|
-
setHeight(newHeight);
|
|
38
|
-
}, []);
|
|
39
|
-
React.useEffect(() => {
|
|
40
|
-
// Ensure the error detection occurs after the first rendering.
|
|
41
|
-
displayError.current = true;
|
|
42
|
-
}, []);
|
|
43
|
-
(0, _useEnhancedEffect.default)(() => {
|
|
44
|
-
if (inWidth !== undefined && inHeight !== undefined) {
|
|
45
|
-
return () => {};
|
|
46
|
-
}
|
|
47
|
-
computeSize();
|
|
48
|
-
const elementToObserve = rootRef.current;
|
|
49
|
-
if (typeof ResizeObserver === 'undefined') {
|
|
50
|
-
return () => {};
|
|
51
|
-
}
|
|
52
|
-
let animationFrame;
|
|
53
|
-
const observer = new ResizeObserver(() => {
|
|
54
|
-
// See https://github.com/mui/mui-x/issues/8733
|
|
55
|
-
animationFrame = requestAnimationFrame(() => {
|
|
56
|
-
computeSize();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
if (elementToObserve) {
|
|
60
|
-
observer.observe(elementToObserve);
|
|
61
|
-
}
|
|
62
|
-
return () => {
|
|
63
|
-
if (animationFrame) {
|
|
64
|
-
window.cancelAnimationFrame(animationFrame);
|
|
65
|
-
}
|
|
66
|
-
if (elementToObserve) {
|
|
67
|
-
observer.unobserve(elementToObserve);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
}, [computeSize, inHeight, inWidth]);
|
|
71
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
72
|
-
if (displayError.current && inWidth === undefined && width === 0) {
|
|
73
|
-
console.error(`MUI X Charts: ChartContainer does not have \`width\` prop, and its container has no \`width\` defined.`);
|
|
74
|
-
displayError.current = false;
|
|
75
|
-
}
|
|
76
|
-
if (displayError.current && inHeight === undefined && height === 0) {
|
|
77
|
-
console.error(`MUI X Charts: ChartContainer does not have \`height\` prop, and its container has no \`height\` defined.`);
|
|
78
|
-
displayError.current = false;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return [rootRef, inWidth ?? width, inHeight ?? height];
|
|
82
|
-
};
|
|
83
19
|
const ResizableContainer = (0, _styles.styled)('div', {
|
|
84
20
|
name: 'MuiResponsiveChart',
|
|
85
21
|
slot: 'Container'
|
|
@@ -106,7 +42,7 @@ const ResponsiveChartContainer = exports.ResponsiveChartContainer = /*#__PURE__*
|
|
|
106
42
|
height: inHeight
|
|
107
43
|
} = props,
|
|
108
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
109
|
-
const [containerRef, width, height] =
|
|
45
|
+
const [containerRef, width, height] = (0, _useChartContainerDimensions.useChartContainerDimensions)(inWidth, inHeight);
|
|
110
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, {
|
|
111
47
|
ref: containerRef,
|
|
112
48
|
ownerState: {
|
|
@@ -184,7 +120,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
184
120
|
* If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
|
|
185
121
|
*/
|
|
186
122
|
xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
187
|
-
axisId: _propTypes.default.string,
|
|
123
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
188
124
|
classes: _propTypes.default.object,
|
|
189
125
|
data: _propTypes.default.array,
|
|
190
126
|
dataKey: _propTypes.default.string,
|
|
@@ -192,13 +128,14 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
192
128
|
disableTicks: _propTypes.default.bool,
|
|
193
129
|
fill: _propTypes.default.string,
|
|
194
130
|
hideTooltip: _propTypes.default.bool,
|
|
195
|
-
id: _propTypes.default.string,
|
|
131
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
196
132
|
label: _propTypes.default.string,
|
|
197
133
|
labelFontSize: _propTypes.default.number,
|
|
198
134
|
labelStyle: _propTypes.default.object,
|
|
199
135
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
200
136
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
201
137
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
138
|
+
reverse: _propTypes.default.bool,
|
|
202
139
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
203
140
|
slotProps: _propTypes.default.object,
|
|
204
141
|
slots: _propTypes.default.object,
|
|
@@ -218,7 +155,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
218
155
|
* If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
|
|
219
156
|
*/
|
|
220
157
|
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
221
|
-
axisId: _propTypes.default.string,
|
|
158
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
222
159
|
classes: _propTypes.default.object,
|
|
223
160
|
data: _propTypes.default.array,
|
|
224
161
|
dataKey: _propTypes.default.string,
|
|
@@ -226,13 +163,14 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
226
163
|
disableTicks: _propTypes.default.bool,
|
|
227
164
|
fill: _propTypes.default.string,
|
|
228
165
|
hideTooltip: _propTypes.default.bool,
|
|
229
|
-
id: _propTypes.default.string,
|
|
166
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
230
167
|
label: _propTypes.default.string,
|
|
231
168
|
labelFontSize: _propTypes.default.number,
|
|
232
169
|
labelStyle: _propTypes.default.object,
|
|
233
170
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
234
171
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
235
172
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
173
|
+
reverse: _propTypes.default.bool,
|
|
236
174
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
237
175
|
slotProps: _propTypes.default.object,
|
|
238
176
|
slots: _propTypes.default.object,
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useChartContainerDimensions = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
10
|
+
var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
const useChartContainerDimensions = (inWidth, inHeight) => {
|
|
14
|
+
const rootRef = React.useRef(null);
|
|
15
|
+
const displayError = React.useRef(false);
|
|
16
|
+
const [width, setWidth] = React.useState(0);
|
|
17
|
+
const [height, setHeight] = React.useState(0);
|
|
18
|
+
|
|
19
|
+
// Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
|
|
20
|
+
const computeSize = React.useCallback(() => {
|
|
21
|
+
const mainEl = rootRef?.current;
|
|
22
|
+
if (!mainEl) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const win = (0, _ownerWindow.default)(mainEl);
|
|
26
|
+
const computedStyle = win.getComputedStyle(mainEl);
|
|
27
|
+
const newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
|
|
28
|
+
const newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
|
|
29
|
+
setWidth(newWidth);
|
|
30
|
+
setHeight(newHeight);
|
|
31
|
+
}, []);
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
// Ensure the error detection occurs after the first rendering.
|
|
34
|
+
displayError.current = true;
|
|
35
|
+
}, []);
|
|
36
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
37
|
+
if (inWidth !== undefined && inHeight !== undefined) {
|
|
38
|
+
return () => {};
|
|
39
|
+
}
|
|
40
|
+
computeSize();
|
|
41
|
+
const elementToObserve = rootRef.current;
|
|
42
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
43
|
+
return () => {};
|
|
44
|
+
}
|
|
45
|
+
let animationFrame;
|
|
46
|
+
const observer = new ResizeObserver(() => {
|
|
47
|
+
// See https://github.com/mui/mui-x/issues/8733
|
|
48
|
+
animationFrame = requestAnimationFrame(() => {
|
|
49
|
+
computeSize();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
if (elementToObserve) {
|
|
53
|
+
observer.observe(elementToObserve);
|
|
54
|
+
}
|
|
55
|
+
return () => {
|
|
56
|
+
if (animationFrame) {
|
|
57
|
+
window.cancelAnimationFrame(animationFrame);
|
|
58
|
+
}
|
|
59
|
+
if (elementToObserve) {
|
|
60
|
+
observer.unobserve(elementToObserve);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}, [computeSize, inHeight, inWidth]);
|
|
64
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
65
|
+
if (displayError.current && inWidth === undefined && width === 0) {
|
|
66
|
+
console.error(`MUI X Charts: ChartContainer does not have \`width\` prop, and its container has no \`width\` defined.`);
|
|
67
|
+
displayError.current = false;
|
|
68
|
+
}
|
|
69
|
+
if (displayError.current && inHeight === undefined && height === 0) {
|
|
70
|
+
console.error(`MUI X Charts: ChartContainer does not have \`height\` prop, and its container has no \`height\` defined.`);
|
|
71
|
+
displayError.current = false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return [rootRef, inWidth ?? width, inHeight ?? height];
|
|
75
|
+
};
|
|
76
|
+
exports.useChartContainerDimensions = useChartContainerDimensions;
|
|
@@ -9,14 +9,32 @@ import { ChartsLegendProps, ChartsLegendSlotProps, ChartsLegendSlots } from '../
|
|
|
9
9
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
10
10
|
import { ChartsAxisSlots, ChartsAxisSlotProps } from '../models/axis';
|
|
11
11
|
import { ChartsVoronoiHandlerProps } from '../ChartsVoronoiHandler/ChartsVoronoiHandler';
|
|
12
|
+
import { ChartsGridProps } from '../ChartsGrid';
|
|
12
13
|
export interface ScatterChartSlots extends ChartsAxisSlots, ScatterPlotSlots, ChartsLegendSlots, ChartsTooltipSlots {
|
|
13
14
|
}
|
|
14
15
|
export interface ScatterChartSlotProps extends ChartsAxisSlotProps, ScatterPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps {
|
|
15
16
|
}
|
|
16
17
|
export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsVoronoiHandlerProps, 'onItemClick'> {
|
|
18
|
+
/**
|
|
19
|
+
* The series to display in the scatter chart.
|
|
20
|
+
*/
|
|
17
21
|
series: MakeOptional<ScatterSeriesType, 'type'>[];
|
|
22
|
+
/**
|
|
23
|
+
* The configuration of the tooltip.
|
|
24
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
|
|
25
|
+
* @default { trigger: 'item' }
|
|
26
|
+
*/
|
|
18
27
|
tooltip?: ChartsTooltipProps;
|
|
28
|
+
/**
|
|
29
|
+
* The configuration of axes highlight.
|
|
30
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
|
|
31
|
+
* @default { x: 'none', y: 'none' }
|
|
32
|
+
*/
|
|
19
33
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
34
|
+
/**
|
|
35
|
+
* Option to display a cartesian grid in the background.
|
|
36
|
+
*/
|
|
37
|
+
grid?: Pick<ChartsGridProps, 'vertical' | 'horizontal'>;
|
|
20
38
|
/**
|
|
21
39
|
* If true, the interaction will not use the Voronoi cell and fall back to hover events.
|
|
22
40
|
* @default false
|