@mui/x-charts 6.0.0-alpha.9 → 6.18.0

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 (281) hide show
  1. package/BarChart/BarChart.d.ts +19 -5
  2. package/BarChart/BarChart.js +52 -13
  3. package/BarChart/BarElement.d.ts +1319 -4
  4. package/BarChart/BarElement.js +10 -10
  5. package/BarChart/BarPlot.d.ts +17 -1
  6. package/BarChart/BarPlot.js +152 -66
  7. package/BarChart/formatter.js +2 -3
  8. package/BarChart/legend.js +1 -2
  9. package/CHANGELOG.md +735 -55
  10. package/ChartContainer/index.js +7 -5
  11. package/ChartsAxis/ChartsAxis.d.ts +9 -0
  12. package/ChartsAxis/ChartsAxis.js +28 -2
  13. package/ChartsAxis/axisClasses.d.ts +1 -1
  14. package/ChartsAxis/axisClasses.js +1 -2
  15. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +21 -0
  16. package/ChartsAxisHighlight/ChartsAxisHighlight.js +61 -22
  17. package/ChartsClipPath/ChartsClipPath.d.ts +5 -0
  18. package/ChartsClipPath/ChartsClipPath.js +7 -2
  19. package/ChartsLegend/ChartsLegend.d.ts +44 -24
  20. package/ChartsLegend/ChartsLegend.js +192 -150
  21. package/ChartsLegend/chartsLegendClasses.js +1 -2
  22. package/ChartsLegend/utils.d.ts +1 -6
  23. package/ChartsSurface.d.ts +1 -1
  24. package/ChartsSurface.js +9 -18
  25. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
  26. package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
  27. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
  28. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
  29. package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
  30. package/ChartsTooltip/ChartsTooltip.js +62 -18
  31. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
  32. package/ChartsTooltip/ChartsTooltipTable.js +22 -20
  33. package/ChartsTooltip/tooltipClasses.js +1 -2
  34. package/ChartsTooltip/utils.js +2 -2
  35. package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
  36. package/ChartsXAxis/ChartsXAxis.js +161 -40
  37. package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
  38. package/ChartsYAxis/ChartsYAxis.js +86 -33
  39. package/LineChart/AreaElement.d.ts +11 -1
  40. package/LineChart/AreaElement.js +14 -6
  41. package/LineChart/AreaPlot.d.ts +11 -0
  42. package/LineChart/AreaPlot.js +27 -8
  43. package/LineChart/LineChart.d.ts +16 -3
  44. package/LineChart/LineChart.js +48 -13
  45. package/LineChart/LineElement.d.ts +11 -1
  46. package/LineChart/LineElement.js +14 -6
  47. package/LineChart/LineHighlightElement.d.ts +10 -0
  48. package/LineChart/LineHighlightElement.js +13 -4
  49. package/LineChart/LineHighlightPlot.d.ts +10 -0
  50. package/LineChart/LineHighlightPlot.js +14 -3
  51. package/LineChart/LinePlot.d.ts +10 -0
  52. package/LineChart/LinePlot.js +25 -12
  53. package/LineChart/MarkElement.d.ts +10 -0
  54. package/LineChart/MarkElement.js +14 -5
  55. package/LineChart/MarkPlot.d.ts +10 -0
  56. package/LineChart/MarkPlot.js +40 -9
  57. package/LineChart/formatter.js +5 -5
  58. package/LineChart/legend.js +1 -2
  59. package/PieChart/PieArc.d.ts +11 -13
  60. package/PieChart/PieArc.js +28 -60
  61. package/PieChart/PieArcLabel.d.ts +8 -9
  62. package/PieChart/PieArcLabel.js +46 -38
  63. package/PieChart/PieArcLabelPlot.d.ts +28 -0
  64. package/PieChart/PieArcLabelPlot.js +99 -0
  65. package/PieChart/PieArcPlot.d.ts +35 -0
  66. package/PieChart/PieArcPlot.js +92 -0
  67. package/PieChart/PieChart.d.ts +19 -5
  68. package/PieChart/PieChart.js +61 -14
  69. package/PieChart/PiePlot.d.ts +15 -9
  70. package/PieChart/PiePlot.js +77 -55
  71. package/PieChart/dataTransform/transition.d.ts +4 -0
  72. package/PieChart/dataTransform/transition.js +136 -0
  73. package/PieChart/dataTransform/useTransformData.d.ts +15 -0
  74. package/PieChart/dataTransform/useTransformData.js +67 -0
  75. package/PieChart/formatter.js +1 -2
  76. package/PieChart/legend.js +1 -2
  77. package/README.md +8 -14
  78. package/ResponsiveChartContainer/index.js +7 -8
  79. package/ScatterChart/Scatter.d.ts +10 -0
  80. package/ScatterChart/Scatter.js +12 -2
  81. package/ScatterChart/ScatterChart.d.ts +16 -3
  82. package/ScatterChart/ScatterChart.js +43 -12
  83. package/ScatterChart/ScatterPlot.d.ts +10 -0
  84. package/ScatterChart/ScatterPlot.js +12 -2
  85. package/ScatterChart/formatter.js +1 -2
  86. package/ScatterChart/legend.js +1 -2
  87. package/SparkLineChart/SparkLineChart.d.ts +12 -3
  88. package/SparkLineChart/SparkLineChart.js +28 -7
  89. package/colorPalettes/colorPalettes.js +6 -12
  90. package/constants.js +5 -8
  91. package/context/CartesianContextProvider.d.ts +5 -0
  92. package/context/CartesianContextProvider.js +31 -16
  93. package/context/DrawingProvider.d.ts +7 -0
  94. package/context/DrawingProvider.js +12 -6
  95. package/context/HighlightProvider.js +3 -4
  96. package/context/InteractionProvider.js +3 -4
  97. package/context/SeriesContextProvider.js +3 -4
  98. package/esm/BarChart/BarChart.js +49 -9
  99. package/esm/BarChart/BarElement.js +7 -4
  100. package/esm/BarChart/BarPlot.js +152 -67
  101. package/esm/BarChart/formatter.js +1 -1
  102. package/esm/ChartContainer/index.js +3 -0
  103. package/esm/ChartsAxis/ChartsAxis.js +26 -0
  104. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  105. package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
  106. package/esm/ChartsLegend/ChartsLegend.js +188 -142
  107. package/esm/ChartsSurface.js +4 -12
  108. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  109. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  110. package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
  111. package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
  112. package/esm/ChartsXAxis/ChartsXAxis.js +158 -37
  113. package/esm/ChartsYAxis/ChartsYAxis.js +83 -30
  114. package/esm/LineChart/AreaElement.js +10 -0
  115. package/esm/LineChart/AreaPlot.js +26 -6
  116. package/esm/LineChart/LineChart.js +45 -9
  117. package/esm/LineChart/LineElement.js +10 -0
  118. package/esm/LineChart/LineHighlightElement.js +10 -0
  119. package/esm/LineChart/LineHighlightPlot.js +12 -1
  120. package/esm/LineChart/LinePlot.js +25 -14
  121. package/esm/LineChart/MarkElement.js +11 -1
  122. package/esm/LineChart/MarkPlot.js +38 -7
  123. package/esm/LineChart/formatter.js +7 -3
  124. package/esm/PieChart/PieArc.js +26 -58
  125. package/esm/PieChart/PieArcLabel.js +43 -34
  126. package/esm/PieChart/PieArcLabelPlot.js +92 -0
  127. package/esm/PieChart/PieArcPlot.js +84 -0
  128. package/esm/PieChart/PieChart.js +59 -12
  129. package/esm/PieChart/PiePlot.js +76 -57
  130. package/esm/PieChart/dataTransform/transition.js +130 -0
  131. package/esm/PieChart/dataTransform/useTransformData.js +59 -0
  132. package/esm/ResponsiveChartContainer/index.js +3 -3
  133. package/esm/ScatterChart/Scatter.js +10 -0
  134. package/esm/ScatterChart/ScatterChart.js +40 -8
  135. package/esm/ScatterChart/ScatterPlot.js +10 -0
  136. package/esm/SparkLineChart/SparkLineChart.js +25 -3
  137. package/esm/constants.js +1 -1
  138. package/esm/context/CartesianContextProvider.js +30 -14
  139. package/esm/context/DrawingProvider.js +8 -0
  140. package/esm/hooks/useChartDimensions.js +2 -0
  141. package/esm/hooks/useMounted.js +16 -0
  142. package/esm/hooks/useReducedMotion.js +27 -0
  143. package/esm/hooks/useTicks.js +15 -9
  144. package/esm/internals/components/AxisSharedComponents.js +15 -70
  145. package/esm/internals/components/ChartsText.js +77 -0
  146. package/esm/internals/domUtils.js +113 -0
  147. package/esm/internals/geometry.js +36 -0
  148. package/hooks/useAxisEvents.js +2 -2
  149. package/hooks/useChartDimensions.d.ts +2 -0
  150. package/hooks/useChartDimensions.js +5 -4
  151. package/hooks/useDrawingArea.js +2 -2
  152. package/hooks/useInteractionItemProps.js +2 -2
  153. package/hooks/useMounted.d.ts +1 -0
  154. package/hooks/useMounted.js +25 -0
  155. package/hooks/useReducedMotion.d.ts +8 -0
  156. package/hooks/useReducedMotion.js +33 -0
  157. package/hooks/useScale.d.ts +2 -2
  158. package/hooks/useScale.js +2 -2
  159. package/hooks/useTicks.d.ts +19 -11
  160. package/hooks/useTicks.js +19 -14
  161. package/index.js +1 -1
  162. package/internals/components/AxisSharedComponents.d.ts +0 -4
  163. package/internals/components/AxisSharedComponents.js +18 -78
  164. package/internals/components/ChartsText.d.ts +35 -0
  165. package/internals/components/ChartsText.js +87 -0
  166. package/internals/defaultizeColor.d.ts +7 -2
  167. package/internals/defaultizeValueFormatter.js +1 -2
  168. package/internals/domUtils.d.ts +13 -0
  169. package/internals/domUtils.js +122 -0
  170. package/internals/geometry.d.ts +9 -0
  171. package/internals/geometry.js +42 -0
  172. package/internals/stackSeries.js +2 -4
  173. package/legacy/BarChart/BarChart.js +49 -9
  174. package/legacy/BarChart/BarElement.js +6 -3
  175. package/legacy/BarChart/BarPlot.js +151 -63
  176. package/legacy/BarChart/formatter.js +1 -1
  177. package/legacy/ChartContainer/index.js +3 -0
  178. package/legacy/ChartsAxis/ChartsAxis.js +26 -0
  179. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
  180. package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
  181. package/legacy/ChartsLegend/ChartsLegend.js +203 -140
  182. package/legacy/ChartsSurface.js +3 -12
  183. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
  184. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  185. package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
  186. package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
  187. package/legacy/ChartsXAxis/ChartsXAxis.js +162 -39
  188. package/legacy/ChartsYAxis/ChartsYAxis.js +83 -30
  189. package/legacy/LineChart/AreaElement.js +10 -0
  190. package/legacy/LineChart/AreaPlot.js +31 -7
  191. package/legacy/LineChart/LineChart.js +45 -9
  192. package/legacy/LineChart/LineElement.js +10 -0
  193. package/legacy/LineChart/LineHighlightElement.js +10 -0
  194. package/legacy/LineChart/LineHighlightPlot.js +12 -1
  195. package/legacy/LineChart/LinePlot.js +29 -12
  196. package/legacy/LineChart/MarkElement.js +11 -1
  197. package/legacy/LineChart/MarkPlot.js +37 -7
  198. package/legacy/LineChart/formatter.js +7 -3
  199. package/legacy/PieChart/PieArc.js +30 -62
  200. package/legacy/PieChart/PieArcLabel.js +48 -34
  201. package/legacy/PieChart/PieArcLabelPlot.js +93 -0
  202. package/legacy/PieChart/PieArcPlot.js +84 -0
  203. package/legacy/PieChart/PieChart.js +59 -12
  204. package/legacy/PieChart/PiePlot.js +76 -59
  205. package/legacy/PieChart/dataTransform/transition.js +142 -0
  206. package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
  207. package/legacy/ResponsiveChartContainer/index.js +3 -3
  208. package/legacy/ScatterChart/Scatter.js +10 -0
  209. package/legacy/ScatterChart/ScatterChart.js +40 -8
  210. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  211. package/legacy/SparkLineChart/SparkLineChart.js +25 -3
  212. package/legacy/constants.js +1 -1
  213. package/legacy/context/CartesianContextProvider.js +30 -14
  214. package/legacy/context/DrawingProvider.js +8 -0
  215. package/legacy/hooks/useChartDimensions.js +2 -0
  216. package/legacy/hooks/useMounted.js +21 -0
  217. package/legacy/hooks/useReducedMotion.js +27 -0
  218. package/legacy/hooks/useTicks.js +16 -9
  219. package/legacy/index.js +1 -1
  220. package/legacy/internals/components/AxisSharedComponents.js +11 -65
  221. package/legacy/internals/components/ChartsText.js +79 -0
  222. package/legacy/internals/domUtils.js +121 -0
  223. package/legacy/internals/geometry.js +37 -0
  224. package/models/axis.d.ts +27 -9
  225. package/models/layout.d.ts +7 -6
  226. package/models/seriesType/line.d.ts +8 -3
  227. package/models/seriesType/pie.d.ts +5 -1
  228. package/modern/BarChart/BarChart.js +49 -9
  229. package/modern/BarChart/BarElement.js +7 -4
  230. package/modern/BarChart/BarPlot.js +149 -65
  231. package/modern/BarChart/formatter.js +1 -1
  232. package/modern/ChartContainer/index.js +3 -0
  233. package/modern/ChartsAxis/ChartsAxis.js +26 -0
  234. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  235. package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
  236. package/modern/ChartsLegend/ChartsLegend.js +188 -142
  237. package/modern/ChartsSurface.js +4 -12
  238. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  239. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  240. package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
  241. package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
  242. package/modern/ChartsXAxis/ChartsXAxis.js +158 -37
  243. package/modern/ChartsYAxis/ChartsYAxis.js +83 -30
  244. package/modern/LineChart/AreaElement.js +10 -0
  245. package/modern/LineChart/AreaPlot.js +25 -6
  246. package/modern/LineChart/LineChart.js +45 -9
  247. package/modern/LineChart/LineElement.js +10 -0
  248. package/modern/LineChart/LineHighlightElement.js +10 -0
  249. package/modern/LineChart/LineHighlightPlot.js +12 -1
  250. package/modern/LineChart/LinePlot.js +23 -10
  251. package/modern/LineChart/MarkElement.js +11 -1
  252. package/modern/LineChart/MarkPlot.js +38 -7
  253. package/modern/LineChart/formatter.js +4 -3
  254. package/modern/PieChart/PieArc.js +26 -57
  255. package/modern/PieChart/PieArcLabel.js +43 -34
  256. package/modern/PieChart/PieArcLabelPlot.js +90 -0
  257. package/modern/PieChart/PieArcPlot.js +83 -0
  258. package/modern/PieChart/PieChart.js +59 -12
  259. package/modern/PieChart/PiePlot.js +76 -55
  260. package/modern/PieChart/dataTransform/transition.js +130 -0
  261. package/modern/PieChart/dataTransform/useTransformData.js +58 -0
  262. package/modern/ResponsiveChartContainer/index.js +3 -3
  263. package/modern/ScatterChart/Scatter.js +10 -0
  264. package/modern/ScatterChart/ScatterChart.js +40 -8
  265. package/modern/ScatterChart/ScatterPlot.js +10 -0
  266. package/modern/SparkLineChart/SparkLineChart.js +25 -3
  267. package/modern/constants.js +1 -1
  268. package/modern/context/CartesianContextProvider.js +29 -13
  269. package/modern/context/DrawingProvider.js +8 -0
  270. package/modern/hooks/useChartDimensions.js +2 -0
  271. package/modern/hooks/useMounted.js +16 -0
  272. package/modern/hooks/useReducedMotion.js +27 -0
  273. package/modern/hooks/useTicks.js +15 -9
  274. package/modern/index.js +1 -1
  275. package/modern/internals/components/AxisSharedComponents.js +15 -70
  276. package/modern/internals/components/ChartsText.js +77 -0
  277. package/modern/internals/domUtils.js +113 -0
  278. package/modern/internals/geometry.js +36 -0
  279. package/package.json +9 -6
  280. package/themeAugmentation/components.d.ts +1 -0
  281. package/themeAugmentation/overrides.d.ts +2 -0
