@mui/x-charts 6.0.0-alpha.5 → 6.0.0-alpha.7

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 (163) hide show
  1. package/BarChart/BarChart.d.ts +18 -2
  2. package/BarChart/BarChart.js +74 -17
  3. package/BarChart/BarElement.d.ts +22 -0
  4. package/BarChart/BarElement.js +21 -10
  5. package/BarChart/BarPlot.d.ts +14 -1
  6. package/BarChart/BarPlot.js +23 -4
  7. package/BarChart/formatter.js +23 -12
  8. package/CHANGELOG.md +154 -0
  9. package/ChartContainer/index.js +3 -0
  10. package/ChartsAxis/ChartsAxis.d.ts +11 -1
  11. package/ChartsAxis/ChartsAxis.js +51 -6
  12. package/ChartsLegend/ChartsLegend.d.ts +25 -2
  13. package/ChartsLegend/ChartsLegend.js +49 -17
  14. package/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  15. package/ChartsTooltip/ChartsTooltipTable.d.ts +2 -9
  16. package/ChartsXAxis/ChartsXAxis.js +44 -9
  17. package/ChartsYAxis/ChartsYAxis.js +44 -9
  18. package/LineChart/AreaElement.d.ts +22 -0
  19. package/LineChart/AreaElement.js +31 -11
  20. package/LineChart/AreaPlot.d.ts +14 -1
  21. package/LineChart/AreaPlot.js +32 -5
  22. package/LineChart/LineChart.d.ts +20 -2
  23. package/LineChart/LineChart.js +76 -16
  24. package/LineChart/LineElement.d.ts +22 -0
  25. package/LineChart/LineElement.js +31 -10
  26. package/LineChart/LinePlot.d.ts +14 -1
  27. package/LineChart/LinePlot.js +38 -6
  28. package/LineChart/MarkElement.js +1 -1
  29. package/LineChart/MarkPlot.d.ts +24 -1
  30. package/LineChart/MarkPlot.js +30 -6
  31. package/LineChart/formatter.js +23 -12
  32. package/PieChart/PieArcLabel.js +0 -1
  33. package/PieChart/PieChart.d.ts +14 -2
  34. package/PieChart/PieChart.js +60 -13
  35. package/PieChart/PiePlot.d.ts +27 -1
  36. package/PieChart/PiePlot.js +29 -6
  37. package/ScatterChart/ScatterChart.d.ts +18 -2
  38. package/ScatterChart/ScatterChart.js +64 -13
  39. package/ScatterChart/ScatterPlot.d.ts +24 -1
  40. package/ScatterChart/ScatterPlot.js +28 -4
  41. package/SparkLineChart/SparkLineChart.d.ts +73 -0
  42. package/SparkLineChart/SparkLineChart.js +218 -0
  43. package/SparkLineChart/index.d.ts +1 -0
  44. package/SparkLineChart/index.js +12 -0
  45. package/SparkLineChart/package.json +6 -0
  46. package/colorPalettes/colorPalettes.js +2 -2
  47. package/context/CartesianContextProvider.d.ts +3 -1
  48. package/context/CartesianContextProvider.js +50 -14
  49. package/context/SeriesContextProvider.d.ts +3 -2
  50. package/context/SeriesContextProvider.js +5 -3
  51. package/esm/BarChart/BarChart.js +77 -17
  52. package/esm/BarChart/BarElement.js +21 -11
  53. package/esm/BarChart/BarPlot.js +23 -4
  54. package/esm/BarChart/formatter.js +23 -12
  55. package/esm/ChartContainer/index.js +3 -0
  56. package/esm/ChartsAxis/ChartsAxis.js +51 -6
  57. package/esm/ChartsLegend/ChartsLegend.js +47 -14
  58. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  59. package/esm/ChartsXAxis/ChartsXAxis.js +45 -9
  60. package/esm/ChartsYAxis/ChartsYAxis.js +45 -9
  61. package/esm/LineChart/AreaElement.js +31 -11
  62. package/esm/LineChart/AreaPlot.js +33 -5
  63. package/esm/LineChart/LineChart.js +79 -16
  64. package/esm/LineChart/LineElement.js +31 -11
  65. package/esm/LineChart/LinePlot.js +45 -9
  66. package/esm/LineChart/MarkElement.js +1 -1
  67. package/esm/LineChart/MarkPlot.js +31 -6
  68. package/esm/LineChart/formatter.js +23 -13
  69. package/esm/PieChart/PieArcLabel.js +0 -1
  70. package/esm/PieChart/PieChart.js +60 -13
  71. package/esm/PieChart/PiePlot.js +31 -6
  72. package/esm/ScatterChart/ScatterChart.js +64 -13
  73. package/esm/ScatterChart/ScatterPlot.js +29 -4
  74. package/esm/SparkLineChart/SparkLineChart.js +210 -0
  75. package/esm/SparkLineChart/index.js +1 -0
  76. package/esm/colorPalettes/colorPalettes.js +2 -2
  77. package/esm/context/CartesianContextProvider.js +50 -14
  78. package/esm/context/SeriesContextProvider.js +5 -3
  79. package/esm/hooks/useTicks.js +9 -6
  80. package/esm/index.js +1 -0
  81. package/esm/internals/components/AxisSharedComponents.js +10 -10
  82. package/esm/models/index.js +3 -1
  83. package/hooks/useTicks.d.ts +20 -5
  84. package/hooks/useTicks.js +9 -6
  85. package/index.d.ts +1 -0
  86. package/index.js +12 -1
  87. package/internals/components/AxisSharedComponents.d.ts +4 -4
  88. package/internals/components/AxisSharedComponents.js +15 -15
  89. package/internals/defaultizeColor.d.ts +4 -2
  90. package/legacy/BarChart/BarChart.js +75 -17
  91. package/legacy/BarChart/BarElement.js +20 -10
  92. package/legacy/BarChart/BarPlot.js +23 -4
  93. package/legacy/BarChart/formatter.js +23 -10
  94. package/legacy/ChartContainer/index.js +3 -0
  95. package/legacy/ChartsAxis/ChartsAxis.js +51 -6
  96. package/legacy/ChartsLegend/ChartsLegend.js +46 -15
  97. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  98. package/legacy/ChartsXAxis/ChartsXAxis.js +45 -9
  99. package/legacy/ChartsYAxis/ChartsYAxis.js +45 -9
  100. package/legacy/LineChart/AreaElement.js +30 -10
  101. package/legacy/LineChart/AreaPlot.js +31 -5
  102. package/legacy/LineChart/LineChart.js +77 -16
  103. package/legacy/LineChart/LineElement.js +30 -10
  104. package/legacy/LineChart/LinePlot.js +38 -6
  105. package/legacy/LineChart/MarkElement.js +1 -1
  106. package/legacy/LineChart/MarkPlot.js +29 -6
  107. package/legacy/LineChart/formatter.js +23 -11
  108. package/legacy/PieChart/PieArcLabel.js +0 -1
  109. package/legacy/PieChart/PieChart.js +60 -13
  110. package/legacy/PieChart/PiePlot.js +29 -6
  111. package/legacy/ScatterChart/ScatterChart.js +64 -13
  112. package/legacy/ScatterChart/ScatterPlot.js +27 -4
  113. package/legacy/SparkLineChart/SparkLineChart.js +214 -0
  114. package/legacy/SparkLineChart/index.js +1 -0
  115. package/legacy/colorPalettes/colorPalettes.js +2 -2
  116. package/legacy/context/CartesianContextProvider.js +59 -15
  117. package/legacy/context/SeriesContextProvider.js +6 -4
  118. package/legacy/hooks/useTicks.js +9 -9
  119. package/legacy/index.js +2 -1
  120. package/legacy/internals/components/AxisSharedComponents.js +10 -10
  121. package/legacy/models/index.js +3 -1
  122. package/models/axis.d.ts +34 -3
  123. package/models/index.d.ts +2 -0
  124. package/models/index.js +11 -0
  125. package/models/seriesType/bar.d.ts +8 -1
  126. package/models/seriesType/common.d.ts +2 -2
  127. package/models/seriesType/config.d.ts +4 -1
  128. package/models/seriesType/line.d.ts +8 -1
  129. package/modern/BarChart/BarChart.js +74 -17
  130. package/modern/BarChart/BarElement.js +20 -11
  131. package/modern/BarChart/BarPlot.js +23 -4
  132. package/modern/BarChart/formatter.js +23 -12
  133. package/modern/ChartContainer/index.js +3 -0
  134. package/modern/ChartsAxis/ChartsAxis.js +51 -6
  135. package/modern/ChartsLegend/ChartsLegend.js +46 -14
  136. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  137. package/modern/ChartsXAxis/ChartsXAxis.js +44 -9
  138. package/modern/ChartsYAxis/ChartsYAxis.js +44 -9
  139. package/modern/LineChart/AreaElement.js +30 -11
  140. package/modern/LineChart/AreaPlot.js +33 -5
  141. package/modern/LineChart/LineChart.js +76 -16
  142. package/modern/LineChart/LineElement.js +30 -11
  143. package/modern/LineChart/LinePlot.js +39 -6
  144. package/modern/LineChart/MarkElement.js +1 -1
  145. package/modern/LineChart/MarkPlot.js +30 -6
  146. package/modern/LineChart/formatter.js +23 -13
  147. package/modern/PieChart/PieArcLabel.js +0 -1
  148. package/modern/PieChart/PieChart.js +60 -13
  149. package/modern/PieChart/PiePlot.js +30 -6
  150. package/modern/ScatterChart/ScatterChart.js +64 -13
  151. package/modern/ScatterChart/ScatterPlot.js +28 -4
  152. package/modern/SparkLineChart/SparkLineChart.js +210 -0
  153. package/modern/SparkLineChart/index.js +1 -0
  154. package/modern/colorPalettes/colorPalettes.js +2 -2
  155. package/modern/context/CartesianContextProvider.js +50 -14
  156. package/modern/context/SeriesContextProvider.js +5 -3
  157. package/modern/hooks/useTicks.js +9 -6
  158. package/modern/index.js +2 -1
  159. package/modern/internals/components/AxisSharedComponents.js +10 -10
  160. package/modern/models/index.js +3 -1
  161. package/package.json +4 -2
  162. package/themeAugmentation/components.d.ts +0 -10
  163. package/themeAugmentation/overrides.d.ts +0 -2
