@mui/x-charts 7.0.0-beta.1 → 7.0.0-beta.3

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 (234) hide show
  1. package/BarChart/BarChart.d.ts +21 -5
  2. package/BarChart/BarChart.js +37 -13
  3. package/BarChart/BarElement.d.ts +20 -13
  4. package/BarChart/BarElement.js +1 -0
  5. package/BarChart/BarPlot.d.ts +3 -5
  6. package/BarChart/BarPlot.js +9 -10
  7. package/CHANGELOG.md +223 -1
  8. package/ChartContainer/ChartContainer.js +6 -4
  9. package/ChartsAxis/ChartsAxis.js +4 -4
  10. package/ChartsGrid/ChartsGrid.d.ts +30 -0
  11. package/ChartsGrid/ChartsGrid.js +128 -0
  12. package/ChartsGrid/chartsGridClasses.d.ts +13 -0
  13. package/ChartsGrid/chartsGridClasses.js +14 -0
  14. package/ChartsGrid/index.d.ts +2 -0
  15. package/ChartsGrid/index.js +27 -0
  16. package/ChartsGrid/package.json +6 -0
  17. package/ChartsLegend/ChartsLegend.d.ts +5 -54
  18. package/ChartsLegend/ChartsLegend.js +2 -307
  19. package/ChartsLegend/DefaultChartsLegend.d.ts +60 -0
  20. package/ChartsLegend/DefaultChartsLegend.js +294 -0
  21. package/ChartsLegend/index.d.ts +1 -0
  22. package/ChartsLegend/index.js +11 -0
  23. package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  24. package/ChartsReferenceLine/common.d.ts +2 -1
  25. package/ChartsSurface.js +6 -4
  26. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  27. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  28. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  29. package/ChartsTooltip/utils.d.ts +1 -0
  30. package/ChartsTooltip/utils.js +7 -0
  31. package/ChartsXAxis/ChartsXAxis.js +15 -11
  32. package/ChartsYAxis/ChartsYAxis.js +3 -3
  33. package/Gauge/Gauge.d.ts +13 -0
  34. package/Gauge/Gauge.js +156 -0
  35. package/Gauge/GaugeContainer.d.ts +19 -0
  36. package/Gauge/GaugeContainer.js +216 -0
  37. package/Gauge/GaugeProvider.d.ts +117 -0
  38. package/Gauge/GaugeProvider.js +96 -0
  39. package/Gauge/GaugeReferenceArc.d.ts +2 -0
  40. package/Gauge/GaugeReferenceArc.js +44 -0
  41. package/Gauge/GaugeValueArc.d.ts +2 -0
  42. package/Gauge/GaugeValueArc.js +51 -0
  43. package/Gauge/GaugeValueText.d.ts +15 -0
  44. package/Gauge/GaugeValueText.js +77 -0
  45. package/Gauge/gaugeClasses.d.ts +14 -0
  46. package/Gauge/gaugeClasses.js +15 -0
  47. package/Gauge/index.d.ts +7 -0
  48. package/Gauge/index.js +87 -0
  49. package/Gauge/package.json +6 -0
  50. package/Gauge/utils.d.ts +19 -0
  51. package/Gauge/utils.js +75 -0
  52. package/LineChart/AnimatedArea.js +1 -1
  53. package/LineChart/AnimatedLine.js +1 -1
  54. package/LineChart/AreaElement.d.ts +2 -1
  55. package/LineChart/AreaElement.js +1 -1
  56. package/LineChart/LineChart.d.ts +24 -5
  57. package/LineChart/LineChart.js +41 -13
  58. package/LineChart/LineElement.d.ts +2 -1
  59. package/LineChart/LineElement.js +1 -1
  60. package/LineChart/LineHighlightElement.d.ts +3 -2
  61. package/LineChart/LineHighlightElement.js +2 -1
  62. package/LineChart/MarkElement.d.ts +3 -2
  63. package/LineChart/MarkElement.js +1 -0
  64. package/PieChart/PieArc.d.ts +7 -6
  65. package/PieChart/PieArc.js +10 -9
  66. package/PieChart/PieArcLabel.d.ts +3 -2
  67. package/PieChart/PieArcLabel.js +1 -0
  68. package/PieChart/PieArcLabelPlot.js +14 -14
  69. package/PieChart/PieArcPlot.js +1 -1
  70. package/PieChart/PieChart.d.ts +22 -0
  71. package/PieChart/PieChart.js +32 -8
  72. package/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  73. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
  74. package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
  75. package/ScatterChart/ScatterChart.d.ts +18 -0
  76. package/ScatterChart/ScatterChart.js +35 -8
  77. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  78. package/SparkLineChart/SparkLineChart.js +5 -4
  79. package/context/CartesianContextProvider.js +8 -6
  80. package/esm/BarChart/BarChart.js +37 -13
  81. package/esm/BarChart/BarElement.js +1 -0
  82. package/esm/BarChart/BarPlot.js +8 -10
  83. package/esm/ChartContainer/ChartContainer.js +6 -4
  84. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  85. package/esm/ChartsGrid/ChartsGrid.js +121 -0
  86. package/esm/ChartsGrid/chartsGridClasses.js +6 -0
  87. package/esm/ChartsGrid/index.js +2 -0
  88. package/esm/ChartsLegend/ChartsLegend.js +2 -307
  89. package/esm/ChartsLegend/DefaultChartsLegend.js +286 -0
  90. package/esm/ChartsLegend/index.js +1 -0
  91. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  92. package/esm/ChartsSurface.js +6 -4
  93. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  94. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  95. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  96. package/esm/ChartsTooltip/utils.js +6 -0
  97. package/esm/ChartsXAxis/ChartsXAxis.js +14 -10
  98. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  99. package/esm/Gauge/Gauge.js +149 -0
  100. package/esm/Gauge/GaugeContainer.js +211 -0
  101. package/esm/Gauge/GaugeProvider.js +85 -0
  102. package/esm/Gauge/GaugeReferenceArc.js +35 -0
  103. package/esm/Gauge/GaugeValueArc.js +42 -0
  104. package/esm/Gauge/GaugeValueText.js +69 -0
  105. package/esm/Gauge/gaugeClasses.js +7 -0
  106. package/esm/Gauge/index.js +7 -0
  107. package/esm/Gauge/utils.js +68 -0
  108. package/esm/LineChart/AnimatedArea.js +1 -1
  109. package/esm/LineChart/AnimatedLine.js +1 -1
  110. package/esm/LineChart/AreaElement.js +1 -1
  111. package/esm/LineChart/LineChart.js +41 -13
  112. package/esm/LineChart/LineElement.js +1 -1
  113. package/esm/LineChart/LineHighlightElement.js +2 -1
  114. package/esm/LineChart/MarkElement.js +1 -0
  115. package/esm/PieChart/PieArc.js +10 -9
  116. package/esm/PieChart/PieArcLabel.js +1 -0
  117. package/esm/PieChart/PieArcLabelPlot.js +14 -14
  118. package/esm/PieChart/PieArcPlot.js +1 -1
  119. package/esm/PieChart/PieChart.js +32 -8
  120. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  121. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  122. package/esm/ScatterChart/ScatterChart.js +35 -8
  123. package/esm/SparkLineChart/SparkLineChart.js +5 -4
  124. package/esm/context/CartesianContextProvider.js +8 -6
  125. package/esm/hooks/useTicks.js +2 -3
  126. package/esm/index.js +2 -0
  127. package/hooks/useTicks.d.ts +1 -2
  128. package/hooks/useTicks.js +2 -3
  129. package/index.d.ts +2 -0
  130. package/index.js +23 -1
  131. package/internals/defaultizeColor.d.ts +16 -16
  132. package/internals/defaultizeValueFormatter.d.ts +4 -7
  133. package/internals/stackSeries.d.ts +4 -7
  134. package/legacy/BarChart/BarChart.js +37 -13
  135. package/legacy/BarChart/BarElement.js +1 -0
  136. package/legacy/BarChart/BarPlot.js +10 -10
  137. package/legacy/ChartContainer/ChartContainer.js +6 -4
  138. package/legacy/ChartsAxis/ChartsAxis.js +4 -4
  139. package/legacy/ChartsGrid/ChartsGrid.js +119 -0
  140. package/legacy/ChartsGrid/chartsGridClasses.js +6 -0
  141. package/legacy/ChartsGrid/index.js +2 -0
  142. package/legacy/ChartsLegend/ChartsLegend.js +2 -323
  143. package/legacy/ChartsLegend/DefaultChartsLegend.js +302 -0
  144. package/legacy/ChartsLegend/index.js +1 -0
  145. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  146. package/legacy/ChartsSurface.js +5 -3
  147. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  148. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  149. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  150. package/legacy/ChartsTooltip/utils.js +6 -0
  151. package/legacy/ChartsXAxis/ChartsXAxis.js +13 -9
  152. package/legacy/ChartsYAxis/ChartsYAxis.js +2 -2
  153. package/legacy/Gauge/Gauge.js +146 -0
  154. package/legacy/Gauge/GaugeContainer.js +215 -0
  155. package/legacy/Gauge/GaugeProvider.js +87 -0
  156. package/legacy/Gauge/GaugeReferenceArc.js +37 -0
  157. package/legacy/Gauge/GaugeValueArc.js +44 -0
  158. package/legacy/Gauge/GaugeValueText.js +66 -0
  159. package/legacy/Gauge/gaugeClasses.js +7 -0
  160. package/legacy/Gauge/index.js +7 -0
  161. package/legacy/Gauge/utils.js +84 -0
  162. package/legacy/LineChart/AnimatedArea.js +1 -1
  163. package/legacy/LineChart/AnimatedLine.js +1 -1
  164. package/legacy/LineChart/AreaElement.js +1 -1
  165. package/legacy/LineChart/LineChart.js +41 -13
  166. package/legacy/LineChart/LineElement.js +1 -1
  167. package/legacy/LineChart/LineHighlightElement.js +2 -1
  168. package/legacy/LineChart/MarkElement.js +1 -0
  169. package/legacy/PieChart/PieArc.js +11 -10
  170. package/legacy/PieChart/PieArcLabel.js +1 -0
  171. package/legacy/PieChart/PieArcLabelPlot.js +15 -15
  172. package/legacy/PieChart/PieArcPlot.js +1 -1
  173. package/legacy/PieChart/PieChart.js +32 -8
  174. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +13 -81
  175. package/legacy/ResponsiveChartContainer/useChartContainerDimensions.js +73 -0
  176. package/legacy/ScatterChart/ScatterChart.js +35 -8
  177. package/legacy/SparkLineChart/SparkLineChart.js +6 -5
  178. package/legacy/context/CartesianContextProvider.js +8 -6
  179. package/legacy/hooks/useTicks.js +2 -3
  180. package/legacy/index.js +3 -1
  181. package/models/axis.d.ts +7 -2
  182. package/models/seriesType/common.d.ts +2 -1
  183. package/models/seriesType/config.d.ts +7 -12
  184. package/models/seriesType/line.d.ts +2 -2
  185. package/models/seriesType/pie.d.ts +7 -3
  186. package/models/seriesType/scatter.d.ts +5 -2
  187. package/modern/BarChart/BarChart.js +37 -13
  188. package/modern/BarChart/BarElement.js +1 -0
  189. package/modern/BarChart/BarPlot.js +8 -10
  190. package/modern/ChartContainer/ChartContainer.js +6 -4
  191. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  192. package/modern/ChartsGrid/ChartsGrid.js +121 -0
  193. package/modern/ChartsGrid/chartsGridClasses.js +6 -0
  194. package/modern/ChartsGrid/index.js +2 -0
  195. package/modern/ChartsLegend/ChartsLegend.js +2 -307
  196. package/modern/ChartsLegend/DefaultChartsLegend.js +286 -0
  197. package/modern/ChartsLegend/index.js +1 -0
  198. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  199. package/modern/ChartsSurface.js +6 -4
  200. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  201. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  202. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  203. package/modern/ChartsTooltip/utils.js +6 -0
  204. package/modern/ChartsXAxis/ChartsXAxis.js +14 -10
  205. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  206. package/modern/Gauge/Gauge.js +149 -0
  207. package/modern/Gauge/GaugeContainer.js +208 -0
  208. package/modern/Gauge/GaugeProvider.js +85 -0
  209. package/modern/Gauge/GaugeReferenceArc.js +35 -0
  210. package/modern/Gauge/GaugeValueArc.js +42 -0
  211. package/modern/Gauge/GaugeValueText.js +69 -0
  212. package/modern/Gauge/gaugeClasses.js +7 -0
  213. package/modern/Gauge/index.js +7 -0
  214. package/modern/Gauge/utils.js +68 -0
  215. package/modern/LineChart/AnimatedArea.js +1 -1
  216. package/modern/LineChart/AnimatedLine.js +1 -1
  217. package/modern/LineChart/AreaElement.js +1 -1
  218. package/modern/LineChart/LineChart.js +41 -13
  219. package/modern/LineChart/LineElement.js +1 -1
  220. package/modern/LineChart/LineHighlightElement.js +2 -1
  221. package/modern/LineChart/MarkElement.js +1 -0
  222. package/modern/PieChart/PieArc.js +10 -9
  223. package/modern/PieChart/PieArcLabel.js +1 -0
  224. package/modern/PieChart/PieArcLabelPlot.js +14 -14
  225. package/modern/PieChart/PieArcPlot.js +1 -1
  226. package/modern/PieChart/PieChart.js +32 -8
  227. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  228. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  229. package/modern/ScatterChart/ScatterChart.js +35 -8
  230. package/modern/SparkLineChart/SparkLineChart.js +5 -4
  231. package/modern/context/CartesianContextProvider.js +8 -6
  232. package/modern/hooks/useTicks.js +2 -3
  233. package/modern/index.js +3 -1
  234. package/package.json +4 -4
