@mui/x-charts 6.0.0-alpha.15 → 6.0.0-alpha.17
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 +13 -2
- package/BarChart/BarChart.js +45 -3
- package/BarChart/BarElement.d.ts +1318 -3
- package/BarChart/BarElement.js +10 -8
- package/BarChart/BarPlot.d.ts +17 -1
- package/BarChart/BarPlot.js +152 -66
- package/BarChart/formatter.js +1 -1
- package/CHANGELOG.md +131 -0
- package/ChartContainer/index.js +5 -2
- package/ChartsAxis/ChartsAxis.js +18 -2
- package/ChartsAxis/axisClasses.d.ts +1 -1
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -2
- package/ChartsClipPath/ChartsClipPath.js +2 -2
- package/ChartsLegend/ChartsLegend.d.ts +2 -1
- package/ChartsLegend/ChartsLegend.js +12 -8
- package/ChartsSurface.js +2 -2
- package/ChartsTooltip/ChartsAxisTooltipContent.js +29 -23
- package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/ChartsTooltip/ChartsTooltip.js +2 -2
- package/ChartsTooltip/utils.js +2 -2
- package/ChartsXAxis/ChartsXAxis.js +123 -35
- package/ChartsYAxis/ChartsYAxis.js +38 -16
- package/LineChart/AreaElement.d.ts +10 -0
- package/LineChart/AreaElement.js +12 -2
- package/LineChart/AreaPlot.d.ts +11 -0
- package/LineChart/AreaPlot.js +24 -7
- package/LineChart/LineChart.d.ts +10 -0
- package/LineChart/LineChart.js +36 -2
- package/LineChart/LineElement.d.ts +10 -0
- package/LineChart/LineElement.js +12 -2
- package/LineChart/LineHighlightElement.d.ts +10 -0
- package/LineChart/LineHighlightElement.js +12 -2
- package/LineChart/LineHighlightPlot.d.ts +10 -0
- package/LineChart/LineHighlightPlot.js +14 -3
- package/LineChart/LinePlot.d.ts +10 -0
- package/LineChart/LinePlot.js +22 -11
- package/LineChart/MarkElement.d.ts +10 -0
- package/LineChart/MarkElement.js +12 -2
- package/LineChart/MarkPlot.d.ts +10 -0
- package/LineChart/MarkPlot.js +40 -9
- package/LineChart/formatter.js +4 -3
- package/PieChart/PieArc.js +2 -2
- package/PieChart/PieArcLabel.js +2 -2
- package/PieChart/PieChart.d.ts +10 -0
- package/PieChart/PieChart.js +37 -2
- package/PieChart/PiePlot.d.ts +10 -0
- package/PieChart/PiePlot.js +12 -2
- package/ResponsiveChartContainer/index.js +4 -4
- package/ScatterChart/Scatter.d.ts +10 -0
- package/ScatterChart/Scatter.js +12 -2
- package/ScatterChart/ScatterChart.d.ts +10 -0
- package/ScatterChart/ScatterChart.js +36 -2
- package/ScatterChart/ScatterPlot.d.ts +10 -0
- package/ScatterChart/ScatterPlot.js +12 -2
- package/SparkLineChart/SparkLineChart.d.ts +9 -0
- package/SparkLineChart/SparkLineChart.js +16 -2
- package/context/CartesianContextProvider.js +10 -2
- package/context/DrawingProvider.js +2 -2
- package/context/HighlightProvider.js +2 -2
- package/context/InteractionProvider.js +2 -2
- package/context/SeriesContextProvider.js +2 -2
- package/esm/BarChart/BarChart.js +43 -1
- 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 +16 -0
- package/esm/ChartsLegend/ChartsLegend.js +10 -6
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +27 -21
- package/esm/ChartsXAxis/ChartsXAxis.js +122 -34
- package/esm/ChartsYAxis/ChartsYAxis.js +36 -14
- package/esm/LineChart/AreaElement.js +10 -0
- package/esm/LineChart/AreaPlot.js +24 -6
- package/esm/LineChart/LineChart.js +34 -0
- 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 +23 -14
- package/esm/LineChart/MarkElement.js +10 -0
- package/esm/LineChart/MarkPlot.js +38 -7
- package/esm/LineChart/formatter.js +7 -3
- package/esm/PieChart/PieChart.js +35 -0
- package/esm/PieChart/PiePlot.js +10 -0
- package/esm/ResponsiveChartContainer/index.js +2 -2
- package/esm/ScatterChart/Scatter.js +10 -0
- package/esm/ScatterChart/ScatterChart.js +34 -0
- package/esm/ScatterChart/ScatterPlot.js +10 -0
- package/esm/SparkLineChart/SparkLineChart.js +14 -0
- package/esm/context/CartesianContextProvider.js +8 -0
- package/esm/hooks/useMounted.js +16 -0
- package/esm/hooks/useReducedMotion.js +27 -0
- package/esm/hooks/useTicks.js +12 -6
- package/esm/internals/components/ChartsText.js +19 -13
- package/esm/internals/geometry.js +36 -0
- package/hooks/useAxisEvents.js +2 -2
- package/hooks/useChartDimensions.js +2 -2
- 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 +18 -9
- package/hooks/useTicks.js +14 -8
- package/index.js +1 -1
- package/internals/components/ChartsText.d.ts +11 -8
- package/internals/components/ChartsText.js +21 -15
- package/internals/defaultizeColor.d.ts +2 -2
- package/internals/domUtils.d.ts +0 -1
- package/internals/geometry.d.ts +9 -0
- package/internals/geometry.js +42 -0
- package/legacy/BarChart/BarChart.js +43 -1
- 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 +16 -0
- package/legacy/ChartsLegend/ChartsLegend.js +14 -7
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +5 -1
- package/legacy/ChartsXAxis/ChartsXAxis.js +126 -36
- package/legacy/ChartsYAxis/ChartsYAxis.js +36 -14
- package/legacy/LineChart/AreaElement.js +10 -0
- package/legacy/LineChart/AreaPlot.js +27 -7
- package/legacy/LineChart/LineChart.js +34 -0
- 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 +25 -12
- package/legacy/LineChart/MarkElement.js +10 -0
- package/legacy/LineChart/MarkPlot.js +37 -7
- package/legacy/LineChart/formatter.js +7 -3
- package/legacy/PieChart/PieChart.js +35 -0
- package/legacy/PieChart/PiePlot.js +10 -0
- package/legacy/ResponsiveChartContainer/index.js +2 -2
- package/legacy/ScatterChart/Scatter.js +10 -0
- package/legacy/ScatterChart/ScatterChart.js +34 -0
- package/legacy/ScatterChart/ScatterPlot.js +10 -0
- package/legacy/SparkLineChart/SparkLineChart.js +14 -0
- package/legacy/context/CartesianContextProvider.js +8 -0
- package/legacy/hooks/useMounted.js +21 -0
- package/legacy/hooks/useReducedMotion.js +27 -0
- package/legacy/hooks/useTicks.js +13 -6
- package/legacy/index.js +1 -1
- package/legacy/internals/components/ChartsText.js +17 -15
- package/legacy/internals/geometry.js +37 -0
- package/models/axis.d.ts +19 -2
- package/models/seriesType/line.d.ts +3 -3
- package/modern/BarChart/BarChart.js +43 -1
- 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 +16 -0
- package/modern/ChartsLegend/ChartsLegend.js +10 -6
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +27 -21
- package/modern/ChartsXAxis/ChartsXAxis.js +122 -34
- package/modern/ChartsYAxis/ChartsYAxis.js +36 -14
- package/modern/LineChart/AreaElement.js +10 -0
- package/modern/LineChart/AreaPlot.js +22 -5
- package/modern/LineChart/LineChart.js +34 -0
- 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 +20 -9
- package/modern/LineChart/MarkElement.js +10 -0
- package/modern/LineChart/MarkPlot.js +38 -7
- package/modern/LineChart/formatter.js +4 -3
- package/modern/PieChart/PieChart.js +35 -0
- package/modern/PieChart/PiePlot.js +10 -0
- package/modern/ResponsiveChartContainer/index.js +2 -2
- package/modern/ScatterChart/Scatter.js +10 -0
- package/modern/ScatterChart/ScatterChart.js +34 -0
- package/modern/ScatterChart/ScatterPlot.js +10 -0
- package/modern/SparkLineChart/SparkLineChart.js +14 -0
- package/modern/context/CartesianContextProvider.js +8 -0
- package/modern/hooks/useMounted.js +16 -0
- package/modern/hooks/useReducedMotion.js +27 -0
- package/modern/hooks/useTicks.js +12 -6
- package/modern/index.js +1 -1
- package/modern/internals/components/ChartsText.js +19 -13
- package/modern/internals/geometry.js +36 -0
- package/package.json +5 -3
|
@@ -70,5 +70,14 @@ export interface SparkLineChartProps extends Omit<ResponsiveChartContainerProps,
|
|
|
70
70
|
*/
|
|
71
71
|
slotProps?: SparkLineChartSlotComponentProps;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Demos:
|
|
75
|
+
*
|
|
76
|
+
* - [SparkLine](https://mui.com/x/react-charts/sparkline/)
|
|
77
|
+
*
|
|
78
|
+
* API:
|
|
79
|
+
*
|
|
80
|
+
* - [SparkLineChart API](https://mui.com/x/api/charts/spark-line-chart/)
|
|
81
|
+
*/
|
|
73
82
|
declare const SparkLineChart: React.ForwardRefExoticComponent<SparkLineChartProps & React.RefAttributes<unknown>>;
|
|
74
83
|
export { SparkLineChart };
|
|
@@ -15,14 +15,24 @@ var _constants = require("../constants");
|
|
|
15
15
|
var _ChartsTooltip = require("../ChartsTooltip");
|
|
16
16
|
var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
function _getRequireWildcardCache(
|
|
19
|
-
function _interopRequireWildcard(
|
|
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
20
|
const SPARKLINE_DEFAULT_MARGIN = {
|
|
21
21
|
top: 5,
|
|
22
22
|
bottom: 5,
|
|
23
23
|
left: 5,
|
|
24
24
|
right: 5
|
|
25
25
|
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Demos:
|
|
29
|
+
*
|
|
30
|
+
* - [SparkLine](https://mui.com/x/react-charts/sparkline/)
|
|
31
|
+
*
|
|
32
|
+
* API:
|
|
33
|
+
*
|
|
34
|
+
* - [SparkLineChart API](https://mui.com/x/api/charts/spark-line-chart/)
|
|
35
|
+
*/
|
|
26
36
|
const SparkLineChart = exports.SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props, ref) {
|
|
27
37
|
const {
|
|
28
38
|
xAxis,
|
|
@@ -203,6 +213,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
203
213
|
id: _propTypes.default.string,
|
|
204
214
|
label: _propTypes.default.string,
|
|
205
215
|
labelFontSize: _propTypes.default.number,
|
|
216
|
+
labelStyle: _propTypes.default.object,
|
|
206
217
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
207
218
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
208
219
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -211,6 +222,9 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
|
|
|
211
222
|
slots: _propTypes.default.object,
|
|
212
223
|
stroke: _propTypes.default.string,
|
|
213
224
|
tickFontSize: _propTypes.default.number,
|
|
225
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
226
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
227
|
+
tickLabelStyle: _propTypes.default.object,
|
|
214
228
|
tickMaxStep: _propTypes.default.number,
|
|
215
229
|
tickMinStep: _propTypes.default.number,
|
|
216
230
|
tickNumber: _propTypes.default.number,
|
|
@@ -20,8 +20,8 @@ var _SeriesContextProvider = require("./SeriesContextProvider");
|
|
|
20
20
|
var _constants = require("../constants");
|
|
21
21
|
var _useTicks = require("../hooks/useTicks");
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
function _getRequireWildcardCache(
|
|
24
|
-
function _interopRequireWildcard(
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && 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; }
|
|
25
25
|
const DEFAULT_CATEGORY_GAP_RATIO = 0.2;
|
|
26
26
|
const DEFAULT_BAR_GAP_RATIO = 0.1;
|
|
27
27
|
|
|
@@ -232,6 +232,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
232
232
|
id: _propTypes.default.string,
|
|
233
233
|
label: _propTypes.default.string,
|
|
234
234
|
labelFontSize: _propTypes.default.number,
|
|
235
|
+
labelStyle: _propTypes.default.object,
|
|
235
236
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
236
237
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
237
238
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -240,6 +241,9 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
240
241
|
slots: _propTypes.default.object,
|
|
241
242
|
stroke: _propTypes.default.string,
|
|
242
243
|
tickFontSize: _propTypes.default.number,
|
|
244
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
245
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
246
|
+
tickLabelStyle: _propTypes.default.object,
|
|
243
247
|
tickMaxStep: _propTypes.default.number,
|
|
244
248
|
tickMinStep: _propTypes.default.number,
|
|
245
249
|
tickNumber: _propTypes.default.number,
|
|
@@ -258,6 +262,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
258
262
|
id: _propTypes.default.string,
|
|
259
263
|
label: _propTypes.default.string,
|
|
260
264
|
labelFontSize: _propTypes.default.number,
|
|
265
|
+
labelStyle: _propTypes.default.object,
|
|
261
266
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
262
267
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
263
268
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -266,6 +271,9 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
|
|
|
266
271
|
slots: _propTypes.default.object,
|
|
267
272
|
stroke: _propTypes.default.string,
|
|
268
273
|
tickFontSize: _propTypes.default.number,
|
|
274
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
275
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
276
|
+
tickLabelStyle: _propTypes.default.object,
|
|
269
277
|
tickMaxStep: _propTypes.default.number,
|
|
270
278
|
tickMinStep: _propTypes.default.number,
|
|
271
279
|
tickNumber: _propTypes.default.number,
|
|
@@ -11,8 +11,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _useChartDimensions = _interopRequireDefault(require("../hooks/useChartDimensions"));
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
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
16
|
/**
|
|
17
17
|
* Defines the area in which it is possible to draw the charts.
|
|
18
18
|
*/
|
|
@@ -9,8 +9,8 @@ exports.HighlightProvider = HighlightProvider;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
14
|
const defaultScope = {
|
|
15
15
|
highlighted: 'none',
|
|
16
16
|
faded: 'none'
|
|
@@ -9,8 +9,8 @@ exports.InteractionProvider = InteractionProvider;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
14
|
const InteractionContext = exports.InteractionContext = /*#__PURE__*/React.createContext({
|
|
15
15
|
item: null,
|
|
16
16
|
axis: {
|
|
@@ -16,8 +16,8 @@ var _formatter4 = _interopRequireDefault(require("../PieChart/formatter"));
|
|
|
16
16
|
var _defaultizeColor = require("../internals/defaultizeColor");
|
|
17
17
|
var _colorPalettes = require("../colorPalettes");
|
|
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 SeriesContext = exports.SeriesContext = /*#__PURE__*/React.createContext({});
|
|
22
22
|
const seriesTypeFormatter = {
|
|
23
23
|
bar: _formatter.default,
|
package/esm/BarChart/BarChart.js
CHANGED
|
@@ -12,6 +12,17 @@ import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
|
|
|
12
12
|
import { ChartsClipPath } from '../ChartsClipPath';
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
/**
|
|
16
|
+
* Demos:
|
|
17
|
+
*
|
|
18
|
+
* - [Bars](https://mui.com/x/react-charts/bars/)
|
|
19
|
+
* - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
|
|
20
|
+
* - [Stacking](https://mui.com/x/react-charts/stacking/)
|
|
21
|
+
*
|
|
22
|
+
* API:
|
|
23
|
+
*
|
|
24
|
+
* - [BarChart API](https://mui.com/x/api/charts/bar-chart/)
|
|
25
|
+
*/
|
|
15
26
|
const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
|
|
16
27
|
const {
|
|
17
28
|
xAxis,
|
|
@@ -31,6 +42,7 @@ const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
|
|
|
31
42
|
leftAxis,
|
|
32
43
|
rightAxis,
|
|
33
44
|
bottomAxis,
|
|
45
|
+
skipAnimation,
|
|
34
46
|
children,
|
|
35
47
|
slots,
|
|
36
48
|
slotProps
|
|
@@ -76,7 +88,8 @@ const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
|
|
|
76
88
|
clipPath: `url(#${clipPathId})`,
|
|
77
89
|
children: /*#__PURE__*/_jsx(BarPlot, {
|
|
78
90
|
slots: slots,
|
|
79
|
-
slotProps: slotProps
|
|
91
|
+
slotProps: slotProps,
|
|
92
|
+
skipAnimation: skipAnimation
|
|
80
93
|
})
|
|
81
94
|
}), /*#__PURE__*/_jsx(ChartsAxis, {
|
|
82
95
|
topAxis: topAxis,
|
|
@@ -118,11 +131,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
118
131
|
fill: PropTypes.string,
|
|
119
132
|
label: PropTypes.string,
|
|
120
133
|
labelFontSize: PropTypes.number,
|
|
134
|
+
labelStyle: PropTypes.object,
|
|
121
135
|
position: PropTypes.oneOf(['bottom', 'top']),
|
|
122
136
|
slotProps: PropTypes.object,
|
|
123
137
|
slots: PropTypes.object,
|
|
124
138
|
stroke: PropTypes.string,
|
|
125
139
|
tickFontSize: PropTypes.number,
|
|
140
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
141
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
142
|
+
tickLabelStyle: PropTypes.object,
|
|
126
143
|
tickMaxStep: PropTypes.number,
|
|
127
144
|
tickMinStep: PropTypes.number,
|
|
128
145
|
tickNumber: PropTypes.number,
|
|
@@ -152,11 +169,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
152
169
|
fill: PropTypes.string,
|
|
153
170
|
label: PropTypes.string,
|
|
154
171
|
labelFontSize: PropTypes.number,
|
|
172
|
+
labelStyle: PropTypes.object,
|
|
155
173
|
position: PropTypes.oneOf(['left', 'right']),
|
|
156
174
|
slotProps: PropTypes.object,
|
|
157
175
|
slots: PropTypes.object,
|
|
158
176
|
stroke: PropTypes.string,
|
|
159
177
|
tickFontSize: PropTypes.number,
|
|
178
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
179
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
180
|
+
tickLabelStyle: PropTypes.object,
|
|
160
181
|
tickMaxStep: PropTypes.number,
|
|
161
182
|
tickMinStep: PropTypes.number,
|
|
162
183
|
tickNumber: PropTypes.number,
|
|
@@ -195,11 +216,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
195
216
|
fill: PropTypes.string,
|
|
196
217
|
label: PropTypes.string,
|
|
197
218
|
labelFontSize: PropTypes.number,
|
|
219
|
+
labelStyle: PropTypes.object,
|
|
198
220
|
position: PropTypes.oneOf(['left', 'right']),
|
|
199
221
|
slotProps: PropTypes.object,
|
|
200
222
|
slots: PropTypes.object,
|
|
201
223
|
stroke: PropTypes.string,
|
|
202
224
|
tickFontSize: PropTypes.number,
|
|
225
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
226
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
227
|
+
tickLabelStyle: PropTypes.object,
|
|
203
228
|
tickMaxStep: PropTypes.number,
|
|
204
229
|
tickMinStep: PropTypes.number,
|
|
205
230
|
tickNumber: PropTypes.number,
|
|
@@ -224,6 +249,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
224
249
|
xAxisKey: PropTypes.string,
|
|
225
250
|
yAxisKey: PropTypes.string
|
|
226
251
|
})).isRequired,
|
|
252
|
+
/**
|
|
253
|
+
* If `true`, animations are skiped.
|
|
254
|
+
* @default false
|
|
255
|
+
*/
|
|
256
|
+
skipAnimation: PropTypes.bool,
|
|
227
257
|
/**
|
|
228
258
|
* The props used for each component slot.
|
|
229
259
|
* @default {}
|
|
@@ -257,11 +287,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
257
287
|
fill: PropTypes.string,
|
|
258
288
|
label: PropTypes.string,
|
|
259
289
|
labelFontSize: PropTypes.number,
|
|
290
|
+
labelStyle: PropTypes.object,
|
|
260
291
|
position: PropTypes.oneOf(['bottom', 'top']),
|
|
261
292
|
slotProps: PropTypes.object,
|
|
262
293
|
slots: PropTypes.object,
|
|
263
294
|
stroke: PropTypes.string,
|
|
264
295
|
tickFontSize: PropTypes.number,
|
|
296
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
297
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
298
|
+
tickLabelStyle: PropTypes.object,
|
|
265
299
|
tickMaxStep: PropTypes.number,
|
|
266
300
|
tickMinStep: PropTypes.number,
|
|
267
301
|
tickNumber: PropTypes.number,
|
|
@@ -286,6 +320,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
286
320
|
id: PropTypes.string,
|
|
287
321
|
label: PropTypes.string,
|
|
288
322
|
labelFontSize: PropTypes.number,
|
|
323
|
+
labelStyle: PropTypes.object,
|
|
289
324
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
290
325
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
291
326
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -294,6 +329,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
294
329
|
slots: PropTypes.object,
|
|
295
330
|
stroke: PropTypes.string,
|
|
296
331
|
tickFontSize: PropTypes.number,
|
|
332
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
333
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
334
|
+
tickLabelStyle: PropTypes.object,
|
|
297
335
|
tickMaxStep: PropTypes.number,
|
|
298
336
|
tickMinStep: PropTypes.number,
|
|
299
337
|
tickNumber: PropTypes.number,
|
|
@@ -312,6 +350,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
312
350
|
id: PropTypes.string,
|
|
313
351
|
label: PropTypes.string,
|
|
314
352
|
labelFontSize: PropTypes.number,
|
|
353
|
+
labelStyle: PropTypes.object,
|
|
315
354
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
316
355
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
317
356
|
position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
|
|
@@ -320,6 +359,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
320
359
|
slots: PropTypes.object,
|
|
321
360
|
stroke: PropTypes.string,
|
|
322
361
|
tickFontSize: PropTypes.number,
|
|
362
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
363
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
364
|
+
tickLabelStyle: PropTypes.object,
|
|
323
365
|
tickMaxStep: PropTypes.number,
|
|
324
366
|
tickMinStep: PropTypes.number,
|
|
325
367
|
tickNumber: PropTypes.number,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps"];
|
|
3
|
+
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps", "style"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
6
|
import { useSlotProps } from '@mui/base/utils';
|
|
@@ -8,13 +8,14 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import { color as d3Color } from 'd3-color';
|
|
10
10
|
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
11
|
+
import { animated } from '@react-spring/web';
|
|
11
12
|
import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
|
|
12
13
|
import { InteractionContext } from '../context/InteractionProvider';
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
export function getBarElementUtilityClass(slot) {
|
|
15
16
|
return generateUtilityClass('MuiBarElement', slot);
|
|
16
17
|
}
|
|
17
|
-
export const
|
|
18
|
+
export const barElementClasses = generateUtilityClasses('MuiBarElement', ['root']);
|
|
18
19
|
const useUtilityClasses = ownerState => {
|
|
19
20
|
const {
|
|
20
21
|
classes,
|
|
@@ -25,7 +26,7 @@ const useUtilityClasses = ownerState => {
|
|
|
25
26
|
};
|
|
26
27
|
return composeClasses(slots, getBarElementUtilityClass, classes);
|
|
27
28
|
};
|
|
28
|
-
export const BarElementPath = styled(
|
|
29
|
+
export const BarElementPath = styled(animated.rect, {
|
|
29
30
|
name: 'MuiBarElement',
|
|
30
31
|
slot: 'Root',
|
|
31
32
|
overridesResolver: (_, styles) => styles.root
|
|
@@ -47,7 +48,8 @@ export function BarElement(props) {
|
|
|
47
48
|
color,
|
|
48
49
|
highlightScope,
|
|
49
50
|
slots,
|
|
50
|
-
slotProps
|
|
51
|
+
slotProps,
|
|
52
|
+
style
|
|
51
53
|
} = props,
|
|
52
54
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
53
55
|
const getInteractionItemProps = useInteractionItemProps(highlightScope);
|
|
@@ -82,6 +84,7 @@ export function BarElement(props) {
|
|
|
82
84
|
seriesId: id,
|
|
83
85
|
dataIndex
|
|
84
86
|
}), {
|
|
87
|
+
style,
|
|
85
88
|
className: classes.root
|
|
86
89
|
}),
|
|
87
90
|
ownerState
|
package/esm/BarChart/BarPlot.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
1
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["skipAnimation"];
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { useTransition } from '@react-spring/web';
|
|
4
7
|
import { SeriesContext } from '../context/SeriesContextProvider';
|
|
5
8
|
import { CartesianContext } from '../context/CartesianContextProvider';
|
|
6
9
|
import { BarElement } from './BarElement';
|
|
7
10
|
import { isBandScaleConfig } from '../models/axis';
|
|
8
|
-
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
12
|
/**
|
|
10
13
|
* Solution of the equations
|
|
11
14
|
* W = barWidth * N + offset * (N-1)
|
|
@@ -15,7 +18,6 @@ import { isBandScaleConfig } from '../models/axis';
|
|
|
15
18
|
* @param gapRatio The ratio of the gap between bars over the bar width.
|
|
16
19
|
* @returns The bar width and the offset between bars.
|
|
17
20
|
*/
|
|
18
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
21
|
function getBandSize({
|
|
20
22
|
bandWidth: W,
|
|
21
23
|
numberOfGroups: N,
|
|
@@ -34,12 +36,14 @@ function getBandSize({
|
|
|
34
36
|
offset
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
const useCompletedData = () => {
|
|
40
|
+
var _React$useContext$bar;
|
|
41
|
+
const seriesData = (_React$useContext$bar = React.useContext(SeriesContext).bar) != null ? _React$useContext$bar : {
|
|
42
|
+
series: {},
|
|
43
|
+
stackingGroups: [],
|
|
44
|
+
seriesOrder: []
|
|
45
|
+
};
|
|
39
46
|
const axisData = React.useContext(CartesianContext);
|
|
40
|
-
if (seriesData === undefined) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
47
|
const {
|
|
44
48
|
series,
|
|
45
49
|
stackingGroups
|
|
@@ -52,68 +56,144 @@ function BarPlot(props) {
|
|
|
52
56
|
} = axisData;
|
|
53
57
|
const defaultXAxisId = xAxisIds[0];
|
|
54
58
|
const defaultYAxisId = yAxisIds[0];
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
|
|
78
|
-
}
|
|
79
|
-
if (yAxis[yAxisKey].data === undefined) {
|
|
80
|
-
throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
|
|
81
|
-
}
|
|
82
|
-
baseScaleConfig = yAxisConfig;
|
|
59
|
+
const data = stackingGroups.flatMap(({
|
|
60
|
+
ids: groupIds
|
|
61
|
+
}, groupIndex) => {
|
|
62
|
+
return groupIds.flatMap(seriesId => {
|
|
63
|
+
var _series$seriesId$xAxi, _series$seriesId$yAxi;
|
|
64
|
+
const xAxisKey = (_series$seriesId$xAxi = series[seriesId].xAxisKey) != null ? _series$seriesId$xAxi : defaultXAxisId;
|
|
65
|
+
const yAxisKey = (_series$seriesId$yAxi = series[seriesId].yAxisKey) != null ? _series$seriesId$yAxi : defaultYAxisId;
|
|
66
|
+
const xAxisConfig = xAxis[xAxisKey];
|
|
67
|
+
const yAxisConfig = yAxis[yAxisKey];
|
|
68
|
+
const verticalLayout = series[seriesId].layout === 'vertical';
|
|
69
|
+
let baseScaleConfig;
|
|
70
|
+
if (verticalLayout) {
|
|
71
|
+
if (!isBandScaleConfig(xAxisConfig)) {
|
|
72
|
+
throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
|
|
73
|
+
}
|
|
74
|
+
if (xAxis[xAxisKey].data === undefined) {
|
|
75
|
+
throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
|
|
76
|
+
}
|
|
77
|
+
baseScaleConfig = xAxisConfig;
|
|
78
|
+
} else {
|
|
79
|
+
if (!isBandScaleConfig(yAxisConfig)) {
|
|
80
|
+
throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
|
|
83
81
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
82
|
+
if (yAxis[yAxisKey].data === undefined) {
|
|
83
|
+
throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
|
|
84
|
+
}
|
|
85
|
+
baseScaleConfig = yAxisConfig;
|
|
86
|
+
}
|
|
87
|
+
const xScale = xAxisConfig.scale;
|
|
88
|
+
const yScale = yAxisConfig.scale;
|
|
89
|
+
const bandWidth = baseScaleConfig.scale.bandwidth();
|
|
90
|
+
const {
|
|
91
|
+
barWidth,
|
|
92
|
+
offset
|
|
93
|
+
} = getBandSize({
|
|
94
|
+
bandWidth,
|
|
95
|
+
numberOfGroups: stackingGroups.length,
|
|
96
|
+
gapRatio: baseScaleConfig.barGapRatio
|
|
97
|
+
});
|
|
98
|
+
const barOffset = groupIndex * (barWidth + offset);
|
|
99
|
+
const {
|
|
100
|
+
stackedData,
|
|
101
|
+
color
|
|
102
|
+
} = series[seriesId];
|
|
103
|
+
return stackedData.map((values, dataIndex) => {
|
|
104
|
+
var _xAxis$xAxisKey$data, _yAxis$yAxisKey$data;
|
|
105
|
+
const bottom = Math.min(...values);
|
|
106
|
+
const top = Math.max(...values);
|
|
107
|
+
return {
|
|
108
|
+
bottom,
|
|
109
|
+
top,
|
|
110
|
+
seriesId,
|
|
111
|
+
dataIndex,
|
|
112
|
+
layout: series[seriesId].layout,
|
|
113
|
+
x: verticalLayout ? xScale((_xAxis$xAxisKey$data = xAxis[xAxisKey].data) == null ? void 0 : _xAxis$xAxisKey$data[dataIndex]) + barOffset : xScale(bottom),
|
|
114
|
+
y: verticalLayout ? yScale(top) : yScale((_yAxis$yAxisKey$data = yAxis[yAxisKey].data) == null ? void 0 : _yAxis$yAxisKey$data[dataIndex]) + barOffset,
|
|
115
|
+
xOrigin: xScale(0),
|
|
116
|
+
yOrigin: yScale(0),
|
|
117
|
+
height: verticalLayout ? Math.abs(yScale(bottom) - yScale(top)) : barWidth,
|
|
118
|
+
width: verticalLayout ? barWidth : Math.abs(xScale(bottom) - xScale(top)),
|
|
119
|
+
color,
|
|
120
|
+
highlightScope: series[seriesId].highlightScope
|
|
121
|
+
};
|
|
115
122
|
});
|
|
116
|
-
})
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return data;
|
|
126
|
+
};
|
|
127
|
+
const getOutStyle = ({
|
|
128
|
+
layout,
|
|
129
|
+
yOrigin,
|
|
130
|
+
x,
|
|
131
|
+
width,
|
|
132
|
+
y,
|
|
133
|
+
xOrigin,
|
|
134
|
+
height
|
|
135
|
+
}) => _extends({}, layout === 'vertical' ? {
|
|
136
|
+
y: yOrigin,
|
|
137
|
+
x,
|
|
138
|
+
height: 0,
|
|
139
|
+
width
|
|
140
|
+
} : {
|
|
141
|
+
y,
|
|
142
|
+
x: xOrigin,
|
|
143
|
+
height,
|
|
144
|
+
width: 0
|
|
145
|
+
});
|
|
146
|
+
const getInStyle = ({
|
|
147
|
+
x,
|
|
148
|
+
width,
|
|
149
|
+
y,
|
|
150
|
+
height
|
|
151
|
+
}) => ({
|
|
152
|
+
y,
|
|
153
|
+
x,
|
|
154
|
+
height,
|
|
155
|
+
width
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Demos:
|
|
160
|
+
*
|
|
161
|
+
* - [Bars](https://mui.com/x/react-charts/bars/)
|
|
162
|
+
* - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
|
|
163
|
+
* - [Stacking](https://mui.com/x/react-charts/stacking/)
|
|
164
|
+
*
|
|
165
|
+
* API:
|
|
166
|
+
*
|
|
167
|
+
* - [BarPlot API](https://mui.com/x/api/charts/bar-plot/)
|
|
168
|
+
*/
|
|
169
|
+
function BarPlot(props) {
|
|
170
|
+
const completedData = useCompletedData();
|
|
171
|
+
const {
|
|
172
|
+
skipAnimation
|
|
173
|
+
} = props,
|
|
174
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
175
|
+
const transition = useTransition(completedData, {
|
|
176
|
+
keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
|
|
177
|
+
from: getOutStyle,
|
|
178
|
+
leave: getOutStyle,
|
|
179
|
+
enter: getInStyle,
|
|
180
|
+
update: getInStyle,
|
|
181
|
+
immediate: skipAnimation
|
|
182
|
+
});
|
|
183
|
+
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
184
|
+
children: transition((style, {
|
|
185
|
+
seriesId,
|
|
186
|
+
dataIndex,
|
|
187
|
+
color,
|
|
188
|
+
highlightScope
|
|
189
|
+
}) => /*#__PURE__*/_jsx(BarElement, _extends({
|
|
190
|
+
id: seriesId,
|
|
191
|
+
dataIndex: dataIndex,
|
|
192
|
+
highlightScope: highlightScope,
|
|
193
|
+
color: color
|
|
194
|
+
}, other, {
|
|
195
|
+
style: style
|
|
196
|
+
})))
|
|
117
197
|
});
|
|
118
198
|
}
|
|
119
199
|
process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
|
|
@@ -121,6 +201,11 @@ process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
|
|
|
121
201
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
122
202
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
123
203
|
// ----------------------------------------------------------------------
|
|
204
|
+
/**
|
|
205
|
+
* If `true`, animations are skiped.
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
skipAnimation: PropTypes.bool,
|
|
124
209
|
/**
|
|
125
210
|
* The props used for each component slot.
|
|
126
211
|
* @default {}
|