@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.
Files changed (206) hide show
  1. package/BarChartPro/BarChartPro.d.ts +13 -5
  2. package/BarChartPro/BarChartPro.js +56 -21
  3. package/CHANGELOG.md +213 -0
  4. package/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  5. package/ChartContainerPro/ChartContainerPro.js +1 -0
  6. package/ChartContainerPro/ChartProApi.d.ts +26 -0
  7. package/ChartContainerPro/ChartProApi.js +5 -0
  8. package/ChartContainerPro/index.d.ts +2 -1
  9. package/ChartContainerPro/index.js +11 -0
  10. package/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
  11. package/ChartDataProviderPro/ChartDataProviderPro.js +19 -3
  12. package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
  13. package/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
  14. package/ChartZoomSlider/index.d.ts +1 -1
  15. package/ChartZoomSlider/index.js +4 -4
  16. package/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
  17. package/ChartZoomSlider/internals/ChartAxisZoomSlider.js +31 -287
  18. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
  19. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +251 -0
  20. package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
  21. package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +92 -0
  22. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  23. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +160 -0
  24. package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
  25. package/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +58 -0
  26. package/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
  27. package/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +6 -6
  28. package/ChartZoomSlider/internals/constants.d.ts +5 -0
  29. package/ChartZoomSlider/internals/constants.js +11 -0
  30. package/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
  31. package/ChartZoomSlider/internals/zoom-utils.js +48 -0
  32. package/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
  33. package/ChartsToolbarPro/ChartsToolbarPro.js +42 -8
  34. package/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
  35. package/ChartsToolbarPro/ChartsToolbarZoomInButton.js +56 -0
  36. package/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
  37. package/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +56 -0
  38. package/ChartsToolbarPro/index.d.ts +3 -1
  39. package/ChartsToolbarPro/index.js +22 -0
  40. package/FunnelChart/FunnelChart.d.ts +2 -1
  41. package/FunnelChart/FunnelChart.js +6 -23
  42. package/FunnelChart/FunnelChart.plugins.d.ts +4 -0
  43. package/FunnelChart/FunnelChart.plugins.js +9 -0
  44. package/FunnelChart/FunnelPlot.js +2 -0
  45. package/FunnelChart/FunnelSection.js +2 -1
  46. package/FunnelChart/curves/curve.types.d.ts +4 -0
  47. package/FunnelChart/curves/pyramid.d.ts +3 -1
  48. package/FunnelChart/curves/pyramid.js +37 -10
  49. package/FunnelChart/curves/step-pyramid.d.ts +10 -2
  50. package/FunnelChart/curves/step-pyramid.js +96 -20
  51. package/FunnelChart/curves/step.d.ts +5 -1
  52. package/FunnelChart/curves/step.js +20 -2
  53. package/FunnelChart/funnel.types.d.ts +7 -0
  54. package/FunnelChart/funnelSlots.types.d.ts +4 -3
  55. package/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
  56. package/FunnelChart/useFunnelChartProps.d.ts +2 -1
  57. package/FunnelChart/useFunnelChartProps.js +3 -1
  58. package/Heatmap/Heatmap.d.ts +18 -5
  59. package/Heatmap/Heatmap.js +64 -26
  60. package/Heatmap/Heatmap.plugins.d.ts +2 -1
  61. package/Heatmap/Heatmap.plugins.js +2 -1
  62. package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
  63. package/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +27 -0
  64. package/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
  65. package/Heatmap/HeatmapTooltip/HeatmapTooltip.js +4 -102
  66. package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
  67. package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +5 -0
  68. package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
  69. package/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +96 -0
  70. package/Heatmap/HeatmapTooltip/index.d.ts +3 -1
  71. package/Heatmap/HeatmapTooltip/index.js +11 -0
  72. package/LineChartPro/LineChartPro.d.ts +13 -5
  73. package/LineChartPro/LineChartPro.js +56 -21
  74. package/RadarChartPro/RadarChartPro.d.ts +15 -0
  75. package/RadarChartPro/RadarChartPro.js +202 -0
  76. package/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  77. package/RadarChartPro/RadarChartPro.plugins.js +9 -0
  78. package/RadarChartPro/index.d.ts +1 -0
  79. package/RadarChartPro/index.js +16 -0
  80. package/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  81. package/ScatterChartPro/ScatterChartPro.js +57 -22
  82. package/context/index.d.ts +1 -0
  83. package/context/index.js +16 -0
  84. package/context/useChartApiContext.d.ts +9 -0
  85. package/context/useChartApiContext.js +17 -0
  86. package/esm/BarChartPro/BarChartPro.d.ts +13 -5
  87. package/esm/BarChartPro/BarChartPro.js +54 -19
  88. package/esm/ChartContainerPro/ChartContainerPro.d.ts +0 -1
  89. package/esm/ChartContainerPro/ChartContainerPro.js +1 -0
  90. package/esm/ChartContainerPro/ChartProApi.d.ts +26 -0
  91. package/esm/ChartContainerPro/ChartProApi.js +1 -0
  92. package/esm/ChartContainerPro/index.d.ts +2 -1
  93. package/esm/ChartContainerPro/index.js +2 -1
  94. package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +11 -1
  95. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +20 -4
  96. package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +2 -0
  97. package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +5 -1
  98. package/esm/ChartZoomSlider/index.d.ts +1 -1
  99. package/esm/ChartZoomSlider/index.js +1 -1
  100. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.d.ts +1 -3
  101. package/esm/ChartZoomSlider/internals/ChartAxisZoomSlider.js +30 -283
  102. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.d.ts +24 -0
  103. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +243 -0
  104. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.d.ts +12 -0
  105. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +85 -0
  106. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.d.ts +18 -0
  107. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +152 -0
  108. package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.d.ts +11 -0
  109. package/esm/ChartZoomSlider/internals/ChartsTooltipZoomSliderValue.js +52 -0
  110. package/esm/ChartZoomSlider/internals/chartAxisZoomSliderThumbClasses.d.ts +17 -0
  111. package/esm/ChartZoomSlider/internals/{chartAxisZoomSliderHandleClasses.js → chartAxisZoomSliderThumbClasses.js} +4 -4
  112. package/esm/ChartZoomSlider/internals/constants.d.ts +5 -0
  113. package/esm/ChartZoomSlider/internals/constants.js +5 -0
  114. package/esm/ChartZoomSlider/internals/zoom-utils.d.ts +4 -0
  115. package/esm/ChartZoomSlider/internals/zoom-utils.js +40 -0
  116. package/esm/ChartsToolbarPro/ChartsToolbarPro.d.ts +8 -1
  117. package/esm/ChartsToolbarPro/ChartsToolbarPro.js +42 -9
  118. package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.d.ts +16 -0
  119. package/esm/ChartsToolbarPro/ChartsToolbarZoomInButton.js +50 -0
  120. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.d.ts +16 -0
  121. package/esm/ChartsToolbarPro/ChartsToolbarZoomOutButton.js +50 -0
  122. package/esm/ChartsToolbarPro/index.d.ts +3 -1
  123. package/esm/ChartsToolbarPro/index.js +3 -1
  124. package/esm/FunnelChart/FunnelChart.d.ts +2 -1
  125. package/esm/FunnelChart/FunnelChart.js +6 -23
  126. package/esm/FunnelChart/FunnelChart.plugins.d.ts +4 -0
  127. package/esm/FunnelChart/FunnelChart.plugins.js +3 -0
  128. package/esm/FunnelChart/FunnelPlot.js +2 -0
  129. package/esm/FunnelChart/FunnelSection.js +1 -0
  130. package/esm/FunnelChart/curves/curve.types.d.ts +4 -0
  131. package/esm/FunnelChart/curves/pyramid.d.ts +3 -1
  132. package/esm/FunnelChart/curves/pyramid.js +37 -10
  133. package/esm/FunnelChart/curves/step-pyramid.d.ts +10 -2
  134. package/esm/FunnelChart/curves/step-pyramid.js +96 -20
  135. package/esm/FunnelChart/curves/step.d.ts +5 -1
  136. package/esm/FunnelChart/curves/step.js +20 -2
  137. package/esm/FunnelChart/funnel.types.d.ts +7 -0
  138. package/esm/FunnelChart/funnelSlots.types.d.ts +4 -3
  139. package/esm/FunnelChart/seriesConfig/seriesProcessor.js +47 -1
  140. package/esm/FunnelChart/useFunnelChartProps.d.ts +2 -1
  141. package/esm/FunnelChart/useFunnelChartProps.js +3 -1
  142. package/esm/Heatmap/Heatmap.d.ts +18 -5
  143. package/esm/Heatmap/Heatmap.js +62 -24
  144. package/esm/Heatmap/Heatmap.plugins.d.ts +2 -1
  145. package/esm/Heatmap/Heatmap.plugins.js +2 -1
  146. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.d.ts +2 -0
  147. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.classes.js +19 -0
  148. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.d.ts +1 -10
  149. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.js +5 -103
  150. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +10 -0
  151. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.js +1 -0
  152. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.d.ts +7 -0
  153. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltipContent.js +89 -0
  154. package/esm/Heatmap/HeatmapTooltip/index.d.ts +3 -1
  155. package/esm/Heatmap/HeatmapTooltip/index.js +3 -1
  156. package/esm/LineChartPro/LineChartPro.d.ts +13 -5
  157. package/esm/LineChartPro/LineChartPro.js +54 -19
  158. package/esm/RadarChartPro/RadarChartPro.d.ts +15 -0
  159. package/esm/RadarChartPro/RadarChartPro.js +195 -0
  160. package/esm/RadarChartPro/RadarChartPro.plugins.d.ts +4 -0
  161. package/esm/RadarChartPro/RadarChartPro.plugins.js +3 -0
  162. package/esm/RadarChartPro/index.d.ts +1 -0
  163. package/esm/RadarChartPro/index.js +1 -0
  164. package/esm/ScatterChartPro/ScatterChartPro.d.ts +13 -5
  165. package/esm/ScatterChartPro/ScatterChartPro.js +55 -20
  166. package/esm/context/index.d.ts +1 -0
  167. package/esm/context/index.js +1 -0
  168. package/esm/context/useChartApiContext.d.ts +9 -0
  169. package/esm/context/useChartApiContext.js +11 -0
  170. package/esm/hooks/index.d.ts +2 -1
  171. package/esm/hooks/index.js +2 -1
  172. package/esm/index.d.ts +2 -1
  173. package/esm/index.js +2 -1
  174. package/esm/internals/material/index.d.ts +1 -0
  175. package/esm/internals/plugins/useChartProExport/exportImage.js +1 -1
  176. package/esm/internals/plugins/useChartProZoom/useChartProZoom.js +12 -2
  177. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  178. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +15 -1
  179. package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  180. package/esm/models/index.d.ts +1 -1
  181. package/hooks/index.d.ts +2 -1
  182. package/hooks/index.js +21 -10
  183. package/index.d.ts +2 -1
  184. package/index.js +12 -1
  185. package/internals/material/index.d.ts +1 -0
  186. package/internals/plugins/useChartProExport/exportImage.js +1 -1
  187. package/internals/plugins/useChartProZoom/useChartProZoom.js +12 -2
  188. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +358 -0
  189. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +16 -2
  190. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +7 -0
  191. package/models/index.d.ts +1 -1
  192. package/package.json +5 -5
  193. package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
  194. package/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -92
  195. package/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
  196. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  197. package/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -36
  198. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  199. package/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.js +0 -36
  200. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.d.ts +0 -12
  201. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.js +0 -85
  202. package/esm/ChartZoomSlider/internals/chartAxisZoomSliderHandleClasses.d.ts +0 -17
  203. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.d.ts +0 -13
  204. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomInButton.js +0 -29
  205. package/esm/ChartsToolbarPro/internal/ChartsToolbarZoomOutButton.d.ts +0 -13
  206. 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.chartAxisZoomSliderHandleClasses = void 0;