@@ -113,6 +113,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
113
113
  // | These PropTypes are generated from the TypeScript type definitions |
114
114
  // | To update them edit the TypeScript types and run "yarn proptypes" |
115
115
  // ----------------------------------------------------------------------
116
+ /**
117
+ * The configuration of axes highlight.
118
+ * @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
119
+ * @default { x: 'none', y: 'none' }
120
+ */
116
121
  axisHighlight: PropTypes.shape({
117
122
  x: PropTypes.oneOf(['band', 'line', 'none']),
118
123
  y: PropTypes.oneOf(['band', 'line', 'none'])
@@ -123,7 +128,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
123
128
  * @default null
124
129
  */
125
130
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
126
- axisId: PropTypes.string,
131
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
127
132
  classes: PropTypes.object,
128
133
  disableLine: PropTypes.bool,
129
134
  disableTicks: PropTypes.bool,
@@ -173,7 +178,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
173
178
  * @default null
174
179
  */
175
180
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
176
- axisId: PropTypes.string,
181
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
177
182
  classes: PropTypes.object,
178
183
  disableLine: PropTypes.bool,
179
184
  disableTicks: PropTypes.bool,
@@ -195,6 +200,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
195
200
  tickSize: PropTypes.number
196
201
  }), PropTypes.string]),
