@mui/x-charts-pro 7.0.0-alpha.3 → 7.0.0-beta.1

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 (98) hide show
  1. package/BarChartPro/BarChartPro.js +44 -53
  2. package/BarChartPro/index.js +1 -1
  3. package/CHANGELOG.md +185 -1
  4. package/ChartContainerPro/ChartContainerPro.js +6 -4
  5. package/ChartContainerPro/index.js +1 -1
  6. package/ChartContainerPro/useChartContainerProProps.js +2 -0
  7. package/Heatmap/DefaultHeatmapTooltip.js +3 -1
  8. package/Heatmap/Heatmap.js +6 -4
  9. package/Heatmap/HeatmapItem.js +1 -1
  10. package/Heatmap/HeatmapPlot.js +4 -2
  11. package/Heatmap/index.js +4 -4
  12. package/Heatmap/plugin.js +3 -3
  13. package/LineChartPro/LineChartPro.js +64 -111
  14. package/LineChartPro/index.js +1 -1
  15. package/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +5 -3
  16. package/ResponsiveChartContainerPro/index.js +1 -1
  17. package/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +2 -0
  18. package/ScatterChartPro/ScatterChartPro.js +17 -3
  19. package/ScatterChartPro/index.js +1 -1
  20. package/context/CartesianProviderPro/CartesianProviderPro.js +4 -2
  21. package/context/CartesianProviderPro/index.js +1 -1
  22. package/context/ZoomProvider/ZoomProvider.js +5 -3
  23. package/context/ZoomProvider/ZoomSetup.js +2 -2
  24. package/context/ZoomProvider/index.js +3 -3
  25. package/context/ZoomProvider/useSetupPan.js +3 -1
  26. package/context/ZoomProvider/useSetupZoom.js +3 -1
  27. package/context/ZoomProvider/useZoom.js +3 -1
  28. package/context/index.js +2 -2
  29. package/hooks/index.js +1 -1
  30. package/hooks/useSeries.js +2 -0
  31. package/index.js +9 -9
  32. package/internals/utils/releaseInfo.js +1 -1
  33. package/models/index.js +1 -1
  34. package/models/seriesType/index.js +1 -1
  35. package/modern/BarChartPro/BarChartPro.js +44 -53
  36. package/modern/BarChartPro/index.js +1 -1
  37. package/modern/ChartContainerPro/ChartContainerPro.js +6 -4
  38. package/modern/ChartContainerPro/index.js +1 -1
  39. package/modern/ChartContainerPro/useChartContainerProProps.js +2 -0
  40. package/modern/Heatmap/DefaultHeatmapTooltip.js +3 -1
  41. package/modern/Heatmap/Heatmap.js +6 -4
  42. package/modern/Heatmap/HeatmapItem.js +1 -1
  43. package/modern/Heatmap/HeatmapPlot.js +4 -2
  44. package/modern/Heatmap/index.js +4 -4
  45. package/modern/Heatmap/plugin.js +3 -3
  46. package/modern/LineChartPro/LineChartPro.js +64 -111
  47. package/modern/LineChartPro/index.js +1 -1
  48. package/modern/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +5 -3
  49. package/modern/ResponsiveChartContainerPro/index.js +1 -1
  50. package/modern/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +2 -0
  51. package/modern/ScatterChartPro/ScatterChartPro.js +17 -3
  52. package/modern/ScatterChartPro/index.js +1 -1
  53. package/modern/context/CartesianProviderPro/CartesianProviderPro.js +4 -2
  54. package/modern/context/CartesianProviderPro/index.js +1 -1
  55. package/modern/context/ZoomProvider/ZoomProvider.js +5 -3
  56. package/modern/context/ZoomProvider/ZoomSetup.js +2 -2
  57. package/modern/context/ZoomProvider/index.js +3 -3
  58. package/modern/context/ZoomProvider/useSetupPan.js +3 -1
  59. package/modern/context/ZoomProvider/useSetupZoom.js +3 -1
  60. package/modern/context/ZoomProvider/useZoom.js +3 -1
  61. package/modern/context/index.js +2 -2
  62. package/modern/hooks/index.js +1 -1
  63. package/modern/hooks/useSeries.js +2 -0
  64. package/modern/index.js +9 -9
  65. package/modern/internals/utils/releaseInfo.js +1 -1
  66. package/modern/models/index.js +1 -1
  67. package/modern/models/seriesType/index.js +1 -1
  68. package/modern/themeAugmentation/index.js +0 -4
  69. package/modern/typeOverloads/index.js +1 -1
  70. package/node/BarChartPro/BarChartPro.js +42 -53
  71. package/node/ChartContainerPro/ChartContainerPro.js +3 -3
  72. package/node/ChartContainerPro/useChartContainerProProps.js +2 -1
  73. package/node/Heatmap/DefaultHeatmapTooltip.js +4 -4
  74. package/node/Heatmap/Heatmap.js +3 -3
  75. package/node/Heatmap/HeatmapItem.js +2 -3
  76. package/node/Heatmap/HeatmapPlot.js +3 -3
  77. package/node/Heatmap/formatter.js +1 -1
  78. package/node/Heatmap/heatmapClasses.js +1 -1
  79. package/node/Heatmap/plugin.js +1 -1
  80. package/node/LineChartPro/LineChartPro.js +62 -111
  81. package/node/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +3 -3
  82. package/node/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.js +2 -1
  83. package/node/ScatterChartPro/ScatterChartPro.js +16 -4
  84. package/node/context/CartesianProviderPro/CartesianProviderPro.js +3 -3
  85. package/node/context/ZoomProvider/ZoomContext.js +1 -2
  86. package/node/context/ZoomProvider/ZoomProvider.js +3 -3
  87. package/node/context/ZoomProvider/defaultizeZoom.js +1 -1
  88. package/node/context/ZoomProvider/useSetupPan.js +3 -3
  89. package/node/context/ZoomProvider/useSetupZoom.js +2 -2
  90. package/node/context/ZoomProvider/useZoom.js +2 -2
  91. package/node/hooks/useSeries.js +2 -2
  92. package/node/index.js +1 -1
  93. package/node/internals/utils/releaseInfo.js +1 -1
  94. package/node/themeAugmentation/index.js +1 -49
  95. package/package.json +6 -5
  96. package/themeAugmentation/index.d.ts +4 -4
  97. package/themeAugmentation/index.js +0 -4
  98. package/typeOverloads/index.js +1 -1
