@mui/x-charts-premium 9.0.1 → 9.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/BarChartPremium/BarChartPremium.js +20 -1
  2. package/BarChartPremium/BarChartPremium.mjs +20 -1
  3. package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
  4. package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
  5. package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +16 -8
  6. package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +16 -8
  7. package/CHANGELOG.md +257 -0
  8. package/CandlestickChart/CandlestickChart.js +18 -0
  9. package/CandlestickChart/CandlestickChart.mjs +18 -0
  10. package/CandlestickChart/CandlestickPlot.js +27 -31
  11. package/CandlestickChart/CandlestickPlot.mjs +27 -31
  12. package/CandlestickChart/CandlestickWebGLProgram.js +0 -3
  13. package/CandlestickChart/CandlestickWebGLProgram.mjs +0 -3
  14. package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
  15. package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
  16. package/CandlestickChart/seriesConfig/seriesProcessor.js +21 -13
  17. package/CandlestickChart/seriesConfig/seriesProcessor.mjs +21 -13
  18. package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
  19. package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
  20. package/ChartsRadialDataProvider/index.d.mts +1 -0
  21. package/ChartsRadialDataProvider/index.d.ts +1 -0
  22. package/ChartsRadialDataProvider/index.js +16 -0
  23. package/ChartsRadialDataProvider/index.mjs +2 -0
  24. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.mts +35 -0
  25. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.ts +35 -0
  26. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +126 -0
  27. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +120 -0
  28. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.mts +5 -0
  29. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.ts +5 -0
  30. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.js +9 -0
  31. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.mjs +3 -0
  32. package/ChartsRadialDataProviderPremium/index.d.mts +3 -0
  33. package/ChartsRadialDataProviderPremium/index.d.ts +3 -0
  34. package/ChartsRadialDataProviderPremium/index.js +20 -0
  35. package/ChartsRadialDataProviderPremium/index.mjs +3 -0
  36. package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.mts +10 -0
  37. package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.ts +10 -0
  38. package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.js +25 -0
  39. package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.mjs +19 -0
  40. package/ChartsRadialGrid/index.d.mts +1 -0
  41. package/ChartsRadialGrid/index.d.ts +1 -0
  42. package/ChartsRadialGrid/index.js +16 -0
  43. package/ChartsRadialGrid/index.mjs +2 -0
  44. package/ChartsRadiusAxis/index.d.mts +1 -0
  45. package/ChartsRadiusAxis/index.d.ts +1 -0
  46. package/ChartsRadiusAxis/index.js +16 -0
  47. package/ChartsRadiusAxis/index.mjs +2 -0
  48. package/ChartsRotationAxis/index.d.mts +1 -0
  49. package/ChartsRotationAxis/index.d.ts +1 -0
  50. package/ChartsRotationAxis/index.js +16 -0
  51. package/ChartsRotationAxis/index.mjs +2 -0
  52. package/ChartsWebGLLayer/ChartsWebGLContext.d.mts +5 -0
  53. package/ChartsWebGLLayer/ChartsWebGLContext.d.ts +5 -0
  54. package/ChartsWebGLLayer/ChartsWebGLContext.js +31 -0
  55. package/ChartsWebGLLayer/ChartsWebGLContext.mjs +23 -0
  56. package/ChartsWebGLLayer/ChartsWebGLLayer.d.mts +0 -1
  57. package/ChartsWebGLLayer/ChartsWebGLLayer.d.ts +0 -1
  58. package/ChartsWebGLLayer/ChartsWebGLLayer.js +63 -12
  59. package/ChartsWebGLLayer/ChartsWebGLLayer.mjs +62 -10
  60. package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.mts +26 -0
  61. package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.ts +26 -0
  62. package/ChartsWebGLLayer/ChartsWebGLLayer.types.js +5 -0
  63. package/ChartsWebGLLayer/ChartsWebGLLayer.types.mjs +1 -0
  64. package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.mts +6 -0
  65. package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.ts +6 -0
  66. package/ChartsWebGLLayer/ChartsWebGLOrderContext.js +15 -0
  67. package/ChartsWebGLLayer/ChartsWebGLOrderContext.mjs +10 -0
  68. package/HeatmapPremium/HeatmapPlotPremium.js +2 -2
  69. package/HeatmapPremium/HeatmapPlotPremium.mjs +2 -2
  70. package/HeatmapPremium/HeatmapPremium.js +4 -1
  71. package/HeatmapPremium/HeatmapPremium.mjs +4 -1
  72. package/HeatmapPremium/webgl/HeatmapWebGLPlot.js +26 -33
  73. package/HeatmapPremium/webgl/HeatmapWebGLPlot.mjs +26 -33
  74. package/RadialBarChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
  75. package/RadialBarChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
  76. package/RadialBarChart/seriesConfig/axisTooltipGetter.js +13 -0
  77. package/RadialBarChart/seriesConfig/axisTooltipGetter.mjs +6 -0
  78. package/RadialBarChart/seriesConfig/descriptionGetter.d.mts +3 -0
  79. package/RadialBarChart/seriesConfig/descriptionGetter.d.ts +3 -0
  80. package/RadialBarChart/seriesConfig/descriptionGetter.js +34 -0
  81. package/RadialBarChart/seriesConfig/descriptionGetter.mjs +28 -0
  82. package/RadialBarChart/seriesConfig/extremums.d.mts +3 -0
  83. package/RadialBarChart/seriesConfig/extremums.d.ts +3 -0
  84. package/RadialBarChart/seriesConfig/extremums.js +44 -0
  85. package/RadialBarChart/seriesConfig/extremums.mjs +36 -0
  86. package/RadialBarChart/seriesConfig/getColor.d.mts +3 -0
  87. package/RadialBarChart/seriesConfig/getColor.d.ts +3 -0
  88. package/RadialBarChart/seriesConfig/getColor.js +61 -0
  89. package/RadialBarChart/seriesConfig/getColor.mjs +55 -0
  90. package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
  91. package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  92. package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.js +16 -0
  93. package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.mjs +9 -0
  94. package/RadialBarChart/seriesConfig/index.d.mts +2 -0
  95. package/RadialBarChart/seriesConfig/index.d.ts +2 -0
  96. package/RadialBarChart/seriesConfig/index.js +37 -0
  97. package/RadialBarChart/seriesConfig/index.mjs +30 -0
  98. package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
  99. package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
  100. package/RadialBarChart/seriesConfig/keyboardFocusHandler.js +9 -0
  101. package/RadialBarChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
  102. package/RadialBarChart/seriesConfig/legend.d.mts +3 -0
  103. package/RadialBarChart/seriesConfig/legend.d.ts +3 -0
  104. package/RadialBarChart/seriesConfig/legend.js +9 -0
  105. package/RadialBarChart/seriesConfig/legend.mjs +3 -0
  106. package/RadialBarChart/seriesConfig/seriesProcessor.d.mts +3 -0
  107. package/RadialBarChart/seriesConfig/seriesProcessor.d.ts +3 -0
  108. package/RadialBarChart/seriesConfig/seriesProcessor.js +137 -0
  109. package/RadialBarChart/seriesConfig/seriesProcessor.mjs +130 -0
  110. package/RadialBarChart/seriesConfig/tooltip.d.mts +3 -0
  111. package/RadialBarChart/seriesConfig/tooltip.d.ts +3 -0
  112. package/RadialBarChart/seriesConfig/tooltip.js +34 -0
  113. package/RadialBarChart/seriesConfig/tooltip.mjs +28 -0
  114. package/RadialBarChart/seriesConfig/tooltipPosition.d.mts +3 -0
  115. package/RadialBarChart/seriesConfig/tooltipPosition.d.ts +3 -0
  116. package/RadialBarChart/seriesConfig/tooltipPosition.js +11 -0
  117. package/RadialBarChart/seriesConfig/tooltipPosition.mjs +5 -0
  118. package/RadialLineChart/RadialArea.d.mts +12 -0
  119. package/RadialLineChart/RadialArea.d.ts +12 -0
  120. package/RadialLineChart/RadialArea.js +33 -0
  121. package/RadialLineChart/RadialArea.mjs +26 -0
  122. package/RadialLineChart/RadialAreaPlot.d.mts +5 -0
  123. package/RadialLineChart/RadialAreaPlot.d.ts +5 -0
  124. package/RadialLineChart/RadialAreaPlot.js +51 -0
  125. package/RadialLineChart/RadialAreaPlot.mjs +45 -0
  126. package/RadialLineChart/RadialLine.d.mts +12 -0
  127. package/RadialLineChart/RadialLine.d.ts +12 -0
  128. package/RadialLineChart/RadialLine.js +33 -0
  129. package/RadialLineChart/RadialLine.mjs +26 -0
  130. package/RadialLineChart/RadialLineChart.d.mts +62 -0
  131. package/RadialLineChart/RadialLineChart.d.ts +62 -0
  132. package/RadialLineChart/RadialLineChart.js +967 -0
  133. package/RadialLineChart/RadialLineChart.mjs +960 -0
  134. package/RadialLineChart/RadialLineChart.plugins.d.mts +4 -0
  135. package/RadialLineChart/RadialLineChart.plugins.d.ts +4 -0
  136. package/RadialLineChart/RadialLineChart.plugins.js +9 -0
  137. package/RadialLineChart/RadialLineChart.plugins.mjs +3 -0
  138. package/RadialLineChart/RadialLinePlot.d.mts +5 -0
  139. package/RadialLineChart/RadialLinePlot.d.ts +5 -0
  140. package/RadialLineChart/RadialLinePlot.js +50 -0
  141. package/RadialLineChart/RadialLinePlot.mjs +44 -0
  142. package/RadialLineChart/RadialMarkPlot.d.mts +5 -0
  143. package/RadialLineChart/RadialMarkPlot.d.ts +5 -0
  144. package/RadialLineChart/RadialMarkPlot.js +48 -0
  145. package/RadialLineChart/RadialMarkPlot.mjs +42 -0
  146. package/RadialLineChart/index.d.mts +4 -0
  147. package/RadialLineChart/index.d.ts +4 -0
  148. package/RadialLineChart/index.js +49 -0
  149. package/RadialLineChart/index.mjs +4 -0
  150. package/RadialLineChart/radialLineClasses.d.mts +25 -0
  151. package/RadialLineChart/radialLineClasses.d.ts +25 -0
  152. package/RadialLineChart/radialLineClasses.js +30 -0
  153. package/RadialLineChart/radialLineClasses.mjs +21 -0
  154. package/RadialLineChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
  155. package/RadialLineChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
  156. package/RadialLineChart/seriesConfig/axisTooltipGetter.js +13 -0
  157. package/RadialLineChart/seriesConfig/axisTooltipGetter.mjs +6 -0
  158. package/RadialLineChart/seriesConfig/descriptionGetter.d.mts +3 -0
  159. package/RadialLineChart/seriesConfig/descriptionGetter.d.ts +3 -0
  160. package/RadialLineChart/seriesConfig/descriptionGetter.js +39 -0
  161. package/RadialLineChart/seriesConfig/descriptionGetter.mjs +33 -0
  162. package/RadialLineChart/seriesConfig/extremums.d.mts +3 -0
  163. package/RadialLineChart/seriesConfig/extremums.d.ts +3 -0
  164. package/RadialLineChart/seriesConfig/extremums.js +48 -0
  165. package/RadialLineChart/seriesConfig/extremums.mjs +40 -0
  166. package/RadialLineChart/seriesConfig/getColor.d.mts +3 -0
  167. package/RadialLineChart/seriesConfig/getColor.d.ts +3 -0
  168. package/RadialLineChart/seriesConfig/getColor.js +61 -0
  169. package/RadialLineChart/seriesConfig/getColor.mjs +55 -0
  170. package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
  171. package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
  172. package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.js +13 -0
  173. package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.mjs +6 -0
  174. package/RadialLineChart/seriesConfig/index.d.mts +2 -0
  175. package/RadialLineChart/seriesConfig/index.d.ts +2 -0
  176. package/RadialLineChart/seriesConfig/index.js +37 -0
  177. package/RadialLineChart/seriesConfig/index.mjs +30 -0
  178. package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
  179. package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
  180. package/RadialLineChart/seriesConfig/keyboardFocusHandler.js +9 -0
  181. package/RadialLineChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
  182. package/RadialLineChart/seriesConfig/legend.d.mts +3 -0
  183. package/RadialLineChart/seriesConfig/legend.d.ts +3 -0
  184. package/RadialLineChart/seriesConfig/legend.js +29 -0
  185. package/RadialLineChart/seriesConfig/legend.mjs +23 -0
  186. package/RadialLineChart/seriesConfig/seriesProcessor.d.mts +3 -0
  187. package/RadialLineChart/seriesConfig/seriesProcessor.d.ts +3 -0
  188. package/RadialLineChart/seriesConfig/seriesProcessor.js +142 -0
  189. package/RadialLineChart/seriesConfig/seriesProcessor.mjs +135 -0
  190. package/RadialLineChart/seriesConfig/tooltip.d.mts +3 -0
  191. package/RadialLineChart/seriesConfig/tooltip.d.ts +3 -0
  192. package/RadialLineChart/seriesConfig/tooltip.js +32 -0
  193. package/RadialLineChart/seriesConfig/tooltip.mjs +26 -0
  194. package/RadialLineChart/seriesConfig/tooltipPosition.d.mts +3 -0
  195. package/RadialLineChart/seriesConfig/tooltipPosition.d.ts +3 -0
  196. package/RadialLineChart/seriesConfig/tooltipPosition.js +11 -0
  197. package/RadialLineChart/seriesConfig/tooltipPosition.mjs +5 -0
  198. package/RadialLineChart/useRadialLineChartProps.d.mts +28 -0
  199. package/RadialLineChart/useRadialLineChartProps.d.ts +28 -0
  200. package/RadialLineChart/useRadialLineChartProps.js +99 -0
  201. package/RadialLineChart/useRadialLineChartProps.mjs +92 -0
  202. package/RadialLineChart/useRadialLinePlotData.d.mts +19 -0
  203. package/RadialLineChart/useRadialLinePlotData.d.ts +19 -0
  204. package/RadialLineChart/useRadialLinePlotData.js +79 -0
  205. package/RadialLineChart/useRadialLinePlotData.mjs +72 -0
  206. package/hooks/useRadialLineSeries.d.mts +34 -0
  207. package/hooks/useRadialLineSeries.d.ts +34 -0
  208. package/hooks/useRadialLineSeries.js +45 -0
  209. package/hooks/useRadialLineSeries.mjs +40 -0
  210. package/index.d.mts +7 -1
  211. package/index.d.ts +7 -1
  212. package/index.js +69 -1
  213. package/index.mjs +8 -2
  214. package/models/seriesType/index.d.mts +3 -1
  215. package/models/seriesType/index.d.ts +3 -1
  216. package/models/seriesType/index.js +22 -0
  217. package/models/seriesType/index.mjs +3 -1
  218. package/models/seriesType/ohlc.d.mts +7 -1
  219. package/models/seriesType/ohlc.d.ts +7 -1
  220. package/models/seriesType/radialBar.d.mts +23 -0
  221. package/models/seriesType/radialBar.d.ts +23 -0
  222. package/models/seriesType/radialBar.js +5 -0
  223. package/models/seriesType/radialBar.mjs +1 -0
  224. package/models/seriesType/radialLine.d.mts +26 -0
  225. package/models/seriesType/radialLine.d.ts +26 -0
  226. package/models/seriesType/radialLine.js +5 -0
  227. package/models/seriesType/radialLine.mjs +1 -0
  228. package/models/seriesType/rangeBar.d.mts +7 -1
  229. package/models/seriesType/rangeBar.d.ts +7 -1
  230. package/package.json +90 -6
  231. package/typeOverloads/modules.d.mts +48 -2
  232. package/typeOverloads/modules.d.ts +48 -2
  233. package/utils/webgl/useWebGLResizeObserver.d.mts +3 -2
  234. package/utils/webgl/useWebGLResizeObserver.d.ts +3 -2
  235. package/utils/webgl/useWebGLResizeObserver.js +3 -4
  236. package/utils/webgl/useWebGLResizeObserver.mjs +3 -4
  237. package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.mts +0 -4
  238. package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.ts +0 -4
  239. package/HeatmapPremium/webgl/HeatmapWebGLRenderer.js +0 -21
  240. package/HeatmapPremium/webgl/HeatmapWebGLRenderer.mjs +0 -15
