@mui/x-charts 6.0.0-alpha.15 → 6.0.0-alpha.16

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 (173) hide show
  1. package/BarChart/BarChart.d.ts +13 -2
  2. package/BarChart/BarChart.js +45 -3
  3. package/BarChart/BarElement.d.ts +1318 -3
  4. package/BarChart/BarElement.js +10 -8
  5. package/BarChart/BarPlot.d.ts +17 -1
  6. package/BarChart/BarPlot.js +152 -66
  7. package/CHANGELOG.md +65 -0
  8. package/ChartContainer/index.js +5 -2
  9. package/ChartsAxis/ChartsAxis.js +18 -2
  10. package/ChartsAxis/axisClasses.d.ts +1 -1
  11. package/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -2
  12. package/ChartsClipPath/ChartsClipPath.js +2 -2
  13. package/ChartsLegend/ChartsLegend.d.ts +2 -1
  14. package/ChartsLegend/ChartsLegend.js +12 -8
  15. package/ChartsSurface.js +2 -2
  16. package/ChartsTooltip/ChartsAxisTooltipContent.js +2 -2
  17. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  18. package/ChartsTooltip/ChartsTooltip.js +2 -2
  19. package/ChartsTooltip/utils.js +2 -2
  20. package/ChartsXAxis/ChartsXAxis.js +123 -35
  21. package/ChartsYAxis/ChartsYAxis.js +38 -16
  22. package/LineChart/AreaElement.d.ts +10 -0
  23. package/LineChart/AreaElement.js +12 -2
  24. package/LineChart/AreaPlot.d.ts +11 -0
  25. package/LineChart/AreaPlot.js +13 -2
  26. package/LineChart/LineChart.d.ts +10 -0
  27. package/LineChart/LineChart.js +36 -2
  28. package/LineChart/LineElement.d.ts +10 -0
  29. package/LineChart/LineElement.js +12 -2
  30. package/LineChart/LineHighlightElement.d.ts +10 -0
  31. package/LineChart/LineHighlightElement.js +12 -2
  32. package/LineChart/LineHighlightPlot.d.ts +10 -0
  33. package/LineChart/LineHighlightPlot.js +12 -2
  34. package/LineChart/LinePlot.d.ts +10 -0
  35. package/LineChart/LinePlot.js +12 -2
  36. package/LineChart/MarkElement.d.ts +10 -0
  37. package/LineChart/MarkElement.js +12 -2
  38. package/LineChart/MarkPlot.d.ts +10 -0
  39. package/LineChart/MarkPlot.js +12 -2
  40. package/PieChart/PieArc.js +2 -2
  41. package/PieChart/PieArcLabel.js +2 -2
  42. package/PieChart/PieChart.d.ts +10 -0
  43. package/PieChart/PieChart.js +37 -2
  44. package/PieChart/PiePlot.d.ts +10 -0
  45. package/PieChart/PiePlot.js +12 -2
  46. package/ResponsiveChartContainer/index.js +4 -4
  47. package/ScatterChart/Scatter.d.ts +10 -0
  48. package/ScatterChart/Scatter.js +12 -2
  49. package/ScatterChart/ScatterChart.d.ts +10 -0
  50. package/ScatterChart/ScatterChart.js +36 -2
  51. package/ScatterChart/ScatterPlot.d.ts +10 -0
  52. package/ScatterChart/ScatterPlot.js +12 -2
  53. package/SparkLineChart/SparkLineChart.d.ts +9 -0
  54. package/SparkLineChart/SparkLineChart.js +16 -2
  55. package/context/CartesianContextProvider.js +10 -2
  56. package/context/DrawingProvider.js +2 -2
  57. package/context/HighlightProvider.js +2 -2
  58. package/context/InteractionProvider.js +2 -2
  59. package/context/SeriesContextProvider.js +2 -2
  60. package/esm/BarChart/BarChart.js +43 -1
  61. package/esm/BarChart/BarElement.js +7 -4
  62. package/esm/BarChart/BarPlot.js +152 -67
  63. package/esm/ChartContainer/index.js +3 -0
  64. package/esm/ChartsAxis/ChartsAxis.js +16 -0
  65. package/esm/ChartsLegend/ChartsLegend.js +10 -6
  66. package/esm/ChartsXAxis/ChartsXAxis.js +122 -34
  67. package/esm/ChartsYAxis/ChartsYAxis.js +36 -14
  68. package/esm/LineChart/AreaElement.js +10 -0
  69. package/esm/LineChart/AreaPlot.js +11 -0
  70. package/esm/LineChart/LineChart.js +34 -0
  71. package/esm/LineChart/LineElement.js +10 -0
  72. package/esm/LineChart/LineHighlightElement.js +10 -0
  73. package/esm/LineChart/LineHighlightPlot.js +10 -0
  74. package/esm/LineChart/LinePlot.js +10 -0
  75. package/esm/LineChart/MarkElement.js +10 -0
  76. package/esm/LineChart/MarkPlot.js +10 -0
  77. package/esm/PieChart/PieChart.js +35 -0
  78. package/esm/PieChart/PiePlot.js +10 -0
  79. package/esm/ResponsiveChartContainer/index.js +2 -2
  80. package/esm/ScatterChart/Scatter.js +10 -0
  81. package/esm/ScatterChart/ScatterChart.js +34 -0
  82. package/esm/ScatterChart/ScatterPlot.js +10 -0
  83. package/esm/SparkLineChart/SparkLineChart.js +14 -0
  84. package/esm/context/CartesianContextProvider.js +8 -0
  85. package/esm/hooks/useMounted.js +16 -0
  86. package/esm/hooks/useReducedMotion.js +27 -0
  87. package/esm/hooks/useTicks.js +12 -6
  88. package/esm/internals/components/ChartsText.js +17 -13
  89. package/esm/internals/geometry.js +36 -0
  90. package/hooks/useAxisEvents.js +2 -2
  91. package/hooks/useChartDimensions.js +2 -2
  92. package/hooks/useDrawingArea.js +2 -2
  93. package/hooks/useInteractionItemProps.js +2 -2
  94. package/hooks/useMounted.d.ts +1 -0
  95. package/hooks/useMounted.js +25 -0
  96. package/hooks/useReducedMotion.d.ts +8 -0
  97. package/hooks/useReducedMotion.js +33 -0
  98. package/hooks/useScale.d.ts +2 -2
  99. package/hooks/useScale.js +2 -2
  100. package/hooks/useTicks.d.ts +18 -9
  101. package/hooks/useTicks.js +14 -8
  102. package/index.js +1 -1
  103. package/internals/components/ChartsText.d.ts +11 -8
  104. package/internals/components/ChartsText.js +19 -15
  105. package/internals/defaultizeColor.d.ts +1 -1
  106. package/internals/domUtils.d.ts +0 -1
  107. package/internals/geometry.d.ts +9 -0
  108. package/internals/geometry.js +42 -0
  109. package/legacy/BarChart/BarChart.js +43 -1
  110. package/legacy/BarChart/BarElement.js +6 -3
  111. package/legacy/BarChart/BarPlot.js +151 -63
  112. package/legacy/ChartContainer/index.js +3 -0
  113. package/legacy/ChartsAxis/ChartsAxis.js +16 -0
  114. package/legacy/ChartsLegend/ChartsLegend.js +14 -7
  115. package/legacy/ChartsXAxis/ChartsXAxis.js +126 -36
  116. package/legacy/ChartsYAxis/ChartsYAxis.js +36 -14
  117. package/legacy/LineChart/AreaElement.js +10 -0
  118. package/legacy/LineChart/AreaPlot.js +11 -0
  119. package/legacy/LineChart/LineChart.js +34 -0
  120. package/legacy/LineChart/LineElement.js +10 -0
  121. package/legacy/LineChart/LineHighlightElement.js +10 -0
  122. package/legacy/LineChart/LineHighlightPlot.js +10 -0
  123. package/legacy/LineChart/LinePlot.js +10 -0
  124. package/legacy/LineChart/MarkElement.js +10 -0
  125. package/legacy/LineChart/MarkPlot.js +10 -0
  126. package/legacy/PieChart/PieChart.js +35 -0
  127. package/legacy/PieChart/PiePlot.js +10 -0
  128. package/legacy/ResponsiveChartContainer/index.js +2 -2
  129. package/legacy/ScatterChart/Scatter.js +10 -0
  130. package/legacy/ScatterChart/ScatterChart.js +34 -0
  131. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  132. package/legacy/SparkLineChart/SparkLineChart.js +14 -0
  133. package/legacy/context/CartesianContextProvider.js +8 -0
  134. package/legacy/hooks/useMounted.js +21 -0
  135. package/legacy/hooks/useReducedMotion.js +27 -0
  136. package/legacy/hooks/useTicks.js +13 -6
  137. package/legacy/index.js +1 -1
  138. package/legacy/internals/components/ChartsText.js +15 -15
  139. package/legacy/internals/geometry.js +37 -0
  140. package/models/axis.d.ts +19 -2
  141. package/models/seriesType/line.d.ts +2 -2
  142. package/modern/BarChart/BarChart.js +43 -1
  143. package/modern/BarChart/BarElement.js +7 -4
  144. package/modern/BarChart/BarPlot.js +149 -65
  145. package/modern/ChartContainer/index.js +3 -0
  146. package/modern/ChartsAxis/ChartsAxis.js +16 -0
  147. package/modern/ChartsLegend/ChartsLegend.js +10 -6
  148. package/modern/ChartsXAxis/ChartsXAxis.js +122 -34
  149. package/modern/ChartsYAxis/ChartsYAxis.js +36 -14
  150. package/modern/LineChart/AreaElement.js +10 -0
  151. package/modern/LineChart/AreaPlot.js +11 -0
  152. package/modern/LineChart/LineChart.js +34 -0
  153. package/modern/LineChart/LineElement.js +10 -0
  154. package/modern/LineChart/LineHighlightElement.js +10 -0
  155. package/modern/LineChart/LineHighlightPlot.js +10 -0
  156. package/modern/LineChart/LinePlot.js +10 -0
  157. package/modern/LineChart/MarkElement.js +10 -0
  158. package/modern/LineChart/MarkPlot.js +10 -0
  159. package/modern/PieChart/PieChart.js +35 -0
  160. package/modern/PieChart/PiePlot.js +10 -0
  161. package/modern/ResponsiveChartContainer/index.js +2 -2
  162. package/modern/ScatterChart/Scatter.js +10 -0
  163. package/modern/ScatterChart/ScatterChart.js +34 -0
  164. package/modern/ScatterChart/ScatterPlot.js +10 -0
  165. package/modern/SparkLineChart/SparkLineChart.js +14 -0
  166. package/modern/context/CartesianContextProvider.js +8 -0
  167. package/modern/hooks/useMounted.js +16 -0
  168. package/modern/hooks/useReducedMotion.js +27 -0
  169. package/modern/hooks/useTicks.js +12 -6
  170. package/modern/index.js +1 -1
  171. package/modern/internals/components/ChartsText.js +17 -13
  172. package/modern/internals/geometry.js +36 -0
  173. package/package.json +5 -3