@@ -12,6 +12,17 @@ import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
12
12
  import { ChartsClipPath } from '../ChartsClipPath';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ /**
16
+ * Demos:
17
+ *
18
+ * - [Bars](https://mui.com/x/react-charts/bars/)
19
+ * - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
20
+ * - [Stacking](https://mui.com/x/react-charts/stacking/)
21
+ *
22
+ * API:
23
+ *
24
+ * - [BarChart API](https://mui.com/x/api/charts/bar-chart/)
25
+ */
15
26
  const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
16
27
  const {
17
28
  xAxis,
@@ -31,6 +42,7 @@ const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
31
42
  leftAxis,
32
43
  rightAxis,
33
44
  bottomAxis,
45
+ skipAnimation,
34
46
  children,
35
47
  slots,
36
48
  slotProps
@@ -76,7 +88,8 @@ const BarChart = /*#__PURE__*/React.forwardRef(function BarChart(props, ref) {
76
88
  clipPath: `url(#${clipPathId})`,
77
89
  children: /*#__PURE__*/_jsx(BarPlot, {
78
90
  slots: slots,
79
- slotProps: slotProps
91
+ slotProps: slotProps,
92
+ skipAnimation: skipAnimation
80
93
  })
81
94
  }), /*#__PURE__*/_jsx(ChartsAxis, {
82
95
  topAxis: topAxis,
@@ -118,11 +131,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
118
131
  fill: PropTypes.string,
119
132
  label: PropTypes.string,
120
133
  labelFontSize: PropTypes.number,
134
+ labelStyle: PropTypes.object,
121
135
  position: PropTypes.oneOf(['bottom', 'top']),
122
136
  slotProps: PropTypes.object,
123
137
  slots: PropTypes.object,
124
138
  stroke: PropTypes.string,
125
139
  tickFontSize: PropTypes.number,
140
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
141
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
142
+ tickLabelStyle: PropTypes.object,
126
143
  tickMaxStep: PropTypes.number,
127
144
  tickMinStep: PropTypes.number,
128
145
  tickNumber: PropTypes.number,
@@ -152,33 +169,33 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
152
169
  fill: PropTypes.string,
153
170
  label: PropTypes.string,
154
171
  labelFontSize: PropTypes.number,
172
+ labelStyle: PropTypes.object,
155
173
  position: PropTypes.oneOf(['left', 'right']),
156
174
  slotProps: PropTypes.object,
157
175
  slots: PropTypes.object,
158
176
  stroke: PropTypes.string,
159
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,
160
181
  tickMaxStep: PropTypes.number,
161
182
  tickMinStep: PropTypes.number,
162
183
  tickNumber: PropTypes.number,
163
184
  tickSize: PropTypes.number
164
185
  }), PropTypes.string]),
