@mui/x-charts 7.6.0 → 7.6.2

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 (199) 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 +91 -0
  10. package/ChartContainer/ChartContainer.d.ts +14 -2
  11. package/ChartContainer/ChartContainer.js +13 -2
  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/ChartsTooltip/ChartsAxisTooltipContent.js +4 -4
  20. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  21. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -1
  22. package/ChartsTooltip/utils.d.ts +1 -7
  23. package/ChartsTooltip/utils.js +2 -10
  24. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  25. package/ChartsXAxis/ChartsXAxis.js +17 -19
  26. package/ChartsYAxis/ChartsYAxis.js +17 -19
  27. package/LineChart/AreaPlot.js +2 -2
  28. package/LineChart/LineChart.d.ts +1 -1
  29. package/LineChart/LineChart.js +2 -2
  30. package/LineChart/LineHighlightPlot.js +2 -2
  31. package/LineChart/LinePlot.js +2 -2
  32. package/LineChart/MarkPlot.js +2 -2
  33. package/LineChart/formatter.js +2 -2
  34. package/LineChart/getColor.d.ts +1 -1
  35. package/LineChart/getColor.js +2 -2
  36. package/LineChart/plugin.d.ts +2 -0
  37. package/LineChart/plugin.js +17 -0
  38. package/PieChart/PieChart.d.ts +1 -1
  39. package/PieChart/PieChart.js +2 -2
  40. package/PieChart/PiePlot.js +2 -2
  41. package/PieChart/plugin.d.ts +2 -0
  42. package/PieChart/plugin.js +14 -0
  43. package/ResponsiveChartContainer/ResponsiveChartContainer.js +7 -2
  44. package/ScatterChart/ScatterChart.d.ts +1 -1
  45. package/ScatterChart/ScatterChart.js +2 -2
  46. package/ScatterChart/ScatterPlot.js +2 -2
  47. package/ScatterChart/formatter.js +2 -3
  48. package/ScatterChart/getColor.d.ts +1 -1
  49. package/ScatterChart/getColor.js +2 -2
  50. package/ScatterChart/plugin.d.ts +2 -0
  51. package/ScatterChart/plugin.js +17 -0
  52. package/SparkLineChart/SparkLineChart.d.ts +3 -3
  53. package/SparkLineChart/SparkLineChart.js +1 -1
  54. package/context/CartesianContextProvider.d.ts +13 -10
  55. package/context/CartesianContextProvider.js +2 -2
  56. package/context/DrawingProvider.d.ts +3 -1
  57. package/context/DrawingProvider.js +9 -2
  58. package/context/HighlightedProvider/HighlightedContext.d.ts +2 -1
  59. package/context/HighlightedProvider/HighlightedContext.js +8 -5
  60. package/context/HighlightedProvider/HighlightedProvider.js +15 -12
  61. package/context/HighlightedProvider/useHighlighted.js +6 -3
  62. package/context/HighlightedProvider/useItemHighlighted.js +2 -8
  63. package/context/SeriesContextProvider.d.ts +16 -5
  64. package/context/SeriesContextProvider.js +14 -17
  65. package/context/context.types.d.ts +4 -0
  66. package/context/context.types.js +5 -0
  67. package/esm/BarChart/BarChart.js +2 -2
  68. package/esm/BarChart/BarPlot.js +2 -2
  69. package/esm/BarChart/formatter.js +1 -1
  70. package/esm/BarChart/getColor.js +4 -4
  71. package/esm/BarChart/plugin.js +10 -0
  72. package/esm/ChartContainer/ChartContainer.js +13 -2
  73. package/esm/ChartContainer/defaultPlugins.js +5 -0
  74. package/esm/ChartContainer/usePluginsMerge.js +31 -0
  75. package/esm/ChartsLegend/ChartsLegend.js +2 -2
  76. package/esm/ChartsLegend/utils.js +4 -1
  77. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  78. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
  79. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  80. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -1
  81. package/esm/ChartsTooltip/utils.js +2 -8
  82. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  83. package/esm/ChartsXAxis/ChartsXAxis.js +17 -19
  84. package/esm/ChartsYAxis/ChartsYAxis.js +17 -19
  85. package/esm/LineChart/AreaPlot.js +2 -2
  86. package/esm/LineChart/LineChart.js +2 -2
  87. package/esm/LineChart/LineHighlightPlot.js +2 -2
  88. package/esm/LineChart/LinePlot.js +2 -2
  89. package/esm/LineChart/MarkPlot.js +2 -2
  90. package/esm/LineChart/formatter.js +1 -1
  91. package/esm/LineChart/getColor.js +2 -2
  92. package/esm/LineChart/plugin.js +10 -0
  93. package/esm/PieChart/PieChart.js +2 -2
  94. package/esm/PieChart/PiePlot.js +2 -2
  95. package/esm/PieChart/plugin.js +7 -0
  96. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +7 -2
  97. package/esm/ScatterChart/ScatterChart.js +2 -2
  98. package/esm/ScatterChart/ScatterPlot.js +2 -2
  99. package/esm/ScatterChart/formatter.js +1 -1
  100. package/esm/ScatterChart/getColor.js +2 -2
  101. package/esm/ScatterChart/plugin.js +10 -0
  102. package/esm/SparkLineChart/SparkLineChart.js +1 -1
  103. package/esm/context/CartesianContextProvider.js +2 -2
  104. package/esm/context/DrawingProvider.js +9 -2
  105. package/esm/context/HighlightedProvider/HighlightedContext.js +8 -5
  106. package/esm/context/HighlightedProvider/HighlightedProvider.js +15 -12
  107. package/esm/context/HighlightedProvider/useHighlighted.js +6 -3
  108. package/esm/context/HighlightedProvider/useItemHighlighted.js +2 -6
  109. package/esm/context/SeriesContextProvider.js +14 -17
  110. package/esm/context/context.types.js +1 -0
  111. package/esm/hooks/useInteractionItemProps.js +2 -2
  112. package/esm/hooks/useSeries.js +6 -3
  113. package/esm/hooks/useSvgRef.js +6 -3
  114. package/esm/internals/configInit.js +20 -0
  115. package/esm/internals/defaultizeValueFormatter.js +2 -3
  116. package/esm/internals/index.js +1 -0
  117. package/esm/internals/isCartesian.js +7 -0
  118. package/esm/models/index.js +1 -0
  119. package/esm/models/plugin.js +1 -0
  120. package/esm/models/seriesType/index.js +6 -0
  121. package/hooks/useInteractionItemProps.js +1 -1
  122. package/hooks/useSeries.d.ts +6 -11
  123. package/hooks/useSeries.js +6 -3
  124. package/hooks/useSvgRef.js +6 -3
  125. package/hooks/useTicks.d.ts +4 -2
  126. package/index.js +1 -1
  127. package/internals/configInit.d.ts +9 -0
  128. package/internals/configInit.js +26 -0
  129. package/internals/defaultizeValueFormatter.d.ts +1 -2
  130. package/internals/defaultizeValueFormatter.js +2 -3
  131. package/internals/index.d.ts +1 -0
  132. package/internals/index.js +16 -0
  133. package/internals/isCartesian.d.ts +7 -0
  134. package/internals/isCartesian.js +14 -0
  135. package/internals/package.json +6 -0
  136. package/models/axis.d.ts +3 -3
  137. package/models/index.d.ts +1 -0
  138. package/models/index.js +11 -0
  139. package/models/plugin.d.ts +16 -0
  140. package/models/plugin.js +5 -0
  141. package/models/seriesType/config.d.ts +30 -5
  142. package/models/seriesType/index.d.ts +8 -11
  143. package/models/seriesType/index.js +6 -0
  144. package/modern/BarChart/BarChart.js +2 -2
  145. package/modern/BarChart/BarPlot.js +2 -2
  146. package/modern/BarChart/formatter.js +1 -1
  147. package/modern/BarChart/getColor.js +4 -4
  148. package/modern/BarChart/plugin.js +10 -0
  149. package/modern/ChartContainer/ChartContainer.js +13 -2
  150. package/modern/ChartContainer/defaultPlugins.js +5 -0
  151. package/modern/ChartContainer/usePluginsMerge.js +31 -0
  152. package/modern/ChartsLegend/ChartsLegend.js +2 -2
  153. package/modern/ChartsLegend/utils.js +4 -1
  154. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  155. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
  156. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  157. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -1
  158. package/modern/ChartsTooltip/utils.js +2 -8
  159. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -2
  160. package/modern/ChartsXAxis/ChartsXAxis.js +17 -19
  161. package/modern/ChartsYAxis/ChartsYAxis.js +17 -19
  162. package/modern/LineChart/AreaPlot.js +2 -2
  163. package/modern/LineChart/LineChart.js +2 -2
  164. package/modern/LineChart/LineHighlightPlot.js +2 -2
  165. package/modern/LineChart/LinePlot.js +2 -2
  166. package/modern/LineChart/MarkPlot.js +2 -2
  167. package/modern/LineChart/formatter.js +1 -1
  168. package/modern/LineChart/getColor.js +2 -2
  169. package/modern/LineChart/plugin.js +10 -0
  170. package/modern/PieChart/PieChart.js +2 -2
  171. package/modern/PieChart/PiePlot.js +2 -2
  172. package/modern/PieChart/plugin.js +7 -0
  173. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +7 -2
  174. package/modern/ScatterChart/ScatterChart.js +2 -2
  175. package/modern/ScatterChart/ScatterPlot.js +2 -2
  176. package/modern/ScatterChart/formatter.js +1 -1
  177. package/modern/ScatterChart/getColor.js +2 -2
  178. package/modern/ScatterChart/plugin.js +10 -0
  179. package/modern/SparkLineChart/SparkLineChart.js +1 -1
  180. package/modern/context/CartesianContextProvider.js +2 -2
  181. package/modern/context/DrawingProvider.js +9 -2
  182. package/modern/context/HighlightedProvider/HighlightedContext.js +8 -5
  183. package/modern/context/HighlightedProvider/HighlightedProvider.js +15 -12
  184. package/modern/context/HighlightedProvider/useHighlighted.js +6 -3
  185. package/modern/context/HighlightedProvider/useItemHighlighted.js +2 -6
  186. package/modern/context/SeriesContextProvider.js +14 -17
  187. package/modern/context/context.types.js +1 -0
  188. package/modern/hooks/useInteractionItemProps.js +2 -2
  189. package/modern/hooks/useSeries.js +6 -3
  190. package/modern/hooks/useSvgRef.js +6 -3
  191. package/modern/index.js +1 -1
  192. package/modern/internals/configInit.js +20 -0
  193. package/modern/internals/defaultizeValueFormatter.js +2 -3
  194. package/modern/internals/index.js +1 -0
  195. package/modern/internals/isCartesian.js +7 -0
  196. package/modern/models/index.js +1 -0
  197. package/modern/models/plugin.js +1 -0
  198. package/modern/models/seriesType/index.js +6 -0
  199. package/package.json +1 -1
