@mui/x-charts 6.0.0-alpha.9 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChart/BarChart.d.ts +19 -5
- package/BarChart/BarChart.js +52 -13
- package/BarChart/BarElement.d.ts +1319 -4
- package/BarChart/BarElement.js +10 -10
- package/BarChart/BarPlot.d.ts +17 -1
- package/BarChart/BarPlot.js +152 -66
- package/BarChart/formatter.js +2 -3
- package/BarChart/legend.js +1 -2
- package/CHANGELOG.md +735 -55
- package/ChartContainer/index.js +7 -5
- package/ChartsAxis/ChartsAxis.d.ts +9 -0
- package/ChartsAxis/ChartsAxis.js +28 -2
- package/ChartsAxis/axisClasses.d.ts +1 -1
- package/ChartsAxis/axisClasses.js +1 -2
- package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +21 -0
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +61 -22
- package/ChartsClipPath/ChartsClipPath.d.ts +5 -0
- package/ChartsClipPath/ChartsClipPath.js +7 -2
- package/ChartsLegend/ChartsLegend.d.ts +44 -24
- package/ChartsLegend/ChartsLegend.js +192 -150
- package/ChartsLegend/chartsLegendClasses.js +1 -2
- package/ChartsLegend/utils.d.ts +1 -6
- package/ChartsSurface.d.ts +1 -1
- package/ChartsSurface.js +9 -18
- package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
- package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
- package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
- package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
- package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
- package/ChartsTooltip/ChartsTooltip.js +62 -18
- package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
- package/ChartsTooltip/ChartsTooltipTable.js +22 -20
- package/ChartsTooltip/tooltipClasses.js +1 -2
- package/ChartsTooltip/utils.js +2 -2
- package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
- package/ChartsXAxis/ChartsXAxis.js +161 -40
- package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
- package/ChartsYAxis/ChartsYAxis.js +86 -33
- package/LineChart/AreaElement.d.ts +11 -1
- package/LineChart/AreaElement.js +14 -6
- package/LineChart/AreaPlot.d.ts +11 -0
- package/LineChart/AreaPlot.js +27 -8
- package/LineChart/LineChart.d.ts +16 -3
- package/LineChart/LineChart.js +48 -13
- package/LineChart/LineElement.d.ts +11 -1
- package/LineChart/LineElement.js +14 -6
- package/LineChart/LineHighlightElement.d.ts +10 -0
- package/LineChart/LineHighlightElement.js +13 -4
- package/LineChart/LineHighlightPlot.d.ts +10 -0
- package/LineChart/LineHighlightPlot.js +14 -3
- package/LineChart/LinePlot.d.ts +10 -0
- package/LineChart/LinePlot.js +25 -12
- package/LineChart/MarkElement.d.ts +10 -0
- package/LineChart/MarkElement.js +14 -5
- package/LineChart/MarkPlot.d.ts +10 -0
- package/LineChart/MarkPlot.js +40 -9
- package/LineChart/formatter.js +5 -5
- package/LineChart/legend.js +1 -2
- package/PieChart/PieArc.d.ts +11 -13
- package/PieChart/PieArc.js +28 -60
- package/PieChart/PieArcLabel.d.ts +8 -9
- package/PieChart/PieArcLabel.js +46 -38
- package/PieChart/PieArcLabelPlot.d.ts +28 -0
- package/PieChart/PieArcLabelPlot.js +99 -0
- package/PieChart/PieArcPlot.d.ts +35 -0
- package/PieChart/PieArcPlot.js +92 -0
- package/PieChart/PieChart.d.ts +19 -5
- package/PieChart/PieChart.js +61 -14
- package/PieChart/PiePlot.d.ts +15 -9
- package/PieChart/PiePlot.js +77 -55
- package/PieChart/dataTransform/transition.d.ts +4 -0
- package/PieChart/dataTransform/transition.js +136 -0
- package/PieChart/dataTransform/useTransformData.d.ts +15 -0
- package/PieChart/dataTransform/useTransformData.js +67 -0
- package/PieChart/formatter.js +1 -2
- package/PieChart/legend.js +1 -2
- package/README.md +8 -14
- package/ResponsiveChartContainer/index.js +7 -8
- package/ScatterChart/Scatter.d.ts +10 -0
- package/ScatterChart/Scatter.js +12 -2
- package/ScatterChart/ScatterChart.d.ts +16 -3
- package/ScatterChart/ScatterChart.js +43 -12
- package/ScatterChart/ScatterPlot.d.ts +10 -0
- package/ScatterChart/ScatterPlot.js +12 -2
- package/ScatterChart/formatter.js +1 -2
- package/ScatterChart/legend.js +1 -2
- package/SparkLineChart/SparkLineChart.d.ts +12 -3
- package/SparkLineChart/SparkLineChart.js +28 -7
- package/colorPalettes/colorPalettes.js +6 -12
- package/constants.js +5 -8
- package/context/CartesianContextProvider.d.ts +5 -0
- package/context/CartesianContextProvider.js +31 -16
- package/context/DrawingProvider.d.ts +7 -0
- package/context/DrawingProvider.js +12 -6
- package/context/HighlightProvider.js +3 -4
- package/context/InteractionProvider.js +3 -4
- package/context/SeriesContextProvider.js +3 -4
- package/esm/BarChart/BarChart.js +49 -9
- package/esm/BarChart/BarElement.js +7 -4
- package/esm/BarChart/BarPlot.js +152 -67
- package/esm/BarChart/formatter.js +1 -1
- package/esm/ChartContainer/index.js +3 -0
- package/esm/ChartsAxis/ChartsAxis.js +26 -0
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
- package/esm/ChartsLegend/ChartsLegend.js +188 -142
- package/esm/ChartsSurface.js +4 -12
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
- package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
- package/esm/ChartsXAxis/ChartsXAxis.js +158 -37
- package/esm/ChartsYAxis/ChartsYAxis.js +83 -30
- package/esm/LineChart/AreaElement.js +10 -0
- package/esm/LineChart/AreaPlot.js +26 -6
- package/esm/LineChart/LineChart.js +45 -9
- package/esm/LineChart/LineElement.js +10 -0
- package/esm/LineChart/LineHighlightElement.js +10 -0
- package/esm/LineChart/LineHighlightPlot.js +12 -1
- package/esm/LineChart/LinePlot.js +25 -14
- package/esm/LineChart/MarkElement.js +11 -1
- package/esm/LineChart/MarkPlot.js +38 -7
- package/esm/LineChart/formatter.js +7 -3
- package/esm/PieChart/PieArc.js +26 -58
- package/esm/PieChart/PieArcLabel.js +43 -34
- package/esm/PieChart/PieArcLabelPlot.js +92 -0
- package/esm/PieChart/PieArcPlot.js +84 -0
- package/esm/PieChart/PieChart.js +59 -12
- package/esm/PieChart/PiePlot.js +76 -57
- package/esm/PieChart/dataTransform/transition.js +130 -0
- package/esm/PieChart/dataTransform/useTransformData.js +59 -0
- package/esm/ResponsiveChartContainer/index.js +3 -3
- package/esm/ScatterChart/Scatter.js +10 -0
- package/esm/ScatterChart/ScatterChart.js +40 -8
- package/esm/ScatterChart/ScatterPlot.js +10 -0
- package/esm/SparkLineChart/SparkLineChart.js +25 -3
- package/esm/constants.js +1 -1
- package/esm/context/CartesianContextProvider.js +30 -14
- package/esm/context/DrawingProvider.js +8 -0
- package/esm/hooks/useChartDimensions.js +2 -0
- package/esm/hooks/useMounted.js +16 -0
- package/esm/hooks/useReducedMotion.js +27 -0
- package/esm/hooks/useTicks.js +15 -9
- package/esm/internals/components/AxisSharedComponents.js +15 -70
- package/esm/internals/components/ChartsText.js +77 -0
- package/esm/internals/domUtils.js +113 -0
- package/esm/internals/geometry.js +36 -0
- package/hooks/useAxisEvents.js +2 -2
- package/hooks/useChartDimensions.d.ts +2 -0
- package/hooks/useChartDimensions.js +5 -4
- package/hooks/useDrawingArea.js +2 -2
- package/hooks/useInteractionItemProps.js +2 -2
- package/hooks/useMounted.d.ts +1 -0
- package/hooks/useMounted.js +25 -0
- package/hooks/useReducedMotion.d.ts +8 -0
- package/hooks/useReducedMotion.js +33 -0
- package/hooks/useScale.d.ts +2 -2
- package/hooks/useScale.js +2 -2
- package/hooks/useTicks.d.ts +19 -11
- package/hooks/useTicks.js +19 -14
- package/index.js +1 -1
- package/internals/components/AxisSharedComponents.d.ts +0 -4
- package/internals/components/AxisSharedComponents.js +18 -78
- package/internals/components/ChartsText.d.ts +35 -0
- package/internals/components/ChartsText.js +87 -0
- package/internals/defaultizeColor.d.ts +7 -2
- package/internals/defaultizeValueFormatter.js +1 -2
- package/internals/domUtils.d.ts +13 -0
- package/internals/domUtils.js +122 -0
- package/internals/geometry.d.ts +9 -0
- package/internals/geometry.js +42 -0
- package/internals/stackSeries.js +2 -4
- package/legacy/BarChart/BarChart.js +49 -9
- package/legacy/BarChart/BarElement.js +6 -3
- package/legacy/BarChart/BarPlot.js +151 -63
- package/legacy/BarChart/formatter.js +1 -1
- package/legacy/ChartContainer/index.js +3 -0
- package/legacy/ChartsAxis/ChartsAxis.js +26 -0
- package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
- package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
- package/legacy/ChartsLegend/ChartsLegend.js +203 -140
- package/legacy/ChartsSurface.js +3 -12
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
- package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
- package/legacy/ChartsXAxis/ChartsXAxis.js +162 -39
- package/legacy/ChartsYAxis/ChartsYAxis.js +83 -30
- package/legacy/LineChart/AreaElement.js +10 -0
- package/legacy/LineChart/AreaPlot.js +31 -7
- package/legacy/LineChart/LineChart.js +45 -9
- package/legacy/LineChart/LineElement.js +10 -0
- package/legacy/LineChart/LineHighlightElement.js +10 -0
- package/legacy/LineChart/LineHighlightPlot.js +12 -1
- package/legacy/LineChart/LinePlot.js +29 -12
- package/legacy/LineChart/MarkElement.js +11 -1
- package/legacy/LineChart/MarkPlot.js +37 -7
- package/legacy/LineChart/formatter.js +7 -3
- package/legacy/PieChart/PieArc.js +30 -62
- package/legacy/PieChart/PieArcLabel.js +48 -34
- package/legacy/PieChart/PieArcLabelPlot.js +93 -0
- package/legacy/PieChart/PieArcPlot.js +84 -0
- package/legacy/PieChart/PieChart.js +59 -12
- package/legacy/PieChart/PiePlot.js +76 -59
- package/legacy/PieChart/dataTransform/transition.js +142 -0
- package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
- package/legacy/ResponsiveChartContainer/index.js +3 -3
- package/legacy/ScatterChart/Scatter.js +10 -0
- package/legacy/ScatterChart/ScatterChart.js +40 -8
- package/legacy/ScatterChart/ScatterPlot.js +10 -0
- package/legacy/SparkLineChart/SparkLineChart.js +25 -3
- package/legacy/constants.js +1 -1
- package/legacy/context/CartesianContextProvider.js +30 -14
- package/legacy/context/DrawingProvider.js +8 -0
- package/legacy/hooks/useChartDimensions.js +2 -0
- package/legacy/hooks/useMounted.js +21 -0
- package/legacy/hooks/useReducedMotion.js +27 -0
- package/legacy/hooks/useTicks.js +16 -9
- package/legacy/index.js +1 -1
- package/legacy/internals/components/AxisSharedComponents.js +11 -65
- package/legacy/internals/components/ChartsText.js +79 -0
- package/legacy/internals/domUtils.js +121 -0
- package/legacy/internals/geometry.js +37 -0
- package/models/axis.d.ts +27 -9
- package/models/layout.d.ts +7 -6
- package/models/seriesType/line.d.ts +8 -3
- package/models/seriesType/pie.d.ts +5 -1
- package/modern/BarChart/BarChart.js +49 -9
- package/modern/BarChart/BarElement.js +7 -4
- package/modern/BarChart/BarPlot.js +149 -65
- package/modern/BarChart/formatter.js +1 -1
- package/modern/ChartContainer/index.js +3 -0
- package/modern/ChartsAxis/ChartsAxis.js +26 -0
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
- package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
- package/modern/ChartsLegend/ChartsLegend.js +188 -142
- package/modern/ChartsSurface.js +4 -12
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
- package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
- package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
- package/modern/ChartsXAxis/ChartsXAxis.js +158 -37
- package/modern/ChartsYAxis/ChartsYAxis.js +83 -30
- package/modern/LineChart/AreaElement.js +10 -0
- package/modern/LineChart/AreaPlot.js +25 -6
- package/modern/LineChart/LineChart.js +45 -9
- package/modern/LineChart/LineElement.js +10 -0
- package/modern/LineChart/LineHighlightElement.js +10 -0
- package/modern/LineChart/LineHighlightPlot.js +12 -1
- package/modern/LineChart/LinePlot.js +23 -10
- package/modern/LineChart/MarkElement.js +11 -1
- package/modern/LineChart/MarkPlot.js +38 -7
- package/modern/LineChart/formatter.js +4 -3
- package/modern/PieChart/PieArc.js +26 -57
- package/modern/PieChart/PieArcLabel.js +43 -34
- package/modern/PieChart/PieArcLabelPlot.js +90 -0
- package/modern/PieChart/PieArcPlot.js +83 -0
- package/modern/PieChart/PieChart.js +59 -12
- package/modern/PieChart/PiePlot.js +76 -55
- package/modern/PieChart/dataTransform/transition.js +130 -0
- package/modern/PieChart/dataTransform/useTransformData.js +58 -0
- package/modern/ResponsiveChartContainer/index.js +3 -3
- package/modern/ScatterChart/Scatter.js +10 -0
- package/modern/ScatterChart/ScatterChart.js +40 -8
- package/modern/ScatterChart/ScatterPlot.js +10 -0
- package/modern/SparkLineChart/SparkLineChart.js +25 -3
- package/modern/constants.js +1 -1
- package/modern/context/CartesianContextProvider.js +29 -13
- package/modern/context/DrawingProvider.js +8 -0
- package/modern/hooks/useChartDimensions.js +2 -0
- package/modern/hooks/useMounted.js +16 -0
- package/modern/hooks/useReducedMotion.js +27 -0
- package/modern/hooks/useTicks.js +15 -9
- package/modern/index.js +1 -1
- package/modern/internals/components/AxisSharedComponents.js +15 -70
- package/modern/internals/components/ChartsText.js +77 -0
- package/modern/internals/domUtils.js +113 -0
- package/modern/internals/geometry.js +36 -0
- package/package.json +9 -6
- package/themeAugmentation/components.d.ts +1 -0
- package/themeAugmentation/overrides.d.ts +2 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PieArcProps } from './PieArc';
|
|
3
|
+
import { DefaultizedPieSeriesType, DefaultizedPieValueType, PieItemIdentifier } from '../models/seriesType/pie';
|
|
4
|
+
import { DefaultizedProps } from '../models/helpers';
|
|
5
|
+
export interface PieArcPlotSlotsComponent {
|
|
6
|
+
pieArc?: React.JSXElementConstructor<PieArcProps>;
|
|
7
|
+
}
|
|
8
|
+
export interface PieArcPlotSlotComponentProps {
|
|
9
|
+
pieArc?: Partial<PieArcProps>;
|
|
10
|
+
}
|
|
11
|
+
export interface PieArcPlotProps extends DefaultizedProps<Pick<DefaultizedPieSeriesType, 'data' | 'faded' | 'highlighted' | 'innerRadius' | 'outerRadius' | 'cornerRadius' | 'paddingAngle' | 'id' | 'highlightScope'>, 'outerRadius'> {
|
|
12
|
+
/**
|
|
13
|
+
* Overridable component slots.
|
|
14
|
+
* @default {}
|
|
15
|
+
*/
|
|
16
|
+
slots?: PieArcPlotSlotsComponent;
|
|
17
|
+
/**
|
|
18
|
+
* The props used for each component slot.
|
|
19
|
+
* @default {}
|
|
20
|
+
*/
|
|
21
|
+
slotProps?: PieArcPlotSlotComponentProps;
|
|
22
|
+
/**
|
|
23
|
+
* Callback fired when a pie item is clicked.
|
|
24
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
25
|
+
* @param {PieItemIdentifier} pieItemIdentifier The pie item identifier.
|
|
26
|
+
* @param {DefaultizedPieValueType} item The pie item.
|
|
27
|
+
*/
|
|
28
|
+
onClick?: (event: React.MouseEvent<SVGPathElement, MouseEvent>, pieItemIdentifier: PieItemIdentifier, item: DefaultizedPieValueType) => void;
|
|
29
|
+
/**
|
|
30
|
+
* If `true`, animations are skiped.
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
skipAnimation?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function PieArcPlot(props: PieArcPlotProps): React.JSX.Element | null;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.PieArcPlot = PieArcPlot;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _web = require("@react-spring/web");
|
|
12
|
+
var _PieArc = _interopRequireDefault(require("./PieArc"));
|
|
13
|
+
var _transition = require("./dataTransform/transition");
|
|
14
|
+
var _useTransformData = require("./dataTransform/useTransformData");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "onClick", "skipAnimation"],
|
|
17
|
+
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "cornerRadius"];
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
function PieArcPlot(props) {
|
|
21
|
+
const {
|
|
22
|
+
slots,
|
|
23
|
+
slotProps,
|
|
24
|
+
innerRadius = 0,
|
|
25
|
+
outerRadius,
|
|
26
|
+
cornerRadius = 0,
|
|
27
|
+
paddingAngle = 0,
|
|
28
|
+
id,
|
|
29
|
+
highlightScope,
|
|
30
|
+
highlighted,
|
|
31
|
+
faded = {
|
|
32
|
+
additionalRadius: -5
|
|
33
|
+
},
|
|
34
|
+
data,
|
|
35
|
+
onClick,
|
|
36
|
+
skipAnimation
|
|
37
|
+
} = props,
|
|
38
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
39
|
+
const transformedData = (0, _useTransformData.useTransformData)({
|
|
40
|
+
innerRadius,
|
|
41
|
+
outerRadius,
|
|
42
|
+
cornerRadius,
|
|
43
|
+
paddingAngle,
|
|
44
|
+
id,
|
|
45
|
+
highlightScope,
|
|
46
|
+
highlighted,
|
|
47
|
+
faded,
|
|
48
|
+
data
|
|
49
|
+
});
|
|
50
|
+
const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultTransitionConfig, {
|
|
51
|
+
immediate: skipAnimation
|
|
52
|
+
}));
|
|
53
|
+
if (data.length === 0) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const Arc = slots?.pieArc ?? _PieArc.default;
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
58
|
+
children: transition((_ref, item, _, index) => {
|
|
59
|
+
let {
|
|
60
|
+
startAngle,
|
|
61
|
+
endAngle,
|
|
62
|
+
paddingAngle: pA,
|
|
63
|
+
innerRadius: iR,
|
|
64
|
+
outerRadius: oR,
|
|
65
|
+
cornerRadius: cR
|
|
66
|
+
} = _ref,
|
|
67
|
+
style = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Arc, (0, _extends2.default)({
|
|
69
|
+
startAngle: startAngle,
|
|
70
|
+
endAngle: endAngle,
|
|
71
|
+
paddingAngle: pA,
|
|
72
|
+
innerRadius: iR,
|
|
73
|
+
outerRadius: oR,
|
|
74
|
+
cornerRadius: cR,
|
|
75
|
+
style: style,
|
|
76
|
+
id: id,
|
|
77
|
+
color: item.color,
|
|
78
|
+
dataIndex: index,
|
|
79
|
+
highlightScope: highlightScope,
|
|
80
|
+
isFaded: item.isFaded,
|
|
81
|
+
isHighlighted: item.isHighlighted,
|
|
82
|
+
onClick: onClick && (event => {
|
|
83
|
+
onClick(event, {
|
|
84
|
+
type: 'pie',
|
|
85
|
+
seriesId: id,
|
|
86
|
+
dataIndex: index
|
|
87
|
+
}, item);
|
|
88
|
+
})
|
|
89
|
+
}, slotProps?.pieArc));
|
|
90
|
+
})
|
|
91
|
+
}));
|
|
92
|
+
}
|
package/PieChart/PieChart.d.ts
CHANGED
|
@@ -3,21 +3,25 @@ import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
|
|
|
3
3
|
import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
|
|
4
4
|
import { PieSeriesType } from '../models/seriesType';
|
|
5
5
|
import { MakeOptional } from '../models/helpers';
|
|
6
|
-
import { ChartsTooltipProps } from '../ChartsTooltip';
|
|
6
|
+
import { ChartsTooltipProps, ChartsTooltipSlotComponentProps, ChartsTooltipSlotsComponent } from '../ChartsTooltip';
|
|
7
7
|
import { ChartsLegendProps, ChartsLegendSlotComponentProps, ChartsLegendSlotsComponent } from '../ChartsLegend';
|
|
8
8
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
9
|
-
import { PiePlotSlotComponentProps, PiePlotSlotsComponent } from './PiePlot';
|
|
9
|
+
import { PiePlotProps, PiePlotSlotComponentProps, PiePlotSlotsComponent } from './PiePlot';
|
|
10
10
|
import { PieValueType } from '../models/seriesType/pie';
|
|
11
11
|
import { ChartsAxisSlotsComponent, ChartsAxisSlotComponentProps } from '../models/axis';
|
|
12
|
-
export interface PieChartSlotsComponent extends ChartsAxisSlotsComponent, PiePlotSlotsComponent, ChartsLegendSlotsComponent {
|
|
12
|
+
export interface PieChartSlotsComponent extends ChartsAxisSlotsComponent, PiePlotSlotsComponent, ChartsLegendSlotsComponent, ChartsTooltipSlotsComponent {
|
|
13
13
|
}
|
|
14
|
-
export interface PieChartSlotComponentProps extends ChartsAxisSlotComponentProps, PiePlotSlotComponentProps, ChartsLegendSlotComponentProps {
|
|
14
|
+
export interface PieChartSlotComponentProps extends ChartsAxisSlotComponentProps, PiePlotSlotComponentProps, ChartsLegendSlotComponentProps, ChartsTooltipSlotComponentProps {
|
|
15
15
|
}
|
|
16
|
-
export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'> {
|
|
16
|
+
export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Pick<PiePlotProps, 'skipAnimation'> {
|
|
17
17
|
series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
|
|
18
18
|
tooltip?: ChartsTooltipProps;
|
|
19
19
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated Consider using `slotProps.legend` instead.
|
|
22
|
+
*/
|
|
20
23
|
legend?: ChartsLegendProps;
|
|
24
|
+
onClick?: PiePlotProps['onClick'];
|
|
21
25
|
slots?: PieChartSlotsComponent;
|
|
22
26
|
/**
|
|
23
27
|
* The props used for each component slot.
|
|
@@ -25,6 +29,16 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
|
|
|
25
29
|
*/
|
|
26
30
|
slotProps?: PieChartSlotComponentProps;
|
|
27
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Demos:
|
|
34
|
+
*
|
|
35
|
+
* - [Pie](https://mui.com/x/react-charts/pie/)
|
|
36
|
+
* - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
|
|
37
|
+
*
|
|
38
|
+
* API:
|
|
39
|
+
*
|
|
40
|
+
* - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
|
|
41
|
+
*/
|
|
28
42
|
declare function PieChart(props: PieChartProps): React.JSX.Element;
|
|
29
43
|
declare namespace PieChart {
|
|
30
44
|
var propTypes: any;
|
package/PieChart/PieChart.js
CHANGED
|
@@ -16,14 +16,25 @@ var _ChartsLegend = require("../ChartsLegend");
|
|
|
16
16
|
var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
|
|
17
17
|
var _PiePlot = require("./PiePlot");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
function _getRequireWildcardCache(
|
|
20
|
-
function _interopRequireWildcard(
|
|
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
21
|
const defaultMargin = {
|
|
22
22
|
top: 5,
|
|
23
23
|
bottom: 5,
|
|
24
24
|
left: 5,
|
|
25
25
|
right: 100
|
|
26
26
|
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Demos:
|
|
30
|
+
*
|
|
31
|
+
* - [Pie](https://mui.com/x/react-charts/pie/)
|
|
32
|
+
* - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
|
|
33
|
+
*
|
|
34
|
+
* API:
|
|
35
|
+
*
|
|
36
|
+
* - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
|
|
37
|
+
*/
|
|
27
38
|
function PieChart(props) {
|
|
28
39
|
const {
|
|
29
40
|
xAxis,
|
|
@@ -41,6 +52,7 @@ function PieChart(props) {
|
|
|
41
52
|
x: 'none',
|
|
42
53
|
y: 'none'
|
|
43
54
|
},
|
|
55
|
+
skipAnimation,
|
|
44
56
|
legend = {
|
|
45
57
|
direction: 'column',
|
|
46
58
|
position: {
|
|
@@ -54,7 +66,8 @@ function PieChart(props) {
|
|
|
54
66
|
bottomAxis = null,
|
|
55
67
|
children,
|
|
56
68
|
slots,
|
|
57
|
-
slotProps
|
|
69
|
+
slotProps,
|
|
70
|
+
onClick
|
|
58
71
|
} = props;
|
|
59
72
|
const margin = (0, _extends2.default)({}, defaultMargin, marginProps);
|
|
60
73
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
|
|
@@ -82,7 +95,9 @@ function PieChart(props) {
|
|
|
82
95
|
slotProps: slotProps
|
|
83
96
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PiePlot.PiePlot, {
|
|
84
97
|
slots: slots,
|
|
85
|
-
slotProps: slotProps
|
|
98
|
+
slotProps: slotProps,
|
|
99
|
+
onClick: onClick,
|
|
100
|
+
skipAnimation: skipAnimation
|
|
86
101
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
|
|
87
102
|
slots: slots,
|
|
88
103
|
slotProps: slotProps
|
|
@@ -111,11 +126,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
111
126
|
fill: _propTypes.default.string,
|
|
112
127
|
label: _propTypes.default.string,
|
|
113
128
|
labelFontSize: _propTypes.default.number,
|
|
129
|
+
labelStyle: _propTypes.default.object,
|
|
114
130
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
115
131
|
slotProps: _propTypes.default.object,
|
|
116
132
|
slots: _propTypes.default.object,
|
|
117
133
|
stroke: _propTypes.default.string,
|
|
118
134
|
tickFontSize: _propTypes.default.number,
|
|
135
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
136
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
137
|
+
tickLabelStyle: _propTypes.default.object,
|
|
119
138
|
tickMaxStep: _propTypes.default.number,
|
|
120
139
|
tickMinStep: _propTypes.default.number,
|
|
121
140
|
tickNumber: _propTypes.default.number,
|
|
@@ -144,33 +163,33 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
144
163
|
fill: _propTypes.default.string,
|
|
145
164
|
label: _propTypes.default.string,
|
|
146
165
|
labelFontSize: _propTypes.default.number,
|
|
166
|
+
labelStyle: _propTypes.default.object,
|
|
147
167
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
148
168
|
slotProps: _propTypes.default.object,
|
|
149
169
|
slots: _propTypes.default.object,
|
|
150
170
|
stroke: _propTypes.default.string,
|
|
151
171
|
tickFontSize: _propTypes.default.number,
|
|
172
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
173
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
174
|
+
tickLabelStyle: _propTypes.default.object,
|
|
152
175
|
tickMaxStep: _propTypes.default.number,
|
|
153
176
|
tickMinStep: _propTypes.default.number,
|
|
154
177
|
tickNumber: _propTypes.default.number,
|
|
155
178
|
tickSize: _propTypes.default.number
|
|
156
179
|
}), _propTypes.default.string]),
|
|
180
|
+
/**
|
|
181
|
+
* @deprecated Consider using `slotProps.legend` instead.
|
|
182
|
+
*/
|
|
157
183
|
legend: _propTypes.default.shape({
|
|
158
184
|
classes: _propTypes.default.object,
|
|
159
185
|
direction: _propTypes.default.oneOf(['column', 'row']),
|
|
160
186
|
hidden: _propTypes.default.bool,
|
|
161
|
-
itemWidth: _propTypes.default.number,
|
|
162
|
-
markSize: _propTypes.default.number,
|
|
163
|
-
offset: _propTypes.default.shape({
|
|
164
|
-
x: _propTypes.default.number,
|
|
165
|
-
y: _propTypes.default.number
|
|
166
|
-
}),
|
|
167
187
|
position: _propTypes.default.shape({
|
|
168
188
|
horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
|
|
169
189
|
vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
170
190
|
}),
|
|
171
191
|
slotProps: _propTypes.default.object,
|
|
172
|
-
slots: _propTypes.default.object
|
|
173
|
-
spacing: _propTypes.default.number
|
|
192
|
+
slots: _propTypes.default.object
|
|
174
193
|
}),
|
|
175
194
|
margin: _propTypes.default.shape({
|
|
176
195
|
bottom: _propTypes.default.number,
|
|
@@ -178,6 +197,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
178
197
|
right: _propTypes.default.number,
|
|
179
198
|
top: _propTypes.default.number
|
|
180
199
|
}),
|
|
200
|
+
onClick: _propTypes.default.func,
|
|
181
201
|
/**
|
|
182
202
|
* Indicate which axis to display the right of the charts.
|
|
183
203
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
@@ -191,11 +211,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
191
211
|
fill: _propTypes.default.string,
|
|
192
212
|
label: _propTypes.default.string,
|
|
193
213
|
labelFontSize: _propTypes.default.number,
|
|
214
|
+
labelStyle: _propTypes.default.object,
|
|
194
215
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
195
216
|
slotProps: _propTypes.default.object,
|
|
196
217
|
slots: _propTypes.default.object,
|
|
197
218
|
stroke: _propTypes.default.string,
|
|
198
219
|
tickFontSize: _propTypes.default.number,
|
|
220
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
221
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
222
|
+
tickLabelStyle: _propTypes.default.object,
|
|
199
223
|
tickMaxStep: _propTypes.default.number,
|
|
200
224
|
tickMinStep: _propTypes.default.number,
|
|
201
225
|
tickNumber: _propTypes.default.number,
|
|
@@ -217,15 +241,19 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
217
241
|
endAngle: _propTypes.default.number,
|
|
218
242
|
faded: _propTypes.default.shape({
|
|
219
243
|
additionalRadius: _propTypes.default.number,
|
|
244
|
+
color: _propTypes.default.string,
|
|
220
245
|
cornerRadius: _propTypes.default.number,
|
|
221
246
|
innerRadius: _propTypes.default.number,
|
|
222
|
-
outerRadius: _propTypes.default.number
|
|
247
|
+
outerRadius: _propTypes.default.number,
|
|
248
|
+
paddingAngle: _propTypes.default.number
|
|
223
249
|
}),
|
|
224
250
|
highlighted: _propTypes.default.shape({
|
|
225
251
|
additionalRadius: _propTypes.default.number,
|
|
252
|
+
color: _propTypes.default.string,
|
|
226
253
|
cornerRadius: _propTypes.default.number,
|
|
227
254
|
innerRadius: _propTypes.default.number,
|
|
228
|
-
outerRadius: _propTypes.default.number
|
|
255
|
+
outerRadius: _propTypes.default.number,
|
|
256
|
+
paddingAngle: _propTypes.default.number
|
|
229
257
|
}),
|
|
230
258
|
highlightScope: _propTypes.default.shape({
|
|
231
259
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
@@ -240,6 +268,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
240
268
|
type: _propTypes.default.oneOf(['pie']),
|
|
241
269
|
valueFormatter: _propTypes.default.func
|
|
242
270
|
})).isRequired,
|
|
271
|
+
/**
|
|
272
|
+
* If `true`, animations are skiped.
|
|
273
|
+
* @default false
|
|
274
|
+
*/
|
|
275
|
+
skipAnimation: _propTypes.default.bool,
|
|
243
276
|
/**
|
|
244
277
|
* The props used for each component slot.
|
|
245
278
|
* @default {}
|
|
@@ -252,6 +285,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
252
285
|
axisContent: _propTypes.default.elementType,
|
|
253
286
|
classes: _propTypes.default.object,
|
|
254
287
|
itemContent: _propTypes.default.elementType,
|
|
288
|
+
slotProps: _propTypes.default.object,
|
|
289
|
+
slots: _propTypes.default.object,
|
|
255
290
|
trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
|
|
256
291
|
}),
|
|
257
292
|
/**
|
|
@@ -267,11 +302,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
267
302
|
fill: _propTypes.default.string,
|
|
268
303
|
label: _propTypes.default.string,
|
|
269
304
|
labelFontSize: _propTypes.default.number,
|
|
305
|
+
labelStyle: _propTypes.default.object,
|
|
270
306
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
271
307
|
slotProps: _propTypes.default.object,
|
|
272
308
|
slots: _propTypes.default.object,
|
|
273
309
|
stroke: _propTypes.default.string,
|
|
274
310
|
tickFontSize: _propTypes.default.number,
|
|
311
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
312
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
313
|
+
tickLabelStyle: _propTypes.default.object,
|
|
275
314
|
tickMaxStep: _propTypes.default.number,
|
|
276
315
|
tickMinStep: _propTypes.default.number,
|
|
277
316
|
tickNumber: _propTypes.default.number,
|
|
@@ -296,6 +335,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
296
335
|
id: _propTypes.default.string,
|
|
297
336
|
label: _propTypes.default.string,
|
|
298
337
|
labelFontSize: _propTypes.default.number,
|
|
338
|
+
labelStyle: _propTypes.default.object,
|
|
299
339
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
300
340
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
301
341
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -304,6 +344,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
304
344
|
slots: _propTypes.default.object,
|
|
305
345
|
stroke: _propTypes.default.string,
|
|
306
346
|
tickFontSize: _propTypes.default.number,
|
|
347
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
348
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
349
|
+
tickLabelStyle: _propTypes.default.object,
|
|
307
350
|
tickMaxStep: _propTypes.default.number,
|
|
308
351
|
tickMinStep: _propTypes.default.number,
|
|
309
352
|
tickNumber: _propTypes.default.number,
|
|
@@ -322,6 +365,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
322
365
|
id: _propTypes.default.string,
|
|
323
366
|
label: _propTypes.default.string,
|
|
324
367
|
labelFontSize: _propTypes.default.number,
|
|
368
|
+
labelStyle: _propTypes.default.object,
|
|
325
369
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
326
370
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
327
371
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -330,6 +374,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
330
374
|
slots: _propTypes.default.object,
|
|
331
375
|
stroke: _propTypes.default.string,
|
|
332
376
|
tickFontSize: _propTypes.default.number,
|
|
377
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
378
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
379
|
+
tickLabelStyle: _propTypes.default.object,
|
|
333
380
|
tickMaxStep: _propTypes.default.number,
|
|
334
381
|
tickMinStep: _propTypes.default.number,
|
|
335
382
|
tickNumber: _propTypes.default.number,
|
package/PieChart/PiePlot.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface PiePlotSlotsComponent {
|
|
5
|
-
pieArc?: React.JSXElementConstructor<PieArcProps>;
|
|
6
|
-
pieArcLabel?: React.JSXElementConstructor<PieArcLabelProps>;
|
|
2
|
+
import { PieArcPlotProps, PieArcPlotSlotComponentProps, PieArcPlotSlotsComponent } from './PieArcPlot';
|
|
3
|
+
import { PieArcLabelPlotSlotsComponent, PieArcLabelPlotSlotComponentProps } from './PieArcLabelPlot';
|
|
4
|
+
export interface PiePlotSlotsComponent extends PieArcPlotSlotsComponent, PieArcLabelPlotSlotsComponent {
|
|
7
5
|
}
|
|
8
|
-
export interface PiePlotSlotComponentProps {
|
|
9
|
-
pieArc?: Partial<PieArcProps>;
|
|
10
|
-
pieArcLabel?: Partial<PieArcLabelProps>;
|
|
6
|
+
export interface PiePlotSlotComponentProps extends PieArcPlotSlotComponentProps, PieArcLabelPlotSlotComponentProps {
|
|
11
7
|
}
|
|
12
|
-
export interface PiePlotProps {
|
|
8
|
+
export interface PiePlotProps extends Pick<PieArcPlotProps, 'skipAnimation' | 'onClick'> {
|
|
13
9
|
/**
|
|
14
10
|
* Overridable component slots.
|
|
15
11
|
* @default {}
|
|
@@ -21,6 +17,16 @@ export interface PiePlotProps {
|
|
|
21
17
|
*/
|
|
22
18
|
slotProps?: PiePlotSlotComponentProps;
|
|
23
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Demos:
|
|
22
|
+
*
|
|
23
|
+
* - [Pie](https://mui.com/x/react-charts/pie/)
|
|
24
|
+
* - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
|
|
25
|
+
*
|
|
26
|
+
* API:
|
|
27
|
+
*
|
|
28
|
+
* - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
|
|
29
|
+
*/
|
|
24
30
|
declare function PiePlot(props: PiePlotProps): React.JSX.Element | null;
|
|
25
31
|
declare namespace PiePlot {
|
|
26
32
|
var propTypes: any;
|
package/PieChart/PiePlot.js
CHANGED
|
@@ -5,34 +5,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.PiePlot = PiePlot;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var React = _interopRequireWildcard(require("react"));
|
|
10
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
10
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
12
|
-
var _PieArc = _interopRequireDefault(require("./PieArc"));
|
|
13
|
-
var _PieArcLabel = _interopRequireDefault(require("./PieArcLabel"));
|
|
14
11
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
12
|
+
var _PieArcPlot = require("./PieArcPlot");
|
|
13
|
+
var _PieArcLabelPlot = require("./PieArcLabelPlot");
|
|
15
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _getRequireWildcardCache(
|
|
17
|
-
function _interopRequireWildcard(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return item[arcLabel]?.toString();
|
|
29
|
-
}
|
|
30
|
-
return arcLabel(item);
|
|
31
|
-
}
|
|
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); }
|
|
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
/**
|
|
18
|
+
* Demos:
|
|
19
|
+
*
|
|
20
|
+
* - [Pie](https://mui.com/x/react-charts/pie/)
|
|
21
|
+
* - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
|
|
22
|
+
*
|
|
23
|
+
* API:
|
|
24
|
+
*
|
|
25
|
+
* - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
|
|
26
|
+
*/
|
|
32
27
|
function PiePlot(props) {
|
|
33
28
|
const {
|
|
29
|
+
skipAnimation,
|
|
34
30
|
slots,
|
|
35
|
-
slotProps
|
|
31
|
+
slotProps,
|
|
32
|
+
onClick
|
|
36
33
|
} = props;
|
|
37
34
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).pie;
|
|
38
35
|
const {
|
|
@@ -53,54 +50,67 @@ function PiePlot(props) {
|
|
|
53
50
|
series,
|
|
54
51
|
seriesOrder
|
|
55
52
|
} = seriesData;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
59
|
-
children: seriesOrder.map(seriesId => {
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
54
|
+
children: [seriesOrder.map(seriesId => {
|
|
60
55
|
const {
|
|
61
56
|
innerRadius,
|
|
62
57
|
outerRadius,
|
|
63
58
|
cornerRadius,
|
|
64
|
-
|
|
65
|
-
arcLabelMinAngle = 0,
|
|
59
|
+
paddingAngle,
|
|
66
60
|
data,
|
|
67
61
|
cx,
|
|
68
62
|
cy,
|
|
69
63
|
highlighted,
|
|
70
|
-
faded
|
|
64
|
+
faded,
|
|
65
|
+
highlightScope
|
|
66
|
+
} = series[seriesId];
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
68
|
+
transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcPlot.PieArcPlot, {
|
|
70
|
+
innerRadius: innerRadius,
|
|
71
|
+
outerRadius: outerRadius ?? availableRadius,
|
|
72
|
+
cornerRadius: cornerRadius,
|
|
73
|
+
paddingAngle: paddingAngle,
|
|
74
|
+
id: seriesId,
|
|
75
|
+
data: data,
|
|
76
|
+
skipAnimation: skipAnimation,
|
|
77
|
+
highlightScope: highlightScope,
|
|
78
|
+
highlighted: highlighted,
|
|
79
|
+
faded: faded,
|
|
80
|
+
onClick: onClick,
|
|
81
|
+
slots: slots,
|
|
82
|
+
slotProps: slotProps
|
|
83
|
+
})
|
|
84
|
+
}, seriesId);
|
|
85
|
+
}), seriesOrder.map(seriesId => {
|
|
86
|
+
const {
|
|
87
|
+
innerRadius,
|
|
88
|
+
outerRadius,
|
|
89
|
+
cornerRadius,
|
|
90
|
+
paddingAngle,
|
|
91
|
+
arcLabel,
|
|
92
|
+
arcLabelMinAngle,
|
|
93
|
+
data,
|
|
94
|
+
cx,
|
|
95
|
+
cy,
|
|
96
|
+
highlightScope
|
|
71
97
|
} = series[seriesId];
|
|
72
98
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
73
99
|
transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
|
|
74
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
highlighted: highlighted,
|
|
86
|
-
faded: faded
|
|
87
|
-
}, slotProps?.pieArc));
|
|
88
|
-
}), data.map((item, index) => {
|
|
89
|
-
return /*#__PURE__*/(0, React.createElement)(ArcLabel, (0, _extends2.default)({}, item, {
|
|
90
|
-
key: item.id,
|
|
91
|
-
innerRadius: innerRadius,
|
|
92
|
-
outerRadius: outerRadius ?? availableRadius,
|
|
93
|
-
cornerRadius: cornerRadius,
|
|
94
|
-
id: seriesId,
|
|
95
|
-
color: item.color,
|
|
96
|
-
dataIndex: index,
|
|
97
|
-
highlightScope: series[seriesId].highlightScope,
|
|
98
|
-
formattedArcLabel: getItemLabel(arcLabel, arcLabelMinAngle, item)
|
|
99
|
-
}, slotProps?.pieArcLabel));
|
|
100
|
-
})]
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcLabelPlot.PieArcLabelPlot, {
|
|
101
|
+
innerRadius: innerRadius,
|
|
102
|
+
outerRadius: outerRadius ?? availableRadius,
|
|
103
|
+
cornerRadius: cornerRadius,
|
|
104
|
+
paddingAngle: paddingAngle,
|
|
105
|
+
id: seriesId,
|
|
106
|
+
data: data,
|
|
107
|
+
skipAnimation: skipAnimation,
|
|
108
|
+
arcLabel: arcLabel,
|
|
109
|
+
arcLabelMinAngle: arcLabelMinAngle,
|
|
110
|
+
highlightScope: highlightScope
|
|
101
111
|
})
|
|
102
112
|
}, seriesId);
|
|
103
|
-
})
|
|
113
|
+
})]
|
|
104
114
|
});
|
|
105
115
|
}
|
|
106
116
|
process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
|
|
@@ -108,6 +118,18 @@ process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
|
|
|
108
118
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
109
119
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
110
120
|
// ----------------------------------------------------------------------
|
|
121
|
+
/**
|
|
122
|
+
* Callback fired when a pie item is clicked.
|
|
123
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
124
|
+
* @param {PieItemIdentifier} pieItemIdentifier The pie item identifier.
|
|
125
|
+
* @param {DefaultizedPieValueType} item The pie item.
|
|
126
|
+
*/
|
|
127
|
+
onClick: _propTypes.default.func,
|
|
128
|
+
/**
|
|
129
|
+
* If `true`, animations are skiped.
|
|
130
|
+
* @default false
|
|
131
|
+
*/
|
|
132
|
+
skipAnimation: _propTypes.default.bool,
|
|
111
133
|
/**
|
|
112
134
|
* The props used for each component slot.
|
|
113
135
|
* @default {}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { UseTransitionProps } from '@react-spring/web';
|
|
2
|
+
import { ValueWithHighlight } from './useTransformData';
|
|
3
|
+
export declare const defaultTransitionConfig: UseTransitionProps<ValueWithHighlight>;
|
|
4
|
+
export declare const defaultLabelTransitionConfig: UseTransitionProps<ValueWithHighlight>;
|