@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.
- package/BarChartPremium/BarChartPremium.js +20 -1
- package/BarChartPremium/BarChartPremium.mjs +20 -1
- package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
- package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +16 -8
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +16 -8
- package/CHANGELOG.md +257 -0
- package/CandlestickChart/CandlestickChart.js +18 -0
- package/CandlestickChart/CandlestickChart.mjs +18 -0
- package/CandlestickChart/CandlestickPlot.js +27 -31
- package/CandlestickChart/CandlestickPlot.mjs +27 -31
- package/CandlestickChart/CandlestickWebGLProgram.js +0 -3
- package/CandlestickChart/CandlestickWebGLProgram.mjs +0 -3
- package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
- package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
- package/CandlestickChart/seriesConfig/seriesProcessor.js +21 -13
- package/CandlestickChart/seriesConfig/seriesProcessor.mjs +21 -13
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
- package/ChartsRadialDataProvider/index.d.mts +1 -0
- package/ChartsRadialDataProvider/index.d.ts +1 -0
- package/ChartsRadialDataProvider/index.js +16 -0
- package/ChartsRadialDataProvider/index.mjs +2 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.mts +35 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.ts +35 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +126 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +120 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.mts +5 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.ts +5 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.js +9 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.mjs +3 -0
- package/ChartsRadialDataProviderPremium/index.d.mts +3 -0
- package/ChartsRadialDataProviderPremium/index.d.ts +3 -0
- package/ChartsRadialDataProviderPremium/index.js +20 -0
- package/ChartsRadialDataProviderPremium/index.mjs +3 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.mts +10 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.ts +10 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.js +25 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.mjs +19 -0
- package/ChartsRadialGrid/index.d.mts +1 -0
- package/ChartsRadialGrid/index.d.ts +1 -0
- package/ChartsRadialGrid/index.js +16 -0
- package/ChartsRadialGrid/index.mjs +2 -0
- package/ChartsRadiusAxis/index.d.mts +1 -0
- package/ChartsRadiusAxis/index.d.ts +1 -0
- package/ChartsRadiusAxis/index.js +16 -0
- package/ChartsRadiusAxis/index.mjs +2 -0
- package/ChartsRotationAxis/index.d.mts +1 -0
- package/ChartsRotationAxis/index.d.ts +1 -0
- package/ChartsRotationAxis/index.js +16 -0
- package/ChartsRotationAxis/index.mjs +2 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.d.mts +5 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.d.ts +5 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.js +31 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.mjs +23 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.d.mts +0 -1
- package/ChartsWebGLLayer/ChartsWebGLLayer.d.ts +0 -1
- package/ChartsWebGLLayer/ChartsWebGLLayer.js +63 -12
- package/ChartsWebGLLayer/ChartsWebGLLayer.mjs +62 -10
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.mts +26 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.ts +26 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.js +5 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.mjs +1 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.mts +6 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.ts +6 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.js +15 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.mjs +10 -0
- package/HeatmapPremium/HeatmapPlotPremium.js +2 -2
- package/HeatmapPremium/HeatmapPlotPremium.mjs +2 -2
- package/HeatmapPremium/HeatmapPremium.js +4 -1
- package/HeatmapPremium/HeatmapPremium.mjs +4 -1
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.js +26 -33
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.mjs +26 -33
- package/RadialBarChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.js +13 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.mjs +6 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.d.mts +3 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.d.ts +3 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.js +34 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.mjs +28 -0
- package/RadialBarChart/seriesConfig/extremums.d.mts +3 -0
- package/RadialBarChart/seriesConfig/extremums.d.ts +3 -0
- package/RadialBarChart/seriesConfig/extremums.js +44 -0
- package/RadialBarChart/seriesConfig/extremums.mjs +36 -0
- package/RadialBarChart/seriesConfig/getColor.d.mts +3 -0
- package/RadialBarChart/seriesConfig/getColor.d.ts +3 -0
- package/RadialBarChart/seriesConfig/getColor.js +61 -0
- package/RadialBarChart/seriesConfig/getColor.mjs +55 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.js +16 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.mjs +9 -0
- package/RadialBarChart/seriesConfig/index.d.mts +2 -0
- package/RadialBarChart/seriesConfig/index.d.ts +2 -0
- package/RadialBarChart/seriesConfig/index.js +37 -0
- package/RadialBarChart/seriesConfig/index.mjs +30 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.js +9 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
- package/RadialBarChart/seriesConfig/legend.d.mts +3 -0
- package/RadialBarChart/seriesConfig/legend.d.ts +3 -0
- package/RadialBarChart/seriesConfig/legend.js +9 -0
- package/RadialBarChart/seriesConfig/legend.mjs +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.d.mts +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.d.ts +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.js +137 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.mjs +130 -0
- package/RadialBarChart/seriesConfig/tooltip.d.mts +3 -0
- package/RadialBarChart/seriesConfig/tooltip.d.ts +3 -0
- package/RadialBarChart/seriesConfig/tooltip.js +34 -0
- package/RadialBarChart/seriesConfig/tooltip.mjs +28 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.d.mts +3 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.js +11 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.mjs +5 -0
- package/RadialLineChart/RadialArea.d.mts +12 -0
- package/RadialLineChart/RadialArea.d.ts +12 -0
- package/RadialLineChart/RadialArea.js +33 -0
- package/RadialLineChart/RadialArea.mjs +26 -0
- package/RadialLineChart/RadialAreaPlot.d.mts +5 -0
- package/RadialLineChart/RadialAreaPlot.d.ts +5 -0
- package/RadialLineChart/RadialAreaPlot.js +51 -0
- package/RadialLineChart/RadialAreaPlot.mjs +45 -0
- package/RadialLineChart/RadialLine.d.mts +12 -0
- package/RadialLineChart/RadialLine.d.ts +12 -0
- package/RadialLineChart/RadialLine.js +33 -0
- package/RadialLineChart/RadialLine.mjs +26 -0
- package/RadialLineChart/RadialLineChart.d.mts +62 -0
- package/RadialLineChart/RadialLineChart.d.ts +62 -0
- package/RadialLineChart/RadialLineChart.js +967 -0
- package/RadialLineChart/RadialLineChart.mjs +960 -0
- package/RadialLineChart/RadialLineChart.plugins.d.mts +4 -0
- package/RadialLineChart/RadialLineChart.plugins.d.ts +4 -0
- package/RadialLineChart/RadialLineChart.plugins.js +9 -0
- package/RadialLineChart/RadialLineChart.plugins.mjs +3 -0
- package/RadialLineChart/RadialLinePlot.d.mts +5 -0
- package/RadialLineChart/RadialLinePlot.d.ts +5 -0
- package/RadialLineChart/RadialLinePlot.js +50 -0
- package/RadialLineChart/RadialLinePlot.mjs +44 -0
- package/RadialLineChart/RadialMarkPlot.d.mts +5 -0
- package/RadialLineChart/RadialMarkPlot.d.ts +5 -0
- package/RadialLineChart/RadialMarkPlot.js +48 -0
- package/RadialLineChart/RadialMarkPlot.mjs +42 -0
- package/RadialLineChart/index.d.mts +4 -0
- package/RadialLineChart/index.d.ts +4 -0
- package/RadialLineChart/index.js +49 -0
- package/RadialLineChart/index.mjs +4 -0
- package/RadialLineChart/radialLineClasses.d.mts +25 -0
- package/RadialLineChart/radialLineClasses.d.ts +25 -0
- package/RadialLineChart/radialLineClasses.js +30 -0
- package/RadialLineChart/radialLineClasses.mjs +21 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.js +13 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.mjs +6 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.d.mts +3 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.d.ts +3 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.js +39 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.mjs +33 -0
- package/RadialLineChart/seriesConfig/extremums.d.mts +3 -0
- package/RadialLineChart/seriesConfig/extremums.d.ts +3 -0
- package/RadialLineChart/seriesConfig/extremums.js +48 -0
- package/RadialLineChart/seriesConfig/extremums.mjs +40 -0
- package/RadialLineChart/seriesConfig/getColor.d.mts +3 -0
- package/RadialLineChart/seriesConfig/getColor.d.ts +3 -0
- package/RadialLineChart/seriesConfig/getColor.js +61 -0
- package/RadialLineChart/seriesConfig/getColor.mjs +55 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.js +13 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.mjs +6 -0
- package/RadialLineChart/seriesConfig/index.d.mts +2 -0
- package/RadialLineChart/seriesConfig/index.d.ts +2 -0
- package/RadialLineChart/seriesConfig/index.js +37 -0
- package/RadialLineChart/seriesConfig/index.mjs +30 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.js +9 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
- package/RadialLineChart/seriesConfig/legend.d.mts +3 -0
- package/RadialLineChart/seriesConfig/legend.d.ts +3 -0
- package/RadialLineChart/seriesConfig/legend.js +29 -0
- package/RadialLineChart/seriesConfig/legend.mjs +23 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.d.mts +3 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.d.ts +3 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.js +142 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.mjs +135 -0
- package/RadialLineChart/seriesConfig/tooltip.d.mts +3 -0
- package/RadialLineChart/seriesConfig/tooltip.d.ts +3 -0
- package/RadialLineChart/seriesConfig/tooltip.js +32 -0
- package/RadialLineChart/seriesConfig/tooltip.mjs +26 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.d.mts +3 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.js +11 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.mjs +5 -0
- package/RadialLineChart/useRadialLineChartProps.d.mts +28 -0
- package/RadialLineChart/useRadialLineChartProps.d.ts +28 -0
- package/RadialLineChart/useRadialLineChartProps.js +99 -0
- package/RadialLineChart/useRadialLineChartProps.mjs +92 -0
- package/RadialLineChart/useRadialLinePlotData.d.mts +19 -0
- package/RadialLineChart/useRadialLinePlotData.d.ts +19 -0
- package/RadialLineChart/useRadialLinePlotData.js +79 -0
- package/RadialLineChart/useRadialLinePlotData.mjs +72 -0
- package/hooks/useRadialLineSeries.d.mts +34 -0
- package/hooks/useRadialLineSeries.d.ts +34 -0
- package/hooks/useRadialLineSeries.js +45 -0
- package/hooks/useRadialLineSeries.mjs +40 -0
- package/index.d.mts +7 -1
- package/index.d.ts +7 -1
- package/index.js +69 -1
- package/index.mjs +8 -2
- package/models/seriesType/index.d.mts +3 -1
- package/models/seriesType/index.d.ts +3 -1
- package/models/seriesType/index.js +22 -0
- package/models/seriesType/index.mjs +3 -1
- package/models/seriesType/ohlc.d.mts +7 -1
- package/models/seriesType/ohlc.d.ts +7 -1
- package/models/seriesType/radialBar.d.mts +23 -0
- package/models/seriesType/radialBar.d.ts +23 -0
- package/models/seriesType/radialBar.js +5 -0
- package/models/seriesType/radialBar.mjs +1 -0
- package/models/seriesType/radialLine.d.mts +26 -0
- package/models/seriesType/radialLine.d.ts +26 -0
- package/models/seriesType/radialLine.js +5 -0
- package/models/seriesType/radialLine.mjs +1 -0
- package/models/seriesType/rangeBar.d.mts +7 -1
- package/models/seriesType/rangeBar.d.ts +7 -1
- package/package.json +90 -6
- package/typeOverloads/modules.d.mts +48 -2
- package/typeOverloads/modules.d.ts +48 -2
- package/utils/webgl/useWebGLResizeObserver.d.mts +3 -2
- package/utils/webgl/useWebGLResizeObserver.d.ts +3 -2
- package/utils/webgl/useWebGLResizeObserver.js +3 -4
- package/utils/webgl/useWebGLResizeObserver.mjs +3 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.mts +0 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.ts +0 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.js +0 -21
- 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 {
|
|
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
|
|
15
|
+
const layer = useWebGLLayer();
|
|
17
16
|
const series = useHeatmapSeriesContext();
|
|
18
17
|
const seriesToDisplay = series?.series[series.seriesOrder[0]];
|
|
19
|
-
if (!
|
|
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
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
157
|
-
}, [gl, program,
|
|
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
|
-
|
|
163
|
-
}, [setupResolutionUniform,
|
|
160
|
+
requestRender();
|
|
161
|
+
}, [setupResolutionUniform, requestRender]);
|
|
164
162
|
React.useEffect(() => {
|
|
165
163
|
setupRectDimensionsUniform();
|
|
166
|
-
|
|
167
|
-
}, [setupRectDimensionsUniform,
|
|
164
|
+
requestRender();
|
|
165
|
+
}, [setupRectDimensionsUniform, requestRender]);
|
|
168
166
|
React.useEffect(() => {
|
|
169
167
|
setupAttributes();
|
|
170
|
-
|
|
171
|
-
}, [
|
|
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,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,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,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,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,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,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,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,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 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;
|