@mui/x-charts 7.6.1 → 7.7.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 (245) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +2 -2
  3. package/BarChart/BarPlot.js +2 -2
  4. package/BarChart/formatter.js +2 -2
  5. package/BarChart/getColor.d.ts +1 -1
  6. package/BarChart/getColor.js +4 -4
  7. package/BarChart/plugin.d.ts +2 -0
  8. package/BarChart/plugin.js +17 -0
  9. package/CHANGELOG.md +147 -0
  10. package/ChartContainer/ChartContainer.d.ts +15 -3
  11. package/ChartContainer/ChartContainer.js +70 -22
  12. package/ChartContainer/defaultPlugins.d.ts +2 -0
  13. package/ChartContainer/defaultPlugins.js +11 -0
  14. package/ChartContainer/usePluginsMerge.d.ts +10 -0
  15. package/ChartContainer/usePluginsMerge.js +39 -0
  16. package/ChartsLegend/ChartsLegend.js +2 -2
  17. package/ChartsLegend/utils.js +4 -1
  18. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  19. package/ChartsOverlay/index.d.ts +1 -0
  20. package/ChartsReferenceLine/ChartsXReferenceLine.js +3 -5
  21. package/ChartsReferenceLine/ChartsYReferenceLine.js +3 -5
  22. package/ChartsText/ChartsText.js +1 -3
  23. package/ChartsTooltip/ChartsAxisTooltipContent.js +9 -15
  24. package/ChartsTooltip/ChartsItemTooltipContent.js +8 -18
  25. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +5 -4
  26. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  27. package/ChartsTooltip/utils.d.ts +1 -7
  28. package/ChartsTooltip/utils.js +2 -10
  29. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  30. package/ChartsXAxis/ChartsXAxis.js +17 -19
  31. package/ChartsYAxis/ChartsYAxis.js +17 -19
  32. package/LineChart/AreaPlot.js +2 -2
  33. package/LineChart/LineChart.d.ts +2 -2
  34. package/LineChart/LineChart.js +3 -3
  35. package/LineChart/LineHighlightPlot.js +2 -2
  36. package/LineChart/LinePlot.js +2 -2
  37. package/LineChart/MarkPlot.js +2 -2
  38. package/LineChart/formatter.js +2 -2
  39. package/LineChart/getColor.d.ts +1 -1
  40. package/LineChart/getColor.js +2 -2
  41. package/LineChart/plugin.d.ts +2 -0
  42. package/LineChart/plugin.js +17 -0
  43. package/PieChart/PieChart.d.ts +2 -2
  44. package/PieChart/PieChart.js +3 -3
  45. package/PieChart/PiePlot.js +2 -2
  46. package/PieChart/plugin.d.ts +2 -0
  47. package/PieChart/plugin.js +14 -0
  48. package/ResponsiveChartContainer/ResizableContainer.d.ts +10 -0
  49. package/ResponsiveChartContainer/ResizableContainer.js +32 -0
  50. package/ResponsiveChartContainer/ResponsiveChartContainer.js +32 -24
  51. package/ScatterChart/ScatterChart.d.ts +2 -2
  52. package/ScatterChart/ScatterChart.js +3 -3
  53. package/ScatterChart/ScatterPlot.js +2 -2
  54. package/ScatterChart/formatter.js +2 -3
  55. package/ScatterChart/getColor.d.ts +1 -1
  56. package/ScatterChart/getColor.js +2 -2
  57. package/ScatterChart/plugin.d.ts +2 -0
  58. package/ScatterChart/plugin.js +17 -0
  59. package/SparkLineChart/SparkLineChart.d.ts +9 -4
  60. package/SparkLineChart/SparkLineChart.js +58 -2
  61. package/context/CartesianContextProvider.d.ts +21 -10
  62. package/context/CartesianContextProvider.js +7 -20
  63. package/context/ColorProvider.d.ts +12 -0
  64. package/context/ColorProvider.js +25 -0
  65. package/context/DrawingProvider.d.ts +3 -1
  66. package/context/DrawingProvider.js +9 -2
  67. package/context/HighlightedProvider/HighlightedContext.d.ts +2 -1
  68. package/context/HighlightedProvider/HighlightedContext.js +8 -5
  69. package/context/HighlightedProvider/HighlightedProvider.js +15 -12
  70. package/context/HighlightedProvider/useHighlighted.js +6 -3
  71. package/context/HighlightedProvider/useItemHighlighted.js +2 -8
  72. package/context/SeriesContextProvider.d.ts +16 -5
  73. package/context/SeriesContextProvider.js +14 -17
  74. package/context/context.types.d.ts +4 -0
  75. package/context/context.types.js +5 -0
  76. package/esm/BarChart/BarChart.js +2 -2
  77. package/esm/BarChart/BarPlot.js +2 -2
  78. package/esm/BarChart/formatter.js +1 -1
  79. package/esm/BarChart/getColor.js +4 -4
  80. package/esm/BarChart/plugin.js +10 -0
  81. package/esm/ChartContainer/ChartContainer.js +71 -23
  82. package/esm/ChartContainer/defaultPlugins.js +5 -0
  83. package/esm/ChartContainer/usePluginsMerge.js +31 -0
  84. package/esm/ChartsLegend/ChartsLegend.js +2 -2
  85. package/esm/ChartsLegend/utils.js +4 -1
  86. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  87. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +3 -5
  88. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +3 -5
  89. package/esm/ChartsText/ChartsText.js +1 -3
  90. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +8 -14
  91. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +8 -18
  92. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +5 -4
  93. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  94. package/esm/ChartsTooltip/utils.js +2 -8
  95. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  96. package/esm/ChartsXAxis/ChartsXAxis.js +17 -19
  97. package/esm/ChartsYAxis/ChartsYAxis.js +17 -19
  98. package/esm/LineChart/AreaPlot.js +2 -2
  99. package/esm/LineChart/LineChart.js +3 -3
  100. package/esm/LineChart/LineHighlightPlot.js +2 -2
  101. package/esm/LineChart/LinePlot.js +2 -2
  102. package/esm/LineChart/MarkPlot.js +2 -2
  103. package/esm/LineChart/formatter.js +1 -1
  104. package/esm/LineChart/getColor.js +2 -2
  105. package/esm/LineChart/plugin.js +10 -0
  106. package/esm/PieChart/PieChart.js +3 -3
  107. package/esm/PieChart/PiePlot.js +2 -2
  108. package/esm/PieChart/plugin.js +7 -0
  109. package/esm/ResponsiveChartContainer/ResizableContainer.js +26 -0
  110. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +31 -23
  111. package/esm/ScatterChart/ScatterChart.js +3 -3
  112. package/esm/ScatterChart/ScatterPlot.js +2 -2
  113. package/esm/ScatterChart/formatter.js +1 -1
  114. package/esm/ScatterChart/getColor.js +2 -2
  115. package/esm/ScatterChart/plugin.js +10 -0
  116. package/esm/SparkLineChart/SparkLineChart.js +58 -2
  117. package/esm/context/CartesianContextProvider.js +7 -20
  118. package/esm/context/ColorProvider.js +16 -0
  119. package/esm/context/DrawingProvider.js +9 -2
  120. package/esm/context/HighlightedProvider/HighlightedContext.js +8 -5
  121. package/esm/context/HighlightedProvider/HighlightedProvider.js +15 -12
  122. package/esm/context/HighlightedProvider/useHighlighted.js +6 -3
  123. package/esm/context/HighlightedProvider/useItemHighlighted.js +2 -6
  124. package/esm/context/SeriesContextProvider.js +14 -17
  125. package/esm/context/context.types.js +1 -0
  126. package/esm/hooks/index.js +1 -0
  127. package/esm/hooks/useColor.js +9 -0
  128. package/esm/hooks/useColorScale.js +27 -0
  129. package/esm/hooks/useInteractionItemProps.js +2 -2
  130. package/esm/hooks/useReducedMotion.js +7 -0
  131. package/esm/hooks/useSeries.js +6 -3
  132. package/esm/hooks/useSvgRef.js +6 -3
  133. package/esm/internals/configInit.js +20 -0
  134. package/esm/internals/defaultizeValueFormatter.js +2 -3
  135. package/esm/internals/index.js +27 -0
  136. package/esm/internals/isCartesian.js +7 -0
  137. package/esm/internals/warning.js +13 -0
  138. package/esm/models/index.js +1 -0
  139. package/esm/models/plugin.js +1 -0
  140. package/esm/models/seriesType/index.js +6 -0
  141. package/hooks/index.d.ts +1 -0
  142. package/hooks/index.js +12 -0
  143. package/hooks/useColor.d.ts +4 -0
  144. package/hooks/useColor.js +17 -0
  145. package/hooks/useColorScale.d.ts +4 -0
  146. package/hooks/useColorScale.js +37 -0
  147. package/hooks/useInteractionItemProps.js +1 -1
  148. package/hooks/useReducedMotion.js +7 -0
  149. package/hooks/useSeries.d.ts +6 -11
  150. package/hooks/useSeries.js +6 -3
  151. package/hooks/useSvgRef.js +6 -3
  152. package/hooks/useTicks.d.ts +4 -2
  153. package/index.js +1 -1
  154. package/internals/configInit.d.ts +9 -0
  155. package/internals/configInit.js +26 -0
  156. package/internals/defaultizeColor.d.ts +8 -8
  157. package/internals/defaultizeValueFormatter.d.ts +1 -2
  158. package/internals/defaultizeValueFormatter.js +2 -3
  159. package/internals/index.d.ts +17 -0
  160. package/internals/index.js +203 -0
  161. package/internals/isCartesian.d.ts +7 -0
  162. package/internals/isCartesian.js +14 -0
  163. package/internals/package.json +6 -0
  164. package/internals/warning.d.ts +1 -0
  165. package/internals/warning.js +19 -0
  166. package/models/axis.d.ts +4 -5
  167. package/models/index.d.ts +1 -0
  168. package/models/index.js +11 -0
  169. package/models/plugin.d.ts +16 -0
  170. package/models/plugin.js +5 -0
  171. package/models/seriesType/config.d.ts +30 -5
  172. package/models/seriesType/index.d.ts +8 -11
  173. package/models/seriesType/index.js +6 -0
  174. package/modern/BarChart/BarChart.js +2 -2
  175. package/modern/BarChart/BarPlot.js +2 -2
  176. package/modern/BarChart/formatter.js +1 -1
  177. package/modern/BarChart/getColor.js +4 -4
  178. package/modern/BarChart/plugin.js +10 -0
  179. package/modern/ChartContainer/ChartContainer.js +71 -23
  180. package/modern/ChartContainer/defaultPlugins.js +5 -0
  181. package/modern/ChartContainer/usePluginsMerge.js +31 -0
  182. package/modern/ChartsLegend/ChartsLegend.js +2 -2
  183. package/modern/ChartsLegend/utils.js +4 -1
  184. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  185. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +3 -5
  186. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +3 -5
  187. package/modern/ChartsText/ChartsText.js +1 -3
  188. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +8 -14
  189. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +8 -18
  190. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +5 -4
  191. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  192. package/modern/ChartsTooltip/utils.js +2 -8
  193. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  194. package/modern/ChartsXAxis/ChartsXAxis.js +17 -19
  195. package/modern/ChartsYAxis/ChartsYAxis.js +17 -19
  196. package/modern/LineChart/AreaPlot.js +2 -2
  197. package/modern/LineChart/LineChart.js +3 -3
  198. package/modern/LineChart/LineHighlightPlot.js +2 -2
  199. package/modern/LineChart/LinePlot.js +2 -2
  200. package/modern/LineChart/MarkPlot.js +2 -2
  201. package/modern/LineChart/formatter.js +1 -1
  202. package/modern/LineChart/getColor.js +2 -2
  203. package/modern/LineChart/plugin.js +10 -0
  204. package/modern/PieChart/PieChart.js +3 -3
  205. package/modern/PieChart/PiePlot.js +2 -2
  206. package/modern/PieChart/plugin.js +7 -0
  207. package/modern/ResponsiveChartContainer/ResizableContainer.js +26 -0
  208. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +31 -23
  209. package/modern/ScatterChart/ScatterChart.js +3 -3
  210. package/modern/ScatterChart/ScatterPlot.js +2 -2
  211. package/modern/ScatterChart/formatter.js +1 -1
  212. package/modern/ScatterChart/getColor.js +2 -2
  213. package/modern/ScatterChart/plugin.js +10 -0
  214. package/modern/SparkLineChart/SparkLineChart.js +58 -2
  215. package/modern/context/CartesianContextProvider.js +7 -20
  216. package/modern/context/ColorProvider.js +16 -0
  217. package/modern/context/DrawingProvider.js +9 -2
  218. package/modern/context/HighlightedProvider/HighlightedContext.js +8 -5
  219. package/modern/context/HighlightedProvider/HighlightedProvider.js +15 -12
  220. package/modern/context/HighlightedProvider/useHighlighted.js +6 -3
  221. package/modern/context/HighlightedProvider/useItemHighlighted.js +2 -6
  222. package/modern/context/SeriesContextProvider.js +14 -17
  223. package/modern/context/context.types.js +1 -0
  224. package/modern/hooks/index.js +1 -0
  225. package/modern/hooks/useColor.js +9 -0
  226. package/modern/hooks/useColorScale.js +27 -0
  227. package/modern/hooks/useInteractionItemProps.js +2 -2
  228. package/modern/hooks/useReducedMotion.js +7 -0
  229. package/modern/hooks/useSeries.js +6 -3
  230. package/modern/hooks/useSvgRef.js +6 -3
  231. package/modern/index.js +1 -1
  232. package/modern/internals/configInit.js +20 -0
  233. package/modern/internals/defaultizeValueFormatter.js +2 -3
  234. package/modern/internals/index.js +27 -0
  235. package/modern/internals/isCartesian.js +7 -0
  236. package/modern/internals/warning.js +13 -0
  237. package/modern/models/index.js +1 -0
  238. package/modern/models/plugin.js +1 -0
  239. package/modern/models/seriesType/index.js +6 -0
  240. package/package.json +2 -2
  241. package/themeAugmentation/components.d.ts +12 -12
  242. package/esm/internals/colorGetter.js +0 -22
  243. package/internals/colorGetter.d.ts +0 -7
  244. package/internals/colorGetter.js +0 -29
  245. package/modern/internals/colorGetter.js +0 -22
