@mui/x-charts-premium 9.2.0 → 9.4.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 (214) hide show
  1. package/BarChartPremium/BarChartPremium.js +65 -35
  2. package/BarChartPremium/BarChartPremium.mjs +65 -35
  3. package/BarChartPremium/RangeBar/RangeBarPlot.d.mts +10 -0
  4. package/BarChartPremium/RangeBar/RangeBarPlot.d.ts +10 -0
  5. package/BarChartPremium/RangeBar/RangeBarPlot.js +59 -2
  6. package/BarChartPremium/RangeBar/RangeBarPlot.mjs +59 -2
  7. package/BarChartPremium/RangeBar/RangeBarWebGLPlot.d.mts +10 -0
  8. package/BarChartPremium/RangeBar/RangeBarWebGLPlot.d.ts +10 -0
  9. package/BarChartPremium/RangeBar/RangeBarWebGLPlot.js +82 -0
  10. package/BarChartPremium/RangeBar/RangeBarWebGLPlot.mjs +76 -0
  11. package/BarChartPremium/RangeBar/seriesConfig/extrema.js +3 -0
  12. package/BarChartPremium/RangeBar/seriesConfig/extrema.mjs +3 -0
  13. package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +2 -2
  14. package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +2 -2
  15. package/BarChartPremium/useBarChartPremiumProps.js +2 -1
  16. package/BarChartPremium/useBarChartPremiumProps.mjs +2 -1
  17. package/BarChartPremium/webgl/useBarWebGLPlotData.d.mts +2 -7
  18. package/BarChartPremium/webgl/useBarWebGLPlotData.d.ts +2 -7
  19. package/BarChartPremium/webgl/useBarWebGLPlotData.js +4 -151
  20. package/BarChartPremium/webgl/useBarWebGLPlotData.mjs +4 -150
  21. package/BarChartPremium/webgl/useWebGLBarLikePlotData.d.mts +39 -0
  22. package/BarChartPremium/webgl/useWebGLBarLikePlotData.d.ts +39 -0
  23. package/BarChartPremium/webgl/useWebGLBarLikePlotData.js +169 -0
  24. package/BarChartPremium/webgl/useWebGLBarLikePlotData.mjs +163 -0
  25. package/CHANGELOG.md +314 -0
  26. package/CandlestickChart/CandlestickChart.js +36 -27
  27. package/CandlestickChart/CandlestickChart.mjs +36 -27
  28. package/CandlestickChart/seriesConfig/extrema.js +3 -0
  29. package/CandlestickChart/seriesConfig/extrema.mjs +3 -0
  30. package/CandlestickChart/seriesConfig/seriesProcessor.js +2 -2
  31. package/CandlestickChart/seriesConfig/seriesProcessor.mjs +2 -2
  32. package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
  33. package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
  34. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.d.mts +35 -0
  35. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.d.ts +35 -0
  36. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.js +125 -0
  37. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.mjs +119 -0
  38. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.d.mts +5 -0
  39. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.d.ts +5 -0
  40. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.js +10 -0
  41. package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.mjs +4 -0
  42. package/ChartsGeoDataProviderPremium/index.d.mts +3 -0
  43. package/ChartsGeoDataProviderPremium/index.d.ts +3 -0
  44. package/ChartsGeoDataProviderPremium/index.js +20 -0
  45. package/ChartsGeoDataProviderPremium/index.mjs +3 -0
  46. package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.d.mts +10 -0
  47. package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.d.ts +10 -0
  48. package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.js +49 -0
  49. package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.mjs +42 -0
  50. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +2 -2
  51. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +2 -2
  52. package/HeatmapPremium/HeatmapPremium.js +52 -22
  53. package/HeatmapPremium/HeatmapPremium.mjs +52 -22
  54. package/Map/FocusedMapShape.d.mts +4 -0
  55. package/Map/FocusedMapShape.d.ts +4 -0
  56. package/Map/FocusedMapShape.js +66 -0
  57. package/Map/FocusedMapShape.mjs +60 -0
  58. package/Map/GeoDataPlot.d.mts +26 -0
  59. package/Map/GeoDataPlot.d.ts +26 -0
  60. package/Map/GeoDataPlot.js +65 -0
  61. package/Map/GeoDataPlot.mjs +60 -0
  62. package/Map/Graticule.d.mts +1 -0
  63. package/Map/Graticule.d.ts +1 -0
  64. package/Map/Graticule.js +30 -0
  65. package/Map/Graticule.mjs +24 -0
  66. package/Map/MapShape.d.mts +10 -0
  67. package/Map/MapShape.d.ts +10 -0
  68. package/Map/MapShape.js +55 -0
  69. package/Map/MapShape.mjs +49 -0
  70. package/Map/MapShapePlot.d.mts +21 -0
  71. package/Map/MapShapePlot.d.ts +21 -0
  72. package/Map/MapShapePlot.js +86 -0
  73. package/Map/MapShapePlot.mjs +80 -0
  74. package/Map/index.d.mts +7 -0
  75. package/Map/index.d.ts +7 -0
  76. package/Map/index.js +60 -0
  77. package/Map/index.mjs +8 -0
  78. package/Map/seriesConfig/descriptionGetter.d.mts +3 -0
  79. package/Map/seriesConfig/descriptionGetter.d.ts +3 -0
  80. package/Map/seriesConfig/descriptionGetter.js +19 -0
  81. package/Map/seriesConfig/descriptionGetter.mjs +13 -0
  82. package/Map/seriesConfig/getColor.d.mts +3 -0
  83. package/Map/seriesConfig/getColor.d.ts +3 -0
  84. package/Map/seriesConfig/getColor.js +35 -0
  85. package/Map/seriesConfig/getColor.mjs +29 -0
  86. package/Map/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
  87. package/Map/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  88. package/Map/seriesConfig/getSeriesWithDefaultValues.js +15 -0
  89. package/Map/seriesConfig/getSeriesWithDefaultValues.mjs +8 -0
  90. package/Map/seriesConfig/index.d.mts +2 -0
  91. package/Map/seriesConfig/index.d.ts +2 -0
  92. package/Map/seriesConfig/index.js +28 -0
  93. package/Map/seriesConfig/index.mjs +21 -0
  94. package/Map/seriesConfig/keyboardFocusHandler.d.mts +9 -0
  95. package/Map/seriesConfig/keyboardFocusHandler.d.ts +9 -0
  96. package/Map/seriesConfig/keyboardFocusHandler.js +19 -0
  97. package/Map/seriesConfig/keyboardFocusHandler.mjs +13 -0
  98. package/Map/seriesConfig/legend.d.mts +3 -0
  99. package/Map/seriesConfig/legend.d.ts +3 -0
  100. package/Map/seriesConfig/legend.js +28 -0
  101. package/Map/seriesConfig/legend.mjs +22 -0
  102. package/Map/seriesConfig/seriesProcessor.d.mts +3 -0
  103. package/Map/seriesConfig/seriesProcessor.d.ts +3 -0
  104. package/Map/seriesConfig/seriesProcessor.js +66 -0
  105. package/Map/seriesConfig/seriesProcessor.mjs +59 -0
  106. package/Map/seriesConfig/tooltip.d.mts +3 -0
  107. package/Map/seriesConfig/tooltip.d.ts +3 -0
  108. package/Map/seriesConfig/tooltip.js +33 -0
  109. package/Map/seriesConfig/tooltip.mjs +27 -0
  110. package/RadialBarChart/RadialBarChart.js +10 -10
  111. package/RadialBarChart/RadialBarChart.mjs +10 -10
  112. package/RadialBarChart/seriesConfig/getColor.js +7 -51
  113. package/RadialBarChart/seriesConfig/getColor.mjs +8 -52
  114. package/RadialBarChart/seriesConfig/tooltip.js +3 -26
  115. package/RadialBarChart/seriesConfig/tooltip.mjs +4 -27
  116. package/RadialLineChart/RadialArea.d.mts +2 -11
  117. package/RadialLineChart/RadialArea.d.ts +2 -11
  118. package/RadialLineChart/RadialArea.js +4 -3
  119. package/RadialLineChart/RadialArea.mjs +4 -3
  120. package/RadialLineChart/RadialAreaPlot.js +3 -1
  121. package/RadialLineChart/RadialAreaPlot.mjs +3 -1
  122. package/RadialLineChart/RadialLine.d.mts +4 -3
  123. package/RadialLineChart/RadialLine.d.ts +4 -3
  124. package/RadialLineChart/RadialLine.js +4 -3
  125. package/RadialLineChart/RadialLine.mjs +4 -3
  126. package/RadialLineChart/RadialLineChart.d.mts +7 -5
  127. package/RadialLineChart/RadialLineChart.d.ts +7 -5
  128. package/RadialLineChart/RadialLineChart.js +11 -11
  129. package/RadialLineChart/RadialLineChart.mjs +11 -11
  130. package/RadialLineChart/RadialLineHighlightPlot.d.mts +3 -2
  131. package/RadialLineChart/RadialLineHighlightPlot.d.ts +3 -2
  132. package/RadialLineChart/RadialLinePlot.js +3 -1
  133. package/RadialLineChart/RadialLinePlot.mjs +3 -1
  134. package/RadialLineChart/seriesConfig/getColor.js +6 -53
  135. package/RadialLineChart/seriesConfig/getColor.mjs +7 -54
  136. package/RadialLineChart/seriesConfig/seriesProcessor.d.mts +2 -2
  137. package/RadialLineChart/seriesConfig/seriesProcessor.d.ts +2 -2
  138. package/RadialLineChart/seriesConfig/seriesProcessor.js +1 -138
  139. package/RadialLineChart/seriesConfig/seriesProcessor.mjs +2 -138
  140. package/RadialLineChart/seriesConfig/tooltip.js +3 -24
  141. package/RadialLineChart/seriesConfig/tooltip.mjs +4 -25
  142. package/RadialLineChart/useRadialLinePlotData.d.mts +1 -0
  143. package/RadialLineChart/useRadialLinePlotData.d.ts +1 -0
  144. package/RadialLineChart/useRadialLinePlotData.js +3 -1
  145. package/RadialLineChart/useRadialLinePlotData.mjs +3 -1
  146. package/ScatterChartPremium/ScatterChartPremium.d.mts +2 -1
  147. package/ScatterChartPremium/ScatterChartPremium.d.ts +2 -1
  148. package/ScatterChartPremium/ScatterChartPremium.js +62 -32
  149. package/ScatterChartPremium/ScatterChartPremium.mjs +62 -32
  150. package/hooks/index.d.mts +4 -1
  151. package/hooks/index.d.ts +4 -1
  152. package/hooks/index.js +33 -0
  153. package/hooks/index.mjs +4 -1
  154. package/hooks/useGeoData.d.mts +6 -0
  155. package/hooks/useGeoData.d.ts +6 -0
  156. package/hooks/useGeoData.js +17 -0
  157. package/hooks/useGeoData.mjs +13 -0
  158. package/hooks/useGeoFeatureIndexesByName.d.mts +7 -0
  159. package/hooks/useGeoFeatureIndexesByName.d.ts +7 -0
  160. package/hooks/useGeoFeatureIndexesByName.js +19 -0
  161. package/hooks/useGeoFeatureIndexesByName.mjs +15 -0
  162. package/hooks/useGeoPath.d.mts +6 -0
  163. package/hooks/useGeoPath.d.ts +6 -0
  164. package/hooks/useGeoPath.js +17 -0
  165. package/hooks/useGeoPath.mjs +13 -0
  166. package/hooks/useMapShapeSeries.d.mts +34 -0
  167. package/hooks/useMapShapeSeries.d.ts +34 -0
  168. package/hooks/useMapShapeSeries.js +45 -0
  169. package/hooks/useMapShapeSeries.mjs +40 -0
  170. package/index.d.mts +2 -0
  171. package/index.d.ts +2 -0
  172. package/index.js +25 -1
  173. package/index.mjs +3 -1
  174. package/internals/plugins/useGeoProjection/index.d.mts +3 -0
  175. package/internals/plugins/useGeoProjection/index.d.ts +3 -0
  176. package/internals/plugins/useGeoProjection/index.js +38 -0
  177. package/internals/plugins/useGeoProjection/index.mjs +3 -0
  178. package/internals/plugins/useGeoProjection/useGeoProjection.d.mts +3 -0
  179. package/internals/plugins/useGeoProjection/useGeoProjection.d.ts +3 -0
  180. package/internals/plugins/useGeoProjection/useGeoProjection.js +58 -0
  181. package/internals/plugins/useGeoProjection/useGeoProjection.mjs +50 -0
  182. package/internals/plugins/useGeoProjection/useGeoProjection.selectors.d.mts +39 -0
  183. package/internals/plugins/useGeoProjection/useGeoProjection.selectors.d.ts +39 -0
  184. package/internals/plugins/useGeoProjection/useGeoProjection.selectors.js +135 -0
  185. package/internals/plugins/useGeoProjection/useGeoProjection.selectors.mjs +128 -0
  186. package/internals/plugins/useGeoProjection/useGeoProjection.types.d.mts +55 -0
  187. package/internals/plugins/useGeoProjection/useGeoProjection.types.d.ts +55 -0
  188. package/internals/plugins/useGeoProjection/useGeoProjection.types.js +5 -0
  189. package/internals/plugins/useGeoProjection/useGeoProjection.types.mjs +1 -0
  190. package/models/chartsSlotsComponentsPropsPremium.d.mts +1 -0
  191. package/models/chartsSlotsComponentsPropsPremium.d.ts +1 -0
  192. package/models/chartsSlotsComponentsPropsPremium.js +5 -0
  193. package/models/chartsSlotsComponentsPropsPremium.mjs +1 -0
  194. package/models/index.d.mts +2 -1
  195. package/models/index.d.ts +2 -1
  196. package/models/index.js +11 -0
  197. package/models/index.mjs +2 -1
  198. package/models/seriesType/index.d.mts +2 -1
  199. package/models/seriesType/index.d.ts +2 -1
  200. package/models/seriesType/index.js +11 -0
  201. package/models/seriesType/index.mjs +2 -1
  202. package/models/seriesType/mapShape.d.mts +105 -0
  203. package/models/seriesType/mapShape.d.ts +105 -0
  204. package/models/seriesType/mapShape.js +5 -0
  205. package/models/seriesType/mapShape.mjs +1 -0
  206. package/models/seriesType/radialBar.d.mts +1 -1
  207. package/models/seriesType/radialBar.d.ts +1 -1
  208. package/models/seriesType/radialLine.d.mts +4 -0
  209. package/models/seriesType/radialLine.d.ts +4 -0
  210. package/package.json +34 -6
  211. package/typeOverloads/modules.d.mts +16 -1
  212. package/typeOverloads/modules.d.ts +16 -1
  213. package/utils/webgl/useWebGLResizeObserver.js +3 -3
  214. package/utils/webgl/useWebGLResizeObserver.mjs +2 -2
