@mui/x-charts 7.9.0 → 7.11.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.js +2 -2
- package/BarChart/formatter.js +1 -1
- package/BarChart/useBarChartProps.js +38 -33
- package/CHANGELOG.md +159 -0
- package/ChartContainer/ChartContainer.d.ts +28 -2
- package/ChartContainer/ChartContainer.js +25 -66
- package/ChartContainer/useChartContainerHooks.d.ts +1 -1
- package/ChartContainer/useChartContainerHooks.js +2 -2
- package/ChartContainer/useChartContainerProps.d.ts +86 -0
- package/ChartContainer/useChartContainerProps.js +95 -0
- package/ChartContainer/useDefaultizeAxis.d.ts +36 -0
- package/ChartContainer/useDefaultizeAxis.js +29 -0
- package/ChartsLegend/ChartsLegend.d.ts +3 -12
- package/ChartsLegend/ContinuousColorLegend.d.ts +65 -0
- package/ChartsLegend/ContinuousColorLegend.js +398 -0
- package/ChartsLegend/DefaultChartsLegend.d.ts +7 -50
- package/ChartsLegend/DefaultChartsLegend.js +13 -198
- package/ChartsLegend/LegendPerItem.d.ts +61 -0
- package/ChartsLegend/LegendPerItem.js +151 -0
- package/ChartsLegend/PiecewiseColorLegend.d.ts +26 -0
- package/ChartsLegend/PiecewiseColorLegend.js +169 -0
- package/ChartsLegend/chartsLegend.types.d.ts +31 -0
- package/ChartsLegend/chartsLegend.types.js +5 -0
- package/ChartsLegend/index.d.ts +2 -0
- package/ChartsLegend/index.js +22 -0
- package/ChartsLegend/legend.types.d.ts +62 -0
- package/ChartsLegend/legend.types.js +5 -0
- package/ChartsLegend/legendItemsPlacement.d.ts +3 -0
- package/ChartsLegend/legendItemsPlacement.js +79 -0
- package/ChartsLegend/useAxis.d.ts +7 -0
- package/ChartsLegend/useAxis.js +47 -0
- package/ChartsLegend/utils.d.ts +1 -8
- package/ChartsReferenceLine/ChartsReferenceLine.d.ts +1 -1
- package/ChartsSurface.js +3 -1
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +26 -18
- package/ChartsXAxis/ChartsXAxis.js +1 -1
- package/ChartsYAxis/ChartsYAxis.js +15 -3
- package/Gauge/Gauge.d.ts +1 -4
- package/Gauge/Gauge.js +9 -6
- package/Gauge/GaugeContainer.js +8 -4
- package/Gauge/GaugeProvider.js +9 -9
- package/LineChart/AnimatedArea.js +2 -2
- package/LineChart/AnimatedLine.js +2 -2
- package/LineChart/AreaPlot.js +7 -1
- package/LineChart/LineChart.js +2 -2
- package/LineChart/LineHighlightPlot.js +8 -0
- package/LineChart/MarkElement.js +2 -2
- package/LineChart/MarkPlot.js +4 -20
- package/LineChart/extremums.js +1 -1
- package/LineChart/formatter.js +1 -1
- package/LineChart/useLineChartProps.js +38 -33
- package/PieChart/PieChart.d.ts +1 -4
- package/PieChart/PieChart.js +40 -34
- package/PieChart/PiePlot.js +6 -6
- package/PieChart/getPieCoordinates.js +3 -3
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
- package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +5 -1
- package/ResponsiveChartContainer/useChartContainerDimensions.js +6 -2
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +20 -0
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +73 -0
- package/ScatterChart/Scatter.js +6 -9
- package/ScatterChart/useScatterChartProps.js +35 -30
- package/SparkLineChart/SparkLineChart.js +27 -22
- package/context/CartesianProvider/CartesianProvider.d.ts +2 -3
- package/context/CartesianProvider/CartesianProvider.js +18 -7
- package/context/CartesianProvider/computeValue.d.ts +32 -9
- package/context/CartesianProvider/computeValue.js +20 -16
- package/context/CartesianProvider/defaultizeAxis.d.ts +36 -0
- package/context/CartesianProvider/defaultizeAxis.js +21 -0
- package/context/CartesianProvider/index.d.ts +0 -1
- package/context/CartesianProvider/index.js +1 -3
- package/context/CartesianProvider/normalizeAxis.d.ts +1 -1
- package/context/CartesianProvider/normalizeAxis.js +1 -1
- package/context/DrawingProvider.d.ts +11 -0
- package/context/DrawingProvider.js +9 -2
- package/context/HighlightedProvider/HighlightedProvider.js +2 -2
- package/esm/BarChart/BarChart.js +2 -2
- package/esm/BarChart/formatter.js +1 -1
- package/esm/BarChart/useBarChartProps.js +38 -33
- package/esm/ChartContainer/ChartContainer.js +25 -66
- package/esm/ChartContainer/useChartContainerHooks.js +2 -2
- package/esm/ChartContainer/useChartContainerProps.js +87 -0
- package/esm/ChartContainer/useDefaultizeAxis.js +19 -0
- package/esm/ChartsLegend/ContinuousColorLegend.js +390 -0
- package/esm/ChartsLegend/DefaultChartsLegend.js +14 -198
- package/esm/ChartsLegend/LegendPerItem.js +141 -0
- package/esm/ChartsLegend/PiecewiseColorLegend.js +161 -0
- package/esm/ChartsLegend/chartsLegend.types.js +1 -0
- package/esm/ChartsLegend/index.js +2 -0
- package/esm/ChartsLegend/legend.types.js +1 -0
- package/esm/ChartsLegend/legendItemsPlacement.js +72 -0
- package/esm/ChartsLegend/useAxis.js +39 -0
- package/esm/ChartsSurface.js +3 -1
- package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +26 -18
- package/esm/ChartsXAxis/ChartsXAxis.js +1 -1
- package/esm/ChartsYAxis/ChartsYAxis.js +15 -3
- package/esm/Gauge/Gauge.js +8 -5
- package/esm/Gauge/GaugeContainer.js +8 -4
- package/esm/Gauge/GaugeProvider.js +1 -1
- package/esm/LineChart/AnimatedArea.js +1 -1
- package/esm/LineChart/AnimatedLine.js +1 -1
- package/esm/LineChart/AreaPlot.js +7 -1
- package/esm/LineChart/LineChart.js +2 -2
- package/esm/LineChart/LineHighlightPlot.js +8 -0
- package/esm/LineChart/MarkElement.js +1 -1
- package/esm/LineChart/MarkPlot.js +3 -19
- package/esm/LineChart/extremums.js +1 -1
- package/esm/LineChart/formatter.js +1 -1
- package/esm/LineChart/useLineChartProps.js +38 -33
- package/esm/PieChart/PieChart.js +39 -33
- package/esm/PieChart/PiePlot.js +1 -1
- package/esm/PieChart/getPieCoordinates.js +1 -1
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
- package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +6 -2
- package/esm/ResponsiveChartContainer/useResponsiveChartContainerProps.js +65 -0
- package/esm/ScatterChart/Scatter.js +6 -9
- package/esm/ScatterChart/useScatterChartProps.js +35 -30
- package/esm/SparkLineChart/SparkLineChart.js +27 -22
- package/esm/context/CartesianProvider/CartesianProvider.js +18 -7
- package/esm/context/CartesianProvider/computeValue.js +20 -16
- package/esm/context/CartesianProvider/defaultizeAxis.js +13 -0
- package/esm/context/CartesianProvider/index.js +1 -3
- package/esm/context/CartesianProvider/normalizeAxis.js +1 -1
- package/esm/context/DrawingProvider.js +9 -2
- package/esm/context/HighlightedProvider/HighlightedProvider.js +2 -2
- package/esm/hooks/useAxisEvents.js +3 -10
- package/esm/hooks/useDrawingArea.js +5 -3
- package/esm/hooks/useReducedMotion.js +4 -2
- package/esm/internals/cleanId.js +6 -0
- package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
- package/esm/internals/{utils.js → getPercentageValue.js} +1 -13
- package/esm/internals/getSymbol.js +5 -0
- package/esm/internals/index.js +3 -1
- package/esm/internals/isDefined.js +3 -0
- package/esm/internals/notNull.js +3 -0
- package/esm/internals/ts-generic.js +1 -0
- package/hooks/useAxisEvents.js +3 -10
- package/hooks/useDrawingArea.js +5 -3
- package/hooks/useReducedMotion.js +4 -2
- package/index.js +1 -1
- package/internals/cleanId.d.ts +4 -0
- package/internals/cleanId.js +12 -0
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.ts +6 -0
- package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
- package/internals/getPercentageValue.d.ts +7 -0
- package/internals/{utils.js → getPercentageValue.js} +1 -15
- package/internals/getSymbol.d.ts +2 -0
- package/internals/getSymbol.js +11 -0
- package/internals/index.d.ts +3 -1
- package/internals/index.js +25 -5
- package/internals/isDefined.d.ts +1 -0
- package/internals/isDefined.js +9 -0
- package/internals/notNull.d.ts +1 -0
- package/internals/notNull.js +9 -0
- package/internals/ts-generic.d.ts +5 -0
- package/internals/ts-generic.js +5 -0
- package/models/axis.d.ts +5 -2
- package/models/helpers.d.ts +1 -0
- package/models/seriesType/config.d.ts +2 -16
- package/modern/BarChart/BarChart.js +2 -2
- package/modern/BarChart/formatter.js +1 -1
- package/modern/BarChart/useBarChartProps.js +38 -33
- package/modern/ChartContainer/ChartContainer.js +25 -66
- package/modern/ChartContainer/useChartContainerHooks.js +2 -2
- package/modern/ChartContainer/useChartContainerProps.js +87 -0
- package/modern/ChartContainer/useDefaultizeAxis.js +19 -0
- package/modern/ChartsLegend/ContinuousColorLegend.js +390 -0
- package/modern/ChartsLegend/DefaultChartsLegend.js +14 -198
- package/modern/ChartsLegend/LegendPerItem.js +141 -0
- package/modern/ChartsLegend/PiecewiseColorLegend.js +161 -0
- package/modern/ChartsLegend/chartsLegend.types.js +1 -0
- package/modern/ChartsLegend/index.js +2 -0
- package/modern/ChartsLegend/legend.types.js +1 -0
- package/modern/ChartsLegend/legendItemsPlacement.js +72 -0
- package/modern/ChartsLegend/useAxis.js +39 -0
- package/modern/ChartsSurface.js +3 -1
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +26 -18
- package/modern/ChartsXAxis/ChartsXAxis.js +1 -1
- package/modern/ChartsYAxis/ChartsYAxis.js +15 -3
- package/modern/Gauge/Gauge.js +8 -5
- package/modern/Gauge/GaugeContainer.js +8 -4
- package/modern/Gauge/GaugeProvider.js +1 -1
- package/modern/LineChart/AnimatedArea.js +1 -1
- package/modern/LineChart/AnimatedLine.js +1 -1
- package/modern/LineChart/AreaPlot.js +7 -1
- package/modern/LineChart/LineChart.js +2 -2
- package/modern/LineChart/LineHighlightPlot.js +8 -0
- package/modern/LineChart/MarkElement.js +1 -1
- package/modern/LineChart/MarkPlot.js +3 -19
- package/modern/LineChart/extremums.js +1 -1
- package/modern/LineChart/formatter.js +1 -1
- package/modern/LineChart/useLineChartProps.js +38 -33
- package/modern/PieChart/PieChart.js +39 -33
- package/modern/PieChart/PiePlot.js +1 -1
- package/modern/PieChart/getPieCoordinates.js +1 -1
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -20
- package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +6 -2
- package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +65 -0
- package/modern/ScatterChart/Scatter.js +6 -9
- package/modern/ScatterChart/useScatterChartProps.js +35 -30
- package/modern/SparkLineChart/SparkLineChart.js +27 -22
- package/modern/context/CartesianProvider/CartesianProvider.js +18 -7
- package/modern/context/CartesianProvider/computeValue.js +20 -16
- package/modern/context/CartesianProvider/defaultizeAxis.js +13 -0
- package/modern/context/CartesianProvider/index.js +1 -3
- package/modern/context/CartesianProvider/normalizeAxis.js +1 -1
- package/modern/context/DrawingProvider.js +9 -2
- package/modern/context/HighlightedProvider/HighlightedProvider.js +2 -2
- package/modern/hooks/useAxisEvents.js +3 -10
- package/modern/hooks/useDrawingArea.js +5 -3
- package/modern/hooks/useReducedMotion.js +4 -2
- package/modern/index.js +1 -1
- package/modern/internals/cleanId.js +6 -0
- package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +3 -2
- package/modern/internals/{utils.js → getPercentageValue.js} +1 -13
- package/modern/internals/getSymbol.js +5 -0
- package/modern/internals/index.js +3 -1
- package/modern/internals/isDefined.js +3 -0
- package/modern/internals/notNull.js +3 -0
- package/modern/internals/ts-generic.js +1 -0
- package/package.json +4 -4
- package/internals/utils.d.ts +0 -18
package/LineChart/LineChart.js
CHANGED
|
@@ -57,8 +57,8 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
|
|
|
57
57
|
ref: ref
|
|
58
58
|
}, chartContainerProps, {
|
|
59
59
|
children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
|
|
60
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, (0, _extends2.default)({}, areaPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, (0, _extends2.default)({}, linePlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps))]
|
|
61
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
60
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, (0, _extends2.default)({}, areaPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, (0, _extends2.default)({}, linePlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps))]
|
|
61
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, (0, _extends2.default)({}, markPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
|
|
62
62
|
}));
|
|
63
63
|
});
|
|
64
64
|
process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
@@ -16,6 +16,7 @@ var _InteractionProvider = require("../context/InteractionProvider");
|
|
|
16
16
|
var _constants = require("../constants");
|
|
17
17
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
18
18
|
var _useSeries = require("../hooks/useSeries");
|
|
19
|
+
var _useDrawingArea = require("../hooks/useDrawingArea");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
const _excluded = ["slots", "slotProps"];
|
|
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); }
|
|
@@ -38,6 +39,7 @@ function LineHighlightPlot(props) {
|
|
|
38
39
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
39
40
|
const seriesData = (0, _useSeries.useLineSeries)();
|
|
40
41
|
const axisData = (0, _CartesianProvider.useCartesianContext)();
|
|
42
|
+
const drawingArea = (0, _useDrawingArea.useDrawingArea)();
|
|
41
43
|
const {
|
|
42
44
|
axis
|
|
43
45
|
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
@@ -85,6 +87,12 @@ function LineHighlightPlot(props) {
|
|
|
85
87
|
const x = xScale(xData[highlightedIndex]);
|
|
86
88
|
const y = yScale(stackedData[highlightedIndex][1]); // This should not be undefined since y should not be a band scale
|
|
87
89
|
|
|
90
|
+
if (!drawingArea.isPointInside({
|
|
91
|
+
x,
|
|
92
|
+
y
|
|
93
|
+
})) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
88
96
|
const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisKey], yAxis[yAxisKey]);
|
|
89
97
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
|
|
90
98
|
id: seriesId,
|
package/LineChart/MarkElement.js
CHANGED
|
@@ -17,7 +17,7 @@ var _styles = require("@mui/material/styles");
|
|
|
17
17
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
18
18
|
var _d3Shape = require("d3-shape");
|
|
19
19
|
var _web = require("@react-spring/web");
|
|
20
|
-
var
|
|
20
|
+
var _getSymbol = require("../internals/getSymbol");
|
|
21
21
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
22
22
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
23
23
|
var _context = require("../context");
|
|
@@ -106,7 +106,7 @@ function MarkElement(props) {
|
|
|
106
106
|
},
|
|
107
107
|
ownerState: ownerState,
|
|
108
108
|
className: classes.root,
|
|
109
|
-
d: (0, _d3Shape.symbol)(_d3Shape.symbolsFill[(0,
|
|
109
|
+
d: (0, _d3Shape.symbol)(_d3Shape.symbolsFill[(0, _getSymbol.getSymbol)(shape)])(),
|
|
110
110
|
onClick: onClick,
|
|
111
111
|
cursor: onClick ? 'pointer' : 'unset'
|
|
112
112
|
}, getInteractionItemProps({
|
package/LineChart/MarkPlot.js
CHANGED
|
@@ -14,7 +14,7 @@ var _MarkElement = require("./MarkElement");
|
|
|
14
14
|
var _useScale = require("../hooks/useScale");
|
|
15
15
|
var _useChartId = require("../hooks/useChartId");
|
|
16
16
|
var _constants = require("../constants");
|
|
17
|
-
var
|
|
17
|
+
var _cleanId = require("../internals/cleanId");
|
|
18
18
|
var _getColor = _interopRequireDefault(require("./getColor"));
|
|
19
19
|
var _useSeries = require("../hooks/useSeries");
|
|
20
20
|
var _useDrawingArea = require("../hooks/useDrawingArea");
|
|
@@ -43,10 +43,7 @@ function MarkPlot(props) {
|
|
|
43
43
|
const seriesData = (0, _useSeries.useLineSeries)();
|
|
44
44
|
const axisData = (0, _CartesianProvider.useCartesianContext)();
|
|
45
45
|
const chartId = (0, _useChartId.useChartId)();
|
|
46
|
-
const
|
|
47
|
-
left,
|
|
48
|
-
width
|
|
49
|
-
} = (0, _useDrawingArea.useDrawingArea)();
|
|
46
|
+
const drawingArea = (0, _useDrawingArea.useDrawingArea)();
|
|
50
47
|
const Mark = slots?.mark ?? _MarkElement.MarkElement;
|
|
51
48
|
if (seriesData === undefined) {
|
|
52
49
|
return null;
|
|
@@ -81,23 +78,10 @@ function MarkPlot(props) {
|
|
|
81
78
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisKey].scale);
|
|
82
79
|
const yScale = yAxis[yAxisKey].scale;
|
|
83
80
|
const xData = xAxis[xAxisKey].data;
|
|
84
|
-
const yRange = yScale.range();
|
|
85
|
-
const isInRange = ({
|
|
86
|
-
x,
|
|
87
|
-
y
|
|
88
|
-
}) => {
|
|
89
|
-
if (x < left || x > left + width) {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
if (y < Math.min(...yRange) || y > Math.max(...yRange)) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
return true;
|
|
96
|
-
};
|
|
97
81
|
if (xData === undefined) {
|
|
98
82
|
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.`);
|
|
99
83
|
}
|
|
100
|
-
const clipId = (0,
|
|
84
|
+
const clipId = (0, _cleanId.cleanId)(`${chartId}-${seriesId}-line-clip`); // We assume that if displaying line mark, the line will also be rendered
|
|
101
85
|
|
|
102
86
|
const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisKey], yAxis[yAxisKey]);
|
|
103
87
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
@@ -122,7 +106,7 @@ function MarkPlot(props) {
|
|
|
122
106
|
// Remove missing data point
|
|
123
107
|
return false;
|
|
124
108
|
}
|
|
125
|
-
if (!
|
|
109
|
+
if (!drawingArea.isPointInside({
|
|
126
110
|
x,
|
|
127
111
|
y
|
|
128
112
|
})) {
|
package/LineChart/extremums.js
CHANGED
|
@@ -37,7 +37,7 @@ const getExtremumY = params => {
|
|
|
37
37
|
stackedData
|
|
38
38
|
} = series[seriesId];
|
|
39
39
|
const isArea = area !== undefined;
|
|
40
|
-
const getValues = isArea ? d => d : d => [d[1], d[1]]; // Since this series is not used to display an area, we do not consider the base (the d[0]).
|
|
40
|
+
const getValues = isArea && axis.scaleType !== 'log' ? d => d : d => [d[1], d[1]]; // Since this series is not used to display an area, we do not consider the base (the d[0]).
|
|
41
41
|
|
|
42
42
|
const seriesExtremums = getSeriesExtremums(getValues, stackedData);
|
|
43
43
|
if (acc[0] === null) {
|
package/LineChart/formatter.js
CHANGED
|
@@ -63,7 +63,7 @@ const formatter = (params, dataset) => {
|
|
|
63
63
|
if (typeof value !== 'number') {
|
|
64
64
|
if (process.env.NODE_ENV !== 'production' && !warnedOnce && value !== null) {
|
|
65
65
|
warnedOnce = true;
|
|
66
|
-
console.error([`MUI
|
|
66
|
+
console.error([`MUI X charts: your dataset key "${dataKey}" is used for plotting line, but contains nonnumerical elements.`, 'Line plots only support numbers and null values.']);
|
|
67
67
|
}
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.useLineChartProps = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
10
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
10
11
|
var _constants = require("../constants");
|
|
12
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
11
13
|
/**
|
|
12
14
|
* A helper function that extracts LineChartProps from the input props
|
|
13
15
|
* and returns an object with props for the children components of LineChart.
|
|
@@ -17,39 +19,41 @@ var _constants = require("../constants");
|
|
|
17
19
|
*/
|
|
18
20
|
const useLineChartProps = props => {
|
|
19
21
|
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
22
|
+
xAxis,
|
|
23
|
+
yAxis,
|
|
24
|
+
series,
|
|
25
|
+
width,
|
|
26
|
+
height,
|
|
27
|
+
margin,
|
|
28
|
+
colors,
|
|
29
|
+
dataset,
|
|
30
|
+
sx,
|
|
31
|
+
tooltip,
|
|
32
|
+
onAxisClick,
|
|
33
|
+
onAreaClick,
|
|
34
|
+
onLineClick,
|
|
35
|
+
onMarkClick,
|
|
36
|
+
axisHighlight,
|
|
37
|
+
disableLineItemHighlight,
|
|
38
|
+
legend,
|
|
39
|
+
grid,
|
|
40
|
+
topAxis,
|
|
41
|
+
leftAxis,
|
|
42
|
+
rightAxis,
|
|
43
|
+
bottomAxis,
|
|
44
|
+
children,
|
|
45
|
+
slots,
|
|
46
|
+
slotProps,
|
|
47
|
+
skipAnimation,
|
|
48
|
+
loading,
|
|
49
|
+
highlightedItem,
|
|
50
|
+
onHighlightChange,
|
|
51
|
+
className
|
|
52
|
+
} = props,
|
|
53
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
50
54
|
const id = (0, _useId.default)();
|
|
51
55
|
const clipPathId = `${id}-clip-path`;
|
|
52
|
-
const chartContainerProps = {
|
|
56
|
+
const chartContainerProps = (0, _extends2.default)({}, other, {
|
|
53
57
|
series: series.map(s => (0, _extends2.default)({
|
|
54
58
|
disableHighlight: !!disableLineItemHighlight,
|
|
55
59
|
type: 'line'
|
|
@@ -70,8 +74,9 @@ const useLineChartProps = props => {
|
|
|
70
74
|
sx,
|
|
71
75
|
highlightedItem,
|
|
72
76
|
onHighlightChange,
|
|
73
|
-
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick
|
|
74
|
-
|
|
77
|
+
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
|
|
78
|
+
className
|
|
79
|
+
});
|
|
75
80
|
const axisClickHandlerProps = {
|
|
76
81
|
onAxisClick
|
|
77
82
|
};
|
package/PieChart/PieChart.d.ts
CHANGED
|
@@ -75,8 +75,5 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
|
|
|
75
75
|
*
|
|
76
76
|
* - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
|
|
77
77
|
*/
|
|
78
|
-
declare
|
|
79
|
-
declare namespace PieChart {
|
|
80
|
-
var propTypes: any;
|
|
81
|
-
}
|
|
78
|
+
declare const PieChart: React.ForwardRefExoticComponent<PieChartProps & React.RefAttributes<unknown>>;
|
|
82
79
|
export { PieChart };
|
package/PieChart/PieChart.js
CHANGED
|
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.PieChart =
|
|
7
|
+
exports.PieChart = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
10
|
var React = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
12
|
var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
|
|
@@ -18,6 +19,7 @@ var _PiePlot = require("./PiePlot");
|
|
|
18
19
|
var _useIsRTL = require("../internals/useIsRTL");
|
|
19
20
|
var _ChartsOverlay = require("../ChartsOverlay");
|
|
20
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "tooltip", "axisHighlight", "skipAnimation", "legend", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "onItemClick", "loading", "highlightedItem", "onHighlightChange", "className"];
|
|
21
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); }
|
|
22
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; }
|
|
23
25
|
const defaultMargin = {
|
|
@@ -43,37 +45,39 @@ const defaultRTLMargin = {
|
|
|
43
45
|
*
|
|
44
46
|
* - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
|
|
45
47
|
*/
|
|
46
|
-
function PieChart(props) {
|
|
48
|
+
const PieChart = exports.PieChart = /*#__PURE__*/React.forwardRef(function PieChart(props, ref) {
|
|
47
49
|
const {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
50
|
+
xAxis,
|
|
51
|
+
yAxis,
|
|
52
|
+
series,
|
|
53
|
+
width,
|
|
54
|
+
height,
|
|
55
|
+
margin: marginProps,
|
|
56
|
+
colors,
|
|
57
|
+
sx,
|
|
58
|
+
tooltip = {
|
|
59
|
+
trigger: 'item'
|
|
60
|
+
},
|
|
61
|
+
axisHighlight = {
|
|
62
|
+
x: 'none',
|
|
63
|
+
y: 'none'
|
|
64
|
+
},
|
|
65
|
+
skipAnimation,
|
|
66
|
+
legend: legendProps,
|
|
67
|
+
topAxis = null,
|
|
68
|
+
leftAxis = null,
|
|
69
|
+
rightAxis = null,
|
|
70
|
+
bottomAxis = null,
|
|
71
|
+
children,
|
|
72
|
+
slots,
|
|
73
|
+
slotProps,
|
|
74
|
+
onItemClick,
|
|
75
|
+
loading,
|
|
76
|
+
highlightedItem,
|
|
77
|
+
onHighlightChange,
|
|
78
|
+
className
|
|
79
|
+
} = props,
|
|
80
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
77
81
|
const isRTL = (0, _useIsRTL.useIsRTL)();
|
|
78
82
|
const margin = (0, _extends2.default)({}, isRTL ? defaultRTLMargin : defaultMargin, marginProps);
|
|
79
83
|
const legend = (0, _extends2.default)({
|
|
@@ -83,7 +87,8 @@ function PieChart(props) {
|
|
|
83
87
|
horizontal: isRTL ? 'left' : 'right'
|
|
84
88
|
}
|
|
85
89
|
}, legendProps);
|
|
86
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, (0, _extends2.default)({}, other, {
|
|
91
|
+
ref: ref,
|
|
87
92
|
series: series.map(s => (0, _extends2.default)({
|
|
88
93
|
type: 'pie'
|
|
89
94
|
}, s)),
|
|
@@ -101,6 +106,7 @@ function PieChart(props) {
|
|
|
101
106
|
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
|
|
102
107
|
highlightedItem: highlightedItem,
|
|
103
108
|
onHighlightChange: onHighlightChange,
|
|
109
|
+
className: className,
|
|
104
110
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
|
|
105
111
|
topAxis: topAxis,
|
|
106
112
|
leftAxis: leftAxis,
|
|
@@ -124,8 +130,8 @@ function PieChart(props) {
|
|
|
124
130
|
slots: slots,
|
|
125
131
|
slotProps: slotProps
|
|
126
132
|
})), children]
|
|
127
|
-
});
|
|
128
|
-
}
|
|
133
|
+
}));
|
|
134
|
+
});
|
|
129
135
|
process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
130
136
|
// ----------------------------- Warning --------------------------------
|
|
131
137
|
// | These PropTypes are generated from the TypeScript type definitions |
|
package/PieChart/PiePlot.js
CHANGED
|
@@ -10,7 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
11
11
|
var _PieArcPlot = require("./PieArcPlot");
|
|
12
12
|
var _PieArcLabelPlot = require("./PieArcLabelPlot");
|
|
13
|
-
var
|
|
13
|
+
var _getPercentageValue = require("../internals/getPercentageValue");
|
|
14
14
|
var _getPieCoordinates = require("./getPieCoordinates");
|
|
15
15
|
var _useSeries = require("../hooks/useSeries");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -71,8 +71,8 @@ function PiePlot(props) {
|
|
|
71
71
|
width,
|
|
72
72
|
height
|
|
73
73
|
});
|
|
74
|
-
const outerRadius = (0,
|
|
75
|
-
const innerRadius = (0,
|
|
74
|
+
const outerRadius = (0, _getPercentageValue.getPercentageValue)(outerRadiusParam ?? availableRadius, availableRadius);
|
|
75
|
+
const innerRadius = (0, _getPercentageValue.getPercentageValue)(innerRadiusParam ?? 0, availableRadius);
|
|
76
76
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
77
77
|
transform: `translate(${left + cx}, ${top + cy})`,
|
|
78
78
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcPlot.PieArcPlot, {
|
|
@@ -114,9 +114,9 @@ function PiePlot(props) {
|
|
|
114
114
|
width,
|
|
115
115
|
height
|
|
116
116
|
});
|
|
117
|
-
const outerRadius = (0,
|
|
118
|
-
const innerRadius = (0,
|
|
119
|
-
const arcLabelRadius = arcLabelRadiusParam === undefined ? (outerRadius + innerRadius) / 2 : (0,
|
|
117
|
+
const outerRadius = (0, _getPercentageValue.getPercentageValue)(outerRadiusParam ?? availableRadius, availableRadius);
|
|
118
|
+
const innerRadius = (0, _getPercentageValue.getPercentageValue)(innerRadiusParam ?? 0, availableRadius);
|
|
119
|
+
const arcLabelRadius = arcLabelRadiusParam === undefined ? (outerRadius + innerRadius) / 2 : (0, _getPercentageValue.getPercentageValue)(arcLabelRadiusParam, availableRadius);
|
|
120
120
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
121
121
|
transform: `translate(${left + cx}, ${top + cy})`,
|
|
122
122
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcLabelPlot.PieArcLabelPlot, {
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getPieCoordinates = getPieCoordinates;
|
|
7
|
-
var
|
|
7
|
+
var _getPercentageValue = require("../internals/getPercentageValue");
|
|
8
8
|
function getPieCoordinates(series, drawing) {
|
|
9
9
|
const {
|
|
10
10
|
height,
|
|
@@ -15,8 +15,8 @@ function getPieCoordinates(series, drawing) {
|
|
|
15
15
|
cy: cyParam
|
|
16
16
|
} = series;
|
|
17
17
|
const availableRadius = Math.min(width, height) / 2;
|
|
18
|
-
const cx = (0,
|
|
19
|
-
const cy = (0,
|
|
18
|
+
const cx = (0, _getPercentageValue.getPercentageValue)(cxParam ?? '50%', width);
|
|
19
|
+
const cy = (0, _getPercentageValue.getPercentageValue)(cyParam ?? '50%', height);
|
|
20
20
|
return {
|
|
21
21
|
cx,
|
|
22
22
|
cy,
|
|
@@ -6,35 +6,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.ResponsiveChartContainer = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
9
|
var React = _interopRequireWildcard(require("react"));
|
|
11
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
11
|
var _ChartContainer = require("../ChartContainer");
|
|
13
|
-
var _useChartContainerDimensions = require("./useChartContainerDimensions");
|
|
14
12
|
var _ResizableContainer = require("./ResizableContainer");
|
|
13
|
+
var _useResponsiveChartContainerProps = require("./useResponsiveChartContainerProps");
|
|
15
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
const _excluded = ["width", "height"];
|
|
17
15
|
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); }
|
|
18
16
|
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; }
|
|
19
17
|
const ResponsiveChartContainer = exports.ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function ResponsiveChartContainer(props, ref) {
|
|
20
18
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
ownerState: {
|
|
29
|
-
width: inWidth,
|
|
30
|
-
height: inHeight
|
|
31
|
-
},
|
|
32
|
-
children: width && height ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartContainer.ChartContainer, (0, _extends2.default)({}, other, {
|
|
33
|
-
width: width,
|
|
34
|
-
height: height,
|
|
35
|
-
ref: ref
|
|
36
|
-
})) : null
|
|
37
|
-
});
|
|
19
|
+
hasIntrinsicSize,
|
|
20
|
+
chartContainerProps,
|
|
21
|
+
resizableChartContainerProps
|
|
22
|
+
} = (0, _useResponsiveChartContainerProps.useResponsiveChartContainerProps)(props, ref);
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResizableContainer.ResizableContainer, (0, _extends2.default)({}, resizableChartContainerProps, {
|
|
24
|
+
children: hasIntrinsicSize ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartContainer.ChartContainer, (0, _extends2.default)({}, chartContainerProps)) : null
|
|
25
|
+
}));
|
|
38
26
|
});
|
|
39
27
|
process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
|
|
40
28
|
// ----------------------------- Warning --------------------------------
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const useChartContainerDimensions: (inWidth?: number, inHeight?: number) =>
|
|
2
|
+
export declare const useChartContainerDimensions: (inWidth?: number, inHeight?: number) => {
|
|
3
|
+
containerRef: React.MutableRefObject<null>;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
@@ -11,8 +11,8 @@ var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
|
|
|
11
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
const useChartContainerDimensions = (inWidth, inHeight) => {
|
|
14
|
-
const rootRef = React.useRef(null);
|
|
15
14
|
const displayError = React.useRef(false);
|
|
15
|
+
const rootRef = React.useRef(null);
|
|
16
16
|
const [width, setWidth] = React.useState(0);
|
|
17
17
|
const [height, setHeight] = React.useState(0);
|
|
18
18
|
|
|
@@ -71,6 +71,10 @@ const useChartContainerDimensions = (inWidth, inHeight) => {
|
|
|
71
71
|
displayError.current = false;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
return
|
|
74
|
+
return {
|
|
75
|
+
containerRef: rootRef,
|
|
76
|
+
width: inWidth ?? width,
|
|
77
|
+
height: inHeight ?? height
|
|
78
|
+
};
|
|
75
79
|
};
|
|
76
80
|
exports.useChartContainerDimensions = useChartContainerDimensions;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ResponsiveChartContainerProps } from './ResponsiveChartContainer';
|
|
2
|
+
export declare const useResponsiveChartContainerProps: (props: ResponsiveChartContainerProps, ref: React.ForwardedRef<unknown>) => {
|
|
3
|
+
hasIntrinsicSize: number;
|
|
4
|
+
chartContainerProps: Omit<import("..").ChartsSurfaceProps & Omit<import("../internals").SeriesContextProviderProps, "seriesFormatters"> & Omit<import("../internals").DrawingProviderProps, "svgRef"> & Pick<import("../internals").CartesianContextProviderProps, "dataset"> & import("..").ZAxisContextProviderProps & import("..").HighlightedProviderProps, "children"> & {
|
|
5
|
+
xAxis?: import("../internals").MakeOptional<import("..").AxisConfig<import("..").ScaleName, any, import("..").ChartsXAxisProps>, "id">[];
|
|
6
|
+
yAxis?: import("../internals").MakeOptional<import("..").AxisConfig<import("..").ScaleName, any, import("..").ChartsYAxisProps>, "id">[];
|
|
7
|
+
children?: import("react").ReactNode;
|
|
8
|
+
plugins?: import("..").ChartsPluginType<import("../internals").ChartSeriesType>[];
|
|
9
|
+
} & {
|
|
10
|
+
ref: React.ForwardedRef<unknown>;
|
|
11
|
+
};
|
|
12
|
+
resizableChartContainerProps: {
|
|
13
|
+
ownerState: {
|
|
14
|
+
width: number | undefined;
|
|
15
|
+
height: number | undefined;
|
|
16
|
+
};
|
|
17
|
+
ref: import("react").MutableRefObject<null>;
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useResponsiveChartContainerProps = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
+
var _useChartContainerDimensions = require("./useChartContainerDimensions");
|
|
11
|
+
const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "sx", "title", "viewBox", "xAxis", "yAxis", "zAxis"];
|
|
12
|
+
const useResponsiveChartContainerProps = (props, ref) => {
|
|
13
|
+
const {
|
|
14
|
+
width,
|
|
15
|
+
height,
|
|
16
|
+
margin,
|
|
17
|
+
children,
|
|
18
|
+
series,
|
|
19
|
+
colors,
|
|
20
|
+
dataset,
|
|
21
|
+
desc,
|
|
22
|
+
disableAxisListener,
|
|
23
|
+
highlightedItem,
|
|
24
|
+
onHighlightChange,
|
|
25
|
+
plugins,
|
|
26
|
+
sx,
|
|
27
|
+
title,
|
|
28
|
+
viewBox,
|
|
29
|
+
xAxis,
|
|
30
|
+
yAxis,
|
|
31
|
+
zAxis
|
|
32
|
+
} = props,
|
|
33
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
|
+
const {
|
|
35
|
+
containerRef,
|
|
36
|
+
width: dWidth,
|
|
37
|
+
height: dHeight
|
|
38
|
+
} = (0, _useChartContainerDimensions.useChartContainerDimensions)(width, height);
|
|
39
|
+
const resizableChartContainerProps = (0, _extends2.default)({}, other, {
|
|
40
|
+
ownerState: {
|
|
41
|
+
width,
|
|
42
|
+
height
|
|
43
|
+
},
|
|
44
|
+
ref: containerRef
|
|
45
|
+
});
|
|
46
|
+
const chartContainerProps = {
|
|
47
|
+
margin,
|
|
48
|
+
children,
|
|
49
|
+
series,
|
|
50
|
+
colors,
|
|
51
|
+
dataset,
|
|
52
|
+
desc,
|
|
53
|
+
disableAxisListener,
|
|
54
|
+
highlightedItem,
|
|
55
|
+
onHighlightChange,
|
|
56
|
+
plugins,
|
|
57
|
+
sx,
|
|
58
|
+
title,
|
|
59
|
+
viewBox,
|
|
60
|
+
xAxis,
|
|
61
|
+
yAxis,
|
|
62
|
+
zAxis,
|
|
63
|
+
width: dWidth,
|
|
64
|
+
height: dHeight,
|
|
65
|
+
ref
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
hasIntrinsicSize: dWidth && dHeight,
|
|
69
|
+
chartContainerProps,
|
|
70
|
+
resizableChartContainerProps
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
exports.useResponsiveChartContainerProps = useResponsiveChartContainerProps;
|
package/ScatterChart/Scatter.js
CHANGED
|
@@ -36,10 +36,7 @@ function Scatter(props) {
|
|
|
36
36
|
markerSize,
|
|
37
37
|
onItemClick
|
|
38
38
|
} = props;
|
|
39
|
-
const
|
|
40
|
-
left,
|
|
41
|
-
width
|
|
42
|
-
} = (0, _useDrawingArea.useDrawingArea)();
|
|
39
|
+
const drawingArea = (0, _useDrawingArea.useDrawingArea)();
|
|
43
40
|
const {
|
|
44
41
|
useVoronoiInteraction
|
|
45
42
|
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
@@ -52,15 +49,15 @@ function Scatter(props) {
|
|
|
52
49
|
const cleanData = React.useMemo(() => {
|
|
53
50
|
const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
|
|
54
51
|
const getYPosition = (0, _useScale.getValueToPositionMapper)(yScale);
|
|
55
|
-
const yRange = yScale.range();
|
|
56
|
-
const minYRange = Math.min(...yRange);
|
|
57
|
-
const maxYRange = Math.max(...yRange);
|
|
58
52
|
const temp = [];
|
|
59
53
|
for (let i = 0; i < series.data.length; i += 1) {
|
|
60
54
|
const scatterPoint = series.data[i];
|
|
61
55
|
const x = getXPosition(scatterPoint.x);
|
|
62
56
|
const y = getYPosition(scatterPoint.y);
|
|
63
|
-
const isInRange =
|
|
57
|
+
const isInRange = drawingArea.isPointInside({
|
|
58
|
+
x,
|
|
59
|
+
y
|
|
60
|
+
});
|
|
64
61
|
const pointCtx = {
|
|
65
62
|
type: 'scatter',
|
|
66
63
|
seriesId: series.id,
|
|
@@ -85,7 +82,7 @@ function Scatter(props) {
|
|
|
85
82
|
}
|
|
86
83
|
}
|
|
87
84
|
return temp;
|
|
88
|
-
}, [xScale, yScale,
|
|
85
|
+
}, [xScale, yScale, drawingArea, series.data, series.id, isHighlighted, isFaded, getInteractionItemProps, colorGetter, color]);
|
|
89
86
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
90
87
|
children: cleanData.map(dataPoint => /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", (0, _extends2.default)({
|
|
91
88
|
cx: 0,
|