@mui/x-charts 7.0.0-alpha.9 → 7.0.0-beta.1
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 +2 -1
- package/BarChart/BarChart.js +24 -23
- package/BarChart/BarElement.d.ts +1 -1
- package/BarChart/BarElement.js +6 -3
- package/BarChart/BarPlot.d.ts +8 -1
- package/BarChart/BarPlot.js +19 -5
- package/BarChart/formatter.js +1 -1
- package/CHANGELOG.md +386 -38
- package/ChartContainer/ChartContainer.d.ts +12 -0
- package/ChartContainer/ChartContainer.js +197 -0
- package/ChartContainer/index.d.ts +1 -11
- package/ChartContainer/index.js +9 -63
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.d.ts +20 -0
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +83 -0
- package/ChartsOnAxisClickHandler/index.d.ts +1 -0
- package/ChartsOnAxisClickHandler/index.js +16 -0
- package/ChartsOnAxisClickHandler/package.json +6 -0
- package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
- package/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -58
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
- package/ChartsTooltip/utils.d.ts +3 -1
- package/ChartsTooltip/utils.js +8 -0
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +7 -0
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/LineChart/AnimatedArea.d.ts +1361 -0
- package/LineChart/AnimatedArea.js +111 -0
- package/LineChart/AnimatedLine.d.ts +1361 -0
- package/LineChart/AnimatedLine.js +113 -0
- package/LineChart/AreaElement.d.ts +17 -17
- package/LineChart/AreaElement.js +17 -34
- package/LineChart/AreaPlot.d.ts +12 -7
- package/LineChart/AreaPlot.js +91 -58
- package/LineChart/LineChart.d.ts +13 -4
- package/LineChart/LineChart.js +36 -29
- package/LineChart/LineElement.d.ts +17 -17
- package/LineChart/LineElement.js +16 -36
- package/LineChart/LineHighlightElement.js +3 -2
- package/LineChart/LinePlot.d.ts +12 -7
- package/LineChart/LinePlot.js +89 -56
- package/LineChart/MarkElement.d.ts +5 -2
- package/LineChart/MarkElement.js +26 -13
- package/LineChart/MarkPlot.d.ts +8 -1
- package/LineChart/MarkPlot.js +80 -51
- package/LineChart/formatter.js +1 -1
- package/LineChart/index.d.ts +2 -0
- package/LineChart/index.js +22 -0
- package/PieChart/PieArcLabelPlot.d.ts +1 -1
- package/PieChart/PieArcLabelPlot.js +1 -1
- package/PieChart/PieArcPlot.d.ts +2 -2
- package/PieChart/PieArcPlot.js +6 -6
- package/PieChart/PieChart.d.ts +1 -1
- package/PieChart/PieChart.js +5 -50
- package/PieChart/PiePlot.d.ts +1 -1
- package/PieChart/PiePlot.js +4 -4
- package/README.md +2 -2
- package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +16 -0
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +250 -0
- package/ResponsiveChartContainer/index.d.ts +1 -15
- package/ResponsiveChartContainer/index.js +8 -113
- package/ScatterChart/Scatter.d.ts +7 -1
- package/ScatterChart/Scatter.js +18 -23
- package/ScatterChart/ScatterChart.d.ts +8 -2
- package/ScatterChart/ScatterChart.js +12 -22
- package/ScatterChart/ScatterPlot.d.ts +1 -1
- package/ScatterChart/ScatterPlot.js +10 -2
- package/SparkLineChart/SparkLineChart.js +2 -0
- package/context/DrawingProvider.d.ts +6 -1
- package/context/DrawingProvider.js +9 -2
- package/context/InteractionProvider.d.ts +3 -3
- package/esm/BarChart/BarChart.js +24 -23
- package/esm/BarChart/BarElement.js +6 -3
- package/esm/BarChart/BarPlot.js +19 -5
- package/esm/BarChart/formatter.js +1 -1
- package/esm/ChartContainer/ChartContainer.js +189 -0
- package/esm/ChartContainer/index.js +1 -61
- package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +77 -0
- package/esm/ChartsOnAxisClickHandler/index.js +1 -0
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
- package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +9 -58
- package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
- package/esm/ChartsTooltip/utils.js +6 -0
- package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/esm/LineChart/AnimatedArea.js +103 -0
- package/esm/LineChart/AnimatedLine.js +105 -0
- package/esm/LineChart/AreaElement.js +16 -33
- package/esm/LineChart/AreaPlot.js +92 -59
- package/esm/LineChart/LineChart.js +36 -29
- package/esm/LineChart/LineElement.js +16 -35
- package/esm/LineChart/LineHighlightElement.js +3 -2
- package/esm/LineChart/LinePlot.js +90 -57
- package/esm/LineChart/MarkElement.js +26 -13
- package/esm/LineChart/MarkPlot.js +80 -51
- package/esm/LineChart/formatter.js +1 -1
- package/esm/LineChart/index.js +2 -0
- package/esm/PieChart/PieArcLabelPlot.js +1 -1
- package/esm/PieChart/PieArcPlot.js +6 -6
- package/esm/PieChart/PieChart.js +5 -50
- package/esm/PieChart/PiePlot.js +4 -4
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +245 -0
- package/esm/ResponsiveChartContainer/index.js +1 -115
- package/esm/ScatterChart/Scatter.js +18 -23
- package/esm/ScatterChart/ScatterChart.js +12 -22
- package/esm/ScatterChart/ScatterPlot.js +10 -2
- package/esm/SparkLineChart/SparkLineChart.js +2 -0
- package/esm/context/DrawingProvider.js +9 -2
- package/esm/hooks/useDrawingArea.js +7 -3
- package/esm/index.js +1 -0
- package/esm/internals/geometry.js +1 -1
- package/esm/internals/useAnimatedPath.js +29 -0
- package/esm/internals/utils.js +7 -0
- package/hooks/useDrawingArea.d.ts +2 -0
- package/hooks/useDrawingArea.js +7 -3
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/internals/geometry.js +1 -1
- package/internals/useAnimatedPath.d.ts +1 -0
- package/internals/useAnimatedPath.js +38 -0
- package/internals/utils.d.ts +4 -0
- package/internals/utils.js +8 -0
- package/legacy/BarChart/BarChart.js +24 -23
- package/legacy/BarChart/BarElement.js +5 -2
- package/legacy/BarChart/BarPlot.js +18 -4
- package/legacy/BarChart/formatter.js +1 -1
- package/legacy/ChartContainer/ChartContainer.js +187 -0
- package/legacy/ChartContainer/index.js +1 -59
- package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
- package/legacy/ChartsOnAxisClickHandler/index.js +1 -0
- package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +8 -61
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
- package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +9 -58
- package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
- package/legacy/ChartsTooltip/utils.js +6 -0
- package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +88 -44
- package/legacy/LineChart/AnimatedArea.js +102 -0
- package/legacy/LineChart/AnimatedLine.js +104 -0
- package/legacy/LineChart/AreaElement.js +15 -35
- package/legacy/LineChart/AreaPlot.js +102 -66
- package/legacy/LineChart/LineChart.js +36 -29
- package/legacy/LineChart/LineElement.js +15 -37
- package/legacy/LineChart/LineHighlightElement.js +3 -2
- package/legacy/LineChart/LinePlot.js +97 -63
- package/legacy/LineChart/MarkElement.js +29 -12
- package/legacy/LineChart/MarkPlot.js +83 -53
- package/legacy/LineChart/formatter.js +1 -1
- package/legacy/LineChart/index.js +2 -0
- package/legacy/PieChart/PieArcLabelPlot.js +1 -1
- package/legacy/PieChart/PieArcPlot.js +6 -6
- package/legacy/PieChart/PieChart.js +5 -50
- package/legacy/PieChart/PiePlot.js +4 -4
- package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +253 -0
- package/legacy/ResponsiveChartContainer/index.js +1 -123
- package/legacy/ScatterChart/Scatter.js +20 -23
- package/legacy/ScatterChart/ScatterChart.js +12 -22
- package/legacy/ScatterChart/ScatterPlot.js +10 -2
- package/legacy/SparkLineChart/SparkLineChart.js +2 -0
- package/legacy/context/DrawingProvider.js +11 -2
- package/legacy/hooks/useDrawingArea.js +7 -3
- package/legacy/index.js +2 -1
- package/legacy/internals/geometry.js +1 -1
- package/legacy/internals/useAnimatedPath.js +32 -0
- package/legacy/internals/utils.js +7 -0
- package/modern/BarChart/BarChart.js +24 -23
- package/modern/BarChart/BarElement.js +6 -3
- package/modern/BarChart/BarPlot.js +19 -5
- package/modern/BarChart/formatter.js +1 -1
- package/modern/ChartContainer/ChartContainer.js +189 -0
- package/modern/ChartContainer/index.js +1 -61
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
- package/modern/ChartsOnAxisClickHandler/index.js +1 -0
- package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -58
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
- package/modern/ChartsTooltip/utils.js +6 -0
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/modern/LineChart/AnimatedArea.js +103 -0
- package/modern/LineChart/AnimatedLine.js +105 -0
- package/modern/LineChart/AreaElement.js +16 -33
- package/modern/LineChart/AreaPlot.js +91 -58
- package/modern/LineChart/LineChart.js +36 -29
- package/modern/LineChart/LineElement.js +16 -35
- package/modern/LineChart/LineHighlightElement.js +3 -2
- package/modern/LineChart/LinePlot.js +89 -56
- package/modern/LineChart/MarkElement.js +26 -13
- package/modern/LineChart/MarkPlot.js +80 -51
- package/modern/LineChart/formatter.js +1 -1
- package/modern/LineChart/index.js +2 -0
- package/modern/PieChart/PieArcLabelPlot.js +1 -1
- package/modern/PieChart/PieArcPlot.js +6 -6
- package/modern/PieChart/PieChart.js +5 -50
- package/modern/PieChart/PiePlot.js +4 -4
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +242 -0
- package/modern/ResponsiveChartContainer/index.js +1 -112
- package/modern/ScatterChart/Scatter.js +18 -23
- package/modern/ScatterChart/ScatterChart.js +12 -22
- package/modern/ScatterChart/ScatterPlot.js +10 -2
- package/modern/SparkLineChart/SparkLineChart.js +2 -0
- package/modern/context/DrawingProvider.js +9 -2
- package/modern/hooks/useDrawingArea.js +7 -3
- package/modern/index.js +2 -1
- package/modern/internals/geometry.js +1 -1
- package/modern/internals/useAnimatedPath.js +29 -0
- package/modern/internals/utils.js +7 -0
- package/package.json +6 -5
package/BarChart/BarChart.d.ts
CHANGED
|
@@ -8,11 +8,12 @@ import { ChartsTooltipProps, ChartsTooltipSlotProps, ChartsTooltipSlots } from '
|
|
|
8
8
|
import { ChartsLegendProps, ChartsLegendSlots, ChartsLegendSlotProps } from '../ChartsLegend';
|
|
9
9
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
10
10
|
import { ChartsAxisSlots, ChartsAxisSlotProps } from '../models/axis';
|
|
11
|
+
import { ChartsOnAxisClickHandlerProps } from '../ChartsOnAxisClickHandler';
|
|
11
12
|
export interface BarChartSlots extends ChartsAxisSlots, BarPlotSlots, ChartsLegendSlots, ChartsTooltipSlots {
|
|
12
13
|
}
|
|
13
14
|
export interface BarChartSlotProps extends ChartsAxisSlotProps, BarPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps {
|
|
14
15
|
}
|
|
15
|
-
export interface BarChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>,
|
|
16
|
+
export interface BarChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<BarPlotProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
|
|
16
17
|
series: MakeOptional<BarSeriesType, 'type'>[];
|
|
17
18
|
tooltip?: ChartsTooltipProps;
|
|
18
19
|
/**
|
package/BarChart/BarChart.js
CHANGED
|
@@ -17,6 +17,7 @@ var _ChartsTooltip = require("../ChartsTooltip");
|
|
|
17
17
|
var _ChartsLegend = require("../ChartsLegend");
|
|
18
18
|
var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
|
|
19
19
|
var _ChartsClipPath = require("../ChartsClipPath");
|
|
20
|
+
var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
|
|
20
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
23
|
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; }
|
|
@@ -51,6 +52,8 @@ const BarChart = exports.BarChart = /*#__PURE__*/React.forwardRef(function BarCh
|
|
|
51
52
|
rightAxis,
|
|
52
53
|
bottomAxis,
|
|
53
54
|
skipAnimation,
|
|
55
|
+
onItemClick,
|
|
56
|
+
onAxisClick,
|
|
54
57
|
children,
|
|
55
58
|
slots,
|
|
56
59
|
slotProps
|
|
@@ -88,13 +91,16 @@ const BarChart = exports.BarChart = /*#__PURE__*/React.forwardRef(function BarCh
|
|
|
88
91
|
colors: colors,
|
|
89
92
|
dataset: dataset,
|
|
90
93
|
sx: sx,
|
|
91
|
-
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
|
|
92
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
94
|
+
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
|
|
95
|
+
children: [onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, {
|
|
96
|
+
onAxisClick: onAxisClick
|
|
97
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
93
98
|
clipPath: `url(#${clipPathId})`,
|
|
94
99
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlot.BarPlot, {
|
|
95
100
|
slots: slots,
|
|
96
101
|
slotProps: slotProps,
|
|
97
|
-
skipAnimation: skipAnimation
|
|
102
|
+
skipAnimation: skipAnimation,
|
|
103
|
+
onItemClick: onItemClick
|
|
98
104
|
})
|
|
99
105
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
|
|
100
106
|
topAxis: topAxis,
|
|
@@ -234,6 +240,19 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
234
240
|
right: _propTypes.default.number,
|
|
235
241
|
top: _propTypes.default.number
|
|
236
242
|
}),
|
|
243
|
+
/**
|
|
244
|
+
* The function called for onClick events.
|
|
245
|
+
* The second argument contains information about all line/bar elements at the current mouse position.
|
|
246
|
+
* @param {MouseEvent} event The mouse event recorded on the `<svg/>` element.
|
|
247
|
+
* @param {null | AxisData} data The data about the clicked axis and items associated with it.
|
|
248
|
+
*/
|
|
249
|
+
onAxisClick: _propTypes.default.func,
|
|
250
|
+
/**
|
|
251
|
+
* Callback fired when a bar item is clicked.
|
|
252
|
+
* @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
|
|
253
|
+
* @param {BarItemIdentifier} barItemIdentifier The bar item identifier.
|
|
254
|
+
*/
|
|
255
|
+
onItemClick: _propTypes.default.func,
|
|
237
256
|
/**
|
|
238
257
|
* Indicate which axis to display the right of the charts.
|
|
239
258
|
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
@@ -261,27 +280,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
|
|
|
261
280
|
tickNumber: _propTypes.default.number,
|
|
262
281
|
tickSize: _propTypes.default.number
|
|
263
282
|
}), _propTypes.default.string]),
|
|
264
|
-
series: _propTypes.default.arrayOf(_propTypes.default.
|
|
265
|
-
color: _propTypes.default.string,
|
|
266
|
-
data: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
267
|
-
dataKey: _propTypes.default.string,
|
|
268
|
-
highlightScope: _propTypes.default.shape({
|
|
269
|
-
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
270
|
-
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
271
|
-
}),
|
|
272
|
-
id: _propTypes.default.string,
|
|
273
|
-
label: _propTypes.default.string,
|
|
274
|
-
layout: _propTypes.default.oneOf(['horizontal', 'vertical']),
|
|
275
|
-
stack: _propTypes.default.string,
|
|
276
|
-
stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
|
|
277
|
-
stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
|
|
278
|
-
type: _propTypes.default.oneOf(['bar']),
|
|
279
|
-
valueFormatter: _propTypes.default.func,
|
|
280
|
-
xAxisKey: _propTypes.default.string,
|
|
281
|
-
yAxisKey: _propTypes.default.string
|
|
282
|
-
})).isRequired,
|
|
283
|
+
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
283
284
|
/**
|
|
284
|
-
* If `true`, animations are
|
|
285
|
+
* If `true`, animations are skipped.
|
|
285
286
|
* @default false
|
|
286
287
|
*/
|
|
287
288
|
skipAnimation: _propTypes.default.bool,
|
package/BarChart/BarElement.d.ts
CHANGED
|
@@ -1366,7 +1366,7 @@ export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighligh
|
|
|
1366
1366
|
*/
|
|
1367
1367
|
slots?: {
|
|
1368
1368
|
/**
|
|
1369
|
-
* The component that renders the
|
|
1369
|
+
* The component that renders the bar.
|
|
1370
1370
|
* @default BarElementPath
|
|
1371
1371
|
*/
|
|
1372
1372
|
bar?: React.ElementType;
|
package/BarChart/BarElement.js
CHANGED
|
@@ -21,7 +21,7 @@ var _web = require("@react-spring/web");
|
|
|
21
21
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
22
22
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
23
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
-
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps", "style"];
|
|
24
|
+
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps", "style", "onClick"];
|
|
25
25
|
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); }
|
|
26
26
|
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; }
|
|
27
27
|
function getBarElementUtilityClass(slot) {
|
|
@@ -60,7 +60,8 @@ function BarElement(props) {
|
|
|
60
60
|
highlightScope,
|
|
61
61
|
slots,
|
|
62
62
|
slotProps,
|
|
63
|
-
style
|
|
63
|
+
style,
|
|
64
|
+
onClick
|
|
64
65
|
} = props,
|
|
65
66
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
66
67
|
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
|
|
@@ -96,7 +97,9 @@ function BarElement(props) {
|
|
|
96
97
|
dataIndex
|
|
97
98
|
}), {
|
|
98
99
|
style,
|
|
99
|
-
className: classes.root
|
|
100
|
+
className: classes.root,
|
|
101
|
+
onClick,
|
|
102
|
+
cursor: onClick ? 'pointer' : 'unset'
|
|
100
103
|
}),
|
|
101
104
|
ownerState
|
|
102
105
|
});
|
package/BarChart/BarPlot.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BarElementProps } from './BarElement';
|
|
3
|
+
import { BarItemIdentifier } from '../models';
|
|
3
4
|
export interface BarPlotSlots {
|
|
4
5
|
bar?: React.JSXElementConstructor<BarElementProps>;
|
|
5
6
|
}
|
|
@@ -8,10 +9,16 @@ export interface BarPlotSlotProps {
|
|
|
8
9
|
}
|
|
9
10
|
export interface BarPlotProps extends Pick<BarElementProps, 'slots' | 'slotProps'> {
|
|
10
11
|
/**
|
|
11
|
-
* If `true`, animations are
|
|
12
|
+
* If `true`, animations are skipped.
|
|
12
13
|
* @default false
|
|
13
14
|
*/
|
|
14
15
|
skipAnimation?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Callback fired when a bar item is clicked.
|
|
18
|
+
* @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
|
|
19
|
+
* @param {BarItemIdentifier} barItemIdentifier The bar item identifier.
|
|
20
|
+
*/
|
|
21
|
+
onItemClick?: (event: React.MouseEvent<SVGElement, MouseEvent>, barItemIdentifier: BarItemIdentifier) => void;
|
|
15
22
|
}
|
|
16
23
|
/**
|
|
17
24
|
* Demos:
|
package/BarChart/BarPlot.js
CHANGED
|
@@ -16,7 +16,7 @@ var _BarElement = require("./BarElement");
|
|
|
16
16
|
var _axis = require("../models/axis");
|
|
17
17
|
var _constants = require("../constants");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const _excluded = ["skipAnimation"];
|
|
19
|
+
const _excluded = ["skipAnimation", "onItemClick"];
|
|
20
20
|
/**
|
|
21
21
|
* Solution of the equations
|
|
22
22
|
* W = barWidth * N + offset * (N-1)
|
|
@@ -46,7 +46,7 @@ function getBandSize({
|
|
|
46
46
|
offset
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
const
|
|
49
|
+
const useAggregatedData = () => {
|
|
50
50
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).bar ?? {
|
|
51
51
|
series: {},
|
|
52
52
|
stackingGroups: [],
|
|
@@ -174,9 +174,10 @@ const getInStyle = ({
|
|
|
174
174
|
* - [BarPlot API](https://mui.com/x/api/charts/bar-plot/)
|
|
175
175
|
*/
|
|
176
176
|
function BarPlot(props) {
|
|
177
|
-
const completedData =
|
|
177
|
+
const completedData = useAggregatedData();
|
|
178
178
|
const {
|
|
179
|
-
skipAnimation
|
|
179
|
+
skipAnimation,
|
|
180
|
+
onItemClick
|
|
180
181
|
} = props,
|
|
181
182
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
182
183
|
const transition = (0, _web.useTransition)(completedData, {
|
|
@@ -199,6 +200,13 @@ function BarPlot(props) {
|
|
|
199
200
|
highlightScope: highlightScope,
|
|
200
201
|
color: color
|
|
201
202
|
}, other, {
|
|
203
|
+
onClick: onItemClick && (event => {
|
|
204
|
+
onItemClick(event, {
|
|
205
|
+
type: 'bar',
|
|
206
|
+
seriesId,
|
|
207
|
+
dataIndex
|
|
208
|
+
});
|
|
209
|
+
}),
|
|
202
210
|
style: style
|
|
203
211
|
})))
|
|
204
212
|
});
|
|
@@ -209,7 +217,13 @@ process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
|
|
|
209
217
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
210
218
|
// ----------------------------------------------------------------------
|
|
211
219
|
/**
|
|
212
|
-
*
|
|
220
|
+
* Callback fired when a bar item is clicked.
|
|
221
|
+
* @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
|
|
222
|
+
* @param {BarItemIdentifier} barItemIdentifier The bar item identifier.
|
|
223
|
+
*/
|
|
224
|
+
onItemClick: _propTypes.default.func,
|
|
225
|
+
/**
|
|
226
|
+
* If `true`, animations are skipped.
|
|
213
227
|
* @default false
|
|
214
228
|
*/
|
|
215
229
|
skipAnimation: _propTypes.default.bool,
|
package/BarChart/formatter.js
CHANGED
|
@@ -72,7 +72,7 @@ const formatter = (params, dataset) => {
|
|
|
72
72
|
return {
|
|
73
73
|
seriesOrder,
|
|
74
74
|
stackingGroups,
|
|
75
|
-
series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v
|
|
75
|
+
series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v == null ? '' : v.toLocaleString())
|
|
76
76
|
};
|
|
77
77
|
};
|
|
78
78
|
var _default = exports.default = formatter;
|