186
+ /**
187
+ * @deprecated Consider using `slotProps.legend` instead.
188
+ */
165
189
  legend: PropTypes.shape({
166
190
  classes: PropTypes.object,
167
191
  direction: PropTypes.oneOf(['column', 'row']),
168
192
  hidden: PropTypes.bool,
169
- itemWidth: PropTypes.number,
170
- markSize: PropTypes.number,
171
- offset: PropTypes.shape({
172
- x: PropTypes.number,
173
- y: PropTypes.number
174
- }),
175
193
  position: PropTypes.shape({
176
194
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
177
195
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
178
196
  }),
179
197
  slotProps: PropTypes.object,
180
- slots: PropTypes.object,
181
- spacing: PropTypes.number
198
+ slots: PropTypes.object
182
199
  }),
183
200
  margin: PropTypes.shape({
184
201
  bottom: PropTypes.number,
@@ -199,11 +216,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
199
216
  fill: PropTypes.string,
200
217
  label: PropTypes.string,
201
218
  labelFontSize: PropTypes.number,
219
+ labelStyle: PropTypes.object,
202
220
  position: PropTypes.oneOf(['left', 'right']),
203
221
  slotProps: PropTypes.object,
204
222
  slots: PropTypes.object,
205
223
  stroke: PropTypes.string,
206
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,
207
228
  tickMaxStep: PropTypes.number,
208
229
  tickMinStep: PropTypes.number,
209
230
  tickNumber: PropTypes.number,
@@ -228,6 +249,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
228
249
  xAxisKey: PropTypes.string,
229
250
  yAxisKey: PropTypes.string
230
251
  })).isRequired,