@@ -13,6 +13,7 @@ var _hooks = require("../hooks");
13
13
  var _common = require("./common");
14
14
  var _ChartsText = require("../ChartsText");
15
15
  var _chartsReferenceLineClasses = require("./chartsReferenceLineClasses");
16
+ var _warning = require("../internals/warning");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  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); }
18
19
  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; }
@@ -49,7 +50,6 @@ const getTextParams = ({
49
50
  };
50
51
  }
51
52
  };
52
- let warnedOnce = false;
53
53
  function getYReferenceLineClasses(classes) {
54
54
  return (0, _composeClasses.default)({
55
55
  root: ['root', 'horizontal'],
@@ -57,6 +57,7 @@ function getYReferenceLineClasses(classes) {
57
57
  label: ['label']
58
58
  }, _chartsReferenceLineClasses.getReferenceLineUtilityClass, classes);
59
59
  }
60
+ const valueError = (0, _warning.buildWarning)((value, id) => `MUI X Charts: the value ${value} does not exist in the data of y axis with id ${id}.`, 'error');
60
61
  function ChartsYReferenceLine(props) {
61
62
  const {
62
63
  y,
@@ -76,10 +77,7 @@ function ChartsYReferenceLine(props) {
76
77
  const yPosition = yAxisScale(y);
77
78
  if (yPosition === undefined) {
78
79
  if (process.env.NODE_ENV !== 'production') {
79
- if (!warnedOnce) {
80
- warnedOnce = true;
81
- console.error(`MUI X Charts: the value ${y} does not exist in the data of y axis with id ${axisId}.`);
82
- }
80
+ valueError(y, axisId);
83
81
  }
84
82
  return null;
85
83
  }
@@ -58,10 +58,8 @@ function ChartsText(props) {
58
58
  if (angle) {
59
59
  transforms.push(`rotate(${angle}, ${x}, ${y})`);
60
60
  }
61
- if (transforms.length) {
62
- textProps.transform = transforms.join(' ');
63
- }
64
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("text", (0, _extends2.default)({}, textProps, {
62
+ transform: transforms.length > 0 ? transforms.join(' ') : undefined,
65
63
  x: x,
66
64
  y: y,
67
65
  textAnchor: textAnchor,
@@ -9,12 +9,12 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
13
12
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
13
  var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
15
- var _utils2 = require("./utils");
16
- var _colorGetter = _interopRequireDefault(require("../internals/colorGetter"));
17
14
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
+ var _useColor = require("../hooks/useColor");
16
+ var _isCartesian = require("../internals/isCartesian");
17
+ var _useSeries = require("../hooks/useSeries");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  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); }
20
20
  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; }
@@ -39,25 +39,19 @@ function ChartsAxisTooltipContent(props) {
39
39
  zAxisIds,
40
40
  zAxis
41
41
  } = React.useContext(_ZAxisContextProvider.ZAxisContext);
42
- const series = React.useContext(_SeriesContextProvider.SeriesContext);
42
+ const series = (0, _useSeries.useSeries)();
43
+ const colorProcessors = (0, _useColor.useColorProcessor)();
43
44
  const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
44
45
  const relevantSeries = React.useMemo(() => {
45
46
  const rep = [];
46
- Object.keys(series).filter(_utils2.isCartesianSeriesType).forEach(seriesType => {
47
+ Object.keys(series).filter(_isCartesian.isCartesianSeriesType).forEach(seriesType => {
47
48
  series[seriesType].seriesOrder.forEach(seriesId => {
48
49
  const item = series[seriesType].series[seriesId];
49
50
  const axisKey = isXaxis ? item.xAxisKey : item.yAxisKey;
50
51
  if (axisKey === undefined || axisKey === USED_AXIS_ID) {
51
52
  const seriesToAdd = series[seriesType].series[seriesId];
52
- let getColor;
53
- switch (seriesToAdd.type) {
54
- case 'scatter':
55
- getColor = (0, _colorGetter.default)(seriesToAdd, xAxis[seriesToAdd.xAxisKey ?? xAxisIds[0]], yAxis[seriesToAdd.yAxisKey ?? yAxisIds[0]], zAxis[seriesToAdd.zAxisKey ?? zAxisIds[0]]);
56
- break;
57
- default:
58
- getColor = (0, _colorGetter.default)(seriesToAdd, xAxis[seriesToAdd.xAxisKey ?? xAxisIds[0]], yAxis[seriesToAdd.yAxisKey ?? yAxisIds[0]]);
59
- break;
60
- }
53
+ const zAxisKey = seriesToAdd.zAxisKey ?? zAxisIds[0];
54
+ const getColor = colorProcessors[seriesType]?.(seriesToAdd, xAxis[seriesToAdd.xAxisKey ?? xAxisIds[0]], yAxis[seriesToAdd.yAxisKey ?? yAxisIds[0]], zAxisKey && zAxis[zAxisKey]) ?? (() => '');
61
55
  rep.push((0, _extends2.default)({}, seriesToAdd, {
62
56
  getColor
63
57
  }));
@@ -65,7 +59,7 @@ function ChartsAxisTooltipContent(props) {
65
59
  });
66
60
  });
67
61
  return rep;
68
- }, [USED_AXIS_ID, isXaxis, series, xAxis, xAxisIds, yAxis, yAxisIds, zAxis, zAxisIds]);
62
+ }, [USED_AXIS_ID, colorProcessors, isXaxis, series, xAxis, xAxisIds, yAxis, yAxisIds, zAxis, zAxisIds]);
69
63
  const relevantAxis = React.useMemo(() => {
70
64
  return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
71
65
  }, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
@@ -9,11 +9,11 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
13
12
  var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
14
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
- var _colorGetter = _interopRequireDefault(require("../internals/colorGetter"));
16
14
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
+ var _useColor = require("../hooks/useColor");
16
+ var _useSeries = require("../hooks/useSeries");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  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); }
19
19
  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; }
@@ -25,7 +25,7 @@ function ChartsItemTooltipContent(props) {
25
25
  classes,
26
26
  contentProps
27
27
  } = props;
28
- const series = React.useContext(_SeriesContextProvider.SeriesContext)[itemData.type].series[itemData.seriesId];
28
+ const series = (0, _useSeries.useSeries)()[itemData.type].series[itemData.seriesId];
29
29
  const {
30
30
  xAxis,
31
31
  yAxis,
@@ -36,21 +36,11 @@ function ChartsItemTooltipContent(props) {
36
36
  zAxis,
37
37
  zAxisIds
38
38
  } = React.useContext(_ZAxisContextProvider.ZAxisContext);
39
- const defaultXAxisId = xAxisIds[0];
40
- const defaultYAxisId = yAxisIds[0];
41
- const defaultZAxisId = zAxisIds[0];
42
- let getColor;
43
- switch (series.type) {
44
- case 'pie':
45
- getColor = (0, _colorGetter.default)(series);
46
- break;
47
- case 'scatter':
48
- getColor = (0, _colorGetter.default)(series, xAxis[series.xAxisKey ?? defaultXAxisId], yAxis[series.yAxisKey ?? defaultYAxisId], zAxis[series.zAxisKey ?? defaultZAxisId]);
49
- break;
50
- default:
51
- getColor = (0, _colorGetter.default)(series, xAxis[series.xAxisKey ?? defaultXAxisId], yAxis[series.yAxisKey ?? defaultYAxisId]);
52
- break;
53
- }
39
+ const colorProcessors = (0, _useColor.useColorProcessor)();
40
+ const xAxisKey = series.xAxisKey ?? xAxisIds[0];
41
+ const yAxisKey = series.yAxisKey ?? yAxisIds[0];
42
+ const zAxisKey = series.zAxisKey ?? zAxisIds[0];
43
+ const getColor = colorProcessors[series.type]?.(series, xAxisKey && xAxis[xAxisKey], yAxisKey && yAxis[yAxisKey], zAxisKey && zAxis[zAxisKey]) ?? (() => '');
54
44
  const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
55
45
  const chartTooltipContentProps = (0, _utils.useSlotProps)({
56
46
  elementType: Content,
@@ -12,6 +12,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
12
  var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
13
  var _utils = require("./utils");
14
14
  var _getLabel = require("../internals/getLabel");
15
+ var _isCartesian = require("../internals/isCartesian");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  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); }
17
18
  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; }
@@ -45,8 +46,7 @@ function DefaultChartsAxisTooltipContent(props) {
45
46
  })
46
47
  })
47
48
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
48
- children: series.filter(_utils.isCartesianSeries).map(({
49
- color,
49
+ children: series.filter(_isCartesian.isCartesianSeries).map(({
50
50
  id,
51
51
  label,
52
52
  valueFormatter,
@@ -61,12 +61,13 @@ function DefaultChartsAxisTooltipContent(props) {
61
61
  return null;
62
62
  }
63
63
  const formattedLabel = (0, _getLabel.getLabel)(label, 'tooltip');
64
+ const color = getColor(dataIndex);
64
65
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
65
66
  className: classes.row,
66
67
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
67
68
  className: (0, _clsx.default)(classes.markCell, classes.cell),
68
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
69
- color: getColor(dataIndex) ?? color,
69
+ children: color && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
70
+ color: color,
70
71
  className: classes.mark
71
72
  })
72
73
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
@@ -32,7 +32,7 @@ function DefaultChartsItemTooltipContent(props) {
32
32
  color: getColor(itemData.dataIndex),
33
33
  displayedLabel: (0, _getLabel.getLabel)(series.data[itemData.dataIndex].label, 'tooltip')
34
34
  } : {
35
- color: getColor(itemData.dataIndex) ?? series.color,
35
+ color: getColor(itemData.dataIndex),
36
36
  displayedLabel: (0, _getLabel.getLabel)(series.label, 'tooltip')
37
37
  };
38
38
  const value = series.type === 'pie' ? (0, _extends2.default)({}, series.data[itemData.dataIndex], {
@@ -1,5 +1,5 @@
1
1
  import { AxisInteractionData, ItemInteractionData } from '../context/InteractionProvider';
2
- import { CartesianChartSeriesType, ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
2
+ import { ChartSeriesType } from '../models/seriesType/config';
3
3
  export declare function generateVirtualElement(mousePosition: {
4
4
  x: number;
5
5
  y: number;
@@ -22,10 +22,4 @@ export declare function useMouseTracker(): {
22
22
  } | null;
23
23
  export type TriggerOptions = 'item' | 'axis' | 'none';
24
24
  export declare function getTooltipHasData(trigger: TriggerOptions, displayedData: null | AxisInteractionData | ItemInteractionData<ChartSeriesType>): boolean;
25
- export declare function isCartesianSeriesType(seriesType: string): seriesType is CartesianChartSeriesType;
26
- export declare function isCartesianSeries(series: ChartSeriesDefaultized<ChartSeriesType> & {
27
- getColor: (dataIndex: number) => string;
28
- }): series is ChartSeriesDefaultized<CartesianChartSeriesType> & {
29
- getColor: (dataIndex: number) => string;
30
- };
31
25
  export declare function utcFormatter(v: string | number | Date): string;
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.generateVirtualElement = generateVirtualElement;
7
7
  exports.getTooltipHasData = getTooltipHasData;
8
- exports.isCartesianSeries = isCartesianSeries;
9
- exports.isCartesianSeriesType = isCartesianSeriesType;
10
8
  exports.useMouseTracker = useMouseTracker;
11
9
  exports.utcFormatter = utcFormatter;
12
10
  var React = _interopRequireWildcard(require("react"));
13
- var _DrawingProvider = require("../context/DrawingProvider");
11
+ var _hooks = require("../hooks");
14
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); }
15
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; }
16
14
  function generateVirtualElement(mousePosition) {
@@ -57,7 +55,7 @@ function generateVirtualElement(mousePosition) {
57
55
  };
58
56
  }
59
57
  function useMouseTracker() {
60
- const svgRef = React.useContext(_DrawingProvider.SvgContext);
58
+ const svgRef = (0, _hooks.useSvgRef)();
61
59
 
62
60
  // Use a ref to avoid rerendering on every mousemove event.
63
61
  const [mousePosition, setMousePosition] = React.useState(null);
@@ -97,12 +95,6 @@ function getTooltipHasData(trigger, displayedData) {
97
95
  const hasAxisYData = displayedData.y !== null;
98
96
  return hasAxisXData || hasAxisYData;
99
97
  }
100
- function isCartesianSeriesType(seriesType) {
101
- return ['bar', 'line', 'scatter'].includes(seriesType);
102
- }
103
- function isCartesianSeries(series) {
104
- return isCartesianSeriesType(series.type);
105
- }
106
98
  function utcFormatter(v) {
107
99
  if (v instanceof Date) {
108
100
  return v.toUTCString();
@@ -11,11 +11,11 @@ var _d3Delaunay = require("d3-delaunay");
11
11
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
12
12
  var _InteractionProvider = require("../context/InteractionProvider");
13
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
- var _SeriesContextProvider = require("../context/SeriesContextProvider");
15
14
  var _useScale = require("../hooks/useScale");
16
15
  var _utils = require("../internals/utils");
17
16
  var _hooks = require("../hooks");
18
17
  var _context = require("../context");
18
+ var _useSeries = require("../hooks/useSeries");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  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); }
21
21
  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; }
@@ -43,7 +43,7 @@ function ChartsVoronoiHandler(props) {
43
43
  const {
44
44
  series,
45
45
  seriesOrder
46
- } = React.useContext(_SeriesContextProvider.SeriesContext).scatter ?? {};
46
+ } = (0, _useSeries.useScatterSeries)() ?? {};
47
47
  const voronoiRef = React.useRef({});
48
48
  const delauneyRef = React.useRef(undefined);
49
49
  const {
@@ -113,27 +113,23 @@ const defaultProps = {
113
113
  * - [ChartsXAxis API](https://mui.com/x/api/charts/charts-x-axis/)
114
114
  */
115
115
  function ChartsXAxis(inProps) {
116
- const props = (0, _styles.useThemeProps)({
117
- props: (0, _extends2.default)({}, defaultProps, inProps),
118
- name: 'MuiChartsXAxis'
119
- });
120
116
  const {
121
- xAxisIds
117
+ xAxisIds,
118
+ xAxis
122
119
  } = React.useContext(_CartesianContextProvider.CartesianContext);
123
- const _React$useContext = React.useContext(_CartesianContextProvider.CartesianContext),
124
- _ref = props.axisId ?? xAxisIds[0],
120
+ const _xAxis = xAxis[inProps.axisId ?? xAxisIds[0]],
125
121
  {
126
- xAxis: {
127
- [_ref]: {
128
- scale: xScale,
129
- tickNumber,
130
- reverse
131
- }
132
- }
133
- } = _React$useContext,
134
- settings = (0, _objectWithoutPropertiesLoose2.default)(_React$useContext.xAxis[_ref], _excluded);
122
+ scale: xScale,
123
+ tickNumber,
124
+ reverse
125
+ } = _xAxis,
126
+ settings = (0, _objectWithoutPropertiesLoose2.default)(_xAxis, _excluded);
135
127
  const isMounted = (0, _useMounted.useMounted)();
136
- const defaultizedProps = (0, _extends2.default)({}, defaultProps, settings, props);
128
+ const themedProps = (0, _styles.useThemeProps)({
129
+ props: (0, _extends2.default)({}, settings, inProps),
130
+ name: 'MuiChartsXAxis'
131
+ });
132
+ const defaultizedProps = (0, _extends2.default)({}, defaultProps, themedProps);
137
133
  const {
138
134
  position,
139
135
  disableLine,
@@ -323,10 +319,12 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
323
319
  */
324
320
  tickFontSize: _propTypes.default.number,
325
321
  /**
326
- * Defines which ticks are displayed. Its value can be:
322
+ * Defines which ticks are displayed.
323
+ * Its value can be:
327
324
  * - 'auto' In such case the ticks are computed based on axis scale and other parameters.
328
- * - a filtering function of the form `(value, index) => boolean` which is available only if the axis has a data property.
325
+ * - a filtering function of the form `(value, index) => boolean` which is available only if the axis has "point" scale.
329
326
  * - an array containing the values where ticks should be displayed.
327
+ * @see See {@link https://mui.com/x/react-charts/axis/#fixed-tick-positions}
330
328
  * @default 'auto'
331
329
  */
332
330
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChartsYAxis = ChartsYAxis;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
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
12
  var _utils = require("@mui/base/utils");
@@ -56,25 +56,21 @@ const defaultProps = {
56
56
  * - [ChartsYAxis API](https://mui.com/x/api/charts/charts-y-axis/)
57
57
  */
58
58
  function ChartsYAxis(inProps) {
59
- const props = (0, _styles.useThemeProps)({
60
- props: (0, _extends2.default)({}, defaultProps, inProps),
61
- name: 'MuiChartsYAxis'
62
- });
63
59
  const {
64
- yAxisIds
60
+ yAxisIds,
61
+ yAxis
65
62
  } = React.useContext(_CartesianContextProvider.CartesianContext);
66
- const _React$useContext = React.useContext(_CartesianContextProvider.CartesianContext),
67
- _ref = props.axisId ?? yAxisIds[0],
63
+ const _yAxis = yAxis[inProps.axisId ?? yAxisIds[0]],
68
64
  {
69
- yAxis: {
70
- [_ref]: {
71
- scale: yScale,
72
- tickNumber
73
- }
74
- }
75
- } = _React$useContext,
76
- settings = (0, _objectWithoutPropertiesLoose2.default)(_React$useContext.yAxis[_ref], _excluded);
77
- const defaultizedProps = (0, _extends2.default)({}, defaultProps, settings, props);
65
+ scale: yScale,
66
+ tickNumber
67
+ } = _yAxis,
68
+ settings = (0, _objectWithoutPropertiesLoose2.default)(_yAxis, _excluded);
69
+ const themedProps = (0, _styles.useThemeProps)({
70
+ props: (0, _extends2.default)({}, settings, inProps),
71
+ name: 'MuiChartsYAxis'
72
+ });
73
+ const defaultizedProps = (0, _extends2.default)({}, defaultProps, themedProps);
78
74
  const {
79
75
  position,
80
76
  disableLine,
@@ -259,10 +255,12 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
259
255
  */
260
256
  tickFontSize: _propTypes.default.number,
261
257
  /**
262
- * Defines which ticks are displayed. Its value can be:
258
+ * Defines which ticks are displayed.
259
+ * Its value can be:
263
260
  * - 'auto' In such case the ticks are computed based on axis scale and other parameters.
264
- * - a filtering function of the form `(value, index) => boolean` which is available only if the axis has a data property.
261
+ * - a filtering function of the form `(value, index) => boolean` which is available only if the axis has "point" scale.
265
262
  * - an array containing the values where ticks should be displayed.
263
+ * @see See {@link https://mui.com/x/react-charts/axis/#fixed-tick-positions}
266
264
  * @default 'auto'
267
265
  */
268
266
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
@@ -10,19 +10,19 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
14
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
14
  var _AreaElement = require("./AreaElement");
16
15
  var _useScale = require("../hooks/useScale");
17
16
  var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
18
17
  var _constants = require("../constants");
19
18
  var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
19
+ var _useSeries = require("../hooks/useSeries");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
22
22
  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); }
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
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
25
+ const seriesData = (0, _useSeries.useLineSeries)();
26
26
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
27
27
  if (seriesData === undefined) {
28
28
  return [];
@@ -13,12 +13,12 @@ import { ChartsAxisSlotProps, ChartsAxisSlots } from '../models/axis';
13
13
  import { LineHighlightPlotSlots, LineHighlightPlotSlotProps } from './LineHighlightPlot';
14
14
  import { ChartsGridProps } from '../ChartsGrid';
15
15
  import { ChartsOnAxisClickHandlerProps } from '../ChartsOnAxisClickHandler';
16
- import { ChartsOverlayProps, ChartsOverlaySlotProps, ChartsOverlaySlots } from '../ChartsOverlay/ChartsOverlay';
16
+ import { ChartsOverlayProps, ChartsOverlaySlotProps, ChartsOverlaySlots } from '../ChartsOverlay';
17
17
  export interface LineChartSlots extends ChartsAxisSlots, AreaPlotSlots, LinePlotSlots, MarkPlotSlots, LineHighlightPlotSlots, ChartsLegendSlots, ChartsTooltipSlots, ChartsOverlaySlots {
18
18
  }
19
19
  export interface LineChartSlotProps extends ChartsAxisSlotProps, AreaPlotSlotProps, LinePlotSlotProps, MarkPlotSlotProps, LineHighlightPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps, ChartsOverlaySlotProps {
20
20
  }
21
- export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
21
+ export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'plugins' | 'zAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
22
22
  /**
23
23
  * The series to display in the line chart.
24
24
  * An array of [[LineSeriesType]] objects.
@@ -22,7 +22,7 @@ var _ChartsClipPath = require("../ChartsClipPath");
22
22
  var _LineHighlightPlot = require("./LineHighlightPlot");
23
23
  var _ChartsGrid = require("../ChartsGrid");
24
24
  var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
25
- var _ChartsOverlay = require("../ChartsOverlay/ChartsOverlay");
25
+ var _ChartsOverlay = require("../ChartsOverlay");
26
26
  var _jsxRuntime = require("react/jsx-runtime");
27
27
  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
28
  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; }
@@ -357,7 +357,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
357
357
  labelStyle: _propTypes.default.object,
358
358
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
359
359
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
360
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
360
+ position: _propTypes.default.oneOf(['bottom', 'top']),
361
361
  reverse: _propTypes.default.bool,
362
362
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
363
363
  slotProps: _propTypes.default.object,
@@ -410,7 +410,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
410
410
  labelStyle: _propTypes.default.object,
411
411
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
412
412
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
413
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
413
+ position: _propTypes.default.oneOf(['left', 'right']),
414
414
  reverse: _propTypes.default.bool,
415
415
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
416
416
  slotProps: _propTypes.default.object,
@@ -9,13 +9,13 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
13
12
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
13
  var _LineHighlightElement = require("./LineHighlightElement");
15
14
  var _useScale = require("../hooks/useScale");
16
15
  var _InteractionProvider = require("../context/InteractionProvider");
17
16
  var _constants = require("../constants");
18
17
  var _getColor = _interopRequireDefault(require("./getColor"));
18
+ var _useSeries = require("../hooks/useSeries");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  const _excluded = ["slots", "slotProps"];
21
21
  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); }
@@ -36,7 +36,7 @@ function LineHighlightPlot(props) {
36
36
  slotProps
37
37
  } = props,
38
38
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
39
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
39
+ const seriesData = (0, _useSeries.useLineSeries)();
40
40
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
41
41
  const {
42
42
  axis
@@ -10,19 +10,19 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
14
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
14
  var _LineElement = require("./LineElement");
16
15
  var _useScale = require("../hooks/useScale");
17
16
  var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
18
17
  var _constants = require("../constants");
19
18
  var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
19
+ var _useSeries = require("../hooks/useSeries");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
22
22
  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); }
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
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
25
+ const seriesData = (0, _useSeries.useLineSeries)();
26
26
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
27
27
  if (seriesData === undefined) {
28
28
  return [];
@@ -9,7 +9,6 @@ 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 _SeriesContextProvider = require("../context/SeriesContextProvider");
13
12
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
13
  var _MarkElement = require("./MarkElement");
15
14
  var _useScale = require("../hooks/useScale");
@@ -17,6 +16,7 @@ var _useChartId = require("../hooks/useChartId");
17
16
  var _constants = require("../constants");
18
17
  var _utils = require("../internals/utils");
19
18
  var _getColor = _interopRequireDefault(require("./getColor"));
19
+ var _useSeries = require("../hooks/useSeries");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
22
22
  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); }
@@ -39,7 +39,7 @@ function MarkPlot(props) {
39
39
  onItemClick
40
40
  } = props,
41
41
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
42
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
42
+ const seriesData = (0, _useSeries.useLineSeries)();
43
43
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
44
44
  const chartId = (0, _useChartId.useChartId)();
45
45
  const Mark = slots?.mark ?? _MarkElement.MarkElement;
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _d3Shape = require("d3-shape");
10
10
  var _stackSeries = require("../internals/stackSeries");
11
- var _defaultizeValueFormatter = _interopRequireDefault(require("../internals/defaultizeValueFormatter"));
11
+ var _defaultizeValueFormatter = require("../internals/defaultizeValueFormatter");
12
12
  let warnedOnce = false;
13
13
 
14
14
  // For now it's a copy past of bar charts formatter, but maybe will diverge later
@@ -76,7 +76,7 @@ const formatter = (params, dataset) => {
76
76
  return {
77
77
  seriesOrder,
78
78
  stackingGroups,
79
- series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v == null ? '' : v.toLocaleString())
79
+ series: (0, _defaultizeValueFormatter.defaultizeValueFormatter)(completedSeries, v => v == null ? '' : v.toLocaleString())
80
80
  };
81
81
  };
82
82
  var _default = exports.default = formatter;
@@ -1,3 +1,3 @@
1
1
  import { AxisDefaultized } from '../models/axis';
2
2
  import { DefaultizedLineSeriesType } from '../models/seriesType/line';
3
- export default function getColor(series: DefaultizedLineSeriesType, xAxis: AxisDefaultized, yAxis: AxisDefaultized): (dataIndex: number) => string;
3
+ export default function getColor(series: DefaultizedLineSeriesType, xAxis?: AxisDefaultized, yAxis?: AxisDefaultized): (dataIndex: number) => string;
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = getColor;
7
7
  function getColor(series, xAxis, yAxis) {
8
- const yColorScale = yAxis.colorScale;
9
- const xColorScale = xAxis.colorScale;
8
+ const yColorScale = yAxis?.colorScale;
9
+ const xColorScale = xAxis?.colorScale;
10
10
  if (yColorScale) {
11
11
  return dataIndex => {
12
12
  const value = series.data[dataIndex];
@@ -0,0 +1,2 @@
1
+ import { ChartsPluginType } from '../models/plugin';
2
+ export declare const plugin: ChartsPluginType<'line'>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.plugin = void 0;
8
+ var _extremums = require("./extremums");
9
+ var _formatter = _interopRequireDefault(require("./formatter"));
10
+ var _getColor = _interopRequireDefault(require("./getColor"));
11
+ const plugin = exports.plugin = {
12
+ seriesType: 'line',
13
+ colorProcessor: _getColor.default,
14
+ seriesFormatter: _formatter.default,
15
+ xExtremumGetter: _extremums.getExtremumX,
16
+ yExtremumGetter: _extremums.getExtremumY
17
+ };
@@ -9,12 +9,12 @@ import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
9
9
  import { PiePlotProps, PiePlotSlotProps, PiePlotSlots } from './PiePlot';
10
10
  import { PieValueType } from '../models/seriesType/pie';
11
11
  import { ChartsAxisSlots, ChartsAxisSlotProps, ChartsXAxisProps, ChartsYAxisProps } from '../models/axis';
12
- import { ChartsOverlayProps, ChartsOverlaySlotProps, ChartsOverlaySlots } from '../ChartsOverlay/ChartsOverlay';
12
+ import { ChartsOverlayProps, ChartsOverlaySlotProps, ChartsOverlaySlots } from '../ChartsOverlay';
13
13
  export interface PieChartSlots extends ChartsAxisSlots, PiePlotSlots, ChartsLegendSlots, ChartsTooltipSlots, ChartsOverlaySlots {
14
14
  }
15
15
  export interface PieChartSlotProps extends ChartsAxisSlotProps, PiePlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps, ChartsOverlaySlotProps {
16
16
  }
17
- export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'leftAxis' | 'bottomAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, Pick<PiePlotProps, 'skipAnimation'> {
17
+ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'leftAxis' | 'bottomAxis' | 'plugins' | 'zAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, Pick<PiePlotProps, 'skipAnimation'> {
18
18
  /**
19
19
  * Indicate which axis to display the bottom of the charts.
20
20
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.