@@ -34,7 +34,9 @@ const ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props,
34
34
  leftAxis,
35
35
  rightAxis,
36
36
  bottomAxis,
37
- children
37
+ children,
38
+ slots,
39
+ slotProps
38
40
  } = props;
39
41
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
40
42
  ref: ref,
@@ -52,8 +54,16 @@ const ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props,
52
54
  topAxis: topAxis,
53
55
  leftAxis: leftAxis,
54
56
  rightAxis: rightAxis,
55
- bottomAxis: bottomAxis
56
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({
57
+ bottomAxis: bottomAxis,
58
+ slots: slots,
59
+ slotProps: slotProps
60
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, {
61
+ slots: slots,
62
+ slotProps: slotProps
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
64
+ slots: slots,
65
+ slotProps: slotProps
66
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({
57
67
  x: "none",
58
68
  y: "none"
59
69
  }, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({
@@ -85,8 +95,13 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
85
95
  label: _propTypes.default.string,
86
96
  labelFontSize: _propTypes.default.number,
87
97
  position: _propTypes.default.oneOf(['bottom', 'top']),
98
+ slotProps: _propTypes.default.object,
99
+ slots: _propTypes.default.object,
88
100
  stroke: _propTypes.default.string,
89
101
  tickFontSize: _propTypes.default.number,
102
+ tickMaxStep: _propTypes.default.number,
103
+ tickMinStep: _propTypes.default.number,
104
+ tickNumber: _propTypes.default.number,
90
105
  tickSize: _propTypes.default.number
91
106
  }), _propTypes.default.string]),
92
107
  children: _propTypes.default.node,
@@ -95,6 +110,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
95
110
  * Color palette used to colorize multiple series.
96
111
  */
97
112
  colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
113
+ dataset: _propTypes.default.arrayOf(_propTypes.default.object),
98
114
  desc: _propTypes.default.string,
99
115
  disableAxisListener: _propTypes.default.bool,
100
116
  height: _propTypes.default.number,
@@ -112,8 +128,13 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
112
128
  label: _propTypes.default.string,
113
129
  labelFontSize: _propTypes.default.number,
114
130
  position: _propTypes.default.oneOf(['left', 'right']),
131
+ slotProps: _propTypes.default.object,
132
+ slots: _propTypes.default.object,
115
133
  stroke: _propTypes.default.string,
116
134
  tickFontSize: _propTypes.default.number,
135
+ tickMaxStep: _propTypes.default.number,
136
+ tickMinStep: _propTypes.default.number,
137
+ tickNumber: _propTypes.default.number,
117
138
  tickSize: _propTypes.default.number
118
139
  }), _propTypes.default.string]),