252
+ /**
253
+ * If `true`, animations are skiped.
254
+ * @default false
255
+ */
256
+ skipAnimation: PropTypes.bool,
231
257
  /**
232
258
  * The props used for each component slot.
233
259
  * @default {}
@@ -244,6 +270,8 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
244
270
  axisContent: PropTypes.elementType,
245
271
  classes: PropTypes.object,
246
272
  itemContent: PropTypes.elementType,
273
+ slotProps: PropTypes.object,
274
+ slots: PropTypes.object,
247
275
  trigger: PropTypes.oneOf(['axis', 'item', 'none'])
248
276
  }),
249
277
  /**
@@ -259,11 +287,15 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
259
287
  fill: PropTypes.string,
260
288
  label: PropTypes.string,
261
289
  labelFontSize: PropTypes.number,
290
+ labelStyle: PropTypes.object,
262
291
  position: PropTypes.oneOf(['bottom', 'top']),
263
292
  slotProps: PropTypes.object,
264
293
  slots: PropTypes.object,
265
294
  stroke: PropTypes.string,
266
295
  tickFontSize: PropTypes.number,
296
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
297
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
298
+ tickLabelStyle: PropTypes.object,
267
299
  tickMaxStep: PropTypes.number,
268
300
  tickMinStep: PropTypes.number,
269
301
  tickNumber: PropTypes.number,
@@ -288,6 +320,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
288
320
  id: PropTypes.string,
289
321
  label: PropTypes.string,
290
322
  labelFontSize: PropTypes.number,
323
+ labelStyle: PropTypes.object,
291
324
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
292
325
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
293
326
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -296,6 +329,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
296
329
  slots: PropTypes.object,
297
330
  stroke: PropTypes.string,
298
331
  tickFontSize: PropTypes.number,
332
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
333
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
334
+ tickLabelStyle: PropTypes.object,
299
335
  tickMaxStep: PropTypes.number,
300
336
  tickMinStep: PropTypes.number,
301
337
  tickNumber: PropTypes.number,
@@ -314,6 +350,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
314
350
  id: PropTypes.string,
315
351
  label: PropTypes.string,
316
352
  labelFontSize: PropTypes.number,
353
+ labelStyle: PropTypes.object,
317
354
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
318
355
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
319
356
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -322,6 +359,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
322
359
  slots: PropTypes.object,
323
360
  stroke: PropTypes.string,
324
361
  tickFontSize: PropTypes.number,
362
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
363
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
364
+ tickLabelStyle: PropTypes.object,
325
365
  tickMaxStep: PropTypes.number,
326
366
  tickMinStep: PropTypes.number,
327
367
  tickNumber: PropTypes.number,
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps"];
3
+ const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps", "style"];
4
4
  import * as React from 'react';
5
5
  import composeClasses from '@mui/utils/composeClasses';
6
6
  import { useSlotProps } from '@mui/base/utils';
@@ -8,13 +8,14 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass';
8
8
  import { styled } from '@mui/material/styles';
9
9
  import { color as d3Color } from 'd3-color';
10
10
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
11
+ import { animated } from '@react-spring/web';
11
12
  import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
12
13
  import { InteractionContext } from '../context/InteractionProvider';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  export function getBarElementUtilityClass(slot) {
15
16
  return generateUtilityClass('MuiBarElement', slot);
16
17
  }
17
- export const lineElementClasses = generateUtilityClasses('MuiBarElement', ['root']);
18
+ export const barElementClasses = generateUtilityClasses('MuiBarElement', ['root']);
18
19
  const useUtilityClasses = ownerState => {
19
20
  const {
20
21
  classes,
@@ -25,7 +26,7 @@ const useUtilityClasses = ownerState => {
25
26
  };
26
27
  return composeClasses(slots, getBarElementUtilityClass, classes);
27
28
  };
28
- export const BarElementPath = styled('rect', {
29
+ export const BarElementPath = styled(animated.rect, {
29
30
  name: 'MuiBarElement',
30
31
  slot: 'Root',
31
32
  overridesResolver: (_, styles) => styles.root
@@ -47,7 +48,8 @@ export function BarElement(props) {
47
48
  color,
48
49
  highlightScope,
49
50
  slots,
50
- slotProps
51
+ slotProps,
52
+ style
51
53
  } = props,
52
54
  other = _objectWithoutPropertiesLoose(props, _excluded);
53
55
  const getInteractionItemProps = useInteractionItemProps(highlightScope);
@@ -82,6 +84,7 @@ export function BarElement(props) {
82
84
  seriesId: id,
83
85
  dataIndex
84
86
  }), {
87
+ style,
85
88
  className: classes.root
86
89
  }),
87
90
  ownerState
@@ -1,11 +1,14 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
+ const _excluded = ["skipAnimation"];
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
6
+ import { useTransition } from '@react-spring/web';
4
7
  import { SeriesContext } from '../context/SeriesContextProvider';
5
8
  import { CartesianContext } from '../context/CartesianContextProvider';
6
9
  import { BarElement } from './BarElement';
7
10
  import { isBandScaleConfig } from '../models/axis';
8
-
11
+ import { jsx as _jsx } from "react/jsx-runtime";
9
12
  /**
10
13
  * Solution of the equations
11
14
  * W = barWidth * N + offset * (N-1)
@@ -15,7 +18,6 @@ import { isBandScaleConfig } from '../models/axis';
15
18
  * @param gapRatio The ratio of the gap between bars over the bar width.
16
19
  * @returns The bar width and the offset between bars.
17
20
  */
