@mui/x-charts 7.2.0 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/BarChart/BarChart.d.ts +1 -0
  2. package/BarChart/BarChart.js +40 -99
  3. package/BarChart/BarElement.d.ts +63 -62
  4. package/BarChart/BarElement.js +1 -2
  5. package/BarChart/BarPlot.js +14 -7
  6. package/BarChart/getColor.d.ts +3 -0
  7. package/BarChart/getColor.js +33 -0
  8. package/CHANGELOG.md +204 -2
  9. package/ChartContainer/ChartContainer.js +38 -5
  10. package/ChartsAxis/ChartsAxis.js +11 -103
  11. package/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  12. package/ChartsClipPath/ChartsClipPath.js +3 -3
  13. package/ChartsGrid/ChartsGrid.js +1 -1
  14. package/ChartsLegend/ChartsLegend.js +3 -3
  15. package/ChartsLegend/DefaultChartsLegend.js +1 -1
  16. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  17. package/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  18. package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  19. package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  20. package/ChartsSurface.js +1 -1
  21. package/ChartsText/ChartsText.js +1 -1
  22. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +4 -1
  23. package/ChartsTooltip/ChartsAxisTooltipContent.js +21 -3
  24. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +6 -0
  25. package/ChartsTooltip/ChartsItemTooltipContent.js +32 -2
  26. package/ChartsTooltip/ChartsTooltip.js +1 -1
  27. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -7
  28. package/ChartsTooltip/ChartsTooltipTable.js +8 -9
  29. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -7
  30. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -8
  31. package/ChartsTooltip/utils.d.ts +5 -1
  32. package/ChartsTooltip/utils.js +1 -1
  33. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +7 -7
  34. package/ChartsXAxis/ChartsXAxis.js +3 -3
  35. package/ChartsYAxis/ChartsYAxis.js +3 -3
  36. package/Gauge/Gauge.js +1 -1
  37. package/Gauge/GaugeContainer.js +1 -1
  38. package/Gauge/GaugeProvider.js +6 -6
  39. package/Gauge/GaugeReferenceArc.js +1 -1
  40. package/Gauge/GaugeValueArc.js +1 -1
  41. package/Gauge/GaugeValueText.js +1 -1
  42. package/LineChart/AnimatedArea.d.ts +63 -62
  43. package/LineChart/AnimatedArea.js +7 -6
  44. package/LineChart/AnimatedLine.d.ts +63 -62
  45. package/LineChart/AnimatedLine.js +8 -6
  46. package/LineChart/AreaElement.d.ts +1 -0
  47. package/LineChart/AreaElement.js +5 -2
  48. package/LineChart/AreaPlot.js +8 -2
  49. package/LineChart/LineChart.d.ts +1 -0
  50. package/LineChart/LineChart.js +40 -99
  51. package/LineChart/LineElement.d.ts +1 -0
  52. package/LineChart/LineElement.js +5 -2
  53. package/LineChart/LineHighlightElement.js +1 -1
  54. package/LineChart/LineHighlightPlot.js +5 -2
  55. package/LineChart/LinePlot.js +8 -2
  56. package/LineChart/MarkElement.js +1 -1
  57. package/LineChart/MarkPlot.js +6 -6
  58. package/LineChart/getColor.d.ts +3 -0
  59. package/LineChart/getColor.js +31 -0
  60. package/PieChart/PieArc.d.ts +1 -0
  61. package/PieChart/PieArc.js +1 -1
  62. package/PieChart/PieArcLabel.d.ts +1 -0
  63. package/PieChart/PieArcLabel.js +1 -1
  64. package/PieChart/PieArcLabelPlot.js +1 -1
  65. package/PieChart/PieArcPlot.js +1 -1
  66. package/PieChart/PieChart.d.ts +1 -0
  67. package/PieChart/PieChart.js +40 -99
  68. package/PieChart/PiePlot.js +27 -7
  69. package/PieChart/dataTransform/transition.d.ts +1 -0
  70. package/PieChart/dataTransform/useTransformData.js +1 -1
  71. package/PieChart/formatter.js +4 -2
  72. package/PieChart/getColor.d.ts +2 -0
  73. package/PieChart/getColor.js +11 -0
  74. package/PieChart/getPieCoordinates.d.ts +7 -0
  75. package/PieChart/getPieCoordinates.js +25 -0
  76. package/PieChart/index.d.ts +1 -0
  77. package/PieChart/index.js +11 -0
  78. package/ResponsiveChartContainer/ResponsiveChartContainer.js +35 -3
  79. package/ResponsiveChartContainer/useChartContainerDimensions.js +1 -1
  80. package/ScatterChart/Scatter.d.ts +1 -0
  81. package/ScatterChart/Scatter.js +7 -4
  82. package/ScatterChart/ScatterChart.d.ts +3 -1
  83. package/ScatterChart/ScatterChart.js +95 -126
  84. package/ScatterChart/ScatterPlot.js +11 -1
  85. package/ScatterChart/getColor.d.ts +4 -0
  86. package/ScatterChart/getColor.js +48 -0
  87. package/SparkLineChart/SparkLineChart.js +16 -1
  88. package/context/CartesianContextProvider.d.ts +4 -3
  89. package/context/CartesianContextProvider.js +24 -9
  90. package/context/DrawingProvider.js +1 -1
  91. package/context/HighlightProvider.js +1 -1
  92. package/context/InteractionProvider.js +1 -1
  93. package/context/SeriesContextProvider.js +1 -1
  94. package/context/ZAxisContextProvider.d.ts +33 -0
  95. package/context/ZAxisContextProvider.js +98 -0
  96. package/context/index.d.ts +2 -0
  97. package/context/index.js +8 -1
  98. package/esm/BarChart/BarChart.js +40 -100
  99. package/esm/BarChart/BarElement.js +0 -1
  100. package/esm/BarChart/BarPlot.js +15 -7
  101. package/esm/BarChart/getColor.js +27 -0
  102. package/esm/ChartContainer/ChartContainer.js +38 -5
  103. package/esm/ChartsAxis/ChartsAxis.js +11 -104
  104. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -2
  105. package/esm/ChartsClipPath/ChartsClipPath.js +2 -2
  106. package/esm/ChartsGrid/ChartsGrid.js +1 -2
  107. package/esm/ChartsLegend/ChartsLegend.js +2 -2
  108. package/esm/ChartsLegend/DefaultChartsLegend.js +1 -2
  109. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +1 -2
  110. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +1 -2
  111. package/esm/ChartsSurface.js +1 -2
  112. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +20 -2
  113. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +31 -1
  114. package/esm/ChartsTooltip/ChartsTooltipTable.js +8 -8
  115. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -8
  116. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -9
  117. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +6 -6
  118. package/esm/ChartsXAxis/ChartsXAxis.js +3 -4
  119. package/esm/ChartsYAxis/ChartsYAxis.js +3 -4
  120. package/esm/Gauge/Gauge.js +1 -2
  121. package/esm/Gauge/GaugeProvider.js +5 -5
  122. package/esm/LineChart/AnimatedArea.js +7 -7
  123. package/esm/LineChart/AnimatedLine.js +8 -7
  124. package/esm/LineChart/AreaElement.js +4 -1
  125. package/esm/LineChart/AreaPlot.js +7 -1
  126. package/esm/LineChart/LineChart.js +40 -100
  127. package/esm/LineChart/LineElement.js +4 -1
  128. package/esm/LineChart/LineHighlightPlot.js +4 -1
  129. package/esm/LineChart/LinePlot.js +7 -1
  130. package/esm/LineChart/MarkPlot.js +5 -5
  131. package/esm/LineChart/getColor.js +25 -0
  132. package/esm/PieChart/PieChart.js +40 -100
  133. package/esm/PieChart/PiePlot.js +27 -8
  134. package/esm/PieChart/formatter.js +4 -2
  135. package/esm/PieChart/getColor.js +5 -0
  136. package/esm/PieChart/getPieCoordinates.js +19 -0
  137. package/esm/PieChart/index.js +2 -1
  138. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +34 -2
  139. package/esm/ScatterChart/Scatter.js +6 -3
  140. package/esm/ScatterChart/ScatterChart.js +95 -127
  141. package/esm/ScatterChart/ScatterPlot.js +10 -0
  142. package/esm/ScatterChart/getColor.js +42 -0
  143. package/esm/SparkLineChart/SparkLineChart.js +16 -2
  144. package/esm/context/CartesianContextProvider.js +23 -8
  145. package/esm/context/ZAxisContextProvider.js +89 -0
  146. package/esm/context/index.js +1 -1
  147. package/esm/hooks/index.js +4 -1
  148. package/esm/hooks/useAxisEvents.js +7 -6
  149. package/esm/hooks/useChartId.js +8 -0
  150. package/esm/hooks/useSeries.js +64 -0
  151. package/esm/hooks/useSvgRef.js +9 -0
  152. package/esm/internals/colorGetter.js +22 -0
  153. package/esm/internals/colorScale.js +16 -0
  154. package/esm/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +95 -0
  155. package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +55 -0
  156. package/esm/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +40 -0
  157. package/esm/internals/components/ChartsAxesGradients/index.js +1 -0
  158. package/esm/models/colorMapping.js +1 -0
  159. package/esm/models/seriesType/index.js +6 -1
  160. package/esm/models/z-axis.js +1 -0
  161. package/hooks/index.d.ts +3 -0
  162. package/hooks/index.js +65 -1
  163. package/hooks/useAxisEvents.js +8 -7
  164. package/hooks/useChartDimensions.js +1 -1
  165. package/hooks/useChartId.d.ts +1 -0
  166. package/hooks/useChartId.js +16 -0
  167. package/hooks/useDrawingArea.js +1 -1
  168. package/hooks/useInteractionItemProps.js +1 -1
  169. package/hooks/useMounted.js +1 -1
  170. package/hooks/useScale.js +1 -1
  171. package/hooks/useSeries.d.ts +45 -0
  172. package/hooks/useSeries.js +75 -0
  173. package/hooks/useSvgRef.d.ts +2 -0
  174. package/hooks/useSvgRef.js +17 -0
  175. package/hooks/useTicks.js +1 -1
  176. package/index.js +1 -1
  177. package/internals/colorGetter.d.ts +7 -0
  178. package/internals/colorGetter.js +29 -0
  179. package/internals/colorScale.d.ts +5 -0
  180. package/internals/colorScale.js +24 -0
  181. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +3 -0
  182. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +105 -0
  183. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.d.ts +13 -0
  184. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +63 -0
  185. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +12 -0
  186. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +48 -0
  187. package/internals/components/ChartsAxesGradients/index.d.ts +1 -0
  188. package/internals/components/ChartsAxesGradients/index.js +16 -0
  189. package/internals/defaultizeColor.d.ts +5 -4
  190. package/internals/defaultizeValueFormatter.d.ts +5 -5
  191. package/internals/getScale.d.ts +2 -2
  192. package/internals/useAnimatedPath.d.ts +1 -0
  193. package/internals/useAnimatedPath.js +1 -1
  194. package/models/axis.d.ts +44 -4
  195. package/models/colorMapping.d.ts +46 -0
  196. package/models/colorMapping.js +5 -0
  197. package/models/index.d.ts +1 -1
  198. package/models/seriesType/common.d.ts +10 -2
  199. package/models/seriesType/index.d.ts +2 -0
  200. package/models/seriesType/index.js +17 -1
  201. package/models/seriesType/pie.d.ts +5 -0
  202. package/models/seriesType/scatter.d.ts +5 -0
  203. package/models/z-axis.d.ts +14 -0
  204. package/models/z-axis.js +5 -0
  205. package/modern/BarChart/BarChart.js +40 -100
  206. package/modern/BarChart/BarElement.js +0 -1
  207. package/modern/BarChart/BarPlot.js +15 -7
  208. package/modern/BarChart/getColor.js +27 -0
  209. package/modern/ChartContainer/ChartContainer.js +38 -5
  210. package/modern/ChartsAxis/ChartsAxis.js +11 -104
  211. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -2
  212. package/modern/ChartsClipPath/ChartsClipPath.js +2 -2
  213. package/modern/ChartsGrid/ChartsGrid.js +1 -2
  214. package/modern/ChartsLegend/ChartsLegend.js +2 -2
  215. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -2
  216. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +1 -2
  217. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +1 -2
  218. package/modern/ChartsSurface.js +1 -2
  219. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +20 -2
  220. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +31 -1
  221. package/modern/ChartsTooltip/ChartsTooltipTable.js +8 -8
  222. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -8
  223. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +15 -9
  224. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +6 -6
  225. package/modern/ChartsXAxis/ChartsXAxis.js +3 -4
  226. package/modern/ChartsYAxis/ChartsYAxis.js +3 -4
  227. package/modern/Gauge/Gauge.js +1 -2
  228. package/modern/Gauge/GaugeProvider.js +5 -5
  229. package/modern/LineChart/AnimatedArea.js +7 -7
  230. package/modern/LineChart/AnimatedLine.js +8 -7
  231. package/modern/LineChart/AreaElement.js +4 -1
  232. package/modern/LineChart/AreaPlot.js +7 -1
  233. package/modern/LineChart/LineChart.js +40 -100
  234. package/modern/LineChart/LineElement.js +4 -1
  235. package/modern/LineChart/LineHighlightPlot.js +4 -1
  236. package/modern/LineChart/LinePlot.js +7 -1
  237. package/modern/LineChart/MarkPlot.js +5 -5
  238. package/modern/LineChart/getColor.js +25 -0
  239. package/modern/PieChart/PieChart.js +40 -100
  240. package/modern/PieChart/PiePlot.js +27 -8
  241. package/modern/PieChart/formatter.js +4 -2
  242. package/modern/PieChart/getColor.js +5 -0
  243. package/modern/PieChart/getPieCoordinates.js +19 -0
  244. package/modern/PieChart/index.js +2 -1
  245. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +34 -2
  246. package/modern/ScatterChart/Scatter.js +6 -3
  247. package/modern/ScatterChart/ScatterChart.js +95 -127
  248. package/modern/ScatterChart/ScatterPlot.js +10 -0
  249. package/modern/ScatterChart/getColor.js +42 -0
  250. package/modern/SparkLineChart/SparkLineChart.js +16 -2
  251. package/modern/context/CartesianContextProvider.js +23 -8
  252. package/modern/context/ZAxisContextProvider.js +89 -0
  253. package/modern/context/index.js +1 -1
  254. package/modern/hooks/index.js +4 -1
  255. package/modern/hooks/useAxisEvents.js +7 -6
  256. package/modern/hooks/useChartId.js +8 -0
  257. package/modern/hooks/useSeries.js +64 -0
  258. package/modern/hooks/useSvgRef.js +9 -0
  259. package/modern/index.js +1 -1
  260. package/modern/internals/colorGetter.js +22 -0
  261. package/modern/internals/colorScale.js +16 -0
  262. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +95 -0
  263. package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +55 -0
  264. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +40 -0
  265. package/modern/internals/components/ChartsAxesGradients/index.js +1 -0
  266. package/modern/models/colorMapping.js +1 -0
  267. package/modern/models/seriesType/index.js +6 -1
  268. package/modern/models/z-axis.js +1 -0
  269. package/package.json +3 -5