119
140
  legend: _propTypes.default.shape({
@@ -130,6 +151,8 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
130
151
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
131
152
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
132
153
  }),
154
+ slotProps: _propTypes.default.object,
155
+ slots: _propTypes.default.object,
133
156
  spacing: _propTypes.default.number
134
157
  }),
135
158
  margin: _propTypes.default.shape({
@@ -152,8 +175,13 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
152
175
  label: _propTypes.default.string,
153
176
  labelFontSize: _propTypes.default.number,
154
177
  position: _propTypes.default.oneOf(['left', 'right']),
178
+ slotProps: _propTypes.default.object,
179
+ slots: _propTypes.default.object,
155
180
  stroke: _propTypes.default.string,
156
181
  tickFontSize: _propTypes.default.number,
182
+ tickMaxStep: _propTypes.default.number,
183
+ tickMinStep: _propTypes.default.number,
184
+ tickNumber: _propTypes.default.number,
157
185
  tickSize: _propTypes.default.number
158
186
  }), _propTypes.default.string]),
159
187
  series: _propTypes.default.arrayOf(_propTypes.default.shape({
@@ -175,6 +203,16 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
175
203
  xAxisKey: _propTypes.default.string,
176
204
  yAxisKey: _propTypes.default.string
177
205
  })).isRequired,
