@mui/x-charts 6.0.0-alpha.5 → 6.0.0-alpha.7
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 +18 -2
- package/BarChart/BarChart.js +74 -17
- package/BarChart/BarElement.d.ts +22 -0
- package/BarChart/BarElement.js +21 -10
- package/BarChart/BarPlot.d.ts +14 -1
- package/BarChart/BarPlot.js +23 -4
- package/BarChart/formatter.js +23 -12
- package/CHANGELOG.md +154 -0
- package/ChartContainer/index.js +3 -0
- package/ChartsAxis/ChartsAxis.d.ts +11 -1
- package/ChartsAxis/ChartsAxis.js +51 -6
- package/ChartsLegend/ChartsLegend.d.ts +25 -2
- package/ChartsLegend/ChartsLegend.js +49 -17
- package/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/ChartsTooltip/ChartsTooltipTable.d.ts +2 -9
- package/ChartsXAxis/ChartsXAxis.js +44 -9
- package/ChartsYAxis/ChartsYAxis.js +44 -9
- package/LineChart/AreaElement.d.ts +22 -0
- package/LineChart/AreaElement.js +31 -11
- package/LineChart/AreaPlot.d.ts +14 -1
- package/LineChart/AreaPlot.js +32 -5
- package/LineChart/LineChart.d.ts +20 -2
- package/LineChart/LineChart.js +76 -16
- package/LineChart/LineElement.d.ts +22 -0
- package/LineChart/LineElement.js +31 -10
- package/LineChart/LinePlot.d.ts +14 -1
- package/LineChart/LinePlot.js +38 -6
- package/LineChart/MarkElement.js +1 -1
- package/LineChart/MarkPlot.d.ts +24 -1
- package/LineChart/MarkPlot.js +30 -6
- package/LineChart/formatter.js +23 -12
- package/PieChart/PieArcLabel.js +0 -1
- package/PieChart/PieChart.d.ts +14 -2
- package/PieChart/PieChart.js +60 -13
- package/PieChart/PiePlot.d.ts +27 -1
- package/PieChart/PiePlot.js +29 -6
- package/ScatterChart/ScatterChart.d.ts +18 -2
- package/ScatterChart/ScatterChart.js +64 -13
- package/ScatterChart/ScatterPlot.d.ts +24 -1
- package/ScatterChart/ScatterPlot.js +28 -4
- package/SparkLineChart/SparkLineChart.d.ts +73 -0
- package/SparkLineChart/SparkLineChart.js +218 -0
- package/SparkLineChart/index.d.ts +1 -0
- package/SparkLineChart/index.js +12 -0
- package/SparkLineChart/package.json +6 -0
- package/colorPalettes/colorPalettes.js +2 -2
- package/context/CartesianContextProvider.d.ts +3 -1
- package/context/CartesianContextProvider.js +50 -14
- package/context/SeriesContextProvider.d.ts +3 -2
- package/context/SeriesContextProvider.js +5 -3
- package/esm/BarChart/BarChart.js +77 -17
- package/esm/BarChart/BarElement.js +21 -11
- package/esm/BarChart/BarPlot.js +23 -4
- package/esm/BarChart/formatter.js +23 -12
- package/esm/ChartContainer/index.js +3 -0
- package/esm/ChartsAxis/ChartsAxis.js +51 -6
- package/esm/ChartsLegend/ChartsLegend.js +47 -14
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/esm/ChartsXAxis/ChartsXAxis.js +45 -9
- package/esm/ChartsYAxis/ChartsYAxis.js +45 -9
- package/esm/LineChart/AreaElement.js +31 -11
- package/esm/LineChart/AreaPlot.js +33 -5
- package/esm/LineChart/LineChart.js +79 -16
- package/esm/LineChart/LineElement.js +31 -11
- package/esm/LineChart/LinePlot.js +45 -9
- package/esm/LineChart/MarkElement.js +1 -1
- package/esm/LineChart/MarkPlot.js +31 -6
- package/esm/LineChart/formatter.js +23 -13
- package/esm/PieChart/PieArcLabel.js +0 -1
- package/esm/PieChart/PieChart.js +60 -13
- package/esm/PieChart/PiePlot.js +31 -6
- package/esm/ScatterChart/ScatterChart.js +64 -13
- package/esm/ScatterChart/ScatterPlot.js +29 -4
- package/esm/SparkLineChart/SparkLineChart.js +210 -0
- package/esm/SparkLineChart/index.js +1 -0
- package/esm/colorPalettes/colorPalettes.js +2 -2
- package/esm/context/CartesianContextProvider.js +50 -14
- package/esm/context/SeriesContextProvider.js +5 -3
- package/esm/hooks/useTicks.js +9 -6
- package/esm/index.js +1 -0
- package/esm/internals/components/AxisSharedComponents.js +10 -10
- package/esm/models/index.js +3 -1
- package/hooks/useTicks.d.ts +20 -5
- package/hooks/useTicks.js +9 -6
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/internals/components/AxisSharedComponents.d.ts +4 -4
- package/internals/components/AxisSharedComponents.js +15 -15
- package/internals/defaultizeColor.d.ts +4 -2
- package/legacy/BarChart/BarChart.js +75 -17
- package/legacy/BarChart/BarElement.js +20 -10
- package/legacy/BarChart/BarPlot.js +23 -4
- package/legacy/BarChart/formatter.js +23 -10
- package/legacy/ChartContainer/index.js +3 -0
- package/legacy/ChartsAxis/ChartsAxis.js +51 -6
- package/legacy/ChartsLegend/ChartsLegend.js +46 -15
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/legacy/ChartsXAxis/ChartsXAxis.js +45 -9
- package/legacy/ChartsYAxis/ChartsYAxis.js +45 -9
- package/legacy/LineChart/AreaElement.js +30 -10
- package/legacy/LineChart/AreaPlot.js +31 -5
- package/legacy/LineChart/LineChart.js +77 -16
- package/legacy/LineChart/LineElement.js +30 -10
- package/legacy/LineChart/LinePlot.js +38 -6
- package/legacy/LineChart/MarkElement.js +1 -1
- package/legacy/LineChart/MarkPlot.js +29 -6
- package/legacy/LineChart/formatter.js +23 -11
- package/legacy/PieChart/PieArcLabel.js +0 -1
- package/legacy/PieChart/PieChart.js +60 -13
- package/legacy/PieChart/PiePlot.js +29 -6
- package/legacy/ScatterChart/ScatterChart.js +64 -13
- package/legacy/ScatterChart/ScatterPlot.js +27 -4
- package/legacy/SparkLineChart/SparkLineChart.js +214 -0
- package/legacy/SparkLineChart/index.js +1 -0
- package/legacy/colorPalettes/colorPalettes.js +2 -2
- package/legacy/context/CartesianContextProvider.js +59 -15
- package/legacy/context/SeriesContextProvider.js +6 -4
- package/legacy/hooks/useTicks.js +9 -9
- package/legacy/index.js +2 -1
- package/legacy/internals/components/AxisSharedComponents.js +10 -10
- package/legacy/models/index.js +3 -1
- package/models/axis.d.ts +34 -3
- package/models/index.d.ts +2 -0
- package/models/index.js +11 -0
- package/models/seriesType/bar.d.ts +8 -1
- package/models/seriesType/common.d.ts +2 -2
- package/models/seriesType/config.d.ts +4 -1
- package/models/seriesType/line.d.ts +8 -1
- package/modern/BarChart/BarChart.js +74 -17
- package/modern/BarChart/BarElement.js +20 -11
- package/modern/BarChart/BarPlot.js +23 -4
- package/modern/BarChart/formatter.js +23 -12
- package/modern/ChartContainer/index.js +3 -0
- package/modern/ChartsAxis/ChartsAxis.js +51 -6
- package/modern/ChartsLegend/ChartsLegend.js +46 -14
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/modern/ChartsXAxis/ChartsXAxis.js +44 -9
- package/modern/ChartsYAxis/ChartsYAxis.js +44 -9
- package/modern/LineChart/AreaElement.js +30 -11
- package/modern/LineChart/AreaPlot.js +33 -5
- package/modern/LineChart/LineChart.js +76 -16
- package/modern/LineChart/LineElement.js +30 -11
- package/modern/LineChart/LinePlot.js +39 -6
- package/modern/LineChart/MarkElement.js +1 -1
- package/modern/LineChart/MarkPlot.js +30 -6
- package/modern/LineChart/formatter.js +23 -13
- package/modern/PieChart/PieArcLabel.js +0 -1
- package/modern/PieChart/PieChart.js +60 -13
- package/modern/PieChart/PiePlot.js +30 -6
- package/modern/ScatterChart/ScatterChart.js +64 -13
- package/modern/ScatterChart/ScatterPlot.js +28 -4
- package/modern/SparkLineChart/SparkLineChart.js +210 -0
- package/modern/SparkLineChart/index.js +1 -0
- package/modern/colorPalettes/colorPalettes.js +2 -2
- package/modern/context/CartesianContextProvider.js +50 -14
- package/modern/context/SeriesContextProvider.js +5 -3
- package/modern/hooks/useTicks.js +9 -6
- package/modern/index.js +2 -1
- package/modern/internals/components/AxisSharedComponents.js +10 -10
- package/modern/models/index.js +3 -1
- package/package.json +4 -2
- package/themeAugmentation/components.d.ts +0 -10
- package/themeAugmentation/overrides.d.ts +0 -2
package/LineChart/MarkElement.js
CHANGED
|
@@ -50,7 +50,7 @@ const MarkElementPath = (0, _styles.styled)('path', {
|
|
|
50
50
|
}) => ({
|
|
51
51
|
transform: `translate(${ownerState.x}px, ${ownerState.y}px)`,
|
|
52
52
|
transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
|
|
53
|
-
fill:
|
|
53
|
+
fill: theme.palette.background.paper,
|
|
54
54
|
stroke: ownerState.color,
|
|
55
55
|
strokeWidth: 2,
|
|
56
56
|
'&.MuiMarkElement-highlighted': {
|
package/LineChart/MarkPlot.d.ts
CHANGED
|
@@ -1,2 +1,25 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import { MarkElementProps } from './MarkElement';
|
|
3
|
+
export interface MarkPlotSlotsComponent {
|
|
4
|
+
mark?: React.JSXElementConstructor<MarkElementProps>;
|
|
5
|
+
}
|
|
6
|
+
export interface MarkPlotSlotComponentProps {
|
|
7
|
+
mark?: Partial<MarkElementProps>;
|
|
8
|
+
}
|
|
9
|
+
export interface MarkPlotProps extends React.SVGAttributes<SVGSVGElement> {
|
|
10
|
+
/**
|
|
11
|
+
* Overridable component slots.
|
|
12
|
+
* @default {}
|
|
13
|
+
*/
|
|
14
|
+
slots?: MarkPlotSlotsComponent;
|
|
15
|
+
/**
|
|
16
|
+
* The props used for each component slot.
|
|
17
|
+
* @default {}
|
|
18
|
+
*/
|
|
19
|
+
slotProps?: MarkPlotSlotComponentProps;
|
|
20
|
+
}
|
|
21
|
+
declare function MarkPlot(props: MarkPlotProps): React.JSX.Element | null;
|
|
22
|
+
declare namespace MarkPlot {
|
|
23
|
+
var propTypes: any;
|
|
24
|
+
}
|
|
25
|
+
export { MarkPlot };
|
package/LineChart/MarkPlot.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.MarkPlot = MarkPlot;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
11
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
9
12
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
10
13
|
var _MarkElement = require("./MarkElement");
|
|
@@ -12,9 +15,14 @@ var _useScale = require("../hooks/useScale");
|
|
|
12
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
-
function MarkPlot() {
|
|
18
|
+
function MarkPlot(props) {
|
|
19
|
+
const {
|
|
20
|
+
slots,
|
|
21
|
+
slotProps
|
|
22
|
+
} = props;
|
|
16
23
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
17
24
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
25
|
+
const Mark = slots?.mark ?? _MarkElement.MarkElement;
|
|
18
26
|
if (seriesData === undefined) {
|
|
19
27
|
return null;
|
|
20
28
|
}
|
|
@@ -30,7 +38,7 @@ function MarkPlot() {
|
|
|
30
38
|
} = axisData;
|
|
31
39
|
const defaultXAxisId = xAxisIds[0];
|
|
32
40
|
const defaultYAxisId = yAxisIds[0];
|
|
33
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
41
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, props, {
|
|
34
42
|
children: stackingGroups.flatMap(({
|
|
35
43
|
ids: groupIds
|
|
36
44
|
}) => {
|
|
@@ -71,7 +79,7 @@ function MarkPlot() {
|
|
|
71
79
|
x,
|
|
72
80
|
y,
|
|
73
81
|
index
|
|
74
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
82
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Mark, (0, _extends2.default)({
|
|
75
83
|
id: seriesId,
|
|
76
84
|
dataIndex: index,
|
|
77
85
|
shape: "circle",
|
|
@@ -79,8 +87,24 @@ function MarkPlot() {
|
|
|
79
87
|
x: x,
|
|
80
88
|
y: y,
|
|
81
89
|
highlightScope: series[seriesId].highlightScope
|
|
82
|
-
}, `${seriesId}-${index}`));
|
|
90
|
+
}, slotProps?.mark), `${seriesId}-${index}`));
|
|
83
91
|
});
|
|
84
92
|
})
|
|
85
|
-
});
|
|
86
|
-
}
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
|
|
96
|
+
// ----------------------------- Warning --------------------------------
|
|
97
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
98
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
99
|
+
// ----------------------------------------------------------------------
|
|
100
|
+
/**
|
|
101
|
+
* The props used for each component slot.
|
|
102
|
+
* @default {}
|
|
103
|
+
*/
|
|
104
|
+
slotProps: _propTypes.default.object,
|
|
105
|
+
/**
|
|
106
|
+
* Overridable component slots.
|
|
107
|
+
* @default {}
|
|
108
|
+
*/
|
|
109
|
+
slots: _propTypes.default.object
|
|
110
|
+
} : void 0;
|
package/LineChart/formatter.js
CHANGED
|
@@ -10,7 +10,7 @@ var _d3Shape = require("d3-shape");
|
|
|
10
10
|
var _stackSeries = require("../internals/stackSeries");
|
|
11
11
|
var _defaultizeValueFormatter = _interopRequireDefault(require("../internals/defaultizeValueFormatter"));
|
|
12
12
|
// For now it's a copy past of bar charts formatter, but maybe will diverge later
|
|
13
|
-
const formatter = params => {
|
|
13
|
+
const formatter = (params, dataset) => {
|
|
14
14
|
const {
|
|
15
15
|
seriesOrder,
|
|
16
16
|
series
|
|
@@ -18,17 +18,22 @@ const formatter = params => {
|
|
|
18
18
|
const stackingGroups = (0, _stackSeries.getStackingGroups)(params);
|
|
19
19
|
|
|
20
20
|
// Create a data set with format adapted to d3
|
|
21
|
-
const d3Dataset = [];
|
|
21
|
+
const d3Dataset = dataset ?? [];
|
|
22
22
|
seriesOrder.forEach(id => {
|
|
23
|
-
series[id].data
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
const data = series[id].data;
|
|
24
|
+
if (data !== undefined) {
|
|
25
|
+
data.forEach((value, index) => {
|
|
26
|
+
if (d3Dataset.length <= index) {
|
|
27
|
+
d3Dataset.push({
|
|
28
|
+
[id]: value
|
|
29
|
+
});
|
|
30
|
+
} else {
|
|
31
|
+
d3Dataset[index][id] = value;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
} else if (dataset === undefined) {
|
|
35
|
+
throw new Error([`MUI: line series with id='${id}' has no data.`, 'Either provide a data property to the series or use the dataset prop.'].join('\n'));
|
|
36
|
+
}
|
|
32
37
|
});
|
|
33
38
|
const completedSeries = {};
|
|
34
39
|
stackingGroups.forEach(stackingGroup => {
|
|
@@ -38,9 +43,15 @@ const formatter = params => {
|
|
|
38
43
|
stackingOrder,
|
|
39
44
|
stackingOffset
|
|
40
45
|
} = stackingGroup;
|
|
41
|
-
const stackedSeries = (0, _d3Shape.stack)().keys(ids
|
|
46
|
+
const stackedSeries = (0, _d3Shape.stack)().keys(ids.map(id => {
|
|
47
|
+
// Use dataKey if needed and available
|
|
48
|
+
const dataKey = series[id].dataKey;
|
|
49
|
+
return series[id].data === undefined && dataKey !== undefined ? dataKey : id;
|
|
50
|
+
})).order(stackingOrder).offset(stackingOffset)(d3Dataset);
|
|
42
51
|
ids.forEach((id, index) => {
|
|
52
|
+
const dataKey = series[id].dataKey;
|
|
43
53
|
completedSeries[id] = (0, _extends2.default)({}, series[id], {
|
|
54
|
+
data: dataKey ? dataset.map(d => d[dataKey]) : series[id].data,
|
|
44
55
|
stackedData: stackedSeries[index].map(([a, b]) => [a, b])
|
|
45
56
|
});
|
|
46
57
|
});
|
package/PieChart/PieArcLabel.js
CHANGED
package/PieChart/PieChart.d.ts
CHANGED
|
@@ -4,14 +4,26 @@ import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
|
|
|
4
4
|
import { PieSeriesType } from '../models/seriesType';
|
|
5
5
|
import { MakeOptional } from '../models/helpers';
|
|
6
6
|
import { ChartsTooltipProps } from '../ChartsTooltip';
|
|
7
|
-
import { ChartsLegendProps } from '../ChartsLegend';
|
|
7
|
+
import { ChartsLegendProps, ChartsLegendSlotComponentProps, ChartsLegendSlotsComponent } from '../ChartsLegend';
|
|
8
8
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
9
|
+
import { PiePlotSlotComponentProps, PiePlotSlotsComponent } from './PiePlot';
|
|
9
10
|
import { PieValueType } from '../models/seriesType/pie';
|
|
10
|
-
|
|
11
|
+
import { ChartsAxisSlotsComponent, ChartsAxisSlotComponentProps } from '../models/axis';
|
|
12
|
+
export interface PieChartSlotsComponent extends ChartsAxisSlotsComponent, PiePlotSlotsComponent, ChartsLegendSlotsComponent {
|
|
13
|
+
}
|
|
14
|
+
export interface PieChartSlotComponentProps extends ChartsAxisSlotComponentProps, PiePlotSlotComponentProps, ChartsLegendSlotComponentProps {
|
|
15
|
+
}
|
|
16
|
+
export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'> {
|
|
11
17
|
series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
|
|
12
18
|
tooltip?: ChartsTooltipProps;
|
|
13
19
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
14
20
|
legend?: ChartsLegendProps;
|
|
21
|
+
slots?: PieChartSlotsComponent;
|
|
22
|
+
/**
|
|
23
|
+
* The props used for each component slot.
|
|
24
|
+
* @default {}
|
|
25
|
+
*/
|
|
26
|
+
slotProps?: PieChartSlotComponentProps;
|
|
15
27
|
}
|
|
16
28
|
declare function PieChart(props: PieChartProps): React.JSX.Element;
|
|
17
29
|
declare namespace PieChart {
|
package/PieChart/PieChart.js
CHANGED
|
@@ -52,7 +52,9 @@ function PieChart(props) {
|
|
|
52
52
|
leftAxis = null,
|
|
53
53
|
rightAxis = null,
|
|
54
54
|
bottomAxis = null,
|
|
55
|
-
children
|
|
55
|
+
children,
|
|
56
|
+
slots,
|
|
57
|
+
slotProps
|
|
56
58
|
} = props;
|
|
57
59
|
const margin = (0, _extends2.default)({}, defaultMargin, marginProps);
|
|
58
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
|
|
@@ -75,8 +77,16 @@ function PieChart(props) {
|
|
|
75
77
|
topAxis: topAxis,
|
|
76
78
|
leftAxis: leftAxis,
|
|
77
79
|
rightAxis: rightAxis,
|
|
78
|
-
bottomAxis: bottomAxis
|
|
79
|
-
|
|
80
|
+
bottomAxis: bottomAxis,
|
|
81
|
+
slots: slots,
|
|
82
|
+
slotProps: slotProps
|
|
83
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PiePlot.PiePlot, {
|
|
84
|
+
slots: slots,
|
|
85
|
+
slotProps: slotProps
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
|
|
87
|
+
slots: slots,
|
|
88
|
+
slotProps: slotProps
|
|
89
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip)), children]
|
|
80
90
|
});
|
|
81
91
|
}
|
|
82
92
|
process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
@@ -102,8 +112,13 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
102
112
|
label: _propTypes.default.string,
|
|
103
113
|
labelFontSize: _propTypes.default.number,
|
|
104
114
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
115
|
+
slotProps: _propTypes.default.object,
|
|
116
|
+
slots: _propTypes.default.object,
|
|
105
117
|
stroke: _propTypes.default.string,
|
|
106
118
|
tickFontSize: _propTypes.default.number,
|
|
119
|
+
tickMaxStep: _propTypes.default.number,
|
|
120
|
+
tickMinStep: _propTypes.default.number,
|
|
121
|
+
tickNumber: _propTypes.default.number,
|
|
107
122
|
tickSize: _propTypes.default.number
|
|
108
123
|
}), _propTypes.default.string]),
|
|
109
124
|
children: _propTypes.default.node,
|
|
@@ -112,6 +127,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
112
127
|
* Color palette used to colorize multiple series.
|
|
113
128
|
*/
|
|
114
129
|
colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
|
|
130
|
+
dataset: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
115
131
|
desc: _propTypes.default.string,
|
|
116
132
|
disableAxisListener: _propTypes.default.bool,
|
|
117
133
|
height: _propTypes.default.number,
|
|
@@ -129,8 +145,13 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
129
145
|
label: _propTypes.default.string,
|
|
130
146
|
labelFontSize: _propTypes.default.number,
|
|
131
147
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
148
|
+
slotProps: _propTypes.default.object,
|
|
149
|
+
slots: _propTypes.default.object,
|
|
132
150
|
stroke: _propTypes.default.string,
|
|
133
151
|
tickFontSize: _propTypes.default.number,
|
|
152
|
+
tickMaxStep: _propTypes.default.number,
|
|
153
|
+
tickMinStep: _propTypes.default.number,
|
|
154
|
+
tickNumber: _propTypes.default.number,
|
|
134
155
|
tickSize: _propTypes.default.number
|
|
135
156
|
}), _propTypes.default.string]),
|
|
136
157
|
legend: _propTypes.default.shape({
|
|
@@ -147,6 +168,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
147
168
|
horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
|
|
148
169
|
vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
149
170
|
}),
|
|
171
|
+
slotProps: _propTypes.default.object,
|
|
172
|
+
slots: _propTypes.default.object,
|
|
150
173
|
spacing: _propTypes.default.number
|
|
151
174
|
}),
|
|
152
175
|
margin: _propTypes.default.shape({
|
|
@@ -169,8 +192,13 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
169
192
|
label: _propTypes.default.string,
|
|
170
193
|
labelFontSize: _propTypes.default.number,
|
|
171
194
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
195
|
+
slotProps: _propTypes.default.object,
|
|
196
|
+
slots: _propTypes.default.object,
|
|
172
197
|
stroke: _propTypes.default.string,
|
|
173
198
|
tickFontSize: _propTypes.default.number,
|
|
199
|
+
tickMaxStep: _propTypes.default.number,
|
|
200
|
+
tickMinStep: _propTypes.default.number,
|
|
201
|
+
tickNumber: _propTypes.default.number,
|
|
174
202
|
tickSize: _propTypes.default.number
|
|
175
203
|
}), _propTypes.default.string]),
|
|
176
204
|
series: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
@@ -212,6 +240,12 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
212
240
|
type: _propTypes.default.oneOf(['pie']),
|
|
213
241
|
valueFormatter: _propTypes.default.func
|
|
214
242
|
})).isRequired,
|
|
243
|
+
/**
|
|
244
|
+
* The props used for each component slot.
|
|
245
|
+
* @default {}
|
|
246
|
+
*/
|
|
247
|
+
slotProps: _propTypes.default.object,
|
|
248
|
+
slots: _propTypes.default.object,
|
|
215
249
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
216
250
|
title: _propTypes.default.string,
|
|
217
251
|
tooltip: _propTypes.default.shape({
|
|
@@ -234,8 +268,13 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
234
268
|
label: _propTypes.default.string,
|
|
235
269
|
labelFontSize: _propTypes.default.number,
|
|
236
270
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
271
|
+
slotProps: _propTypes.default.object,
|
|
272
|
+
slots: _propTypes.default.object,
|
|
237
273
|
stroke: _propTypes.default.string,
|
|
238
274
|
tickFontSize: _propTypes.default.number,
|
|
275
|
+
tickMaxStep: _propTypes.default.number,
|
|
276
|
+
tickMinStep: _propTypes.default.number,
|
|
277
|
+
tickNumber: _propTypes.default.number,
|
|
239
278
|
tickSize: _propTypes.default.number
|
|
240
279
|
}), _propTypes.default.string]),
|
|
241
280
|
viewBox: _propTypes.default.shape({
|
|
@@ -249,44 +288,52 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
249
288
|
axisId: _propTypes.default.string,
|
|
250
289
|
classes: _propTypes.default.object,
|
|
251
290
|
data: _propTypes.default.array,
|
|
291
|
+
dataKey: _propTypes.default.string,
|
|
252
292
|
disableLine: _propTypes.default.bool,
|
|
253
293
|
disableTicks: _propTypes.default.bool,
|
|
254
294
|
fill: _propTypes.default.string,
|
|
295
|
+
hideTooltip: _propTypes.default.bool,
|
|
255
296
|
id: _propTypes.default.string,
|
|
256
297
|
label: _propTypes.default.string,
|
|
257
298
|
labelFontSize: _propTypes.default.number,
|
|
258
|
-
max: _propTypes.default.number,
|
|
259
|
-
|
|
260
|
-
min: _propTypes.default.number,
|
|
261
|
-
minTicks: _propTypes.default.number,
|
|
299
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
300
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
262
301
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
263
302
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
303
|
+
slotProps: _propTypes.default.object,
|
|
304
|
+
slots: _propTypes.default.object,
|
|
264
305
|
stroke: _propTypes.default.string,
|
|
265
306
|
tickFontSize: _propTypes.default.number,
|
|
307
|
+
tickMaxStep: _propTypes.default.number,
|
|
308
|
+
tickMinStep: _propTypes.default.number,
|
|
309
|
+
tickNumber: _propTypes.default.number,
|
|
266
310
|
tickSize: _propTypes.default.number,
|
|
267
|
-
tickSpacing: _propTypes.default.number,
|
|
268
311
|
valueFormatter: _propTypes.default.func
|
|
269
312
|
})),
|
|
270
313
|
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
271
314
|
axisId: _propTypes.default.string,
|
|
272
315
|
classes: _propTypes.default.object,
|
|
273
316
|
data: _propTypes.default.array,
|
|
317
|
+
dataKey: _propTypes.default.string,
|
|
274
318
|
disableLine: _propTypes.default.bool,
|
|
275
319
|
disableTicks: _propTypes.default.bool,
|
|
276
320
|
fill: _propTypes.default.string,
|
|
321
|
+
hideTooltip: _propTypes.default.bool,
|
|
277
322
|
id: _propTypes.default.string,
|
|
278
323
|
label: _propTypes.default.string,
|
|
279
324
|
labelFontSize: _propTypes.default.number,
|
|
280
|
-
max: _propTypes.default.number,
|
|
281
|
-
|
|
282
|
-
min: _propTypes.default.number,
|
|
283
|
-
minTicks: _propTypes.default.number,
|
|
325
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
326
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
284
327
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
285
328
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
329
|
+
slotProps: _propTypes.default.object,
|
|
330
|
+
slots: _propTypes.default.object,
|
|
286
331
|
stroke: _propTypes.default.string,
|
|
287
332
|
tickFontSize: _propTypes.default.number,
|
|
333
|
+
tickMaxStep: _propTypes.default.number,
|
|
334
|
+
tickMinStep: _propTypes.default.number,
|
|
335
|
+
tickNumber: _propTypes.default.number,
|
|
288
336
|
tickSize: _propTypes.default.number,
|
|
289
|
-
tickSpacing: _propTypes.default.number,
|
|
290
337
|
valueFormatter: _propTypes.default.func
|
|
291
338
|
}))
|
|
292
339
|
} : void 0;
|
package/PieChart/PiePlot.d.ts
CHANGED
|
@@ -1,2 +1,28 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import { PieArcProps } from './PieArc';
|
|
3
|
+
import { PieArcLabelProps } from './PieArcLabel';
|
|
4
|
+
export interface PiePlotSlotsComponent {
|
|
5
|
+
pieArc?: React.JSXElementConstructor<PieArcProps>;
|
|
6
|
+
pieArcLabel?: React.JSXElementConstructor<PieArcLabelProps>;
|
|
7
|
+
}
|
|
8
|
+
export interface PiePlotSlotComponentProps {
|
|
9
|
+
pieArc?: Partial<PieArcProps>;
|
|
10
|
+
pieArcLabel?: Partial<PieArcLabelProps>;
|
|
11
|
+
}
|
|
12
|
+
export interface PiePlotProps {
|
|
13
|
+
/**
|
|
14
|
+
* Overridable component slots.
|
|
15
|
+
* @default {}
|
|
16
|
+
*/
|
|
17
|
+
slots?: PiePlotSlotsComponent;
|
|
18
|
+
/**
|
|
19
|
+
* The props used for each component slot.
|
|
20
|
+
* @default {}
|
|
21
|
+
*/
|
|
22
|
+
slotProps?: PiePlotSlotComponentProps;
|
|
23
|
+
}
|
|
24
|
+
declare function PiePlot(props: PiePlotProps): React.JSX.Element | null;
|
|
25
|
+
declare namespace PiePlot {
|
|
26
|
+
var propTypes: any;
|
|
27
|
+
}
|
|
28
|
+
export { PiePlot };
|
package/PieChart/PiePlot.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.PiePlot = PiePlot;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
11
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
11
12
|
var _PieArc = _interopRequireDefault(require("./PieArc"));
|
|
12
13
|
var _PieArcLabel = _interopRequireDefault(require("./PieArcLabel"));
|
|
@@ -28,7 +29,11 @@ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
|
|
|
28
29
|
}
|
|
29
30
|
return arcLabel(item);
|
|
30
31
|
}
|
|
31
|
-
function PiePlot() {
|
|
32
|
+
function PiePlot(props) {
|
|
33
|
+
const {
|
|
34
|
+
slots,
|
|
35
|
+
slotProps
|
|
36
|
+
} = props;
|
|
32
37
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).pie;
|
|
33
38
|
const {
|
|
34
39
|
left,
|
|
@@ -48,6 +53,8 @@ function PiePlot() {
|
|
|
48
53
|
series,
|
|
49
54
|
seriesOrder
|
|
50
55
|
} = seriesData;
|
|
56
|
+
const Arc = slots?.pieArc ?? _PieArc.default;
|
|
57
|
+
const ArcLabel = slots?.pieArcLabel ?? _PieArcLabel.default;
|
|
51
58
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
52
59
|
children: seriesOrder.map(seriesId => {
|
|
53
60
|
const {
|
|
@@ -66,7 +73,7 @@ function PiePlot() {
|
|
|
66
73
|
transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
|
|
67
74
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
68
75
|
children: [data.map((item, index) => {
|
|
69
|
-
return /*#__PURE__*/(0, React.createElement)(
|
|
76
|
+
return /*#__PURE__*/(0, React.createElement)(Arc, (0, _extends2.default)({}, item, {
|
|
70
77
|
key: item.id,
|
|
71
78
|
innerRadius: innerRadius,
|
|
72
79
|
outerRadius: outerRadius ?? availableRadius,
|
|
@@ -77,9 +84,9 @@ function PiePlot() {
|
|
|
77
84
|
highlightScope: series[seriesId].highlightScope,
|
|
78
85
|
highlighted: highlighted,
|
|
79
86
|
faded: faded
|
|
80
|
-
}));
|
|
87
|
+
}, slotProps?.pieArc));
|
|
81
88
|
}), data.map((item, index) => {
|
|
82
|
-
return /*#__PURE__*/(0, React.createElement)(
|
|
89
|
+
return /*#__PURE__*/(0, React.createElement)(ArcLabel, (0, _extends2.default)({}, item, {
|
|
83
90
|
key: item.id,
|
|
84
91
|
innerRadius: innerRadius,
|
|
85
92
|
outerRadius: outerRadius ?? availableRadius,
|
|
@@ -89,10 +96,26 @@ function PiePlot() {
|
|
|
89
96
|
dataIndex: index,
|
|
90
97
|
highlightScope: series[seriesId].highlightScope,
|
|
91
98
|
formattedArcLabel: getItemLabel(arcLabel, arcLabelMinAngle, item)
|
|
92
|
-
}));
|
|
99
|
+
}, slotProps?.pieArcLabel));
|
|
93
100
|
})]
|
|
94
101
|
})
|
|
95
102
|
}, seriesId);
|
|
96
103
|
})
|
|
97
104
|
});
|
|
98
|
-
}
|
|
105
|
+
}
|
|
106
|
+
process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
|
|
107
|
+
// ----------------------------- Warning --------------------------------
|
|
108
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
109
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
110
|
+
// ----------------------------------------------------------------------
|
|
111
|
+
/**
|
|
112
|
+
* The props used for each component slot.
|
|
113
|
+
* @default {}
|
|
114
|
+
*/
|
|
115
|
+
slotProps: _propTypes.default.object,
|
|
116
|
+
/**
|
|
117
|
+
* Overridable component slots.
|
|
118
|
+
* @default {}
|
|
119
|
+
*/
|
|
120
|
+
slots: _propTypes.default.object
|
|
121
|
+
} : void 0;
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { ScatterPlotSlotComponentProps, ScatterPlotSlotsComponent } from './ScatterPlot';
|
|
2
3
|
import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
|
|
3
4
|
import { ChartsAxisProps } from '../ChartsAxis';
|
|
4
5
|
import { ScatterSeriesType } from '../models/seriesType/scatter';
|
|
5
6
|
import { MakeOptional } from '../models/helpers';
|
|
6
7
|
import { ChartsTooltipProps } from '../ChartsTooltip';
|
|
7
|
-
import { ChartsLegendProps } from '../ChartsLegend';
|
|
8
|
+
import { ChartsLegendProps, ChartsLegendSlotComponentProps, ChartsLegendSlotsComponent } from '../ChartsLegend';
|
|
8
9
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
9
|
-
|
|
10
|
+
import { ChartsAxisSlotsComponent, ChartsAxisSlotComponentProps } from '../models/axis';
|
|
11
|
+
export interface ScatterChartSlotsComponent extends ChartsAxisSlotsComponent, ScatterPlotSlotsComponent, ChartsLegendSlotsComponent {
|
|
12
|
+
}
|
|
13
|
+
export interface ScatterChartSlotComponentProps extends ChartsAxisSlotComponentProps, ScatterPlotSlotComponentProps, ChartsLegendSlotComponentProps {
|
|
14
|
+
}
|
|
15
|
+
export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'> {
|
|
10
16
|
series: MakeOptional<ScatterSeriesType, 'type'>[];
|
|
11
17
|
tooltip?: ChartsTooltipProps;
|
|
12
18
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
13
19
|
legend?: ChartsLegendProps;
|
|
20
|
+
/**
|
|
21
|
+
* Overridable component slots.
|
|
22
|
+
* @default {}
|
|
23
|
+
*/
|
|
24
|
+
slots?: ScatterChartSlotsComponent;
|
|
25
|
+
/**
|
|
26
|
+
* The props used for each component slot.
|
|
27
|
+
* @default {}
|
|
28
|
+
*/
|
|
29
|
+
slotProps?: ScatterChartSlotComponentProps;
|
|
14
30
|
}
|
|
15
31
|
declare const ScatterChart: React.ForwardRefExoticComponent<ScatterChartProps & React.RefAttributes<unknown>>;
|
|
16
32
|
export { ScatterChart };
|