@@ -16,9 +16,10 @@ var _ChartsLegend = require("../ChartsLegend");
16
16
  var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
17
17
  var _ChartsVoronoiHandler = require("../ChartsVoronoiHandler/ChartsVoronoiHandler");
18
18
  var _ChartsGrid = require("../ChartsGrid");
19
+ var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
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); }
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 && Object.prototype.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; }
22
+ 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; }
22
23
  /**
23
24
  * Demos:
24
25
  *
@@ -33,6 +34,7 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
33
34
  const {
34
35
  xAxis,
35
36
  yAxis,
37
+ zAxis,
36
38
  series,
37
39
  tooltip,
38
40
  axisHighlight,
@@ -54,7 +56,7 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
54
56
  slots,
55
57
  slotProps
56
58
  } = props;
57
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResponsiveChartContainer.ResponsiveChartContainer, {
58
60
  ref: ref,
59
61
  series: series.map(s => (0, _extends2.default)({
60
62
  type: 'scatter'
@@ -66,32 +68,35 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
66
68
  xAxis: xAxis,
67
69
  yAxis: yAxis,
68
70
  sx: sx,
69
- children: [!disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, {
70
- voronoiMaxRadius: voronoiMaxRadius,
71
- onItemClick: onItemClick
72
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
73
- topAxis: topAxis,
74
- leftAxis: leftAxis,
75
- rightAxis: rightAxis,
76
- bottomAxis: bottomAxis,
77
- slots: slots,
78
- slotProps: slotProps
79
- }), grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, {
80
- vertical: grid.vertical,
81
- horizontal: grid.horizontal
82
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, {
83
- slots: slots,
84
- slotProps: slotProps,
85
- onItemClick: disableVoronoi ? onItemClick : undefined
86
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
87
- slots: slots,
88
- slotProps: slotProps
89
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({
90
- x: "none",
91
- y: "none"
92
- }, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({
93
- trigger: "item"
94
- }, tooltip)), children]
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ZAxisContextProvider.ZAxisContextProvider, {
72
+ zAxis: zAxis,
73
+ children: [!disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, {
74
+ voronoiMaxRadius: voronoiMaxRadius,
75
+ onItemClick: onItemClick
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
77
+ topAxis: topAxis,
78
+ leftAxis: leftAxis,
79
+ rightAxis: rightAxis,
80
+ bottomAxis: bottomAxis,
81
+ slots: slots,
82
+ slotProps: slotProps
83
+ }), grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, {
84
+ vertical: grid.vertical,
85
+ horizontal: grid.horizontal
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, {
87
+ slots: slots,
88
+ slotProps: slotProps,
89
+ onItemClick: disableVoronoi ? onItemClick : undefined
90
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
91
+ slots: slots,
92
+ slotProps: slotProps
93
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({
94
+ x: "none",
95
+ y: "none"
96
+ }, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({
97
+ trigger: "item"
98
+ }, tooltip)), children]
99
+ })
95
100
  });
96
101
  });
97
102
  process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
@@ -113,30 +118,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
113
118
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
114
119
  * @default xAxisIds[0] The id of the first provided axis
115
120
  */