206
+ /**
207
+ * The props used for each component slot.
208
+ * @default {}
209
+ */
210
+ slotProps: _propTypes.default.object,
211
+ /**
212
+ * Overridable component slots.
213
+ * @default {}
214
+ */
215
+ slots: _propTypes.default.object,
178
216
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
179
217
  title: _propTypes.default.string,
180
218
  tooltip: _propTypes.default.shape({
@@ -197,8 +235,13 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
197
235
  label: _propTypes.default.string,
198
236
  labelFontSize: _propTypes.default.number,
199
237
  position: _propTypes.default.oneOf(['bottom', 'top']),
238
+ slotProps: _propTypes.default.object,
239
+ slots: _propTypes.default.object,
200
240
  stroke: _propTypes.default.string,
201
241
  tickFontSize: _propTypes.default.number,
242
+ tickMaxStep: _propTypes.default.number,
243
+ tickMinStep: _propTypes.default.number,
244
+ tickNumber: _propTypes.default.number,
202
245
  tickSize: _propTypes.default.number
203
246
  }), _propTypes.default.string]),
204
247
  viewBox: _propTypes.default.shape({
@@ -212,44 +255,52 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
212
255
  axisId: _propTypes.default.string,
213
256
  classes: _propTypes.default.object,
214
257
  data: _propTypes.default.array,
258
+ dataKey: _propTypes.default.string,
215
259
  disableLine: _propTypes.default.bool,
216
260
  disableTicks: _propTypes.default.bool,
217
261
  fill: _propTypes.default.string,
262
+ hideTooltip: _propTypes.default.bool,
218
263
  id: _propTypes.default.string,
219
264
  label: _propTypes.default.string,
220
265
  labelFontSize: _propTypes.default.number,
221
- max: _propTypes.default.number,
222
- maxTicks: _propTypes.default.number,
223
- min: _propTypes.default.number,
224
- minTicks: _propTypes.default.number,
266
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
267
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
225
268
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
226
269
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
270
+ slotProps: _propTypes.default.object,
271
+ slots: _propTypes.default.object,
227
272
  stroke: _propTypes.default.string,
228
273
  tickFontSize: _propTypes.default.number,
274
+ tickMaxStep: _propTypes.default.number,
275
+ tickMinStep: _propTypes.default.number,
276
+ tickNumber: _propTypes.default.number,
229
277
  tickSize: _propTypes.default.number,
230
- tickSpacing: _propTypes.default.number,
231
278
  valueFormatter: _propTypes.default.func
232
279
  })),
233
280
  yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
234
281
  axisId: _propTypes.default.string,
235
282
  classes: _propTypes.default.object,
236
283
  data: _propTypes.default.array,
284
+ dataKey: _propTypes.default.string,
237
285
  disableLine: _propTypes.default.bool,
238
286
  disableTicks: _propTypes.default.bool,
239
287
  fill: _propTypes.default.string,
288
+ hideTooltip: _propTypes.default.bool,
240
289
  id: _propTypes.default.string,
241
290
  label: _propTypes.default.string,
242
291
  labelFontSize: _propTypes.default.number,
243
- max: _propTypes.default.number,
244
- maxTicks: _propTypes.default.number,
245
- min: _propTypes.default.number,
246
- minTicks: _propTypes.default.number,
292
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
293
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
247
294
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
248
295
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
296
+ slotProps: _propTypes.default.object,
297
+ slots: _propTypes.default.object,
249
298
  stroke: _propTypes.default.string,