@@ -94,12 +94,12 @@ const BarChartPremium = exports.BarChartPremium = /*#__PURE__*/React.forwardRef(
94
94
  children: [renderer === 'webgl' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
95
95
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSvgLayer.ChartsSvgLayer, {
96
96
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps))
97
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsWebGLLayer.ChartsWebGLLayer, {
98
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlotPremium.BarPlotPremium, (0, _extends2.default)({}, barPlotPremiumProps))
97
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsWebGLLayer.ChartsWebGLLayer, {
98
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlotPremium.BarPlotPremium, (0, _extends2.default)({}, barPlotPremiumProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangeBarPlot.RangeBarPlot, (0, _extends2.default)({}, rangeBarPlotProps))]
99
99
  })]
100
100
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSvgLayer.ChartsSvgLayer, (0, _extends2.default)({}, chartsSurfaceProps, {
101
101
  children: [renderer !== 'webgl' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
102
- children: [renderer !== 'webgl' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlotPremium.BarPlotPremium, (0, _extends2.default)({}, barPlotPremiumProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangeBarPlot.RangeBarPlot, (0, _extends2.default)({}, rangeBarPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarChart.FocusedBar, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FocusedRangeBar.FocusedRangeBar, {})]
102
+ children: [renderer !== 'webgl' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarPlotPremium.BarPlotPremium, (0, _extends2.default)({}, barPlotPremiumProps)), renderer !== 'webgl' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangeBarPlot.RangeBarPlot, (0, _extends2.default)({}, rangeBarPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarChart.FocusedBar, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FocusedRangeBar.FocusedRangeBar, {})]
103
103
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsZoomSlider.ChartsZoomSlider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsBrushOverlay.ChartsBrushOverlay, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
104
104
  }))]