116
- bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
117
- axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
118
- classes: _propTypes.default.object,
119
- disableLine: _propTypes.default.bool,
120
- disableTicks: _propTypes.default.bool,
121
- fill: _propTypes.default.string,
122
- label: _propTypes.default.string,
123
- labelFontSize: _propTypes.default.number,
124
- labelStyle: _propTypes.default.object,
125
- position: _propTypes.default.oneOf(['bottom', 'top']),
126
- slotProps: _propTypes.default.object,
127
- slots: _propTypes.default.object,
128
- stroke: _propTypes.default.string,
129
- tickFontSize: _propTypes.default.number,
130
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
131
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
132
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
133
- tickLabelStyle: _propTypes.default.object,
134
- tickMaxStep: _propTypes.default.number,
135
- tickMinStep: _propTypes.default.number,
136
- tickNumber: _propTypes.default.number,
137
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
138
- tickSize: _propTypes.default.number
139
- }), _propTypes.default.string]),
121
+ bottomAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
140
122
  children: _propTypes.default.node,
141
123
  className: _propTypes.default.string,
142
124
  /**
@@ -176,30 +158,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
176
158
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
177
159
  * @default yAxisIds[0] The id of the first provided axis
178
160
  */
179
- leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
180
- axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
181
- classes: _propTypes.default.object,
182
- disableLine: _propTypes.default.bool,
183
- disableTicks: _propTypes.default.bool,
184
- fill: _propTypes.default.string,
185
- label: _propTypes.default.string,
186
- labelFontSize: _propTypes.default.number,
187
- labelStyle: _propTypes.default.object,
188
- position: _propTypes.default.oneOf(['left', 'right']),
189
- slotProps: _propTypes.default.object,
190
- slots: _propTypes.default.object,
191
- stroke: _propTypes.default.string,
192
- tickFontSize: _propTypes.default.number,
193
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
194
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
195
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
196
- tickLabelStyle: _propTypes.default.object,
197
- tickMaxStep: _propTypes.default.number,
198
- tickMinStep: _propTypes.default.number,
199
- tickNumber: _propTypes.default.number,
200
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
201
- tickSize: _propTypes.default.number
202
- }), _propTypes.default.string]),
161
+ leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
203
162
  /**
204
163
  * @deprecated Consider using `slotProps.legend` instead.
205
164
  */