@@ -1,5 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ 'use client';
2
+
2
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
5
  const _excluded = ["zoom", "onZoomChange"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
@@ -14,10 +16,18 @@ import { ChartsAxisHighlight } from '@mui/x-charts/ChartsAxisHighlight';
14
16
  import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
15
17
  import { ChartsClipPath } from '@mui/x-charts/ChartsClipPath';
16
18
  import { useBarChartProps } from '@mui/x-charts/internals';
17
- import { ResponsiveChartContainerPro } from '../ResponsiveChartContainerPro';
18
- import { ZoomSetup } from '../context/ZoomProvider/ZoomSetup';
19
- import { useZoom } from '../context/ZoomProvider/useZoom';
19
+ import { ResponsiveChartContainerPro } from "../ResponsiveChartContainerPro/index.js";
20
+ import { ZoomSetup } from "../context/ZoomProvider/ZoomSetup.js";
21
+ import { useZoom } from "../context/ZoomProvider/useZoom.js";
20
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ function BarChartPlotZoom(props) {
24
+ const {
25
+ isInteracting
26
+ } = useZoom();
27
+ return /*#__PURE__*/_jsx(BarPlot, _extends({}, props, {
28
+ skipAnimation: isInteracting ? true : props.skipAnimation
29
+ }));
30
+ }
21
31
  /**
22
32
  * Demos:
23
33
  *
@@ -58,7 +68,7 @@ const BarChartPro = /*#__PURE__*/React.forwardRef(function BarChartPro(inProps,
58
68
  }, chartContainerProps, {
59
69
  zoom: zoom,
60
70
  onZoomChange: onZoomChange,
61
- children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
71
+ children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
62
72
  children: [/*#__PURE__*/_jsx(BarChartPlotZoom, _extends({}, barPlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
63
73
  })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), /*#__PURE__*/_jsx(ZoomSetup, {}), children]
64
74
  }));
@@ -150,6 +160,18 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
150
160
  classes: PropTypes.object,