105
105
  }), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, props.slotProps?.tooltip))]
@@ -211,11 +211,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
211
211
  hiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
212
212
  dataIndex: _propTypes.default.number,
213
213
  seriesId: _propTypes.default.string.isRequired,
214
- type: _propTypes.default.oneOf(['bar'])
214
+ type: _propTypes.default.oneOf(['bar']).isRequired
215
215
  }), _propTypes.default.shape({
216
216
  dataIndex: _propTypes.default.number,
217
217
  seriesId: _propTypes.default.string.isRequired,
218
- type: _propTypes.default.oneOf(['bar']).isRequired
218
+ type: _propTypes.default.oneOf(['bar'])
219
219
  })]).isRequired),
220
220
  /**
221
221
  * If `true`, the legend is not rendered.
@@ -235,11 +235,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
235
235
  */
236
236
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
237
237
  dataIndex: _propTypes.default.number,
238
- seriesId: _propTypes.default.string.isRequired,
239
- type: _propTypes.default.oneOf(['bar']).isRequired
238
+ seriesId: _propTypes.default.string.isRequired
240
239
  }), _propTypes.default.shape({
241
240
  dataIndex: _propTypes.default.number,
242
- seriesId: _propTypes.default.string.isRequired
241
+ seriesId: _propTypes.default.string.isRequired,
242
+ type: _propTypes.default.oneOf(['bar']).isRequired
243
243
  })]),