@@ -237,32 +196,10 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
237
196
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
238
197
  * @default null
239
198
  */
240
- rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
241
- axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
242
- classes: _propTypes.default.object,
243
- disableLine: _propTypes.default.bool,
244
- disableTicks: _propTypes.default.bool,
245
- fill: _propTypes.default.string,
246
- label: _propTypes.default.string,
247
- labelFontSize: _propTypes.default.number,
248
- labelStyle: _propTypes.default.object,
249
- position: _propTypes.default.oneOf(['left', 'right']),
250
- slotProps: _propTypes.default.object,
251
- slots: _propTypes.default.object,
252
- stroke: _propTypes.default.string,
253
- tickFontSize: _propTypes.default.number,
254
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
255
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
256
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
257
- tickLabelStyle: _propTypes.default.object,
258
- tickMaxStep: _propTypes.default.number,
259
- tickMinStep: _propTypes.default.number,
260
- tickNumber: _propTypes.default.number,
261
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
262
- tickSize: _propTypes.default.number
263
- }), _propTypes.default.string]),
199
+ rightAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
264
200
  /**
265
201
  * The series to display in the scatter chart.
202
+ * An array of [[ScatterSeriesType]] objects.
266
203
  */
267
204
  series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
268
205
  /**
@@ -295,30 +232,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
295
232
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
296
233
  * @default null
297
234
  */
