@mui/x-charts 7.7.0 → 7.7.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 (137) hide show
  1. package/BarChart/BarChart.js +21 -104
  2. package/BarChart/BarLabel/BarLabelPlot.d.ts +0 -3
  3. package/BarChart/BarLabel/BarLabelPlot.js +1 -24
  4. package/BarChart/BarPlot.js +2 -2
  5. package/BarChart/checkScaleErrors.d.ts +5 -9
  6. package/BarChart/types.d.ts +2 -2
  7. package/BarChart/useBarChartProps.d.ts +102 -0
  8. package/BarChart/useBarChartProps.js +143 -0
  9. package/CHANGELOG.md +82 -0
  10. package/ChartContainer/ChartContainer.d.ts +1 -1
  11. package/ChartContainer/ChartContainer.js +6 -10
  12. package/ChartContainer/useChartContainerHooks.d.ts +11 -0
  13. package/ChartContainer/useChartContainerHooks.js +34 -0
  14. package/ChartContainer/usePluginsMerge.d.ts +1 -2
  15. package/ChartsAxis/ChartsAxis.js +2 -2
  16. package/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -2
  17. package/ChartsGrid/ChartsGrid.js +2 -2
  18. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  19. package/ChartsTooltip/ChartsAxisTooltipContent.js +2 -2
  20. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  21. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  22. package/ChartsXAxis/ChartsXAxis.js +2 -2
  23. package/ChartsYAxis/ChartsYAxis.js +2 -2
  24. package/LineChart/AreaPlot.js +2 -2
  25. package/LineChart/LineChart.js +24 -106
  26. package/LineChart/LineHighlightPlot.js +2 -2
  27. package/LineChart/LinePlot.js +2 -2
  28. package/LineChart/MarkPlot.js +2 -2
  29. package/LineChart/useLineChartProps.d.ts +117 -0
  30. package/LineChart/useLineChartProps.js +152 -0
  31. package/ScatterChart/ScatterChart.js +20 -75
  32. package/ScatterChart/ScatterPlot.js +2 -2
  33. package/ScatterChart/useScatterChartProps.d.ts +86 -0
  34. package/ScatterChart/useScatterChartProps.js +116 -0
  35. package/context/CartesianProvider/CartesianContext.d.ts +25 -0
  36. package/context/CartesianProvider/CartesianContext.js +21 -0
  37. package/context/CartesianProvider/CartesianProvider.d.ts +34 -0
  38. package/context/CartesianProvider/CartesianProvider.js +44 -0
  39. package/context/CartesianProvider/computeValue.d.ts +19 -0
  40. package/context/CartesianProvider/computeValue.js +89 -0
  41. package/context/CartesianProvider/getAxisExtremum.d.ts +4 -0
  42. package/context/CartesianProvider/getAxisExtremum.js +28 -0
  43. package/context/CartesianProvider/index.d.ts +9 -0
  44. package/context/CartesianProvider/index.js +51 -0
  45. package/context/CartesianProvider/normalizeAxis.d.ts +5 -0
  46. package/context/CartesianProvider/normalizeAxis.js +23 -0
  47. package/context/CartesianProvider/useCartesianContext.d.ts +2 -0
  48. package/context/CartesianProvider/useCartesianContext.js +17 -0
  49. package/context/ColorProvider.d.ts +2 -2
  50. package/esm/BarChart/BarChart.js +21 -104
  51. package/esm/BarChart/BarLabel/BarLabelPlot.js +0 -23
  52. package/esm/BarChart/BarPlot.js +2 -2
  53. package/esm/BarChart/useBarChartProps.js +136 -0
  54. package/esm/ChartContainer/ChartContainer.js +5 -9
  55. package/esm/ChartContainer/useChartContainerHooks.js +24 -0
  56. package/esm/ChartsAxis/ChartsAxis.js +2 -2
  57. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -2
  58. package/esm/ChartsGrid/ChartsGrid.js +2 -2
  59. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  60. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +2 -2
  61. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  62. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  63. package/esm/ChartsXAxis/ChartsXAxis.js +2 -2
  64. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  65. package/esm/LineChart/AreaPlot.js +2 -2
  66. package/esm/LineChart/LineChart.js +24 -106
  67. package/esm/LineChart/LineHighlightPlot.js +2 -2
  68. package/esm/LineChart/LinePlot.js +2 -2
  69. package/esm/LineChart/MarkPlot.js +2 -2
  70. package/esm/LineChart/useLineChartProps.js +144 -0
  71. package/esm/ScatterChart/ScatterChart.js +20 -75
  72. package/esm/ScatterChart/ScatterPlot.js +2 -2
  73. package/esm/ScatterChart/useScatterChartProps.js +108 -0
  74. package/esm/context/CartesianProvider/CartesianContext.js +13 -0
  75. package/esm/context/CartesianProvider/CartesianProvider.js +37 -0
  76. package/esm/context/CartesianProvider/computeValue.js +82 -0
  77. package/esm/context/CartesianProvider/getAxisExtremum.js +21 -0
  78. package/esm/context/CartesianProvider/index.js +10 -0
  79. package/esm/context/CartesianProvider/normalizeAxis.js +15 -0
  80. package/esm/context/CartesianProvider/useCartesianContext.js +8 -0
  81. package/esm/hooks/useAxisEvents.js +2 -2
  82. package/esm/hooks/useColorScale.js +3 -3
  83. package/esm/hooks/useScale.js +3 -4
  84. package/esm/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -2
  85. package/esm/internals/index.js +6 -2
  86. package/hooks/useAxisEvents.js +2 -2
  87. package/hooks/useColorScale.js +3 -3
  88. package/hooks/useDrawingArea.d.ts +2 -8
  89. package/hooks/useScale.js +3 -6
  90. package/index.js +1 -1
  91. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +2 -1
  92. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -2
  93. package/internals/index.d.ts +7 -1
  94. package/internals/index.js +49 -5
  95. package/models/plugin.d.ts +4 -1
  96. package/modern/BarChart/BarChart.js +21 -104
  97. package/modern/BarChart/BarLabel/BarLabelPlot.js +0 -23
  98. package/modern/BarChart/BarPlot.js +2 -2
  99. package/modern/BarChart/useBarChartProps.js +136 -0
  100. package/modern/ChartContainer/ChartContainer.js +5 -9
  101. package/modern/ChartContainer/useChartContainerHooks.js +24 -0
  102. package/modern/ChartsAxis/ChartsAxis.js +2 -2
  103. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -2
  104. package/modern/ChartsGrid/ChartsGrid.js +2 -2
  105. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  106. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +2 -2
  107. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  108. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  109. package/modern/ChartsXAxis/ChartsXAxis.js +2 -2
  110. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  111. package/modern/LineChart/AreaPlot.js +2 -2
  112. package/modern/LineChart/LineChart.js +24 -106
  113. package/modern/LineChart/LineHighlightPlot.js +2 -2
  114. package/modern/LineChart/LinePlot.js +2 -2
  115. package/modern/LineChart/MarkPlot.js +2 -2
  116. package/modern/LineChart/useLineChartProps.js +144 -0
  117. package/modern/ScatterChart/ScatterChart.js +20 -75
  118. package/modern/ScatterChart/ScatterPlot.js +2 -2
  119. package/modern/ScatterChart/useScatterChartProps.js +108 -0
  120. package/modern/context/CartesianProvider/CartesianContext.js +13 -0
  121. package/modern/context/CartesianProvider/CartesianProvider.js +37 -0
  122. package/modern/context/CartesianProvider/computeValue.js +82 -0
  123. package/modern/context/CartesianProvider/getAxisExtremum.js +21 -0
  124. package/modern/context/CartesianProvider/index.js +10 -0
  125. package/modern/context/CartesianProvider/normalizeAxis.js +15 -0
  126. package/modern/context/CartesianProvider/useCartesianContext.js +8 -0
  127. package/modern/hooks/useAxisEvents.js +2 -2
  128. package/modern/hooks/useColorScale.js +3 -3
  129. package/modern/hooks/useScale.js +3 -4
  130. package/modern/index.js +1 -1
  131. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -2
  132. package/modern/internals/index.js +6 -2
  133. package/package.json +3 -3
  134. package/context/CartesianContextProvider.d.ts +0 -61
  135. package/context/CartesianContextProvider.js +0 -220
  136. package/esm/context/CartesianContextProvider.js +0 -211
  137. package/modern/context/CartesianContextProvider.js +0 -211
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useChartContainerHooks = void 0;
8
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _usePluginsMerge = require("./usePluginsMerge");
11
+ var _useReducedMotion = require("../hooks/useReducedMotion");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ const useChartContainerHooks = (ref, plugins) => {
15
+ const svgRef = React.useRef(null);
16
+ const handleRef = (0, _useForkRef.default)(ref, svgRef);
17
+ const {
18
+ xExtremumGetters,
19
+ yExtremumGetters,
20
+ seriesFormatters,
21
+ colorProcessors
22
+ } = (0, _usePluginsMerge.usePluginsMerge)(plugins);
23
+ (0, _useReducedMotion.useReducedMotion)(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
24
+
25
+ return {
26
+ svgRef,
27
+ handleRef,
28
+ xExtremumGetters,
29
+ yExtremumGetters,
30
+ seriesFormatters,
31
+ colorProcessors
32
+ };
33
+ };
34
+ exports.useChartContainerHooks = useChartContainerHooks;
@@ -1,6 +1,5 @@
1
- import { ChartsPluginType, ColorProcessorsConfig } from '../models';
1
+ import { ChartsPluginType, ColorProcessorsConfig, ExtremumGettersConfig } from '../models';
2
2
  import { ChartSeriesType } from '../models/seriesType/config';
3
- import { ExtremumGettersConfig } from '../context/CartesianContextProvider';
4
3
  import { SeriesFormatterConfig } from '../context/SeriesContextProvider';
5
4
  export declare function usePluginsMerge<T extends ChartSeriesType>(plugins?: ChartsPluginType<T>[]): {
6
5
  seriesFormatters: SeriesFormatterConfig<keyof import("../models/seriesType/config").ChartsSeriesConfig>;
@@ -8,7 +8,7 @@ exports.ChartsAxis = ChartsAxis;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
11
+ var _CartesianProvider = require("../context/CartesianProvider");
12
12
  var _ChartsXAxis = require("../ChartsXAxis");
13
13
  var _ChartsYAxis = require("../ChartsYAxis");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -56,7 +56,7 @@ function ChartsAxis(props) {
56
56
  xAxisIds,
57
57
  yAxis,
58
58
  yAxisIds
59
- } = React.useContext(_CartesianContextProvider.CartesianContext);
59
+ } = (0, _CartesianProvider.useCartesianContext)();
60
60
 
61
61
  // TODO: use for plotting line without ticks or any thing
62
62
  // const drawingArea = React.useContext(DrawingContext);
@@ -15,7 +15,7 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
15
15
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
16
16
  var _styles = require("@mui/material/styles");
17
17
  var _InteractionProvider = require("../context/InteractionProvider");
18
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
18
+ var _CartesianProvider = require("../context/CartesianProvider");
19
19
  var _useScale = require("../hooks/useScale");
20
20
  var _isBandScale = require("../internals/isBandScale");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
@@ -66,7 +66,7 @@ function ChartsAxisHighlight(props) {
66
66
  xAxis,
67
67
  yAxisIds,
68
68
  yAxis
69
- } = React.useContext(_CartesianContextProvider.CartesianContext);
69
+ } = (0, _CartesianProvider.useCartesianContext)();
70
70
  const classes = useUtilityClasses();
