@mui/x-charts-pro 7.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChartPro/BarChartPro.d.ts +18 -0
- package/BarChartPro/BarChartPro.js +417 -0
- package/BarChartPro/index.d.ts +1 -0
- package/BarChartPro/index.js +1 -0
- package/BarChartPro/package.json +6 -0
- package/CHANGELOG.md +4404 -0
- package/ChartContainerPro/ChartContainerPro.d.ts +7 -0
- package/ChartContainerPro/ChartContainerPro.js +282 -0
- package/ChartContainerPro/index.d.ts +1 -0
- package/ChartContainerPro/index.js +1 -0
- package/ChartContainerPro/package.json +6 -0
- package/ChartContainerPro/useChartContainerProProps.d.ts +15 -0
- package/ChartContainerPro/useChartContainerProProps.js +39 -0
- package/Heatmap/DefaultHeatmapTooltip.d.ts +7 -0
- package/Heatmap/DefaultHeatmapTooltip.js +97 -0
- package/Heatmap/Heatmap.d.ts +49 -0
- package/Heatmap/Heatmap.js +387 -0
- package/Heatmap/HeatmapItem.d.ts +49 -0
- package/Heatmap/HeatmapItem.js +106 -0
- package/Heatmap/HeatmapPlot.d.ts +9 -0
- package/Heatmap/HeatmapPlot.js +57 -0
- package/Heatmap/extremums.d.ts +2 -0
- package/Heatmap/extremums.js +8 -0
- package/Heatmap/formatter.d.ts +3 -0
- package/Heatmap/formatter.js +20 -0
- package/Heatmap/getColor.d.ts +3 -0
- package/Heatmap/getColor.js +15 -0
- package/Heatmap/heatmapClasses.d.ts +11 -0
- package/Heatmap/heatmapClasses.js +13 -0
- package/Heatmap/index.d.ts +4 -0
- package/Heatmap/index.js +4 -0
- package/Heatmap/package.json +6 -0
- package/Heatmap/plugin.d.ts +2 -0
- package/Heatmap/plugin.js +10 -0
- package/LICENSE +11 -0
- package/LineChartPro/LineChartPro.d.ts +17 -0
- package/LineChartPro/LineChartPro.js +473 -0
- package/LineChartPro/index.d.ts +1 -0
- package/LineChartPro/index.js +1 -0
- package/LineChartPro/package.json +6 -0
- package/README.md +26 -0
- package/ResponsiveChartContainerPro/ResponsiveChartContainerPro.d.ts +7 -0
- package/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +259 -0
- package/ResponsiveChartContainerPro/index.d.ts +1 -0
- package/ResponsiveChartContainerPro/index.js +1 -0
- package/ResponsiveChartContainerPro/package.json +6 -0
- package/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.d.ts +41 -0
- package/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +25 -0
- package/ScatterChartPro/ScatterChartPro.d.ts +17 -0
- package/ScatterChartPro/ScatterChartPro.js +388 -0
- package/ScatterChartPro/index.d.ts +1 -0
- package/ScatterChartPro/index.js +1 -0
- package/ScatterChartPro/package.json +6 -0
- package/context/CartesianProviderPro/CartesianProviderPro.d.ts +6 -0
- package/context/CartesianProviderPro/CartesianProviderPro.js +54 -0
- package/context/CartesianProviderPro/index.d.ts +1 -0
- package/context/CartesianProviderPro/index.js +1 -0
- package/context/ZoomProvider/Zoom.types.d.ts +134 -0
- package/context/ZoomProvider/Zoom.types.js +1 -0
- package/context/ZoomProvider/ZoomContext.d.ts +4 -0
- package/context/ZoomProvider/ZoomContext.js +16 -0
- package/context/ZoomProvider/ZoomProvider.d.ts +3 -0
- package/context/ZoomProvider/ZoomProvider.js +53 -0
- package/context/ZoomProvider/ZoomSetup.d.ts +9 -0
- package/context/ZoomProvider/ZoomSetup.js +16 -0
- package/context/ZoomProvider/defaultizeZoom.d.ts +2 -0
- package/context/ZoomProvider/defaultizeZoom.js +31 -0
- package/context/ZoomProvider/index.d.ts +3 -0
- package/context/ZoomProvider/index.js +3 -0
- package/context/ZoomProvider/initializeZoomData.d.ts +6 -0
- package/context/ZoomProvider/initializeZoomData.js +13 -0
- package/context/ZoomProvider/useSetupPan.d.ts +1 -0
- package/context/ZoomProvider/useSetupPan.js +104 -0
- package/context/ZoomProvider/useSetupZoom.d.ts +1 -0
- package/context/ZoomProvider/useSetupZoom.js +272 -0
- package/context/ZoomProvider/useZoom.d.ts +7 -0
- package/context/ZoomProvider/useZoom.js +17 -0
- package/context/index.d.ts +3 -0
- package/context/index.js +5 -0
- package/context/package.json +6 -0
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +1 -0
- package/hooks/package.json +6 -0
- package/hooks/useSeries.d.ts +11 -0
- package/hooks/useSeries.js +14 -0
- package/index.d.ts +31 -0
- package/index.js +45 -0
- package/internals/utils/releaseInfo.d.ts +1 -0
- package/internals/utils/releaseInfo.js +13 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/package.json +6 -0
- package/models/seriesType/heatmap.d.ts +28 -0
- package/models/seriesType/heatmap.js +1 -0
- package/models/seriesType/index.d.ts +1 -0
- package/models/seriesType/index.js +1 -0
- package/modern/BarChartPro/BarChartPro.js +417 -0
- package/modern/BarChartPro/index.js +1 -0
- package/modern/ChartContainerPro/ChartContainerPro.js +282 -0
- package/modern/ChartContainerPro/index.js +1 -0
- package/modern/ChartContainerPro/useChartContainerProProps.js +39 -0
- package/modern/Heatmap/DefaultHeatmapTooltip.js +97 -0
- package/modern/Heatmap/Heatmap.js +387 -0
- package/modern/Heatmap/HeatmapItem.js +106 -0
- package/modern/Heatmap/HeatmapPlot.js +57 -0
- package/modern/Heatmap/extremums.js +8 -0
- package/modern/Heatmap/formatter.js +20 -0
- package/modern/Heatmap/getColor.js +15 -0
- package/modern/Heatmap/heatmapClasses.js +13 -0
- package/modern/Heatmap/index.js +4 -0
- package/modern/Heatmap/plugin.js +10 -0
- package/modern/LineChartPro/LineChartPro.js +473 -0
- package/modern/LineChartPro/index.js +1 -0
- package/modern/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +259 -0
- package/modern/ResponsiveChartContainerPro/index.js +1 -0
- package/modern/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +25 -0
- package/modern/ScatterChartPro/ScatterChartPro.js +388 -0
- package/modern/ScatterChartPro/index.js +1 -0
- package/modern/context/CartesianProviderPro/CartesianProviderPro.js +54 -0
- package/modern/context/CartesianProviderPro/index.js +1 -0
- package/modern/context/ZoomProvider/Zoom.types.js +1 -0
- package/modern/context/ZoomProvider/ZoomContext.js +16 -0
- package/modern/context/ZoomProvider/ZoomProvider.js +53 -0
- package/modern/context/ZoomProvider/ZoomSetup.js +16 -0
- package/modern/context/ZoomProvider/defaultizeZoom.js +31 -0
- package/modern/context/ZoomProvider/index.js +3 -0
- package/modern/context/ZoomProvider/initializeZoomData.js +13 -0
- package/modern/context/ZoomProvider/useSetupPan.js +104 -0
- package/modern/context/ZoomProvider/useSetupZoom.js +272 -0
- package/modern/context/ZoomProvider/useZoom.js +17 -0
- package/modern/context/index.js +5 -0
- package/modern/hooks/index.js +1 -0
- package/modern/hooks/useSeries.js +14 -0
- package/modern/index.js +45 -0
- package/modern/internals/utils/releaseInfo.js +13 -0
- package/modern/models/index.js +1 -0
- package/modern/models/seriesType/heatmap.js +1 -0
- package/modern/models/seriesType/index.js +1 -0
- package/modern/typeOverloads/index.js +1 -0
- package/modern/typeOverloads/modules.js +1 -0
- package/node/BarChartPro/BarChartPro.js +425 -0
- package/node/BarChartPro/index.js +16 -0
- package/node/ChartContainerPro/ChartContainerPro.js +290 -0
- package/node/ChartContainerPro/index.js +16 -0
- package/node/ChartContainerPro/useChartContainerProProps.js +47 -0
- package/node/Heatmap/DefaultHeatmapTooltip.js +105 -0
- package/node/Heatmap/Heatmap.js +395 -0
- package/node/Heatmap/HeatmapItem.js +114 -0
- package/node/Heatmap/HeatmapPlot.js +65 -0
- package/node/Heatmap/extremums.js +15 -0
- package/node/Heatmap/formatter.js +27 -0
- package/node/Heatmap/getColor.js +21 -0
- package/node/Heatmap/heatmapClasses.js +21 -0
- package/node/Heatmap/index.js +47 -0
- package/node/Heatmap/plugin.js +17 -0
- package/node/LineChartPro/LineChartPro.js +481 -0
- package/node/LineChartPro/index.js +16 -0
- package/node/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +267 -0
- package/node/ResponsiveChartContainerPro/index.js +16 -0
- package/node/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +33 -0
- package/node/ScatterChartPro/ScatterChartPro.js +396 -0
- package/node/ScatterChartPro/index.js +16 -0
- package/node/context/CartesianProviderPro/CartesianProviderPro.js +61 -0
- package/node/context/CartesianProviderPro/index.js +16 -0
- package/node/context/ZoomProvider/Zoom.types.js +5 -0
- package/node/context/ZoomProvider/ZoomContext.js +24 -0
- package/node/context/ZoomProvider/ZoomProvider.js +62 -0
- package/node/context/ZoomProvider/ZoomSetup.js +20 -0
- package/node/context/ZoomProvider/defaultizeZoom.js +39 -0
- package/node/context/ZoomProvider/index.js +38 -0
- package/node/context/ZoomProvider/initializeZoomData.js +20 -0
- package/node/context/ZoomProvider/useSetupPan.js +114 -0
- package/node/context/ZoomProvider/useSetupZoom.js +281 -0
- package/node/context/ZoomProvider/useZoom.js +25 -0
- package/node/context/index.js +27 -0
- package/node/hooks/index.js +12 -0
- package/node/hooks/useSeries.js +21 -0
- package/node/index.js +354 -0
- package/node/internals/utils/releaseInfo.js +20 -0
- package/node/models/index.js +16 -0
- package/node/models/seriesType/heatmap.js +5 -0
- package/node/models/seriesType/index.js +16 -0
- package/node/typeOverloads/index.js +6 -0
- package/node/typeOverloads/modules.js +5 -0
- package/package.json +64 -0
- package/typeOverloads/index.d.ts +1 -0
- package/typeOverloads/index.js +1 -0
- package/typeOverloads/modules.d.ts +17 -0
- package/typeOverloads/modules.js +1 -0
- package/typeOverloads/package.json +6 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ScatterChartPro = 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 _ChartsOverlay = require("@mui/x-charts/ChartsOverlay");
|
|
13
|
+
var _ScatterChart = require("@mui/x-charts/ScatterChart");
|
|
14
|
+
var _context = require("@mui/x-charts/context");
|
|
15
|
+
var _ChartsVoronoiHandler = require("@mui/x-charts/ChartsVoronoiHandler");
|
|
16
|
+
var _ChartsAxis = require("@mui/x-charts/ChartsAxis");
|
|
17
|
+
var _ChartsGrid = require("@mui/x-charts/ChartsGrid");
|
|
18
|
+
var _ChartsLegend = require("@mui/x-charts/ChartsLegend");
|
|
19
|
+
var _ChartsAxisHighlight = require("@mui/x-charts/ChartsAxisHighlight");
|
|
20
|
+
var _ChartsTooltip = require("@mui/x-charts/ChartsTooltip");
|
|
21
|
+
var _internals = require("@mui/x-charts/internals");
|
|
22
|
+
var _ResponsiveChartContainerPro = require("../ResponsiveChartContainerPro");
|
|
23
|
+
var _ZoomSetup = require("../context/ZoomProvider/ZoomSetup");
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
const _excluded = ["zoom", "onZoomChange"];
|
|
26
|
+
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); }
|
|
27
|
+
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 && {}.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; }
|
|
28
|
+
/**
|
|
29
|
+
* Demos:
|
|
30
|
+
*
|
|
31
|
+
* - [Scatter](https://mui.com/x/react-charts/scatter/)
|
|
32
|
+
* - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
|
|
33
|
+
*
|
|
34
|
+
* API:
|
|
35
|
+
*
|
|
36
|
+
* - [ScatterChart API](https://mui.com/x/api/charts/scatter-chart/)
|
|
37
|
+
*/
|
|
38
|
+
const ScatterChartPro = exports.ScatterChartPro = /*#__PURE__*/React.forwardRef(function ScatterChartPro(props, ref) {
|
|
39
|
+
const {
|
|
40
|
+
zoom,
|
|
41
|
+
onZoomChange
|
|
42
|
+
} = props,
|
|
43
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
44
|
+
const {
|
|
45
|
+
chartContainerProps,
|
|
46
|
+
zAxisProps,
|
|
47
|
+
voronoiHandlerProps,
|
|
48
|
+
chartsAxisProps,
|
|
49
|
+
gridProps,
|
|
50
|
+
scatterPlotProps,
|
|
51
|
+
overlayProps,
|
|
52
|
+
legendProps,
|
|
53
|
+
axisHighlightProps,
|
|
54
|
+
tooltipProps,
|
|
55
|
+
children
|
|
56
|
+
} = (0, _internals.useScatterChartProps)(other);
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResponsiveChartContainerPro.ResponsiveChartContainerPro, (0, _extends2.default)({
|
|
58
|
+
ref: ref
|
|
59
|
+
}, chartContainerProps, {
|
|
60
|
+
zoom: zoom,
|
|
61
|
+
onZoomChange: onZoomChange,
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_context.ZAxisContextProvider, (0, _extends2.default)({}, zAxisProps, {
|
|
63
|
+
children: [!props.disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, (0, _extends2.default)({}, voronoiHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), props.grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
64
|
+
"data-drawing-container": true,
|
|
65
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterChart.ScatterPlot, (0, _extends2.default)({}, scatterPlotProps))
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomSetup.ZoomSetup, {}), children]
|
|
67
|
+
}))
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
|
|
71
|
+
// ----------------------------- Warning --------------------------------
|
|
72
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
73
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
74
|
+
// ----------------------------------------------------------------------
|
|
75
|
+
/**
|
|
76
|
+
* The configuration of axes highlight.
|
|
77
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
|
|
78
|
+
* @default { x: 'none', y: 'none' }
|
|
79
|
+
*/
|
|
80
|
+
axisHighlight: _propTypes.default.shape({
|
|
81
|
+
x: _propTypes.default.oneOf(['band', 'line', 'none']),
|
|
82
|
+
y: _propTypes.default.oneOf(['band', 'line', 'none'])
|
|
83
|
+
}),
|
|
84
|
+
/**
|
|
85
|
+
* Indicate which axis to display the bottom of the charts.
|
|
86
|
+
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
87
|
+
* @default xAxisIds[0] The id of the first provided axis
|
|
88
|
+
*/
|
|
89
|
+
bottomAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
90
|
+
children: _propTypes.default.node,
|
|
91
|
+
className: _propTypes.default.string,
|
|
92
|
+
/**
|
|
93
|
+
* Color palette used to colorize multiple series.
|
|
94
|
+
* @default blueberryTwilightPalette
|
|
95
|
+
*/
|
|
96
|
+
colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
|
|
97
|
+
/**
|
|
98
|
+
* An array of objects that can be used to populate series and axes data using their `dataKey` property.
|
|
99
|
+
*/
|
|
100
|
+
dataset: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
101
|
+
desc: _propTypes.default.string,
|
|
102
|
+
/**
|
|
103
|
+
* If `true`, the charts will not listen to the mouse move event.
|
|
104
|
+
* It might break interactive features, but will improve performance.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
disableAxisListener: _propTypes.default.bool,
|
|
108
|
+
/**
|
|
109
|
+
* If true, the interaction will not use the Voronoi cell and fall back to hover events.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
disableVoronoi: _propTypes.default.bool,
|
|
113
|
+
/**
|
|
114
|
+
* Option to display a cartesian grid in the background.
|
|
115
|
+
*/
|
|
116
|
+
grid: _propTypes.default.shape({
|
|
117
|
+
horizontal: _propTypes.default.bool,
|
|
118
|
+
vertical: _propTypes.default.bool
|
|
119
|
+
}),
|
|
120
|
+
/**
|
|
121
|
+
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
122
|
+
*/
|
|
123
|
+
height: _propTypes.default.number,
|
|
124
|
+
/**
|
|
125
|
+
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
126
|
+
*/
|
|
127
|
+
highlightedItem: _propTypes.default.shape({
|
|
128
|
+
dataIndex: _propTypes.default.number,
|
|
129
|
+
seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
|
|
130
|
+
}),
|
|
131
|
+
/**
|
|
132
|
+
* Indicate which axis to display the left of the charts.
|
|
133
|
+
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
134
|
+
* @default yAxisIds[0] The id of the first provided axis
|
|
135
|
+
*/
|
|
136
|
+
leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
137
|
+
/**
|
|
138
|
+
* @deprecated Consider using `slotProps.legend` instead.
|
|
139
|
+
*/
|
|
140
|
+
legend: _propTypes.default.shape({
|
|
141
|
+
classes: _propTypes.default.object,
|
|
142
|
+
direction: _propTypes.default.oneOf(['column', 'row']),
|
|
143
|
+
hidden: _propTypes.default.bool,
|
|
144
|
+
position: _propTypes.default.shape({
|
|
145
|
+
horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
|
|
146
|
+
vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
147
|
+
}),
|
|
148
|
+
slotProps: _propTypes.default.object,
|
|
149
|
+
slots: _propTypes.default.object
|
|
150
|
+
}),
|
|
151
|
+
/**
|
|
152
|
+
* If `true`, a loading overlay is displayed.
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
loading: _propTypes.default.bool,
|
|
156
|
+
/**
|
|
157
|
+
* The margin between the SVG and the drawing area.
|
|
158
|
+
* It's used for leaving some space for extra information such as the x- and y-axis or legend.
|
|
159
|
+
* Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
|
|
160
|
+
* @default object Depends on the charts type.
|
|
161
|
+
*/
|
|
162
|
+
margin: _propTypes.default.shape({
|
|
163
|
+
bottom: _propTypes.default.number,
|
|
164
|
+
left: _propTypes.default.number,
|
|
165
|
+
right: _propTypes.default.number,
|
|
166
|
+
top: _propTypes.default.number
|
|
167
|
+
}),
|
|
168
|
+
/**
|
|
169
|
+
* The callback fired when the highlighted item changes.
|
|
170
|
+
*
|
|
171
|
+
* @param {HighlightItemData | null} highlightedItem The newly highlighted item.
|
|
172
|
+
*/
|
|
173
|
+
onHighlightChange: _propTypes.default.func,
|
|
174
|
+
/**
|
|
175
|
+
* Callback fired when clicking on a scatter item.
|
|
176
|
+
* @param {MouseEvent} event The mouse event recorded on the `<svg/>` element if using Voronoi cells. Or the Mouse event from the scatter element, when `disableVoronoi=true`.
|
|
177
|
+
* @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
|
|
178
|
+
*/
|
|
179
|
+
onItemClick: _propTypes.default.func,
|
|
180
|
+
/**
|
|
181
|
+
* Callback fired when the zoom has changed.
|
|
182
|
+
*
|
|
183
|
+
* @param {ZoomData[]} zoomData Updated zoom data.
|
|
184
|
+
*/
|
|
185
|
+
onZoomChange: _propTypes.default.func,
|
|
186
|
+
/**
|
|
187
|
+
* Indicate which axis to display the right of the charts.
|
|
188
|
+
* Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
|
|
189
|
+
* @default null
|
|
190
|
+
*/
|
|
191
|
+
rightAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
192
|
+
/**
|
|
193
|
+
* The series to display in the scatter chart.
|
|
194
|
+
* An array of [[ScatterSeriesType]] objects.
|
|
195
|
+
*/
|
|
196
|
+
series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
197
|
+
/**
|
|
198
|
+
* The props used for each component slot.
|
|
199
|
+
* @default {}
|
|
200
|
+
*/
|
|
201
|
+
slotProps: _propTypes.default.object,
|
|
202
|
+
/**
|
|
203
|
+
* Overridable component slots.
|
|
204
|
+
* @default {}
|
|
205
|
+
*/
|
|
206
|
+
slots: _propTypes.default.object,
|
|
207
|
+
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]),
|
|
208
|
+
title: _propTypes.default.string,
|
|
209
|
+
/**
|
|
210
|
+
* The configuration of the tooltip.
|
|
211
|
+
* @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
|
|
212
|
+
* @default { trigger: 'item' }
|
|
213
|
+
*/
|
|
214
|
+
tooltip: _propTypes.default.shape({
|
|
215
|
+
axisContent: _propTypes.default.elementType,
|
|
216
|
+
classes: _propTypes.default.object,
|
|
217
|
+
itemContent: _propTypes.default.elementType,
|
|
218
|
+
slotProps: _propTypes.default.object,
|
|
219
|
+
slots: _propTypes.default.object,
|
|
220
|
+
trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
|
|
221
|
+
}),
|
|
222
|
+
/**
|
|
223
|
+
* Indicate which axis to display the top of the charts.
|
|
224
|
+
* Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
|
|
225
|
+
* @default null
|
|
226
|
+
*/
|
|
227
|
+
topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
228
|
+
viewBox: _propTypes.default.shape({
|
|
229
|
+
height: _propTypes.default.number,
|
|
230
|
+
width: _propTypes.default.number,
|
|
231
|
+
x: _propTypes.default.number,
|
|
232
|
+
y: _propTypes.default.number
|
|
233
|
+
}),
|
|
234
|
+
/**
|
|
235
|
+
* Defines the maximal distance between a scatter point and the pointer that triggers the interaction.
|
|
236
|
+
* If `undefined`, the radius is assumed to be infinite.
|
|
237
|
+
*/
|
|
238
|
+
voronoiMaxRadius: _propTypes.default.number,
|
|
239
|
+
/**
|
|
240
|
+
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
241
|
+
*/
|
|
242
|
+
width: _propTypes.default.number,
|
|
243
|
+
/**
|
|
244
|
+
* The configuration of the x-axes.
|
|
245
|
+
* If not provided, a default axis config is used.
|
|
246
|
+
* An array of [[AxisConfig]] objects.
|
|
247
|
+
*/
|
|
248
|
+
xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
249
|
+
classes: _propTypes.default.object,
|
|
250
|
+
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
251
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
252
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
253
|
+
unknownColor: _propTypes.default.string,
|
|
254
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
255
|
+
}), _propTypes.default.shape({
|
|
256
|
+
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
257
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
258
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
259
|
+
type: _propTypes.default.oneOf(['continuous']).isRequired
|
|
260
|
+
}), _propTypes.default.shape({
|
|
261
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
262
|
+
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
263
|
+
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
264
|
+
})]),
|
|
265
|
+
data: _propTypes.default.array,
|
|
266
|
+
dataKey: _propTypes.default.string,
|
|
267
|
+
disableLine: _propTypes.default.bool,
|
|
268
|
+
disableTicks: _propTypes.default.bool,
|
|
269
|
+
fill: _propTypes.default.string,
|
|
270
|
+
hideTooltip: _propTypes.default.bool,
|
|
271
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
272
|
+
label: _propTypes.default.string,
|
|
273
|
+
labelFontSize: _propTypes.default.number,
|
|
274
|
+
labelStyle: _propTypes.default.object,
|
|
275
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
276
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
277
|
+
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
278
|
+
reverse: _propTypes.default.bool,
|
|
279
|
+
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
280
|
+
slotProps: _propTypes.default.object,
|
|
281
|
+
slots: _propTypes.default.object,
|
|
282
|
+
stroke: _propTypes.default.string,
|
|
283
|
+
tickFontSize: _propTypes.default.number,
|
|
284
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
285
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
286
|
+
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
287
|
+
tickLabelStyle: _propTypes.default.object,
|
|
288
|
+
tickMaxStep: _propTypes.default.number,
|
|
289
|
+
tickMinStep: _propTypes.default.number,
|
|
290
|
+
tickNumber: _propTypes.default.number,
|
|
291
|
+
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
292
|
+
tickSize: _propTypes.default.number,
|
|
293
|
+
valueFormatter: _propTypes.default.func,
|
|
294
|
+
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
295
|
+
maxEnd: _propTypes.default.number,
|
|
296
|
+
maxSpan: _propTypes.default.number,
|
|
297
|
+
minSpan: _propTypes.default.number,
|
|
298
|
+
minStart: _propTypes.default.number,
|
|
299
|
+
panning: _propTypes.default.bool,
|
|
300
|
+
step: _propTypes.default.number
|
|
301
|
+
}), _propTypes.default.bool])
|
|
302
|
+
})),
|
|
303
|
+
/**
|
|
304
|
+
* The configuration of the y-axes.
|
|
305
|
+
* If not provided, a default axis config is used.
|
|
306
|
+
* An array of [[AxisConfig]] objects.
|
|
307
|
+
*/
|
|
308
|
+
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
309
|
+
classes: _propTypes.default.object,
|
|
310
|
+
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
311
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
312
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
313
|
+
unknownColor: _propTypes.default.string,
|
|
314
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
315
|
+
}), _propTypes.default.shape({
|
|
316
|
+
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
317
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
318
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
319
|
+
type: _propTypes.default.oneOf(['continuous']).isRequired
|
|
320
|
+
}), _propTypes.default.shape({
|
|
321
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
322
|
+
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
323
|
+
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
324
|
+
})]),
|
|
325
|
+
data: _propTypes.default.array,
|
|
326
|
+
dataKey: _propTypes.default.string,
|
|
327
|
+
disableLine: _propTypes.default.bool,
|
|
328
|
+
disableTicks: _propTypes.default.bool,
|
|
329
|
+
fill: _propTypes.default.string,
|
|
330
|
+
hideTooltip: _propTypes.default.bool,
|
|
331
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
332
|
+
label: _propTypes.default.string,
|
|
333
|
+
labelFontSize: _propTypes.default.number,
|
|
334
|
+
labelStyle: _propTypes.default.object,
|
|
335
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
336
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
337
|
+
position: _propTypes.default.oneOf(['left', 'right']),
|
|
338
|
+
reverse: _propTypes.default.bool,
|
|
339
|
+
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
340
|
+
slotProps: _propTypes.default.object,
|
|
341
|
+
slots: _propTypes.default.object,
|
|
342
|
+
stroke: _propTypes.default.string,
|
|
343
|
+
tickFontSize: _propTypes.default.number,
|
|
344
|
+
tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
|
|
345
|
+
tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
|
|
346
|
+
tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
|
|
347
|
+
tickLabelStyle: _propTypes.default.object,
|
|
348
|
+
tickMaxStep: _propTypes.default.number,
|
|
349
|
+
tickMinStep: _propTypes.default.number,
|
|
350
|
+
tickNumber: _propTypes.default.number,
|
|
351
|
+
tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
352
|
+
tickSize: _propTypes.default.number,
|
|
353
|
+
valueFormatter: _propTypes.default.func,
|
|
354
|
+
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
355
|
+
maxEnd: _propTypes.default.number,
|
|
356
|
+
maxSpan: _propTypes.default.number,
|
|
357
|
+
minSpan: _propTypes.default.number,
|
|
358
|
+
minStart: _propTypes.default.number,
|
|
359
|
+
panning: _propTypes.default.bool,
|
|
360
|
+
step: _propTypes.default.number
|
|
361
|
+
}), _propTypes.default.bool])
|
|
362
|
+
})),
|
|
363
|
+
/**
|
|
364
|
+
* The configuration of the z-axes.
|
|
365
|
+
*/
|
|
366
|
+
zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
367
|
+
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
368
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
369
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
370
|
+
unknownColor: _propTypes.default.string,
|
|
371
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
372
|
+
}), _propTypes.default.shape({
|
|
373
|
+
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
374
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
375
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
376
|
+
type: _propTypes.default.oneOf(['continuous']).isRequired
|
|
377
|
+
}), _propTypes.default.shape({
|
|
378
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
379
|
+
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
380
|
+
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
381
|
+
})]),
|
|
382
|
+
data: _propTypes.default.array,
|
|
383
|
+
dataKey: _propTypes.default.string,
|
|
384
|
+
id: _propTypes.default.string,
|
|
385
|
+
max: _propTypes.default.number,
|
|
386
|
+
min: _propTypes.default.number
|
|
387
|
+
})),
|
|
388
|
+
/**
|
|
389
|
+
* The list of zoom data related to each axis.
|
|
390
|
+
*/
|
|
391
|
+
zoom: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
392
|
+
axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
393
|
+
end: _propTypes.default.number.isRequired,
|
|
394
|
+
start: _propTypes.default.number.isRequired
|
|
395
|
+
}))
|
|
396
|
+
} : void 0;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _ScatterChartPro = require("./ScatterChartPro");
|
|
7
|
+
Object.keys(_ScatterChartPro).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _ScatterChartPro[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _ScatterChartPro[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CartesianContextProviderPro = CartesianContextProviderPro;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _internals = require("@mui/x-charts/internals");
|
|
9
|
+
var _useZoom = require("../ZoomProvider/useZoom");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
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); }
|
|
12
|
+
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 && {}.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; }
|
|
13
|
+
const {
|
|
14
|
+
computeValue
|
|
15
|
+
} = _internals.cartesianProviderUtils;
|
|
16
|
+
function CartesianContextProviderPro(props) {
|
|
17
|
+
const {
|
|
18
|
+
xAxis,
|
|
19
|
+
yAxis,
|
|
20
|
+
dataset,
|
|
21
|
+
children
|
|
22
|
+
} = props;
|
|
23
|
+
const formattedSeries = (0, _internals.useSeries)();
|
|
24
|
+
const drawingArea = (0, _internals.useDrawingArea)();
|
|
25
|
+
const {
|
|
26
|
+
zoomData
|
|
27
|
+
} = (0, _useZoom.useZoom)();
|
|
28
|
+
const xExtremumGetters = (0, _internals.useXExtremumGetter)();
|
|
29
|
+
const yExtremumGetters = (0, _internals.useYExtremumGetter)();
|
|
30
|
+
const xValues = React.useMemo(() => computeValue({
|
|
31
|
+
drawingArea,
|
|
32
|
+
formattedSeries,
|
|
33
|
+
axis: xAxis,
|
|
34
|
+
extremumGetters: xExtremumGetters,
|
|
35
|
+
dataset,
|
|
36
|
+
axisDirection: 'x',
|
|
37
|
+
zoomData
|
|
38
|
+
}), [drawingArea, formattedSeries, xAxis, xExtremumGetters, dataset, zoomData]);
|
|
39
|
+
const yValues = React.useMemo(() => computeValue({
|
|
40
|
+
drawingArea,
|
|
41
|
+
formattedSeries,
|
|
42
|
+
axis: yAxis,
|
|
43
|
+
extremumGetters: yExtremumGetters,
|
|
44
|
+
dataset,
|
|
45
|
+
axisDirection: 'y',
|
|
46
|
+
zoomData
|
|
47
|
+
}), [drawingArea, formattedSeries, yAxis, yExtremumGetters, dataset, zoomData]);
|
|
48
|
+
const value = React.useMemo(() => ({
|
|
49
|
+
isInitialized: true,
|
|
50
|
+
data: {
|
|
51
|
+
xAxis: xValues.axis,
|
|
52
|
+
yAxis: yValues.axis,
|
|
53
|
+
xAxisIds: xValues.axisIds,
|
|
54
|
+
yAxisIds: yValues.axisIds
|
|
55
|
+
}
|
|
56
|
+
}), [xValues, yValues]);
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.CartesianContext.Provider, {
|
|
58
|
+
value: value,
|
|
59
|
+
children: children
|
|
60
|
+
});
|
|
61
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _CartesianProviderPro = require("./CartesianProviderPro");
|
|
7
|
+
Object.keys(_CartesianProviderPro).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _CartesianProviderPro[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _CartesianProviderPro[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ZoomContext = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
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); }
|
|
9
|
+
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 && {}.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; }
|
|
10
|
+
const ZoomContext = exports.ZoomContext = /*#__PURE__*/React.createContext({
|
|
11
|
+
isInitialized: false,
|
|
12
|
+
data: {
|
|
13
|
+
isZoomEnabled: false,
|
|
14
|
+
isPanEnabled: false,
|
|
15
|
+
options: {},
|
|
16
|
+
zoomData: [],
|
|
17
|
+
setZoomData: () => {},
|
|
18
|
+
isInteracting: false,
|
|
19
|
+
setIsInteracting: () => {}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
23
|
+
ZoomContext.displayName = 'ZoomContext';
|
|
24
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ZoomProvider = ZoomProvider;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
|
|
10
|
+
var _ZoomContext = require("./ZoomContext");
|
|
11
|
+
var _defaultizeZoom = require("./defaultizeZoom");
|
|
12
|
+
var _initializeZoomData = require("./initializeZoomData");
|
|
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 && {}.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
|
+
function ZoomProvider({
|
|
17
|
+
children,
|
|
18
|
+
xAxis,
|
|
19
|
+
yAxis,
|
|
20
|
+
zoom,
|
|
21
|
+
onZoomChange
|
|
22
|
+
}) {
|
|
23
|
+
const [isInteracting, setIsInteracting] = React.useState(false);
|
|
24
|
+
const options = React.useMemo(() => [...(0, _defaultizeZoom.defaultizeZoom)(xAxis, 'x'), ...(0, _defaultizeZoom.defaultizeZoom)(yAxis, 'y')].reduce((acc, v) => {
|
|
25
|
+
acc[v.axisId] = v;
|
|
26
|
+
return acc;
|
|
27
|
+
}, {}), [xAxis, yAxis]);
|
|
28
|
+
|
|
29
|
+
// Default zoom data is initialized only once when uncontrolled. If the user changes the options
|
|
30
|
+
// after the initial render, the zoom data will not be updated until the next zoom interaction.
|
|
31
|
+
// This is required to avoid warnings about controlled/uncontrolled components.
|
|
32
|
+
const defaultZoomData = React.useRef((0, _initializeZoomData.initializeZoomData)(options));
|
|
33
|
+
const [zoomData, setZoomData] = (0, _useControlled.default)({
|
|
34
|
+
controlled: zoom,
|
|
35
|
+
default: defaultZoomData.current,
|
|
36
|
+
name: 'ZoomProvider',
|
|
37
|
+
state: 'zoom'
|
|
38
|
+
});
|
|
39
|
+
const setZoomDataCallback = React.useCallback(newZoomData => {
|
|
40
|
+
setZoomData(newZoomData);
|
|
41
|
+
onZoomChange?.(newZoomData);
|
|
42
|
+
}, [setZoomData, onZoomChange]);
|
|
43
|
+
const value = React.useMemo(() => ({
|
|
44
|
+
isInitialized: true,
|
|
45
|
+
data: {
|
|
46
|
+
isZoomEnabled: Object.keys(options).length > 0,
|
|
47
|
+
isPanEnabled: isPanEnabled(options),
|
|
48
|
+
options,
|
|
49
|
+
zoomData,
|
|
50
|
+
setZoomData: setZoomDataCallback,
|
|
51
|
+
isInteracting,
|
|
52
|
+
setIsInteracting
|
|
53
|
+
}
|
|
54
|
+
}), [zoomData, isInteracting, setIsInteracting, options, setZoomDataCallback]);
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomContext.ZoomContext.Provider, {
|
|
56
|
+
value: value,
|
|
57
|
+
children: children
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function isPanEnabled(options) {
|
|
61
|
+
return Object.values(options).some(v => v.panning) || false;
|
|
62
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ZoomSetup = ZoomSetup;
|
|
7
|
+
var _useSetupPan = require("./useSetupPan");
|
|
8
|
+
var _useSetupZoom = require("./useSetupZoom");
|
|
9
|
+
/**
|
|
10
|
+
* Sets up the zoom functionality if using composition or a custom chart.
|
|
11
|
+
*
|
|
12
|
+
* Simply add this component at the same level as the chart component to enable zooming and panning.
|
|
13
|
+
*
|
|
14
|
+
* See: [Composition](https://mui.com/x/react-charts/composition/)
|
|
15
|
+
*/
|
|
16
|
+
function ZoomSetup() {
|
|
17
|
+
(0, _useSetupZoom.useSetupZoom)();
|
|
18
|
+
(0, _useSetupPan.useSetupPan)();
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.defaultizeZoom = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internals = require("@mui/x-charts/internals");
|
|
10
|
+
const defaultZoomOptions = {
|
|
11
|
+
minStart: 0,
|
|
12
|
+
maxEnd: 100,
|
|
13
|
+
step: 5,
|
|
14
|
+
minSpan: 10,
|
|
15
|
+
maxSpan: 100,
|
|
16
|
+
panning: true
|
|
17
|
+
};
|
|
18
|
+
const defaultizeZoom = (axis, axisDirection) => {
|
|
19
|
+
if (!axis) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
const defaultized = axis.map(v => {
|
|
23
|
+
if (!v.zoom) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
if (v.zoom === true) {
|
|
27
|
+
return (0, _extends2.default)({
|
|
28
|
+
axisId: v.id,
|
|
29
|
+
axisDirection
|
|
30
|
+
}, defaultZoomOptions);
|
|
31
|
+
}
|
|
32
|
+
return (0, _extends2.default)({
|
|
33
|
+
axisId: v.id,
|
|
34
|
+
axisDirection
|
|
35
|
+
}, defaultZoomOptions, v.zoom);
|
|
36
|
+
}).filter(_internals.isDefined);
|
|
37
|
+
return defaultized;
|
|
38
|
+
};
|
|
39
|
+
exports.defaultizeZoom = defaultizeZoom;
|