298
- topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
299
- axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
300
- classes: _propTypes.default.object,
301
- disableLine: _propTypes.default.bool,
302
- disableTicks: _propTypes.default.bool,
303
- fill: _propTypes.default.string,
304
- label: _propTypes.default.string,
305
- labelFontSize: _propTypes.default.number,
306
- labelStyle: _propTypes.default.object,
307
- position: _propTypes.default.oneOf(['bottom', 'top']),
308
- slotProps: _propTypes.default.object,
309
- slots: _propTypes.default.object,
310
- stroke: _propTypes.default.string,
311
- tickFontSize: _propTypes.default.number,
312
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
313
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
314
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
315
- tickLabelStyle: _propTypes.default.object,
316
- tickMaxStep: _propTypes.default.number,
317
- tickMinStep: _propTypes.default.number,
318
- tickNumber: _propTypes.default.number,
319
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
320
- tickSize: _propTypes.default.number
321
- }), _propTypes.default.string]),
235
+ topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
322
236
  viewBox: _propTypes.default.shape({
323
237
  height: _propTypes.default.number,
324
238
  width: _propTypes.default.number,
@@ -336,11 +250,27 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
336
250
  width: _propTypes.default.number,
337
251
  /**
338
252
  * The configuration of the x-axes.
339
- * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
253
+ * If not provided, a default axis config is used.
254
+ * An array of [[AxisConfig]] objects.
340
255
  */
341
256
  xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
342
257
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
343
258
  classes: _propTypes.default.object,
259
+ colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
260
+ color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
261
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
262
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
263
+ type: _propTypes.default.oneOf(['continuous']).isRequired
264
+ }), _propTypes.default.shape({
265
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
266
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
267
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
268
+ }), _propTypes.default.shape({
269
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
270
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
271
+ unknownColor: _propTypes.default.string,
272
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
273
+ })]),
344
274
  data: _propTypes.default.array,
345
275
  dataKey: _propTypes.default.string,
346
276
  disableLine: _propTypes.default.bool,
@@ -373,11 +303,27 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
373
303
  })),
374
304
  /**
375
305
  * The configuration of the y-axes.
376
- * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
306
+ * If not provided, a default axis config is used.
307
+ * An array of [[AxisConfig]] objects.
377
308
  */
378
309
  yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
379
310
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
380
311
  classes: _propTypes.default.object,