250
299
  tickFontSize: _propTypes.default.number,
300
+ tickMaxStep: _propTypes.default.number,
301
+ tickMinStep: _propTypes.default.number,
302
+ tickNumber: _propTypes.default.number,
251
303
  tickSize: _propTypes.default.number,
252
- tickSpacing: _propTypes.default.number,
253
304
  valueFormatter: _propTypes.default.func
254
305
  }))
255
306
  } : void 0;
@@ -1,2 +1,25 @@
1
1
  import * as React from 'react';
2
- export declare function ScatterPlot(): React.JSX.Element | null;
2
+ import { ScatterProps } from './Scatter';
3
+ export interface ScatterPlotSlotsComponent {
4
+ scatter?: React.JSXElementConstructor<ScatterProps>;
5
+ }
6
+ export interface ScatterPlotSlotComponentProps {
7
+ scatter?: Partial<ScatterProps>;
8
+ }
9
+ export interface ScatterPlotProps {
10
+ /**
11
+ * Overridable component slots.
12
+ * @default {}
13
+ */
14
+ slots?: ScatterPlotSlotsComponent;
15
+ /**
16
+ * The props used for each component slot.
17
+ * @default {}
18
+ */
19
+ slotProps?: ScatterPlotSlotComponentProps;
20
+ }
21
+ declare function ScatterPlot(props: ScatterPlotProps): React.JSX.Element | null;
22
+ declare namespace ScatterPlot {
23
+ var propTypes: any;
24
+ }
25
+ export { ScatterPlot };
@@ -1,17 +1,24 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.ScatterPlot = ScatterPlot;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
11
  var _Scatter = require("./Scatter");
9
12
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
10
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
11
14
  var _jsxRuntime = require("react/jsx-runtime");
12
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- function ScatterPlot() {
17
+ function ScatterPlot(props) {
18
+ const {
19
+ slots,
20
+ slotProps
21
+ } = props;
15
22
  const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).scatter;
16
23
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
17
24
  if (seriesData === undefined) {
@@ -29,6 +36,7 @@ function ScatterPlot() {
29
36
  } = axisData;
30
37
  const defaultXAxisId = xAxisIds[0];
31
38
  const defaultYAxisId = yAxisIds[0];
39
+ const ScatterItems = slots?.scatter ?? _Scatter.Scatter;
32
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
33
41
  children: seriesOrder.map(seriesId => {
34
42
  const {
@@ -40,13 +48,29 @@ function ScatterPlot() {
40
48
  } = series[seriesId];
41
49
  const xScale = xAxis[xAxisKey ?? defaultXAxisId].scale;
42
50
  const yScale = yAxis[yAxisKey ?? defaultYAxisId].scale;
43
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Scatter.Scatter, {
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ScatterItems, (0, _extends2.default)({
44
52
  xScale: xScale,
45
53
  yScale: yScale,
46
54
  color: color,
47
55
  markerSize: markerSize ?? 4,
48
56
  series: series[seriesId]
49
- }, id);
57
+ }, slotProps?.scatter), id);
50
58
  })
51
59
  });