@@ -82,9 +82,9 @@ function ChartsYAxis(inProps) {
82
82
  tickNumber,
83
83
  valueFormatter
84
84
  });
85
- const positionSigne = position === 'right' ? 1 : -1;
85
+ const positionSign = position === 'right' ? 1 : -1;
86
86
  const labelRefPoint = {
87
- x: positionSigne * (tickFontSize + tickSize + 10),
87
+ x: positionSign * (tickFontSize + tickSize + 10),
88
88
  y: top + height / 2
89
89
  };
90
90
  const Line = slots?.axisLine ?? 'line';
@@ -95,10 +95,10 @@ function ChartsYAxis(inProps) {
95
95
  elementType: TickLabel,
96
96
  externalSlotProps: slotProps?.axisTickLabel,
97
97
  additionalProps: {
98
- textAnchor: position === 'right' ? 'start' : 'end',
99
- dominantBaseline: 'central',
100
98
  style: {
101
- fontSize: tickFontSize
99
+ fontSize: tickFontSize,
100
+ textAnchor: position === 'right' ? 'start' : 'end',
101
+ dominantBaseline: 'central'
102
102
  },
103
103
  className: classes.tickLabel
104
104
  },
@@ -108,14 +108,12 @@ function ChartsYAxis(inProps) {
108
108
  elementType: Label,
109
109
  externalSlotProps: slotProps?.axisLabel,
110
110
  additionalProps: {
111
- textAnchor: 'middle',
112
- dominantBaseline: 'auto',
113
111
  style: {
114
112
  fontSize: labelFontSize,
115
- transform: `rotate(${positionSigne * 90}deg)`,
116
- transformOrigin: `${labelRefPoint.x}px ${labelRefPoint.y}px`
117
- },
118
- className: classes.label
113
+ angle: positionSign * 90,
114
+ textAnchor: 'middle',
115
+ dominantBaseline: 'auto'
116
+ }
119
117
  },
120
118
  ownerState: {}
121
119
  });