71
71
  const USED_X_AXIS_ID = xAxisIds[0];
72
72
  const USED_Y_AXIS_ID = yAxisIds[0];
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _styles = require("@mui/material/styles");
14
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
+ var _CartesianProvider = require("../context/CartesianProvider");
15
15
  var _useTicks = require("../hooks/useTicks");
16
16
  var _chartsGridClasses = require("./chartsGridClasses");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -72,7 +72,7 @@ function ChartsGrid(props) {
72
72
  xAxisIds,
73
73
  yAxis,
74
74
  yAxisIds
75
- } = React.useContext(_CartesianContextProvider.CartesianContext);
75
+ } = (0, _CartesianProvider.useCartesianContext)();
76
76
  const classes = useUtilityClasses(themeProps);
77
77
  const horizontalAxisId = yAxisIds[0];
78
78
  const verticalAxisId = xAxisIds[0];
@@ -8,9 +8,9 @@ exports.ChartsOnAxisClickHandler = ChartsOnAxisClickHandler;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _InteractionProvider = require("../context/InteractionProvider");
11
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
12
11
  var _useSeries = require("../hooks/useSeries");
13
12
  var _hooks = require("../hooks");
13
+ var _CartesianProvider = require("../context/CartesianProvider");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -28,7 +28,7 @@ function ChartsOnAxisClickHandler(props) {
28
28
  xAxis,
29
29
  yAxisIds,
30
30
  yAxis
31
- } = React.useContext(_CartesianContextProvider.CartesianContext);
31
+ } = (0, _CartesianProvider.useCartesianContext)();
32
32
  React.useEffect(() => {
33
33
  const element = svgRef.current;
34
34
  if (element === null || !onAxisClick) {
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/base/utils");
12
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
12
+ var _CartesianProvider = require("../context/CartesianProvider");
13
13
  var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
14
14
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
15
  var _useColor = require("../hooks/useColor");
@@ -34,7 +34,7 @@ function ChartsAxisTooltipContent(props) {
34
34
  xAxis,
35
35
  yAxisIds,
36
36
  yAxis
37
- } = React.useContext(_CartesianContextProvider.CartesianContext);
37
+ } = (0, _CartesianProvider.useCartesianContext)();
38
38
  const {
39
39
  zAxisIds,
40
40
  zAxis
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/base/utils");
12
12
  var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
13
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
13
+ var _CartesianProvider = require("../context/CartesianProvider");
14
14
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
15
  var _useColor = require("../hooks/useColor");
16
16
  var _useSeries = require("../hooks/useSeries");
@@ -31,7 +31,7 @@ function ChartsItemTooltipContent(props) {
31
31
  yAxis,
32
32
  xAxisIds,
33
33
  yAxisIds
34
- } = React.useContext(_CartesianContextProvider.CartesianContext);
34
+ } = (0, _CartesianProvider.useCartesianContext)();
35
35
  const {
36
36
  zAxis,
37
37
  zAxisIds
@@ -10,7 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _d3Delaunay = require("d3-delaunay");
11
11
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
12
12
  var _InteractionProvider = require("../context/InteractionProvider");
13
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
13
+ var _CartesianProvider = require("../context/CartesianProvider");
14
14
  var _useScale = require("../hooks/useScale");
15
15
  var _utils = require("../internals/utils");
16
16
  var _hooks = require("../hooks");
@@ -36,7 +36,7 @@ function ChartsVoronoiHandler(props) {
36
36
  yAxis,
37
37
  xAxisIds,
38
38
  yAxisIds
39
- } = React.useContext(_CartesianContextProvider.CartesianContext);
39
+ } = (0, _CartesianProvider.useCartesianContext)();
40
40
  const {
41
41
  dispatch
42
42
  } = React.useContext(_InteractionProvider.InteractionContext);
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/base/utils");
13
13
  var _utils2 = require("@mui/utils");
14
14
  var _styles = require("@mui/material/styles");
15
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
+ var _CartesianProvider = require("../context/CartesianProvider");
16
16
  var _useTicks = require("../hooks/useTicks");
17
17
  var _axisClasses = require("../ChartsAxis/axisClasses");
18
18
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
@@ -116,7 +116,7 @@ function ChartsXAxis(inProps) {
116
116
  const {
117
117
  xAxisIds,
118
118
  xAxis
119
- } = React.useContext(_CartesianContextProvider.CartesianContext);
119
+ } = (0, _CartesianProvider.useCartesianContext)();
120
120
  const _xAxis = xAxis[inProps.axisId ?? xAxisIds[0]],
121
121
  {
122
122
  scale: xScale,
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/base/utils");
13
13
  var _utils2 = require("@mui/utils");
14
14
  var _styles = require("@mui/material/styles");
15
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
+ var _CartesianProvider = require("../context/CartesianProvider");
16
16
  var _useTicks = require("../hooks/useTicks");
17
17
  var _useDrawingArea = require("../hooks/useDrawingArea");
18
18
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
@@ -59,7 +59,7 @@ function ChartsYAxis(inProps) {
59
59
  const {
60
60
  yAxisIds,
61
61
  yAxis
62
- } = React.useContext(_CartesianContextProvider.CartesianContext);
62
+ } = (0, _CartesianProvider.useCartesianContext)();
63
63
  const _yAxis = yAxis[inProps.axisId ?? yAxisIds[0]],
64
64
  {
65
65
  scale: yScale,
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _d3Shape = require("d3-shape");
13
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
13
+ var _CartesianProvider = require("../context/CartesianProvider");
14
14
  var _AreaElement = require("./AreaElement");
15
15
  var _useScale = require("../hooks/useScale");
16
16
  var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
@@ -23,7 +23,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
24
  const useAggregatedData = () => {
25
25
  const seriesData = (0, _useSeries.useLineSeries)();
26
- const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
26
+ const axisData = (0, _CartesianProvider.useCartesianContext)();
27
27
  if (seriesData === undefined) {
28
28
  return [];
29
29
  }
@@ -7,14 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.LineChart = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _useId = _interopRequireDefault(require("@mui/utils/useId"));
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _AreaPlot = require("./AreaPlot");
13
12
  var _LinePlot = require("./LinePlot");
14
13
  var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
15
14
  var _MarkPlot = require("./MarkPlot");
16
15
  var _ChartsAxis = require("../ChartsAxis/ChartsAxis");
17
- var _constants = require("../constants");
18
16
  var _ChartsTooltip = require("../ChartsTooltip");
19
17
  var _ChartsLegend = require("../ChartsLegend");
20
18
  var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
@@ -23,6 +21,7 @@ var _LineHighlightPlot = require("./LineHighlightPlot");
23
21
  var _ChartsGrid = require("../ChartsGrid");
24
22
  var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
25
23
  var _ChartsOverlay = require("../ChartsOverlay");
24
+ var _useLineChartProps = require("./useLineChartProps");
26
25
  var _jsxRuntime = require("react/jsx-runtime");
27
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -38,110 +37,29 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
38
37
  */
39
38
  const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
40
39
  const {
41
- xAxis,
42
- yAxis,
43
- series,
44
- width,
45
- height,
46
- margin,
47
- colors,
48
- dataset,
49
- sx,
50
- tooltip,
51
- onAxisClick,
52
- onAreaClick,
53
- onLineClick,
54
- onMarkClick,
55
- axisHighlight = {
56
- x: 'line'
57
- },
58
- disableLineItemHighlight,
59
- legend,
60
- grid,
61
- topAxis,
62
- leftAxis,
63
- rightAxis,
64
- bottomAxis,
65
- children,
66
- slots,
67
- slotProps,
68
- skipAnimation,
69
- loading,
70
- highlightedItem,
71
- onHighlightChange
72
- } = props;
73
- const id = (0, _useId.default)();
74
- const clipPathId = `${id}-clip-path`;
75
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
76
- ref: ref,
77
- series: series.map(s => (0, _extends2.default)({
78
- disableHighlight: !!disableLineItemHighlight,
79
- type: 'line'
80
- }, s)),
81
- width: width,
82
- height: height,
83
- margin: margin,
84
- xAxis: xAxis ?? [{
85
- id: _constants.DEFAULT_X_AXIS_KEY,
86
- scaleType: 'point',
87
- data: Array.from({
88
- length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
89
- }, (_, index) => index)
90
- }],
91
- yAxis: yAxis,
92
- colors: colors,
93
- dataset: dataset,
94
- sx: sx,
95
- disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
96
- highlightedItem: highlightedItem,
97
- onHighlightChange: onHighlightChange,
98
- children: [onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, {
99
- onAxisClick: onAxisClick
100
- }), grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, {
101
- vertical: grid.vertical,
102
- horizontal: grid.horizontal
103
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
104
- clipPath: `url(#${clipPathId})`,
105
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, {
106
- slots: slots,
107
- slotProps: slotProps,
108
- onItemClick: onAreaClick,
109
- skipAnimation: skipAnimation
110
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, {
111
- slots: slots,
112
- slotProps: slotProps,
113
- onItemClick: onLineClick,
114
- skipAnimation: skipAnimation
115
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, {
116
- loading: loading,
117
- slots: slots,
118
- slotProps: slotProps
119
- })]
120
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
121
- topAxis: topAxis,
122
- leftAxis: leftAxis,
123
- rightAxis: rightAxis,
124
- bottomAxis: bottomAxis,
125
- slots: slots,
126
- slotProps: slotProps
127
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, {
128
- slots: slots,
129
- slotProps: slotProps,
130
- onItemClick: onMarkClick,
131
- skipAnimation: skipAnimation
132
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, {
133
- slots: slots,
134
- slotProps: slotProps
135
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
136
- slots: slots,
137
- slotProps: slotProps
138
- })), !loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip, {
139
- slots: slots,
140
- slotProps: slotProps
141
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
142
- id: clipPathId
143
- }), children]
144
- });
40
+ chartContainerProps,
41
+ axisClickHandlerProps,
42
+ gridProps,
43
+ clipPathProps,
44
+ clipPathGroupProps,
45
+ areaPlotProps,
46
+ linePlotProps,
47
+ markPlotProps,
48
+ overlayProps,
49
+ chartsAxisProps,
50
+ axisHighlightProps,
51
+ lineHighlightPlotProps,
52
+ legendProps,
53
+ tooltipProps,
54
+ children
55
+ } = (0, _useLineChartProps.useLineChartProps)(props);
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, (0, _extends2.default)({
57
+ ref: ref
58
+ }, chartContainerProps, {
59
+ children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, (0, _extends2.default)({}, areaPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, (0, _extends2.default)({}, linePlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps))]
61
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, (0, _extends2.default)({}, markPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
62
+ }));
145
63
  });
