@mui/x-charts 7.2.0 → 7.3.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 +1 -0
- package/BarChart/BarChart.js +40 -99
- package/BarChart/BarElement.d.ts +63 -62
- package/BarChart/BarElement.js +1 -2
- package/BarChart/BarPlot.js +14 -7
- package/BarChart/getColor.d.ts +3 -0
- package/BarChart/getColor.js +33 -0
- package/CHANGELOG.md +204 -2
- package/ChartContainer/ChartContainer.js +38 -5
- package/ChartsAxis/ChartsAxis.js +11 -103
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
- package/ChartsClipPath/ChartsClipPath.js +3 -3
- package/ChartsGrid/ChartsGrid.js +1 -1
- package/ChartsLegend/ChartsLegend.js +3 -3
- package/ChartsLegend/DefaultChartsLegend.js +1 -1
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
- package/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
- package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/ChartsSurface.js +1 -1
- package/ChartsText/ChartsText.js +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +4 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +21 -3
- package/ChartsTooltip/ChartsItemTooltipContent.d.ts +6 -0
- package/ChartsTooltip/ChartsItemTooltipContent.js +32 -2
- package/ChartsTooltip/ChartsTooltip.js +1 -1
- package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -7
- package/ChartsTooltip/ChartsTooltipTable.js +8 -9
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -7
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -8
- package/ChartsTooltip/utils.d.ts +5 -1
- package/ChartsTooltip/utils.js +1 -1
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +7 -7
- package/ChartsXAxis/ChartsXAxis.js +3 -3
- package/ChartsYAxis/ChartsYAxis.js +3 -3
- package/Gauge/Gauge.js +1 -1
- package/Gauge/GaugeContainer.js +1 -1
- package/Gauge/GaugeProvider.js +6 -6
- package/Gauge/GaugeReferenceArc.js +1 -1
- package/Gauge/GaugeValueArc.js +1 -1
- package/Gauge/GaugeValueText.js +1 -1
- package/LineChart/AnimatedArea.d.ts +63 -62
- package/LineChart/AnimatedArea.js +7 -6
- package/LineChart/AnimatedLine.d.ts +63 -62
- package/LineChart/AnimatedLine.js +8 -6
- package/LineChart/AreaElement.d.ts +1 -0
- package/LineChart/AreaElement.js +5 -2
- package/LineChart/AreaPlot.js +8 -2
- package/LineChart/LineChart.d.ts +1 -0
- package/LineChart/LineChart.js +40 -99
- package/LineChart/LineElement.d.ts +1 -0
- package/LineChart/LineElement.js +5 -2
- package/LineChart/LineHighlightElement.js +1 -1
- package/LineChart/LineHighlightPlot.js +5 -2
- package/LineChart/LinePlot.js +8 -2
- package/LineChart/MarkElement.js +1 -1
- package/LineChart/MarkPlot.js +6 -6
- package/LineChart/getColor.d.ts +3 -0
- package/LineChart/getColor.js +31 -0
- package/PieChart/PieArc.d.ts +1 -0
- package/PieChart/PieArc.js +1 -1
- package/PieChart/PieArcLabel.d.ts +1 -0
- package/PieChart/PieArcLabel.js +1 -1
- package/PieChart/PieArcLabelPlot.js +1 -1
- package/PieChart/PieArcPlot.js +1 -1
- package/PieChart/PieChart.d.ts +1 -0
- package/PieChart/PieChart.js +40 -99
- package/PieChart/PiePlot.js +27 -7
- package/PieChart/dataTransform/transition.d.ts +1 -0
- package/PieChart/dataTransform/useTransformData.js +1 -1
- package/PieChart/formatter.js +4 -2
- package/PieChart/getColor.d.ts +2 -0
- package/PieChart/getColor.js +11 -0
- package/PieChart/getPieCoordinates.d.ts +7 -0
- package/PieChart/getPieCoordinates.js +25 -0
- package/PieChart/index.d.ts +1 -0
- package/PieChart/index.js +11 -0
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +35 -3
- package/ResponsiveChartContainer/useChartContainerDimensions.js +1 -1
- package/ScatterChart/Scatter.d.ts +1 -0
- package/ScatterChart/Scatter.js +7 -4
- package/ScatterChart/ScatterChart.d.ts +3 -1
- package/ScatterChart/ScatterChart.js +95 -126
- package/ScatterChart/ScatterPlot.js +11 -1
- package/ScatterChart/getColor.d.ts +4 -0
- package/ScatterChart/getColor.js +48 -0
- package/SparkLineChart/SparkLineChart.js +16 -1
- package/context/CartesianContextProvider.d.ts +4 -3
- package/context/CartesianContextProvider.js +24 -9
- package/context/DrawingProvider.js +1 -1
- package/context/HighlightProvider.js +1 -1
- package/context/InteractionProvider.js +1 -1
- package/context/SeriesContextProvider.js +1 -1
- package/context/ZAxisContextProvider.d.ts +33 -0
- package/context/ZAxisContextProvider.js +98 -0
- package/context/index.d.ts +2 -0
- package/context/index.js +8 -1
- package/esm/BarChart/BarChart.js +40 -100
- package/esm/BarChart/BarElement.js +0 -1
- package/esm/BarChart/BarPlot.js +15 -7
- package/esm/BarChart/getColor.js +27 -0
- package/esm/ChartContainer/ChartContainer.js +38 -5
- package/esm/ChartsAxis/ChartsAxis.js +11 -104
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -2
- package/esm/ChartsClipPath/ChartsClipPath.js +2 -2
- package/esm/ChartsGrid/ChartsGrid.js +1 -2
- package/esm/ChartsLegend/ChartsLegend.js +2 -2
- package/esm/ChartsLegend/DefaultChartsLegend.js +1 -2
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +1 -2
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +1 -2
- package/esm/ChartsSurface.js +1 -2
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +20 -2
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +31 -1
- package/esm/ChartsTooltip/ChartsTooltipTable.js +8 -8
- package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -8
- package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -9
- package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +6 -6
- package/esm/ChartsXAxis/ChartsXAxis.js +3 -4
- package/esm/ChartsYAxis/ChartsYAxis.js +3 -4
- package/esm/Gauge/Gauge.js +1 -2
- package/esm/Gauge/GaugeProvider.js +5 -5
- package/esm/LineChart/AnimatedArea.js +7 -7
- package/esm/LineChart/AnimatedLine.js +8 -7
- package/esm/LineChart/AreaElement.js +4 -1
- package/esm/LineChart/AreaPlot.js +7 -1
- package/esm/LineChart/LineChart.js +40 -100
- package/esm/LineChart/LineElement.js +4 -1
- package/esm/LineChart/LineHighlightPlot.js +4 -1
- package/esm/LineChart/LinePlot.js +7 -1
- package/esm/LineChart/MarkPlot.js +5 -5
- package/esm/LineChart/getColor.js +25 -0
- package/esm/PieChart/PieChart.js +40 -100
- package/esm/PieChart/PiePlot.js +27 -8
- package/esm/PieChart/formatter.js +4 -2
- package/esm/PieChart/getColor.js +5 -0
- package/esm/PieChart/getPieCoordinates.js +19 -0
- package/esm/PieChart/index.js +2 -1
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +34 -2
- package/esm/ScatterChart/Scatter.js +6 -3
- package/esm/ScatterChart/ScatterChart.js +95 -127
- package/esm/ScatterChart/ScatterPlot.js +10 -0
- package/esm/ScatterChart/getColor.js +42 -0
- package/esm/SparkLineChart/SparkLineChart.js +16 -2
- package/esm/context/CartesianContextProvider.js +23 -8
- package/esm/context/ZAxisContextProvider.js +89 -0
- package/esm/context/index.js +1 -1
- package/esm/hooks/index.js +4 -1
- package/esm/hooks/useAxisEvents.js +7 -6
- package/esm/hooks/useChartId.js +8 -0
- package/esm/hooks/useSeries.js +64 -0
- package/esm/hooks/useSvgRef.js +9 -0
- package/esm/internals/colorGetter.js +22 -0
- package/esm/internals/colorScale.js +16 -0
- package/esm/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +95 -0
- package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +55 -0
- package/esm/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +40 -0
- package/esm/internals/components/ChartsAxesGradients/index.js +1 -0
- package/esm/models/colorMapping.js +1 -0
- package/esm/models/seriesType/index.js +6 -1
- package/esm/models/z-axis.js +1 -0
- package/hooks/index.d.ts +3 -0
- package/hooks/index.js +65 -1
- package/hooks/useAxisEvents.js +8 -7
- package/hooks/useChartDimensions.js +1 -1
- package/hooks/useChartId.d.ts +1 -0
- package/hooks/useChartId.js +16 -0
- package/hooks/useDrawingArea.js +1 -1
- package/hooks/useInteractionItemProps.js +1 -1
- package/hooks/useMounted.js +1 -1
- package/hooks/useScale.js +1 -1
- package/hooks/useSeries.d.ts +45 -0
- package/hooks/useSeries.js +75 -0
- package/hooks/useSvgRef.d.ts +2 -0
- package/hooks/useSvgRef.js +17 -0
- package/hooks/useTicks.js +1 -1
- package/index.js +1 -1
- package/internals/colorGetter.d.ts +7 -0
- package/internals/colorGetter.js +29 -0
- package/internals/colorScale.d.ts +5 -0
- package/internals/colorScale.js +24 -0
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +3 -0
- package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +105 -0
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.ts +13 -0
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +63 -0
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +12 -0
- package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +48 -0
- package/internals/components/ChartsAxesGradients/index.d.ts +1 -0
- package/internals/components/ChartsAxesGradients/index.js +16 -0
- package/internals/defaultizeColor.d.ts +5 -4
- package/internals/defaultizeValueFormatter.d.ts +5 -5
- package/internals/getScale.d.ts +2 -2
- package/internals/useAnimatedPath.d.ts +1 -0
- package/internals/useAnimatedPath.js +1 -1
- package/models/axis.d.ts +44 -4
- package/models/colorMapping.d.ts +46 -0
- package/models/colorMapping.js +5 -0
- package/models/index.d.ts +1 -1
- package/models/seriesType/common.d.ts +10 -2
- package/models/seriesType/index.d.ts +2 -0
- package/models/seriesType/index.js +17 -1
- package/models/seriesType/pie.d.ts +5 -0
- package/models/seriesType/scatter.d.ts +5 -0
- package/models/z-axis.d.ts +14 -0
- package/models/z-axis.js +5 -0
- package/modern/BarChart/BarChart.js +40 -100
- package/modern/BarChart/BarElement.js +0 -1
- package/modern/BarChart/BarPlot.js +15 -7
- package/modern/BarChart/getColor.js +27 -0
- package/modern/ChartContainer/ChartContainer.js +38 -5
- package/modern/ChartsAxis/ChartsAxis.js +11 -104
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -2
- package/modern/ChartsClipPath/ChartsClipPath.js +2 -2
- package/modern/ChartsGrid/ChartsGrid.js +1 -2
- package/modern/ChartsLegend/ChartsLegend.js +2 -2
- package/modern/ChartsLegend/DefaultChartsLegend.js +1 -2
- package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +1 -2
- package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +1 -2
- package/modern/ChartsSurface.js +1 -2
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +20 -2
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +31 -1
- package/modern/ChartsTooltip/ChartsTooltipTable.js +8 -8
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -8
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -9
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +6 -6
- package/modern/ChartsXAxis/ChartsXAxis.js +3 -4
- package/modern/ChartsYAxis/ChartsYAxis.js +3 -4
- package/modern/Gauge/Gauge.js +1 -2
- package/modern/Gauge/GaugeProvider.js +5 -5
- package/modern/LineChart/AnimatedArea.js +7 -7
- package/modern/LineChart/AnimatedLine.js +8 -7
- package/modern/LineChart/AreaElement.js +4 -1
- package/modern/LineChart/AreaPlot.js +7 -1
- package/modern/LineChart/LineChart.js +40 -100
- package/modern/LineChart/LineElement.js +4 -1
- package/modern/LineChart/LineHighlightPlot.js +4 -1
- package/modern/LineChart/LinePlot.js +7 -1
- package/modern/LineChart/MarkPlot.js +5 -5
- package/modern/LineChart/getColor.js +25 -0
- package/modern/PieChart/PieChart.js +40 -100
- package/modern/PieChart/PiePlot.js +27 -8
- package/modern/PieChart/formatter.js +4 -2
- package/modern/PieChart/getColor.js +5 -0
- package/modern/PieChart/getPieCoordinates.js +19 -0
- package/modern/PieChart/index.js +2 -1
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +34 -2
- package/modern/ScatterChart/Scatter.js +6 -3
- package/modern/ScatterChart/ScatterChart.js +95 -127
- package/modern/ScatterChart/ScatterPlot.js +10 -0
- package/modern/ScatterChart/getColor.js +42 -0
- package/modern/SparkLineChart/SparkLineChart.js +16 -2
- package/modern/context/CartesianContextProvider.js +23 -8
- package/modern/context/ZAxisContextProvider.js +89 -0
- package/modern/context/index.js +1 -1
- package/modern/hooks/index.js +4 -1
- package/modern/hooks/useAxisEvents.js +7 -6
- package/modern/hooks/useChartId.js +8 -0
- package/modern/hooks/useSeries.js +64 -0
- package/modern/hooks/useSvgRef.js +9 -0
- package/modern/index.js +1 -1
- package/modern/internals/colorGetter.js +22 -0
- package/modern/internals/colorScale.js +16 -0
- package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +95 -0
- package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +55 -0
- package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +40 -0
- package/modern/internals/components/ChartsAxesGradients/index.js +1 -0
- package/modern/models/colorMapping.js +1 -0
- package/modern/models/seriesType/index.js +6 -1
- package/modern/models/z-axis.js +1 -0
- package/package.json +3 -5
package/LineChart/AreaPlot.js
CHANGED
|
@@ -16,10 +16,11 @@ var _AreaElement = require("./AreaElement");
|
|
|
16
16
|
var _useScale = require("../hooks/useScale");
|
|
17
17
|
var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
|
|
18
18
|
var _constants = require("../constants");
|
|
19
|
+
var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
|
|
21
22
|
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); }
|
|
22
|
-
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 &&
|
|
23
|
+
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 && {}.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; }
|
|
23
24
|
const useAggregatedData = () => {
|
|
24
25
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
25
26
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
@@ -52,6 +53,7 @@ const useAggregatedData = () => {
|
|
|
52
53
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisKey].scale);
|
|
53
54
|
const yScale = yAxis[yAxisKey].scale;
|
|
54
55
|
const xData = xAxis[xAxisKey].data;
|
|
56
|
+
const gradientUsed = yAxis[yAxisKey].colorScale && [yAxisKey, 'y'] || xAxis[xAxisKey].colorScale && [xAxisKey, 'x'] || undefined;
|
|
55
57
|
if (process.env.NODE_ENV !== 'production') {
|
|
56
58
|
if (xData === undefined) {
|
|
57
59
|
throw new Error(`MUI X Charts: ${xAxisKey === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisKey}"`} should have data property to be able to display a line plot.`);
|
|
@@ -69,6 +71,7 @@ const useAggregatedData = () => {
|
|
|
69
71
|
const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
|
|
70
72
|
const d = areaPath.curve(curve)(d3Data) || '';
|
|
71
73
|
return (0, _extends2.default)({}, series[seriesId], {
|
|
74
|
+
gradientUsed,
|
|
72
75
|
d,
|
|
73
76
|
seriesId
|
|
74
77
|
});
|
|
@@ -95,6 +98,7 @@ function AreaPlot(props) {
|
|
|
95
98
|
skipAnimation
|
|
96
99
|
} = props,
|
|
97
100
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
101
|
+
const getGradientId = (0, _ChartsAxesGradients.useChartGradient)();
|
|
98
102
|
const completedData = useAggregatedData();
|
|
99
103
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
100
104
|
children: completedData.reverse().map(({
|
|
@@ -102,11 +106,13 @@ function AreaPlot(props) {
|
|
|
102
106
|
seriesId,
|
|
103
107
|
color,
|
|
104
108
|
highlightScope,
|
|
105
|
-
area
|
|
109
|
+
area,
|
|
110
|
+
gradientUsed
|
|
106
111
|
}) => !!area && /*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaElement.AreaElement, {
|
|
107
112
|
id: seriesId,
|
|
108
113
|
d: d,
|
|
109
114
|
color: color,
|
|
115
|
+
gradientId: gradientUsed && getGradientId(...gradientUsed),
|
|
110
116
|
highlightScope: highlightScope,
|
|
111
117
|
slots: slots,
|
|
112
118
|
slotProps: slotProps,
|
package/LineChart/LineChart.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface LineChartSlotProps extends ChartsAxisSlotProps, AreaPlotSlotPro
|
|
|
20
20
|
export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
|
|
21
21
|
/**
|
|
22
22
|
* The series to display in the line chart.
|
|
23
|
+
* An array of [[LineSeriesType]] objects.
|
|
23
24
|
*/
|
|
24
25
|
series: MakeOptional<LineSeriesType, 'type'>[];
|
|
25
26
|
/**
|
package/LineChart/LineChart.js
CHANGED
|
@@ -24,7 +24,7 @@ var _ChartsGrid = require("../ChartsGrid");
|
|
|
24
24
|
var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
|
|
25
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
26
|
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); }
|
|
27
|
-
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 &&
|
|
27
|
+
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 && {}.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; }
|
|
28
28
|
/**
|
|
29
29
|
* Demos:
|
|
30
30
|
*
|
|
@@ -152,30 +152,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
152
152
|
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
153
153
|
* @default xAxisIds[0] The id of the first provided axis
|
|
154
154
|
*/
|
|
155
|
-
bottomAxis: _propTypes.default.oneOfType([_propTypes.default.
|
|
156
|
-
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
157
|
-
classes: _propTypes.default.object,
|
|
158
|
-
disableLine: _propTypes.default.bool,
|
|
159
|
-
disableTicks: _propTypes.default.bool,
|
|
160
|
-
fill: _propTypes.default.string,
|
|
161
|
-
label: _propTypes.default.string,
|
|
162
|
-
labelFontSize: _propTypes.default.number,
|
|
163
|
-
labelStyle: _propTypes.default.object,
|
|
164
|
-
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
165
|
-
slotProps: _propTypes.default.object,
|
|
166
|
-
slots: _propTypes.default.object,
|
|
167
|
-
stroke: _propTypes.default.string,
|
|
168
|
-
tickFontSize: _propTypes.default.number,
|
|
169
|
-
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
170
|
-
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
171
|
-
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
172
|
-
tickLabelStyle: _propTypes.default.object,
|
|
173
|
-
tickMaxStep: _propTypes.default.number,
|
|
174
|
-
tickMinStep: _propTypes.default.number,
|
|
175
|
-
tickNumber: _propTypes.default.number,
|
|
176
|
-
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
177
|
-
tickSize: _propTypes.default.number
|
|
178
|
-
}), _propTypes.default.string]),
|
|
155
|
+
bottomAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
179
156
|
children: _propTypes.default.node,
|
|
180
157
|
className: _propTypes.default.string,
|
|
181
158
|
/**
|
|
@@ -214,30 +191,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
214
191
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
215
192
|
* @default yAxisIds[0] The id of the first provided axis
|
|
216
193
|
*/
|
|
217
|
-
leftAxis: _propTypes.default.oneOfType([_propTypes.default.
|
|
218
|
-
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
219
|
-
classes: _propTypes.default.object,
|
|
220
|
-
disableLine: _propTypes.default.bool,
|
|
221
|
-
disableTicks: _propTypes.default.bool,
|
|
222
|
-
fill: _propTypes.default.string,
|
|
223
|
-
label: _propTypes.default.string,
|
|
224
|
-
labelFontSize: _propTypes.default.number,
|
|
225
|
-
labelStyle: _propTypes.default.object,
|
|
226
|
-
position: _propTypes.default.oneOf(['left', 'right']),
|
|
227
|
-
slotProps: _propTypes.default.object,
|
|
228
|
-
slots: _propTypes.default.object,
|
|
229
|
-
stroke: _propTypes.default.string,
|
|
230
|
-
tickFontSize: _propTypes.default.number,
|
|
231
|
-
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
232
|
-
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
233
|
-
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
234
|
-
tickLabelStyle: _propTypes.default.object,
|
|
235
|
-
tickMaxStep: _propTypes.default.number,
|
|
236
|
-
tickMinStep: _propTypes.default.number,
|
|
237
|
-
tickNumber: _propTypes.default.number,
|
|
238
|
-
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
239
|
-
tickSize: _propTypes.default.number
|
|
240
|
-
}), _propTypes.default.string]),
|
|
194
|
+
leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
241
195
|
/**
|
|
242
196
|
* @deprecated Consider using `slotProps.legend` instead.
|
|
243
197
|
*/
|
|
@@ -288,32 +242,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
288
242
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
289
243
|
* @default null
|
|
290
244
|
*/
|
|
291
|
-
rightAxis: _propTypes.default.oneOfType([_propTypes.default.
|
|
292
|
-
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
293
|
-
classes: _propTypes.default.object,
|
|
294
|
-
disableLine: _propTypes.default.bool,
|
|
295
|
-
disableTicks: _propTypes.default.bool,
|
|
296
|
-
fill: _propTypes.default.string,
|
|
297
|
-
label: _propTypes.default.string,
|
|
298
|
-
labelFontSize: _propTypes.default.number,
|
|
299
|
-
labelStyle: _propTypes.default.object,
|
|
300
|
-
position: _propTypes.default.oneOf(['left', 'right']),
|
|
301
|
-
slotProps: _propTypes.default.object,
|
|
302
|
-
slots: _propTypes.default.object,
|
|
303
|
-
stroke: _propTypes.default.string,
|
|
304
|
-
tickFontSize: _propTypes.default.number,
|
|
305
|
-
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
306
|
-
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
307
|
-
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
308
|
-
tickLabelStyle: _propTypes.default.object,
|
|
309
|
-
tickMaxStep: _propTypes.default.number,
|
|
310
|
-
tickMinStep: _propTypes.default.number,
|
|
311
|
-
tickNumber: _propTypes.default.number,
|
|
312
|
-
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
313
|
-
tickSize: _propTypes.default.number
|
|
314
|
-
}), _propTypes.default.string]),
|
|
245
|
+
rightAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
315
246
|
/**
|
|
316
247
|
* The series to display in the line chart.
|
|
248
|
+
* An array of [[LineSeriesType]] objects.
|
|
317
249
|
*/
|
|
318
250
|
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
319
251
|
/**
|
|
@@ -351,30 +283,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
351
283
|
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
352
284
|
* @default null
|
|
353
285
|
*/
|
|
354
|
-
topAxis: _propTypes.default.oneOfType([_propTypes.default.
|
|
355
|
-
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
356
|
-
classes: _propTypes.default.object,
|
|
357
|
-
disableLine: _propTypes.default.bool,
|
|
358
|
-
disableTicks: _propTypes.default.bool,
|
|
359
|
-
fill: _propTypes.default.string,
|
|
360
|
-
label: _propTypes.default.string,
|
|
361
|
-
labelFontSize: _propTypes.default.number,
|
|
362
|
-
labelStyle: _propTypes.default.object,
|
|
363
|
-
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
364
|
-
slotProps: _propTypes.default.object,
|
|
365
|
-
slots: _propTypes.default.object,
|
|
366
|
-
stroke: _propTypes.default.string,
|
|
367
|
-
tickFontSize: _propTypes.default.number,
|
|
368
|
-
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
369
|
-
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
370
|
-
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
371
|
-
tickLabelStyle: _propTypes.default.object,
|
|
372
|
-
tickMaxStep: _propTypes.default.number,
|
|
373
|
-
tickMinStep: _propTypes.default.number,
|
|
374
|
-
tickNumber: _propTypes.default.number,
|
|
375
|
-
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
376
|
-
tickSize: _propTypes.default.number
|
|
377
|
-
}), _propTypes.default.string]),
|
|
286
|
+
topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
378
287
|
viewBox: _propTypes.default.shape({
|
|
379
288
|
height: _propTypes.default.number,
|
|
380
289
|
width: _propTypes.default.number,
|
|
@@ -387,11 +296,27 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
387
296
|
width: _propTypes.default.number,
|
|
388
297
|
/**
|
|
389
298
|
* The configuration of the x-axes.
|
|
390
|
-
* If not provided, a default axis config is used
|
|
299
|
+
* If not provided, a default axis config is used.
|
|
300
|
+
* An array of [[AxisConfig]] objects.
|
|
391
301
|
*/
|
|
392
302
|
xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
393
303
|
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
394
304
|
classes: _propTypes.default.object,
|
|
305
|
+
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
306
|
+
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
307
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
308
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
309
|
+
type: _propTypes.default.oneOf(['continuous']).isRequired
|
|
310
|
+
}), _propTypes.default.shape({
|
|
311
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
312
|
+
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
313
|
+
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
314
|
+
}), _propTypes.default.shape({
|
|
315
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
316
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
317
|
+
unknownColor: _propTypes.default.string,
|
|
318
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
319
|
+
})]),
|
|
395
320
|
data: _propTypes.default.array,
|
|
396
321
|
dataKey: _propTypes.default.string,
|
|
397
322
|
disableLine: _propTypes.default.bool,
|
|
@@ -424,11 +349,27 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
424
349
|
})),
|
|
425
350
|
/**
|
|
426
351
|
* The configuration of the y-axes.
|
|
427
|
-
* If not provided, a default axis config is used
|
|
352
|
+
* If not provided, a default axis config is used.
|
|
353
|
+
* An array of [[AxisConfig]] objects.
|
|
428
354
|
*/
|
|
429
355
|
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
430
356
|
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
431
357
|
classes: _propTypes.default.object,
|
|
358
|
+
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
359
|
+
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
360
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
361
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
362
|
+
type: _propTypes.default.oneOf(['continuous']).isRequired
|
|
363
|
+
}), _propTypes.default.shape({
|
|
364
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
365
|
+
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
366
|
+
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
367
|
+
}), _propTypes.default.shape({
|
|
368
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
369
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
370
|
+
unknownColor: _propTypes.default.string,
|
|
371
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
372
|
+
})]),
|
|
432
373
|
data: _propTypes.default.array,
|
|
433
374
|
dataKey: _propTypes.default.string,
|
|
434
375
|
disableLine: _propTypes.default.bool,
|
package/LineChart/LineElement.js
CHANGED
|
@@ -19,9 +19,9 @@ var _InteractionProvider = require("../context/InteractionProvider");
|
|
|
19
19
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
20
20
|
var _AnimatedLine = require("./AnimatedLine");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["id", "classes", "color", "highlightScope", "slots", "slotProps", "onClick"];
|
|
22
|
+
const _excluded = ["id", "classes", "color", "gradientId", "highlightScope", "slots", "slotProps", "onClick"];
|
|
23
23
|
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); }
|
|
24
|
-
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 &&
|
|
24
|
+
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 && {}.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; }
|
|
25
25
|
function getLineElementUtilityClass(slot) {
|
|
26
26
|
return (0, _generateUtilityClass.default)('MuiLineElement', slot);
|
|
27
27
|
}
|
|
@@ -53,6 +53,7 @@ function LineElement(props) {
|
|
|
53
53
|
id,
|
|
54
54
|
classes: innerClasses,
|
|
55
55
|
color,
|
|
56
|
+
gradientId,
|
|
56
57
|
highlightScope,
|
|
57
58
|
slots,
|
|
58
59
|
slotProps,
|
|
@@ -75,6 +76,7 @@ function LineElement(props) {
|
|
|
75
76
|
id,
|
|
76
77
|
classes: innerClasses,
|
|
77
78
|
color,
|
|
79
|
+
gradientId,
|
|
78
80
|
isFaded,
|
|
79
81
|
isHighlighted
|
|
80
82
|
};
|
|
@@ -103,6 +105,7 @@ process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
|
|
|
103
105
|
classes: _propTypes.default.object,
|
|
104
106
|
color: _propTypes.default.string.isRequired,
|
|
105
107
|
d: _propTypes.default.string.isRequired,
|
|
108
|
+
gradientId: _propTypes.default.string,
|
|
106
109
|
highlightScope: _propTypes.default.shape({
|
|
107
110
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
108
111
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
@@ -18,7 +18,7 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
|
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
const _excluded = ["x", "y", "id", "classes", "color"];
|
|
20
20
|
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); }
|
|
21
|
-
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 &&
|
|
21
|
+
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 && {}.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; }
|
|
22
22
|
function getHighlightElementUtilityClass(slot) {
|
|
23
23
|
return (0, _generateUtilityClass.default)('MuiHighlightElement', slot);
|
|
24
24
|
}
|
|
@@ -15,10 +15,11 @@ var _LineHighlightElement = require("./LineHighlightElement");
|
|
|
15
15
|
var _useScale = require("../hooks/useScale");
|
|
16
16
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
17
17
|
var _constants = require("../constants");
|
|
18
|
+
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
20
|
const _excluded = ["slots", "slotProps"];
|
|
20
21
|
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); }
|
|
21
|
-
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 &&
|
|
22
|
+
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 && {}.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; }
|
|
22
23
|
/**
|
|
23
24
|
* Demos:
|
|
24
25
|
*
|
|
@@ -83,9 +84,11 @@ function LineHighlightPlot(props) {
|
|
|
83
84
|
}
|
|
84
85
|
const x = xScale(xData[highlightedIndex]);
|
|
85
86
|
const y = yScale(stackedData[highlightedIndex][1]); // This should not be undefined since y should not be a band scale
|
|
87
|
+
|
|
88
|
+
const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisKey], yAxis[yAxisKey]);
|
|
86
89
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
|
|
87
90
|
id: seriesId,
|
|
88
|
-
color:
|
|
91
|
+
color: colorGetter(highlightedIndex),
|
|
89
92
|
x: x,
|
|
90
93
|
y: y
|
|
91
94
|
}, slotProps?.lineHighlight), `${seriesId}`);
|
package/LineChart/LinePlot.js
CHANGED
|
@@ -16,10 +16,11 @@ var _LineElement = require("./LineElement");
|
|
|
16
16
|
var _useScale = require("../hooks/useScale");
|
|
17
17
|
var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
|
|
18
18
|
var _constants = require("../constants");
|
|
19
|
+
var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
|
|
21
22
|
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); }
|
|
22
|
-
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 &&
|
|
23
|
+
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 && {}.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; }
|
|
23
24
|
const useAggregatedData = () => {
|
|
24
25
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
25
26
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
@@ -52,6 +53,7 @@ const useAggregatedData = () => {
|
|
|
52
53
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisKey].scale);
|
|
53
54
|
const yScale = yAxis[yAxisKey].scale;
|
|
54
55
|
const xData = xAxis[xAxisKey].data;
|
|
56
|
+
const gradientUsed = yAxis[yAxisKey].colorScale && [yAxisKey, 'y'] || xAxis[xAxisKey].colorScale && [xAxisKey, 'x'] || undefined;
|
|
55
57
|
if (process.env.NODE_ENV !== 'production') {
|
|
56
58
|
if (xData === undefined) {
|
|
57
59
|
throw new Error(`MUI X Charts: ${xAxisKey === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisKey}"`} should have data property to be able to display a line plot.`);
|
|
@@ -68,6 +70,7 @@ const useAggregatedData = () => {
|
|
|
68
70
|
const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
|
|
69
71
|
const d = linePath.curve((0, _getCurve.default)(series[seriesId].curve))(d3Data) || '';
|
|
70
72
|
return (0, _extends2.default)({}, series[seriesId], {
|
|
73
|
+
gradientUsed,
|
|
71
74
|
d,
|
|
72
75
|
seriesId
|
|
73
76
|
});
|
|
@@ -93,18 +96,21 @@ function LinePlot(props) {
|
|
|
93
96
|
onItemClick
|
|
94
97
|
} = props,
|
|
95
98
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
99
|
+
const getGradientId = (0, _ChartsAxesGradients.useChartGradient)();
|
|
96
100
|
const completedData = useAggregatedData();
|
|
97
101
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
98
102
|
children: completedData.map(({
|
|
99
103
|
d,
|
|
100
104
|
seriesId,
|
|
101
105
|
color,
|
|
102
|
-
highlightScope
|
|
106
|
+
highlightScope,
|
|
107
|
+
gradientUsed
|
|
103
108
|
}) => {
|
|
104
109
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineElement.LineElement, {
|
|
105
110
|
id: seriesId,
|
|
106
111
|
d: d,
|
|
107
112
|
color: color,
|
|
113
|
+
gradientId: gradientUsed && getGradientId(...gradientUsed),
|
|
108
114
|
highlightScope: highlightScope,
|
|
109
115
|
skipAnimation: skipAnimation,
|
|
110
116
|
slots: slots,
|
package/LineChart/MarkElement.js
CHANGED
|
@@ -23,7 +23,7 @@ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
|
23
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
24
|
const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "highlightScope", "onClick", "skipAnimation"];
|
|
25
25
|
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); }
|
|
26
|
-
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 &&
|
|
26
|
+
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 && {}.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; }
|
|
27
27
|
function getMarkElementUtilityClass(slot) {
|
|
28
28
|
return (0, _generateUtilityClass.default)('MuiMarkElement', slot);
|
|
29
29
|
}
|
package/LineChart/MarkPlot.js
CHANGED
|
@@ -13,13 +13,14 @@ var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
|
13
13
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
14
14
|
var _MarkElement = require("./MarkElement");
|
|
15
15
|
var _useScale = require("../hooks/useScale");
|
|
16
|
+
var _useChartId = require("../hooks/useChartId");
|
|
16
17
|
var _constants = require("../constants");
|
|
17
|
-
var _DrawingProvider = require("../context/DrawingProvider");
|
|
18
18
|
var _utils = require("../internals/utils");
|
|
19
|
+
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
|
|
21
22
|
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); }
|
|
22
|
-
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 &&
|
|
23
|
+
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 && {}.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; }
|
|
23
24
|
/**
|
|
24
25
|
* Demos:
|
|
25
26
|
*
|
|
@@ -40,9 +41,7 @@ function MarkPlot(props) {
|
|
|
40
41
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
41
42
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
42
43
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
43
|
-
const
|
|
44
|
-
chartId
|
|
45
|
-
} = React.useContext(_DrawingProvider.DrawingContext);
|
|
44
|
+
const chartId = (0, _useChartId.useChartId)();
|
|
46
45
|
const Mark = slots?.mark ?? _MarkElement.MarkElement;
|
|
47
46
|
if (seriesData === undefined) {
|
|
48
47
|
return null;
|
|
@@ -96,6 +95,7 @@ function MarkPlot(props) {
|
|
|
96
95
|
}
|
|
97
96
|
const clipId = (0, _utils.cleanId)(`${chartId}-${seriesId}-line-clip`); // We assume that if displaying line mark, the line will also be rendered
|
|
98
97
|
|
|
98
|
+
const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisKey], yAxis[yAxisKey]);
|
|
99
99
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
100
100
|
clipPath: `url(#${clipId})`,
|
|
101
101
|
children: xData?.map((x, index) => {
|
|
@@ -144,7 +144,7 @@ function MarkPlot(props) {
|
|
|
144
144
|
id: seriesId,
|
|
145
145
|
dataIndex: index,
|
|
146
146
|
shape: "circle",
|
|
147
|
-
color:
|
|
147
|
+
color: colorGetter(index),
|
|
148
148
|
x: x,
|
|
149
149
|
y: y // Don't know why TS doesn't get from the filter that y can't be null
|
|
150
150
|
,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getColor;
|
|
7
|
+
function getColor(series, xAxis, yAxis) {
|
|
8
|
+
const yColorScale = yAxis.colorScale;
|
|
9
|
+
const xColorScale = xAxis.colorScale;
|
|
10
|
+
if (yColorScale) {
|
|
11
|
+
return dataIndex => {
|
|
12
|
+
const value = series.data[dataIndex];
|
|
13
|
+
const color = value === null ? series.color : yColorScale(value);
|
|
14
|
+
if (color === null) {
|
|
15
|
+
return series.color;
|
|
16
|
+
}
|
|
17
|
+
return color;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (xColorScale) {
|
|
21
|
+
return dataIndex => {
|
|
22
|
+
const value = xAxis.data?.[dataIndex];
|
|
23
|
+
const color = value === null ? series.color : xColorScale(value);
|
|
24
|
+
if (color === null) {
|
|
25
|
+
return series.color;
|
|
26
|
+
}
|
|
27
|
+
return color;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return () => series.color;
|
|
31
|
+
}
|
package/PieChart/PieArc.d.ts
CHANGED
package/PieChart/PieArc.js
CHANGED
|
@@ -21,7 +21,7 @@ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "highlightScope", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle"];
|
|
23
23
|
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); }
|
|
24
|
-
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 &&
|
|
24
|
+
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 && {}.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; }
|
|
25
25
|
function getPieArcUtilityClass(slot) {
|
|
26
26
|
return (0, _generateUtilityClass.default)('MuiPieArc', slot);
|
|
27
27
|
}
|
package/PieChart/PieArcLabel.js
CHANGED
|
@@ -20,7 +20,7 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
|
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
21
|
const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
|
|
22
22
|
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); }
|
|
23
|
-
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 &&
|
|
23
|
+
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 && {}.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; }
|
|
24
24
|
function getPieArcLabelUtilityClass(slot) {
|
|
25
25
|
return (0, _generateUtilityClass.default)('MuiPieArcLabel', slot);
|
|
26
26
|
}
|
|
@@ -17,7 +17,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
17
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
|
-
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 &&
|
|
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 && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
21
|
const RATIO = 180 / Math.PI;
|
|
22
22
|
function getItemLabel(arcLabel, arcLabelMinAngle, item) {
|
|
23
23
|
if (!arcLabel) {
|
package/PieChart/PieArcPlot.js
CHANGED
|
@@ -17,7 +17,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
17
17
|
const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
|
|
18
18
|
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "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
|
-
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 &&
|
|
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 && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
21
|
function PieArcPlot(props) {
|
|
22
22
|
const {
|
|
23
23
|
slots,
|
package/PieChart/PieChart.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
|
|
|
28
28
|
leftAxis?: null | string | ChartsYAxisProps;
|
|
29
29
|
/**
|
|
30
30
|
* The series to display in the pie chart.
|
|
31
|
+
* An array of [[PieSeriesType]] objects.
|
|
31
32
|
*/
|
|
32
33
|
series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
|
|
33
34
|
/**
|