52
- }
60
+ }
61
+ process.env.NODE_ENV !== "production" ? ScatterPlot.propTypes = {
62
+ // ----------------------------- Warning --------------------------------
63
+ // | These PropTypes are generated from the TypeScript type definitions |
64
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
65
+ // ----------------------------------------------------------------------
66
+ /**
67
+ * The props used for each component slot.
68
+ * @default {}
69
+ */
70
+ slotProps: _propTypes.default.object,
71
+ /**
72
+ * Overridable component slots.
73
+ * @default {}
74
+ */
75
+ slots: _propTypes.default.object
76
+ } : void 0;
@@ -0,0 +1,73 @@
1
+ import * as React from 'react';
2
+ import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
3
+ import { ChartsTooltipProps } from '../ChartsTooltip';
4
+ import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
5
+ import { AxisConfig } from '../models/axis';
6
+ import { MakeOptional } from '../models/helpers';
7
+ import { LineSeriesType } from '../models/seriesType/line';
8
+ import { AreaPlotSlotsComponent, AreaPlotSlotComponentProps } from '../LineChart/AreaPlot';
9
+ import { LinePlotSlotsComponent, LinePlotSlotComponentProps } from '../LineChart/LinePlot';
10
+ import { MarkPlotSlotsComponent, MarkPlotSlotComponentProps } from '../LineChart/MarkPlot';
11
+ import { BarPlotSlotsComponent, BarPlotSlotComponentProps } from '../BarChart/BarPlot';
12
+ export interface SparkLineChartSlotsComponent extends AreaPlotSlotsComponent, LinePlotSlotsComponent, MarkPlotSlotsComponent, BarPlotSlotsComponent {
13
+ }
14
+ export interface SparkLineChartSlotComponentProps extends AreaPlotSlotComponentProps, LinePlotSlotComponentProps, MarkPlotSlotComponentProps, BarPlotSlotComponentProps {
15
+ }
16
+ export interface SparkLineChartProps extends Omit<ResponsiveChartContainerProps, 'series' | 'xAxis' | 'yAxis'> {
17
+ /**
18
+ * The xAxis configuration.
19
+ * Notice it is a single configuration object, not an array of configuration.
20
+ */
21
+ xAxis?: MakeOptional<AxisConfig, 'id'>;
22
+ tooltip?: ChartsTooltipProps;
23
+ axisHighlight?: ChartsAxisHighlightProps;
24
+ /**
25
+ * Type of plot used.
26
+ * @default 'line'
27
+ */
28
+ plotType?: 'line' | 'bar';
29
+ /**
30
+ * Data to plot.
31
+ */
32
+ data: number[];
33
+ /**
34
+ * Formatter used by the tooltip.
35
+ * @param {number} value The value to format.
36
+ * @returns {string} the formatted value.
37
+ */
38
+ valueFormatter?: (value: number) => string;
39
+ /**
40
+ * Set to `true` to enable the tooltip in the sparkline.
41
+ * @default false
42
+ */
43
+ showTooltip?: boolean;
44
+ /**
45
+ * Set to `true` to highlight the value.
46
+ * With line, it shows a point.
47
+ * With bar, it shows a highlight band.
48
+ * @default false
49
+ */
50
+ showHighlight?: boolean;
51
+ /**
52
+ * Set to `true` to fill spark line area.
53
+ * Has no effect if plotType='bar'.
54
+ * @default false
55
+ */
56
+ area?: LineSeriesType['area'];
57
+ /**
58
+ * @default 'linear'
59
+ */
60
+ curve?: LineSeriesType['curve'];
61
+ /**
62
+ * Overridable component slots.
63
+ * @default {}
64
+ */
65
+ slots?: SparkLineChartSlotsComponent;
66
+ /**
67
+ * The props used for each component slot.
68
+ * @default {}
69
+ */
70
+ slotProps?: SparkLineChartSlotComponentProps;
71
+ }
72
+ declare const SparkLineChart: React.ForwardRefExoticComponent<SparkLineChartProps & React.RefAttributes<unknown>>;
73
+ export { SparkLineChart };
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SparkLineChart = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _BarChart = require("../BarChart");
13
+ var _LineChart = require("../LineChart");
14
+ var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
15
+ var _constants = require("../constants");
16
+ var _ChartsTooltip = require("../ChartsTooltip");
17
+ var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ const SparkLineMarkPlot = (0, _styles.styled)(_LineChart.MarkPlot)({
22
+ [`& .${_LineChart.markElementClasses.root}`]: {
23
+ display: 'none',
24
+ [`&.${_LineChart.markElementClasses.highlighted}`]: {
25
+ display: 'inherit'
26
+ }
27
+ }
28
+ });
29
+ const SPARKLINE_DEFAULT_MARGIN = {
30
+ top: 5,
31
+ bottom: 5,
32
+ left: 5,
33
+ right: 5
34
+ };
35
+ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props, ref) {
36
+ const {
37
+ xAxis,
38
+ width,
39
+ height,
40
+ margin = SPARKLINE_DEFAULT_MARGIN,
41
+ colors,
42
+ sx,
43
+ showTooltip,
44
+ tooltip,
45
+ showHighlight,
46
+ axisHighlight: inAxisHighlight,
47
+ children,
48
+ slots,
49
+ slotProps,
50
+ data,
51
+ plotType = 'line',
52
+ valueFormatter = v => v.toString(),
53
+ area,
54
+ curve = 'linear'
55
+ } = props;
56
+ const defaultXHighlight = showHighlight && plotType === 'bar' ? {
57
+ x: 'band'
58
+ } : {
59
+ x: 'none'
60
+ };
61
+ const axisHighlight = (0, _extends2.default)({}, defaultXHighlight, inAxisHighlight);
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
63
+ ref: ref,
64
+ series: [(0, _extends2.default)({
65
+ type: plotType,
66
+ data,
67
+ valueFormatter
68
+ }, plotType === 'bar' ? {} : {
69
+ area,
70
+ curve
71
+ })],
72
+ width: width,
73
+ height: height,
74
+ margin: margin,
75
+ xAxis: [(0, _extends2.default)({
76
+ id: _constants.DEFAULT_X_AXIS_KEY,
77
+ scaleType: plotType === 'bar' ? 'band' : 'linear',
78
+ data: Array.from({
79
+ length: data.length
80
+ }, (_, index) => index),
81
+ hideTooltip: xAxis === undefined
82
+ }, xAxis)],
83
+ colors: colors,
84
+ sx: sx,
85
+ disableAxisListener: (!showTooltip || tooltip?.trigger !== 'axis') && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
86
+ children: [plotType === 'bar' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarChart.BarPlot, {
87
+ slots: slots,
88
+ slotProps: slotProps
89
+ }), plotType === 'line' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
90
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.AreaPlot, {
91
+ slots: slots,
92
+ slotProps: slotProps
93
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.LinePlot, {
94
+ slots: slots,
95
+ slotProps: slotProps
96
+ }), showHighlight && /*#__PURE__*/(0, _jsxRuntime.jsx)(SparkLineMarkPlot, {})]
97
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlight)), showTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip)), children]
98
+ });
99
+ });
100
+ exports.SparkLineChart = SparkLineChart;
101
+ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
102
+ // ----------------------------- Warning --------------------------------
103
+ // | These PropTypes are generated from the TypeScript type definitions |
104
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
105
+ // ----------------------------------------------------------------------
106
+ /**
107
+ * Set to `true` to fill spark line area.
108
+ * Has no effect if plotType='bar'.
109
+ * @default false
110
+ */
111
+ area: _propTypes.default.bool,
112
+ axisHighlight: _propTypes.default.shape({
113
+ x: _propTypes.default.oneOf(['band', 'line', 'none']),
114
+ y: _propTypes.default.oneOf(['line', 'none'])
115
+ }),
116
+ children: _propTypes.default.node,
117
+ className: _propTypes.default.string,
118
+ /**
119
+ * Color palette used to colorize multiple series.
120
+ */
121
+ colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
122
+ /**
123
+ * @default 'linear'
124
+ */
125
+ curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
126
+ /**
127
+ * Data to plot.
128
+ */
129
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
130
+ dataset: _propTypes.default.arrayOf(_propTypes.default.object),
131
+ desc: _propTypes.default.string,
132
+ disableAxisListener: _propTypes.default.bool,
133
+ height: _propTypes.default.number,
134
+ margin: _propTypes.default.shape({
135
+ bottom: _propTypes.default.number,
136
+ left: _propTypes.default.number,
137
+ right: _propTypes.default.number,
138
+ top: _propTypes.default.number
139
+ }),
140
+ /**
141
+ * Type of plot used.
142
+ * @default 'line'
143
+ */
144
+ plotType: _propTypes.default.oneOf(['bar', 'line']),
145
+ /**
146
+ * Set to `true` to highlight the value.
147
+ * With line, it shows a point.
148
+ * With bar, it shows a highlight band.
149
+ * @default false
150
+ */
151
+ showHighlight: _propTypes.default.bool,
152
+ /**
153
+ * Set to `true` to enable the tooltip in the sparkline.
154
+ * @default false
155
+ */
156
+ showTooltip: _propTypes.default.bool,
157
+ /**
158
+ * The props used for each component slot.
159
+ * @default {}
160
+ */
161
+ slotProps: _propTypes.default.object,
162
+ /**
163
+ * Overridable component slots.
164
+ * @default {}
165
+ */
166
+ slots: _propTypes.default.object,
167
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
168
+ title: _propTypes.default.string,
169
+ tooltip: _propTypes.default.shape({
170
+ axisContent: _propTypes.default.elementType,
171
+ classes: _propTypes.default.object,
172
+ itemContent: _propTypes.default.elementType,
173
+ trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
174
+ }),
175
+ /**
176
+ * Formatter used by the tooltip.
177
+ * @param {number} value The value to format.
178
+ * @returns {string} the formatted value.
179
+ */
180
+ valueFormatter: _propTypes.default.func,
181
+ viewBox: _propTypes.default.shape({
182
+ height: _propTypes.default.number,
183
+ width: _propTypes.default.number,
184
+ x: _propTypes.default.number,
185
+ y: _propTypes.default.number
186
+ }),
187
+ width: _propTypes.default.number,
188
+ /**
189
+ * The xAxis configuration.
190
+ * Notice it is a single configuration object, not an array of configuration.
191
+ */
192
+ xAxis: _propTypes.default.shape({
193
+ axisId: _propTypes.default.string,
194
+ classes: _propTypes.default.object,
195
+ data: _propTypes.default.array,
196
+ dataKey: _propTypes.default.string,
197
+ disableLine: _propTypes.default.bool,
198
+ disableTicks: _propTypes.default.bool,
199
+ fill: _propTypes.default.string,
200
+ hideTooltip: _propTypes.default.bool,
201
+ id: _propTypes.default.string,
202
+ label: _propTypes.default.string,
203
+ labelFontSize: _propTypes.default.number,
204
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
205
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
206
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
207
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
208
+ slotProps: _propTypes.default.object,
209
+ slots: _propTypes.default.object,
210
+ stroke: _propTypes.default.string,
211
+ tickFontSize: _propTypes.default.number,
212
+ tickMaxStep: _propTypes.default.number,
213
+ tickMinStep: _propTypes.default.number,
214
+ tickNumber: _propTypes.default.number,
215
+ tickSize: _propTypes.default.number,
216
+ valueFormatter: _propTypes.default.func
217
+ })
218
+ } : void 0;
@@ -0,0 +1 @@
1
+ export { SparkLineChart } from './SparkLineChart';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SparkLineChart", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SparkLineChart.SparkLineChart;
10
+ }
11
+ });
12
+ var _SparkLineChart = require("./SparkLineChart");
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../esm/SparkLineChart/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -16,9 +16,9 @@ const mangoFusionPaletteDark = ['#41698F', '#19D0CD', '#DE196B', '#FC5F5C', '#FF
16
16
  exports.mangoFusionPaletteDark = mangoFusionPaletteDark;
17
17
  const mangoFusionPalette = mode => mode === 'dark' ? mangoFusionPaletteDark : mangoFusionPaletteLight;
18
18
  exports.mangoFusionPalette = mangoFusionPalette;
19
- const cheerfulFiestaPaletteDark = ['#0072E6', '#66B2FF', '#FFB017', '#1F94AD', '#FF3143', '#FF6C63'];
19
+ const cheerfulFiestaPaletteDark = ['#0059B2', '#2E96FF', '#FFC24C', '#FF9F0E', '#F38200', '#2ABFDE', '#1F94AD', '#BD2C38', '#FF3143', '#FF8282'];
20
20
  exports.cheerfulFiestaPaletteDark = cheerfulFiestaPaletteDark;
21
- const cheerfulFiestaPaletteLight = ['#0059B2', '#2E96FF', '#EA8C00', '#1F94AD', '#C82634', '#FF3143'];
21
+ const cheerfulFiestaPaletteLight = ['#003A75', '#007FFF', '#FFC24C', '#FF9D09', '#CA6C00', '#127D94', '#1F94AD', '#C82634', '#FF3143', '#FF7E7E'];
22
22
  exports.cheerfulFiestaPaletteLight = cheerfulFiestaPaletteLight;
23
23
  const cheerfulFiestaPalette = mode => mode === 'dark' ? cheerfulFiestaPaletteDark : cheerfulFiestaPaletteLight;
24
24
  exports.cheerfulFiestaPalette = cheerfulFiestaPalette;
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { AxisConfig, AxisDefaultized } from '../models/axis';
3
3
  import { DEFAULT_X_AXIS_KEY } from '../constants';
4
+ import { DatasetType } from '../models/seriesType/config';
4
5
  import { MakeOptional } from '../models/helpers';
5
6
  export type CartesianContextProviderProps = {
6
7
  xAxis?: MakeOptional<AxisConfig, 'id'>[];
7
8
  yAxis?: MakeOptional<AxisConfig, 'id'>[];
9
+ dataset?: DatasetType;
8
10
  children: React.ReactNode;
9
11
  };
10
12
  type DefaultizedAxisConfig = {
@@ -23,7 +25,7 @@ export declare const CartesianContext: React.Context<{
23
25
  xAxisIds: string[];
24
26
  yAxisIds: string[];
25
27
  }>;
26
- declare function CartesianContextProvider({ xAxis, yAxis, children }: CartesianContextProviderProps): React.JSX.Element;
28
+ declare function CartesianContextProvider({ xAxis: inXAxis, yAxis: inYAxis, dataset, children, }: CartesianContextProviderProps): React.JSX.Element;
27
29
  declare namespace CartesianContextProvider {
28
30
  var propTypes: any;
29
31
  }