244
244
  /**
245
245
  * This prop is used to help implement the accessibility logic.
@@ -270,21 +270,30 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
270
270
  initialHiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
271
271
  dataIndex: _propTypes.default.number,
272
272
  seriesId: _propTypes.default.string.isRequired,
273
- type: _propTypes.default.oneOf(['bar'])
273
+ type: _propTypes.default.oneOf(['bar']).isRequired
274
274
  }), _propTypes.default.shape({
275
275
  dataIndex: _propTypes.default.number,
276
276
  seriesId: _propTypes.default.string.isRequired,
277
- type: _propTypes.default.oneOf(['bar']).isRequired
277
+ type: _propTypes.default.oneOf(['bar'])
278
278
  })]).isRequired),
279
279
  /**
280
280
  * The list of zoom data related to each axis.
281
281
  * Used to initialize the zoom in a specific configuration without controlling it.
282
+ *
283
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
284
+ * range value (`{ axisId, value }`) resolved against the axis domain.
282
285
  */
283
- initialZoom: _propTypes.default.arrayOf(_propTypes.default.shape({
286
+ initialZoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
284
287
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
285
288
  end: _propTypes.default.number.isRequired,
286
289
  start: _propTypes.default.number.isRequired
287
- })),
290
+ }), _propTypes.default.shape({
291
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
292
+ value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.instanceOf(Date).isRequired), _propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func, _propTypes.default.shape({
293
+ step: _propTypes.default.number,
294
+ unit: _propTypes.default.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
295
+ })])
296
+ })]).isRequired),
288
297
  /**
289
298
  * The direction of the bar elements.
290
299
  * @default 'vertical'
@@ -419,11 +428,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
419
428
  */
420
429
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
421
430
  dataIndex: _propTypes.default.number.isRequired,
422
- seriesId: _propTypes.default.string.isRequired,
423
- type: _propTypes.default.oneOf(['bar']).isRequired
431
+ seriesId: _propTypes.default.string.isRequired
424
432
  }), _propTypes.default.shape({
425
433
  dataIndex: _propTypes.default.number.isRequired,
426
- seriesId: _propTypes.default.string.isRequired
434
+ seriesId: _propTypes.default.string.isRequired,
435
+ type: _propTypes.default.oneOf(['bar']).isRequired
427
436
  })]),
428
437
  /**
429
438
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -446,11 +455,6 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
446
455
  */
447
456
  zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
448
457
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
449
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
450
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
451
- unknownColor: _propTypes.default.string,
452
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
453
- }), _propTypes.default.shape({
454
458
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
455
459
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
456
460
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -459,12 +463,38 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
459
463
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
460
464
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
461
465
  type: _propTypes.default.oneOf(['piecewise']).isRequired
466
+ }), _propTypes.default.shape({
467
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
468
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
469
+ unknownColor: _propTypes.default.string,
470
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
462
471
  })]),
463
472
  data: _propTypes.default.array,
464
473
  dataKey: _propTypes.default.string,
465
474
  id: _propTypes.default.string,
466
475
  max: _propTypes.default.number,
467
476
  min: _propTypes.default.number,
477
+ sizeMap: _propTypes.default.oneOfType([_propTypes.default.shape({
478
+ interpolator: _propTypes.default.oneOf(['linear', 'log', 'sqrt']),
479
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
480
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
481
+ size: _propTypes.default.arrayOf(_propTypes.default.number.isRequired).isRequired,
482
+ type: _propTypes.default.oneOf(['continuous']).isRequired
483
+ }), _propTypes.default.shape({
484
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
485
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
486
+ size: _propTypes.default.func.isRequired,
487
+ type: _propTypes.default.oneOf(['continuous']).isRequired
488
+ }), _propTypes.default.shape({
489
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
490
+ thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
491
+ type: _propTypes.default.oneOf(['piecewise']).isRequired
492
+ }), _propTypes.default.shape({
493
+ sizes: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
494
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
495
+ unknownSize: _propTypes.default.number,
496
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
497
+ })]),
468
498
  valueGetter: _propTypes.default.func
469
499
  })),
470
500
  /**
@@ -480,6 +510,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
480
510
  */
481
511
  zoomInteractionConfig: _propTypes.default.shape({
482
512
  pan: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['drag', 'pressAndDrag', 'wheel']), _propTypes.default.shape({
513
+ allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
514
+ pointerMode: _propTypes.default.any,
515
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
516
+ type: _propTypes.default.oneOf(['wheel']).isRequired
517
+ }), _propTypes.default.shape({
483
518
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
484
519
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
485
520
  type: _propTypes.default.oneOf(['drag']).isRequired
@@ -487,24 +522,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
487
522
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
488
523
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
489
524
  type: _propTypes.default.oneOf(['pressAndDrag']).isRequired
490
- }), _propTypes.default.shape({
491
- allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
492
- pointerMode: _propTypes.default.any,
493
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
494
- type: _propTypes.default.oneOf(['wheel']).isRequired
495
525
  })]).isRequired),