@@ -3,24 +3,25 @@
3
3
  import * as React from 'react';
4
4
  import { useDrawingArea, useXScale, useYScale } from '@mui/x-charts/hooks';
5
5
  import useEventCallback from '@mui/utils/useEventCallback';
6
- import { useWebGLContext } from "../../ChartsWebGLLayer/ChartsWebGLLayer.mjs";
6
+ import { useWebGLLayer } from "../../ChartsWebGLLayer/ChartsWebGLContext.mjs";
7
7
  import { useHeatmapSeriesContext } from "../../hooks/index.mjs";
8
8
  import { heatmapFragmentShaderSourceNoBorderRadius, heatmapFragmentShaderSourceWithBorderRadius, heatmapVertexShaderSource } from "./shaders.mjs";
9
- import { useWebGLResizeObserver } from "../../utils/webgl/useWebGLResizeObserver.mjs";
10
9
  import { attachShader, bindQuadBuffer, compileShader, logWebGLErrors, uploadQuadBuffer } from "../../utils/webgl/utils.mjs";
11
10
  import { useHeatmapPlotData } from "./useHeatmapPlotData.mjs";
12
11
  import { jsx as _jsx } from "react/jsx-runtime";
13
12
  export function HeatmapWebGLPlot({
14
13
  borderRadius
15
14
  }) {
16
- const gl = useWebGLContext();
15
+ const layer = useWebGLLayer();
17
16
  const series = useHeatmapSeriesContext();
18
17
  const seriesToDisplay = series?.series[series.seriesOrder[0]];
19
- if (!gl || !seriesToDisplay) {
18
+ if (!layer || !seriesToDisplay) {
20
19
  return null;
21
20
  }
22
21
  return /*#__PURE__*/_jsx(HeatmapWebGLPlotImpl, {
23
- gl: gl,
22
+ gl: layer.gl,
23
+ registerDraw: layer.registerDraw,
24
+ requestRender: layer.requestRender,
24
25
  borderRadius: borderRadius ?? 0,
25
26
  series: seriesToDisplay
26
27
  });
@@ -28,6 +29,8 @@ export function HeatmapWebGLPlot({
28
29
  function HeatmapWebGLPlotImpl(props) {
29
30
  const {
30
31
  gl,
32
+ registerDraw,
33
+ requestRender,
31
34
  borderRadius,
32
35
  series
33
36
  } = props;
@@ -42,21 +45,16 @@ function HeatmapWebGLPlotImpl(props) {
42
45
  });
43
46
  const [quadBuffer] = React.useState(() => uploadQuadBuffer(gl));
44
47
  const dataLength = series.data.length;
45
- const renderScheduledRef = React.useRef(false);
46
- const render = React.useCallback(() => {
47
- renderScheduledRef.current = false;
48
-
49
- // Clear and draw
50
- gl.clearColor(0, 0, 0, 0.0);
51
- gl.clear(gl.COLOR_BUFFER_BIT);
52
- gl.drawArraysInstanced(gl.TRIANGLE_STRIP, 0, 4, dataLength);
53
- }, [dataLength, gl]);
54
- const scheduleRender = React.useCallback(() => {
55
- renderScheduledRef.current = true;
56
- }, []);
57
-
58
- // On resize render directly to avoid a frame where the canvas is blank
59
- useWebGLResizeObserver(render);
48
+ const drawRef = React.useRef(null);
49
+ React.useEffect(() => {
50
+ drawRef.current = () => {
51
+ gl.drawArraysInstanced(gl.TRIANGLE_STRIP, 0, 4, dataLength);
52
+ };
53
+ }, [gl, dataLength]);
54
+ React.useEffect(() => {
55
+ const unregister = registerDraw(drawRef);
56
+ return unregister;
57
+ }, [registerDraw]);
60
58
  React.useEffect(() => {
61
59
  /* Enable blending for transparency
62
60
  * These are global to the WebGL context and need to be set only once */
@@ -153,26 +151,21 @@ function HeatmapWebGLPlotImpl(props) {
153
151
  } else {
154
152
  setupBorderRadiusUniform();
155
153
  }
156
- scheduleRender();
157
- }, [gl, program, scheduleRender, seriesBorderRadius, setupBorderRadiusUniform,
154
+ requestRender();
155
+ }, [gl, program, requestRender, seriesBorderRadius, setupBorderRadiusUniform,
158
156
  // We use the event callback versions here because we only want this effect to trigger when the border radius changes
159
157
  setupAttributesEvent, setupUniformsEvent, vertexShader]);
160
158
  React.useEffect(() => {
161
159
  setupResolutionUniform();
162
- scheduleRender();
163
- }, [setupResolutionUniform, scheduleRender]);
160
+ requestRender();
161
+ }, [setupResolutionUniform, requestRender]);
164
162
  React.useEffect(() => {
165
163
  setupRectDimensionsUniform();
166
- scheduleRender();
167
- }, [setupRectDimensionsUniform, scheduleRender]);
164
+ requestRender();
165
+ }, [setupRectDimensionsUniform, requestRender]);
168
166
  React.useEffect(() => {
169
167
  setupAttributes();
170
- scheduleRender();
171
- }, [scheduleRender, setupAttributes]);
172
- React.useEffect(() => {
173
- if (renderScheduledRef.current) {
174
- render();
175
- }
176
- });
168
+ requestRender();
169
+ }, [requestRender, setupAttributes]);
177
170
  return null;