8
- exports.getAxisZoomSliderHandleUtilityClass = getAxisZoomSliderHandleUtilityClass;
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 chartAxisZoomSliderHandleClasses = exports.chartAxisZoomSliderHandleClasses = (0, _generateUtilityClasses.default)('MuiChartAxisZoomSliderHandle', ['root', 'horizontal', 'vertical', 'start', 'end']);
14
- function getAxisZoomSliderHandleUtilityClass(slot) {
15
- return (0, _generateUtilityClass.default)('MuiChartAxisZoomSliderHandle', slot);
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, getAxisZoomSliderHandleUtilityClass);
25
+ return (0, _composeClasses.default)(slots, getAxisZoomSliderThumbUtilityClass);
26
26
  };
27
27
  exports.useUtilityClasses = useUtilityClasses;
@@ -0,0 +1,5 @@
1
+ export declare const ZOOM_SLIDER_TRACK_SIZE = 8;
2
+ export declare const ZOOM_SLIDER_ACTIVE_TRACK_SIZE = 10;
3
+ export declare const ZOOM_SLIDER_THUMB_HEIGHT = 20;
4
+ export declare const ZOOM_SLIDER_THUMB_WIDTH = 10;
5
+ export declare const ZOOM_SLIDER_SIZE: number;
@@ -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
- export declare function ChartsToolbarPro(): React.JSX.Element | null;
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("./internal/ChartsToolbarZoomInButton");
13
- var _ChartsToolbarZoomOutButton = require("./internal/ChartsToolbarZoomOutButton");
16
+ var _ChartsToolbarZoomInButton = require("./ChartsToolbarZoomInButton");
17
+ var _ChartsToolbarZoomOutButton = require("./ChartsToolbarZoomOutButton");
14
18
  var _jsxRuntime = require("react/jsx-runtime");
15
- function ChartsToolbarPro() {
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
- children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomInButton.ChartsToolbarZoomInButton, {}, "zoom-in"));
23
- children.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsToolbarZoomOutButton.ChartsToolbarZoomOutButton, {}, "zoom-out"));
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 };