496
526
  zoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), _propTypes.default.shape({
497
- pointerMode: _propTypes.default.any,
498
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
499
- type: _propTypes.default.oneOf(['wheel']).isRequired
500
- }), _propTypes.default.shape({
501
- pointerMode: _propTypes.default.any,
502
- requiredKeys: _propTypes.default.array,
503
- type: _propTypes.default.oneOf(['pinch']).isRequired
504
- }), _propTypes.default.shape({
505
527
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
506
528
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
507
- type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
529
+ type: _propTypes.default.oneOf(['brush']).isRequired
508
530
  }), _propTypes.default.shape({
509
531
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
510
532
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
@@ -512,7 +534,15 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
512
534
  }), _propTypes.default.shape({
513
535
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
514
536
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
515
- type: _propTypes.default.oneOf(['brush']).isRequired
537
+ type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
538
+ }), _propTypes.default.shape({
539
+ pointerMode: _propTypes.default.any,
540
+ requiredKeys: _propTypes.default.array,
541
+ type: _propTypes.default.oneOf(['pinch']).isRequired
542
+ }), _propTypes.default.shape({
543
+ pointerMode: _propTypes.default.any,
544
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
545
+ type: _propTypes.default.oneOf(['wheel']).isRequired
516
546
  })]).isRequired)
517
547
  })
518
548
  } : void 0;
@@ -87,12 +87,12 @@ const BarChartPremium = /*#__PURE__*/React.forwardRef(function BarChartPremium(i
87
87
  children: [renderer === 'webgl' && /*#__PURE__*/_jsxs(React.Fragment, {
88
88
  children: [/*#__PURE__*/_jsx(ChartsSvgLayer, {
89
89
  children: /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps))
90
- }), /*#__PURE__*/_jsx(ChartsWebGLLayer, {
91
- children: /*#__PURE__*/_jsx(BarPlotPremium, _extends({}, barPlotPremiumProps))
90
+ }), /*#__PURE__*/_jsxs(ChartsWebGLLayer, {
91
+ children: [/*#__PURE__*/_jsx(BarPlotPremium, _extends({}, barPlotPremiumProps)), /*#__PURE__*/_jsx(RangeBarPlot, _extends({}, rangeBarPlotProps))]
92
92
  })]
93
93
  }), /*#__PURE__*/_jsxs(ChartsSvgLayer, _extends({}, chartsSurfaceProps, {
94
94
  children: [renderer !== 'webgl' && /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
95
- children: [renderer !== 'webgl' && /*#__PURE__*/_jsx(BarPlotPremium, _extends({}, barPlotPremiumProps)), /*#__PURE__*/_jsx(RangeBarPlot, _extends({}, rangeBarPlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), /*#__PURE__*/_jsx(FocusedBar, {}), /*#__PURE__*/_jsx(FocusedRangeBar, {})]
95
+ children: [renderer !== 'webgl' && /*#__PURE__*/_jsx(BarPlotPremium, _extends({}, barPlotPremiumProps)), renderer !== 'webgl' && /*#__PURE__*/_jsx(RangeBarPlot, _extends({}, rangeBarPlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps)), /*#__PURE__*/_jsx(FocusedBar, {}), /*#__PURE__*/_jsx(FocusedRangeBar, {})]
96
96
  })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx(ChartsZoomSlider, {}), /*#__PURE__*/_jsx(ChartsBrushOverlay, {}), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
97
97
  }))]
98
98
  }), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip))]
@@ -204,11 +204,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
204
204
  hiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
205
205
  dataIndex: PropTypes.number,
206
206
  seriesId: PropTypes.string.isRequired,
207
- type: PropTypes.oneOf(['bar'])
207
+ type: PropTypes.oneOf(['bar']).isRequired
208
208
  }), PropTypes.shape({
209
209
  dataIndex: PropTypes.number,
210
210
  seriesId: PropTypes.string.isRequired,
211
- type: PropTypes.oneOf(['bar']).isRequired
211
+ type: PropTypes.oneOf(['bar'])
212
212
  })]).isRequired),
213
213
  /**
214
214
  * If `true`, the legend is not rendered.
@@ -228,11 +228,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
228
228
  */
229
229
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
230
230
  dataIndex: PropTypes.number,
231
- seriesId: PropTypes.string.isRequired,
232
- type: PropTypes.oneOf(['bar']).isRequired
231
+ seriesId: PropTypes.string.isRequired
233
232
  }), PropTypes.shape({
234
233
  dataIndex: PropTypes.number,
235
- seriesId: PropTypes.string.isRequired
234
+ seriesId: PropTypes.string.isRequired,
235
+ type: PropTypes.oneOf(['bar']).isRequired
236
236
  })]),
237
237
  /**
238
238
  * This prop is used to help implement the accessibility logic.
@@ -263,21 +263,30 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
263
263
  initialHiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
264
264
  dataIndex: PropTypes.number,
265
265
  seriesId: PropTypes.string.isRequired,
266
- type: PropTypes.oneOf(['bar'])
266
+ type: PropTypes.oneOf(['bar']).isRequired
267
267
  }), PropTypes.shape({
268
268
  dataIndex: PropTypes.number,
269
269
  seriesId: PropTypes.string.isRequired,
270
- type: PropTypes.oneOf(['bar']).isRequired
270
+ type: PropTypes.oneOf(['bar'])
271
271
  })]).isRequired),
272
272
  /**
273
273
  * The list of zoom data related to each axis.
274
274
  * Used to initialize the zoom in a specific configuration without controlling it.
275
+ *
276
+ * Each entry is either explicit zoom percentages (`{ axisId, start, end }`) or a
277
+ * range value (`{ axisId, value }`) resolved against the axis domain.
275
278
  */
