@mui/x-charts 7.0.0-beta.2 → 7.0.0-beta.4
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 +21 -5
- package/BarChart/BarChart.js +27 -7
- package/CHANGELOG.md +298 -23
- package/ChartsGrid/ChartsGrid.d.ts +30 -0
- package/ChartsGrid/ChartsGrid.js +128 -0
- package/ChartsGrid/chartsGridClasses.d.ts +13 -0
- package/ChartsGrid/chartsGridClasses.js +14 -0
- package/ChartsGrid/index.d.ts +2 -0
- package/ChartsGrid/index.js +27 -0
- package/ChartsGrid/package.json +6 -0
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
- package/ChartsSurface.js +6 -4
- package/ChartsTooltip/utils.js +1 -1
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +0 -1
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -2
- package/ChartsXAxis/ChartsXAxis.js +3 -3
- package/ChartsYAxis/ChartsYAxis.js +3 -3
- package/Gauge/Gauge.d.ts +13 -0
- package/Gauge/Gauge.js +154 -0
- package/Gauge/GaugeContainer.d.ts +17 -0
- package/Gauge/GaugeContainer.js +214 -0
- package/Gauge/GaugeProvider.d.ts +117 -0
- package/Gauge/GaugeProvider.js +99 -0
- package/Gauge/GaugeReferenceArc.d.ts +2 -0
- package/Gauge/GaugeReferenceArc.js +44 -0
- package/Gauge/GaugeValueArc.d.ts +2 -0
- package/Gauge/GaugeValueArc.js +51 -0
- package/Gauge/GaugeValueText.d.ts +15 -0
- package/Gauge/GaugeValueText.js +77 -0
- package/Gauge/gaugeClasses.d.ts +14 -0
- package/Gauge/gaugeClasses.js +15 -0
- package/Gauge/index.d.ts +7 -0
- package/Gauge/index.js +87 -0
- package/Gauge/package.json +6 -0
- package/Gauge/utils.d.ts +19 -0
- package/Gauge/utils.js +75 -0
- package/LineChart/LineChart.d.ts +24 -5
- package/LineChart/LineChart.js +31 -7
- package/PieChart/PieArc.d.ts +4 -4
- package/PieChart/PieArc.js +9 -9
- package/PieChart/PieArcLabelPlot.js +13 -13
- package/PieChart/PieChart.d.ts +22 -0
- package/PieChart/PieChart.js +22 -2
- package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -2
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
- package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
- package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
- package/ScatterChart/ScatterChart.d.ts +18 -0
- package/ScatterChart/ScatterChart.js +25 -3
- package/SparkLineChart/SparkLineChart.js +0 -2
- package/context/CartesianContextProvider.d.ts +0 -8
- package/context/CartesianContextProvider.js +4 -89
- package/context/DrawingProvider.d.ts +2 -11
- package/context/DrawingProvider.js +10 -35
- package/context/HighlightProvider.js +3 -0
- package/context/InteractionProvider.js +3 -0
- package/context/SeriesContextProvider.js +3 -0
- package/context/index.d.ts +0 -2
- package/context/index.js +1 -15
- package/esm/BarChart/BarChart.js +27 -7
- package/esm/ChartsGrid/ChartsGrid.js +121 -0
- package/esm/ChartsGrid/chartsGridClasses.js +6 -0
- package/esm/ChartsGrid/index.js +2 -0
- package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/esm/ChartsSurface.js +6 -4
- package/esm/ChartsTooltip/utils.js +2 -2
- package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
- package/esm/ChartsXAxis/ChartsXAxis.js +2 -2
- package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
- package/esm/Gauge/Gauge.js +147 -0
- package/esm/Gauge/GaugeContainer.js +209 -0
- package/esm/Gauge/GaugeProvider.js +88 -0
- package/esm/Gauge/GaugeReferenceArc.js +35 -0
- package/esm/Gauge/GaugeValueArc.js +42 -0
- package/esm/Gauge/GaugeValueText.js +69 -0
- package/esm/Gauge/gaugeClasses.js +7 -0
- package/esm/Gauge/index.js +7 -0
- package/esm/Gauge/utils.js +68 -0
- package/esm/LineChart/LineChart.js +31 -7
- package/esm/PieChart/PieArc.js +9 -9
- package/esm/PieChart/PieArcLabelPlot.js +13 -13
- package/esm/PieChart/PieChart.js +22 -2
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
- package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
- package/esm/ScatterChart/ScatterChart.js +25 -3
- package/esm/SparkLineChart/SparkLineChart.js +0 -2
- package/esm/context/CartesianContextProvider.js +3 -88
- package/esm/context/DrawingProvider.js +10 -36
- package/esm/context/HighlightProvider.js +3 -0
- package/esm/context/InteractionProvider.js +3 -0
- package/esm/context/SeriesContextProvider.js +3 -0
- package/esm/context/index.js +1 -2
- package/esm/hooks/useAxisEvents.js +2 -2
- package/esm/hooks/useTicks.js +2 -3
- package/esm/index.js +2 -0
- package/hooks/useAxisEvents.js +1 -1
- package/hooks/useTicks.d.ts +2 -3
- package/hooks/useTicks.js +2 -3
- package/index.d.ts +2 -0
- package/index.js +23 -1
- package/modern/BarChart/BarChart.js +27 -7
- package/modern/ChartsGrid/ChartsGrid.js +121 -0
- package/modern/ChartsGrid/chartsGridClasses.js +6 -0
- package/modern/ChartsGrid/index.js +2 -0
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/modern/ChartsSurface.js +6 -4
- package/modern/ChartsTooltip/utils.js +2 -2
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
- package/modern/ChartsXAxis/ChartsXAxis.js +2 -2
- package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
- package/modern/Gauge/Gauge.js +147 -0
- package/modern/Gauge/GaugeContainer.js +206 -0
- package/modern/Gauge/GaugeProvider.js +88 -0
- package/modern/Gauge/GaugeReferenceArc.js +35 -0
- package/modern/Gauge/GaugeValueArc.js +42 -0
- package/modern/Gauge/GaugeValueText.js +69 -0
- package/modern/Gauge/gaugeClasses.js +7 -0
- package/modern/Gauge/index.js +7 -0
- package/modern/Gauge/utils.js +68 -0
- package/modern/LineChart/LineChart.js +31 -7
- package/modern/PieChart/PieArc.js +9 -9
- package/modern/PieChart/PieArcLabelPlot.js +13 -13
- package/modern/PieChart/PieChart.js +22 -2
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
- package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
- package/modern/ScatterChart/ScatterChart.js +25 -3
- package/modern/SparkLineChart/SparkLineChart.js +0 -2
- package/modern/context/CartesianContextProvider.js +3 -88
- package/modern/context/DrawingProvider.js +10 -36
- package/modern/context/HighlightProvider.js +3 -0
- package/modern/context/InteractionProvider.js +3 -0
- package/modern/context/SeriesContextProvider.js +3 -0
- package/modern/context/index.js +1 -2
- package/modern/hooks/useAxisEvents.js +2 -2
- package/modern/hooks/useTicks.js +2 -3
- package/modern/index.js +3 -1
- package/package.json +4 -4
- package/legacy/BarChart/BarChart.js +0 -418
- package/legacy/BarChart/BarElement.js +0 -119
- package/legacy/BarChart/BarPlot.js +0 -232
- package/legacy/BarChart/extremums.js +0 -45
- package/legacy/BarChart/formatter.js +0 -78
- package/legacy/BarChart/index.js +0 -3
- package/legacy/BarChart/legend.js +0 -15
- package/legacy/ChartContainer/ChartContainer.js +0 -189
- package/legacy/ChartContainer/index.js +0 -1
- package/legacy/ChartsAxis/ChartsAxis.js +0 -215
- package/legacy/ChartsAxis/axisClasses.js +0 -5
- package/legacy/ChartsAxis/index.js +0 -2
- package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +0 -105
- package/legacy/ChartsAxisHighlight/index.js +0 -1
- package/legacy/ChartsClipPath/ChartsClipPath.js +0 -48
- package/legacy/ChartsClipPath/index.js +0 -1
- package/legacy/ChartsLegend/ChartsLegend.js +0 -100
- package/legacy/ChartsLegend/DefaultChartsLegend.js +0 -302
- package/legacy/ChartsLegend/chartsLegendClasses.js +0 -5
- package/legacy/ChartsLegend/index.js +0 -4
- package/legacy/ChartsLegend/utils.js +0 -15
- package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +0 -75
- package/legacy/ChartsOnAxisClickHandler/index.js +0 -1
- package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +0 -72
- package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +0 -105
- package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +0 -105
- package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
- package/legacy/ChartsReferenceLine/common.js +0 -19
- package/legacy/ChartsReferenceLine/index.js +0 -2
- package/legacy/ChartsSurface.js +0 -76
- package/legacy/ChartsText/ChartsText.js +0 -95
- package/legacy/ChartsText/index.js +0 -1
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +0 -96
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +0 -53
- package/legacy/ChartsTooltip/ChartsTooltip.js +0 -148
- package/legacy/ChartsTooltip/ChartsTooltipTable.js +0 -80
- package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -118
- package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -78
- package/legacy/ChartsTooltip/chartsTooltipClasses.js +0 -5
- package/legacy/ChartsTooltip/index.js +0 -6
- package/legacy/ChartsTooltip/utils.js +0 -103
- package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +0 -206
- package/legacy/ChartsVoronoiHandler/index.js +0 -1
- package/legacy/ChartsXAxis/ChartsXAxis.js +0 -339
- package/legacy/ChartsXAxis/index.js +0 -1
- package/legacy/ChartsYAxis/ChartsYAxis.js +0 -267
- package/legacy/ChartsYAxis/index.js +0 -1
- package/legacy/LineChart/AnimatedArea.js +0 -102
- package/legacy/LineChart/AnimatedLine.js +0 -104
- package/legacy/LineChart/AreaElement.js +0 -112
- package/legacy/LineChart/AreaPlot.js +0 -149
- package/legacy/LineChart/LineChart.js +0 -426
- package/legacy/LineChart/LineElement.js +0 -112
- package/legacy/LineChart/LineHighlightElement.js +0 -79
- package/legacy/LineChart/LineHighlightPlot.js +0 -97
- package/legacy/LineChart/LinePlot.js +0 -144
- package/legacy/LineChart/MarkElement.js +0 -153
- package/legacy/LineChart/MarkPlot.js +0 -178
- package/legacy/LineChart/extremums.js +0 -54
- package/legacy/LineChart/formatter.js +0 -82
- package/legacy/LineChart/index.js +0 -11
- package/legacy/LineChart/legend.js +0 -15
- package/legacy/PieChart/PieArc.js +0 -103
- package/legacy/PieChart/PieArcLabel.js +0 -112
- package/legacy/PieChart/PieArcLabelPlot.js +0 -193
- package/legacy/PieChart/PieArcPlot.js +0 -180
- package/legacy/PieChart/PieChart.js +0 -382
- package/legacy/PieChart/PiePlot.js +0 -137
- package/legacy/PieChart/dataTransform/transition.js +0 -149
- package/legacy/PieChart/dataTransform/useTransformData.js +0 -63
- package/legacy/PieChart/formatter.js +0 -55
- package/legacy/PieChart/index.js +0 -6
- package/legacy/PieChart/legend.js +0 -16
- package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -255
- package/legacy/ResponsiveChartContainer/index.js +0 -1
- package/legacy/ScatterChart/Scatter.js +0 -110
- package/legacy/ScatterChart/ScatterChart.js +0 -370
- package/legacy/ScatterChart/ScatterPlot.js +0 -80
- package/legacy/ScatterChart/extremums.js +0 -39
- package/legacy/ScatterChart/formatter.js +0 -12
- package/legacy/ScatterChart/index.js +0 -3
- package/legacy/ScatterChart/legend.js +0 -15
- package/legacy/SparkLineChart/SparkLineChart.js +0 -266
- package/legacy/SparkLineChart/index.js +0 -1
- package/legacy/colorPalettes/colorPalettes.js +0 -15
- package/legacy/colorPalettes/index.js +0 -1
- package/legacy/constants.js +0 -8
- package/legacy/context/CartesianContextProvider.js +0 -327
- package/legacy/context/DrawingProvider.js +0 -74
- package/legacy/context/HighlightProvider.js +0 -56
- package/legacy/context/InteractionProvider.js +0 -81
- package/legacy/context/SeriesContextProvider.js +0 -74
- package/legacy/context/index.js +0 -2
- package/legacy/hooks/index.js +0 -2
- package/legacy/hooks/useAxisEvents.js +0 -120
- package/legacy/hooks/useChartDimensions.js +0 -18
- package/legacy/hooks/useDrawingArea.js +0 -21
- package/legacy/hooks/useInteractionItemProps.js +0 -71
- package/legacy/hooks/useMounted.js +0 -21
- package/legacy/hooks/useReducedMotion.js +0 -27
- package/legacy/hooks/useScale.js +0 -33
- package/legacy/hooks/useTicks.js +0 -66
- package/legacy/index.js +0 -31
- package/legacy/internals/components/AxisSharedComponents.js +0 -25
- package/legacy/internals/defaultizeColor.js +0 -17
- package/legacy/internals/defaultizeValueFormatter.js +0 -12
- package/legacy/internals/domUtils.js +0 -121
- package/legacy/internals/geometry.js +0 -37
- package/legacy/internals/getCurve.js +0 -39
- package/legacy/internals/getScale.js +0 -17
- package/legacy/internals/getWordsByLines.js +0 -15
- package/legacy/internals/isBandScale.js +0 -3
- package/legacy/internals/stackSeries.js +0 -92
- package/legacy/internals/useAnimatedPath.js +0 -32
- package/legacy/internals/utils.js +0 -52
- package/legacy/models/axis.js +0 -6
- package/legacy/models/helpers.js +0 -1
- package/legacy/models/index.js +0 -4
- package/legacy/models/layout.js +0 -1
- package/legacy/models/seriesType/bar.js +0 -1
- package/legacy/models/seriesType/common.js +0 -1
- package/legacy/models/seriesType/config.js +0 -1
- package/legacy/models/seriesType/index.js +0 -5
- package/legacy/models/seriesType/line.js +0 -1
- package/legacy/models/seriesType/pie.js +0 -1
- package/legacy/models/seriesType/scatter.js +0 -1
- package/legacy/models/stacking.js +0 -1
- package/legacy/themeAugmentation/index.js +0 -3
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GaugeContainer = void 0;
|
|
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 _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
13
|
+
var _styles = require("@mui/material/styles");
|
|
14
|
+
var _useChartContainerDimensions = require("../ResponsiveChartContainer/useChartContainerDimensions");
|
|
15
|
+
var _ChartsSurface = require("../ChartsSurface");
|
|
16
|
+
var _DrawingProvider = require("../context/DrawingProvider");
|
|
17
|
+
var _GaugeProvider = require("./GaugeProvider");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
const _excluded = ["width", "height", "margin", "title", "desc", "value", "valueMin", "valueMax", "startAngle", "endAngle", "outerRadius", "innerRadius", "cornerRadius", "cx", "cy", "children"];
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && 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; }
|
|
22
|
+
const ResizableContainer = (0, _styles.styled)('div', {
|
|
23
|
+
name: 'MuiGauge',
|
|
24
|
+
slot: 'Container'
|
|
25
|
+
})(({
|
|
26
|
+
ownerState,
|
|
27
|
+
theme
|
|
28
|
+
}) => ({
|
|
29
|
+
width: ownerState.width ?? '100%',
|
|
30
|
+
height: ownerState.height ?? '100%',
|
|
31
|
+
display: 'flex',
|
|
32
|
+
position: 'relative',
|
|
33
|
+
flexGrow: 1,
|
|
34
|
+
flexDirection: 'column',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
justifyContent: 'center',
|
|
37
|
+
overflow: 'hidden',
|
|
38
|
+
'&>svg': {
|
|
39
|
+
width: '100%',
|
|
40
|
+
height: '100%'
|
|
41
|
+
},
|
|
42
|
+
'& text': {
|
|
43
|
+
fill: (theme.vars || theme).palette.text.primary
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
const GaugeContainer = exports.GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(props, ref) {
|
|
47
|
+
const {
|
|
48
|
+
width: inWidth,
|
|
49
|
+
height: inHeight,
|
|
50
|
+
margin,
|
|
51
|
+
title,
|
|
52
|
+
desc,
|
|
53
|
+
value,
|
|
54
|
+
valueMin = 0,
|
|
55
|
+
valueMax = 100,
|
|
56
|
+
startAngle,
|
|
57
|
+
endAngle,
|
|
58
|
+
outerRadius,
|
|
59
|
+
innerRadius,
|
|
60
|
+
cornerRadius,
|
|
61
|
+
cx,
|
|
62
|
+
cy,
|
|
63
|
+
children
|
|
64
|
+
} = props,
|
|
65
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
66
|
+
const [containerRef, width, height] = (0, _useChartContainerDimensions.useChartContainerDimensions)(inWidth, inHeight);
|
|
67
|
+
const svgRef = React.useRef(null);
|
|
68
|
+
const handleRef = (0, _useForkRef.default)(ref, svgRef);
|
|
69
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, (0, _extends2.default)({
|
|
70
|
+
ref: containerRef,
|
|
71
|
+
ownerState: {
|
|
72
|
+
width: inWidth,
|
|
73
|
+
height: inHeight
|
|
74
|
+
},
|
|
75
|
+
role: "meter",
|
|
76
|
+
"aria-valuenow": value === null ? undefined : value,
|
|
77
|
+
"aria-valuemin": valueMin,
|
|
78
|
+
"aria-valuemax": valueMax
|
|
79
|
+
}, other, {
|
|
80
|
+
children: width && height ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, {
|
|
81
|
+
width: width,
|
|
82
|
+
height: height,
|
|
83
|
+
margin: (0, _extends2.default)({
|
|
84
|
+
left: 10,
|
|
85
|
+
right: 10,
|
|
86
|
+
top: 10,
|
|
87
|
+
bottom: 10
|
|
88
|
+
}, margin),
|
|
89
|
+
svgRef: svgRef,
|
|
90
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeProvider.GaugeProvider, {
|
|
91
|
+
value: value,
|
|
92
|
+
valueMin: valueMin,
|
|
93
|
+
valueMax: valueMax,
|
|
94
|
+
startAngle: startAngle,
|
|
95
|
+
endAngle: endAngle,
|
|
96
|
+
outerRadius: outerRadius,
|
|
97
|
+
innerRadius: innerRadius,
|
|
98
|
+
cornerRadius: cornerRadius,
|
|
99
|
+
cx: cx,
|
|
100
|
+
cy: cy,
|
|
101
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
|
|
102
|
+
width: width,
|
|
103
|
+
height: height,
|
|
104
|
+
ref: handleRef,
|
|
105
|
+
title: title,
|
|
106
|
+
desc: desc,
|
|
107
|
+
disableAxisListener: true,
|
|
108
|
+
"aria-hidden": "true",
|
|
109
|
+
children: children
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
}) : null
|
|
113
|
+
}));
|
|
114
|
+
});
|
|
115
|
+
process.env.NODE_ENV !== "production" ? GaugeContainer.propTypes = {
|
|
116
|
+
// ----------------------------- Warning --------------------------------
|
|
117
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
118
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
119
|
+
// ----------------------------------------------------------------------
|
|
120
|
+
children: _propTypes.default.node,
|
|
121
|
+
className: _propTypes.default.string,
|
|
122
|
+
/**
|
|
123
|
+
* The radius applied to arc corners (similar to border radius).
|
|
124
|
+
* Set it to '50%' to get rounded arc.
|
|
125
|
+
* @default 0
|
|
126
|
+
*/
|
|
127
|
+
cornerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
128
|
+
/**
|
|
129
|
+
* The x coordinate of the arc center.
|
|
130
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
131
|
+
* The '100%' is the width the drawing area.
|
|
132
|
+
*/
|
|
133
|
+
cx: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
134
|
+
/**
|
|
135
|
+
* The y coordinate of the arc center.
|
|
136
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
137
|
+
* The '100%' is the height the drawing area.
|
|
138
|
+
*/
|
|
139
|
+
cy: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
140
|
+
desc: _propTypes.default.string,
|
|
141
|
+
/**
|
|
142
|
+
* If `true`, the charts will not listen to the mouse move event.
|
|
143
|
+
* It might break interactive features, but will improve performance.
|
|
144
|
+
* @default false
|
|
145
|
+
*/
|
|
146
|
+
disableAxisListener: _propTypes.default.bool,
|
|
147
|
+
/**
|
|
148
|
+
* The end angle (deg).
|
|
149
|
+
* @default 360
|
|
150
|
+
*/
|
|
151
|
+
endAngle: _propTypes.default.number,
|
|
152
|
+
/**
|
|
153
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
154
|
+
*/
|
|
155
|
+
height: _propTypes.default.number,
|
|
156
|
+
/**
|
|
157
|
+
* The radius between circle center and the begining of the arc.
|
|
158
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
159
|
+
* The '100%' is the maximal radius that fit into the drawing area.
|
|
160
|
+
* @default '80%'
|
|
161
|
+
*/
|
|
162
|
+
innerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
163
|
+
/**
|
|
164
|
+
* The margin between the SVG and the drawing area.
|
|
165
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
166
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
167
|
+
* @default object Depends on the charts type.
|
|
168
|
+
*/
|
|
169
|
+
margin: _propTypes.default.shape({
|
|
170
|
+
bottom: _propTypes.default.number,
|
|
171
|
+
left: _propTypes.default.number,
|
|
172
|
+
right: _propTypes.default.number,
|
|
173
|
+
top: _propTypes.default.number
|
|
174
|
+
}),
|
|
175
|
+
/**
|
|
176
|
+
* The radius between circle center and the end of the arc.
|
|
177
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
178
|
+
* The '100%' is the maximal radius that fit into the drawing area.
|
|
179
|
+
* @default '100%'
|
|
180
|
+
*/
|
|
181
|
+
outerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
182
|
+
/**
|
|
183
|
+
* The start angle (deg).
|
|
184
|
+
* @default 0
|
|
185
|
+
*/
|
|
186
|
+
startAngle: _propTypes.default.number,
|
|
187
|
+
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]),
|
|
188
|
+
title: _propTypes.default.string,
|
|
189
|
+
/**
|
|
190
|
+
* The value of the gauge.
|
|
191
|
+
* Set to `null` to not display a value.
|
|
192
|
+
*/
|
|
193
|
+
value: _propTypes.default.number,
|
|
194
|
+
/**
|
|
195
|
+
* The maximal value of the gauge.
|
|
196
|
+
* @default 100
|
|
197
|
+
*/
|
|
198
|
+
valueMax: _propTypes.default.number,
|
|
199
|
+
/**
|
|
200
|
+
* The minimal value of the gauge.
|
|
201
|
+
* @default 0
|
|
202
|
+
*/
|
|
203
|
+
valueMin: _propTypes.default.number,
|
|
204
|
+
viewBox: _propTypes.default.shape({
|
|
205
|
+
height: _propTypes.default.number,
|
|
206
|
+
width: _propTypes.default.number,
|
|
207
|
+
x: _propTypes.default.number,
|
|
208
|
+
y: _propTypes.default.number
|
|
209
|
+
}),
|
|
210
|
+
/**
|
|
211
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
212
|
+
*/
|
|
213
|
+
width: _propTypes.default.number
|
|
214
|
+
} : void 0;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface CircularConfig {
|
|
3
|
+
/**
|
|
4
|
+
* The start angle (deg).
|
|
5
|
+
* @default 0
|
|
6
|
+
*/
|
|
7
|
+
startAngle?: number;
|
|
8
|
+
/**
|
|
9
|
+
* The end angle (deg).
|
|
10
|
+
* @default 360
|
|
11
|
+
*/
|
|
12
|
+
endAngle?: number;
|
|
13
|
+
/**
|
|
14
|
+
* The radius between circle center and the begining of the arc.
|
|
15
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
16
|
+
* The '100%' is the maximal radius that fit into the drawing area.
|
|
17
|
+
* @default '80%'
|
|
18
|
+
*/
|
|
19
|
+
innerRadius?: number | string;
|
|
20
|
+
/**
|
|
21
|
+
* The radius between circle center and the end of the arc.
|
|
22
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
23
|
+
* The '100%' is the maximal radius that fit into the drawing area.
|
|
24
|
+
* @default '100%'
|
|
25
|
+
*/
|
|
26
|
+
outerRadius?: number | string;
|
|
27
|
+
/**
|
|
28
|
+
* The radius applied to arc corners (similar to border radius).
|
|
29
|
+
* Set it to '50%' to get rounded arc.
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
32
|
+
cornerRadius?: number | string;
|
|
33
|
+
/**
|
|
34
|
+
* The x coordinate of the arc center.
|
|
35
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
36
|
+
* The '100%' is the width the drawing area.
|
|
37
|
+
*/
|
|
38
|
+
cx?: number | string;
|
|
39
|
+
/**
|
|
40
|
+
* The y coordinate of the arc center.
|
|
41
|
+
* Can be a number (in px) or a string with a percentage such as '50%'.
|
|
42
|
+
* The '100%' is the height the drawing area.
|
|
43
|
+
*/
|
|
44
|
+
cy?: number | string;
|
|
45
|
+
}
|
|
46
|
+
interface ProcessedCircularConfig {
|
|
47
|
+
/**
|
|
48
|
+
* The start angle (rad).
|
|
49
|
+
*/
|
|
50
|
+
startAngle: number;
|
|
51
|
+
/**
|
|
52
|
+
* The end angle (rad).
|
|
53
|
+
*/
|
|
54
|
+
endAngle: number;
|
|
55
|
+
/**
|
|
56
|
+
* The radius between circle center and the begining of the arc.
|
|
57
|
+
*/
|
|
58
|
+
innerRadius: number;
|
|
59
|
+
/**
|
|
60
|
+
* The radius between circle center and the end of the arc.
|
|
61
|
+
*/
|
|
62
|
+
outerRadius: number;
|
|
63
|
+
/**
|
|
64
|
+
* The radius applied to arc corners (similar to border radius).
|
|
65
|
+
*/
|
|
66
|
+
cornerRadius: number;
|
|
67
|
+
/**
|
|
68
|
+
* The x coordinate of the pie center.
|
|
69
|
+
*/
|
|
70
|
+
cx: number;
|
|
71
|
+
/**
|
|
72
|
+
* The y coordinate of the pie center.
|
|
73
|
+
*/
|
|
74
|
+
cy: number;
|
|
75
|
+
}
|
|
76
|
+
interface GaugeConfig {
|
|
77
|
+
/**
|
|
78
|
+
* The value of the gauge.
|
|
79
|
+
* Set to `null` to not display a value.
|
|
80
|
+
*/
|
|
81
|
+
value?: number | null;
|
|
82
|
+
/**
|
|
83
|
+
* The minimal value of the gauge.
|
|
84
|
+
* @default 0
|
|
85
|
+
*/
|
|
86
|
+
valueMin?: number;
|
|
87
|
+
/**
|
|
88
|
+
* The maximal value of the gauge.
|
|
89
|
+
* @default 100
|
|
90
|
+
*/
|
|
91
|
+
valueMax?: number;
|
|
92
|
+
}
|
|
93
|
+
export declare const GaugeContext: React.Context<Required<GaugeConfig> & ProcessedCircularConfig & {
|
|
94
|
+
/**
|
|
95
|
+
* The maximal radius from (cx, cy) that fits the arc in the drawing area.
|
|
96
|
+
*/
|
|
97
|
+
maxRadius: number;
|
|
98
|
+
/**
|
|
99
|
+
* The angle (rad) associated to the current value.
|
|
100
|
+
*/
|
|
101
|
+
valueAngle: null | number;
|
|
102
|
+
}>;
|
|
103
|
+
export interface GaugeProviderProps extends GaugeConfig, CircularConfig {
|
|
104
|
+
children: React.ReactNode;
|
|
105
|
+
}
|
|
106
|
+
export declare function GaugeProvider(props: GaugeProviderProps): React.JSX.Element;
|
|
107
|
+
export declare function useGaugeState(): Required<GaugeConfig> & ProcessedCircularConfig & {
|
|
108
|
+
/**
|
|
109
|
+
* The maximal radius from (cx, cy) that fits the arc in the drawing area.
|
|
110
|
+
*/
|
|
111
|
+
maxRadius: number;
|
|
112
|
+
/**
|
|
113
|
+
* The angle (rad) associated to the current value.
|
|
114
|
+
*/
|
|
115
|
+
valueAngle: number | null;
|
|
116
|
+
};
|
|
117
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GaugeContext = void 0;
|
|
7
|
+
exports.GaugeProvider = GaugeProvider;
|
|
8
|
+
exports.useGaugeState = useGaugeState;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _DrawingProvider = require("../context/DrawingProvider");
|
|
11
|
+
var _utils = require("../internals/utils");
|
|
12
|
+
var _utils2 = require("./utils");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
// @ignore - do not document.
|
|
17
|
+
|
|
18
|
+
const GaugeContext = exports.GaugeContext = /*#__PURE__*/React.createContext({
|
|
19
|
+
value: null,
|
|
20
|
+
valueMin: 0,
|
|
21
|
+
valueMax: 0,
|
|
22
|
+
startAngle: 0,
|
|
23
|
+
endAngle: 0,
|
|
24
|
+
innerRadius: 0,
|
|
25
|
+
outerRadius: 0,
|
|
26
|
+
cornerRadius: 0,
|
|
27
|
+
cx: 0,
|
|
28
|
+
cy: 0,
|
|
29
|
+
maxRadius: 0,
|
|
30
|
+
valueAngle: null
|
|
31
|
+
});
|
|
32
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
33
|
+
GaugeContext.displayName = 'GaugeContext';
|
|
34
|
+
}
|
|
35
|
+
function GaugeProvider(props) {
|
|
36
|
+
const {
|
|
37
|
+
value = null,
|
|
38
|
+
valueMin = 0,
|
|
39
|
+
valueMax = 100,
|
|
40
|
+
startAngle = 0,
|
|
41
|
+
endAngle = 360,
|
|
42
|
+
outerRadius: outerRadiusParam,
|
|
43
|
+
innerRadius: innerRadiusParam,
|
|
44
|
+
cornerRadius: cornerRadiusParam,
|
|
45
|
+
cx: cxParam,
|
|
46
|
+
cy: cyParam,
|
|
47
|
+
children
|
|
48
|
+
} = props;
|
|
49
|
+
const {
|
|
50
|
+
width,
|
|
51
|
+
height,
|
|
52
|
+
top,
|
|
53
|
+
left
|
|
54
|
+
} = React.useContext(_DrawingProvider.DrawingContext);
|
|
55
|
+
const ratios = (0, _utils2.getArcRatios)(startAngle, endAngle);
|
|
56
|
+
const innerCx = cxParam ? (0, _utils.getPercentageValue)(cxParam, width) : ratios.cx * width;
|
|
57
|
+
const innerCy = cyParam ? (0, _utils.getPercentageValue)(cyParam, height) : ratios.cy * height;
|
|
58
|
+
let cx = left + innerCx;
|
|
59
|
+
let cy = top + innerCy;
|
|
60
|
+
const maxRadius = (0, _utils2.getAvailableRadius)(innerCx, innerCy, width, height, ratios);
|
|
61
|
+
|
|
62
|
+
// If the center is not defined, after computation of the available radius, udpate the center to use the remaining space.
|
|
63
|
+
if (cxParam === undefined) {
|
|
64
|
+
const usedWidth = maxRadius * (ratios.maxX - ratios.minX);
|
|
65
|
+
cx = left + (width - usedWidth) / 2 + ratios.cx * usedWidth;
|
|
66
|
+
}
|
|
67
|
+
if (cyParam === undefined) {
|
|
68
|
+
const usedHeight = maxRadius * (ratios.maxY - ratios.minY);
|
|
69
|
+
cy = top + (height - usedHeight) / 2 + ratios.cy * usedHeight;
|
|
70
|
+
}
|
|
71
|
+
const outerRadius = (0, _utils.getPercentageValue)(outerRadiusParam ?? maxRadius, maxRadius);
|
|
72
|
+
const innerRadius = (0, _utils.getPercentageValue)(innerRadiusParam ?? '80%', maxRadius);
|
|
73
|
+
const cornerRadius = (0, _utils.getPercentageValue)(cornerRadiusParam ?? 0, outerRadius - innerRadius);
|
|
74
|
+
const contextValue = React.useMemo(() => {
|
|
75
|
+
const startAngleRad = Math.PI * startAngle / 180;
|
|
76
|
+
const endAngleRad = Math.PI * endAngle / 180;
|
|
77
|
+
return {
|
|
78
|
+
value,
|
|
79
|
+
valueMin,
|
|
80
|
+
valueMax,
|
|
81
|
+
startAngle: startAngleRad,
|
|
82
|
+
endAngle: endAngleRad,
|
|
83
|
+
outerRadius,
|
|
84
|
+
innerRadius,
|
|
85
|
+
cornerRadius,
|
|
86
|
+
cx,
|
|
87
|
+
cy,
|
|
88
|
+
maxRadius,
|
|
89
|
+
valueAngle: value === null ? null : startAngleRad + (endAngleRad - startAngleRad) * (value - valueMin) / (valueMax - valueMin)
|
|
90
|
+
};
|
|
91
|
+
}, [value, valueMin, valueMax, startAngle, endAngle, outerRadius, innerRadius, cornerRadius, cx, cy, maxRadius]);
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GaugeContext.Provider, {
|
|
93
|
+
value: contextValue,
|
|
94
|
+
children: children
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function useGaugeState() {
|
|
98
|
+
return React.useContext(GaugeContext);
|
|
99
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GaugeReferenceArc = GaugeReferenceArc;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _d3Shape = require("d3-shape");
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
|
+
var _GaugeProvider = require("./GaugeProvider");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
const StyledPath = (0, _styles.styled)('path', {
|
|
17
|
+
name: 'MuiGauge',
|
|
18
|
+
slot: 'ReferenceArc',
|
|
19
|
+
overridesResolver: (props, styles) => styles.referenceArc
|
|
20
|
+
})(({
|
|
21
|
+
theme
|
|
22
|
+
}) => ({
|
|
23
|
+
fill: (theme.vars || theme).palette.divider
|
|
24
|
+
}));
|
|
25
|
+
function GaugeReferenceArc(props) {
|
|
26
|
+
const {
|
|
27
|
+
startAngle,
|
|
28
|
+
endAngle,
|
|
29
|
+
outerRadius,
|
|
30
|
+
innerRadius,
|
|
31
|
+
cornerRadius,
|
|
32
|
+
cx,
|
|
33
|
+
cy
|
|
34
|
+
} = (0, _GaugeProvider.useGaugeState)();
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPath, (0, _extends2.default)({
|
|
36
|
+
transform: `translate(${cx}, ${cy})`,
|
|
37
|
+
d: (0, _d3Shape.arc)().cornerRadius(cornerRadius)({
|
|
38
|
+
startAngle,
|
|
39
|
+
endAngle,
|
|
40
|
+
innerRadius,
|
|
41
|
+
outerRadius
|
|
42
|
+
})
|
|
43
|
+
}, props));
|
|
44
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GaugeValueArc = GaugeValueArc;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _d3Shape = require("d3-shape");
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
|
+
var _GaugeProvider = require("./GaugeProvider");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
const StyledPath = (0, _styles.styled)('path', {
|
|
17
|
+
name: 'MuiGauge',
|
|
18
|
+
slot: 'ReferenceArc',
|
|
19
|
+
overridesResolver: (props, styles) => styles.referenceArc
|
|
20
|
+
})(({
|
|
21
|
+
theme
|
|
22
|
+
}) => ({
|
|
23
|
+
fill: (theme.vars || theme).palette.primary.main
|
|
24
|
+
}));
|
|
25
|
+
function GaugeValueArc(props) {
|
|
26
|
+
const {
|
|
27
|
+
value,
|
|
28
|
+
valueMin,
|
|
29
|
+
valueMax,
|
|
30
|
+
startAngle,
|
|
31
|
+
endAngle,
|
|
32
|
+
outerRadius,
|
|
33
|
+
innerRadius,
|
|
34
|
+
cornerRadius,
|
|
35
|
+
cx,
|
|
36
|
+
cy
|
|
37
|
+
} = (0, _GaugeProvider.useGaugeState)();
|
|
38
|
+
if (value === null) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const valueAngle = startAngle + (value - valueMin) / (valueMax - valueMin) * (endAngle - startAngle);
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPath, (0, _extends2.default)({
|
|
43
|
+
transform: `translate(${cx}, ${cy})`,
|
|
44
|
+
d: (0, _d3Shape.arc)().cornerRadius(cornerRadius)({
|
|
45
|
+
startAngle,
|
|
46
|
+
endAngle: valueAngle,
|
|
47
|
+
innerRadius,
|
|
48
|
+
outerRadius
|
|
49
|
+
})
|
|
50
|
+
}, props));
|
|
51
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartsTextProps } from '../ChartsText';
|
|
3
|
+
export interface GaugeFormatterParams {
|
|
4
|
+
value: number | null;
|
|
5
|
+
valueMin: number;
|
|
6
|
+
valueMax: number;
|
|
7
|
+
}
|
|
8
|
+
export interface GaugeValueTextProps extends Omit<ChartsTextProps, 'text'> {
|
|
9
|
+
text?: string | ((params: GaugeFormatterParams) => string | null);
|
|
10
|
+
}
|
|
11
|
+
declare function GaugeValueText(props: GaugeValueTextProps): React.JSX.Element | null;
|
|
12
|
+
declare namespace GaugeValueText {
|
|
13
|
+
var propTypes: any;
|
|
14
|
+
}
|
|
15
|
+
export { GaugeValueText };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GaugeValueText = GaugeValueText;
|
|
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 _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _GaugeProvider = require("./GaugeProvider");
|
|
13
|
+
var _ChartsText = require("../ChartsText");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
const _excluded = ["text", "className"];
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
function defaultFormatter({
|
|
19
|
+
value
|
|
20
|
+
}) {
|
|
21
|
+
return value === null ? null : value.toLocaleString();
|
|
22
|
+
}
|
|
23
|
+
function GaugeValueText(props) {
|
|
24
|
+
const {
|
|
25
|
+
text = defaultFormatter,
|
|
26
|
+
className
|
|
27
|
+
} = props,
|
|
28
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
29
|
+
const {
|
|
30
|
+
value,
|
|
31
|
+
valueMin,
|
|
32
|
+
valueMax,
|
|
33
|
+
cx,
|
|
34
|
+
cy
|
|
35
|
+
} = (0, _GaugeProvider.useGaugeState)();
|
|
36
|
+
const formattedText = typeof text === 'function' ? text({
|
|
37
|
+
value,
|
|
38
|
+
valueMin,
|
|
39
|
+
valueMax
|
|
40
|
+
}) : text;
|
|
41
|
+
if (formattedText === null) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
45
|
+
className: className,
|
|
46
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsText.ChartsText, (0, _extends2.default)({
|
|
47
|
+
x: cx,
|
|
48
|
+
y: cy,
|
|
49
|
+
text: formattedText,
|
|
50
|
+
style: {
|
|
51
|
+
textAnchor: 'middle',
|
|
52
|
+
dominantBaseline: 'central'
|
|
53
|
+
}
|
|
54
|
+
}, other))
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
process.env.NODE_ENV !== "production" ? GaugeValueText.propTypes = {
|
|
58
|
+
// ----------------------------- Warning --------------------------------
|
|
59
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
60
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
61
|
+
// ----------------------------------------------------------------------
|
|
62
|
+
/**
|
|
63
|
+
* Height of a text line (in `em`).
|
|
64
|
+
*/
|
|
65
|
+
lineHeight: _propTypes.default.number,
|
|
66
|
+
/**
|
|
67
|
+
* If `true`, the line width is computed.
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
needsComputation: _propTypes.default.bool,
|
|
71
|
+
ownerState: _propTypes.default.any,
|
|
72
|
+
/**
|
|
73
|
+
* Style applied to text elements.
|
|
74
|
+
*/
|
|
75
|
+
style: _propTypes.default.object,
|
|
76
|
+
text: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string])
|
|
77
|
+
} : void 0;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface GaugeClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the arc diplaying the value. */
|
|
5
|
+
valueArc: string;
|
|
6
|
+
/** Styles applied to the arc diplaying the range of available values. */
|
|
7
|
+
referenceArc: string;
|
|
8
|
+
/** Styles applied to the value text. */
|
|
9
|
+
valueText: string;
|
|
10
|
+
}
|
|
11
|
+
export type GaugeClassKey = keyof GaugeClasses;
|
|
12
|
+
export declare function getGaugeUtilityClass(slot: string): string;
|
|
13
|
+
export declare const gaugeClasses: GaugeClasses;
|
|
14
|
+
export default gaugeClasses;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.gaugeClasses = exports.default = void 0;
|
|
8
|
+
exports.getGaugeUtilityClass = getGaugeUtilityClass;
|
|
9
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
10
|
+
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
11
|
+
function getGaugeUtilityClass(slot) {
|
|
12
|
+
return (0, _generateUtilityClass.default)('MuiGauge', slot);
|
|
13
|
+
}
|
|
14
|
+
const gaugeClasses = exports.gaugeClasses = (0, _generateUtilityClasses.default)('MuiGauge', ['root', 'valueArc', 'referenceArc', 'valueText']);
|
|
15
|
+
var _default = exports.default = gaugeClasses;
|
package/Gauge/index.d.ts
ADDED