151
161
  direction: PropTypes.oneOf(['column', 'row']),
152
162
  hidden: PropTypes.bool,
163
+ itemGap: PropTypes.number,
164
+ itemMarkHeight: PropTypes.number,
165
+ itemMarkWidth: PropTypes.number,
166
+ labelStyle: PropTypes.object,
167
+ markGap: PropTypes.number,
168
+ onItemClick: PropTypes.func,
169
+ padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
170
+ bottom: PropTypes.number,
171
+ left: PropTypes.number,
172
+ right: PropTypes.number,
173
+ top: PropTypes.number
174
+ })]),
153
175
  position: PropTypes.shape({
154
176
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
155
177
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
@@ -193,6 +215,12 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
193
215
  * @param {BarItemIdentifier} barItemIdentifier The bar item identifier.
194
216
  */
195
217
  onItemClick: PropTypes.func,
218
+ /**
219
+ * Callback fired when the zoom has changed.
220
+ *
221
+ * @param {ZoomData[]} zoomData Updated zoom data.
222
+ */
223
+ onZoomChange: PropTypes.func,
196
224
  /**
197
225
  * Indicate which axis to display the right of the charts.
198
226
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -255,7 +283,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
255
283
  * An array of [[AxisConfig]] objects.
256
284
  */
257
285
  xAxis: PropTypes.arrayOf(PropTypes.shape({
258
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
259
286
  classes: PropTypes.object,
260
287
  colorMap: PropTypes.oneOfType([PropTypes.shape({
261
288
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
@@ -290,6 +317,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
290
317
  slotProps: PropTypes.object,
291
318
  slots: PropTypes.object,
292
319
  stroke: PropTypes.string,
320
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
293
321
  tickFontSize: PropTypes.number,
294
322
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
295
323
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
@@ -302,6 +330,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
302
330
  tickSize: PropTypes.number,
303
331
  valueFormatter: PropTypes.func,
304
332
  zoom: PropTypes.oneOfType([PropTypes.shape({
333
+ filterMode: PropTypes.oneOf(['discard', 'keep']),
305
334
  maxEnd: PropTypes.number,
306
335
  maxSpan: PropTypes.number,
307
336
  minSpan: PropTypes.number,
@@ -316,7 +345,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
316
345
  * An array of [[AxisConfig]] objects.
317
346
  */
318
347
  yAxis: PropTypes.arrayOf(PropTypes.shape({
319
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
320
348
  classes: PropTypes.object,
321
349
  colorMap: PropTypes.oneOfType([PropTypes.shape({
322
350
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
@@ -351,6 +379,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
351
379
  slotProps: PropTypes.object,
352
380
  slots: PropTypes.object,
353
381
  stroke: PropTypes.string,
382
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
354
383
  tickFontSize: PropTypes.number,
355
384
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
356
385
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
@@ -363,6 +392,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
363
392
  tickSize: PropTypes.number,
364
393
  valueFormatter: PropTypes.func,
365
394
  zoom: PropTypes.oneOfType([PropTypes.shape({
395
+ filterMode: PropTypes.oneOf(['discard', 'keep']),
366
396
  maxEnd: PropTypes.number,
367
397
  maxSpan: PropTypes.number,
368
398
  minSpan: PropTypes.number,
@@ -370,53 +400,14 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
370
400
  panning: PropTypes.bool,
371
401
  step: PropTypes.number
372
402
  }), PropTypes.bool])
373
- }))
374
- } : void 0;
375
- function BarChartPlotZoom(props) {
376
- const {
377
- isInteracting
378
- } = useZoom();
379
- return /*#__PURE__*/_jsx(BarPlot, _extends({}, props, {
380
- skipAnimation: isInteracting ? true : props.skipAnimation
381
- }));
382
- }
383
- process.env.NODE_ENV !== "production" ? BarChartPlotZoom.propTypes = {
384
- // ----------------------------- Warning --------------------------------
385
- // | These PropTypes are generated from the TypeScript type definitions |
386
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
387
- // ----------------------------------------------------------------------
388
- /**
389
- * If provided, the function will be used to format the label of the bar.
390
- * It can be set to 'value' to display the current value.
391
- * @param {BarItem} item The item to format.
392
- * @param {BarLabelContext} context data about the bar.
393
- * @returns {string} The formatted label.
394
- */
395
- barLabel: PropTypes.oneOfType([PropTypes.oneOf(['value']), PropTypes.func]),
396
- /**
397
- * Defines the border radius of the bar element.
398
- */
399
- borderRadius: PropTypes.number,
400
- /**
401
- * Callback fired when a bar item is clicked.
402
- * @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
403
- * @param {BarItemIdentifier} barItemIdentifier The bar item identifier.
404
- */
405
- onItemClick: PropTypes.func,
406
- /**
407
- * If `true`, animations are skipped.
408
- * @default false
409
- */
410
- skipAnimation: PropTypes.bool,
411
- /**
412
- * The props used for each component slot.
413
- * @default {}
414
- */
415
- slotProps: PropTypes.object,
403
+ })),
416
404
  /**
417
- * Overridable component slots.
418
- * @default {}
405
+ * The list of zoom data related to each axis.
419
406
  */
420
- slots: PropTypes.object
407
+ zoom: PropTypes.arrayOf(PropTypes.shape({
408
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
409
+ end: PropTypes.number.isRequired,
410
+ start: PropTypes.number.isRequired
411
+ }))
421
412
  } : void 0;
422
413
  export { BarChartPro };
@@ -1 +1 @@
1
- export * from './BarChartPro';
1
+ export * from "./BarChartPro.js";
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
@@ -5,10 +7,10 @@ import { ChartsSurface } from '@mui/x-charts/ChartsSurface';
5
7
  import { HighlightedProvider, ZAxisContextProvider } from '@mui/x-charts/context';
6
8
  import { ChartsAxesGradients, DrawingProvider, InteractionProvider, PluginProvider, SeriesProvider } from '@mui/x-charts/internals';
7
9
  import { useLicenseVerifier } from '@mui/x-license/useLicenseVerifier';
8
- import { getReleaseInfo } from '../internals/utils/releaseInfo';
9
- import { CartesianProviderPro } from '../context/CartesianProviderPro';
10
- import { ZoomProvider } from '../context/ZoomProvider';
11
- import { useChartContainerProProps } from './useChartContainerProProps';
10
+ import { getReleaseInfo } from "../internals/utils/releaseInfo.js";
11
+ import { CartesianProviderPro } from "../context/CartesianProviderPro/index.js";
12
+ import { ZoomProvider } from "../context/ZoomProvider/index.js";
13
+ import { useChartContainerProProps } from "./useChartContainerProProps.js";
12
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
15
  const releaseInfo = getReleaseInfo();
14
16
  const ChartContainerPro = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
@@ -1 +1 @@
1
- export * from './ChartContainerPro';
1
+ export * from "./ChartContainerPro.js";
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
4
  const _excluded = ["zoom", "onZoomChange"];
3
5
  import { useChartContainerProps } from '@mui/x-charts/internals';
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import * as React from 'react';
2
4
  import PropTypes from 'prop-types';
3
5
  import clsx from 'clsx';
@@ -89,7 +91,7 @@ process.env.NODE_ENV !== "production" ? DefaultHeatmapTooltip.propTypes = {
89
91
  type: PropTypes.oneOf(['heatmap']).isRequired
90
92
  }).isRequired,
91
93
  /**
92
- * The series linked to the triggered axis.
94
+ * The series linked to the triggered item.
93
95
  */
94
96
  series: PropTypes.object.isRequired,
95
97
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
@@ -9,10 +11,10 @@ import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
9
11
  import { ChartsClipPath } from '@mui/x-charts/ChartsClipPath';
10
12
  import { ChartsOnAxisClickHandler } from '@mui/x-charts/ChartsOnAxisClickHandler';
11
13
  import { ChartsOverlay } from '@mui/x-charts/ChartsOverlay';
12
- import { ResponsiveChartContainerPro } from '../ResponsiveChartContainerPro';
13
- import { HeatmapPlot } from './HeatmapPlot';
14
- import { plugin as heatmapPlugin } from './plugin';
15
- import { DefaultHeatmapTooltip } from './DefaultHeatmapTooltip';
14
+ import { ResponsiveChartContainerPro } from "../ResponsiveChartContainerPro/index.js";
15
+ import { HeatmapPlot } from "./HeatmapPlot.js";
16
+ import { plugin as heatmapPlugin } from "./plugin.js";
17
+ import { DefaultHeatmapTooltip } from "./DefaultHeatmapTooltip.js";
16
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
19
  // The GnBu: https://github.com/d3/d3-scale-chromatic/blob/main/src/sequential-multi/GnBu.js
18
20
  const defaultColorMap = interpolateRgbBasis(['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081']);
@@ -8,7 +8,7 @@ import useSlotProps from '@mui/utils/useSlotProps';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import { useItemHighlighted } from '@mui/x-charts/context';
10
10
  import { useInteractionItemProps } from '@mui/x-charts/internals';
11
- import { getHeatmapUtilityClass } from './heatmapClasses';
11
+ import { getHeatmapUtilityClass } from "./heatmapClasses.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const HeatmapCell = styled('rect', {
14
14
  name: 'MuiHeatmap',
@@ -1,8 +1,10 @@
1
+ 'use client';
2
+
1
3
  import * as React from 'react';
2
4
  import PropTypes from 'prop-types';
3
5
  import { useXScale, useYScale, useZColorScale } from '@mui/x-charts/hooks';
4
- import { useHeatmapSeries } from '../hooks/useSeries';
5
- import { HeatmapItem } from './HeatmapItem';
6
+ import { useHeatmapSeries } from "../hooks/useSeries.js";
7
+ import { HeatmapItem } from "./HeatmapItem.js";
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
7
9
  function HeatmapPlot(props) {
8
10
  const xScale = useXScale();
@@ -1,4 +1,4 @@
1
- export { Heatmap } from './Heatmap';
2
- export { HeatmapPlot } from './HeatmapPlot';
3
- export * from './DefaultHeatmapTooltip';
4
- export * from './heatmapClasses';
1
+ export { Heatmap } from "./Heatmap.js";
2
+ export { HeatmapPlot } from "./HeatmapPlot.js";
3
+ export * from "./DefaultHeatmapTooltip.js";
4
+ export * from "./heatmapClasses.js";
@@ -1,6 +1,6 @@
1
- import { getBaseExtremum } from './extremums';
2
- import formatter from './formatter';
3
- import getColor from './getColor';
1
+ import { getBaseExtremum } from "./extremums.js";
2
+ import formatter from "./formatter.js";
3
+ import getColor from "./getColor.js";
4
4
  export const plugin = {
5
5
  seriesType: 'heatmap',
6
6
  seriesFormatter: formatter,
@@ -1,5 +1,7 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ 'use client';
2
+
2
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
5
  const _excluded = ["zoom", "onZoomChange"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
@@ -14,10 +16,34 @@ import { ChartsLegend } from '@mui/x-charts/ChartsLegend';
14
16
  import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
15
17
  import { ChartsClipPath } from '@mui/x-charts/ChartsClipPath';
16
18
  import { useLineChartProps } from '@mui/x-charts/internals';
17
- import { ResponsiveChartContainerPro } from '../ResponsiveChartContainerPro';
18
- import { ZoomSetup } from '../context/ZoomProvider/ZoomSetup';
19
- import { useZoom } from '../context/ZoomProvider/useZoom';
19
+ import { ResponsiveChartContainerPro } from "../ResponsiveChartContainerPro/index.js";
20
+ import { ZoomSetup } from "../context/ZoomProvider/ZoomSetup.js";
21
+ import { useZoom } from "../context/ZoomProvider/useZoom.js";
20
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ function AreaPlotZoom(props) {
24
+ const {
25
+ isInteracting
26
+ } = useZoom();
27
+ return /*#__PURE__*/_jsx(AreaPlot, _extends({}, props, {
28
+ skipAnimation: isInteracting ? true : props.skipAnimation
29
+ }));
30
+ }
31
+ function LinePlotZoom(props) {
32
+ const {
33
+ isInteracting
34
+ } = useZoom();
35
+ return /*#__PURE__*/_jsx(LinePlot, _extends({}, props, {
36
+ skipAnimation: isInteracting ? true : props.skipAnimation
37
+ }));
38
+ }
39
+ function MarkPlotZoom(props) {
40
+ const {
41
+ isInteracting
42
+ } = useZoom();
43
+ return /*#__PURE__*/_jsx(MarkPlot, _extends({}, props, {
44
+ skipAnimation: isInteracting ? true : props.skipAnimation
45
+ }));
46
+ }
21
47
  /**
22
48
  * Demos:
23
49
  *
@@ -60,7 +86,7 @@ const LineChartPro = /*#__PURE__*/React.forwardRef(function LineChartPro(inProps
60
86
  }, chartContainerProps, {
61
87
  zoom: zoom,
62
88
  onZoomChange: onZoomChange,
63
- children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
89
+ children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
64
90
  children: [/*#__PURE__*/_jsx(AreaPlotZoom, _extends({}, areaPlotProps)), /*#__PURE__*/_jsx(LinePlotZoom, _extends({}, linePlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
65
91
  })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx("g", {
66
92
  "data-drawing-container": true,
@@ -110,6 +136,10 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
110
136
  * If `true`, render the line highlight item.
111
137
  */
112
138
  disableLineItemHighlight: PropTypes.bool,
139
+ /**
140
+ * If `true` marks will render `<circle />` instead of `<path />` and drop theme override for faster rendering.
141
+ */
142
+ experimentalMarkRendering: PropTypes.bool,
113
143
  /**
114
144
  * Option to display a cartesian grid in the background.
115
145
  */
@@ -141,6 +171,18 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
141
171
  classes: PropTypes.object,
142
172
  direction: PropTypes.oneOf(['column', 'row']),
143
173
  hidden: PropTypes.bool,
174
+ itemGap: PropTypes.number,
175
+ itemMarkHeight: PropTypes.number,
176
+ itemMarkWidth: PropTypes.number,
177
+ labelStyle: PropTypes.object,
178
+ markGap: PropTypes.number,
179
+ onItemClick: PropTypes.func,
180
+ padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
181
+ bottom: PropTypes.number,
182
+ left: PropTypes.number,
183
+ right: PropTypes.number,
184
+ top: PropTypes.number
185
+ })]),
144
186
  position: PropTypes.shape({
145
187
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
146
188
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
@@ -190,6 +232,12 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
190
232
  * Callback fired when a mark element is clicked.
191
233
  */
192
234
  onMarkClick: PropTypes.func,
235
+ /**
236
+ * Callback fired when the zoom has changed.
237
+ *
238
+ * @param {ZoomData[]} zoomData Updated zoom data.
239
+ */
240
+ onZoomChange: PropTypes.func,
193
241
  /**
194
242
  * Indicate which axis to display the right of the charts.
195
243
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -253,7 +301,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
253
301
  * An array of [[AxisConfig]] objects.
254
302
  */
255
303
  xAxis: PropTypes.arrayOf(PropTypes.shape({
256
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
257
304
  classes: PropTypes.object,
258
305
  colorMap: PropTypes.oneOfType([PropTypes.shape({
259
306
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
@@ -288,6 +335,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
288
335
  slotProps: PropTypes.object,
289
336
  slots: PropTypes.object,
290
337
  stroke: PropTypes.string,
338
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
291
339
  tickFontSize: PropTypes.number,
292
340
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
293
341
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
@@ -300,6 +348,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
300
348
  tickSize: PropTypes.number,
301
349
  valueFormatter: PropTypes.func,
302
350
  zoom: PropTypes.oneOfType([PropTypes.shape({
351
+ filterMode: PropTypes.oneOf(['discard', 'keep']),
303
352
  maxEnd: PropTypes.number,
304
353
  maxSpan: PropTypes.number,
305
354
  minSpan: PropTypes.number,
@@ -314,7 +363,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
314
363
  * An array of [[AxisConfig]] objects.
315
364
  */
316
365
  yAxis: PropTypes.arrayOf(PropTypes.shape({
317
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
318
366
  classes: PropTypes.object,
319
367
  colorMap: PropTypes.oneOfType([PropTypes.shape({
320
368
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
@@ -349,6 +397,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
349
397
  slotProps: PropTypes.object,
350
398
  slots: PropTypes.object,
351
399
  stroke: PropTypes.string,
400
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
352
401
  tickFontSize: PropTypes.number,
353
402
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
354
403
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
@@ -361,6 +410,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
361
410
  tickSize: PropTypes.number,
362
411
  valueFormatter: PropTypes.func,
363
412
  zoom: PropTypes.oneOfType([PropTypes.shape({
413
+ filterMode: PropTypes.oneOf(['discard', 'keep']),
364
414
  maxEnd: PropTypes.number,
365
415
  maxSpan: PropTypes.number,
366
416
  minSpan: PropTypes.number,
@@ -368,111 +418,14 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
368
418
  panning: PropTypes.bool,
369
419
  step: PropTypes.number
370
420
  }), PropTypes.bool])
371
- }))
372
- } : void 0;
373
- function MarkPlotZoom(props) {
374
- const {
375
- isInteracting
376
- } = useZoom();
377
- return /*#__PURE__*/_jsx(MarkPlot, _extends({}, props, {
378
- skipAnimation: isInteracting ? true : props.skipAnimation
379
- }));
380
- }
381
- process.env.NODE_ENV !== "production" ? MarkPlotZoom.propTypes = {
382
- // ----------------------------- Warning --------------------------------
383
- // | These PropTypes are generated from the TypeScript type definitions |
384
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
385
- // ----------------------------------------------------------------------
386
- /**
387
- * Callback fired when a line mark item is clicked.
388
- * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
389
- * @param {LineItemIdentifier} lineItemIdentifier The line mark item identifier.
390
- */
391
- onItemClick: PropTypes.func,
392
- /**
393
- * If `true`, animations are skipped.
394
- * @default false
395
- */
396
- skipAnimation: PropTypes.bool,
397
- /**
398
- * The props used for each component slot.
399
- * @default {}
400
- */
401
- slotProps: PropTypes.object,
402
- /**
403
- * Overridable component slots.
404
- * @default {}
405
- */
406
- slots: PropTypes.object
407
- } : void 0;
408
- function LinePlotZoom(props) {
409
- const {
410
- isInteracting
411
- } = useZoom();
412
- return /*#__PURE__*/_jsx(LinePlot, _extends({}, props, {
413
- skipAnimation: isInteracting ? true : props.skipAnimation
414
- }));
415
- }
416
- process.env.NODE_ENV !== "production" ? LinePlotZoom.propTypes = {
417
- // ----------------------------- Warning --------------------------------
418
- // | These PropTypes are generated from the TypeScript type definitions |
419
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
420
- // ----------------------------------------------------------------------
421
- /**
422
- * Callback fired when a line item is clicked.
423
- * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
424
- * @param {LineItemIdentifier} lineItemIdentifier The line item identifier.
425
- */
426
- onItemClick: PropTypes.func,
427
- /**
428
- * If `true`, animations are skipped.
429
- * @default false
430
- */
431
- skipAnimation: PropTypes.bool,
432
- /**
433
- * The props used for each component slot.
434
- * @default {}
435
- */
436
- slotProps: PropTypes.object,
437
- /**
438
- * Overridable component slots.
439
- * @default {}
440
- */
441
- slots: PropTypes.object
442
- } : void 0;
443
- function AreaPlotZoom(props) {
444
- const {
445
- isInteracting
446
- } = useZoom();
447
- return /*#__PURE__*/_jsx(AreaPlot, _extends({}, props, {
448
- skipAnimation: isInteracting ? true : props.skipAnimation
449
- }));
450
- }
451
- process.env.NODE_ENV !== "production" ? AreaPlotZoom.propTypes = {
452
- // ----------------------------- Warning --------------------------------
453
- // | These PropTypes are generated from the TypeScript type definitions |
454
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
455
- // ----------------------------------------------------------------------
456
- /**
457
- * Callback fired when a line area item is clicked.
458
- * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
459
- * @param {LineItemIdentifier} lineItemIdentifier The line item identifier.
460
- */
461
- onItemClick: PropTypes.func,
462
- /**
463
- * If `true`, animations are skipped.
464
- * @default false
465
- */
466
- skipAnimation: PropTypes.bool,
467
- /**
468
- * The props used for each component slot.
469
- * @default {}
470
- */
471
- slotProps: PropTypes.object,
421
+ })),
472
422
  /**
473
- * Overridable component slots.
474
- * @default {}
423
+ * The list of zoom data related to each axis.
475
424
  */
476
- slots: PropTypes.object
425
+ zoom: PropTypes.arrayOf(PropTypes.shape({
426
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
427
+ end: PropTypes.number.isRequired,
428
+ start: PropTypes.number.isRequired
429
+ }))
477
430
  } : void 0;
478
431
  export { LineChartPro };
@@ -1 +1 @@
1
- export * from './LineChartPro';
1
+ export * from "./LineChartPro.js";
@@ -1,11 +1,13 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
4
6
  import { Watermark } from '@mui/x-license/Watermark';
5
7
  import { ResizableContainer } from '@mui/x-charts/internals';
6
- import { getReleaseInfo } from '../internals/utils/releaseInfo';
7
- import { ChartContainerPro } from '../ChartContainerPro';
8
- import { useResponsiveChartContainerProProps } from './useResponsiveChartContainerProProps';
8
+ import { getReleaseInfo } from "../internals/utils/releaseInfo.js";
9
+ import { ChartContainerPro } from "../ChartContainerPro/index.js";
10
+ import { useResponsiveChartContainerProProps } from "./useResponsiveChartContainerProProps.js";
9
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
12
  const releaseInfo = getReleaseInfo();
11
13
  const ResponsiveChartContainerPro = /*#__PURE__*/React.forwardRef(function ResponsiveChartContainerPro(props, ref) {
@@ -1 +1 @@
1
- export * from './ResponsiveChartContainerPro';
1
+ export * from "./ResponsiveChartContainerPro.js";
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
5
  const _excluded = ["zoom", "onZoomChange"];
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
5
  const _excluded = ["zoom", "onZoomChange"];
@@ -14,8 +16,8 @@ import { ChartsLegend } from '@mui/x-charts/ChartsLegend';
14
16
  import { ChartsAxisHighlight } from '@mui/x-charts/ChartsAxisHighlight';
15
17
  import { ChartsTooltip } from '@mui/x-charts/ChartsTooltip';
16
18
  import { useScatterChartProps } from '@mui/x-charts/internals';
17
- import { ResponsiveChartContainerPro } from '../ResponsiveChartContainerPro';
18
- import { ZoomSetup } from '../context/ZoomProvider/ZoomSetup';
19
+ import { ResponsiveChartContainerPro } from "../ResponsiveChartContainerPro/index.js";
20
+ import { ZoomSetup } from "../context/ZoomProvider/ZoomSetup.js";
19
21
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
22
  /**
21
23
  * Demos:
@@ -56,7 +58,7 @@ const ScatterChartPro = /*#__PURE__*/React.forwardRef(function ScatterChartPro(i
56
58
  zoom: zoom,
57
59
  onZoomChange: onZoomChange,
58
60
  children: /*#__PURE__*/_jsxs(ZAxisContextProvider, _extends({}, zAxisProps, {
59
- children: [!props.disableVoronoi && /*#__PURE__*/_jsx(ChartsVoronoiHandler, _extends({}, voronoiHandlerProps)), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), props.grid && /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsx("g", {
61
+ children: [!props.disableVoronoi && /*#__PURE__*/_jsx(ChartsVoronoiHandler, _extends({}, voronoiHandlerProps)), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsx("g", {
60
62
  "data-drawing-container": true,
61
63
  children: /*#__PURE__*/_jsx(ScatterPlot, _extends({}, scatterPlotProps))
62
64
  }), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), /*#__PURE__*/_jsx(ZoomSetup, {}), children]
@@ -137,6 +139,18 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
137
139
  classes: PropTypes.object,
138
140
  direction: PropTypes.oneOf(['column', 'row']),
139
141
  hidden: PropTypes.bool,
142
+ itemGap: PropTypes.number,
143
+ itemMarkHeight: PropTypes.number,
144
+ itemMarkWidth: PropTypes.number,
145
+ labelStyle: PropTypes.object,
146
+ markGap: PropTypes.number,
147
+ onItemClick: PropTypes.func,
148
+ padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
149
+ bottom: PropTypes.number,
150
+ left: PropTypes.number,
151
+ right: PropTypes.number,
152
+ top: PropTypes.number
153
+ })]),
140
154
  position: PropTypes.shape({
141
155
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
142
156
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
@@ -1 +1 @@
1
- export * from './ScatterChartPro';
1
+ export * from "./ScatterChartPro.js";