@@ -131,18 +129,17 @@ function ChartsYAxis(inProps) {
131
129
  offset,
132
130
  labelOffset
133
131
  }, index) => {
134
- const xTickLabel = positionSigne * (tickSize + 2);
132
+ const xTickLabel = positionSign * (tickSize + 2);
135
133
  const yTickLabel = labelOffset;
136
134
  return /*#__PURE__*/_jsxs("g", {
137
135
  transform: `translate(0, ${offset})`,
138
136
  className: classes.tickContainer,
139
137
  children: [!disableTicks && /*#__PURE__*/_jsx(Tick, _extends({
140
- x2: positionSigne * tickSize,
138
+ x2: positionSign * tickSize,
141
139
  className: classes.tick
142
140
  }, slotProps?.axisTick)), formattedValue !== undefined && /*#__PURE__*/_jsx(TickLabel, _extends({
143
141
  x: xTickLabel,
144
142
  y: yTickLabel,
145
- "transform-origin": `${xTickLabel}px ${yTickLabel}px`,
146
143
  text: formattedValue.toString()
147
144
  }, axisTickLabelProps))]
148
145
  }, index);
@@ -189,8 +186,13 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
189
186
  /**
190
187
  * The font size of the axis label.
191
188
  * @default 14
189
+ * @deprecated Consider using `labelStyle.fontSize` instead.
192
190
  */
193
191
  labelFontSize: PropTypes.number,
192
+ /**
193
+ * The style applied to the axis label.
194
+ */
195
+ labelStyle: PropTypes.object,
194
196
  /**
195
197
  * Position of the axis.
196
198
  */
@@ -213,8 +215,28 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
213
215
  /**
214
216
  * The font size of the axis ticks text.
215
217
  * @default 12
218
+ * @deprecated Consider using `tickLabelStyle.fontSize` instead.
216
219
  */
217
220
  tickFontSize: PropTypes.number,
221
+ /**
222
+ * Defines which ticks are displayed. Its value can be:
223
+ * - 'auto' In such case the ticks are computed based on axis scale and other parameters.
224
+ * - a filtering function of the form `(value, index) => boolean` which is available only if the axis has a data property.
225
+ * - an array containing the values where ticks should be displayed.
226
+ * @default 'auto'
227
+ */
228
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
229
+ /**
230
+ * Defines which ticks get its label displayed. Its value can be:
231
+ * - 'auto' In such case, labels are displayed if they do not overlap with the previous one.
232
+ * - a filtering function of the form (value, index) => boolean. Warning: the index is tick index, not data ones.
233
+ * @default 'auto'
234
+ */
235
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
236
+ /**
237
+ * The style applied to ticks text.
238
+ */
239
+ tickLabelStyle: PropTypes.object,
218
240
  /**
219
241
  * Maximal step between two ticks.
220
242
  * When using time data, the value is assumed to be in ms.
@@ -55,6 +55,16 @@ AreaElementPath.propTypes = {
55
55
  }).isRequired,
56
56
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
57
57
  };
58
+ /**
59
+ * Demos:
60
+ *
61
+ * - [Lines](https://mui.com/x/react-charts/lines/)
62
+ * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
63
+ *
64
+ * API:
65
+ *
66
+ * - [AreaElement API](https://mui.com/x/api/charts/area-element/)
67
+ */
58
68
  function AreaElement(props) {
59
69
  const {
60
70
  id,
@@ -10,6 +10,17 @@ import { AreaElement } from './AreaElement';
10
10
  import { getValueToPositionMapper } from '../hooks/useScale';
11
11
  import getCurveFactory from '../internals/getCurve';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * Demos:
15
+ *
16
+ * - [Lines](https://mui.com/x/react-charts/lines/)
17
+ * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
18
+ * - [Stacking](https://mui.com/x/react-charts/stacking/)
19
+ *
20
+ * API:
21
+ *
22
+ * - [AreaPlot API](https://mui.com/x/api/charts/area-plot/)
23
+ */
13
24
  function AreaPlot(props) {
14
25
  const {
15
26
  slots,
@@ -15,6 +15,16 @@ import { ChartsClipPath } from '../ChartsClipPath';
15
15
  import { LineHighlightPlot } from './LineHighlightPlot';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
+ /**
19
+ * Demos:
20
+ *
21
+ * - [Lines](https://mui.com/x/react-charts/lines/)
22
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
23
+ *
24
+ * API:
25
+ *
26
+ * - [LineChart API](https://mui.com/x/api/charts/line-chart/)
27
+ */
18
28
  const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
19
29
  const {
20
30
  xAxis,
@@ -118,11 +128,15 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
118
128
  fill: PropTypes.string,
119
129
  label: PropTypes.string,
120
130
  labelFontSize: PropTypes.number,
131
+ labelStyle: PropTypes.object,
121
132
  position: PropTypes.oneOf(['bottom', 'top']),
122
133
  slotProps: PropTypes.object,
123
134
  slots: PropTypes.object,
124
135
  stroke: PropTypes.string,
125
136
  tickFontSize: PropTypes.number,
137
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
138
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
139
+ tickLabelStyle: PropTypes.object,
126
140
  tickMaxStep: PropTypes.number,
127
141
  tickMinStep: PropTypes.number,
128
142
  tickNumber: PropTypes.number,
@@ -155,11 +169,15 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
155
169
  fill: PropTypes.string,
156
170
  label: PropTypes.string,
157
171
  labelFontSize: PropTypes.number,
172
+ labelStyle: PropTypes.object,
158
173
  position: PropTypes.oneOf(['left', 'right']),
159
174
  slotProps: PropTypes.object,
160
175
  slots: PropTypes.object,
161
176
  stroke: PropTypes.string,
162
177
  tickFontSize: PropTypes.number,
178
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
179
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
180
+ tickLabelStyle: PropTypes.object,
163
181
  tickMaxStep: PropTypes.number,
164
182
  tickMinStep: PropTypes.number,
165
183
  tickNumber: PropTypes.number,
@@ -198,11 +216,15 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
198
216
  fill: PropTypes.string,
199
217
  label: PropTypes.string,
200
218
  labelFontSize: PropTypes.number,
219
+ labelStyle: PropTypes.object,
201
220
  position: PropTypes.oneOf(['left', 'right']),
202
221
  slotProps: PropTypes.object,
203
222
  slots: PropTypes.object,
204
223
  stroke: PropTypes.string,
205
224
  tickFontSize: PropTypes.number,
225
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
226
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
227
+ tickLabelStyle: PropTypes.object,
206
228
  tickMaxStep: PropTypes.number,
207
229
  tickMinStep: PropTypes.number,
208
230
  tickNumber: PropTypes.number,
@@ -263,11 +285,15 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
263
285
  fill: PropTypes.string,
264
286
  label: PropTypes.string,
265
287
  labelFontSize: PropTypes.number,
288
+ labelStyle: PropTypes.object,
266
289
  position: PropTypes.oneOf(['bottom', 'top']),
267
290
  slotProps: PropTypes.object,
268
291
  slots: PropTypes.object,
269
292
  stroke: PropTypes.string,
270
293
  tickFontSize: PropTypes.number,
294
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
295
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
296
+ tickLabelStyle: PropTypes.object,
271
297
  tickMaxStep: PropTypes.number,
272
298
  tickMinStep: PropTypes.number,
273
299
  tickNumber: PropTypes.number,
@@ -292,6 +318,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
292
318
  id: PropTypes.string,
293
319
  label: PropTypes.string,
294
320
  labelFontSize: PropTypes.number,
321
+ labelStyle: PropTypes.object,
295
322
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
296
323
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
297
324
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -300,6 +327,9 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
300
327
  slots: PropTypes.object,
301
328
  stroke: PropTypes.string,
302
329
  tickFontSize: PropTypes.number,
330
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
331
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
332
+ tickLabelStyle: PropTypes.object,
303
333
  tickMaxStep: PropTypes.number,
304
334
  tickMinStep: PropTypes.number,
305
335
  tickNumber: PropTypes.number,
@@ -318,6 +348,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
318
348
  id: PropTypes.string,
319
349
  label: PropTypes.string,
320
350
  labelFontSize: PropTypes.number,
351
+ labelStyle: PropTypes.object,
321
352
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
322
353
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
323
354
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -326,6 +357,9 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
326
357
  slots: PropTypes.object,
327
358
  stroke: PropTypes.string,
328
359
  tickFontSize: PropTypes.number,
360
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
361
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
362
+ tickLabelStyle: PropTypes.object,
329
363
  tickMaxStep: PropTypes.number,
330
364
  tickMinStep: PropTypes.number,
331
365
  tickNumber: PropTypes.number,
@@ -57,6 +57,16 @@ LineElementPath.propTypes = {
57
57
  }).isRequired,
58
58
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
59
59
  };
60
+ /**
61
+ * Demos:
62
+ *
63
+ * - [Lines](https://mui.com/x/react-charts/lines/)
64
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
65
+ *
66
+ * API:
67
+ *
68
+ * - [LineElement API](https://mui.com/x/api/charts/line-element/)
69
+ */
60
70
  function LineElement(props) {
61
71
  const {
62
72
  id,
@@ -33,6 +33,16 @@ const HighlightElement = styled('circle', {
33
33
  transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
34
34
  fill: ownerState.color
35
35
  }));
36
+ /**
37
+ * Demos:
38
+ *
39
+ * - [Lines](https://mui.com/x/react-charts/lines/)
40
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
41
+ *
42
+ * API:
43
+ *
44
+ * - [LineHighlightElement API](https://mui.com/x/api/charts/line-highlight-element/)
45
+ */
36
46
  function LineHighlightElement(props) {
37
47
  const {
38
48
  x,
@@ -9,6 +9,16 @@ import { LineHighlightElement } from './LineHighlightElement';
9
9
  import { getValueToPositionMapper } from '../hooks/useScale';
10
10
  import { InteractionContext } from '../context/InteractionProvider';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Lines](https://mui.com/x/react-charts/lines/)
16
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
17
+ *
18
+ * API:
19
+ *
20
+ * - [LineHighlightPlot API](https://mui.com/x/api/charts/line-highlight-plot/)
21
+ */
12
22
  function LineHighlightPlot(props) {
13
23
  const {
14
24
  slots,
@@ -10,6 +10,16 @@ import { LineElement } from './LineElement';
10
10
  import { getValueToPositionMapper } from '../hooks/useScale';
11
11
  import getCurveFactory from '../internals/getCurve';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * Demos:
15
+ *
16
+ * - [Lines](https://mui.com/x/react-charts/lines/)
17
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
18
+ *
19
+ * API:
20
+ *
21
+ * - [LinePlot API](https://mui.com/x/api/charts/line-plot/)
22
+ */
13
23
  function LinePlot(props) {
14
24
  const {
15
25
  slots,
@@ -59,6 +59,16 @@ MarkElementPath.propTypes = {
59
59
  }).isRequired,
60
60
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
61
61
  };
62
+ /**
63
+ * Demos:
64
+ *
65
+ * - [Lines](https://mui.com/x/react-charts/lines/)
66
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
67
+ *
68
+ * API:
69
+ *
70
+ * - [MarkElement API](https://mui.com/x/api/charts/mark-element/)
71
+ */
62
72
  function MarkElement(props) {
63
73
  const {
64
74
  x,
@@ -8,6 +8,16 @@ import { CartesianContext } from '../context/CartesianContextProvider';
8
8
  import { MarkElement } from './MarkElement';
9
9
  import { getValueToPositionMapper } from '../hooks/useScale';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
+ /**
12
+ * Demos:
13
+ *
14
+ * - [Lines](https://mui.com/x/react-charts/lines/)
15
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
16
+ *
17
+ * API:
18
+ *
19
+ * - [MarkPlot API](https://mui.com/x/api/charts/mark-plot/)
20
+ */
11
21
  function MarkPlot(props) {
12
22
  const {
13
23
  slots,
@@ -16,6 +16,17 @@ const defaultMargin = {
16
16
  left: 5,
17
17
  right: 100
18
18
  };
19
+
20
+ /**
21
+ * Demos:
22
+ *
23
+ * - [Pie](https://mui.com/x/react-charts/pie/)
24
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
25
+ *
26
+ * API:
27
+ *
28
+ * - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
29
+ */
19
30
  function PieChart(props) {
20
31
  const {
21
32
  xAxis,
@@ -105,11 +116,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
105
116
  fill: PropTypes.string,
106
117
  label: PropTypes.string,
107
118
  labelFontSize: PropTypes.number,
119
+ labelStyle: PropTypes.object,
108
120
  position: PropTypes.oneOf(['bottom', 'top']),
109
121
  slotProps: PropTypes.object,
110
122
  slots: PropTypes.object,
111
123
  stroke: PropTypes.string,
112
124
  tickFontSize: PropTypes.number,
125
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
126
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
127
+ tickLabelStyle: PropTypes.object,
113
128
  tickMaxStep: PropTypes.number,
114
129
  tickMinStep: PropTypes.number,
115
130
  tickNumber: PropTypes.number,
@@ -138,11 +153,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
138
153
  fill: PropTypes.string,
139
154
  label: PropTypes.string,
140
155
  labelFontSize: PropTypes.number,
156
+ labelStyle: PropTypes.object,
141
157
  position: PropTypes.oneOf(['left', 'right']),
142
158
  slotProps: PropTypes.object,
143
159
  slots: PropTypes.object,
144
160
  stroke: PropTypes.string,
145
161
  tickFontSize: PropTypes.number,
162
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
163
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
164
+ tickLabelStyle: PropTypes.object,
146
165
  tickMaxStep: PropTypes.number,
147
166
  tickMinStep: PropTypes.number,
148
167
  tickNumber: PropTypes.number,
@@ -182,11 +201,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
182
201
  fill: PropTypes.string,
183
202
  label: PropTypes.string,
184
203
  labelFontSize: PropTypes.number,
204
+ labelStyle: PropTypes.object,
185
205
  position: PropTypes.oneOf(['left', 'right']),
186
206
  slotProps: PropTypes.object,
187
207
  slots: PropTypes.object,
188
208
  stroke: PropTypes.string,
189
209
  tickFontSize: PropTypes.number,
210
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
211
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
212
+ tickLabelStyle: PropTypes.object,
190
213
  tickMaxStep: PropTypes.number,
191
214
  tickMinStep: PropTypes.number,
192
215
  tickNumber: PropTypes.number,
@@ -260,11 +283,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
260
283
  fill: PropTypes.string,
261
284
  label: PropTypes.string,
262
285
  labelFontSize: PropTypes.number,
286
+ labelStyle: PropTypes.object,
263
287
  position: PropTypes.oneOf(['bottom', 'top']),
264
288
  slotProps: PropTypes.object,
265
289
  slots: PropTypes.object,
266
290
  stroke: PropTypes.string,
267
291
  tickFontSize: PropTypes.number,
292
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
293
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
294
+ tickLabelStyle: PropTypes.object,
268
295
  tickMaxStep: PropTypes.number,
269
296
  tickMinStep: PropTypes.number,
270
297
  tickNumber: PropTypes.number,
@@ -289,6 +316,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
289
316
  id: PropTypes.string,
290
317
  label: PropTypes.string,
291
318
  labelFontSize: PropTypes.number,
319
+ labelStyle: PropTypes.object,
292
320
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
293
321
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
294
322
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -297,6 +325,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
297
325
  slots: PropTypes.object,
298
326
  stroke: PropTypes.string,
299
327
  tickFontSize: PropTypes.number,
328
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
329
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
330
+ tickLabelStyle: PropTypes.object,
300
331
  tickMaxStep: PropTypes.number,
301
332
  tickMinStep: PropTypes.number,
302
333
  tickNumber: PropTypes.number,
@@ -315,6 +346,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
315
346
  id: PropTypes.string,
316
347
  label: PropTypes.string,
317
348
  labelFontSize: PropTypes.number,
349
+ labelStyle: PropTypes.object,
318
350
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
319
351
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
320
352
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -323,6 +355,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
323
355
  slots: PropTypes.object,
324
356
  stroke: PropTypes.string,
325
357
  tickFontSize: PropTypes.number,
358
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
359
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
360
+ tickLabelStyle: PropTypes.object,
326
361
  tickMaxStep: PropTypes.number,
327
362
  tickMinStep: PropTypes.number,
328
363
  tickNumber: PropTypes.number,
@@ -22,6 +22,16 @@ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
22
22
  }
23
23
  return arcLabel(item);
24
24
  }
25
+ /**
26
+ * Demos:
27
+ *
28
+ * - [Pie](https://mui.com/x/react-charts/pie/)
29
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
30
+ *
31
+ * API:
32
+ *
33
+ * - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
34
+ */
25
35
  function PiePlot(props) {
26
36
  const {
27
37
  slots,
@@ -103,10 +103,10 @@ export const ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function R
103
103
  width: inWidth,
104
104
  height: inHeight
105
105
  },
106
- children: /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
106
+ children: width && height ? /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
107
107
  width: width,
108
108
  height: height,
109
109
  ref: ref
110
- }))
110
+ })) : null
111
111
  });
112
112
  });
@@ -5,6 +5,16 @@ import { getValueToPositionMapper } from '../hooks/useScale';
5
5
  import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
6
6
  import { InteractionContext } from '../context/InteractionProvider';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Demos:
10
+ *
11
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
12
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
13
+ *
14
+ * API:
15
+ *
16
+ * - [Scatter API](https://mui.com/x/api/charts/scatter/)
17
+ */
8
18
  function Scatter(props) {
9
19
  const {
10
20
  series,
@@ -9,6 +9,16 @@ import { ChartsLegend } from '../ChartsLegend';
9
9
  import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
16
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
17
+ *
18
+ * API:
19
+ *
20
+ * - [ScatterChart API](https://mui.com/x/api/charts/scatter-chart/)
21
+ */
12
22
  const ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, ref) {
13
23
  const {
14
24
  xAxis,
@@ -85,11 +95,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
85
95
  fill: PropTypes.string,
86
96
  label: PropTypes.string,
87
97
  labelFontSize: PropTypes.number,
98
+ labelStyle: PropTypes.object,
88
99
  position: PropTypes.oneOf(['bottom', 'top']),
89
100
  slotProps: PropTypes.object,
90
101
  slots: PropTypes.object,
91
102
  stroke: PropTypes.string,
92
103
  tickFontSize: PropTypes.number,
104
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
105
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
106
+ tickLabelStyle: PropTypes.object,
93
107
  tickMaxStep: PropTypes.number,
94
108
  tickMinStep: PropTypes.number,
95
109
  tickNumber: PropTypes.number,
@@ -118,11 +132,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
118
132
  fill: PropTypes.string,
119
133
  label: PropTypes.string,
120
134
  labelFontSize: PropTypes.number,
135
+ labelStyle: PropTypes.object,
121
136
  position: PropTypes.oneOf(['left', 'right']),
122
137
  slotProps: PropTypes.object,
123
138
  slots: PropTypes.object,
124
139
  stroke: PropTypes.string,
125
140
  tickFontSize: PropTypes.number,
141
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
142
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
143
+ tickLabelStyle: PropTypes.object,
126
144
  tickMaxStep: PropTypes.number,
127
145
  tickMinStep: PropTypes.number,
128
146
  tickNumber: PropTypes.number,
@@ -161,11 +179,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
161
179
  fill: PropTypes.string,
162
180
  label: PropTypes.string,
163
181
  labelFontSize: PropTypes.number,
182
+ labelStyle: PropTypes.object,
164
183
  position: PropTypes.oneOf(['left', 'right']),
165
184
  slotProps: PropTypes.object,
166
185
  slots: PropTypes.object,
167
186
  stroke: PropTypes.string,
168
187
  tickFontSize: PropTypes.number,
188
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
189
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
190
+ tickLabelStyle: PropTypes.object,
169
191
  tickMaxStep: PropTypes.number,
170
192
  tickMinStep: PropTypes.number,
171
193
  tickNumber: PropTypes.number,
@@ -223,11 +245,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
223
245
  fill: PropTypes.string,
224
246
  label: PropTypes.string,
225
247
  labelFontSize: PropTypes.number,
248
+ labelStyle: PropTypes.object,
226
249
  position: PropTypes.oneOf(['bottom', 'top']),
227
250
  slotProps: PropTypes.object,
228
251
  slots: PropTypes.object,
229
252
  stroke: PropTypes.string,
230
253
  tickFontSize: PropTypes.number,
254
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
255
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
256
+ tickLabelStyle: PropTypes.object,
231
257
  tickMaxStep: PropTypes.number,
232
258
  tickMinStep: PropTypes.number,
233
259
  tickNumber: PropTypes.number,
@@ -252,6 +278,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
252
278
  id: PropTypes.string,
253
279
  label: PropTypes.string,
254
280
  labelFontSize: PropTypes.number,
281
+ labelStyle: PropTypes.object,
255
282
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
256
283
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
257
284
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -260,6 +287,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
260
287
  slots: PropTypes.object,
261
288
  stroke: PropTypes.string,
262
289
  tickFontSize: PropTypes.number,
290
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
291
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
292
+ tickLabelStyle: PropTypes.object,
263
293
  tickMaxStep: PropTypes.number,
264
294
  tickMinStep: PropTypes.number,
265
295
  tickNumber: PropTypes.number,
@@ -278,6 +308,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
278
308
  id: PropTypes.string,
279
309
  label: PropTypes.string,
280
310
  labelFontSize: PropTypes.number,
311
+ labelStyle: PropTypes.object,
281
312
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
282
313
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
283
314
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -286,6 +317,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
286
317
  slots: PropTypes.object,
287
318
  stroke: PropTypes.string,
288
319
  tickFontSize: PropTypes.number,
320
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
321
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
322
+ tickLabelStyle: PropTypes.object,
289
323
  tickMaxStep: PropTypes.number,
290
324
  tickMinStep: PropTypes.number,
291
325
  tickNumber: PropTypes.number,
@@ -5,6 +5,16 @@ import { Scatter } from './Scatter';
5
5
  import { SeriesContext } from '../context/SeriesContextProvider';
6
6
  import { CartesianContext } from '../context/CartesianContextProvider';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Demos:
10
+ *
11
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
12
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
13
+ *
14
+ * API:
15
+ *
16
+ * - [ScatterPlot API](https://mui.com/x/api/charts/scatter-plot/)
17
+ */
8
18
  function ScatterPlot(props) {
9
19
  const {
10
20
  slots,