@mui/x-charts-pro 8.0.0-alpha.7 → 8.0.0-alpha.9
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/BarChartPro/BarChartPro.d.ts +2 -2
- package/BarChartPro/BarChartPro.js +55 -20
- package/CHANGELOG.md +551 -3
- package/ChartContainerPro/ChartContainerPro.d.ts +33 -4
- package/ChartContainerPro/ChartContainerPro.js +52 -27
- package/ChartContainerPro/useChartContainerProProps.d.ts +6 -5
- package/ChartContainerPro/useChartContainerProProps.js +11 -5
- package/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
- package/ChartDataProviderPro/ChartDataProviderPro.js +292 -0
- package/{context → ChartDataProviderPro}/package.json +1 -1
- package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
- package/ChartDataProviderPro/useChartDataProviderProProps.js +17 -0
- package/Heatmap/Heatmap.js +28 -2
- package/Heatmap/HeatmapTooltip.js +6 -4
- package/Heatmap/extremums.d.ts +2 -2
- package/Heatmap/formatter.d.ts +2 -2
- package/Heatmap/formatter.js +2 -1
- package/Heatmap/plugin.d.ts +2 -2
- package/Heatmap/plugin.js +2 -2
- package/LineChartPro/LineChartPro.d.ts +2 -2
- package/LineChartPro/LineChartPro.js +58 -37
- package/ScatterChartPro/ScatterChartPro.d.ts +2 -2
- package/ScatterChartPro/ScatterChartPro.js +36 -28
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/zoom/index.d.ts +1 -0
- package/hooks/zoom/index.js +1 -0
- package/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
- package/hooks/zoom/useIsZoomInteracting.js +14 -0
- package/index.d.ts +3 -1
- package/index.js +5 -5
- package/internals/plugins/allPlugins.d.ts +10 -0
- package/internals/plugins/allPlugins.js +5 -0
- package/internals/plugins/useChartProZoom/creatZoomLookup.d.ts +3 -0
- package/internals/plugins/useChartProZoom/creatZoomLookup.js +12 -0
- package/internals/plugins/useChartProZoom/defaultizeZoom.d.ts +2 -0
- package/internals/plugins/useChartProZoom/defaultizeZoom.js +25 -0
- package/internals/plugins/useChartProZoom/index.d.ts +3 -0
- package/internals/plugins/useChartProZoom/index.js +3 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.js +303 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +377 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +10 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +50 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.utils.js +126 -0
- package/internals/plugins/useChartProZoom/zoom.types.d.ts +53 -0
- package/internals/utils/releaseInfo.js +1 -1
- package/models/index.d.ts +1 -0
- package/models/index.js +2 -1
- package/modern/BarChartPro/BarChartPro.js +55 -20
- package/modern/ChartContainerPro/ChartContainerPro.js +52 -27
- package/modern/ChartContainerPro/useChartContainerProProps.js +11 -5
- package/modern/ChartDataProviderPro/ChartDataProviderPro.js +292 -0
- package/modern/ChartDataProviderPro/useChartDataProviderProProps.js +17 -0
- package/modern/Heatmap/Heatmap.js +28 -2
- package/modern/Heatmap/HeatmapTooltip.js +6 -4
- package/modern/Heatmap/formatter.js +2 -1
- package/modern/Heatmap/plugin.js +2 -2
- package/modern/LineChartPro/LineChartPro.js +58 -37
- package/modern/ScatterChartPro/ScatterChartPro.js +36 -28
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/zoom/index.js +1 -0
- package/modern/hooks/zoom/useIsZoomInteracting.js +14 -0
- package/modern/index.js +5 -5
- package/modern/internals/plugins/allPlugins.js +5 -0
- package/modern/internals/plugins/useChartProZoom/creatZoomLookup.js +12 -0
- package/modern/internals/plugins/useChartProZoom/defaultizeZoom.js +25 -0
- package/modern/internals/plugins/useChartProZoom/index.js +3 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.js +303 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +10 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.types.js +1 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.utils.js +126 -0
- package/modern/internals/plugins/useChartProZoom/zoom.types.js +1 -0
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/models/index.js +2 -1
- package/node/BarChartPro/BarChartPro.js +55 -20
- package/node/ChartContainerPro/ChartContainerPro.js +51 -26
- package/node/ChartContainerPro/useChartContainerProProps.js +11 -5
- package/node/ChartDataProviderPro/ChartDataProviderPro.js +298 -0
- package/node/ChartDataProviderPro/useChartDataProviderProProps.js +23 -0
- package/node/Heatmap/Heatmap.js +28 -2
- package/node/Heatmap/HeatmapTooltip.js +4 -2
- package/node/Heatmap/formatter.js +2 -1
- package/node/Heatmap/plugin.js +2 -2
- package/node/LineChartPro/LineChartPro.js +58 -37
- package/node/ScatterChartPro/ScatterChartPro.js +36 -28
- package/node/hooks/index.js +16 -1
- package/node/{context/CartesianProviderPro → hooks/zoom}/index.js +4 -4
- package/node/hooks/zoom/useIsZoomInteracting.js +19 -0
- package/node/index.js +34 -12
- package/node/internals/plugins/allPlugins.js +11 -0
- package/node/internals/plugins/useChartProZoom/creatZoomLookup.js +19 -0
- package/node/internals/plugins/useChartProZoom/defaultizeZoom.js +33 -0
- package/node/internals/plugins/useChartProZoom/index.js +38 -0
- package/node/internals/plugins/useChartProZoom/useChartProZoom.js +310 -0
- package/node/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +18 -0
- package/node/internals/plugins/useChartProZoom/useChartProZoom.utils.js +140 -0
- package/node/internals/plugins/useChartProZoom/zoom.types.js +5 -0
- package/node/internals/utils/releaseInfo.js +1 -1
- package/package.json +5 -5
- package/typeOverloads/modules.d.ts +8 -1
- package/context/CartesianProviderPro/CartesianProviderPro.d.ts +0 -6
- package/context/CartesianProviderPro/CartesianProviderPro.js +0 -89
- package/context/CartesianProviderPro/createAxisFilterMapper.d.ts +0 -13
- package/context/CartesianProviderPro/createAxisFilterMapper.js +0 -60
- package/context/CartesianProviderPro/index.d.ts +0 -1
- package/context/CartesianProviderPro/index.js +0 -1
- package/context/ChartDataProviderPro/ChartDataProviderPro.d.ts +0 -7
- package/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -50
- package/context/ChartDataProviderPro/useChartDataProviderProProps.d.ts +0 -14
- package/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -43
- package/context/ZoomProvider/Zoom.types.d.ts +0 -144
- package/context/ZoomProvider/ZoomContext.d.ts +0 -4
- package/context/ZoomProvider/ZoomContext.js +0 -16
- package/context/ZoomProvider/ZoomProvider.d.ts +0 -3
- package/context/ZoomProvider/ZoomProvider.js +0 -56
- package/context/ZoomProvider/ZoomSetup.d.ts +0 -9
- package/context/ZoomProvider/ZoomSetup.js +0 -16
- package/context/ZoomProvider/defaultizeZoom.d.ts +0 -2
- package/context/ZoomProvider/defaultizeZoom.js +0 -32
- package/context/ZoomProvider/index.d.ts +0 -3
- package/context/ZoomProvider/index.js +0 -3
- package/context/ZoomProvider/initializeZoomData.d.ts +0 -6
- package/context/ZoomProvider/initializeZoomData.js +0 -13
- package/context/ZoomProvider/useSetupPan.d.ts +0 -1
- package/context/ZoomProvider/useSetupPan.js +0 -106
- package/context/ZoomProvider/useSetupZoom.d.ts +0 -1
- package/context/ZoomProvider/useSetupZoom.js +0 -274
- package/context/ZoomProvider/useZoom.d.ts +0 -7
- package/context/ZoomProvider/useZoom.js +0 -19
- package/context/index.d.ts +0 -3
- package/context/index.js +0 -5
- package/modern/context/CartesianProviderPro/CartesianProviderPro.js +0 -89
- package/modern/context/CartesianProviderPro/createAxisFilterMapper.js +0 -60
- package/modern/context/CartesianProviderPro/index.js +0 -1
- package/modern/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -50
- package/modern/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -43
- package/modern/context/ZoomProvider/ZoomContext.js +0 -16
- package/modern/context/ZoomProvider/ZoomProvider.js +0 -56
- package/modern/context/ZoomProvider/ZoomSetup.js +0 -16
- package/modern/context/ZoomProvider/defaultizeZoom.js +0 -32
- package/modern/context/ZoomProvider/index.js +0 -3
- package/modern/context/ZoomProvider/initializeZoomData.js +0 -13
- package/modern/context/ZoomProvider/useSetupPan.js +0 -106
- package/modern/context/ZoomProvider/useSetupZoom.js +0 -274
- package/modern/context/ZoomProvider/useZoom.js +0 -19
- package/modern/context/index.js +0 -5
- package/node/context/CartesianProviderPro/CartesianProviderPro.js +0 -95
- package/node/context/CartesianProviderPro/createAxisFilterMapper.js +0 -68
- package/node/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -56
- package/node/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -50
- package/node/context/ZoomProvider/ZoomContext.js +0 -23
- package/node/context/ZoomProvider/ZoomProvider.js +0 -63
- package/node/context/ZoomProvider/ZoomSetup.js +0 -20
- package/node/context/ZoomProvider/defaultizeZoom.js +0 -40
- package/node/context/ZoomProvider/index.js +0 -38
- package/node/context/ZoomProvider/initializeZoomData.js +0 -20
- package/node/context/ZoomProvider/useSetupPan.js +0 -114
- package/node/context/ZoomProvider/useSetupZoom.js +0 -281
- package/node/context/ZoomProvider/useZoom.js +0 -25
- package/node/context/index.js +0 -27
- /package/{context/ChartDataProviderPro → ChartDataProviderPro}/index.d.ts +0 -0
- /package/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
- /package/{context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
- /package/{modern/context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/zoom.types.js} +0 -0
- /package/modern/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
- /package/node/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
- /package/node/{context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BarChartProps } from '@mui/x-charts/BarChart';
|
|
3
|
-
import {
|
|
4
|
-
export interface BarChartProProps extends BarChartProps,
|
|
3
|
+
import { ChartContainerProProps } from '../ChartContainerPro';
|
|
4
|
+
export interface BarChartProProps extends Omit<BarChartProps, 'apiRef'>, Omit<ChartContainerProProps<'bar'>, 'series' | 'plugins' | 'seriesConfig'> {
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Demos:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
const _excluded = ["
|
|
5
|
+
const _excluded = ["initialZoom", "onZoomChange", "apiRef"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { useThemeProps } from '@mui/material/styles';
|
|
@@ -17,17 +17,14 @@ import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
|
|
|
17
17
|
import { ChartsClipPath } from '@mui/x-charts/ChartsClipPath';
|
|
18
18
|
import { useBarChartProps, ChartsWrapper } from '@mui/x-charts/internals';
|
|
19
19
|
import { ChartsSurface } from '@mui/x-charts/ChartsSurface';
|
|
20
|
-
import {
|
|
21
|
-
import { useZoom } from "../context/ZoomProvider/useZoom.js";
|
|
20
|
+
import { useIsZoomInteracting } from "../hooks/zoom/index.js";
|
|
22
21
|
import { useChartContainerProProps } from "../ChartContainerPro/useChartContainerProProps.js";
|
|
23
|
-
import { ChartDataProviderPro } from "../
|
|
22
|
+
import { ChartDataProviderPro } from "../ChartDataProviderPro/index.js";
|
|
24
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
24
|
function BarChartPlotZoom(props) {
|
|
26
|
-
const
|
|
27
|
-
isInteracting
|
|
28
|
-
} = useZoom();
|
|
25
|
+
const isInteracting = useIsZoomInteracting();
|
|
29
26
|
return /*#__PURE__*/_jsx(BarPlot, _extends({}, props, {
|
|
30
|
-
skipAnimation: isInteracting ||
|
|
27
|
+
skipAnimation: isInteracting || props.skipAnimation
|
|
31
28
|
}));
|
|
32
29
|
}
|
|
33
30
|
process.env.NODE_ENV !== "production" ? BarChartPlotZoom.propTypes = {
|
|
@@ -86,8 +83,9 @@ const BarChartPro = /*#__PURE__*/React.forwardRef(function BarChartPro(inProps,
|
|
|
86
83
|
name: 'MuiBarChartPro'
|
|
87
84
|
});
|
|
88
85
|
const {
|
|
89
|
-
|
|
90
|
-
onZoomChange
|
|
86
|
+
initialZoom,
|
|
87
|
+
onZoomChange,
|
|
88
|
+
apiRef
|
|
91
89
|
} = props,
|
|
92
90
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
93
91
|
const {
|
|
@@ -107,16 +105,18 @@ const BarChartPro = /*#__PURE__*/React.forwardRef(function BarChartPro(inProps,
|
|
|
107
105
|
const {
|
|
108
106
|
chartDataProviderProProps,
|
|
109
107
|
chartsSurfaceProps
|
|
110
|
-
} = useChartContainerProProps(chartContainerProps,
|
|
108
|
+
} = useChartContainerProProps(_extends({}, chartContainerProps, {
|
|
109
|
+
initialZoom,
|
|
110
|
+
onZoomChange,
|
|
111
|
+
apiRef
|
|
112
|
+
}), ref);
|
|
111
113
|
const Tooltip = props.slots?.tooltip ?? ChartsTooltip;
|
|
112
114
|
return /*#__PURE__*/_jsx(ChartDataProviderPro, _extends({}, chartDataProviderProProps, {
|
|
113
|
-
zoom: zoom,
|
|
114
|
-
onZoomChange: onZoomChange,
|
|
115
115
|
children: /*#__PURE__*/_jsxs(ChartsWrapper, _extends({}, chartsWrapperProps, {
|
|
116
116
|
children: [!props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsxs(ChartsSurface, _extends({}, chartsSurfaceProps, {
|
|
117
117
|
children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
|
|
118
118
|
children: [/*#__PURE__*/_jsx(BarChartPlotZoom, _extends({}, barPlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
|
|
119
|
-
})), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)),
|
|
119
|
+
})), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
|
|
120
120
|
}))]
|
|
121
121
|
}))
|
|
122
122
|
}));
|
|
@@ -126,6 +126,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
126
126
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
127
127
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
128
128
|
// ----------------------------------------------------------------------
|
|
129
|
+
apiRef: PropTypes.shape({
|
|
130
|
+
current: PropTypes.shape({
|
|
131
|
+
setZoomData: PropTypes.func.isRequired
|
|
132
|
+
})
|
|
133
|
+
}),
|
|
129
134
|
/**
|
|
130
135
|
* The configuration of axes highlight.
|
|
131
136
|
* Default is set to 'band' in the bar direction.
|
|
@@ -194,6 +199,19 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
194
199
|
dataIndex: PropTypes.number,
|
|
195
200
|
seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
196
201
|
}),
|
|
202
|
+
/**
|
|
203
|
+
* This prop is used to help implement the accessibility logic.
|
|
204
|
+
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
205
|
+
*/
|
|
206
|
+
id: PropTypes.string,
|
|
207
|
+
/**
|
|
208
|
+
* The list of zoom data related to each axis.
|
|
209
|
+
*/
|
|
210
|
+
initialZoom: PropTypes.arrayOf(PropTypes.shape({
|
|
211
|
+
axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
212
|
+
end: PropTypes.number.isRequired,
|
|
213
|
+
start: PropTypes.number.isRequired
|
|
214
|
+
})),
|
|
197
215
|
/**
|
|
198
216
|
* The direction of the bar elements.
|
|
199
217
|
* @default 'vertical'
|
|
@@ -214,7 +232,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
214
232
|
* The margin between the SVG and the drawing area.
|
|
215
233
|
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
216
234
|
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
217
|
-
* @default object Depends on the charts type.
|
|
218
235
|
*/
|
|
219
236
|
margin: PropTypes.shape({
|
|
220
237
|
bottom: PropTypes.number,
|
|
@@ -274,6 +291,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
274
291
|
*/
|
|
275
292
|
slots: PropTypes.object,
|
|
276
293
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
294
|
+
theme: PropTypes.oneOf(['dark', 'light']),
|
|
277
295
|
title: PropTypes.string,
|
|
278
296
|
/**
|
|
279
297
|
* Indicate which axis to display the top of the charts.
|
|
@@ -408,12 +426,29 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
|
|
|
408
426
|
}), PropTypes.bool])
|
|
409
427
|
})),
|
|
410
428
|
/**
|
|
411
|
-
* The
|
|
429
|
+
* The configuration of the z-axes.
|
|
412
430
|
*/
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
431
|
+
zAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
432
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
433
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
434
|
+
type: PropTypes.oneOf(['ordinal']).isRequired,
|
|
435
|
+
unknownColor: PropTypes.string,
|
|
436
|
+
values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
|
|
437
|
+
}), PropTypes.shape({
|
|
438
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
439
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
440
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
441
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
442
|
+
}), PropTypes.shape({
|
|
443
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
444
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
445
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
446
|
+
})]),
|
|
447
|
+
data: PropTypes.array,
|
|
448
|
+
dataKey: PropTypes.string,
|
|
449
|
+
id: PropTypes.string,
|
|
450
|
+
max: PropTypes.number,
|
|
451
|
+
min: PropTypes.number
|
|
417
452
|
}))
|
|
418
453
|
} : void 0;
|
|
419
454
|
export { BarChartPro };
|