18
- import { jsx as _jsx } from "react/jsx-runtime";
19
21
  function getBandSize({
20
22
  bandWidth: W,
21
23
  numberOfGroups: N,
@@ -34,12 +36,14 @@ function getBandSize({
34
36
  offset
35
37
  };
36
38
  }
37
- function BarPlot(props) {
38
- const seriesData = React.useContext(SeriesContext).bar;
39
+ const useCompletedData = () => {
40
+ var _React$useContext$bar;
41
+ const seriesData = (_React$useContext$bar = React.useContext(SeriesContext).bar) != null ? _React$useContext$bar : {
42
+ series: {},
43
+ stackingGroups: [],
44
+ seriesOrder: []
45
+ };
39
46
  const axisData = React.useContext(CartesianContext);
40
- if (seriesData === undefined) {
41
- return null;
42
- }
43
47
  const {
44
48
  series,
45
49
  stackingGroups
@@ -52,68 +56,144 @@ function BarPlot(props) {
52
56
  } = axisData;
53
57
  const defaultXAxisId = xAxisIds[0];
54
58
  const defaultYAxisId = yAxisIds[0];
55
- return /*#__PURE__*/_jsx(React.Fragment, {
56
- children: stackingGroups.flatMap(({
57
- ids: groupIds
58
- }, groupIndex) => {
59
- return groupIds.flatMap(seriesId => {
60
- var _series$seriesId$xAxi, _series$seriesId$yAxi;
61
- const xAxisKey = (_series$seriesId$xAxi = series[seriesId].xAxisKey) != null ? _series$seriesId$xAxi : defaultXAxisId;
62
- const yAxisKey = (_series$seriesId$yAxi = series[seriesId].yAxisKey) != null ? _series$seriesId$yAxi : defaultYAxisId;
63
- const xAxisConfig = xAxis[xAxisKey];
64
- const yAxisConfig = yAxis[yAxisKey];
65
- const verticalLayout = series[seriesId].layout === 'vertical';
66
- let baseScaleConfig;
67
- if (verticalLayout) {
68
- if (!isBandScaleConfig(xAxisConfig)) {
69
- throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
70
- }
71
- if (xAxis[xAxisKey].data === undefined) {
72
- throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
73
- }
74
- baseScaleConfig = xAxisConfig;
75
- } else {
76
- if (!isBandScaleConfig(yAxisConfig)) {
77
- throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
78
- }
79
- if (yAxis[yAxisKey].data === undefined) {
80
- throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
81
- }
82
- baseScaleConfig = yAxisConfig;
59
+ const data = stackingGroups.flatMap(({
60
+ ids: groupIds
61
+ }, groupIndex) => {
62
+ return groupIds.flatMap(seriesId => {
63
+ var _series$seriesId$xAxi, _series$seriesId$yAxi;
64
+ const xAxisKey = (_series$seriesId$xAxi = series[seriesId].xAxisKey) != null ? _series$seriesId$xAxi : defaultXAxisId;
65
+ const yAxisKey = (_series$seriesId$yAxi = series[seriesId].yAxisKey) != null ? _series$seriesId$yAxi : defaultYAxisId;
66
+ const xAxisConfig = xAxis[xAxisKey];
67
+ const yAxisConfig = yAxis[yAxisKey];
68
+ const verticalLayout = series[seriesId].layout === 'vertical';
69
+ let baseScaleConfig;
70
+ if (verticalLayout) {
71
+ if (!isBandScaleConfig(xAxisConfig)) {
72
+ throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
73
+ }
74
+ if (xAxis[xAxisKey].data === undefined) {
75
+ throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
76
+ }
77
+ baseScaleConfig = xAxisConfig;
78
+ } else {
79
+ if (!isBandScaleConfig(yAxisConfig)) {
80
+ throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
83
81
  }
84
- const xScale = xAxisConfig.scale;
85
- const yScale = yAxisConfig.scale;
86
- const bandWidth = baseScaleConfig.scale.bandwidth();
87
- const {
88
- barWidth,
89
- offset
90
- } = getBandSize({
91
- bandWidth,
92
- numberOfGroups: stackingGroups.length,
93
- gapRatio: baseScaleConfig.barGapRatio
94
- });
95
- const barOffset = groupIndex * (barWidth + offset);
96
- const {
97
- stackedData,
98
- color
99
- } = series[seriesId];
100
- return stackedData.map((values, dataIndex) => {
101
- var _xAxis$xAxisKey$data, _yAxis$yAxisKey$data;
102
- const baseline = Math.min(...values);
103
- const value = Math.max(...values);
104
- return /*#__PURE__*/_jsx(BarElement, _extends({
105
- id: seriesId,
106
- dataIndex: dataIndex,
107
- x: verticalLayout ? xScale((_xAxis$xAxisKey$data = xAxis[xAxisKey].data) == null ? void 0 : _xAxis$xAxisKey$data[dataIndex]) + barOffset : xScale(baseline),
108
- y: verticalLayout ? yScale(value) : yScale((_yAxis$yAxisKey$data = yAxis[yAxisKey].data) == null ? void 0 : _yAxis$yAxisKey$data[dataIndex]) + barOffset,
109
- height: verticalLayout ? Math.abs(yScale(baseline) - yScale(value)) : barWidth,
110
- width: verticalLayout ? barWidth : Math.abs(xScale(baseline) - xScale(value)),
111
- color: color,
112
- highlightScope: series[seriesId].highlightScope
113
- }, props), `${seriesId}-${dataIndex}`);
114
- });
82
+ if (yAxis[yAxisKey].data === undefined) {
83
+ throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
84
+ }
85
+ baseScaleConfig = yAxisConfig;
86
+ }
87
+ const xScale = xAxisConfig.scale;
88
+ const yScale = yAxisConfig.scale;
89
+ const bandWidth = baseScaleConfig.scale.bandwidth();
90
+ const {
91
+ barWidth,
92
+ offset
93
+ } = getBandSize({
94
+ bandWidth,
95
+ numberOfGroups: stackingGroups.length,
96
+ gapRatio: baseScaleConfig.barGapRatio
97
+ });
98
+ const barOffset = groupIndex * (barWidth + offset);
99
+ const {
100
+ stackedData,
101
+ color
102
+ } = series[seriesId];
103
+ return stackedData.map((values, dataIndex) => {
104
+ var _xAxis$xAxisKey$data, _yAxis$yAxisKey$data;
105
+ const bottom = Math.min(...values);
106
+ const top = Math.max(...values);
107
+ return {
108
+ bottom,
109
+ top,
110
+ seriesId,
111
+ dataIndex,
112
+ layout: series[seriesId].layout,
113
+ x: verticalLayout ? xScale((_xAxis$xAxisKey$data = xAxis[xAxisKey].data) == null ? void 0 : _xAxis$xAxisKey$data[dataIndex]) + barOffset : xScale(bottom),
114
+ y: verticalLayout ? yScale(top) : yScale((_yAxis$yAxisKey$data = yAxis[yAxisKey].data) == null ? void 0 : _yAxis$yAxisKey$data[dataIndex]) + barOffset,
115
+ xOrigin: xScale(0),
116
+ yOrigin: yScale(0),
117
+ height: verticalLayout ? Math.abs(yScale(bottom) - yScale(top)) : barWidth,
118
+ width: verticalLayout ? barWidth : Math.abs(xScale(bottom) - xScale(top)),
119
+ color,
120
+ highlightScope: series[seriesId].highlightScope
121
+ };
115
122
  });
116
- })
123
+ });
124
+ });
125
+ return data;
126
+ };
127
+ const getOutStyle = ({
128
+ layout,
129
+ yOrigin,
130
+ x,
131
+ width,
132
+ y,
133
+ xOrigin,
134
+ height
135
+ }) => _extends({}, layout === 'vertical' ? {
136
+ y: yOrigin,
137
+ x,
138
+ height: 0,
139
+ width
140
+ } : {
141
+ y,
142
+ x: xOrigin,
143
+ height,
144
+ width: 0
145
+ });
146
+ const getInStyle = ({
147
+ x,
148
+ width,
149
+ y,
150
+ height
151
+ }) => ({
152
+ y,
153
+ x,
154
+ height,
155
+ width
156
+ });
157
+
158
+ /**
159
+ * Demos:
160
+ *
161
+ * - [Bars](https://mui.com/x/react-charts/bars/)
162
+ * - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
163
+ * - [Stacking](https://mui.com/x/react-charts/stacking/)
164
+ *
165
+ * API:
166
+ *
167
+ * - [BarPlot API](https://mui.com/x/api/charts/bar-plot/)
168
+ */
169
+ function BarPlot(props) {
170
+ const completedData = useCompletedData();
171
+ const {
172
+ skipAnimation
173
+ } = props,
174
+ other = _objectWithoutPropertiesLoose(props, _excluded);
175
+ const transition = useTransition(completedData, {
176
+ keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
177
+ from: getOutStyle,
178
+ leave: getOutStyle,
179
+ enter: getInStyle,
180
+ update: getInStyle,
181
+ immediate: skipAnimation
182
+ });
183
+ return /*#__PURE__*/_jsx(React.Fragment, {
184
+ children: transition((style, {
185
+ seriesId,
186
+ dataIndex,
187
+ color,
188
+ highlightScope
189
+ }) => /*#__PURE__*/_jsx(BarElement, _extends({
190
+ id: seriesId,
191
+ dataIndex: dataIndex,
192
+ highlightScope: highlightScope,
193
+ color: color
194
+ }, other, {
195
+ style: style
196
+ })))
117
197
  });
118
198
  }
119
199
  process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
@@ -121,6 +201,11 @@ process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
121
201
  // | These PropTypes are generated from the TypeScript type definitions |
122
202
  // | To update them edit the TypeScript types and run "yarn proptypes" |
123
203
  // ----------------------------------------------------------------------
204
+ /**
205
+ * If `true`, animations are skiped.
206
+ * @default false
207
+ */
208
+ skipAnimation: PropTypes.bool,
124
209
  /**
125
210
  * The props used for each component slot.
126
211
  * @default {}
@@ -53,7 +53,7 @@ const formatter = (params, dataset) => {
53
53
  return {
54
54
  seriesOrder,
55
55
  stackingGroups,
56
- series: defaultizeValueFormatter(completedSeries, v => v.toLocaleString())
56
+ series: defaultizeValueFormatter(completedSeries, v => v == null ? void 0 : v.toLocaleString())
57
57
  };
58
58
  };
59
59
  export default formatter;
@@ -3,6 +3,7 @@ import useForkRef from '@mui/utils/useForkRef';
3
3
  import { DrawingProvider } from '../context/DrawingProvider';
4
4
  import { SeriesContextProvider } from '../context/SeriesContextProvider';
5
5
  import { InteractionProvider } from '../context/InteractionProvider';
6
+ import { useReducedMotion } from '../hooks/useReducedMotion';
6
7
  import { ChartsSurface } from '../ChartsSurface';
7
8
  import { CartesianContextProvider } from '../context/CartesianContextProvider';
8
9
  import { HighlightProvider } from '../context/HighlightProvider';
@@ -25,6 +26,8 @@ export const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContai
25
26
  } = props;
26
27
  const svgRef = React.useRef(null);
27
28
  const handleRef = useForkRef(ref, svgRef);
29
+ useReducedMotion(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
30
+
28
31
  return /*#__PURE__*/_jsx(DrawingProvider, {
29
32
  width: width,
30
33
  height: height,
@@ -24,6 +24,16 @@ const mergeProps = (axisConfig, slots, slotProps) => {
24
24
  slotProps
25
25
  };
26
26
  };
27
+
28
+ /**
29
+ * Demos:
30
+ *
31
+ * - [Axis](https://mui.com/x/react-charts/axis/)
32
+ *
33
+ * API:
34
+ *
35
+ * - [ChartsAxis API](https://mui.com/x/api/charts/charts-axis/)
36
+ */
27
37
  function ChartsAxis(props) {
28
38
  const {
29
39
  topAxis,
@@ -97,11 +107,15 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
97
107
  fill: PropTypes.string,
98
108
  label: PropTypes.string,
99
109
  labelFontSize: PropTypes.number,
110
+ labelStyle: PropTypes.object,
100
111
  position: PropTypes.oneOf(['bottom', 'top']),
101
112
  slotProps: PropTypes.object,
102
113
  slots: PropTypes.object,
103
114
  stroke: PropTypes.string,
104
115
  tickFontSize: PropTypes.number,
116
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
117
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
118
+ tickLabelStyle: PropTypes.object,
105
119
  tickMaxStep: PropTypes.number,
106
120
  tickMinStep: PropTypes.number,
107
121
  tickNumber: PropTypes.number,
@@ -120,11 +134,15 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
120
134
  fill: PropTypes.string,
121
135
  label: PropTypes.string,
122
136
  labelFontSize: PropTypes.number,
137
+ labelStyle: PropTypes.object,
123
138
  position: PropTypes.oneOf(['left', 'right']),
124
139
  slotProps: PropTypes.object,
125
140
  slots: PropTypes.object,
126
141
  stroke: PropTypes.string,
127
142
  tickFontSize: PropTypes.number,
143
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
144
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
145
+ tickLabelStyle: PropTypes.object,
128
146
  tickMaxStep: PropTypes.number,
129
147
  tickMinStep: PropTypes.number,
130
148
  tickNumber: PropTypes.number,
@@ -143,11 +161,15 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
143
161
  fill: PropTypes.string,
144
162
  label: PropTypes.string,
145
163
  labelFontSize: PropTypes.number,
164
+ labelStyle: PropTypes.object,
146
165
  position: PropTypes.oneOf(['left', 'right']),
147
166
  slotProps: PropTypes.object,
148
167
  slots: PropTypes.object,
149
168
  stroke: PropTypes.string,
150
169
  tickFontSize: PropTypes.number,
170
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
171
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
172
+ tickLabelStyle: PropTypes.object,
151
173
  tickMaxStep: PropTypes.number,
152
174
  tickMinStep: PropTypes.number,
153
175
  tickNumber: PropTypes.number,
@@ -176,11 +198,15 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
176
198
  fill: PropTypes.string,
177
199
  label: PropTypes.string,
178
200
  labelFontSize: PropTypes.number,
201
+ labelStyle: PropTypes.object,
179
202
  position: PropTypes.oneOf(['bottom', 'top']),
180
203
  slotProps: PropTypes.object,
181
204
  slots: PropTypes.object,
182
205
  stroke: PropTypes.string,
183
206
  tickFontSize: PropTypes.number,
207
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
208
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
209
+ tickLabelStyle: PropTypes.object,
184
210
  tickMaxStep: PropTypes.number,
185
211
  tickMinStep: PropTypes.number,
186
212
  tickNumber: PropTypes.number,