276
- initialZoom: PropTypes.arrayOf(PropTypes.shape({
279
+ initialZoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
277
280
  axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
278
281
  end: PropTypes.number.isRequired,
279
282
  start: PropTypes.number.isRequired
280
- })),
283
+ }), PropTypes.shape({
284
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
285
+ value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(Date).isRequired), PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func, PropTypes.shape({
286
+ step: PropTypes.number,
287
+ unit: PropTypes.oneOf(['day', 'hour', 'microsecond', 'millisecond', 'minute', 'month', 'second', 'week', 'year']).isRequired
288
+ })])
289
+ })]).isRequired),
281
290
  /**
282
291
  * The direction of the bar elements.
283
292
  * @default 'vertical'
@@ -412,11 +421,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
412
421
  */
413
422
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
414
423
  dataIndex: PropTypes.number.isRequired,
415
- seriesId: PropTypes.string.isRequired,
416
- type: PropTypes.oneOf(['bar']).isRequired
424
+ seriesId: PropTypes.string.isRequired
417
425
  }), PropTypes.shape({
418
426
  dataIndex: PropTypes.number.isRequired,
419
- seriesId: PropTypes.string.isRequired
427
+ seriesId: PropTypes.string.isRequired,
428
+ type: PropTypes.oneOf(['bar']).isRequired
420
429
  })]),
421
430
  /**
422
431
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -439,11 +448,6 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
439
448
  */
440
449
  zAxis: PropTypes.arrayOf(PropTypes.shape({
441
450
  colorMap: PropTypes.oneOfType([PropTypes.shape({
442
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
443
- type: PropTypes.oneOf(['ordinal']).isRequired,
444
- unknownColor: PropTypes.string,
445
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
446
- }), PropTypes.shape({
447
451
  color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
448
452
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
449
453
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -452,12 +456,38 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
452
456
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
453
457
  thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
454
458
  type: PropTypes.oneOf(['piecewise']).isRequired
459
+ }), PropTypes.shape({
460
+ colors: PropTypes.arrayOf(PropTypes.string).isRequired,
461
+ type: PropTypes.oneOf(['ordinal']).isRequired,
462
+ unknownColor: PropTypes.string,
463
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
455
464
  })]),
456
465
  data: PropTypes.array,
457
466
  dataKey: PropTypes.string,
458
467
  id: PropTypes.string,
459
468
  max: PropTypes.number,
460
469
  min: PropTypes.number,
470
+ sizeMap: PropTypes.oneOfType([PropTypes.shape({
471
+ interpolator: PropTypes.oneOf(['linear', 'log', 'sqrt']),
472
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
473
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
474
+ size: PropTypes.arrayOf(PropTypes.number.isRequired).isRequired,
475
+ type: PropTypes.oneOf(['continuous']).isRequired
476
+ }), PropTypes.shape({
477
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
478
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
479
+ size: PropTypes.func.isRequired,
480
+ type: PropTypes.oneOf(['continuous']).isRequired
481
+ }), PropTypes.shape({
482
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
483
+ thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
484
+ type: PropTypes.oneOf(['piecewise']).isRequired
485
+ }), PropTypes.shape({
486
+ sizes: PropTypes.arrayOf(PropTypes.number).isRequired,
487
+ type: PropTypes.oneOf(['ordinal']).isRequired,
488
+ unknownSize: PropTypes.number,
489
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
490
+ })]),
461
491
  valueGetter: PropTypes.func
462
492
  })),
463
493
  /**
@@ -473,6 +503,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
473
503
  */
474
504
  zoomInteractionConfig: PropTypes.shape({
475
505
  pan: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['drag', 'pressAndDrag', 'wheel']), PropTypes.shape({
506
+ allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
507
+ pointerMode: PropTypes.any,
508
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
509
+ type: PropTypes.oneOf(['wheel']).isRequired
510
+ }), PropTypes.shape({
476
511
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
477
512
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
478
513
  type: PropTypes.oneOf(['drag']).isRequired
@@ -480,24 +515,11 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
480
515
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
481
516
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
482
517
  type: PropTypes.oneOf(['pressAndDrag']).isRequired
483
- }), PropTypes.shape({
484
- allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
485
- pointerMode: PropTypes.any,
486
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
487
- type: PropTypes.oneOf(['wheel']).isRequired
488
518
  })]).isRequired),
489
519
  zoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), PropTypes.shape({
490
- pointerMode: PropTypes.any,
491
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
492
- type: PropTypes.oneOf(['wheel']).isRequired
493
- }), PropTypes.shape({
494
- pointerMode: PropTypes.any,
495
- requiredKeys: PropTypes.array,
496
- type: PropTypes.oneOf(['pinch']).isRequired
497
- }), PropTypes.shape({
498
520
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
499
521
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
500
- type: PropTypes.oneOf(['tapAndDrag']).isRequired
522
+ type: PropTypes.oneOf(['brush']).isRequired
501
523
  }), PropTypes.shape({
502
524
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
503
525
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
@@ -505,7 +527,15 @@ process.env.NODE_ENV !== "production" ? BarChartPremium.propTypes = {
505
527
  }), PropTypes.shape({
506
528
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
507
529
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
508
- type: PropTypes.oneOf(['brush']).isRequired
530
+ type: PropTypes.oneOf(['tapAndDrag']).isRequired
531
+ }), PropTypes.shape({
532
+ pointerMode: PropTypes.any,
533
+ requiredKeys: PropTypes.array,
534
+ type: PropTypes.oneOf(['pinch']).isRequired
535
+ }), PropTypes.shape({
536
+ pointerMode: PropTypes.any,
537
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
538
+ type: PropTypes.oneOf(['wheel']).isRequired
509
539
  })]).isRequired)
510
540
  })
511
541
  } : void 0;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type BarElementSlotProps, type BarElementSlots, type BarLabelSlots, type BarLabelSlotProps } from '@mui/x-charts/BarChart';
3
3
  import { type RangeBarItemIdentifier } from "../../models/index.mjs";
4
+ export type RangeBarPlotRenderer = 'svg-single' | 'webgl';
4
5
  export interface RangeBarPlotSlots extends BarElementSlots, BarLabelSlots {}