312
+ colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
313
+ color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
314
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
315
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
316
+ type: _propTypes.default.oneOf(['continuous']).isRequired
317
+ }), _propTypes.default.shape({
318
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
319
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
320
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
321
+ }), _propTypes.default.shape({
322
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
323
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
324
+ unknownColor: _propTypes.default.string,
325
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
326
+ })]),
381
327
  data: _propTypes.default.array,
382
328
  dataKey: _propTypes.default.string,
383
329
  disableLine: _propTypes.default.bool,
@@ -407,5 +353,28 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
407
353
  tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
408
354
  tickSize: _propTypes.default.number,
409
355
  valueFormatter: _propTypes.default.func
356
+ })),
357
+ /**
358
+ * The configuration of the z-axes.
359
+ */
360
+ zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
361
+ colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
362
+ color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
363
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
364
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
365
+ type: _propTypes.default.oneOf(['continuous']).isRequired
366
+ }), _propTypes.default.shape({
367
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
368
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
369
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
370
+ }), _propTypes.default.shape({
371
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
372
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
373
+ unknownColor: _propTypes.default.string,
374
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
375
+ })]),
376
+ data: _propTypes.default.array,
377
+ dataKey: _propTypes.default.string,
378
+ id: _propTypes.default.string
410
379
  }))
411
380
  } : void 0;
@@ -11,9 +11,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _Scatter = require("./Scatter");
12
12
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
13
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
14
+ var _getColor = _interopRequireDefault(require("./getColor"));
15
+ var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
14
16
  var _jsxRuntime = require("react/jsx-runtime");
15
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); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.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; }
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; }
17
19
  /**
18
20
  * Demos:
19
21
  *
@@ -32,6 +34,10 @@ function ScatterPlot(props) {
32
34
  } = props;
33
35
  const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).scatter;
34
36
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
37
+ const {
38
+ zAxis,
39
+ zAxisIds
40
+ } = React.useContext(_ZAxisContextProvider.ZAxisContext);
35
41
  if (seriesData === undefined) {
36
42
  return null;
37
43
  }
@@ -47,6 +53,7 @@ function ScatterPlot(props) {
47
53
  } = axisData;
48
54
  const defaultXAxisId = xAxisIds[0];
49
55
  const defaultYAxisId = yAxisIds[0];
56
+ const defaultZAxisId = zAxisIds[0];
50
57
  const ScatterItems = slots?.scatter ?? _Scatter.Scatter;
51
58
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
52
59
  children: seriesOrder.map(seriesId => {
@@ -54,15 +61,18 @@ function ScatterPlot(props) {
54
61
  id,
55
62
  xAxisKey,
56
63
  yAxisKey,
64
+ zAxisKey,
57
65
  markerSize,
58
66
  color
59
67
  } = series[seriesId];
68
+ const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisKey ?? defaultXAxisId], yAxis[yAxisKey ?? defaultYAxisId], zAxis[zAxisKey ?? defaultZAxisId]);
60
69
  const xScale = xAxis[xAxisKey ?? defaultXAxisId].scale;
61
70
  const yScale = yAxis[yAxisKey ?? defaultYAxisId].scale;
62
71
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ScatterItems, (0, _extends2.default)({
63
72
  xScale: xScale,
64
73
  yScale: yScale,
65
74
  color: color,
75
+ colorGetter: colorGetter,
66
76
  markerSize: markerSize ?? 4,
67
77
  series: series[seriesId],
68
78
  onItemClick: onItemClick
@@ -0,0 +1,4 @@
1
+ import { AxisDefaultized } from '../models/axis';
2
+ import { ZAxisDefaultized } from '../models/z-axis';
3
+ import { DefaultizedScatterSeriesType } from '../models/seriesType/scatter';
4
+ export default function getColor(series: DefaultizedScatterSeriesType, xAxis: AxisDefaultized, yAxis: AxisDefaultized, zAxis?: ZAxisDefaultized): (dataIndex: number) => string;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getColor;
7
+ function getColor(series, xAxis, yAxis, zAxis) {
8
+ const zColorScale = zAxis?.colorScale;
9
+ const yColorScale = yAxis.colorScale;
10
+ const xColorScale = xAxis.colorScale;
11
+ if (zColorScale) {
12
+ return dataIndex => {
13
+ if (zAxis?.data?.[dataIndex] !== undefined) {
14
+ const color = zColorScale(zAxis?.data?.[dataIndex]);
15
+ if (color !== null) {
16
+ return color;
17
+ }
18
+ }
19
+ const value = series.data[dataIndex];
20
+ const color = value === null ? series.color : zColorScale(value.z);
21
+ if (color === null) {
22
+ return series.color;
23
+ }
24
+ return color;
25
+ };
26
+ }
27
+ if (yColorScale) {
28
+ return dataIndex => {
29
+ const value = series.data[dataIndex];
30
+ const color = value === null ? series.color : yColorScale(value.y);
31
+ if (color === null) {
32
+ return series.color;
33
+ }
34
+ return color;
35
+ };
36
+ }
37
+ if (xColorScale) {
38
+ return dataIndex => {
39
+ const value = series.data[dataIndex];
40
+ const color = value === null ? series.color : xColorScale(value.x);
41
+ if (color === null) {
42
+ return series.color;
43
+ }
44
+ return color;
45
+ };
46
+ }
47
+ return () => series.color;
48
+ }
@@ -16,7 +16,7 @@ var _ChartsTooltip = require("../ChartsTooltip");
16
16
  var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
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
- 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 && Object.prototype.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; }
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; }
20
20
  const SPARKLINE_DEFAULT_MARGIN = {
21
21
  top: 5,
22
22
  bottom: 5,
@@ -234,6 +234,21 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
234
234
  xAxis: _propTypes.default.shape({
235
235
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
236
236
  classes: _propTypes.default.object,
237
+ colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
238
+ color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
239
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
240
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
241
+ type: _propTypes.default.oneOf(['continuous']).isRequired
242
+ }), _propTypes.default.shape({
243
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
244
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
245
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
246
+ }), _propTypes.default.shape({
247
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
248
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
249
+ unknownColor: _propTypes.default.string,
250
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
251
+ })]),
237
252
  data: _propTypes.default.array,
238
253
  dataKey: _propTypes.default.string,
239
254
  disableLine: _propTypes.default.bool,
@@ -1,17 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { AxisConfig, AxisDefaultized } from '../models/axis';
3
- import { DEFAULT_X_AXIS_KEY } from '../constants';
4
3
  import { DatasetType } from '../models/seriesType/config';
5
4
  import { MakeOptional } from '../models/helpers';
6
5
  export type CartesianContextProviderProps = {
7
6
  /**
8
7
  * The configuration of the x-axes.
9
- * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
8
+ * If not provided, a default axis config is used.
9
+ * An array of [[AxisConfig]] objects.
10
10
  */