178
171
  }
@@ -0,0 +1,2 @@
1
+ import type { AxisTooltipGetter } from '@mui/x-charts/internals';
2
+ export declare const axisTooltipGetter: AxisTooltipGetter<'radialBar', 'rotation' | 'radius'>;
@@ -0,0 +1,2 @@
1
+ import type { AxisTooltipGetter } from '@mui/x-charts/internals';
2
+ export declare const axisTooltipGetter: AxisTooltipGetter<'radialBar', 'rotation' | 'radius'>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.axisTooltipGetter = void 0;
7
+ const axisTooltipGetter = series => {
8
+ return Object.values(series).map(s => ({
9
+ direction: 'rotation',
10
+ axisId: 'rotationAxisId' in s ? s.rotationAxisId : undefined
11
+ }));
12
+ };
13
+ exports.axisTooltipGetter = axisTooltipGetter;
@@ -0,0 +1,6 @@
1
+ export const axisTooltipGetter = series => {
2
+ return Object.values(series).map(s => ({
3
+ direction: 'rotation',
4
+ axisId: 'rotationAxisId' in s ? s.rotationAxisId : undefined
5
+ }));
6
+ };
@@ -0,0 +1,3 @@
1
+ import { type DescriptionGetter } from '@mui/x-charts/internals';
2
+ declare const descriptionGetter: DescriptionGetter<'radialBar'>;
3
+ export default descriptionGetter;
@@ -0,0 +1,3 @@
1
+ import { type DescriptionGetter } from '@mui/x-charts/internals';
2
+ declare const descriptionGetter: DescriptionGetter<'radialBar'>;
3
+ export default descriptionGetter;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _internals = require("@mui/x-charts/internals");
8
+ const descriptionGetter = params => {
9
+ const {
10
+ identifier,
11
+ series,
12
+ rotationAxis,
13
+ localeText
14
+ } = params;
15
+ const label = (0, _internals.getLabel)(series.label, 'tooltip');
16
+ const dataIndex = identifier.dataIndex;
17
+ const value = series.data[dataIndex] ?? null;
18
+ const categoryValue = rotationAxis.data?.[dataIndex] ?? null;
19
+ const formattedValue = series.valueFormatter(value, {
20
+ dataIndex
21
+ });
22
+ const formattedCategory = rotationAxis.valueFormatter?.(categoryValue, {
23
+ location: 'tooltip',
24
+ scale: rotationAxis.scale
25
+ });
26
+ return localeText.barDescription({
27
+ value,
28
+ formattedValue: formattedValue ?? '',
29
+ categoryValue,
30
+ formattedCategoryValue: formattedCategory ?? '',
31
+ seriesLabel: label
32
+ });
33
+ };
34
+ var _default = exports.default = descriptionGetter;
@@ -0,0 +1,28 @@
1
+ import { getLabel } from '@mui/x-charts/internals';
2
+ const descriptionGetter = params => {
3
+ const {
4
+ identifier,
5
+ series,
6
+ rotationAxis,
7
+ localeText
8
+ } = params;
9
+ const label = getLabel(series.label, 'tooltip');
10
+ const dataIndex = identifier.dataIndex;
11
+ const value = series.data[dataIndex] ?? null;
12
+ const categoryValue = rotationAxis.data?.[dataIndex] ?? null;
13
+ const formattedValue = series.valueFormatter(value, {
14
+ dataIndex
15
+ });
16
+ const formattedCategory = rotationAxis.valueFormatter?.(categoryValue, {
17
+ location: 'tooltip',
18
+ scale: rotationAxis.scale
19
+ });
20
+ return localeText.barDescription({
21
+ value,
22
+ formattedValue: formattedValue ?? '',
23
+ categoryValue,
24
+ formattedCategoryValue: formattedCategory ?? '',
25
+ seriesLabel: label
26
+ });
27
+ };
28
+ export default descriptionGetter;
@@ -0,0 +1,3 @@
1
+ import { type PolarExtremumGetter } from '@mui/x-charts/internals';
2
+ export declare const rotationExtremumGetter: PolarExtremumGetter<'radialBar'>;
3
+ export declare const radiusExtremumGetter: PolarExtremumGetter<'radialBar'>;
@@ -0,0 +1,3 @@
1
+ import { type PolarExtremumGetter } from '@mui/x-charts/internals';
2
+ export declare const rotationExtremumGetter: PolarExtremumGetter<'radialBar'>;
3
+ export declare const radiusExtremumGetter: PolarExtremumGetter<'radialBar'>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.rotationExtremumGetter = exports.radiusExtremumGetter = void 0;
7
+ var _internals = require("@mui/x-charts/internals");
8
+ const getValueExtremum = direction => params => {
9
+ const {
10
+ series,
11
+ axis,
12
+ isDefaultAxis
13
+ } = params;
14
+ return Object.keys(series).filter(seriesId => {
15
+ const axisId = direction === 'rotation' ? series[seriesId].rotationAxisId : series[seriesId].radiusAxisId;
16
+ return axisId === axis.id || isDefaultAxis && axisId === undefined;
17
+ }).reduce((acc, seriesId) => {
18
+ const {
19
+ stackedData
20
+ } = series[seriesId];
21
+ const [seriesMin, seriesMax] = stackedData?.reduce((seriesAcc, values) => {
22
+ return [Math.min(...values, seriesAcc[0]), Math.max(...values, seriesAcc[1])];
23
+ }, [Infinity, -Infinity]) ?? [Infinity, -Infinity];
24
+ return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
25
+ }, [Infinity, -Infinity]);
26
+ };
27
+ const rotationExtremumGetter = params => {
28
+ // Notice that bar should be all horizontal or all vertical.
29
+
30
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
31
+ if (isHorizontal) {
32
+ return getValueExtremum('rotation')(params);
33
+ }
34
+ return (0, _internals.findMinMax)(params.axis.data ?? []);
35
+ };
36
+ exports.rotationExtremumGetter = rotationExtremumGetter;
37
+ const radiusExtremumGetter = params => {
38
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
39
+ if (isHorizontal) {
40
+ return (0, _internals.findMinMax)(params.axis.data ?? []);
41
+ }
42
+ return getValueExtremum('radius')(params);
43
+ };
44
+ exports.radiusExtremumGetter = radiusExtremumGetter;
@@ -0,0 +1,36 @@
1
+ import { findMinMax } from '@mui/x-charts/internals';
2
+ const getValueExtremum = direction => params => {
3
+ const {
4
+ series,
5
+ axis,
6
+ isDefaultAxis
7
+ } = params;
8
+ return Object.keys(series).filter(seriesId => {
9
+ const axisId = direction === 'rotation' ? series[seriesId].rotationAxisId : series[seriesId].radiusAxisId;
10
+ return axisId === axis.id || isDefaultAxis && axisId === undefined;
11
+ }).reduce((acc, seriesId) => {
12
+ const {
13
+ stackedData
14
+ } = series[seriesId];
15
+ const [seriesMin, seriesMax] = stackedData?.reduce((seriesAcc, values) => {
16
+ return [Math.min(...values, seriesAcc[0]), Math.max(...values, seriesAcc[1])];
17
+ }, [Infinity, -Infinity]) ?? [Infinity, -Infinity];
18
+ return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
19
+ }, [Infinity, -Infinity]);
20
+ };
21
+ export const rotationExtremumGetter = params => {
22
+ // Notice that bar should be all horizontal or all vertical.
23
+
24
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
25
+ if (isHorizontal) {
26
+ return getValueExtremum('rotation')(params);
27
+ }
28
+ return findMinMax(params.axis.data ?? []);
29
+ };
30
+ export const radiusExtremumGetter = params => {
31
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
32
+ if (isHorizontal) {
33
+ return findMinMax(params.axis.data ?? []);
34
+ }
35
+ return getValueExtremum('radius')(params);
36
+ };
@@ -0,0 +1,3 @@
1
+ import { type ColorProcessor } from '@mui/x-charts/internals';
2
+ declare const getColor: ColorProcessor<'radialBar'>;
3
+ export default getColor;
@@ -0,0 +1,3 @@
1
+ import { type ColorProcessor } from '@mui/x-charts/internals';
2
+ declare const getColor: ColorProcessor<'radialBar'>;
3
+ export default getColor;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _internals = require("@mui/x-charts/internals");
8
+ const getColor = (series, rotationAxis, radiusAxis) => {
9
+ const yColorScale = radiusAxis?.colorScale;
10
+ const xColorScale = rotationAxis?.colorScale;
11
+ const getSeriesColor = (0, _internals.getSeriesColorFn)(series);
12
+ if (yColorScale) {
13
+ return dataIndex => {
14
+ if (dataIndex === undefined) {
15
+ return series.color;
16
+ }
17
+ const value = series.data[dataIndex];
18
+ const color = value === null ? getSeriesColor({
19
+ value,
20
+ dataIndex
21
+ }) : yColorScale(value);
22
+ if (color === null) {
23
+ return getSeriesColor({
24
+ value,
25
+ dataIndex
26
+ });
27
+ }
28
+ return color;
29
+ };
30
+ }
31
+ if (xColorScale) {
32
+ return dataIndex => {
33
+ if (dataIndex === undefined) {
34
+ return series.color;
35
+ }
36
+ const value = rotationAxis.data?.[dataIndex];
37
+ const color = value === null ? getSeriesColor({
38
+ value,
39
+ dataIndex
40
+ }) : xColorScale(value);
41
+ if (color === null) {
42
+ return getSeriesColor({
43
+ value,
44
+ dataIndex
45
+ });
46
+ }
47
+ return color;
48
+ };
49
+ }
50
+ return dataIndex => {
51
+ if (dataIndex === undefined) {
52
+ return series.color;
53
+ }
54
+ const value = series.data[dataIndex];
55
+ return getSeriesColor({
56
+ value,
57
+ dataIndex
58
+ });
59
+ };
60
+ };
61
+ var _default = exports.default = getColor;
@@ -0,0 +1,55 @@
1
+ import { getSeriesColorFn } from '@mui/x-charts/internals';
2
+ const getColor = (series, rotationAxis, radiusAxis) => {
3
+ const yColorScale = radiusAxis?.colorScale;
4
+ const xColorScale = rotationAxis?.colorScale;
5
+ const getSeriesColor = getSeriesColorFn(series);
6
+ if (yColorScale) {
7
+ return dataIndex => {
8
+ if (dataIndex === undefined) {
9
+ return series.color;
10
+ }
11
+ const value = series.data[dataIndex];
12
+ const color = value === null ? getSeriesColor({
13
+ value,
14
+ dataIndex
15
+ }) : yColorScale(value);
16
+ if (color === null) {
17
+ return getSeriesColor({
18
+ value,
19
+ dataIndex
20
+ });
21
+ }
22
+ return color;
23
+ };
24
+ }
25
+ if (xColorScale) {
26
+ return dataIndex => {
27
+ if (dataIndex === undefined) {
28
+ return series.color;
29
+ }
30
+ const value = rotationAxis.data?.[dataIndex];
31
+ const color = value === null ? getSeriesColor({
32
+ value,
33
+ dataIndex
34
+ }) : xColorScale(value);
35
+ if (color === null) {
36
+ return getSeriesColor({
37
+ value,
38
+ dataIndex
39
+ });
40
+ }
41
+ return color;
42
+ };
43
+ }
44
+ return dataIndex => {
45
+ if (dataIndex === undefined) {
46
+ return series.color;
47
+ }
48
+ const value = series.data[dataIndex];
49
+ return getSeriesColor({
50
+ value,
51
+ dataIndex
52
+ });
53
+ };
54
+ };
55
+ export default getColor;
@@ -0,0 +1,3 @@
1
+ import type { GetSeriesWithDefaultValues } from '@mui/x-charts/internals';
2
+ declare const getSeriesWithDefaultValues: GetSeriesWithDefaultValues<'radialBar'>;
3
+ export default getSeriesWithDefaultValues;
@@ -0,0 +1,3 @@
1
+ import type { GetSeriesWithDefaultValues } from '@mui/x-charts/internals';
2
+ declare const getSeriesWithDefaultValues: GetSeriesWithDefaultValues<'radialBar'>;
3
+ export default getSeriesWithDefaultValues;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => (0, _extends2.default)({
10
+ layout: 'vertical',
11
+ minBarSize: 0
12
+ }, seriesData, {
13
+ id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
14
+ color: seriesData.color ?? colors[seriesIndex % colors.length]
15
+ });
16
+ var _default = exports.default = getSeriesWithDefaultValues;
@@ -0,0 +1,9 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => _extends({
3
+ layout: 'vertical',
4
+ minBarSize: 0
5
+ }, seriesData, {
6
+ id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
7
+ color: seriesData.color ?? colors[seriesIndex % colors.length]
8
+ });
9
+ export default getSeriesWithDefaultValues;
@@ -0,0 +1,2 @@
1
+ import { type ChartSeriesTypeConfig } from '@mui/x-charts/internals';
2
+ export declare const radialBarSeriesConfig: ChartSeriesTypeConfig<'radialBar'>;
@@ -0,0 +1,2 @@
1
+ import { type ChartSeriesTypeConfig } from '@mui/x-charts/internals';
2
+ export declare const radialBarSeriesConfig: ChartSeriesTypeConfig<'radialBar'>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.radialBarSeriesConfig = void 0;
8
+ var _internals = require("@mui/x-charts/internals");
9
+ var _legend = _interopRequireDefault(require("./legend"));
10
+ var _tooltipPosition = _interopRequireDefault(require("./tooltipPosition"));
11
+ var _keyboardFocusHandler = _interopRequireDefault(require("./keyboardFocusHandler"));
12
+ var _axisTooltipGetter = require("./axisTooltipGetter");
13
+ var _getColor = _interopRequireDefault(require("./getColor"));
14
+ var _seriesProcessor = _interopRequireDefault(require("./seriesProcessor"));
15
+ var _getSeriesWithDefaultValues = _interopRequireDefault(require("./getSeriesWithDefaultValues"));
16
+ var _descriptionGetter = _interopRequireDefault(require("./descriptionGetter"));
17
+ var _extremums = require("./extremums");
18
+ var _tooltip = _interopRequireDefault(require("./tooltip"));
19
+ _internals.polarSeriesTypes.addType('radialBar');
20
+ const radialBarSeriesConfig = exports.radialBarSeriesConfig = {
21
+ colorProcessor: _getColor.default,
22
+ seriesProcessor: _seriesProcessor.default,
23
+ legendGetter: _legend.default,
24
+ tooltipGetter: _tooltip.default,
25
+ tooltipItemPositionGetter: _tooltipPosition.default,
26
+ axisTooltipGetter: _axisTooltipGetter.axisTooltipGetter,
27
+ rotationExtremumGetter: _extremums.rotationExtremumGetter,
28
+ radiusExtremumGetter: _extremums.radiusExtremumGetter,
29
+ getSeriesWithDefaultValues: _getSeriesWithDefaultValues.default,
30
+ // getItemAtPosition,
31
+ keyboardFocusHandler: _keyboardFocusHandler.default,
32
+ identifierSerializer: _internals.identifierSerializerSeriesIdDataIndex,
33
+ identifierCleaner: _internals.identifierCleanerSeriesIdDataIndex,
34
+ descriptionGetter: _descriptionGetter.default,
35
+ isHighlightedCreator: _internals.createIsHighlighted,
36
+ isFadedCreator: _internals.createIsFaded
37
+ };
@@ -0,0 +1,30 @@
1
+ import { identifierSerializerSeriesIdDataIndex, identifierCleanerSeriesIdDataIndex, createIsHighlighted, createIsFaded, polarSeriesTypes } from '@mui/x-charts/internals';
2
+ import legendGetter from "./legend.mjs";
3
+ import tooltipItemPositionGetter from "./tooltipPosition.mjs";
4
+ import keyboardFocusHandler from "./keyboardFocusHandler.mjs";
5
+ import { axisTooltipGetter } from "./axisTooltipGetter.mjs";
6
+ import colorProcessor from "./getColor.mjs";
7
+ import seriesProcessor from "./seriesProcessor.mjs";
8
+ import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.mjs";
9
+ import descriptionGetter from "./descriptionGetter.mjs";
10
+ import { radiusExtremumGetter, rotationExtremumGetter } from "./extremums.mjs";
11
+ import tooltipGetter from "./tooltip.mjs";
12
+ polarSeriesTypes.addType('radialBar');
13
+ export const radialBarSeriesConfig = {
14
+ colorProcessor,
15
+ seriesProcessor,
16
+ legendGetter,
17
+ tooltipGetter,
18
+ tooltipItemPositionGetter,
19
+ axisTooltipGetter,
20
+ rotationExtremumGetter,
21
+ radiusExtremumGetter,
22
+ getSeriesWithDefaultValues,
23
+ // getItemAtPosition,
24
+ keyboardFocusHandler,
25
+ identifierSerializer: identifierSerializerSeriesIdDataIndex,
26
+ identifierCleaner: identifierCleanerSeriesIdDataIndex,
27
+ descriptionGetter,
28
+ isHighlightedCreator: createIsHighlighted,
29
+ isFadedCreator: createIsFaded
30
+ };
@@ -0,0 +1,3 @@
1
+ import { type KeyboardFocusHandler, type ComposableRadialChartSeriesType } from '@mui/x-charts/internals';
2
+ declare const keyboardFocusHandler: KeyboardFocusHandler<'radialBar', ComposableRadialChartSeriesType>;
3
+ export default keyboardFocusHandler;
@@ -0,0 +1,3 @@
1
+ import { type KeyboardFocusHandler, type ComposableRadialChartSeriesType } from '@mui/x-charts/internals';
2
+ declare const keyboardFocusHandler: KeyboardFocusHandler<'radialBar', ComposableRadialChartSeriesType>;
3
+ export default keyboardFocusHandler;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _internals = require("@mui/x-charts/internals");
8
+ const keyboardFocusHandler = (0, _internals.createCommonKeyboardFocusHandler)(_internals.composableRadialSeriesTypes);
9
+ var _default = exports.default = keyboardFocusHandler;
@@ -0,0 +1,3 @@
1
+ import { createCommonKeyboardFocusHandler, composableRadialSeriesTypes } from '@mui/x-charts/internals';
2
+ const keyboardFocusHandler = createCommonKeyboardFocusHandler(composableRadialSeriesTypes);
3
+ export default keyboardFocusHandler;
@@ -0,0 +1,3 @@
1
+ import type { LegendGetter } from '@mui/x-charts/internals';
2
+ declare const legendGetter: LegendGetter<'radialBar'>;
3
+ export default legendGetter;
@@ -0,0 +1,3 @@
1
+ import type { LegendGetter } from '@mui/x-charts/internals';
2
+ declare const legendGetter: LegendGetter<'radialBar'>;
3
+ export default legendGetter;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _internals = require("@mui/x-charts/internals");
8
+ const legendGetter = series => (0, _internals.getSeriesLegendItems)('radialBar', series, 'square');
9
+ var _default = exports.default = legendGetter;
@@ -0,0 +1,3 @@
1
+ import { getSeriesLegendItems } from '@mui/x-charts/internals';
2
+ const legendGetter = series => getSeriesLegendItems('radialBar', series, 'square');
3
+ export default legendGetter;
@@ -0,0 +1,3 @@
1
+ import type { SeriesProcessorParams, SeriesProcessorResult, IsItemVisibleFunction, DatasetType } from '@mui/x-charts/internals';
2
+ declare function seriesProcessor(params: SeriesProcessorParams<'radialBar'>, dataset?: Readonly<DatasetType>, isItemVisible?: IsItemVisibleFunction): SeriesProcessorResult<'radialBar'>;
3
+ export default seriesProcessor;
@@ -0,0 +1,3 @@
1
+ import type { SeriesProcessorParams, SeriesProcessorResult, IsItemVisibleFunction, DatasetType } from '@mui/x-charts/internals';
2
+ declare function seriesProcessor(params: SeriesProcessorParams<'radialBar'>, dataset?: Readonly<DatasetType>, isItemVisible?: IsItemVisibleFunction): SeriesProcessorResult<'radialBar'>;
3
+ export default seriesProcessor;