@mui/x-charts 7.22.1 → 8.0.0-alpha.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 +7 -7
- package/BarChart/BarChart.js +9 -29
- package/BarChart/BarElement.d.ts +1 -1
- package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
- package/BarChart/BarPlot.js +12 -4
- package/BarChart/extremums.js +3 -3
- package/BarChart/useBarChartProps.d.ts +2 -2
- package/BarChart/useBarChartProps.js +3 -4
- package/CHANGELOG.md +143 -92
- package/ChartContainer/ChartContainer.d.ts +16 -33
- package/ChartContainer/ChartContainer.js +24 -41
- package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.d.ts +2 -2
- package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.d.ts +1 -1
- package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/ChartContainer/useChartContainerProps.d.ts +11 -86
- package/ChartContainer/useChartContainerProps.js +42 -58
- package/ChartsLegend/ChartsLegend.js +0 -3
- package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
- package/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/ChartsLegend/LegendPerItem.d.ts +1 -1
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/ChartsTooltip/ChartsTooltip.js +45 -6
- package/ChartsTooltip/useAxisTooltip.js +3 -3
- package/ChartsTooltip/useItemTooltip.js +3 -3
- package/ChartsTooltip/utils.d.ts +5 -13
- package/ChartsTooltip/utils.js +45 -42
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/Gauge/GaugeContainer.js +1 -1
- package/LineChart/AreaElement.d.ts +1 -1
- package/LineChart/AreaPlot.js +2 -6
- package/LineChart/LineChart.d.ts +7 -7
- package/LineChart/LineChart.js +9 -29
- package/LineChart/LineElement.d.ts +1 -1
- package/LineChart/LineHighlightPlot.d.ts +1 -1
- package/LineChart/LineHighlightPlot.js +2 -6
- package/LineChart/LinePlot.js +2 -6
- package/LineChart/MarkPlot.js +2 -6
- package/LineChart/extremums.js +10 -6
- package/LineChart/useLineChartProps.d.ts +2 -2
- package/LineChart/useLineChartProps.js +3 -4
- package/PieChart/PieArc.d.ts +0 -5
- package/PieChart/PieArc.js +1 -10
- package/PieChart/PieArcPlot.js +0 -5
- package/PieChart/PieChart.d.ts +9 -32
- package/PieChart/PieChart.js +19 -102
- package/README.md +2 -2
- package/ScatterChart/ScatterChart.d.ts +7 -7
- package/ScatterChart/ScatterChart.js +9 -29
- package/ScatterChart/ScatterPlot.js +3 -6
- package/ScatterChart/extremums.js +6 -6
- package/ScatterChart/useScatterChartProps.d.ts +2 -2
- package/ScatterChart/useScatterChartProps.js +3 -4
- package/SparkLineChart/SparkLineChart.d.ts +4 -4
- package/SparkLineChart/SparkLineChart.js +4 -2
- package/context/CartesianProvider/defaultizeAxis.d.ts +5 -1
- package/context/ChartDataProvider/ChartDataProvider.d.ts +41 -0
- package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
- package/context/ChartDataProvider/index.d.ts +1 -0
- package/context/ChartDataProvider/index.js +1 -0
- package/context/ChartDataProvider/useChartDataProviderProps.d.ts +97 -0
- package/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
- package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +16 -12
- package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
- package/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
- package/context/ZAxisContextProvider.d.ts +1 -1
- package/index.d.ts +1 -2
- package/index.js +2 -3
- package/internals/computeAxisValue.js +13 -5
- package/internals/defaultizeColor.d.ts +1 -8
- package/internals/getSymbol.js +19 -3
- package/internals/index.d.ts +5 -5
- package/internals/index.js +5 -5
- package/internals/useStringInterpolator.js +1 -0
- package/models/axis.d.ts +10 -0
- package/models/seriesType/bar.d.ts +1 -1
- package/models/seriesType/common.d.ts +2 -12
- package/models/seriesType/config.d.ts +1 -1
- package/models/seriesType/line.d.ts +1 -1
- package/models/seriesType/pie.d.ts +1 -1
- package/models/seriesType/scatter.d.ts +1 -6
- package/modern/BarChart/BarChart.js +9 -29
- package/modern/BarChart/BarPlot.js +12 -4
- package/modern/BarChart/extremums.js +3 -3
- package/modern/BarChart/useBarChartProps.js +3 -4
- package/modern/ChartContainer/ChartContainer.js +24 -41
- package/modern/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/modern/ChartContainer/useChartContainerProps.js +42 -58
- package/modern/ChartsLegend/ChartsLegend.js +0 -3
- package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/modern/ChartsTooltip/ChartsTooltip.js +45 -6
- package/modern/ChartsTooltip/useAxisTooltip.js +3 -3
- package/modern/ChartsTooltip/useItemTooltip.js +3 -3
- package/modern/ChartsTooltip/utils.js +45 -42
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/modern/Gauge/GaugeContainer.js +1 -1
- package/modern/LineChart/AreaPlot.js +2 -6
- package/modern/LineChart/LineChart.js +9 -29
- package/modern/LineChart/LineHighlightPlot.js +2 -6
- package/modern/LineChart/LinePlot.js +2 -6
- package/modern/LineChart/MarkPlot.js +2 -6
- package/modern/LineChart/extremums.js +10 -6
- package/modern/LineChart/useLineChartProps.js +3 -4
- package/modern/PieChart/PieArc.js +1 -10
- package/modern/PieChart/PieArcPlot.js +0 -5
- package/modern/PieChart/PieChart.js +19 -102
- package/modern/ScatterChart/ScatterChart.js +9 -29
- package/modern/ScatterChart/ScatterPlot.js +3 -6
- package/modern/ScatterChart/extremums.js +6 -6
- package/modern/ScatterChart/useScatterChartProps.js +3 -4
- package/modern/SparkLineChart/SparkLineChart.js +4 -2
- package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
- package/modern/context/ChartDataProvider/index.js +1 -0
- package/modern/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
- package/modern/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/modern/index.js +2 -3
- package/modern/internals/computeAxisValue.js +13 -5
- package/modern/internals/getSymbol.js +19 -3
- package/modern/internals/index.js +5 -5
- package/modern/internals/useStringInterpolator.js +1 -0
- package/node/BarChart/BarChart.js +9 -29
- package/node/BarChart/BarPlot.js +11 -3
- package/node/BarChart/extremums.js +3 -3
- package/node/BarChart/useBarChartProps.js +3 -4
- package/node/ChartContainer/ChartContainer.js +23 -40
- package/node/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/node/ChartContainer/useChartContainerProps.js +42 -59
- package/node/ChartsLegend/ChartsLegend.js +0 -3
- package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/node/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/node/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/node/ChartsTooltip/ChartsTooltip.js +44 -5
- package/node/ChartsTooltip/useAxisTooltip.js +3 -3
- package/node/ChartsTooltip/useItemTooltip.js +3 -3
- package/node/ChartsTooltip/utils.js +46 -44
- package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/node/Gauge/GaugeContainer.js +1 -1
- package/node/LineChart/AreaPlot.js +2 -6
- package/node/LineChart/LineChart.js +9 -29
- package/node/LineChart/LineHighlightPlot.js +2 -6
- package/node/LineChart/LinePlot.js +2 -6
- package/node/LineChart/MarkPlot.js +2 -6
- package/node/LineChart/extremums.js +10 -6
- package/node/LineChart/useLineChartProps.js +3 -4
- package/node/PieChart/PieArc.js +1 -10
- package/node/PieChart/PieArcPlot.js +0 -5
- package/node/PieChart/PieChart.js +19 -102
- package/node/ScatterChart/ScatterChart.js +9 -29
- package/node/ScatterChart/ScatterPlot.js +3 -6
- package/node/ScatterChart/extremums.js +6 -6
- package/node/ScatterChart/useScatterChartProps.js +3 -4
- package/node/SparkLineChart/SparkLineChart.js +4 -2
- package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +47 -26
- package/node/context/ChartDataProvider/index.js +16 -0
- package/node/context/ChartDataProvider/useChartDataProviderProps.js +94 -0
- package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/node/index.js +5 -16
- package/node/internals/computeAxisValue.js +13 -5
- package/node/internals/getSymbol.js +19 -3
- package/node/internals/index.js +37 -29
- package/node/internals/useStringInterpolator.js +2 -0
- package/package.json +4 -4
- package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
- package/ResponsiveChartContainer/index.d.ts +0 -1
- package/ResponsiveChartContainer/index.js +0 -1
- package/ResponsiveChartContainer/package.json +0 -6
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
- package/internals/SlotComponentPropsFromProps.d.ts +0 -1
- package/internals/SlotComponentPropsFromProps.js +0 -1
- package/models/helpers.d.ts +0 -3
- package/models/helpers.js +0 -1
- package/modern/ResponsiveChartContainer/index.js +0 -1
- package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
- package/modern/internals/SlotComponentPropsFromProps.js +0 -1
- package/modern/models/helpers.js +0 -1
- package/node/ResponsiveChartContainer/index.js +0 -16
- package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
- package/node/internals/SlotComponentPropsFromProps.js +0 -5
- package/node/models/helpers.js +0 -5
- /package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
- /package/modern/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
- /package/node/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
|
@@ -2,17 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "tooltip", "
|
|
5
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "tooltip", "skipAnimation", "hideLegend", "children", "slots", "slotProps", "onItemClick", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { useRtl } from '@mui/system/RtlProvider';
|
|
9
9
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
|
-
import {
|
|
11
|
-
import { ChartsAxis } from "../ChartsAxis/ChartsAxis.js";
|
|
12
|
-
import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
|
|
10
|
+
import { ChartContainer } from "../ChartContainer/index.js";
|
|
13
11
|
import { ChartsTooltip } from "../ChartsTooltip/index.js";
|
|
14
12
|
import { ChartsLegend } from "../ChartsLegend/index.js";
|
|
15
|
-
import { ChartsAxisHighlight } from "../ChartsAxisHighlight/index.js";
|
|
16
13
|
import { PiePlot } from "./PiePlot.js";
|
|
17
14
|
import { ChartsOverlay } from "../ChartsOverlay/index.js";
|
|
18
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -45,8 +42,6 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
|
|
|
45
42
|
name: 'MuiPieChart'
|
|
46
43
|
});
|
|
47
44
|
const {
|
|
48
|
-
xAxis,
|
|
49
|
-
yAxis,
|
|
50
45
|
series,
|
|
51
46
|
width,
|
|
52
47
|
height,
|
|
@@ -56,16 +51,8 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
|
|
|
56
51
|
tooltip = {
|
|
57
52
|
trigger: 'item'
|
|
58
53
|
},
|
|
59
|
-
axisHighlight = {
|
|
60
|
-
x: 'none',
|
|
61
|
-
y: 'none'
|
|
62
|
-
},
|
|
63
54
|
skipAnimation,
|
|
64
|
-
|
|
65
|
-
topAxis = null,
|
|
66
|
-
leftAxis = null,
|
|
67
|
-
rightAxis = null,
|
|
68
|
-
bottomAxis = null,
|
|
55
|
+
hideLegend,
|
|
69
56
|
children,
|
|
70
57
|
slots,
|
|
71
58
|
slotProps,
|
|
@@ -78,14 +65,7 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
|
|
|
78
65
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
79
66
|
const isRtl = useRtl();
|
|
80
67
|
const margin = _extends({}, isRtl ? defaultRTLMargin : defaultMargin, marginProps);
|
|
81
|
-
|
|
82
|
-
direction: 'column',
|
|
83
|
-
position: {
|
|
84
|
-
vertical: 'middle',
|
|
85
|
-
horizontal: isRtl ? 'left' : 'right'
|
|
86
|
-
}
|
|
87
|
-
}, legendProps);
|
|
88
|
-
return /*#__PURE__*/_jsxs(ResponsiveChartContainer, _extends({}, other, {
|
|
68
|
+
return /*#__PURE__*/_jsxs(ChartContainer, _extends({}, other, {
|
|
89
69
|
ref: ref,
|
|
90
70
|
series: series.map(s => _extends({
|
|
91
71
|
type: 'pie'
|
|
@@ -93,27 +73,14 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
|
|
|
93
73
|
width: width,
|
|
94
74
|
height: height,
|
|
95
75
|
margin: margin,
|
|
96
|
-
xAxis: xAxis ?? [{
|
|
97
|
-
id: DEFAULT_X_AXIS_KEY,
|
|
98
|
-
scaleType: 'point',
|
|
99
|
-
data: [...new Array(Math.max(...series.map(s => s.data.length)))].map((_, index) => index)
|
|
100
|
-
}],
|
|
101
|
-
yAxis: yAxis,
|
|
102
76
|
colors: colors,
|
|
103
77
|
sx: sx,
|
|
104
|
-
disableAxisListener:
|
|
78
|
+
disableAxisListener: true,
|
|
105
79
|
highlightedItem: highlightedItem,
|
|
106
80
|
onHighlightChange: onHighlightChange,
|
|
107
81
|
className: className,
|
|
108
82
|
skipAnimation: skipAnimation,
|
|
109
|
-
children: [/*#__PURE__*/_jsx(
|
|
110
|
-
topAxis: topAxis,
|
|
111
|
-
leftAxis: leftAxis,
|
|
112
|
-
rightAxis: rightAxis,
|
|
113
|
-
bottomAxis: bottomAxis,
|
|
114
|
-
slots: slots,
|
|
115
|
-
slotProps: slotProps
|
|
116
|
-
}), /*#__PURE__*/_jsx(PiePlot, {
|
|
83
|
+
children: [/*#__PURE__*/_jsx(PiePlot, {
|
|
117
84
|
slots: slots,
|
|
118
85
|
slotProps: slotProps,
|
|
119
86
|
onItemClick: onItemClick
|
|
@@ -121,10 +88,15 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
|
|
|
121
88
|
loading: loading,
|
|
122
89
|
slots: slots,
|
|
123
90
|
slotProps: slotProps
|
|
124
|
-
}), /*#__PURE__*/_jsx(ChartsLegend,
|
|
91
|
+
}), !hideLegend && /*#__PURE__*/_jsx(ChartsLegend, {
|
|
92
|
+
direction: "column",
|
|
93
|
+
position: {
|
|
94
|
+
vertical: 'middle',
|
|
95
|
+
horizontal: isRtl ? 'left' : 'right'
|
|
96
|
+
},
|
|
125
97
|
slots: slots,
|
|
126
98
|
slotProps: slotProps
|
|
127
|
-
})
|
|
99
|
+
}), !loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
|
|
128
100
|
slots: slots,
|
|
129
101
|
slotProps: slotProps
|
|
130
102
|
})), children]
|
|
@@ -135,21 +107,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
135
107
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
136
108
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
137
109
|
// ----------------------------------------------------------------------
|
|
138
|
-
/**
|
|
139
|
-
* The configuration of axes highlight.
|
|
140
|
-
* @see See {@link https://mui.com/x/react-charts/highlighting highlighting docs} for more details.
|
|
141
|
-
* @default { x: 'none', y: 'none' }
|
|
142
|
-
*/
|
|
143
|
-
axisHighlight: PropTypes.shape({
|
|
144
|
-
x: PropTypes.oneOf(['band', 'line', 'none']),
|
|
145
|
-
y: PropTypes.oneOf(['band', 'line', 'none'])
|
|
146
|
-
}),
|
|
147
|
-
/**
|
|
148
|
-
* Indicate which axis to display the bottom of the charts.
|
|
149
|
-
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
150
|
-
* @default null
|
|
151
|
-
*/
|
|
152
|
-
bottomAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
153
110
|
children: PropTypes.node,
|
|
154
111
|
className: PropTypes.string,
|
|
155
112
|
/**
|
|
@@ -172,6 +129,10 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
172
129
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
173
130
|
*/
|
|
174
131
|
height: PropTypes.number,
|
|
132
|
+
/**
|
|
133
|
+
* If `true`, the legend is not rendered.
|
|
134
|
+
*/
|
|
135
|
+
hideLegend: PropTypes.bool,
|
|
175
136
|
/**
|
|
176
137
|
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
177
138
|
*/
|
|
@@ -179,40 +140,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
179
140
|
dataIndex: PropTypes.number,
|
|
180
141
|
seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
181
142
|
}),
|
|
182
|
-
/**
|
|
183
|
-
* Indicate which axis to display the left of the charts.
|
|
184
|
-
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
185
|
-
* @default null
|
|
186
|
-
*/
|
|
187
|
-
leftAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
188
|
-
/**
|
|
189
|
-
* The props of the legend.
|
|
190
|
-
* @default { direction: 'column', position: { vertical: 'middle', horizontal: 'right' } }
|
|
191
|
-
* @deprecated Consider using `slotProps.legend` instead.
|
|
192
|
-
*/
|
|
193
|
-
legend: PropTypes.shape({
|
|
194
|
-
classes: PropTypes.object,
|
|
195
|
-
direction: PropTypes.oneOf(['column', 'row']),
|
|
196
|
-
hidden: PropTypes.bool,
|
|
197
|
-
itemGap: PropTypes.number,
|
|
198
|
-
itemMarkHeight: PropTypes.number,
|
|
199
|
-
itemMarkWidth: PropTypes.number,
|
|
200
|
-
labelStyle: PropTypes.object,
|
|
201
|
-
markGap: PropTypes.number,
|
|
202
|
-
onItemClick: PropTypes.func,
|
|
203
|
-
padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
204
|
-
bottom: PropTypes.number,
|
|
205
|
-
left: PropTypes.number,
|
|
206
|
-
right: PropTypes.number,
|
|
207
|
-
top: PropTypes.number
|
|
208
|
-
})]),
|
|
209
|
-
position: PropTypes.shape({
|
|
210
|
-
horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
|
|
211
|
-
vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
212
|
-
}),
|
|
213
|
-
slotProps: PropTypes.object,
|
|
214
|
-
slots: PropTypes.object
|
|
215
|
-
}),
|
|
216
143
|
/**
|
|
217
144
|
* If `true`, a loading overlay is displayed.
|
|
218
145
|
* @default false
|
|
@@ -250,12 +177,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
250
177
|
* @default false
|
|
251
178
|
*/
|
|
252
179
|
resolveSizeBeforeRender: PropTypes.bool,
|
|
253
|
-
/**
|
|
254
|
-
* Indicate which axis to display the right of the charts.
|
|
255
|
-
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
256
|
-
* @default null
|
|
257
|
-
*/
|
|
258
|
-
rightAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
259
180
|
/**
|
|
260
181
|
* The series to display in the pie chart.
|
|
261
182
|
* An array of [[PieSeriesType]] objects.
|
|
@@ -291,12 +212,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
291
212
|
slots: PropTypes.object,
|
|
292
213
|
trigger: PropTypes.oneOf(['axis', 'item', 'none'])
|
|
293
214
|
}),
|
|
294
|
-
/**
|
|
295
|
-
* Indicate which axis to display the top of the charts.
|
|
296
|
-
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
297
|
-
* @default null
|
|
298
|
-
*/
|
|
299
|
-
topAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
300
215
|
viewBox: PropTypes.shape({
|
|
301
216
|
height: PropTypes.number,
|
|
302
217
|
width: PropTypes.number,
|
|
@@ -333,6 +248,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
333
248
|
dataKey: PropTypes.string,
|
|
334
249
|
disableLine: PropTypes.bool,
|
|
335
250
|
disableTicks: PropTypes.bool,
|
|
251
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
336
252
|
fill: PropTypes.string,
|
|
337
253
|
hideTooltip: PropTypes.bool,
|
|
338
254
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -386,6 +302,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
386
302
|
dataKey: PropTypes.string,
|
|
387
303
|
disableLine: PropTypes.bool,
|
|
388
304
|
disableTicks: PropTypes.bool,
|
|
305
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
389
306
|
fill: PropTypes.string,
|
|
390
307
|
hideTooltip: PropTypes.bool,
|
|
391
308
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useThemeProps } from '@mui/material/styles';
|
|
7
7
|
import { ScatterPlot } from "./ScatterPlot.js";
|
|
8
|
-
import {
|
|
8
|
+
import { ChartContainer } from "../ChartContainer/index.js";
|
|
9
9
|
import { ChartsAxis } from "../ChartsAxis/index.js";
|
|
10
10
|
import { ChartsTooltip } from "../ChartsTooltip/index.js";
|
|
11
11
|
import { ChartsLegend } from "../ChartsLegend/index.js";
|
|
@@ -44,14 +44,14 @@ const ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(inProps
|
|
|
44
44
|
tooltipProps,
|
|
45
45
|
children
|
|
46
46
|
} = useScatterChartProps(props);
|
|
47
|
-
return /*#__PURE__*/_jsx(
|
|
47
|
+
return /*#__PURE__*/_jsx(ChartContainer, _extends({
|
|
48
48
|
ref: ref
|
|
49
49
|
}, chartContainerProps, {
|
|
50
50
|
children: /*#__PURE__*/_jsxs(ZAxisContextProvider, _extends({}, zAxisProps, {
|
|
51
51
|
children: [!props.disableVoronoi && /*#__PURE__*/_jsx(ChartsVoronoiHandler, _extends({}, voronoiHandlerProps)), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsx("g", {
|
|
52
52
|
"data-drawing-container": true,
|
|
53
53
|
children: /*#__PURE__*/_jsx(ScatterPlot, _extends({}, scatterPlotProps))
|
|
54
|
-
}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), children]
|
|
54
|
+
}), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), children]
|
|
55
55
|
}))
|
|
56
56
|
}));
|
|
57
57
|
});
|
|
@@ -109,6 +109,10 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
109
109
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
110
110
|
*/
|
|
111
111
|
height: PropTypes.number,
|
|
112
|
+
/**
|
|
113
|
+
* If `true`, the legend is not rendered.
|
|
114
|
+
*/
|
|
115
|
+
hideLegend: PropTypes.bool,
|
|
112
116
|
/**
|
|
113
117
|
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
114
118
|
*/
|
|
@@ -122,32 +126,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
122
126
|
* @default yAxisIds[0] The id of the first provided axis
|
|
123
127
|
*/
|
|
124
128
|
leftAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
125
|
-
/**
|
|
126
|
-
* @deprecated Consider using `slotProps.legend` instead.
|
|
127
|
-
*/
|
|
128
|
-
legend: PropTypes.shape({
|
|
129
|
-
classes: PropTypes.object,
|
|
130
|
-
direction: PropTypes.oneOf(['column', 'row']),
|
|
131
|
-
hidden: PropTypes.bool,
|
|
132
|
-
itemGap: PropTypes.number,
|
|
133
|
-
itemMarkHeight: PropTypes.number,
|
|
134
|
-
itemMarkWidth: PropTypes.number,
|
|
135
|
-
labelStyle: PropTypes.object,
|
|
136
|
-
markGap: PropTypes.number,
|
|
137
|
-
onItemClick: PropTypes.func,
|
|
138
|
-
padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
|
|
139
|
-
bottom: PropTypes.number,
|
|
140
|
-
left: PropTypes.number,
|
|
141
|
-
right: PropTypes.number,
|
|
142
|
-
top: PropTypes.number
|
|
143
|
-
})]),
|
|
144
|
-
position: PropTypes.shape({
|
|
145
|
-
horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
|
|
146
|
-
vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
147
|
-
}),
|
|
148
|
-
slotProps: PropTypes.object,
|
|
149
|
-
slots: PropTypes.object
|
|
150
|
-
}),
|
|
151
129
|
/**
|
|
152
130
|
* If `true`, a loading overlay is displayed.
|
|
153
131
|
* @default false
|
|
@@ -275,6 +253,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
275
253
|
dataKey: PropTypes.string,
|
|
276
254
|
disableLine: PropTypes.bool,
|
|
277
255
|
disableTicks: PropTypes.bool,
|
|
256
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
278
257
|
fill: PropTypes.string,
|
|
279
258
|
hideTooltip: PropTypes.bool,
|
|
280
259
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -328,6 +307,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
328
307
|
dataKey: PropTypes.string,
|
|
329
308
|
disableLine: PropTypes.bool,
|
|
330
309
|
disableTicks: PropTypes.bool,
|
|
310
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
331
311
|
fill: PropTypes.string,
|
|
332
312
|
hideTooltip: PropTypes.bool,
|
|
333
313
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -52,18 +52,15 @@ function ScatterPlot(props) {
|
|
|
52
52
|
children: seriesOrder.map(seriesId => {
|
|
53
53
|
const {
|
|
54
54
|
id,
|
|
55
|
-
xAxisKey,
|
|
56
|
-
yAxisKey,
|
|
57
|
-
zAxisKey,
|
|
58
55
|
xAxisId,
|
|
59
56
|
yAxisId,
|
|
60
57
|
zAxisId,
|
|
61
58
|
markerSize,
|
|
62
59
|
color
|
|
63
60
|
} = series[seriesId];
|
|
64
|
-
const colorGetter = getColor(series[seriesId], xAxis[xAxisId ??
|
|
65
|
-
const xScale = xAxis[xAxisId ??
|
|
66
|
-
const yScale = yAxis[yAxisId ??
|
|
61
|
+
const colorGetter = getColor(series[seriesId], xAxis[xAxisId ?? defaultXAxisId], yAxis[yAxisId ?? defaultYAxisId], zAxis[zAxisId ?? defaultZAxisId]);
|
|
62
|
+
const xScale = xAxis[xAxisId ?? defaultXAxisId].scale;
|
|
63
|
+
const yScale = yAxis[yAxisId ?? defaultYAxisId].scale;
|
|
67
64
|
return /*#__PURE__*/_jsx(ScatterItems, _extends({
|
|
68
65
|
xScale: xScale,
|
|
69
66
|
yScale: yScale,
|
|
@@ -9,14 +9,14 @@ export const getExtremumX = params => {
|
|
|
9
9
|
getFilters
|
|
10
10
|
} = params;
|
|
11
11
|
return Object.keys(series).filter(seriesId => {
|
|
12
|
-
const axisId = series[seriesId].xAxisId
|
|
12
|
+
const axisId = series[seriesId].xAxisId;
|
|
13
13
|
return axisId === axis.id || axisId === undefined && isDefaultAxis;
|
|
14
14
|
}).reduce((acc, seriesId) => {
|
|
15
15
|
const filter = getFilters?.({
|
|
16
16
|
currentAxisId: axis.id,
|
|
17
17
|
isDefaultAxis,
|
|
18
|
-
seriesXAxisId: series[seriesId].xAxisId
|
|
19
|
-
seriesYAxisId: series[seriesId].yAxisId
|
|
18
|
+
seriesXAxisId: series[seriesId].xAxisId,
|
|
19
|
+
seriesYAxisId: series[seriesId].yAxisId
|
|
20
20
|
});
|
|
21
21
|
const seriesMinMax = series[seriesId].data?.reduce((accSeries, d, dataIndex) => {
|
|
22
22
|
if (filter && !filter(d, dataIndex)) {
|
|
@@ -35,14 +35,14 @@ export const getExtremumY = params => {
|
|
|
35
35
|
getFilters
|
|
36
36
|
} = params;
|
|
37
37
|
return Object.keys(series).filter(seriesId => {
|
|
38
|
-
const axisId = series[seriesId].yAxisId
|
|
38
|
+
const axisId = series[seriesId].yAxisId;
|
|
39
39
|
return axisId === axis.id || axisId === undefined && isDefaultAxis;
|
|
40
40
|
}).reduce((acc, seriesId) => {
|
|
41
41
|
const filter = getFilters?.({
|
|
42
42
|
currentAxisId: axis.id,
|
|
43
43
|
isDefaultAxis,
|
|
44
|
-
seriesXAxisId: series[seriesId].xAxisId
|
|
45
|
-
seriesYAxisId: series[seriesId].yAxisId
|
|
44
|
+
seriesXAxisId: series[seriesId].xAxisId,
|
|
45
|
+
seriesYAxisId: series[seriesId].yAxisId
|
|
46
46
|
});
|
|
47
47
|
const seriesMinMax = series[seriesId].data?.reduce((accSeries, d, dataIndex) => {
|
|
48
48
|
if (filter && !filter(d, dataIndex)) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["xAxis", "yAxis", "zAxis", "series", "tooltip", "axisHighlight", "voronoiMaxRadius", "disableVoronoi", "
|
|
5
|
+
const _excluded = ["xAxis", "yAxis", "zAxis", "series", "tooltip", "axisHighlight", "voronoiMaxRadius", "disableVoronoi", "hideLegend", "width", "height", "margin", "colors", "sx", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "onItemClick", "children", "slots", "slotProps", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
6
6
|
/**
|
|
7
7
|
* A helper function that extracts ScatterChartProps from the input props
|
|
8
8
|
* and returns an object with props for the children components of ScatterChart.
|
|
@@ -20,7 +20,6 @@ export const useScatterChartProps = props => {
|
|
|
20
20
|
axisHighlight,
|
|
21
21
|
voronoiMaxRadius,
|
|
22
22
|
disableVoronoi,
|
|
23
|
-
legend,
|
|
24
23
|
width,
|
|
25
24
|
height,
|
|
26
25
|
margin,
|
|
@@ -85,10 +84,10 @@ export const useScatterChartProps = props => {
|
|
|
85
84
|
slots,
|
|
86
85
|
slotProps
|
|
87
86
|
};
|
|
88
|
-
const legendProps =
|
|
87
|
+
const legendProps = {
|
|
89
88
|
slots,
|
|
90
89
|
slotProps
|
|
91
|
-
}
|
|
90
|
+
};
|
|
92
91
|
const axisHighlightProps = _extends({
|
|
93
92
|
y: 'none',
|
|
94
93
|
x: 'none'
|
|
@@ -7,7 +7,7 @@ import * as React from 'react';
|
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { BarPlot } from "../BarChart/index.js";
|
|
9
9
|
import { LinePlot, AreaPlot, LineHighlightPlot } from "../LineChart/index.js";
|
|
10
|
-
import {
|
|
10
|
+
import { ChartContainer } from "../ChartContainer/index.js";
|
|
11
11
|
import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
|
|
12
12
|
import { ChartsTooltip } from "../ChartsTooltip/index.js";
|
|
13
13
|
import { ChartsAxisHighlight } from "../ChartsAxisHighlight/index.js";
|
|
@@ -58,7 +58,7 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
|
|
|
58
58
|
x: 'none'
|
|
59
59
|
};
|
|
60
60
|
const axisHighlight = _extends({}, defaultXHighlight, inAxisHighlight);
|
|
61
|
-
return /*#__PURE__*/_jsxs(
|
|
61
|
+
return /*#__PURE__*/_jsxs(ChartContainer, _extends({}, other, {
|
|
62
62
|
ref: ref,
|
|
63
63
|
series: [_extends({
|
|
64
64
|
type: plotType,
|
|
@@ -282,6 +282,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
282
282
|
dataKey: PropTypes.string,
|
|
283
283
|
disableLine: PropTypes.bool,
|
|
284
284
|
disableTicks: PropTypes.bool,
|
|
285
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
285
286
|
fill: PropTypes.string,
|
|
286
287
|
hideTooltip: PropTypes.bool,
|
|
287
288
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -334,6 +335,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
334
335
|
dataKey: PropTypes.string,
|
|
335
336
|
disableLine: PropTypes.bool,
|
|
336
337
|
disableTicks: PropTypes.bool,
|
|
338
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
337
339
|
fill: PropTypes.string,
|
|
338
340
|
hideTooltip: PropTypes.bool,
|
|
339
341
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -3,21 +3,50 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
6
|
+
import { DrawingProvider } from "../DrawingProvider.js";
|
|
7
|
+
import { SeriesProvider } from "../SeriesProvider/index.js";
|
|
8
|
+
import { InteractionProvider } from "../InteractionProvider.js";
|
|
9
|
+
import { ChartsSurface } from "../../ChartsSurface/index.js";
|
|
10
|
+
import { CartesianProvider } from "../CartesianProvider/index.js";
|
|
11
|
+
import { ChartsAxesGradients } from "../../internals/components/ChartsAxesGradients/index.js";
|
|
12
|
+
import { HighlightedProvider, ZAxisContextProvider } from "../index.js";
|
|
13
|
+
import { PluginProvider } from "../PluginProvider/index.js";
|
|
14
|
+
import { useChartDataProviderProps } from "./useChartDataProviderProps.js";
|
|
15
|
+
import { AnimationProvider } from "../AnimationProvider/index.js";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
const ChartDataProvider = /*#__PURE__*/React.forwardRef(function ChartDataProvider(props, ref) {
|
|
11
18
|
const {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
children,
|
|
20
|
+
drawingProviderProps,
|
|
21
|
+
seriesProviderProps,
|
|
22
|
+
cartesianProviderProps,
|
|
23
|
+
zAxisContextProps,
|
|
24
|
+
highlightedProviderProps,
|
|
25
|
+
chartsSurfaceProps,
|
|
26
|
+
pluginProviderProps,
|
|
27
|
+
animationProviderProps
|
|
28
|
+
} = useChartDataProviderProps(props, ref);
|
|
29
|
+
return /*#__PURE__*/_jsx(DrawingProvider, _extends({}, drawingProviderProps, {
|
|
30
|
+
children: /*#__PURE__*/_jsx(PluginProvider, _extends({}, pluginProviderProps, {
|
|
31
|
+
children: /*#__PURE__*/_jsx(SeriesProvider, _extends({}, seriesProviderProps, {
|
|
32
|
+
children: /*#__PURE__*/_jsx(CartesianProvider, _extends({}, cartesianProviderProps, {
|
|
33
|
+
children: /*#__PURE__*/_jsx(ZAxisContextProvider, _extends({}, zAxisContextProps, {
|
|
34
|
+
children: /*#__PURE__*/_jsx(InteractionProvider, {
|
|
35
|
+
children: /*#__PURE__*/_jsx(HighlightedProvider, _extends({}, highlightedProviderProps, {
|
|
36
|
+
children: /*#__PURE__*/_jsx(AnimationProvider, _extends({}, animationProviderProps, {
|
|
37
|
+
children: /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
|
|
38
|
+
children: [/*#__PURE__*/_jsx(ChartsAxesGradients, {}), children]
|
|
39
|
+
}))
|
|
40
|
+
}))
|
|
41
|
+
}))
|
|
42
|
+
})
|
|
43
|
+
}))
|
|
44
|
+
}))
|
|
45
|
+
}))
|
|
46
|
+
}))
|
|
18
47
|
}));
|
|
19
48
|
});
|
|
20
|
-
process.env.NODE_ENV !== "production" ?
|
|
49
|
+
process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
|
|
21
50
|
// ----------------------------- Warning --------------------------------
|
|
22
51
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
23
52
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
@@ -41,9 +70,9 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
41
70
|
*/
|
|
42
71
|
disableAxisListener: PropTypes.bool,
|
|
43
72
|
/**
|
|
44
|
-
* The height of the chart in px.
|
|
73
|
+
* The height of the chart in px.
|
|
45
74
|
*/
|
|
46
|
-
height: PropTypes.number,
|
|
75
|
+
height: PropTypes.number.isRequired,
|
|
47
76
|
/**
|
|
48
77
|
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
49
78
|
*/
|
|
@@ -74,16 +103,6 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
74
103
|
* If not provided, the container supports line, bar, scatter and pie charts.
|
|
75
104
|
*/
|
|
76
105
|
plugins: PropTypes.arrayOf(PropTypes.object),
|
|
77
|
-
/**
|
|
78
|
-
* The chart will try to wait for the parent container to resolve its size
|
|
79
|
-
* before it renders for the first time.
|
|
80
|
-
*
|
|
81
|
-
* This can be useful in some scenarios where the chart appear to grow after
|
|
82
|
-
* the first render, like when used inside a grid.
|
|
83
|
-
*
|
|
84
|
-
* @default false
|
|
85
|
-
*/
|
|
86
|
-
resolveSizeBeforeRender: PropTypes.bool,
|
|
87
106
|
/**
|
|
88
107
|
* The array of series to display.
|
|
89
108
|
* Each type of series has its own specificity.
|
|
@@ -104,9 +123,9 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
104
123
|
y: PropTypes.number
|
|
105
124
|
}),
|
|
106
125
|
/**
|
|
107
|
-
* The width of the chart in px.
|
|
126
|
+
* The width of the chart in px.
|
|
108
127
|
*/
|
|
109
|
-
width: PropTypes.number,
|
|
128
|
+
width: PropTypes.number.isRequired,
|
|
110
129
|
/**
|
|
111
130
|
* The configuration of the x-axes.
|
|
112
131
|
* If not provided, a default axis config is used.
|
|
@@ -133,6 +152,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
133
152
|
dataKey: PropTypes.string,
|
|
134
153
|
disableLine: PropTypes.bool,
|
|
135
154
|
disableTicks: PropTypes.bool,
|
|
155
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
136
156
|
fill: PropTypes.string,
|
|
137
157
|
hideTooltip: PropTypes.bool,
|
|
138
158
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -186,6 +206,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
186
206
|
dataKey: PropTypes.string,
|
|
187
207
|
disableLine: PropTypes.bool,
|
|
188
208
|
disableTicks: PropTypes.bool,
|
|
209
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
189
210
|
fill: PropTypes.string,
|
|
190
211
|
hideTooltip: PropTypes.bool,
|
|
191
212
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -239,4 +260,4 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
|
239
260
|
min: PropTypes.number
|
|
240
261
|
}))
|
|
241
262
|
} : void 0;
|
|
242
|
-
export {
|
|
263
|
+
export { ChartDataProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./ChartDataProvider.js";
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
+
const _excluded = ["width", "height", "series", "margin", "xAxis", "yAxis", "zAxis", "colors", "dataset", "sx", "title", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "children", "skipAnimation"];
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import useForkRef from '@mui/utils/useForkRef';
|
|
8
|
+
import { useDefaultizeAxis } from "./useDefaultizeAxis.js";
|
|
9
|
+
export const useChartDataProviderProps = (props, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
width,
|
|
12
|
+
height,
|
|
13
|
+
series,
|
|
14
|
+
margin,
|
|
15
|
+
xAxis,
|
|
16
|
+
yAxis,
|
|
17
|
+
zAxis,
|
|
18
|
+
colors,
|
|
19
|
+
dataset,
|
|
20
|
+
sx,
|
|
21
|
+
title,
|
|
22
|
+
desc,
|
|
23
|
+
disableAxisListener,
|
|
24
|
+
highlightedItem,
|
|
25
|
+
onHighlightChange,
|
|
26
|
+
plugins,
|
|
27
|
+
children,
|
|
28
|
+
skipAnimation
|
|
29
|
+
} = props,
|
|
30
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
31
|
+
const svgRef = React.useRef(null);
|
|
32
|
+
const chartSurfaceRef = useForkRef(ref, svgRef);
|
|
33
|
+
const [defaultizedXAxis, defaultizedYAxis] = useDefaultizeAxis(xAxis, yAxis, dataset);
|
|
34
|
+
const drawingProviderProps = {
|
|
35
|
+
width,
|
|
36
|
+
height,
|
|
37
|
+
margin,
|
|
38
|
+
svgRef
|
|
39
|
+
};
|
|
40
|
+
const animationProviderProps = {
|
|
41
|
+
skipAnimation
|
|
42
|
+
};
|
|
43
|
+
const pluginProviderProps = {
|
|
44
|
+
plugins
|
|
45
|
+
};
|
|
46
|
+
const seriesProviderProps = {
|
|
47
|
+
series,
|
|
48
|
+
colors,
|
|
49
|
+
dataset
|
|
50
|
+
};
|
|
51
|
+
const cartesianProviderProps = {
|
|
52
|
+
xAxis: defaultizedXAxis,
|
|
53
|
+
yAxis: defaultizedYAxis,
|
|
54
|
+
dataset
|
|
55
|
+
};
|
|
56
|
+
const zAxisContextProps = {
|
|
57
|
+
zAxis,
|
|
58
|
+
dataset
|
|
59
|
+
};
|
|
60
|
+
const highlightedProviderProps = {
|
|
61
|
+
highlightedItem,
|
|
62
|
+
onHighlightChange
|
|
63
|
+
};
|
|
64
|
+
const chartsSurfaceProps = _extends({}, other, {
|
|
65
|
+
width,
|
|
66
|
+
height,
|
|
67
|
+
ref: chartSurfaceRef,
|
|
68
|
+
sx,
|
|
69
|
+
title,
|
|
70
|
+
desc,
|
|
71
|
+
disableAxisListener
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
children,
|
|
75
|
+
drawingProviderProps,
|
|
76
|
+
seriesProviderProps,
|
|
77
|
+
cartesianProviderProps,
|
|
78
|
+
zAxisContextProps,
|
|
79
|
+
highlightedProviderProps,
|
|
80
|
+
chartsSurfaceProps,
|
|
81
|
+
pluginProviderProps,
|
|
82
|
+
animationProviderProps,
|
|
83
|
+
xAxis: defaultizedXAxis,
|
|
84
|
+
yAxis: defaultizedYAxis
|
|
85
|
+
};
|
|
86
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "
|
|
5
|
+
import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "../../constants/index.js";
|
|
6
6
|
const defaultizeAxis = (inAxis, dataset, axisName) => {
|
|
7
7
|
const DEFAULT_AXIS_KEY = axisName === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY;
|
|
8
8
|
return [...(inAxis?.map((axis, index) => _extends({
|