197
202
  /**
203
+ * The props of the legend.
204
+ * @default { direction: 'column', position: { vertical: 'middle', horizontal: 'right' } }
198
205
  * @deprecated Consider using `slotProps.legend` instead.
199
206
  */
200
207
  legend: PropTypes.shape({
@@ -220,6 +227,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
220
227
  right: PropTypes.number,
221
228
  top: PropTypes.number
222
229
  }),
230
+ /**
231
+ * Callback fired when a pie arc is clicked.
232
+ */
223
233
  onItemClick: PropTypes.func,
224
234
  /**
225
235
  * Indicate which axis to display the right of the charts.
@@ -227,7 +237,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
227
237
  * @default null
228
238
  */
229
239
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
230
- axisId: PropTypes.string,
240
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
231
241
  classes: PropTypes.object,
232
242
  disableLine: PropTypes.bool,
233
243
  disableTicks: PropTypes.bool,
@@ -248,6 +258,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
248
258
  tickNumber: PropTypes.number,
249
259
  tickSize: PropTypes.number
250
260
  }), PropTypes.string]),
261
+ /**
262
+ * The series to display in the pie chart.
263
+ */
251
264
  series: PropTypes.arrayOf(PropTypes.object).isRequired,
252
265
  /**
253
266
  * If `true`, animations are skipped.
@@ -259,9 +272,18 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
259
272
  * @default {}
260
273
  */