146
64
  process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
147
65
  // ----------------------------- Warning --------------------------------
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
12
+ var _CartesianProvider = require("../context/CartesianProvider");
13
13
  var _LineHighlightElement = require("./LineHighlightElement");
14
14
  var _useScale = require("../hooks/useScale");
15
15
  var _InteractionProvider = require("../context/InteractionProvider");
@@ -37,7 +37,7 @@ function LineHighlightPlot(props) {
37
37
  } = props,
38
38
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
39
39
  const seriesData = (0, _useSeries.useLineSeries)();
40
- const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
40
+ const axisData = (0, _CartesianProvider.useCartesianContext)();
41
41
  const {
42
42
  axis
43
43
  } = React.useContext(_InteractionProvider.InteractionContext);
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _d3Shape = require("d3-shape");
13
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
13
+ var _CartesianProvider = require("../context/CartesianProvider");
14
14
  var _LineElement = require("./LineElement");
15
15
  var _useScale = require("../hooks/useScale");
16
16
  var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
@@ -23,7 +23,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
24
  const useAggregatedData = () => {
25
25
  const seriesData = (0, _useSeries.useLineSeries)();
26
- const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
26
+ const axisData = (0, _CartesianProvider.useCartesianContext)();
27
27
  if (seriesData === undefined) {
28
28
  return [];
29
29
  }
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
12
+ var _CartesianProvider = require("../context/CartesianProvider");
13
13
  var _MarkElement = require("./MarkElement");
14
14
  var _useScale = require("../hooks/useScale");
15
15
  var _useChartId = require("../hooks/useChartId");
@@ -40,7 +40,7 @@ function MarkPlot(props) {
40
40
  } = props,
41
41
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
42
42
  const seriesData = (0, _useSeries.useLineSeries)();
43
- const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
43
+ const axisData = (0, _CartesianProvider.useCartesianContext)();
44
44
  const chartId = (0, _useChartId.useChartId)();
45
45
  const Mark = slots?.mark ?? _MarkElement.MarkElement;
46
46
  if (seriesData === undefined) {
@@ -0,0 +1,117 @@
1
+ /// <reference types="react" />
2
+ import type { LineChartProps } from './LineChart';
3
+ /**
4
+ * A helper function that extracts LineChartProps from the input props
5
+ * and returns an object with props for the children components of LineChart.
6
+ *
7
+ * @param props The input props for LineChart
8
+ * @returns An object with props for the children components of LineChart
9
+ */
10
+ export declare const useLineChartProps: (props: LineChartProps) => {
11
+ chartContainerProps: {
12
+ series: {
13
+ color?: string | undefined;
14
+ area?: boolean | undefined;
15
+ data?: (number | null)[] | undefined;
16
+ label?: string | ((location: "tooltip" | "legend") => string) | undefined;
17
+ id?: import("../internals").SeriesId | undefined;
18
+ dataKey?: string | undefined;
19
+ stackOffset?: import("..").StackOffsetType | undefined;
20
+ valueFormatter?: import("../internals").SeriesValueFormatter<number | null> | undefined;
21
+ highlightScope?: Partial<import("..").HighlightScope> | undefined;
22
+ xAxisKey?: string | undefined;
23
+ yAxisKey?: string | undefined;
24
+ stack?: string | undefined;
25
+ stackOrder?: import("..").StackOrderType | undefined;
26
+ curve?: import("..").CurveType | undefined;
27
+ showMark?: boolean | ((params: import("..").ShowMarkParams<number | Date>) => boolean) | undefined;
28
+ disableHighlight: boolean;
29
+ connectNulls?: boolean | undefined;
30
+ type: "line";
31
+ }[];
32
+ width: number | undefined;
33
+ height: number | undefined;
34
+ margin: Partial<import("..").CardinalDirections<number>> | undefined;
35
+ colors: import("..").ChartsColorPalette | undefined;
36
+ dataset: import("../internals").DatasetType | undefined;
37
+ xAxis: import("../internals").MakeOptional<import("..").AxisConfig<import("..").ScaleName, any, import("..").ChartsXAxisProps>, "id">[];
38
+ yAxis: import("../internals").MakeOptional<import("..").AxisConfig<import("..").ScaleName, any, import("..").ChartsYAxisProps>, "id">[] | undefined;
39
+ sx: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
40
+ highlightedItem: import("..").HighlightItemData | null | undefined;
41
+ onHighlightChange: ((highlightedItem: import("..").HighlightItemData | null) => void) | undefined;
42
+ disableAxisListener: boolean;
43
+ };
44
+ axisClickHandlerProps: {
45
+ onAxisClick: ((event: MouseEvent, data: {
46
+ dataIndex: number;
47
+ axisValue?: string | number | Date | undefined;
48
+ seriesValues: Record<string, number | null | undefined>;
49
+ } | null) => void) | undefined;
50
+ };
51
+ gridProps: {
52
+ vertical: boolean | undefined;
53
+ horizontal: boolean | undefined;
54
+ };
55
+ clipPathProps: {
56
+ id: string;
57
+ };
58
+ clipPathGroupProps: {
59
+ clipPath: string;
60
+ };
61
+ areaPlotProps: {
62
+ slots: import("./LineChart").LineChartSlots | undefined;
63
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
64
+ onAreaClick: ((event: import("react").MouseEvent<SVGElement, MouseEvent>, lineItemIdentifier: import("..").LineItemIdentifier) => void) | undefined;
65
+ skipAnimation: boolean | undefined;
66
+ };
67
+ linePlotProps: {
68
+ slots: import("./LineChart").LineChartSlots | undefined;
69
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
70
+ onLineClick: ((event: import("react").MouseEvent<SVGElement, MouseEvent>, lineItemIdentifier: import("..").LineItemIdentifier) => void) | undefined;
71
+ skipAnimation: boolean | undefined;
72
+ };
73
+ markPlotProps: {
74
+ slots: import("./LineChart").LineChartSlots | undefined;
75
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
76
+ onMarkClick: ((event: import("react").MouseEvent<SVGElement, MouseEvent>, lineItemIdentifier: import("..").LineItemIdentifier) => void) | undefined;
77
+ skipAnimation: boolean | undefined;
78
+ };
79
+ overlayProps: {
80
+ slots: import("./LineChart").LineChartSlots | undefined;
81
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
82
+ loading: boolean | undefined;
83
+ };
84
+ chartsAxisProps: {
85
+ topAxis: string | import("..").ChartsXAxisProps | null | undefined;
86
+ leftAxis: string | import("..").ChartsYAxisProps | null | undefined;
87
+ rightAxis: string | import("..").ChartsYAxisProps | null | undefined;
88
+ bottomAxis: string | import("..").ChartsXAxisProps | null | undefined;
89
+ slots: import("./LineChart").LineChartSlots | undefined;
90
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
91
+ };
92
+ axisHighlightProps: {
93
+ x: "none" | "line" | "band";
94
+ y?: ("none" | "line" | "band") | undefined;
95
+ };
96
+ lineHighlightPlotProps: {
97
+ slots: import("./LineChart").LineChartSlots | undefined;
98
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
99
+ };
100
+ legendProps: {
101
+ slots: import("./LineChart").LineChartSlots | undefined;
102
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
103
+ position?: import("..").AnchorPosition | undefined;
104
+ classes?: Partial<import("..").ChartsLegendClasses> | undefined;
105
+ hidden?: boolean | undefined;
106
+ direction?: import("..").Direction | undefined;
107
+ };
108
+ tooltipProps: {
109
+ slots: import("./LineChart").LineChartSlots | undefined;
110
+ slotProps: import("./LineChart").LineChartSlotProps | undefined;
111
+ trigger?: import("../ChartsTooltip/utils").TriggerOptions | undefined;
112
+ itemContent?: import("react").ElementType<import("..").ChartsItemContentProps<any>, keyof import("react").JSX.IntrinsicElements> | undefined;
113
+ axisContent?: import("react").ElementType<import("..").ChartsAxisContentProps, keyof import("react").JSX.IntrinsicElements> | undefined;
114
+ classes?: Partial<import("..").ChartsTooltipClasses> | undefined;
115
+ };
116
+ children: import("react").ReactNode;
117
+ };