5
6
  export interface RangeBarPlotSlotProps extends BarElementSlotProps, BarLabelSlotProps {}
6
7
  export interface RangeBarPlotProps {
@@ -19,6 +20,15 @@ export interface RangeBarPlotProps {
19
20
  * Defines the border radius of the bar element.
20
21
  */
21
22
  borderRadius?: number;
23
+ /**
24
+ * The type of renderer to use for the range bar plot.
25
+ * - `svg-single`: Renders every bar in a `<rect />` element.
26
+ * - `webgl`: Renders bars using WebGL for better performance with very large datasets, at the cost of some limitations.
27
+ * Read more: https://mui.com/x/react-charts/bars/#performance
28
+ *
29
+ * @default 'svg-single'
30
+ */
31
+ renderer?: RangeBarPlotRenderer;
22
32
  /**
23
33
  * The props used for each component slot.
24
34
  * @default {}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type BarElementSlotProps, type BarElementSlots, type BarLabelSlots, type BarLabelSlotProps } from '@mui/x-charts/BarChart';
3
3
  import { type RangeBarItemIdentifier } from "../../models/index.js";
4
+ export type RangeBarPlotRenderer = 'svg-single' | 'webgl';
4
5
  export interface RangeBarPlotSlots extends BarElementSlots, BarLabelSlots {}
5
6
  export interface RangeBarPlotSlotProps extends BarElementSlotProps, BarLabelSlotProps {}
6
7
  export interface RangeBarPlotProps {
@@ -19,6 +20,15 @@ export interface RangeBarPlotProps {
19
20
  * Defines the border radius of the bar element.
20
21
  */
21
22
  borderRadius?: number;
23
+ /**
24
+ * The type of renderer to use for the range bar plot.
25
+ * - `svg-single`: Renders every bar in a `<rect />` element.
26
+ * - `webgl`: Renders bars using WebGL for better performance with very large datasets, at the cost of some limitations.
27
+ * Read more: https://mui.com/x/react-charts/bars/#performance
28
+ *
29
+ * @default 'svg-single'
30
+ */
31
+ renderer?: RangeBarPlotRenderer;
22
32
  /**
23
33
  * The props used for each component slot.
24
34
  * @default {}
@@ -19,8 +19,10 @@ var _hooks2 = require("@mui/x-charts-pro/hooks");
19
19
  var _useUtilityClasses = require("./useUtilityClasses");
20
20
  var _useRangeBarPlotData = require("./useRangeBarPlotData");
21
21
  var _AnimatedRangeBarElement = require("./AnimatedRangeBarElement");
22
+ var _RangeBarWebGLPlot = require("./RangeBarWebGLPlot");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["skipAnimation", "onItemClick", "borderRadius"];
24
+ const _excluded = ["renderer", "borderRadius"],
25
+ _excluded2 = ["skipAnimation", "onItemClick", "borderRadius"];
24
26
  const RangeBarPlotRoot = (0, _styles.styled)('g', {
25
27
  name: 'MuiRangeBarPlot',
26
28
  slot: 'Root'
@@ -40,12 +42,27 @@ const RangeBarPlotRoot = (0, _styles.styled)('g', {
40
42
  * - [RangeBarPlot API](https://mui.com/x/api/charts/range-bar-plot/)
41
43
  */
42
44
  function RangeBarPlot(props) {
45
+ const {
46
+ renderer,
47
+ borderRadius
48
+ } = props,
49
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
50
+ if (renderer === 'webgl') {
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangeBarWebGLPlot.RangeBarWebGLPlot, {
52
+ borderRadius: borderRadius
53
+ });
54
+ }
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RangeBarSvgPlot, (0, _extends2.default)({
56
+ borderRadius: borderRadius
57
+ }, other));
58
+ }
59
+ function RangeBarSvgPlot(props) {
43
60
  const {
44
61
  skipAnimation: inSkipAnimation,
45
62
  onItemClick,
46
63
  borderRadius
47
64
  } = props,
48
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
65
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
49
66
  const isZoomInteracting = (0, _hooks2.useIsZoomInteracting)();
50
67
  const skipAnimation = (0, _internals.useSkipAnimation)(isZoomInteracting || inSkipAnimation);
51
68
  const {
@@ -110,6 +127,37 @@ function RangeBarPlot(props) {
110
127
  })
111
128
  });
112
129
  }