@@ -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 [];
@@ -18,7 +18,7 @@ export interface LineChartSlots extends ChartsAxisSlots, AreaPlotSlots, LinePlot
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'>, 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.
@@ -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
+ };
@@ -14,7 +14,7 @@ export interface PieChartSlots extends ChartsAxisSlots, PiePlotSlots, ChartsLege
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'>, 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`.
@@ -316,7 +316,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
316
316
  labelStyle: _propTypes.default.object,
317
317
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
318
318
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
319
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
319
+ position: _propTypes.default.oneOf(['bottom', 'top']),
320
320
  reverse: _propTypes.default.bool,
321
321
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
322
322
  slotProps: _propTypes.default.object,
@@ -369,7 +369,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
369
369
  labelStyle: _propTypes.default.object,
370
370
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
371
371
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
372
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
372
+ position: _propTypes.default.oneOf(['left', 'right']),
373
373
  reverse: _propTypes.default.bool,
374
374
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
375
375
  slotProps: _propTypes.default.object,
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.PiePlot = PiePlot;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _SeriesContextProvider = require("../context/SeriesContextProvider");
11
10
  var _DrawingProvider = require("../context/DrawingProvider");
12
11
  var _PieArcPlot = require("./PieArcPlot");
13
12
  var _PieArcLabelPlot = require("./PieArcLabelPlot");
