@mui/x-charts-pro 8.3.1 → 8.5.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 +13 -5
- package/BarChartPro/BarChartPro.js +56 -21
- package/CHANGELOG.md +213 -0
- package/ChartContainerPro/ChartContainerPro.d.ts +0 -1
- package/ChartContainerPro/ChartContainerPro.js +1 -0
- package/ChartContainerPro/ChartProApi.d.ts +26 -0
- package/ChartContainerPro/ChartProApi.js +5 -0
- package/ChartContainerPro/index.d.ts +2 -1
- package/ChartContainerPro/index.js +11 -0
- package/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
- package/ChartDataProviderPro/ChartDataProviderPro.js +19 -3
- package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
- package/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
- package/ChartZoomSlider/index.d.ts +1 -1
- package/ChartZoomSlider/index.js +4 -4
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
- package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +31 -287
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +251 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +92 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
- package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +160 -0
- package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
- package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +58 -0
- package/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
- package/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +6 -6
- package/ChartZoomSlider/internals/constants.d.ts +5 -0
- package/ChartZoomSlider/internals/constants.js +11 -0
- package/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
- package/ChartZoomSlider/internals/zoom-utils.js +48 -0
- package/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
- package/ChartsToolbarPro/ChartsToolbarPro.js +42 -8
- package/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
- package/ChartsToolbarPro/ChartsToolbarZoomInButton.js +56 -0
- package/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
- package/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +56 -0
- package/ChartsToolbarPro/index.d.ts +3 -1
- package/ChartsToolbarPro/index.js +22 -0
- package/FunnelChart/FunnelChart.d.ts +2 -1
- package/FunnelChart/FunnelChart.js +6 -23
- package/FunnelChart/FunnelChart.plugins.d.ts +4 -0
- package/FunnelChart/FunnelChart.plugins.js +9 -0
- package/FunnelChart/FunnelPlot.js +2 -0
- package/FunnelChart/FunnelSection.js +2 -1
- package/FunnelChart/curves/curve.types.d.ts +4 -0
- package/FunnelChart/curves/pyramid.d.ts +3 -1
- package/FunnelChart/curves/pyramid.js +37 -10
- package/FunnelChart/curves/step-pyramid.d.ts +10 -2
- package/FunnelChart/curves/step-pyramid.js +96 -20
- package/FunnelChart/curves/step.d.ts +5 -1
- package/FunnelChart/curves/step.js +20 -2
- package/FunnelChart/funnel.types.d.ts +7 -0
- package/FunnelChart/funnelSlots.types.d.ts +4 -3
- package/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
- package/FunnelChart/useFunnelChartProps.d.ts +2 -1
- package/FunnelChart/useFunnelChartProps.js +3 -1
- package/Heatmap/Heatmap.d.ts +18 -5
- package/Heatmap/Heatmap.js +64 -26
- package/Heatmap/Heatmap.plugins.d.ts +2 -1
- package/Heatmap/Heatmap.plugins.js +2 -1
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +27 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.js +4 -102
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +5 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
- package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +96 -0
- package/Heatmap/HeatmapTooltip/index.d.ts +3 -1
- package/Heatmap/HeatmapTooltip/index.js +11 -0
- package/LineChartPro/LineChartPro.d.ts +13 -5
- package/LineChartPro/LineChartPro.js +56 -21
- package/RadarChartPro/RadarChartPro.d.ts +15 -0
- package/RadarChartPro/RadarChartPro.js +202 -0
- package/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
- package/RadarChartPro/RadarChartPro.plugins.js +9 -0
- package/RadarChartPro/index.d.ts +1 -0
- package/RadarChartPro/index.js +16 -0
- package/ScatterChartPro/ScatterChartPro.d.ts +13 -5
- package/ScatterChartPro/ScatterChartPro.js +57 -22
- package/context/index.d.ts +1 -0
- package/context/index.js +16 -0
- package/context/useChartApiContext.d.ts +9 -0
- package/context/useChartApiContext.js +17 -0
- package/esm/BarChartPro/BarChartPro.d.ts +13 -5
- package/esm/BarChartPro/BarChartPro.js +54 -19
- package/esm/ChartContainerPro/ChartContainerPro.d.ts +0 -1
- package/esm/ChartContainerPro/ChartContainerPro.js +1 -0
- package/esm/ChartContainerPro/ChartProApi.d.ts +26 -0
- package/esm/ChartContainerPro/ChartProApi.js +1 -0
- package/esm/ChartContainerPro/index.d.ts +2 -1
- package/esm/ChartContainerPro/index.js +2 -1
- package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
- package/esm/ChartDataProviderPro/ChartDataProviderPro.js +20 -4
- package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
- package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
- package/esm/ChartZoomSlider/index.d.ts +1 -1
- package/esm/ChartZoomSlider/index.js +1 -1
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +30 -283
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +243 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +85 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +152 -0
- package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
- package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +52 -0
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
- package/esm/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +4 -4
- package/esm/ChartZoomSlider/internals/constants.d.ts +5 -0
- package/esm/ChartZoomSlider/internals/constants.js +5 -0
- package/esm/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
- package/esm/ChartZoomSlider/internals/zoom-utils.js +40 -0
- package/esm/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
- package/esm/ChartsToolbarPro/ChartsToolbarPro.js +42 -9
- package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
- package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.js +50 -0
- package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
- package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +50 -0
- package/esm/ChartsToolbarPro/index.d.ts +3 -1
- package/esm/ChartsToolbarPro/index.js +3 -1
- package/esm/FunnelChart/FunnelChart.d.ts +2 -1
- package/esm/FunnelChart/FunnelChart.js +6 -23
- package/esm/FunnelChart/FunnelChart.plugins.d.ts +4 -0
- package/esm/FunnelChart/FunnelChart.plugins.js +3 -0
- package/esm/FunnelChart/FunnelPlot.js +2 -0
- package/esm/FunnelChart/FunnelSection.js +1 -0
- package/esm/FunnelChart/curves/curve.types.d.ts +4 -0
- package/esm/FunnelChart/curves/pyramid.d.ts +3 -1
- package/esm/FunnelChart/curves/pyramid.js +37 -10
- package/esm/FunnelChart/curves/step-pyramid.d.ts +10 -2
- package/esm/FunnelChart/curves/step-pyramid.js +96 -20
- package/esm/FunnelChart/curves/step.d.ts +5 -1
- package/esm/FunnelChart/curves/step.js +20 -2
- package/esm/FunnelChart/funnel.types.d.ts +7 -0
- package/esm/FunnelChart/funnelSlots.types.d.ts +4 -3
- package/esm/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
- package/esm/FunnelChart/useFunnelChartProps.d.ts +2 -1
- package/esm/FunnelChart/useFunnelChartProps.js +3 -1
- package/esm/Heatmap/Heatmap.d.ts +18 -5
- package/esm/Heatmap/Heatmap.js +62 -24
- package/esm/Heatmap/Heatmap.plugins.d.ts +2 -1
- package/esm/Heatmap/Heatmap.plugins.js +2 -1
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +19 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.js +5 -103
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +1 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
- package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +89 -0
- package/esm/Heatmap/HeatmapTooltip/index.d.ts +3 -1
- package/esm/Heatmap/HeatmapTooltip/index.js +3 -1
- package/esm/LineChartPro/LineChartPro.d.ts +13 -5
- package/esm/LineChartPro/LineChartPro.js +54 -19
- package/esm/RadarChartPro/RadarChartPro.d.ts +15 -0
- package/esm/RadarChartPro/RadarChartPro.js +195 -0
- package/esm/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
- package/esm/RadarChartPro/RadarChartPro.plugins.js +3 -0
- package/esm/RadarChartPro/index.d.ts +1 -0
- package/esm/RadarChartPro/index.js +1 -0
- package/esm/ScatterChartPro/ScatterChartPro.d.ts +13 -5
- package/esm/ScatterChartPro/ScatterChartPro.js +55 -20
- package/esm/context/index.d.ts +1 -0
- package/esm/context/index.js +1 -0
- package/esm/context/useChartApiContext.d.ts +9 -0
- package/esm/context/useChartApiContext.js +11 -0
- package/esm/hooks/index.d.ts +2 -1
- package/esm/hooks/index.js +2 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/internals/material/index.d.ts +1 -0
- package/esm/internals/plugins/useChartProExport/exportImage.js +1 -1
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +12 -2
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +15 -1
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
- package/esm/models/index.d.ts +1 -1
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +21 -10
- package/index.d.ts +2 -1
- package/index.js +12 -1
- package/internals/material/index.d.ts +1 -0
- package/internals/plugins/useChartProExport/exportImage.js +1 -1
- package/internals/plugins/useChartProZoom/useChartProZoom.js +12 -2
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +16 -2
- package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
- package/models/index.d.ts +1 -1
- package/package.json +5 -5
- package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
- package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -92
- package/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
- package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
- package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -36
- package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
- package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -36
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
- package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -85
- package/esm/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
- package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
- package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -29
- package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
- package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -29
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface ChartZoomSliderThumbOwnerState {
|
|
3
|
+
onMove: (event: PointerEvent) => void;
|
|
4
|
+
orientation: 'horizontal' | 'vertical';
|
|
5
|
+
placement: 'start' | 'end';
|
|
6
|
+
}
|
|
7
|
+
export interface ChartZoomSliderThumbProps extends Omit<React.ComponentProps<'rect'>, 'orientation'>, ChartZoomSliderThumbOwnerState {}
|
|
8
|
+
/**
|
|
9
|
+
* Renders the zoom slider thumb, which is responsible for resizing the zoom range.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const ChartAxisZoomSliderThumb: React.ForwardRefExoticComponent<Omit<ChartZoomSliderThumbProps, "ref"> & React.RefAttributes<SVGRectElement>>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ChartAxisZoomSliderThumb = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _styles = require("@mui/material/styles");
|
|
14
|
+
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
15
|
+
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
16
|
+
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
17
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
18
|
+
var _chartAxisZoomSliderThumbClasses = require("./chartAxisZoomSliderThumbClasses");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
const _excluded = ["className", "onMove", "orientation", "placement", "rx", "ry"];
|
|
21
|
+
const Rect = (0, _styles.styled)('rect')(({
|
|
22
|
+
theme
|
|
23
|
+
}) => ({
|
|
24
|
+
[`&.${_chartAxisZoomSliderThumbClasses.chartAxisZoomSliderThumbClasses.root}`]: {
|
|
25
|
+
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[300] : (theme.vars || theme).palette.common.white,
|
|
26
|
+
stroke: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[600] : (theme.vars || theme).palette.grey[500]
|
|
27
|
+
},
|
|
28
|
+
[`&.${_chartAxisZoomSliderThumbClasses.chartAxisZoomSliderThumbClasses.horizontal}`]: {
|
|
29
|
+
cursor: 'ew-resize'
|
|
30
|
+
},
|
|
31
|
+
[`&.${_chartAxisZoomSliderThumbClasses.chartAxisZoomSliderThumbClasses.vertical}`]: {
|
|
32
|
+
cursor: 'ns-resize'
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
/**
|
|
36
|
+
* Renders the zoom slider thumb, which is responsible for resizing the zoom range.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
const ChartAxisZoomSliderThumb = exports.ChartAxisZoomSliderThumb = /*#__PURE__*/React.forwardRef(function ChartAxisZoomSliderThumb(_ref, forwardedRef) {
|
|
40
|
+
let {
|
|
41
|
+
className,
|
|
42
|
+
onMove,
|
|
43
|
+
orientation,
|
|
44
|
+
placement,
|
|
45
|
+
rx = 4,
|
|
46
|
+
ry = 4
|
|
47
|
+
} = _ref,
|
|
48
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
49
|
+
const classes = (0, _chartAxisZoomSliderThumbClasses.useUtilityClasses)({
|
|
50
|
+
onMove,
|
|
51
|
+
orientation,
|
|
52
|
+
placement
|
|
53
|
+
});
|
|
54
|
+
const thumbRef = React.useRef(null);
|
|
55
|
+
const ref = (0, _useForkRef.default)(thumbRef, forwardedRef);
|
|
56
|
+
const onMoveEvent = (0, _useEventCallback.default)(onMove);
|
|
57
|
+
React.useEffect(() => {
|
|
58
|
+
const thumb = thumbRef.current;
|
|
59
|
+
if (!thumb) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const onPointerMove = (0, _rafThrottle.rafThrottle)(event => {
|
|
63
|
+
onMoveEvent(event);
|
|
64
|
+
});
|
|
65
|
+
const onPointerUp = () => {
|
|
66
|
+
thumb.removeEventListener('pointermove', onPointerMove);
|
|
67
|
+
thumb.removeEventListener('pointerup', onPointerUp);
|
|
68
|
+
};
|
|
69
|
+
const onPointerDown = event => {
|
|
70
|
+
// Prevent text selection when dragging the thumb
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
event.stopPropagation();
|
|
73
|
+
thumb.setPointerCapture(event.pointerId);
|
|
74
|
+
thumb.addEventListener('pointerup', onPointerUp);
|
|
75
|
+
thumb.addEventListener('pointermove', onPointerMove);
|
|
76
|
+
};
|
|
77
|
+
thumb.addEventListener('pointerdown', onPointerDown);
|
|
78
|
+
|
|
79
|
+
// eslint-disable-next-line consistent-return
|
|
80
|
+
return () => {
|
|
81
|
+
thumb.removeEventListener('pointerdown', onPointerDown);
|
|
82
|
+
onPointerMove.clear();
|
|
83
|
+
};
|
|
84
|
+
}, [onMoveEvent, orientation]);
|
|
85
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Rect, (0, _extends2.default)({
|
|
86
|
+
className: (0, _clsx.default)(classes.root, className),
|
|
87
|
+
ref: ref,
|
|
88
|
+
rx: rx,
|
|
89
|
+
ry: ry
|
|
90
|
+
}, rest));
|
|
91
|
+
});
|
|
92
|
+
if (process.env.NODE_ENV !== "production") ChartAxisZoomSliderThumb.displayName = "ChartAxisZoomSliderThumb";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AxisId } from '@mui/x-charts/internals';
|
|
3
|
+
interface ChartAxisZoomSliderTrackProps extends React.ComponentProps<'rect'> {
|
|
4
|
+
axisId: AxisId;
|
|
5
|
+
axisDirection: 'x' | 'y';
|
|
6
|
+
reverse: boolean;
|
|
7
|
+
onSelectStart?: () => void;
|
|
8
|
+
onSelectEnd?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function ChartAxisZoomSliderTrack({
|
|
11
|
+
axisId,
|
|
12
|
+
axisDirection,
|
|
13
|
+
reverse,
|
|
14
|
+
onSelectStart,
|
|
15
|
+
onSelectEnd,
|
|
16
|
+
...other
|
|
17
|
+
}: ChartAxisZoomSliderTrackProps): React.JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,160 @@
|
|
|
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.ChartAxisZoomSliderTrack = ChartAxisZoomSliderTrack;
|
|
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 _styles = require("@mui/material/styles");
|
|
14
|
+
var _rafThrottle = require("@mui/x-internals/rafThrottle");
|
|
15
|
+
var _system = require("@mui/system");
|
|
16
|
+
var _zoomUtils = require("./zoom-utils");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["axisId", "axisDirection", "reverse", "onSelectStart", "onSelectEnd"];
|
|
19
|
+
const ZoomSliderTrack = (0, _styles.styled)('rect', {
|
|
20
|
+
shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'axisDirection' && prop !== 'isSelecting'
|
|
21
|
+
})(({
|
|
22
|
+
theme
|
|
23
|
+
}) => ({
|
|
24
|
+
fill: theme.palette.mode === 'dark' ? (theme.vars || theme).palette.grey[800] : (theme.vars || theme).palette.grey[300],
|
|
25
|
+
cursor: 'pointer',
|
|
26
|
+
variants: [{
|
|
27
|
+
props: {
|
|
28
|
+
axisDirection: 'x',
|
|
29
|
+
isSelecting: true
|
|
30
|
+
},
|
|
31
|
+
style: {
|
|
32
|
+
cursor: 'ew-resize'
|
|
33
|
+
}
|
|
34
|
+
}, {
|
|
35
|
+
props: {
|
|
36
|
+
axisDirection: 'y',
|
|
37
|
+
isSelecting: true
|
|
38
|
+
},
|
|
39
|
+
style: {
|
|
40
|
+
cursor: 'ns-resize'
|
|
41
|
+
}
|
|
42
|
+
}]
|
|
43
|
+
}));
|
|
44
|
+
function ChartAxisZoomSliderTrack(_ref) {
|
|
45
|
+
let {
|
|
46
|
+
axisId,
|
|
47
|
+
axisDirection,
|
|
48
|
+
onSelectStart,
|
|
49
|
+
onSelectEnd
|
|
50
|
+
} = _ref,
|
|
51
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
52
|
+
const ref = React.useRef(null);
|
|
53
|
+
const {
|
|
54
|
+
instance,
|
|
55
|
+
svgRef
|
|
56
|
+
} = (0, _internals.useChartContext)();
|
|
57
|
+
const store = (0, _internals.useStore)();
|
|
58
|
+
const [isSelecting, setIsSelecting] = React.useState(false);
|
|
59
|
+
const onPointerDown = function onPointerDown(event) {
|
|
60
|
+
const rect = ref.current;
|
|
61
|
+
const element = svgRef.current;
|
|
62
|
+
if (!rect || !element) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const pointerDownPoint = (0, _internals.getSVGPoint)(element, event);
|
|
66
|
+
let zoomFromPointerDown = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, pointerDownPoint);
|
|
67
|
+
if (zoomFromPointerDown === null) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const {
|
|
71
|
+
minStart,
|
|
72
|
+
maxEnd
|
|
73
|
+
} = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
74
|
+
|
|
75
|
+
// Ensure the zoomFromPointerDown is within the min and max range
|
|
76
|
+
zoomFromPointerDown = Math.max(Math.min(zoomFromPointerDown, maxEnd), minStart);
|
|
77
|
+
let pointerMoved = false;
|
|
78
|
+
const onPointerMove = (0, _rafThrottle.rafThrottle)(function onPointerMove(pointerMoveEvent) {
|
|
79
|
+
const pointerMovePoint = (0, _internals.getSVGPoint)(element, pointerMoveEvent);
|
|
80
|
+
const zoomFromPointerMove = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, pointerMovePoint);
|
|
81
|
+
if (zoomFromPointerMove === null) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
pointerMoved = true;
|
|
85
|
+
const zoomOptions = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
86
|
+
instance.setAxisZoomData(axisId, prevZoomData => {
|
|
87
|
+
if (zoomFromPointerMove > zoomFromPointerDown) {
|
|
88
|
+
const end = (0, _zoomUtils.calculateZoomEnd)(zoomFromPointerMove, (0, _extends2.default)({}, prevZoomData, {
|
|
89
|
+
start: zoomFromPointerDown
|
|
90
|
+
}), zoomOptions);
|
|
91
|
+
|
|
92
|
+
/* If the starting point is too close to the end that minSpan wouldn't be respected, we need to update the
|
|
93
|
+
* start point. */
|
|
94
|
+
const start = (0, _zoomUtils.calculateZoomStart)(zoomFromPointerDown, (0, _extends2.default)({}, prevZoomData, {
|
|
95
|
+
start: zoomFromPointerDown,
|
|
96
|
+
end
|
|
97
|
+
}), zoomOptions);
|
|
98
|
+
return (0, _extends2.default)({}, prevZoomData, {
|
|
99
|
+
start,
|
|
100
|
+
end
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const start = (0, _zoomUtils.calculateZoomStart)(zoomFromPointerMove, (0, _extends2.default)({}, prevZoomData, {
|
|
104
|
+
end: zoomFromPointerDown
|
|
105
|
+
}), zoomOptions);
|
|
106
|
+
|
|
107
|
+
/* If the starting point is too close to the start that minSpan wouldn't be respected, we need to update the
|
|
108
|
+
* start point. */
|
|
109
|
+
const end = (0, _zoomUtils.calculateZoomEnd)(zoomFromPointerDown, (0, _extends2.default)({}, prevZoomData, {
|
|
110
|
+
start,
|
|
111
|
+
end: zoomFromPointerDown
|
|
112
|
+
}), zoomOptions);
|
|
113
|
+
return (0, _extends2.default)({}, prevZoomData, {
|
|
114
|
+
start,
|
|
115
|
+
end
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
const onPointerUp = function onPointerUp(pointerUpEvent) {
|
|
120
|
+
rect.releasePointerCapture(pointerUpEvent.pointerId);
|
|
121
|
+
rect.removeEventListener('pointermove', onPointerMove);
|
|
122
|
+
document.removeEventListener('pointerup', onPointerUp);
|
|
123
|
+
setIsSelecting(false);
|
|
124
|
+
onSelectEnd?.();
|
|
125
|
+
if (pointerMoved) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// If the pointer didn't move, we still need to respect the zoom constraints (minSpan, etc.)
|
|
130
|
+
// In that case, we assume the start to be the pointerZoom and calculate the end.
|
|
131
|
+
const pointerUpPoint = (0, _internals.getSVGPoint)(element, pointerUpEvent);
|
|
132
|
+
const zoomFromPointerUp = (0, _zoomUtils.calculateZoomFromPoint)(store.getSnapshot(), axisId, pointerUpPoint);
|
|
133
|
+
if (zoomFromPointerUp === null) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const zoomOptions = (0, _internals.selectorChartAxisZoomOptionsLookup)(store.getSnapshot(), axisId);
|
|
137
|
+
instance.setAxisZoomData(axisId, prev => (0, _extends2.default)({}, prev, {
|
|
138
|
+
start: zoomFromPointerUp,
|
|
139
|
+
end: (0, _zoomUtils.calculateZoomEnd)(zoomFromPointerUp, prev, zoomOptions)
|
|
140
|
+
}));
|
|
141
|
+
};
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
event.stopPropagation();
|
|
144
|
+
rect.setPointerCapture(event.pointerId);
|
|
145
|
+
document.addEventListener('pointerup', onPointerUp);
|
|
146
|
+
rect.addEventListener('pointermove', onPointerMove);
|
|
147
|
+
onSelectStart?.();
|
|
148
|
+
setIsSelecting(true);
|
|
149
|
+
instance.setAxisZoomData(axisId, prev => (0, _extends2.default)({}, prev, {
|
|
150
|
+
start: zoomFromPointerDown,
|
|
151
|
+
end: zoomFromPointerDown
|
|
152
|
+
}));
|
|
153
|
+
};
|
|
154
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomSliderTrack, (0, _extends2.default)({
|
|
155
|
+
ref: ref,
|
|
156
|
+
onPointerDown: onPointerDown,
|
|
157
|
+
axisDirection: axisDirection,
|
|
158
|
+
isSelecting: isSelecting
|
|
159
|
+
}, other));
|
|
160
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PopperProps } from '@mui/material/Popper';
|
|
3
|
+
interface ChartsTooltipZoomSliderValueProps extends Pick<PopperProps, 'anchorEl' | 'open' | 'modifiers' | 'placement'>, React.PropsWithChildren {}
|
|
4
|
+
export declare function ChartsTooltipZoomSliderValue({
|
|
5
|
+
anchorEl,
|
|
6
|
+
open,
|
|
7
|
+
placement,
|
|
8
|
+
modifiers,
|
|
9
|
+
children
|
|
10
|
+
}: ChartsTooltipZoomSliderValueProps): React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
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.ChartsTooltipZoomSliderValue = ChartsTooltipZoomSliderValue;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
|
|
11
|
+
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
|
12
|
+
var _ChartsTooltip = require("@mui/x-charts/ChartsTooltip");
|
|
13
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
/**
|
|
17
|
+
* The root component of the zoom slider tooltip.
|
|
18
|
+
* @ignore - internal component.
|
|
19
|
+
*/const ChartsZoomSliderTooltipRoot = (0, _styles.styled)(_Popper.default, {
|
|
20
|
+
name: 'MuiChartsZoomSliderTooltip',
|
|
21
|
+
slot: 'Root'
|
|
22
|
+
})(({
|
|
23
|
+
theme
|
|
24
|
+
}) => ({
|
|
25
|
+
pointerEvents: 'none',
|
|
26
|
+
zIndex: theme.zIndex.modal
|
|
27
|
+
}));
|
|
28
|
+
const MODIFIERS = [{
|
|
29
|
+
name: 'offset',
|
|
30
|
+
options: {
|
|
31
|
+
offset: [0, 4]
|
|
32
|
+
}
|
|
33
|
+
}];
|
|
34
|
+
function ChartsTooltipZoomSliderValue({
|
|
35
|
+
anchorEl,
|
|
36
|
+
open,
|
|
37
|
+
placement,
|
|
38
|
+
modifiers = MODIFIERS,
|
|
39
|
+
children
|
|
40
|
+
}) {
|
|
41
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
|
|
42
|
+
children: open ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsZoomSliderTooltipRoot, {
|
|
43
|
+
open: open,
|
|
44
|
+
anchorEl: anchorEl,
|
|
45
|
+
placement: placement,
|
|
46
|
+
modifiers: modifiers,
|
|
47
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipPaper, {
|
|
48
|
+
sx: {
|
|
49
|
+
paddingX: 0.5
|
|
50
|
+
},
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
52
|
+
variant: "caption",
|
|
53
|
+
children: children
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
}) : null
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ChartZoomSliderThumbOwnerState } from "./ChartAxisZoomSliderThumb.js";
|
|
2
|
+
export interface ChartAxisZoomSliderThumbClasses {
|
|
3
|
+
/** Styles applied to the root element. */
|
|
4
|
+
root: string;
|
|
5
|
+
/** Styles applied to the root element when it is horizontal. */
|
|
6
|
+
horizontal: string;
|
|
7
|
+
/** Styles applied to the root element when it is vertical. */
|
|
8
|
+
vertical: string;
|
|
9
|
+
/** Styles applied to the root element when it is a start thumb. */
|
|
10
|
+
start: string;
|
|
11
|
+
/** Styles applied to the root element when it is an end thumb. */
|
|
12
|
+
end: string;
|
|
13
|
+
}
|
|
14
|
+
export type ChartAxisZoomSliderThumbClassKey = keyof ChartAxisZoomSliderThumbClasses;
|
|
15
|
+
export declare const chartAxisZoomSliderThumbClasses: ChartAxisZoomSliderThumbClasses;
|
|
16
|
+
export declare function getAxisZoomSliderThumbUtilityClass(slot: string): string;
|
|
17
|
+
export declare const useUtilityClasses: (ownerState: ChartZoomSliderThumbOwnerState) => Record<"root", string>;
|
|
@@ -4,15 +4,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
7
|
+
exports.chartAxisZoomSliderThumbClasses = void 0;
|
|
8
|
+
exports.getAxisZoomSliderThumbUtilityClass = getAxisZoomSliderThumbUtilityClass;
|
|
9
9
|
exports.useUtilityClasses = void 0;
|
|
10
10
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
11
11
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
12
12
|
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
13
|
-
const
|
|
14
|
-
function
|
|
15
|
-
return (0, _generateUtilityClass.default)('
|
|
13
|
+
const chartAxisZoomSliderThumbClasses = exports.chartAxisZoomSliderThumbClasses = (0, _generateUtilityClasses.default)('MuiChartAxisZoomSliderThumb', ['root', 'horizontal', 'vertical', 'start', 'end']);
|
|
14
|
+
function getAxisZoomSliderThumbUtilityClass(slot) {
|
|
15
|
+
return (0, _generateUtilityClass.default)('MuiChartAxisZoomSliderThumb', slot);
|
|
16
16
|
}
|
|
17
17
|
const useUtilityClasses = ownerState => {
|
|
18
18
|
const {
|
|
@@ -22,6 +22,6 @@ const useUtilityClasses = ownerState => {
|
|
|
22
22
|
const slots = {
|
|
23
23
|
root: ['root', orientation === 'horizontal' ? 'horizontal' : 'vertical', placement === 'start' ? 'start' : 'end']
|
|
24
24
|
};
|
|
25
|
-
return (0, _composeClasses.default)(slots,
|
|
25
|
+
return (0, _composeClasses.default)(slots, getAxisZoomSliderThumbUtilityClass);
|
|
26
26
|
};
|
|
27
27
|
exports.useUtilityClasses = useUtilityClasses;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ZOOM_SLIDER_TRACK_SIZE = exports.ZOOM_SLIDER_THUMB_WIDTH = exports.ZOOM_SLIDER_THUMB_HEIGHT = exports.ZOOM_SLIDER_SIZE = exports.ZOOM_SLIDER_ACTIVE_TRACK_SIZE = void 0;
|
|
7
|
+
const ZOOM_SLIDER_TRACK_SIZE = exports.ZOOM_SLIDER_TRACK_SIZE = 8;
|
|
8
|
+
const ZOOM_SLIDER_ACTIVE_TRACK_SIZE = exports.ZOOM_SLIDER_ACTIVE_TRACK_SIZE = 10;
|
|
9
|
+
const ZOOM_SLIDER_THUMB_HEIGHT = exports.ZOOM_SLIDER_THUMB_HEIGHT = 20;
|
|
10
|
+
const ZOOM_SLIDER_THUMB_WIDTH = exports.ZOOM_SLIDER_THUMB_WIDTH = 10;
|
|
11
|
+
const ZOOM_SLIDER_SIZE = exports.ZOOM_SLIDER_SIZE = Math.max(ZOOM_SLIDER_TRACK_SIZE, ZOOM_SLIDER_ACTIVE_TRACK_SIZE, ZOOM_SLIDER_THUMB_HEIGHT, ZOOM_SLIDER_THUMB_WIDTH);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AxisId, ChartState, DefaultizedZoomOptions, ZoomData } from '@mui/x-charts/internals';
|
|
2
|
+
export declare function calculateZoomFromPoint(state: ChartState<any>, axisId: AxisId, point: DOMPoint): number | null;
|
|
3
|
+
export declare function calculateZoomStart(newStart: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'minStart' | 'minSpan' | 'maxSpan'>): number;
|
|
4
|
+
export declare function calculateZoomEnd(newEnd: number, currentZoom: ZoomData, options: Pick<DefaultizedZoomOptions, 'maxEnd' | 'minSpan' | 'maxSpan'>): number;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.calculateZoomEnd = calculateZoomEnd;
|
|
7
|
+
exports.calculateZoomFromPoint = calculateZoomFromPoint;
|
|
8
|
+
exports.calculateZoomStart = calculateZoomStart;
|
|
9
|
+
var _internals = require("@mui/x-charts/internals");
|
|
10
|
+
function calculateZoomFromPoint(state, axisId, point) {
|
|
11
|
+
const {
|
|
12
|
+
left,
|
|
13
|
+
top,
|
|
14
|
+
height,
|
|
15
|
+
width
|
|
16
|
+
} = (0, _internals.selectorChartDrawingArea)(state);
|
|
17
|
+
const axis = (0, _internals.selectorChartRawAxis)(state, axisId);
|
|
18
|
+
if (!axis) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const axisDirection = axis.position === 'right' || axis.position === 'left' ? 'y' : 'x';
|
|
22
|
+
let pointerZoom;
|
|
23
|
+
if (axisDirection === 'x') {
|
|
24
|
+
pointerZoom = (point.x - left) / width * 100;
|
|
25
|
+
} else {
|
|
26
|
+
pointerZoom = (top + height - point.y) / height * 100;
|
|
27
|
+
}
|
|
28
|
+
if (axis.reverse) {
|
|
29
|
+
pointerZoom = 100 - pointerZoom;
|
|
30
|
+
}
|
|
31
|
+
return pointerZoom;
|
|
32
|
+
}
|
|
33
|
+
function calculateZoomStart(newStart, currentZoom, options) {
|
|
34
|
+
const {
|
|
35
|
+
minStart,
|
|
36
|
+
minSpan,
|
|
37
|
+
maxSpan
|
|
38
|
+
} = options;
|
|
39
|
+
return Math.max(minStart, currentZoom.end - maxSpan, Math.min(currentZoom.end - minSpan, newStart));
|
|
40
|
+
}
|
|
41
|
+
function calculateZoomEnd(newEnd, currentZoom, options) {
|
|
42
|
+
const {
|
|
43
|
+
maxEnd,
|
|
44
|
+
minSpan,
|
|
45
|
+
maxSpan
|
|
46
|
+
} = options;
|
|
47
|
+
return Math.min(maxEnd, currentZoom.start + maxSpan, Math.max(currentZoom.start + minSpan, newEnd));
|
|
48
|
+
}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
import { ChartsToolbarProps } from '@mui/x-charts/Toolbar';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* The chart toolbar component for the pro package.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ChartsToolbarPro(props: React.PropsWithChildren<ChartsToolbarProps>): React.JSX.Element | null;
|
|
7
|
+
export declare namespace ChartsToolbarPro {
|
|
8
|
+
var propTypes: any;
|
|
9
|
+
}
|
|
@@ -1,31 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.ChartsToolbarPro = ChartsToolbarPro;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
10
|
var _Toolbar = require("@mui/x-charts/Toolbar");
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
12
|
var React = _interopRequireWildcard(require("react"));
|
|
10
13
|
var _internals = require("@mui/x-charts/internals");
|
|
14
|
+
var _hooks = require("@mui/x-charts/hooks");
|
|
11
15
|
var _useChartProZoom = require("../internals/plugins/useChartProZoom");
|
|
12
|
-
var _ChartsToolbarZoomInButton = require("./
|
|
13
|
-
var _ChartsToolbarZoomOutButton = require("./
|
|
16
|
+
var _ChartsToolbarZoomInButton = require("./ChartsToolbarZoomInButton");
|
|
17
|
+
var _ChartsToolbarZoomOutButton = require("./ChartsToolbarZoomOutButton");
|
|
14
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The chart toolbar component for the pro package.
|
|
21
|
+
*/
|
|
22
|
+
function ChartsToolbarPro(props) {
|
|
23
|
+
const {
|
|
24
|
+
slots,
|
|
25
|
+
slotProps
|
|
26
|
+
} = (0, _internals.useChartsSlots)();
|
|
16
27
|
const {
|
|
17
28
|
store
|
|
18
29
|
} = (0, _internals.useChartContext)();
|
|
30
|
+
const {
|
|
31
|
+
localeText
|
|
32
|
+
} = (0, _hooks.useChartsLocalization)();
|
|
19
33
|
const isZoomEnabled = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartZoomIsEnabled);
|
|
20
34
|
const children = [];
|
|
21
35
|
if (isZoomEnabled) {
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
const Tooltip = slots.baseTooltip;
|
|
37
|
+
const ZoomOutIcon = slots.zoomOutIcon;
|
|
38
|
+
const ZoomInIcon = slots.zoomInIcon;
|
|
39
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, slotProps.baseTooltip, {
|
|
40
|
+
title: localeText.zoomIn,
|
|
41
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomInButton.ChartsToolbarZoomInButton, {
|
|
42
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomInIcon, (0, _extends2.default)({}, slotProps.zoomInIcon))
|
|
43
|
+
})
|
|
44
|
+
}), "zoom-in"));
|
|
45
|
+
children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, slotProps.baseTooltip, {
|
|
46
|
+
title: localeText.zoomOut,
|
|
47
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomOutButton.ChartsToolbarZoomOutButton, {
|
|
48
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ZoomOutIcon, (0, _extends2.default)({}, slotProps.zoomOutIcon))
|
|
49
|
+
})
|
|
50
|
+
}), "zoom-out"));
|
|
24
51
|
}
|
|
25
52
|
if (children.length === 0) {
|
|
26
53
|
return null;
|
|
27
54
|
}
|
|
28
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.Toolbar, {
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toolbar.Toolbar, (0, _extends2.default)({}, props, {
|
|
29
56
|
children: children
|
|
30
|
-
});
|
|
31
|
-
}
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
process.env.NODE_ENV !== "production" ? ChartsToolbarPro.propTypes = {
|
|
60
|
+
// ----------------------------- Warning --------------------------------
|
|
61
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
62
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
63
|
+
// ----------------------------------------------------------------------
|
|
64
|
+
className: _propTypes.default.string
|
|
65
|
+
} : void 0;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartsSlotProps } from '@mui/x-charts/internals';
|
|
3
|
+
import { RenderProp } from '@mui/x-internals/useComponentRenderer';
|
|
4
|
+
interface ChartsToolbarZoomInButtonProps {
|
|
5
|
+
/**
|
|
6
|
+
* A function to customize the rendering of the component.
|
|
7
|
+
*/
|
|
8
|
+
render?: RenderProp<ChartsSlotProps['baseIconButton']>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The zoom-in button for the chart toolbar.
|
|
12
|
+
*/
|
|
13
|
+
declare const ChartsToolbarZoomInButton: React.ForwardRefExoticComponent<ChartsToolbarZoomInButtonProps & {
|
|
14
|
+
children?: React.ReactNode | undefined;
|
|
15
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export { ChartsToolbarZoomInButton };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.ChartsToolbarZoomInButton = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _internals = require("@mui/x-charts/internals");
|
|
15
|
+
var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
|
|
16
|
+
var _useChartProZoom = require("../internals/plugins/useChartProZoom");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["render"];
|
|
19
|
+
/**
|
|
20
|
+
* The zoom-in button for the chart toolbar.
|
|
21
|
+
*/
|
|
22
|
+
const ChartsToolbarZoomInButton = exports.ChartsToolbarZoomInButton = /*#__PURE__*/React.forwardRef(function ChartsToolbarZoomInButton(_ref, ref) {
|
|
23
|
+
let {
|
|
24
|
+
render
|
|
25
|
+
} = _ref,
|
|
26
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
27
|
+
const {
|
|
28
|
+
slots,
|
|
29
|
+
slotProps
|
|
30
|
+
} = (0, _internals.useChartsSlots)();
|
|
31
|
+
const {
|
|
32
|
+
instance,
|
|
33
|
+
store
|
|
34
|
+
} = (0, _internals.useChartContext)();
|
|
35
|
+
const disabled = (0, _internals.useSelector)(store, _useChartProZoom.selectorChartCanZoomIn);
|
|
36
|
+
const element = (0, _useComponentRenderer.useComponentRenderer)(slots.baseIconButton, render, (0, _extends2.default)({}, slotProps?.baseIconButton, {
|
|
37
|
+
onClick: () => instance.zoomIn(),
|
|
38
|
+
disabled
|
|
39
|
+
}, other, {
|
|
40
|
+
ref
|
|
41
|
+
}));
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
43
|
+
children: element
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
if (process.env.NODE_ENV !== "production") ChartsToolbarZoomInButton.displayName = "ChartsToolbarZoomInButton";
|
|
47
|
+
process.env.NODE_ENV !== "production" ? ChartsToolbarZoomInButton.propTypes = {
|
|
48
|
+
// ----------------------------- Warning --------------------------------
|
|
49
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
50
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
51
|
+
// ----------------------------------------------------------------------
|
|
52
|
+
/**
|
|
53
|
+
* A function to customize the rendering of the component.
|
|
54
|
+
*/
|
|
55
|
+
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func])
|
|
56
|
+
} : void 0;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartsSlotProps } from '@mui/x-charts/internals';
|
|
3
|
+
import { RenderProp } from '@mui/x-internals/useComponentRenderer';
|
|
4
|
+
interface ChartsToolbarZoomOutButtonProps {
|
|
5
|
+
/**
|
|
6
|
+
* A function to customize the rendering of the component.
|
|
7
|
+
*/
|
|
8
|
+
render?: RenderProp<ChartsSlotProps['baseIconButton']>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The zoom-out button for the chart toolbar.
|
|
12
|
+
*/
|
|
13
|
+
declare const ChartsToolbarZoomOutButton: React.ForwardRefExoticComponent<ChartsToolbarZoomOutButtonProps & {
|
|
14
|
+
children?: React.ReactNode | undefined;
|
|
15
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export { ChartsToolbarZoomOutButton };
|