@mui/x-charts-pro 8.6.0 → 8.8.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 +1 -1
- package/BarChartPro/BarChartPro.js +32 -0
- package/CHANGELOG.md +202 -1
- package/ChartContainerPro/index.d.ts +7 -1
- package/ChartContainerPro/index.js +0 -11
- package/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
- package/ChartZoomSlider/index.d.ts +2 -1
- package/ChartZoomSlider/index.js +10 -2
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +35 -16
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +34 -13
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +102 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +62 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +9 -1
- package/ChartZoomSlider/internals/chartAxisZoomSliderTrackClasses.d.ts +15 -0
- package/ChartZoomSlider/internals/chartAxisZoomSliderTrackClasses.js +31 -0
- package/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
- package/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +61 -0
- package/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
- package/ChartZoomSlider/internals/previews/BarPreviewPlot.js +62 -0
- package/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
- package/ChartZoomSlider/internals/previews/LinePreviewPlot.js +59 -0
- package/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
- package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
- package/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +93 -0
- package/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +3 -1
- package/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +4 -2
- package/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
- package/FunnelChart/FunnelChart.d.ts +1 -1
- package/FunnelChart/FunnelPlot.js +1 -1
- package/FunnelChart/funnel.types.d.ts +14 -9
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.js +43 -33
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
- package/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
- package/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/Heatmap/Heatmap.d.ts +1 -1
- package/LineChartPro/LineChartPro.js +38 -0
- package/PieChartPro/PieChartPro.d.ts +1 -1
- package/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.js +16 -0
- package/{ChartContainerPro → context}/ChartProApi.d.ts +2 -3
- package/context/ChartProApi.js +5 -0
- package/context/index.d.ts +2 -1
- package/context/index.js +4 -4
- package/context/useChartProApiContext.d.ts +9 -0
- package/context/{useChartApiContext.js → useChartProApiContext.js} +4 -4
- package/esm/BarChartPro/BarChartPro.d.ts +1 -1
- package/esm/BarChartPro/BarChartPro.js +32 -0
- package/esm/ChartContainerPro/index.d.ts +7 -1
- package/esm/ChartContainerPro/index.js +4 -1
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +7 -1
- package/esm/ChartZoomSlider/index.d.ts +2 -1
- package/esm/ChartZoomSlider/index.js +2 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +37 -18
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +4 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +36 -14
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.d.ts +18 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreview.js +94 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.d.ts +11 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderPreviewContent.js +54 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +10 -1
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderTrackClasses.d.ts +15 -0
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderTrackClasses.js +21 -0
- package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +14 -0
- package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +53 -0
- package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.d.ts +10 -0
- package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.js +55 -0
- package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +14 -0
- package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.js +51 -0
- package/esm/ChartZoomSlider/internals/previews/PreviewPlot.types.d.ts +4 -0
- package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.d.ts +16 -0
- package/esm/ChartZoomSlider/internals/previews/ScatterPreviewPlot.js +86 -0
- package/esm/ChartsToolbarPro/ChartsToolbarImageExportTrigger.js +4 -2
- package/esm/ChartsToolbarPro/ChartsToolbarPrintExportTrigger.js +5 -3
- package/esm/ChartsToolbarPro/ChartsToolbarPro.js +2 -0
- package/esm/FunnelChart/FunnelChart.d.ts +1 -1
- package/esm/FunnelChart/FunnelPlot.js +1 -1
- package/esm/FunnelChart/funnel.types.d.ts +14 -9
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.js +43 -33
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +1 -1
- package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
- package/esm/FunnelChart/seriesConfig/seriesProcessor.js +24 -48
- package/esm/Heatmap/Heatmap.d.ts +1 -1
- package/esm/LineChartPro/LineChartPro.js +38 -0
- package/esm/PieChartPro/PieChartPro.d.ts +1 -1
- package/esm/RadarChartPro/RadarChartPro.d.ts +1 -1
- package/esm/ScatterChartPro/ScatterChartPro.d.ts +1 -1
- package/esm/ScatterChartPro/ScatterChartPro.js +16 -0
- package/esm/{ChartContainerPro → context}/ChartProApi.d.ts +2 -3
- package/esm/context/ChartProApi.js +1 -0
- package/esm/context/index.d.ts +2 -1
- package/esm/context/index.js +2 -1
- package/esm/context/useChartProApiContext.d.ts +9 -0
- package/esm/context/{useChartApiContext.js → useChartProApiContext.js} +3 -3
- package/esm/hooks/index.d.ts +2 -1
- package/esm/hooks/index.js +2 -1
- package/esm/hooks/useChartProApiRef.d.ts +23 -0
- package/esm/hooks/useChartProApiRef.js +20 -0
- package/esm/index.d.ts +4 -2
- package/esm/index.js +3 -3
- package/esm/internals/plugins/allPlugins.d.ts +2 -2
- package/esm/internals/plugins/useChartProExport/exportImage.js +9 -3
- package/esm/internals/plugins/useChartProExport/print.d.ts +3 -1
- package/esm/internals/plugins/useChartProExport/print.js +7 -2
- package/esm/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
- package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.ts +8 -0
- package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.js +58 -0
- package/esm/internals/plugins/useChartProZoom/{useChartProZoom.utils.d.ts → gestureHooks/useZoom.utils.d.ts} +14 -10
- package/esm/internals/plugins/useChartProZoom/{useChartProZoom.utils.js → gestureHooks/useZoom.utils.js} +41 -31
- package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.ts +8 -0
- package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.js +59 -0
- package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.ts +8 -0
- package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.js +79 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +15 -227
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +11 -0
- package/hooks/useChartProApiRef.d.ts +23 -0
- package/hooks/useChartProApiRef.js +28 -0
- package/index.d.ts +4 -2
- package/index.js +58 -22
- package/internals/plugins/allPlugins.d.ts +2 -2
- package/internals/plugins/useChartProExport/exportImage.js +9 -3
- package/internals/plugins/useChartProExport/print.d.ts +3 -1
- package/internals/plugins/useChartProExport/print.js +7 -2
- package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +22 -12
- package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.ts +8 -0
- package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.js +65 -0
- package/internals/plugins/useChartProZoom/{useChartProZoom.utils.d.ts → gestureHooks/useZoom.utils.d.ts} +14 -10
- package/internals/plugins/useChartProZoom/{useChartProZoom.utils.js → gestureHooks/useZoom.utils.js} +43 -34
- package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.ts +8 -0
- package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.js +66 -0
- package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.ts +8 -0
- package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.js +86 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.js +14 -226
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +4 -4
- package/package.json +6 -5
- package/context/useChartApiContext.d.ts +0 -9
- package/esm/context/useChartApiContext.d.ts +0 -9
- /package/{ChartContainerPro/ChartProApi.js → ChartZoomSlider/internals/previews/PreviewPlot.types.js} +0 -0
- /package/esm/{ChartContainerPro/ChartProApi.js → ChartZoomSlider/internals/previews/PreviewPlot.types.js} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
@@ -11,24 +12,39 @@ var _styles = require("@mui/material/styles");
|
|
|
11
12
|
var _internals = require("@mui/x-charts/internals");
|
|
12
13
|
var React = _interopRequireWildcard(require("react"));
|
|
13
14
|
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
15
|
+
var _system = require("@mui/system");
|
|
14
16
|
var _useChartProZoom = require("../../internals/plugins/useChartProZoom");
|
|
15
17
|
var _ChartAxisZoomSliderThumb = require("./ChartAxisZoomSliderThumb");
|
|
16
18
|
var _ChartsTooltipZoomSliderValue = require("./ChartsTooltipZoomSliderValue");
|
|
17
19
|
var _zoomUtils = require("./zoom-utils");
|
|
18
20
|
var _constants = require("./constants");
|
|
21
|
+
var _chartAxisZoomSliderTrackClasses = require("./chartAxisZoomSliderTrackClasses");
|
|
19
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const ZoomSliderActiveTrackRect = (0, _styles.styled)('rect'
|
|
23
|
+
const ZoomSliderActiveTrackRect = (0, _styles.styled)('rect', {
|
|
24
|
+
shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'preview'
|
|
25
|
+
})(({
|
|
21
26
|
theme
|
|
22
27
|
}) => ({
|
|
23
|
-
'
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[500] : (theme.vars || theme).palette.grey[600],
|
|
29
|
+
cursor: 'grab',
|
|
30
|
+
variants: [{
|
|
31
|
+
props: {
|
|
32
|
+
preview: true
|
|
33
|
+
},
|
|
34
|
+
style: {
|
|
35
|
+
fill: 'transparent',
|
|
36
|
+
rx: 4,
|
|
37
|
+
ry: 4,
|
|
38
|
+
stroke: theme.palette.grey[500]
|
|
39
|
+
}
|
|
40
|
+
}]
|
|
27
41
|
}));
|
|
28
42
|
function ChartAxisZoomSliderActiveTrack({
|
|
29
43
|
axisId,
|
|
30
44
|
axisDirection,
|
|
31
45
|
axisPosition,
|
|
46
|
+
size,
|
|
47
|
+
preview,
|
|
32
48
|
zoomData,
|
|
33
49
|
reverse,
|
|
34
50
|
showTooltip,
|
|
@@ -49,6 +65,9 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
49
65
|
tooltipStart,
|
|
50
66
|
tooltipEnd
|
|
51
67
|
} = getZoomSliderTooltipsText(axis, drawingArea);
|
|
68
|
+
const classes = (0, _chartAxisZoomSliderTrackClasses.useUtilityClasses)({
|
|
69
|
+
axisDirection
|
|
70
|
+
});
|
|
52
71
|
const previewThumbWidth = axisDirection === 'x' ? _constants.ZOOM_SLIDER_THUMB_WIDTH : _constants.ZOOM_SLIDER_THUMB_HEIGHT;
|
|
53
72
|
const previewThumbHeight = axisDirection === 'x' ? _constants.ZOOM_SLIDER_THUMB_HEIGHT : _constants.ZOOM_SLIDER_THUMB_WIDTH;
|
|
54
73
|
React.useEffect(() => {
|
|
@@ -164,11 +183,11 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
164
183
|
previewX = (zoomStart - minStart) / range * drawingArea.width;
|
|
165
184
|
previewY = 0;
|
|
166
185
|
previewWidth = drawingArea.width * (zoomEnd - zoomStart) / range;
|
|
167
|
-
previewHeight =
|
|
186
|
+
previewHeight = size;
|
|
168
187
|
startThumbX = (zoomStart - minStart) / range * drawingArea.width;
|
|
169
|
-
startThumbY = 0;
|
|
188
|
+
startThumbY = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
170
189
|
endThumbX = (zoomEnd - minStart) / range * drawingArea.width;
|
|
171
|
-
endThumbY = 0;
|
|
190
|
+
endThumbY = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
172
191
|
if (reverse) {
|
|
173
192
|
previewX = drawingArea.width - previewX - previewWidth;
|
|
174
193
|
startThumbX = drawingArea.width - startThumbX;
|
|
@@ -179,11 +198,11 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
179
198
|
} else {
|
|
180
199
|
previewX = 0;
|
|
181
200
|
previewY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
182
|
-
previewWidth =
|
|
201
|
+
previewWidth = size;
|
|
183
202
|
previewHeight = drawingArea.height * (zoomEnd - zoomStart) / range;
|
|
184
|
-
startThumbX = 0;
|
|
203
|
+
startThumbX = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
185
204
|
startThumbY = drawingArea.height - (zoomStart - minStart) / range * drawingArea.height;
|
|
186
|
-
endThumbX = 0;
|
|
205
|
+
endThumbX = _constants.ZOOM_SLIDER_THUMB_HEIGHT < size ? (size - _constants.ZOOM_SLIDER_THUMB_HEIGHT) / 2 : 0;
|
|
187
206
|
endThumbY = drawingArea.height - (zoomEnd - minStart) / range * drawingArea.height;
|
|
188
207
|
if (reverse) {
|
|
189
208
|
previewY = drawingArea.height - previewY - previewHeight;
|
|
@@ -193,16 +212,18 @@ function ChartAxisZoomSliderActiveTrack({
|
|
|
193
212
|
startThumbY -= previewThumbHeight / 2;
|
|
194
213
|
endThumbY -= previewThumbHeight / 2;
|
|
195
214
|
}
|
|
196
|
-
const previewOffset = (_constants.ZOOM_SLIDER_THUMB_HEIGHT -
|
|
215
|
+
const previewOffset = _constants.ZOOM_SLIDER_THUMB_HEIGHT > size ? (_constants.ZOOM_SLIDER_THUMB_HEIGHT - size) / 2 : 0;
|
|
197
216
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
198
217
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomSliderActiveTrackRect, {
|
|
199
218
|
ref: activePreviewRectRef,
|
|
200
219
|
x: previewX + (axisDirection === 'x' ? 0 : previewOffset),
|
|
201
220
|
y: previewY + (axisDirection === 'x' ? previewOffset : 0),
|
|
221
|
+
preview: preview,
|
|
202
222
|
width: previewWidth,
|
|
203
223
|
height: previewHeight,
|
|
204
224
|
onPointerEnter: onPointerEnter,
|
|
205
|
-
onPointerLeave: onPointerLeave
|
|
225
|
+
onPointerLeave: onPointerLeave,
|
|
226
|
+
className: classes.active
|
|
206
227
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderThumb.ChartAxisZoomSliderThumb, {
|
|
207
228
|
ref: setStartThumbEl,
|
|
208
229
|
x: startThumbX,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AxisId } from '@mui/x-charts/internals';
|
|
3
|
+
interface ChartAxisZoomSliderPreviewProps {
|
|
4
|
+
axisId: AxisId;
|
|
5
|
+
axisDirection: 'x' | 'y';
|
|
6
|
+
reverse: boolean;
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
height: number;
|
|
10
|
+
width: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function ChartAxisZoomSliderPreview({
|
|
13
|
+
axisId,
|
|
14
|
+
axisDirection,
|
|
15
|
+
reverse,
|
|
16
|
+
...props
|
|
17
|
+
}: ChartAxisZoomSliderPreviewProps): React.JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ChartAxisZoomSliderPreview = ChartAxisZoomSliderPreview;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _internals = require("@mui/x-charts/internals");
|
|
14
|
+
var _system = require("@mui/system");
|
|
15
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
16
|
+
var _useChartProZoom = require("../../internals/plugins/useChartProZoom");
|
|
17
|
+
var _ChartAxisZoomSliderPreviewContent = require("./ChartAxisZoomSliderPreviewContent");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
const _excluded = ["axisId", "axisDirection", "reverse"];
|
|
20
|
+
const PreviewBackgroundRect = (0, _styles.styled)('rect')(({
|
|
21
|
+
theme
|
|
22
|
+
}) => ({
|
|
23
|
+
rx: 4,
|
|
24
|
+
ry: 4,
|
|
25
|
+
stroke: theme.palette.grey[700],
|
|
26
|
+
fill: (0, _system.alpha)(theme.palette.grey[700], 0.4)
|
|
27
|
+
}));
|
|
28
|
+
function ChartAxisZoomSliderPreview(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
axisId,
|
|
31
|
+
axisDirection
|
|
32
|
+
} = _ref,
|
|
33
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, props, {
|
|
35
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewRectangles, (0, _extends2.default)({}, props, {
|
|
36
|
+
axisId: axisId,
|
|
37
|
+
axisDirection: axisDirection
|
|
38
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", (0, _extends2.default)({}, props, {
|
|
39
|
+
fill: "transparent",
|
|
40
|
+
rx: 4,
|
|
41
|
+
ry: 4
|
|
42
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartAxisZoomSliderPreviewContent.ChartAxisZoomSliderPreviewContent, (0, _extends2.default)({
|
|
43
|
+
axisId: axisId
|
|
44
|
+
}, props))]
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
function PreviewRectangles(props) {
|
|
48
|
+
const {
|
|
49
|
+
axisId,
|
|
50
|
+
axisDirection
|
|
51
|
+
} = props;
|
|
52
|
+
const store = (0, _internals.useStore)();
|
|
53
|
+
const zoomData = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartAxisZoomData, [axisId]);
|
|
54
|
+
const zoomOptions = (0, _internals.useSelector)(store, _internals.selectorChartAxisZoomOptionsLookup, [axisId]);
|
|
55
|
+
const id = (0, _useId.default)();
|
|
56
|
+
if (!zoomData) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const maskId = `zoom-preview-mask-${axisId}-${id}`;
|
|
60
|
+
let x;
|
|
61
|
+
let y;
|
|
62
|
+
let width;
|
|
63
|
+
let height;
|
|
64
|
+
const range = zoomOptions.maxEnd - zoomOptions.minStart;
|
|
65
|
+
if (axisDirection === 'x') {
|
|
66
|
+
x = props.x + (zoomData.start - zoomOptions.minStart) / range * props.width;
|
|
67
|
+
y = props.y;
|
|
68
|
+
width = (zoomData.end - zoomData.start) / range * props.width;
|
|
69
|
+
height = props.height;
|
|
70
|
+
} else {
|
|
71
|
+
x = props.x;
|
|
72
|
+
y = props.y + (1 - zoomData.end / range) * props.height;
|
|
73
|
+
width = props.width;
|
|
74
|
+
height = (zoomData.end - zoomData.start) / range * props.height;
|
|
75
|
+
}
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
77
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("mask", {
|
|
78
|
+
id: maskId,
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
80
|
+
x: props.x,
|
|
81
|
+
y: props.y,
|
|
82
|
+
width: props.width,
|
|
83
|
+
height: props.height,
|
|
84
|
+
fill: "white"
|
|
85
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
86
|
+
x: x,
|
|
87
|
+
y: y,
|
|
88
|
+
width: width,
|
|
89
|
+
height: height,
|
|
90
|
+
fill: "black",
|
|
91
|
+
rx: 4,
|
|
92
|
+
ry: 4
|
|
93
|
+
})]
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewBackgroundRect, {
|
|
95
|
+
x: props.x,
|
|
96
|
+
y: props.y,
|
|
97
|
+
width: props.width,
|
|
98
|
+
height: props.height,
|
|
99
|
+
mask: `url(#${maskId})`
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AxisId } from '@mui/x-charts/internals';
|
|
3
|
+
interface ChartAxisZoomSliderPreviewContentProps {
|
|
4
|
+
axisId: AxisId;
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
height: number;
|
|
8
|
+
width: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function ChartAxisZoomSliderPreviewContent(props: ChartAxisZoomSliderPreviewContentProps): React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ChartAxisZoomSliderPreviewContent = ChartAxisZoomSliderPreviewContent;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _internals = require("@mui/x-charts/internals");
|
|
12
|
+
var _LinePreviewPlot = require("./previews/LinePreviewPlot");
|
|
13
|
+
var _AreaPreviewPlot = require("./previews/AreaPreviewPlot");
|
|
14
|
+
var _BarPreviewPlot = require("./previews/BarPreviewPlot");
|
|
15
|
+
var _ScatterPreviewPlot = require("./previews/ScatterPreviewPlot");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function ChartAxisZoomSliderPreviewContent(props) {
|
|
18
|
+
const {
|
|
19
|
+
axisId,
|
|
20
|
+
x,
|
|
21
|
+
y,
|
|
22
|
+
width,
|
|
23
|
+
height
|
|
24
|
+
} = props;
|
|
25
|
+
const store = (0, _internals.useStore)();
|
|
26
|
+
const processedSeries = (0, _internals.useSelector)(store, _internals.selectorChartSeriesProcessed);
|
|
27
|
+
const children = [];
|
|
28
|
+
const clipId = `zoom-preview-mask-${axisId}`;
|
|
29
|
+
const hasLineSeries = (processedSeries.line?.seriesOrder?.length ?? 0) > 0;
|
|
30
|
+
const hasBarSeries = (processedSeries.bar?.seriesOrder?.length ?? 0) > 0;
|
|
31
|
+
const hasScatterSeries = (processedSeries.scatter?.seriesOrder?.length ?? 0) > 0;
|
|
32
|
+
if (hasLineSeries) {
|
|
33
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPreviewPlot.AreaPreviewPlot, {
|
|
34
|
+
axisId: axisId
|
|
35
|
+
}, "area"));
|
|
36
|
+
}
|
|
37
|
+
if (hasBarSeries) {
|
|
38
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPreviewPlot.BarPreviewPlot, (0, _extends2.default)({}, props), "bar"));
|
|
39
|
+
}
|
|
40
|
+
if (hasLineSeries) {
|
|
41
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePreviewPlot.LinePreviewPlot, {
|
|
42
|
+
axisId: axisId
|
|
43
|
+
}, "line"));
|
|
44
|
+
}
|
|
45
|
+
if (hasScatterSeries) {
|
|
46
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPreviewPlot.ScatterPreviewPlot, (0, _extends2.default)({}, props), "scatter"));
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
49
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
|
|
50
|
+
id: clipId,
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
52
|
+
x: x,
|
|
53
|
+
y: y,
|
|
54
|
+
width: width,
|
|
55
|
+
height: height
|
|
56
|
+
})
|
|
57
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
58
|
+
clipPath: `url(#${clipId})`,
|
|
59
|
+
children: children
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -13,7 +14,9 @@ var _internals = require("@mui/x-charts/internals");
|
|
|
13
14
|
var _styles = require("@mui/material/styles");
|
|
14
15
|
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
15
16
|
var _system = require("@mui/system");
|
|
17
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
16
18
|
var _zoomUtils = require("./zoom-utils");
|
|
19
|
+
var _chartAxisZoomSliderTrackClasses = require("./chartAxisZoomSliderTrackClasses");
|
|
17
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
21
|
const _excluded = ["axisId", "axisDirection", "reverse", "onSelectStart", "onSelectEnd"];
|
|
19
22
|
const ZoomSliderTrack = (0, _styles.styled)('rect', {
|
|
@@ -56,6 +59,9 @@ function ChartAxisZoomSliderTrack(_ref) {
|
|
|
56
59
|
} = (0, _internals.useChartContext)();
|
|
57
60
|
const store = (0, _internals.useStore)();
|
|
58
61
|
const [isSelecting, setIsSelecting] = React.useState(false);
|
|
62
|
+
const classes = (0, _chartAxisZoomSliderTrackClasses.useUtilityClasses)({
|
|
63
|
+
axisDirection
|
|
64
|
+
});
|
|
59
65
|
const onPointerDown = function onPointerDown(event) {
|
|
60
66
|
const rect = ref.current;
|
|
61
67
|
const element = svgRef.current;
|
|
@@ -127,5 +133,7 @@ function ChartAxisZoomSliderTrack(_ref) {
|
|
|
127
133
|
onPointerDown: onPointerDown,
|
|
128
134
|
axisDirection: axisDirection,
|
|
129
135
|
isSelecting: isSelecting
|
|
130
|
-
}, other
|
|
136
|
+
}, other, {
|
|
137
|
+
className: (0, _clsx.default)(classes.background, other.className)
|
|
138
|
+
}));
|
|
131
139
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ChartAxisZoomSliderActiveTrackProps } from "./ChartAxisZoomSliderActiveTrack.js";
|
|
2
|
+
export interface ChartAxisZoomSliderTrackClasses {
|
|
3
|
+
/** Styles applied to the root element when it is horizontal. */
|
|
4
|
+
horizontal: string;
|
|
5
|
+
/** Styles applied to the root element when it is vertical. */
|
|
6
|
+
vertical: string;
|
|
7
|
+
/** Styles applied to the root element to the active part of the track. */
|
|
8
|
+
active: string;
|
|
9
|
+
/** Styles applied to the root element to the background part of the track. */
|
|
10
|
+
background: string;
|
|
11
|
+
}
|
|
12
|
+
export type ChartAxisZoomSliderTrackClassKey = keyof ChartAxisZoomSliderTrackClasses;
|
|
13
|
+
export declare const chartAxisZoomSliderTrackClasses: ChartAxisZoomSliderTrackClasses;
|
|
14
|
+
export declare function getAxisZoomSliderTrackUtilityClass(slot: string): string;
|
|
15
|
+
export declare const useUtilityClasses: (props: Partial<ChartAxisZoomSliderActiveTrackProps>) => Record<"background" | "active", string>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.chartAxisZoomSliderTrackClasses = void 0;
|
|
8
|
+
exports.getAxisZoomSliderTrackUtilityClass = getAxisZoomSliderTrackUtilityClass;
|
|
9
|
+
exports.useUtilityClasses = void 0;
|
|
10
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
11
|
+
var _ClassNameGenerator = _interopRequireDefault(require("@mui/utils/ClassNameGenerator"));
|
|
12
|
+
const chartAxisZoomSliderTrackClasses = exports.chartAxisZoomSliderTrackClasses = ['horizontal', 'vertical', 'background', 'active'].reduce((acc, slot) => {
|
|
13
|
+
acc[slot] = getAxisZoomSliderTrackUtilityClass(slot);
|
|
14
|
+
return acc;
|
|
15
|
+
}, {});
|
|
16
|
+
function getAxisZoomSliderTrackUtilityClass(slot) {
|
|
17
|
+
// We use the `ClassNameGenerator` because the original `generateUtilityClass` function
|
|
18
|
+
// has a special case for the `active` slot.
|
|
19
|
+
return `${_ClassNameGenerator.default.generate('MuiChartAxisZoomSliderTrack')}-${slot}`;
|
|
20
|
+
}
|
|
21
|
+
const useUtilityClasses = props => {
|
|
22
|
+
const {
|
|
23
|
+
axisDirection
|
|
24
|
+
} = props;
|
|
25
|
+
const slots = {
|
|
26
|
+
background: [axisDirection === 'x' ? 'horizontal' : 'vertical', 'background'],
|
|
27
|
+
active: [axisDirection === 'x' ? 'horizontal' : 'vertical', 'active']
|
|
28
|
+
};
|
|
29
|
+
return (0, _composeClasses.default)(slots, getAxisZoomSliderTrackUtilityClass);
|
|
30
|
+
};
|
|
31
|
+
exports.useUtilityClasses = useUtilityClasses;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SeriesId } from '@mui/x-charts/internals';
|
|
3
|
+
import { PreviewPlotProps } from "./PreviewPlot.types.js";
|
|
4
|
+
interface AreaPreviewPlotProps extends PreviewPlotProps {}
|
|
5
|
+
export declare function AreaPreviewPlot({
|
|
6
|
+
axisId
|
|
7
|
+
}: AreaPreviewPlotProps): React.JSX.Element;
|
|
8
|
+
export interface PreviewAreaElementProps extends Omit<React.SVGProps<SVGPathElement>, 'ref' | 'color' | 'id'> {
|
|
9
|
+
id: SeriesId;
|
|
10
|
+
gradientId?: string;
|
|
11
|
+
color: string;
|
|
12
|
+
d: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AreaPreviewPlot = AreaPreviewPlot;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _internals = require("@mui/x-charts/internals");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
const _excluded = ["id", "color", "gradientId", "onClick"];
|
|
16
|
+
const AreaPlotRoot = (0, _styles.styled)('g', {
|
|
17
|
+
name: 'MuiAreaPlot',
|
|
18
|
+
slot: 'Root'
|
|
19
|
+
})();
|
|
20
|
+
function AreaPreviewPlot({
|
|
21
|
+
axisId
|
|
22
|
+
}) {
|
|
23
|
+
const completedData = useAreaPreviewData(axisId);
|
|
24
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaPlotRoot, {
|
|
25
|
+
children: completedData.map(({
|
|
26
|
+
d,
|
|
27
|
+
seriesId,
|
|
28
|
+
color,
|
|
29
|
+
area,
|
|
30
|
+
gradientId
|
|
31
|
+
}) => !!area && /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewAreaElement, {
|
|
32
|
+
id: seriesId,
|
|
33
|
+
d: d,
|
|
34
|
+
color: color,
|
|
35
|
+
gradientId: gradientId
|
|
36
|
+
}, seriesId))
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Preview of the area element for the zoom preview.
|
|
41
|
+
* Based on AreaElement and AnimatedArea.
|
|
42
|
+
*/
|
|
43
|
+
function PreviewAreaElement(_ref) {
|
|
44
|
+
let {
|
|
45
|
+
id,
|
|
46
|
+
color,
|
|
47
|
+
gradientId
|
|
48
|
+
} = _ref,
|
|
49
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", (0, _extends2.default)({
|
|
51
|
+
fill: gradientId ? `url(#${gradientId})` : color,
|
|
52
|
+
stroke: "none",
|
|
53
|
+
"data-series": id
|
|
54
|
+
}, other));
|
|
55
|
+
}
|
|
56
|
+
function useAreaPreviewData(axisId) {
|
|
57
|
+
const store = (0, _internals.useStore)();
|
|
58
|
+
const xAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedXAxis, [axisId]);
|
|
59
|
+
const yAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedYAxis, [axisId]);
|
|
60
|
+
return (0, _internals.useAreaPlotData)(xAxes, yAxes);
|
|
61
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PreviewPlotProps } from "./PreviewPlot.types.js";
|
|
3
|
+
interface BarPreviewPlotProps extends PreviewPlotProps {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
height: number;
|
|
7
|
+
width: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function BarPreviewPlot(props: BarPreviewPlotProps): React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BarPreviewPlot = BarPreviewPlot;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _internals = require("@mui/x-charts/internals");
|
|
10
|
+
var _BarChart = require("@mui/x-charts/BarChart");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function BarPreviewPlot(props) {
|
|
13
|
+
const drawingArea = {
|
|
14
|
+
left: props.x,
|
|
15
|
+
top: props.y,
|
|
16
|
+
width: props.width,
|
|
17
|
+
height: props.height,
|
|
18
|
+
right: props.x + props.width,
|
|
19
|
+
bottom: props.y + props.height
|
|
20
|
+
};
|
|
21
|
+
const {
|
|
22
|
+
completedData
|
|
23
|
+
} = useBarPreviewData(props.axisId, drawingArea);
|
|
24
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
25
|
+
children: completedData.map(({
|
|
26
|
+
seriesId,
|
|
27
|
+
data
|
|
28
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
29
|
+
children: data.map(({
|
|
30
|
+
dataIndex,
|
|
31
|
+
color,
|
|
32
|
+
layout,
|
|
33
|
+
x,
|
|
34
|
+
xOrigin,
|
|
35
|
+
y,
|
|
36
|
+
yOrigin,
|
|
37
|
+
width,
|
|
38
|
+
height
|
|
39
|
+
}) => {
|
|
40
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarChart.BarElement, {
|
|
41
|
+
id: seriesId,
|
|
42
|
+
dataIndex: dataIndex,
|
|
43
|
+
color: color,
|
|
44
|
+
skipAnimation: true,
|
|
45
|
+
layout: layout ?? 'vertical',
|
|
46
|
+
x: x,
|
|
47
|
+
xOrigin: xOrigin,
|
|
48
|
+
y: y,
|
|
49
|
+
yOrigin: yOrigin,
|
|
50
|
+
width: width,
|
|
51
|
+
height: height
|
|
52
|
+
}, dataIndex);
|
|
53
|
+
})
|
|
54
|
+
}, seriesId))
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function useBarPreviewData(axisId, drawingArea) {
|
|
58
|
+
const store = (0, _internals.useStore)();
|
|
59
|
+
const xAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedXAxis, [axisId]);
|
|
60
|
+
const yAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedYAxis, [axisId]);
|
|
61
|
+
return (0, _internals.useBarPlotData)(drawingArea, xAxes, yAxes);
|
|
62
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SeriesId } from '@mui/x-charts/internals';
|
|
3
|
+
import { PreviewPlotProps } from "./PreviewPlot.types.js";
|
|
4
|
+
interface LinePreviewPlotProps extends PreviewPlotProps {}
|
|
5
|
+
export declare function LinePreviewPlot({
|
|
6
|
+
axisId
|
|
7
|
+
}: LinePreviewPlotProps): React.JSX.Element;
|
|
8
|
+
export interface PreviewLineElementProps extends Omit<React.SVGProps<SVGPathElement>, 'ref' | 'color' | 'id'> {
|
|
9
|
+
id: SeriesId;
|
|
10
|
+
gradientId?: string;
|
|
11
|
+
color: string;
|
|
12
|
+
d: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.LinePreviewPlot = LinePreviewPlot;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _internals = require("@mui/x-charts/internals");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
const _excluded = ["id", "color", "gradientId", "onClick"];
|
|
15
|
+
function LinePreviewPlot({
|
|
16
|
+
axisId
|
|
17
|
+
}) {
|
|
18
|
+
const completedData = useLinePreviewData(axisId);
|
|
19
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
20
|
+
children: completedData.map(({
|
|
21
|
+
d,
|
|
22
|
+
seriesId,
|
|
23
|
+
color,
|
|
24
|
+
gradientId
|
|
25
|
+
}) => {
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewLineElement, {
|
|
27
|
+
id: seriesId,
|
|
28
|
+
d: d,
|
|
29
|
+
color: color,
|
|
30
|
+
gradientId: gradientId
|
|
31
|
+
}, seriesId);
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Preview of the line element for the zoom preview.
|
|
37
|
+
* Based on LineElement and AnimatedLine.
|
|
38
|
+
*/
|
|
39
|
+
function PreviewLineElement(_ref) {
|
|
40
|
+
let {
|
|
41
|
+
id,
|
|
42
|
+
color,
|
|
43
|
+
gradientId
|
|
44
|
+
} = _ref,
|
|
45
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", (0, _extends2.default)({
|
|
47
|
+
stroke: gradientId ? `url(#${gradientId})` : color,
|
|
48
|
+
strokeWidth: 2,
|
|
49
|
+
strokeLinejoin: "round",
|
|
50
|
+
fill: "none",
|
|
51
|
+
"data-series": id
|
|
52
|
+
}, other));
|
|
53
|
+
}
|
|
54
|
+
function useLinePreviewData(axisId) {
|
|
55
|
+
const store = (0, _internals.useStore)();
|
|
56
|
+
const xAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedXAxis, [axisId]);
|
|
57
|
+
const yAxes = (0, _internals.useSelector)(store, _internals.selectorChartPreviewComputedYAxis, [axisId]);
|
|
58
|
+
return (0, _internals.useLinePlotData)(xAxes, yAxes);
|
|
59
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PreviewPlotProps } from "./PreviewPlot.types.js";
|
|
3
|
+
interface ScatterPreviewPlotProps extends PreviewPlotProps {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
height: number;
|
|
7
|
+
width: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function ScatterPreviewPlot({
|
|
10
|
+
axisId,
|
|
11
|
+
x,
|
|
12
|
+
y,
|
|
13
|
+
height,
|
|
14
|
+
width
|
|
15
|
+
}: ScatterPreviewPlotProps): React.JSX.Element | null;
|
|
16
|
+
export {};
|