261
274
  slotProps: PropTypes.object,
275
+ /**
276
+ * Overridable component slots.
277
+ * @default {}
278
+ */
262
279
  slots: PropTypes.object,
263
280
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
264
281
  title: PropTypes.string,
282
+ /**
283
+ * The configuration of the tooltip.
284
+ * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
285
+ * @default { trigger: 'item' }
286
+ */
265
287
  tooltip: PropTypes.shape({
266
288
  axisContent: PropTypes.elementType,
267
289
  classes: PropTypes.object,
@@ -276,7 +298,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
276
298
  * @default null
277
299
  */
278
300
  topAxis: PropTypes.oneOfType([PropTypes.shape({
279
- axisId: PropTypes.string,
301
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
280
302
  classes: PropTypes.object,
281
303
  disableLine: PropTypes.bool,
282
304
  disableTicks: PropTypes.bool,
@@ -313,7 +335,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
313
335
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
314
336
  */
315
337
  xAxis: PropTypes.arrayOf(PropTypes.shape({
316
- axisId: PropTypes.string,
338
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
317
339
  classes: PropTypes.object,
318
340
  data: PropTypes.array,
319
341
  dataKey: PropTypes.string,
@@ -321,13 +343,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
321
343
  disableTicks: PropTypes.bool,
322
344
  fill: PropTypes.string,
323
345
  hideTooltip: PropTypes.bool,
324
- id: PropTypes.string,
346
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
325
347
  label: PropTypes.string,
326
348
  labelFontSize: PropTypes.number,
327
349
  labelStyle: PropTypes.object,
328
350
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
329
351
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
330
352
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
353
+ reverse: PropTypes.bool,
331
354
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
332
355
  slotProps: PropTypes.object,
333
356
  slots: PropTypes.object,
@@ -347,7 +370,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
347
370
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
348
371
  */
349
372
  yAxis: PropTypes.arrayOf(PropTypes.shape({
350
- axisId: PropTypes.string,
373
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
351
374
  classes: PropTypes.object,
352
375
  data: PropTypes.array,
353
376
  dataKey: PropTypes.string,
@@ -355,13 +378,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
355
378
  disableTicks: PropTypes.bool,
356
379
  fill: PropTypes.string,
357
380
  hideTooltip: PropTypes.bool,
358
- id: PropTypes.string,
381
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
359
382
  label: PropTypes.string,
360
383
  labelFontSize: PropTypes.number,
361
384
  labelStyle: PropTypes.object,
362
385
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
363
386
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
364
387
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
388
+ reverse: PropTypes.bool,
365
389
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
366
390
  slotProps: PropTypes.object,
367
391
  slots: PropTypes.object,
@@ -1,83 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
  var _excluded = ["width", "height"];
5
5
  import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
7
- import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
8
- import ownerWindow from '@mui/utils/ownerWindow';
9
7
  import { styled } from '@mui/material/styles';
10
8
  import { ChartContainer } from '../ChartContainer';
9
+ import { useChartContainerDimensions } from './useChartContainerDimensions';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
- var useChartDimensions = function useChartDimensions(inWidth, inHeight) {
13
- var rootRef = React.useRef(null);
14
- var displayError = React.useRef(false);
15
- var _React$useState = React.useState(0),
16
- _React$useState2 = _slicedToArray(_React$useState, 2),
17
- width = _React$useState2[0],
18
- setWidth = _React$useState2[1];
19
- var _React$useState3 = React.useState(0),
20
- _React$useState4 = _slicedToArray(_React$useState3, 2),
21
- height = _React$useState4[0],
22
- setHeight = _React$useState4[1];
23
-
24
- // Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
25
- var computeSize = React.useCallback(function () {
26
- var mainEl = rootRef == null ? void 0 : rootRef.current;
27
- if (!mainEl) {
28
- return;
29
- }
30
- var win = ownerWindow(mainEl);
31
- var computedStyle = win.getComputedStyle(mainEl);
32
- var newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
33
- var newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
34
- setWidth(newWidth);
35
- setHeight(newHeight);
36
- }, []);
37
- React.useEffect(function () {
38
- // Ensure the error detection occurs after the first rendering.
39
- displayError.current = true;
40
- }, []);
41
- useEnhancedEffect(function () {
42
- if (inWidth !== undefined && inHeight !== undefined) {
43
- return function () {};
44
- }
45
- computeSize();
46
- var elementToObserve = rootRef.current;
47
- if (typeof ResizeObserver === 'undefined') {
48
- return function () {};
49
- }
50
- var animationFrame;
51
- var observer = new ResizeObserver(function () {
52
- // See https://github.com/mui/mui-x/issues/8733
53
- animationFrame = requestAnimationFrame(function () {
54
- computeSize();
55
- });
56
- });
57
- if (elementToObserve) {
58
- observer.observe(elementToObserve);
59
- }
60
- return function () {
61
- if (animationFrame) {
62
- window.cancelAnimationFrame(animationFrame);
63
- }
64
- if (elementToObserve) {
65
- observer.unobserve(elementToObserve);
66
- }
67
- };
68
- }, [computeSize, inHeight, inWidth]);
69
- if (process.env.NODE_ENV !== 'production') {
70
- if (displayError.current && inWidth === undefined && width === 0) {
71
- console.error("MUI X Charts: ChartContainer does not have `width` prop, and its container has no `width` defined.");
72
- displayError.current = false;
73
- }
74
- if (displayError.current && inHeight === undefined && height === 0) {
75
- console.error("MUI X Charts: ChartContainer does not have `height` prop, and its container has no `height` defined.");
76
- displayError.current = false;
77
- }
78
- }
79
- return [rootRef, inWidth != null ? inWidth : width, inHeight != null ? inHeight : height];
80
- };
81
11
  var ResizableContainer = styled('div', {
82
12
  name: 'MuiResponsiveChart',
83
13
  slot: 'Container'
@@ -104,11 +34,11 @@ var ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function Responsive
104
34
  var inWidth = props.width,
105
35
  inHeight = props.height,
106
36
  other = _objectWithoutProperties(props, _excluded);
107
- var _useChartDimensions = useChartDimensions(inWidth, inHeight),
108
- _useChartDimensions2 = _slicedToArray(_useChartDimensions, 3),
109
- containerRef = _useChartDimensions2[0],
110
- width = _useChartDimensions2[1],
111
- height = _useChartDimensions2[2];
37
+ var _useChartContainerDim = useChartContainerDimensions(inWidth, inHeight),
38
+ _useChartContainerDim2 = _slicedToArray(_useChartContainerDim, 3),
39
+ containerRef = _useChartContainerDim2[0],
40
+ width = _useChartContainerDim2[1],
41
+ height = _useChartContainerDim2[2];
112
42
  return /*#__PURE__*/_jsx(ResizableContainer, {
113
43
  ref: containerRef,
114
44
  ownerState: {
@@ -186,7 +116,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
186
116
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
187
117
  */
188
118
  xAxis: PropTypes.arrayOf(PropTypes.shape({
189
- axisId: PropTypes.string,
119
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
190
120
  classes: PropTypes.object,
191
121
  data: PropTypes.array,
192
122
  dataKey: PropTypes.string,
@@ -194,13 +124,14 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
194
124
  disableTicks: PropTypes.bool,
195
125
  fill: PropTypes.string,
196
126
  hideTooltip: PropTypes.bool,
197
- id: PropTypes.string,
127
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
198
128
  label: PropTypes.string,
199
129
  labelFontSize: PropTypes.number,
200
130
  labelStyle: PropTypes.object,
201
131
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
202
132
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
203
133
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
134
+ reverse: PropTypes.bool,
204
135
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
205
136
  slotProps: PropTypes.object,
206
137
  slots: PropTypes.object,
@@ -220,7 +151,7 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
220
151
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
221
152
  */
222
153
  yAxis: PropTypes.arrayOf(PropTypes.shape({
223
- axisId: PropTypes.string,
154
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
224
155
  classes: PropTypes.object,
225
156
  data: PropTypes.array,
226
157
  dataKey: PropTypes.string,
@@ -228,13 +159,14 @@ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
228
159
  disableTicks: PropTypes.bool,
229
160
  fill: PropTypes.string,
230
161
  hideTooltip: PropTypes.bool,
231
- id: PropTypes.string,
162
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
232
163
  label: PropTypes.string,
233
164
  labelFontSize: PropTypes.number,
234
165
  labelStyle: PropTypes.object,
235
166
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
236
167
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
237
168
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
169
+ reverse: PropTypes.bool,
238
170
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
239
171
  slotProps: PropTypes.object,
240
172
  slots: PropTypes.object,
@@ -0,0 +1,73 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import * as React from 'react';
3
+ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
4
+ import ownerWindow from '@mui/utils/ownerWindow';
5
+ export var useChartContainerDimensions = function useChartContainerDimensions(inWidth, inHeight) {
6
+ var rootRef = React.useRef(null);
7
+ var displayError = React.useRef(false);
8
+ var _React$useState = React.useState(0),
9
+ _React$useState2 = _slicedToArray(_React$useState, 2),
10
+ width = _React$useState2[0],
11
+ setWidth = _React$useState2[1];
12
+ var _React$useState3 = React.useState(0),
13
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
14
+ height = _React$useState4[0],
15
+ setHeight = _React$useState4[1];
16
+
17
+ // Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
18
+ var computeSize = React.useCallback(function () {
19
+ var mainEl = rootRef == null ? void 0 : rootRef.current;
20
+ if (!mainEl) {
21
+ return;
22
+ }
23
+ var win = ownerWindow(mainEl);
24
+ var computedStyle = win.getComputedStyle(mainEl);
25
+ var newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
26
+ var newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
27
+ setWidth(newWidth);
28
+ setHeight(newHeight);
29
+ }, []);
30
+ React.useEffect(function () {
31
+ // Ensure the error detection occurs after the first rendering.
32
+ displayError.current = true;
33
+ }, []);
34
+ useEnhancedEffect(function () {
35
+ if (inWidth !== undefined && inHeight !== undefined) {
36
+ return function () {};
37
+ }
38
+ computeSize();
39
+ var elementToObserve = rootRef.current;
40
+ if (typeof ResizeObserver === 'undefined') {
41
+ return function () {};
42
+ }
43
+ var animationFrame;
44
+ var observer = new ResizeObserver(function () {
45
+ // See https://github.com/mui/mui-x/issues/8733
46
+ animationFrame = requestAnimationFrame(function () {
47
+ computeSize();
48
+ });
49
+ });
50
+ if (elementToObserve) {
51
+ observer.observe(elementToObserve);
52
+ }
53
+ return function () {
54
+ if (animationFrame) {
55
+ window.cancelAnimationFrame(animationFrame);
56
+ }
57
+ if (elementToObserve) {
58
+ observer.unobserve(elementToObserve);
59
+ }
60
+ };
61
+ }, [computeSize, inHeight, inWidth]);
62
+ if (process.env.NODE_ENV !== 'production') {
63
+ if (displayError.current && inWidth === undefined && width === 0) {
64
+ console.error("MUI X Charts: ChartContainer does not have `width` prop, and its container has no `width` defined.");
65
+ displayError.current = false;
66
+ }
67
+ if (displayError.current && inHeight === undefined && height === 0) {
68
+ console.error("MUI X Charts: ChartContainer does not have `height` prop, and its container has no `height` defined.");
69
+ displayError.current = false;
70
+ }
71
+ }
72
+ return [rootRef, inWidth != null ? inWidth : width, inHeight != null ? inHeight : height];
73
+ };
@@ -8,6 +8,7 @@ import { ChartsTooltip } from '../ChartsTooltip';
8
8
  import { ChartsLegend } from '../ChartsLegend';
9
9
  import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
10
10
  import { ChartsVoronoiHandler } from '../ChartsVoronoiHandler/ChartsVoronoiHandler';
11
+ import { ChartsGrid } from '../ChartsGrid';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
14
  /**
@@ -34,6 +35,7 @@ var ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, re
34
35
  margin = props.margin,
35
36
  colors = props.colors,
36
37
  sx = props.sx,
38
+ grid = props.grid,
37
39
  topAxis = props.topAxis,
38
40
  leftAxis = props.leftAxis,
39
41
  rightAxis = props.rightAxis,
@@ -66,6 +68,9 @@ var ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, re
66
68
  bottomAxis: bottomAxis,
67
69
  slots: slots,
68
70
  slotProps: slotProps
71
+ }), grid && /*#__PURE__*/_jsx(ChartsGrid, {
72
+ vertical: grid.vertical,
73
+ horizontal: grid.horizontal
69
74
  }), /*#__PURE__*/_jsx(ScatterPlot, {
70
75
  slots: slots,
71
76
  slotProps: slotProps,
@@ -86,6 +91,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
86
91
  // | These PropTypes are generated from the TypeScript type definitions |
87
92
  // | To update them edit the TypeScript types and run "yarn proptypes" |
88
93
  // ----------------------------------------------------------------------
94
+ /**
95
+ * The configuration of axes highlight.
96
+ * @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
97
+ * @default { x: 'none', y: 'none' }
98
+ */
89
99
  axisHighlight: PropTypes.shape({
90
100
  x: PropTypes.oneOf(['band', 'line', 'none']),
91
101
  y: PropTypes.oneOf(['band', 'line', 'none'])
@@ -96,7 +106,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
96
106
  * @default xAxisIds[0] The id of the first provided axis
97
107
  */
98
108
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
99
- axisId: PropTypes.string,
109
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
100
110
  classes: PropTypes.object,
101
111
  disableLine: PropTypes.bool,
102
112
  disableTicks: PropTypes.bool,
@@ -140,6 +150,13 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
140
150
  * @default false
141
151
  */
142
152
  disableVoronoi: PropTypes.bool,
153
+ /**
154
+ * Option to display a cartesian grid in the background.
155
+ */
156
+ grid: PropTypes.shape({
157
+ horizontal: PropTypes.bool,
158
+ vertical: PropTypes.bool
159
+ }),
143
160
  /**
144
161
  * The height of the chart in px. If not defined, it takes the height of the parent element.
145
162
  * @default undefined
@@ -151,7 +168,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
151
168
  * @default yAxisIds[0] The id of the first provided axis
152
169
  */
153
170
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
154
- axisId: PropTypes.string,
171
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
155
172
  classes: PropTypes.object,
156
173
  disableLine: PropTypes.bool,
157
174
  disableTicks: PropTypes.bool,
@@ -210,7 +227,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
210
227
  * @default null
211
228
  */
212
229
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
213
- axisId: PropTypes.string,
230
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
214
231
  classes: PropTypes.object,
215
232
  disableLine: PropTypes.bool,
216
233
  disableTicks: PropTypes.bool,
@@ -231,6 +248,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
231
248
  tickNumber: PropTypes.number,
232
249
  tickSize: PropTypes.number
233
250
  }), PropTypes.string]),
251
+ /**
252
+ * The series to display in the scatter chart.
253
+ */
234
254
  series: PropTypes.arrayOf(PropTypes.object).isRequired,
235
255
  /**
236
256
  * The props used for each component slot.
@@ -244,6 +264,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
244
264
  slots: PropTypes.object,
245
265
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
246
266
  title: PropTypes.string,
267
+ /**
268
+ * The configuration of the tooltip.
269
+ * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
270
+ * @default { trigger: 'item' }
271
+ */
247
272
  tooltip: PropTypes.shape({
248
273
  axisContent: PropTypes.elementType,
249
274
  classes: PropTypes.object,
@@ -258,7 +283,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
258
283
  * @default null
259
284
  */
260
285
  topAxis: PropTypes.oneOfType([PropTypes.shape({
261
- axisId: PropTypes.string,
286
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
262
287
  classes: PropTypes.object,
263
288
  disableLine: PropTypes.bool,
264
289
  disableTicks: PropTypes.bool,
@@ -301,7 +326,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
301
326
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
302
327
  */
303
328
  xAxis: PropTypes.arrayOf(PropTypes.shape({
304
- axisId: PropTypes.string,
329
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
305
330
  classes: PropTypes.object,
306
331
  data: PropTypes.array,
307
332
  dataKey: PropTypes.string,
@@ -309,13 +334,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
309
334
  disableTicks: PropTypes.bool,
310
335
  fill: PropTypes.string,
311
336
  hideTooltip: PropTypes.bool,
312
- id: PropTypes.string,
337
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
313
338
  label: PropTypes.string,
314
339
  labelFontSize: PropTypes.number,
315
340
  labelStyle: PropTypes.object,
316
341
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
317
342
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
318
343
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
344
+ reverse: PropTypes.bool,
319
345
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
320
346
  slotProps: PropTypes.object,
321
347
  slots: PropTypes.object,
@@ -335,7 +361,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
335
361
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
336
362
  */
337
363
  yAxis: PropTypes.arrayOf(PropTypes.shape({
338
- axisId: PropTypes.string,
364
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
339
365
  classes: PropTypes.object,
340
366
  data: PropTypes.array,
341
367
  dataKey: PropTypes.string,
@@ -343,13 +369,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
343
369
  disableTicks: PropTypes.bool,
344
370
  fill: PropTypes.string,
345
371
  hideTooltip: PropTypes.bool,
346
- id: PropTypes.string,
372
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
347
373
  label: PropTypes.string,
348
374
  labelFontSize: PropTypes.number,
349
375
  labelStyle: PropTypes.object,
350
376
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
351
377
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
352
378
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
379
+ reverse: PropTypes.bool,
353
380
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
354
381
  slotProps: PropTypes.object,
355
382
  slots: PropTypes.object,
@@ -44,8 +44,8 @@ var SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props
44
44
  _props$plotType = props.plotType,
45
45
  plotType = _props$plotType === void 0 ? 'line' : _props$plotType,
46
46
  _props$valueFormatter = props.valueFormatter,
47
- valueFormatter = _props$valueFormatter === void 0 ? function (v) {
48
- return v === null ? '' : v.toString();
47
+ valueFormatter = _props$valueFormatter === void 0 ? function (value) {
48
+ return value === null ? '' : value.toString();
49
49
  } : _props$valueFormatter,
50
50
  area = props.area,
51
51
  _props$curve = props.curve,
@@ -213,7 +213,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
213
213
  * Formatter used by the tooltip.
214
214
  * @param {number} value The value to format.
215
215
  * @returns {string} the formatted value.
216
- * @default (v: number | null) => (v === null ? '' : v.toString())
216
+ * @default (value: number | null) => (value === null ? '' : value.toString())
217
217
  */
218
218
  valueFormatter: PropTypes.func,
219
219
  viewBox: PropTypes.shape({
@@ -232,7 +232,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
232
232
  * Notice it is a single configuration object, not an array of configuration.
233
233
  */
234
234
  xAxis: PropTypes.shape({
235
- axisId: PropTypes.string,
235
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
236
236
  classes: PropTypes.object,
237
237
  data: PropTypes.array,
238
238
  dataKey: PropTypes.string,
@@ -240,13 +240,14 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
240
240
  disableTicks: PropTypes.bool,
241
241
  fill: PropTypes.string,
242
242
  hideTooltip: PropTypes.bool,
243
- id: PropTypes.string,
243
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
244
244
  label: PropTypes.string,
245
245
  labelFontSize: PropTypes.number,
246
246
  labelStyle: PropTypes.object,
247
247
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
248
248
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
249
249
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
250
+ reverse: PropTypes.bool,
250
251
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
251
252
  slotProps: PropTypes.object,
252
253
  slots: PropTypes.object,
@@ -129,7 +129,7 @@ function CartesianContextProvider(props) {
129
129
  _getAxisExtremum2 = _slicedToArray(_getAxisExtremum, 2),
130
130
  minData = _getAxisExtremum2[0],
131
131
  maxData = _getAxisExtremum2[1];
132
- var range = [drawingArea.left, drawingArea.left + drawingArea.width];
132
+ var range = axis.reverse ? [drawingArea.left + drawingArea.width, drawingArea.left] : [drawingArea.left, drawingArea.left + drawingArea.width];
133
133
  if (isBandScaleConfig(axis)) {
134
134
  var _axis$categoryGapRati, _axis$barGapRatio;
135
135
  var categoryGapRatio = (_axis$categoryGapRati = axis.categoryGapRatio) != null ? _axis$categoryGapRati : DEFAULT_CATEGORY_GAP_RATIO;
@@ -186,7 +186,7 @@ function CartesianContextProvider(props) {
186
186
  _getAxisExtremum4 = _slicedToArray(_getAxisExtremum3, 2),
187
187
  minData = _getAxisExtremum4[0],
188
188
  maxData = _getAxisExtremum4[1];
189
- var range = [drawingArea.top + drawingArea.height, drawingArea.top];
189
+ var range = axis.reverse ? [drawingArea.top, drawingArea.top + drawingArea.height] : [drawingArea.top + drawingArea.height, drawingArea.top];
190
190
  if (isBandScaleConfig(axis)) {
191
191
  var _axis$categoryGapRati2;
192
192
  var categoryGapRatio = (_axis$categoryGapRati2 = axis.categoryGapRatio) != null ? _axis$categoryGapRati2 : DEFAULT_CATEGORY_GAP_RATIO;
@@ -258,7 +258,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
258
258
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
259
259
  */
260
260
  xAxis: PropTypes.arrayOf(PropTypes.shape({
261
- axisId: PropTypes.string,
261
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
262
262
  classes: PropTypes.object,
263
263
  data: PropTypes.array,
264
264
  dataKey: PropTypes.string,
@@ -266,13 +266,14 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
266
266
  disableTicks: PropTypes.bool,
267
267
  fill: PropTypes.string,
268
268
  hideTooltip: PropTypes.bool,
269
- id: PropTypes.string,
269
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
270
270
  label: PropTypes.string,
271
271
  labelFontSize: PropTypes.number,
272
272
  labelStyle: PropTypes.object,
273
273
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
274
274
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
275
275
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
276
+ reverse: PropTypes.bool,
276
277
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
277
278
  slotProps: PropTypes.object,
278
279
  slots: PropTypes.object,
@@ -292,7 +293,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
292
293
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
293
294
  */
294
295
  yAxis: PropTypes.arrayOf(PropTypes.shape({
295
- axisId: PropTypes.string,
296
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
296
297
  classes: PropTypes.object,
297
298
  data: PropTypes.array,
298
299
  dataKey: PropTypes.string,
@@ -300,13 +301,14 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
300
301
  disableTicks: PropTypes.bool,
301
302
  fill: PropTypes.string,
302
303
  hideTooltip: PropTypes.bool,
303
- id: PropTypes.string,
304
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
304
305
  label: PropTypes.string,
305
306
  labelFontSize: PropTypes.number,
306
307
  labelStyle: PropTypes.object,
307
308
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
308
309
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
309
310
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
311
+ reverse: PropTypes.bool,
310
312
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
311
313
  slotProps: PropTypes.object,
312
314
  slots: PropTypes.object,
@@ -13,7 +13,7 @@ export function getTickNumber(params) {
13
13
  var defaultizedTickNumber = tickNumber != null ? tickNumber : Math.floor(Math.abs(range[1] - range[0]) / 50);
14
14
  return Math.min(maxTicks, Math.max(minTicks, defaultizedTickNumber));
15
15
  }
16
- function useTicks(options) {
16
+ export function useTicks(options) {
17
17
  var scale = options.scale,
18
18
  tickNumber = options.tickNumber,
19
19
  valueFormatter = options.valueFormatter,
@@ -62,5 +62,4 @@ function useTicks(options) {
62
62
  };
63
63
  });
64
64
  }, [tickNumber, scale, valueFormatter, tickInterval]);
65
- }
66
- export default useTicks;
65
+ }
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v7.0.0-beta.1
2
+ * @mui/x-charts v7.0.0-beta.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -15,6 +15,7 @@ export * from './ChartsReferenceLine';
15
15
  export * from './ChartsAxis';
16
16
  export * from './ChartsXAxis';
17
17
  export * from './ChartsYAxis';
18
+ export * from './ChartsGrid';
18
19
  export * from './ChartsText';
19
20
  export * from './ChartsTooltip';
20
21
  export * from './ChartsLegend';
@@ -26,6 +27,7 @@ export * from './LineChart';
26
27
  export * from './PieChart';
27
28
  export * from './ScatterChart';
28
29
  export * from './SparkLineChart';
30
+ export * from './Gauge';
29
31
  export * from './ChartContainer';
30
32
  export * from './ChartsSurface';
31
33
  export * from './ResponsiveChartContainer';