14
13
  var _utils = require("../internals/utils");
15
14
  var _getPieCoordinates = require("./getPieCoordinates");
15
+ var _useSeries = require("../hooks/useSeries");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
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); }
18
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; }
@@ -33,7 +33,7 @@ function PiePlot(props) {
33
33
  slotProps,
34
34
  onItemClick
35
35
  } = props;
36
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).pie;
36
+ const seriesData = (0, _useSeries.usePieSeries)();
37
37
  const {
38
38
  left,
39
39
  top,
@@ -0,0 +1,2 @@
1
+ import { ChartsPluginType } from '../models/plugin';
2
+ export declare const plugin: ChartsPluginType<'pie'>;
@@ -0,0 +1,14 @@
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 _formatter = _interopRequireDefault(require("./formatter"));
9
+ var _getColor = _interopRequireDefault(require("./getColor"));
10
+ const plugin = exports.plugin = {
11
+ seriesType: 'pie',
12
+ colorProcessor: _getColor.default,
13
+ seriesFormatter: _formatter.default
14
+ };
@@ -108,6 +108,11 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
108
108
  * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
109
109
  */
110
110
  onHighlightChange: _propTypes.default.func,
111
+ /**
112
+ * An array of plugins defining how to preprocess data.
113
+ * If not provided, the container supports line, bar, scatter and pie charts.
114
+ */
115
+ plugins: _propTypes.default.arrayOf(_propTypes.default.object),
111
116
  /**
112
117
  * The array of series to display.
113
118
  * Each type of series has its own specificity.
@@ -161,7 +166,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
161
166
  labelStyle: _propTypes.default.object,
162
167
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
163
168
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
164
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
169
+ position: _propTypes.default.oneOf(['bottom', 'top']),
165
170
  reverse: _propTypes.default.bool,
166
171
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
167
172
  slotProps: _propTypes.default.object,
@@ -214,7 +219,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
214
219
  labelStyle: _propTypes.default.object,
215
220
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
216
221
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
217
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
222
+ position: _propTypes.default.oneOf(['left', 'right']),
218
223
  reverse: _propTypes.default.bool,
219
224
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
220
225
  slotProps: _propTypes.default.object,
@@ -16,7 +16,7 @@ export interface ScatterChartSlots extends ChartsAxisSlots, ScatterPlotSlots, Ch
16
16
  }
17
17
  export interface ScatterChartSlotProps extends ChartsAxisSlotProps, ScatterPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps, ChartsOverlaySlotProps {
18
18
  }
19
- export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ZAxisContextProviderProps, 'children' | 'dataset'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, Omit<ChartsVoronoiHandlerProps, 'onItemClick'> {
19
+ export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'plugins'>, Omit<ZAxisContextProviderProps, 'children' | 'dataset'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, Omit<ChartsVoronoiHandlerProps, 'onItemClick'> {
20
20
  /**
21
21
  * The series to display in the scatter chart.
22
22
  * An array of [[ScatterSeriesType]] objects.
@@ -311,7 +311,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
311
311
  labelStyle: _propTypes.default.object,
312
312
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
313
313
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
314
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
314
+ position: _propTypes.default.oneOf(['bottom', 'top']),
315
315
  reverse: _propTypes.default.bool,
316
316
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
317
317
  slotProps: _propTypes.default.object,
@@ -364,7 +364,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
364
364
  labelStyle: _propTypes.default.object,
365
365
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
366
366
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
367
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
367
+ position: _propTypes.default.oneOf(['left', 'right']),
368
368
  reverse: _propTypes.default.bool,
369
369
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
370
370
  slotProps: _propTypes.default.object,
@@ -9,10 +9,10 @@ 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 _Scatter = require("./Scatter");
12
- var _SeriesContextProvider = require("../context/SeriesContextProvider");
13
12
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
13
  var _getColor = _interopRequireDefault(require("./getColor"));
15
14
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
+ var _useSeries = require("../hooks/useSeries");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
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); }
18
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; }
@@ -32,7 +32,7 @@ function ScatterPlot(props) {
32
32
  slotProps,
33
33
  onItemClick
34
34
  } = props;
35
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).scatter;
35
+ const seriesData = (0, _useSeries.useScatterSeries)();
36
36
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
37
37
  const {
38
38
  zAxis,
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
- var _defaultizeValueFormatter = _interopRequireDefault(require("../internals/defaultizeValueFormatter"));
7
+ var _defaultizeValueFormatter = require("../internals/defaultizeValueFormatter");
9
8
  const formatter = ({
10
9
  series,
11
10
  seriesOrder
12
11
  }) => {
13
12
  return {
14
- series: (0, _defaultizeValueFormatter.default)(series, v => `(${v.x}, ${v.y})`),
13
+ series: (0, _defaultizeValueFormatter.defaultizeValueFormatter)(series, v => `(${v.x}, ${v.y})`),
15
14
  seriesOrder
16
15
  };
17
16
  };
@@ -1,4 +1,4 @@
1
1
  import { AxisDefaultized } from '../models/axis';
2
2
  import { ZAxisDefaultized } from '../models/z-axis';
3
3
  import { DefaultizedScatterSeriesType } from '../models/seriesType/scatter';
4
- export default function getColor(series: DefaultizedScatterSeriesType, xAxis: AxisDefaultized, yAxis: AxisDefaultized, zAxis?: ZAxisDefaultized): (dataIndex: number) => string;
4
+ export default function getColor(series: DefaultizedScatterSeriesType, xAxis?: AxisDefaultized, yAxis?: AxisDefaultized, zAxis?: ZAxisDefaultized): (dataIndex: number) => string;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = getColor;
7
7
  function getColor(series, xAxis, yAxis, zAxis) {
8
8
  const zColorScale = zAxis?.colorScale;
9
- const yColorScale = yAxis.colorScale;
10
- const xColorScale = xAxis.colorScale;
9
+ const yColorScale = yAxis?.colorScale;
10
+ const xColorScale = xAxis?.colorScale;
11
11
  if (zColorScale) {
12
12
  return dataIndex => {
13
13
  if (zAxis?.data?.[dataIndex] !== undefined) {
@@ -0,0 +1,2 @@
1
+ import { ChartsPluginType } from '../models/plugin';
2
+ export declare const plugin: ChartsPluginType<'scatter'>;
@@ -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: 'scatter',
13
+ seriesFormatter: _formatter.default,
14
+ colorProcessor: _getColor.default,
15
+ xExtremumGetter: _extremums.getExtremumX,
16
+ yExtremumGetter: _extremums.getExtremumY
17
+ };
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
3
3
  import { ChartsTooltipProps, ChartsTooltipSlotProps, ChartsTooltipSlots } from '../ChartsTooltip';
4
4
  import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
5
- import { AxisConfig } from '../models/axis';
5
+ import { AxisConfig, ChartsXAxisProps, ScaleName } from '../models/axis';
6
6
  import { MakeOptional } from '../models/helpers';
7
7
  import { LineSeriesType } from '../models/seriesType/line';
8
8
  import { CardinalDirections } from '../models/layout';
@@ -15,12 +15,12 @@ export interface SparkLineChartSlots extends AreaPlotSlots, LinePlotSlots, MarkP
15
15
  }
16
16
  export interface SparkLineChartSlotProps extends AreaPlotSlotProps, LinePlotSlotProps, MarkPlotSlotProps, LineHighlightPlotSlotProps, BarPlotSlotProps, ChartsTooltipSlotProps {
17
17
  }
18
- export interface SparkLineChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'xAxis' | 'yAxis' | 'margin'> {
18
+ export interface SparkLineChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'xAxis' | 'yAxis' | 'margin' | 'plugins'> {
19
19
  /**
20
20
  * The xAxis configuration.
21
21
  * Notice it is a single configuration object, not an array of configuration.
22
22
  */
23
- xAxis?: MakeOptional<AxisConfig, 'id'>;
23
+ xAxis?: MakeOptional<AxisConfig<ScaleName, any, ChartsXAxisProps>, 'id'>;
24
24
  tooltip?: ChartsTooltipProps;
25
25
  axisHighlight?: ChartsAxisHighlightProps;
26
26
  /**
@@ -274,7 +274,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
274
274
  labelStyle: _propTypes.default.object,
275
275
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
276
276
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
277
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
277
+ position: _propTypes.default.oneOf(['bottom', 'top']),
278
278
  reverse: _propTypes.default.bool,
279
279
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
280
280
  slotProps: _propTypes.default.object,
@@ -1,42 +1,45 @@
1
1
  import * as React from 'react';
2
- import { AxisConfig, AxisDefaultized } from '../models/axis';
3
- import { DatasetType } from '../models/seriesType/config';
2
+ import { AxisConfig, AxisDefaultized, ChartsXAxisProps, ChartsYAxisProps, ScaleName } from '../models/axis';
3
+ import { CartesianChartSeriesType, ChartSeriesType, DatasetType, ExtremumGetter } from '../models/seriesType/config';
4
4
  import { MakeOptional } from '../models/helpers';
5
+ export type ExtremumGettersConfig<T extends ChartSeriesType = CartesianChartSeriesType> = {
6
+ [K in T]?: ExtremumGetter<K>;
7
+ };
5
8
  export type CartesianContextProviderProps = {
6
9
  /**
7
10
  * The configuration of the x-axes.
8
11
  * If not provided, a default axis config is used.
9
12
  * An array of [[AxisConfig]] objects.
10
13
  */
11
- xAxis?: MakeOptional<AxisConfig, 'id'>[];
14
+ xAxis?: MakeOptional<AxisConfig<ScaleName, any, ChartsXAxisProps>, 'id'>[];
12
15
  /**
13
16
  * The configuration of the y-axes.
14
17
  * If not provided, a default axis config is used.
15
18
  * An array of [[AxisConfig]] objects.
16
19
  */
17
- yAxis?: MakeOptional<AxisConfig, 'id'>[];
20
+ yAxis?: MakeOptional<AxisConfig<ScaleName, any, ChartsYAxisProps>, 'id'>[];
18
21
  /**
19
22
  * An array of objects that can be used to populate series and axes data using their `dataKey` property.
20
23
  */
21
24
  dataset?: DatasetType;
22
25
  children: React.ReactNode;
23
26
  };