11
11
  xAxis?: MakeOptional<AxisConfig, 'id'>[];
12
12
  /**
13
13
  * The configuration of the y-axes.
14
- * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
14
+ * If not provided, a default axis config is used.
15
+ * An array of [[AxisConfig]] objects.
15
16
  */
16
17
  yAxis?: MakeOptional<AxisConfig, 'id'>[];
17
18
  /**
@@ -14,13 +14,14 @@ var _extremums2 = require("../ScatterChart/extremums");
14
14
  var _extremums3 = require("../LineChart/extremums");
15
15
  var _axis = require("../models/axis");
16
16
  var _getScale = require("../internals/getScale");
17
- var _DrawingProvider = require("./DrawingProvider");
18
17
  var _SeriesContextProvider = require("./SeriesContextProvider");
19
18
  var _constants = require("../constants");
20
19
  var _useTicks = require("../hooks/useTicks");
20
+ var _useDrawingArea = require("../hooks/useDrawingArea");
21
+ var _colorScale = require("../internals/colorScale");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  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
- 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 && Object.prototype.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
+ 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
25
  const DEFAULT_CATEGORY_GAP_RATIO = 0.2;
25
26
  const DEFAULT_BAR_GAP_RATIO = 0.1;
26
27
 
@@ -52,7 +53,7 @@ function CartesianContextProvider(props) {
52
53
  children
53
54
  } = props;
54
55
  const formattedSeries = React.useContext(_SeriesContextProvider.SeriesContext);
55
- const drawingArea = React.useContext(_DrawingProvider.DrawingContext);
56
+ const drawingArea = (0, _useDrawingArea.useDrawingArea)();
56
57
  const xAxis = React.useMemo(() => inXAxis?.map(axisConfig => {
57
58
  const dataKey = axisConfig.dataKey;
58
59
  if (dataKey === undefined || axisConfig.data !== undefined) {
@@ -122,13 +123,19 @@ function CartesianContextProvider(props) {
122
123
  barGapRatio
123
124
  }, axis, {
124
125
  scale: (0, _d3Scale.scaleBand)(axis.data, range).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
125
- tickNumber: axis.data.length
126
+ tickNumber: axis.data.length,
127
+ colorScale: axis.colorMap && (axis.colorMap.type === 'ordinal' ? (0, _colorScale.getOrdinalColorScale)((0, _extends2.default)({
128
+ values: axis.data
129
+ }, axis.colorMap)) : (0, _colorScale.getColorScale)(axis.colorMap))
126
130
  });
127
131
  }
128
132
  if ((0, _axis.isPointScaleConfig)(axis)) {
129
133
  completedXAxis[axis.id] = (0, _extends2.default)({}, axis, {
130
134
  scale: (0, _d3Scale.scalePoint)(axis.data, range),
131
- tickNumber: axis.data.length
135
+ tickNumber: axis.data.length,
136
+ colorScale: axis.colorMap && (axis.colorMap.type === 'ordinal' ? (0, _colorScale.getOrdinalColorScale)((0, _extends2.default)({
137
+ values: axis.data
138
+ }, axis.colorMap)) : (0, _colorScale.getColorScale)(axis.colorMap))
132
139
  });
133
140
  }
134
141
  if (axis.scaleType === 'band' || axis.scaleType === 'point') {
@@ -147,7 +154,8 @@ function CartesianContextProvider(props) {
147
154
  completedXAxis[axis.id] = (0, _extends2.default)({}, axis, {
148
155
  scaleType,
149
156
  scale: niceScale.domain(domain),
150
- tickNumber
157
+ tickNumber,
158
+ colorScale: axis.colorMap && (0, _colorScale.getColorScale)(axis.colorMap)
151
159
  });
152
160
  });
153
161
  const allYAxis = [...(yAxis?.map((axis, index) => (0, _extends2.default)({
@@ -170,13 +178,19 @@ function CartesianContextProvider(props) {
170
178
  barGapRatio: 0
171
179
  }, axis, {
172
180
  scale: (0, _d3Scale.scaleBand)(axis.data, [range[1], range[0]]).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
173
- tickNumber: axis.data.length
181
+ tickNumber: axis.data.length,
182
+ colorScale: axis.colorMap && (axis.colorMap.type === 'ordinal' ? (0, _colorScale.getOrdinalColorScale)((0, _extends2.default)({
183
+ values: axis.data
184
+ }, axis.colorMap)) : (0, _colorScale.getColorScale)(axis.colorMap))
174
185
  });
175
186
  }
176
187
  if ((0, _axis.isPointScaleConfig)(axis)) {
177
188
  completedYAxis[axis.id] = (0, _extends2.default)({}, axis, {
178
189
  scale: (0, _d3Scale.scalePoint)(axis.data, [range[1], range[0]]),
179
- tickNumber: axis.data.length
190
+ tickNumber: axis.data.length,
191
+ colorScale: axis.colorMap && (axis.colorMap.type === 'ordinal' ? (0, _colorScale.getOrdinalColorScale)((0, _extends2.default)({
192
+ values: axis.data
193
+ }, axis.colorMap)) : (0, _colorScale.getColorScale)(axis.colorMap))
180
194
  });
181
195
  }
182
196
  if (axis.scaleType === 'band' || axis.scaleType === 'point') {
@@ -195,7 +209,8 @@ function CartesianContextProvider(props) {
195
209
  completedYAxis[axis.id] = (0, _extends2.default)({}, axis, {
196
210
  scaleType,
197
211
  scale: niceScale.domain(domain),
198
- tickNumber
212
+ tickNumber,
213
+ colorScale: axis.colorMap && (0, _colorScale.getColorScale)(axis.colorMap)
199
214
  });
200
215
  });
201
216
  return {
@@ -13,7 +13,7 @@ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
13
13
  var _useChartDimensions = _interopRequireDefault(require("../hooks/useChartDimensions"));
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- 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 && Object.prototype.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
+ 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; }
17
17
  /**
18
18
  * Defines the area in which it is possible to draw the charts.
19
19
  */
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.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; }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  const defaultScope = {
15
15
  highlighted: 'none',
16
16
  faded: 'none'
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.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; }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  const InteractionContext = exports.InteractionContext = /*#__PURE__*/React.createContext({
15
15
  item: null,
16
16
  axis: {
@@ -17,7 +17,7 @@ var _defaultizeColor = require("../internals/defaultizeColor");
17
17
  var _colorPalettes = require("../colorPalettes");
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
- 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 && Object.prototype.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; }
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; }
21
21
  const SeriesContext = exports.SeriesContext = /*#__PURE__*/React.createContext({});
22
22
  if (process.env.NODE_ENV !== 'production') {
23
23
  SeriesContext.displayName = 'SeriesContext';
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { DatasetType } from '../models/seriesType/config';
3
+ import { MakeOptional } from '../models/helpers';
4
+ import { ZAxisConfig, ZAxisDefaultized } from '../models/z-axis';
5
+ export type ZAxisContextProviderProps = {
6
+ /**
7
+ * The configuration of the z-axes.
8
+ */
9
+ zAxis?: MakeOptional<ZAxisConfig, 'id'>[];
10
+ /**
11
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
12
+ */
13
+ dataset?: DatasetType;
14
+ children: React.ReactNode;
15
+ };
16
+ type DefaultizedZAxisConfig = {
17
+ [axisKey: string]: ZAxisDefaultized;
18
+ };
19
+ export declare const ZAxisContext: React.Context<{
20
+ /**
21
+ * Mapping from z-axis key to scaling configuration.
22
+ */
23
+ zAxis: DefaultizedZAxisConfig;
24
+ /**
25
+ * The z-axes IDs sorted by order they got provided.
26
+ */
27
+ zAxisIds: string[];
28
+ }>;
29
+ declare function ZAxisContextProvider(props: ZAxisContextProviderProps): React.JSX.Element;
30
+ declare namespace ZAxisContextProvider {
31
+ var propTypes: any;
32
+ }
33
+ export { ZAxisContextProvider };