130
+ process.env.NODE_ENV !== "production" ? RangeBarSvgPlot.propTypes = {
131
+ // ----------------------------- Warning --------------------------------
132
+ // | These PropTypes are generated from the TypeScript type definitions |
133
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
134
+ // ----------------------------------------------------------------------
135
+ /**
136
+ * Defines the border radius of the bar element.
137
+ */
138
+ borderRadius: _propTypes.default.number,
139
+ /**
140
+ * Callback fired when a bar item is clicked.
141
+ * @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
142
+ * @param {RangeBarItemIdentifier} barItemIdentifier The range bar item identifier.
143
+ */
144
+ onItemClick: _propTypes.default.func,
145
+ /**
146
+ * If `true`, animations are skipped.
147
+ * @default undefined
148
+ */
149
+ skipAnimation: _propTypes.default.bool,
150
+ /**
151
+ * The props used for each component slot.
152
+ * @default {}
153
+ */
154
+ slotProps: _propTypes.default.object,
155
+ /**
156
+ * Overridable component slots.
157
+ * @default {}
158
+ */
159
+ slots: _propTypes.default.object
160
+ } : void 0;
113
161
  process.env.NODE_ENV !== "production" ? RangeBarPlot.propTypes = {
114
162
  // ----------------------------- Warning --------------------------------
115
163
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -125,6 +173,15 @@ process.env.NODE_ENV !== "production" ? RangeBarPlot.propTypes = {
125
173
  * @param {RangeBarItemIdentifier} barItemIdentifier The range bar item identifier.
126
174
  */
127
175
  onItemClick: _propTypes.default.func,
176
+ /**
177
+ * The type of renderer to use for the range bar plot.
178
+ * - `svg-single`: Renders every bar in a `<rect />` element.
179
+ * - `webgl`: Renders bars using WebGL for better performance with very large datasets, at the cost of some limitations.
180
+ * Read more: https://mui.com/x/react-charts/bars/#performance
181
+ *
182
+ * @default 'svg-single'
183
+ */
184
+ renderer: _propTypes.default.oneOf(['svg-single', 'webgl']),
128
185
  /**
129
186
  * If `true`, animations are skipped.
130
187
  * @default undefined
@@ -2,7 +2,8 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["skipAnimation", "onItemClick", "borderRadius"];
5
+ const _excluded = ["renderer", "borderRadius"],
6
+ _excluded2 = ["skipAnimation", "onItemClick", "borderRadius"];
6
7
  import * as React from 'react';
7
8
  import PropTypes from 'prop-types';
8
9
  import { styled } from '@mui/material/styles';
@@ -13,6 +14,7 @@ import { useIsZoomInteracting } from '@mui/x-charts-pro/hooks';
13
14
  import { useUtilityClasses } from "./useUtilityClasses.mjs";
14
15
  import { useRangeBarPlotData } from "./useRangeBarPlotData.mjs";
15
16
  import { AnimatedRangeBarElement } from "./AnimatedRangeBarElement.mjs";
17
+ import { RangeBarWebGLPlot } from "./RangeBarWebGLPlot.mjs";
16
18
  import { jsx as _jsx } from "react/jsx-runtime";
17
19
  const RangeBarPlotRoot = styled('g', {
18
20
  name: 'MuiRangeBarPlot',
@@ -33,12 +35,27 @@ const RangeBarPlotRoot = styled('g', {
33
35
  * - [RangeBarPlot API](https://mui.com/x/api/charts/range-bar-plot/)
34
36
  */
35
37
  function RangeBarPlot(props) {
38
+ const {
39
+ renderer,
40
+ borderRadius
41
+ } = props,
42
+ other = _objectWithoutPropertiesLoose(props, _excluded);
43
+ if (renderer === 'webgl') {
44
+ return /*#__PURE__*/_jsx(RangeBarWebGLPlot, {
45
+ borderRadius: borderRadius
46
+ });
47
+ }
48
+ return /*#__PURE__*/_jsx(RangeBarSvgPlot, _extends({
49
+ borderRadius: borderRadius
50
+ }, other));
51
+ }
52
+ function RangeBarSvgPlot(props) {
36
53
  const {
37
54
  skipAnimation: inSkipAnimation,
38
55
  onItemClick,
39
56
  borderRadius
40
57
  } = props,
41
- other = _objectWithoutPropertiesLoose(props, _excluded);
58
+ other = _objectWithoutPropertiesLoose(props, _excluded2);
42
59
  const isZoomInteracting = useIsZoomInteracting();
43
60
  const skipAnimation = useSkipAnimation(isZoomInteracting || inSkipAnimation);
44
61
  const {
@@ -103,6 +120,37 @@ function RangeBarPlot(props) {
103
120
  })
104
121
  });
105
122
  }
123
+ process.env.NODE_ENV !== "production" ? RangeBarSvgPlot.propTypes = {
124
+ // ----------------------------- Warning --------------------------------
125
+ // | These PropTypes are generated from the TypeScript type definitions |
126
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
127
+ // ----------------------------------------------------------------------
128
+ /**
129
+ * Defines the border radius of the bar element.
130
+ */
131
+ borderRadius: PropTypes.number,
132
+ /**
133
+ * Callback fired when a bar item is clicked.
134
+ * @param {React.MouseEvent<SVGElement, MouseEvent>} event The event source of the callback.
135
+ * @param {RangeBarItemIdentifier} barItemIdentifier The range bar item identifier.
136
+ */
137
+ onItemClick: PropTypes.func,
138
+ /**
139
+ * If `true`, animations are skipped.
140
+ * @default undefined
141
+ */
142
+ skipAnimation: PropTypes.bool,
143
+ /**
144
+ * The props used for each component slot.
145
+ * @default {}
146
+ */
147
+ slotProps: PropTypes.object,
148
+ /**
149
+ * Overridable component slots.
150
+ * @default {}
151
+ */
152
+ slots: PropTypes.object
153
+ } : void 0;
106
154
  process.env.NODE_ENV !== "production" ? RangeBarPlot.propTypes = {
107
155
  // ----------------------------- Warning --------------------------------
108
156
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -118,6 +166,15 @@ process.env.NODE_ENV !== "production" ? RangeBarPlot.propTypes = {
118
166
  * @param {RangeBarItemIdentifier} barItemIdentifier The range bar item identifier.
119
167
  */
120
168
  onItemClick: PropTypes.func,
169
+ /**
170
+ * The type of renderer to use for the range bar plot.
171
+ * - `svg-single`: Renders every bar in a `<rect />` element.
172
+ * - `webgl`: Renders bars using WebGL for better performance with very large datasets, at the cost of some limitations.
173
+ * Read more: https://mui.com/x/react-charts/bars/#performance
174
+ *
175
+ * @default 'svg-single'
176
+ */
177
+ renderer: PropTypes.oneOf(['svg-single', 'webgl']),
121
178
  /**
122
179
  * If `true`, animations are skipped.
123
180
  * @default undefined
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ export interface RangeBarWebGLPlotProps {
3
+ borderRadius?: number;
4
+ }
5
+ /**
6
+ * @ignore - Internal component used for rendering the range bar plot using WebGL. Not exported from the package.
7
+ */
8
+ export declare function RangeBarWebGLPlot({
9
+ borderRadius
10
+ }: RangeBarWebGLPlotProps): React.JSX.Element | null;