24
- type DefaultizedAxisConfig = {
25
- [axisKey: string]: AxisDefaultized;
27
+ type DefaultizedAxisConfig<AxisProps> = {
28
+ [axisKey: string]: AxisDefaultized<ScaleName, any, AxisProps>;
26
29
  };
27
30
  export declare const CartesianContext: React.Context<{
28
31
  /**
29
32
  * Mapping from x-axis key to scaling configuration.
30
33
  */
31
34
  xAxis: {
32
- DEFAULT_X_AXIS_KEY: AxisDefaultized;
33
- } & DefaultizedAxisConfig;
35
+ DEFAULT_X_AXIS_KEY: AxisDefaultized<ScaleName, any, ChartsXAxisProps>;
36
+ } & DefaultizedAxisConfig<ChartsXAxisProps>;
34
37
  /**
35
38
  * Mapping from y-axis key to scaling configuration.
36
39
  */
37
40
  yAxis: {
38
- DEFAULT_X_AXIS_KEY: AxisDefaultized;
39
- } & DefaultizedAxisConfig;
41
+ DEFAULT_X_AXIS_KEY: AxisDefaultized<ScaleName, any, ChartsYAxisProps>;
42
+ } & DefaultizedAxisConfig<ChartsYAxisProps>;
40
43
  /**
41
44
  * The x-axes IDs sorted by order they got provided.
42
45
  */