@mui/x-charts-premium 9.0.4 → 9.1.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.
- package/BarChartPremium/BarChartPremium.js +2 -1183
- package/BarChartPremium/BarChartPremium.mjs +2 -1183
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +2 -0
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +2 -0
- package/CHANGELOG.md +133 -0
- package/CandlestickChart/CandlestickChart.d.mts +2 -2
- package/CandlestickChart/CandlestickChart.d.ts +2 -2
- package/CandlestickChart/CandlestickChart.js +2 -1183
- package/CandlestickChart/CandlestickChart.mjs +2 -1183
- package/CandlestickChart/CandlestickWebGLProgram.d.mts +6 -11
- package/CandlestickChart/CandlestickWebGLProgram.d.ts +6 -11
- package/CandlestickChart/CandlestickWebGLProgram.js +136 -121
- package/CandlestickChart/CandlestickWebGLProgram.mjs +137 -122
- package/CandlestickChart/useCandlestickPlotData.d.mts +2 -2
- package/CandlestickChart/useCandlestickPlotData.d.ts +2 -2
- package/CandlestickChart/useCandlestickPlotData.js +121 -61
- package/CandlestickChart/useCandlestickPlotData.mjs +122 -61
- package/ChartsAxisHighlightValue/index.d.mts +1 -0
- package/ChartsAxisHighlightValue/index.d.ts +1 -0
- package/ChartsAxisHighlightValue/index.js +16 -0
- package/ChartsAxisHighlightValue/index.mjs +2 -0
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
- package/ChartsRadialAxisHighlight/index.d.mts +1 -0
- package/ChartsRadialAxisHighlight/index.d.ts +1 -0
- package/ChartsRadialAxisHighlight/index.js +16 -0
- package/ChartsRadialAxisHighlight/index.mjs +2 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +2 -2
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +2 -2
- package/HeatmapPremium/HeatmapPremium.js +2 -155
- package/HeatmapPremium/HeatmapPremium.mjs +2 -155
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.js +19 -112
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.mjs +19 -111
- package/HeatmapPremium/webgl/HeatmapWebGLProgram.d.mts +24 -0
- package/HeatmapPremium/webgl/HeatmapWebGLProgram.d.ts +24 -0
- package/HeatmapPremium/webgl/HeatmapWebGLProgram.js +132 -0
- package/HeatmapPremium/webgl/HeatmapWebGLProgram.mjs +125 -0
- package/HeatmapPremium/webgl/useHeatmapPlotData.d.mts +3 -3
- package/HeatmapPremium/webgl/useHeatmapPlotData.d.ts +3 -3
- package/HeatmapPremium/webgl/useHeatmapPlotData.js +78 -26
- package/HeatmapPremium/webgl/useHeatmapPlotData.mjs +80 -26
- package/LICENSE +3 -1
- package/RadialBarChart/RadialBarChart.d.mts +60 -0
- package/RadialBarChart/RadialBarChart.d.ts +60 -0
- package/RadialBarChart/RadialBarChart.js +298 -0
- package/RadialBarChart/RadialBarChart.mjs +292 -0
- package/RadialBarChart/RadialBarChart.plugins.d.mts +4 -0
- package/RadialBarChart/RadialBarChart.plugins.d.ts +4 -0
- package/RadialBarChart/RadialBarChart.plugins.js +9 -0
- package/RadialBarChart/RadialBarChart.plugins.mjs +3 -0
- package/RadialBarChart/RadialBarElement.d.mts +16 -0
- package/RadialBarChart/RadialBarElement.d.ts +16 -0
- package/RadialBarChart/RadialBarElement.js +54 -0
- package/RadialBarChart/RadialBarElement.mjs +48 -0
- package/RadialBarChart/RadialBarPlot.d.mts +21 -0
- package/RadialBarChart/RadialBarPlot.d.ts +21 -0
- package/RadialBarChart/RadialBarPlot.js +85 -0
- package/RadialBarChart/RadialBarPlot.mjs +79 -0
- package/RadialBarChart/index.d.mts +3 -0
- package/RadialBarChart/index.d.ts +3 -0
- package/RadialBarChart/index.js +39 -0
- package/RadialBarChart/index.mjs +3 -0
- package/RadialBarChart/radialBarClasses.d.mts +15 -0
- package/RadialBarChart/radialBarClasses.d.ts +15 -0
- package/RadialBarChart/radialBarClasses.js +26 -0
- package/RadialBarChart/radialBarClasses.mjs +18 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.js +4 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.mjs +4 -0
- package/RadialBarChart/useRadialBarChartProps.d.mts +28 -0
- package/RadialBarChart/useRadialBarChartProps.d.ts +28 -0
- package/RadialBarChart/useRadialBarChartProps.js +100 -0
- package/RadialBarChart/useRadialBarChartProps.mjs +93 -0
- package/RadialBarChart/useRadialBarPlotData.d.mts +23 -0
- package/RadialBarChart/useRadialBarPlotData.d.ts +23 -0
- package/RadialBarChart/useRadialBarPlotData.js +94 -0
- package/RadialBarChart/useRadialBarPlotData.mjs +87 -0
- package/RadialLineChart/RadialArea.js +13 -1
- package/RadialLineChart/RadialArea.mjs +13 -1
- package/RadialLineChart/RadialLine.js +13 -1
- package/RadialLineChart/RadialLine.mjs +13 -1
- package/RadialLineChart/RadialLineChart.d.mts +11 -3
- package/RadialLineChart/RadialLineChart.d.ts +11 -3
- package/RadialLineChart/RadialLineChart.js +24 -673
- package/RadialLineChart/RadialLineChart.mjs +24 -673
- package/RadialLineChart/RadialLineHighlightElement.d.mts +15 -0
- package/RadialLineChart/RadialLineHighlightElement.d.ts +15 -0
- package/RadialLineChart/RadialLineHighlightElement.js +46 -0
- package/RadialLineChart/RadialLineHighlightElement.mjs +39 -0
- package/RadialLineChart/RadialLineHighlightPlot.d.mts +23 -0
- package/RadialLineChart/RadialLineHighlightPlot.d.ts +23 -0
- package/RadialLineChart/RadialLineHighlightPlot.js +92 -0
- package/RadialLineChart/RadialLineHighlightPlot.mjs +86 -0
- package/RadialLineChart/RadialMarkPlot.js +17 -2
- package/RadialLineChart/RadialMarkPlot.mjs +17 -2
- package/RadialLineChart/index.d.mts +3 -1
- package/RadialLineChart/index.d.ts +3 -1
- package/RadialLineChart/index.js +22 -0
- package/RadialLineChart/index.mjs +3 -1
- package/RadialLineChart/radialLineClasses.d.mts +3 -1
- package/RadialLineChart/radialLineClasses.d.ts +3 -1
- package/RadialLineChart/radialLineClasses.js +2 -1
- package/RadialLineChart/radialLineClasses.mjs +2 -1
- package/RadialLineChart/seriesConfig/getItemAtPosition.d.mts +6 -0
- package/RadialLineChart/seriesConfig/getItemAtPosition.d.ts +6 -0
- package/RadialLineChart/seriesConfig/getItemAtPosition.js +353 -0
- package/RadialLineChart/seriesConfig/getItemAtPosition.mjs +348 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.js +2 -1
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.mjs +2 -1
- package/RadialLineChart/seriesConfig/index.js +2 -1
- package/RadialLineChart/seriesConfig/index.mjs +2 -1
- package/RadialLineChart/seriesConfig/seriesProcessor.js +4 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.mjs +4 -0
- package/RadialLineChart/useRadialLineChartProps.d.mts +2 -0
- package/RadialLineChart/useRadialLineChartProps.d.ts +2 -0
- package/RadialLineChart/useRadialLineChartProps.js +16 -8
- package/RadialLineChart/useRadialLineChartProps.mjs +16 -8
- package/RadialLineChart/useRadialLinePlotData.js +2 -1
- package/RadialLineChart/useRadialLinePlotData.mjs +3 -2
- package/ScatterChartPremium/ScatterChartPremium.d.mts +25 -0
- package/ScatterChartPremium/ScatterChartPremium.d.ts +25 -0
- package/ScatterChartPremium/ScatterChartPremium.js +507 -0
- package/ScatterChartPremium/ScatterChartPremium.mjs +501 -0
- package/ScatterChartPremium/ScatterChartPremium.plugins.d.mts +3 -0
- package/ScatterChartPremium/ScatterChartPremium.plugins.d.ts +3 -0
- package/ScatterChartPremium/ScatterChartPremium.plugins.js +8 -0
- package/ScatterChartPremium/ScatterChartPremium.plugins.mjs +2 -0
- package/ScatterChartPremium/ScatterPlotPremium.d.mts +14 -0
- package/ScatterChartPremium/ScatterPlotPremium.d.ts +14 -0
- package/ScatterChartPremium/ScatterPlotPremium.js +28 -0
- package/ScatterChartPremium/ScatterPlotPremium.mjs +21 -0
- package/ScatterChartPremium/index.d.mts +3 -0
- package/ScatterChartPremium/index.d.ts +3 -0
- package/ScatterChartPremium/index.js +26 -0
- package/ScatterChartPremium/index.mjs +3 -0
- package/ScatterChartPremium/webgl/ScatterWebGLPlot.d.mts +4 -0
- package/ScatterChartPremium/webgl/ScatterWebGLPlot.d.ts +4 -0
- package/ScatterChartPremium/webgl/ScatterWebGLPlot.js +70 -0
- package/ScatterChartPremium/webgl/ScatterWebGLPlot.mjs +65 -0
- package/ScatterChartPremium/webgl/ScatterWebGLProgram.d.mts +18 -0
- package/ScatterChartPremium/webgl/ScatterWebGLProgram.d.ts +18 -0
- package/ScatterChartPremium/webgl/ScatterWebGLProgram.js +129 -0
- package/ScatterChartPremium/webgl/ScatterWebGLProgram.mjs +122 -0
- package/ScatterChartPremium/webgl/shaders.d.mts +2 -0
- package/ScatterChartPremium/webgl/shaders.d.ts +2 -0
- package/ScatterChartPremium/webgl/shaders.js +57 -0
- package/ScatterChartPremium/webgl/shaders.mjs +51 -0
- package/ScatterChartPremium/webgl/useScatterWebGLPlotData.d.mts +7 -0
- package/ScatterChartPremium/webgl/useScatterWebGLPlotData.d.ts +7 -0
- package/ScatterChartPremium/webgl/useScatterWebGLPlotData.js +140 -0
- package/ScatterChartPremium/webgl/useScatterWebGLPlotData.mjs +134 -0
- package/index.d.mts +3 -1
- package/index.d.ts +3 -1
- package/index.js +25 -1
- package/index.mjs +4 -2
- package/internals/index.d.mts +1 -0
- package/internals/index.d.ts +1 -0
- package/internals/index.js +13 -0
- package/internals/index.mjs +1 -0
- package/models/seriesType/radialLine.d.mts +7 -1
- package/models/seriesType/radialLine.d.ts +7 -1
- package/package.json +184 -114
- package/plugins/selectors/useChartCandlestickPosition.selectors.d.mts +1 -1
- package/plugins/selectors/useChartCandlestickPosition.selectors.d.ts +1 -1
- package/utils/webgl/parseColor.d.mts +2 -1
- package/utils/webgl/parseColor.d.ts +2 -1
- package/utils/webgl/parseColor.js +8 -7
- package/utils/webgl/parseColor.mjs +8 -7
- package/utils/webgl/utils.d.mts +13 -0
- package/utils/webgl/utils.d.ts +13 -0
- package/utils/webgl/utils.js +29 -0
- package/utils/webgl/utils.mjs +27 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => _extends({}, seriesData, {
|
|
3
3
|
id: seriesData.id ?? `auto-generated-id-${seriesIndex}`,
|
|
4
|
-
color: seriesData.color ?? colors[seriesIndex % colors.length]
|
|
4
|
+
color: seriesData.color ?? colors[seriesIndex % colors.length],
|
|
5
|
+
curve: seriesData.curve ?? 'linear'
|
|
5
6
|
});
|
|
6
7
|
export default getSeriesWithDefaultValues;
|
|
@@ -16,6 +16,7 @@ var _getSeriesWithDefaultValues = _interopRequireDefault(require("./getSeriesWit
|
|
|
16
16
|
var _descriptionGetter = _interopRequireDefault(require("./descriptionGetter"));
|
|
17
17
|
var _extremums = require("./extremums");
|
|
18
18
|
var _tooltip = _interopRequireDefault(require("./tooltip"));
|
|
19
|
+
var _getItemAtPosition = _interopRequireDefault(require("./getItemAtPosition"));
|
|
19
20
|
_internals.polarSeriesTypes.addType('radialLine');
|
|
20
21
|
const radialLineSeriesConfig = exports.radialLineSeriesConfig = {
|
|
21
22
|
colorProcessor: _getColor.default,
|
|
@@ -27,7 +28,7 @@ const radialLineSeriesConfig = exports.radialLineSeriesConfig = {
|
|
|
27
28
|
rotationExtremumGetter: _extremums.rotationExtremumGetter,
|
|
28
29
|
radiusExtremumGetter: _extremums.radiusExtremumGetter,
|
|
29
30
|
getSeriesWithDefaultValues: _getSeriesWithDefaultValues.default,
|
|
30
|
-
|
|
31
|
+
getItemAtPosition: _getItemAtPosition.default,
|
|
31
32
|
keyboardFocusHandler: _keyboardFocusHandler.default,
|
|
32
33
|
identifierSerializer: _internals.identifierSerializerSeriesIdDataIndex,
|
|
33
34
|
identifierCleaner: _internals.identifierCleanerSeriesIdDataIndex,
|
|
@@ -9,6 +9,7 @@ import getSeriesWithDefaultValues from "./getSeriesWithDefaultValues.mjs";
|
|
|
9
9
|
import descriptionGetter from "./descriptionGetter.mjs";
|
|
10
10
|
import { radiusExtremumGetter, rotationExtremumGetter } from "./extremums.mjs";
|
|
11
11
|
import tooltipGetter from "./tooltip.mjs";
|
|
12
|
+
import getItemAtPosition from "./getItemAtPosition.mjs";
|
|
12
13
|
polarSeriesTypes.addType('radialLine');
|
|
13
14
|
export const radialLineSeriesConfig = {
|
|
14
15
|
colorProcessor,
|
|
@@ -20,7 +21,7 @@ export const radialLineSeriesConfig = {
|
|
|
20
21
|
rotationExtremumGetter,
|
|
21
22
|
radiusExtremumGetter,
|
|
22
23
|
getSeriesWithDefaultValues,
|
|
23
|
-
|
|
24
|
+
getItemAtPosition,
|
|
24
25
|
keyboardFocusHandler,
|
|
25
26
|
identifierSerializer: identifierSerializerSeriesIdDataIndex,
|
|
26
27
|
identifierCleaner: identifierCleanerSeriesIdDataIndex,
|
|
@@ -51,12 +51,16 @@ function seriesProcessor(params, dataset, isItemVisible) {
|
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
} else if (dataset === undefined && process.env.NODE_ENV !== 'production') {
|
|
54
|
+
// TODO: fix mui/no-guarded-throw
|
|
55
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
54
56
|
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: Radial line series with id="${id}" has no data. ` + 'The chart cannot render this series without data. ' + 'Provide a data property to the series or use the dataset prop.' : (0, _formatErrorMessage2.default)(258, id));
|
|
55
57
|
}
|
|
56
58
|
if (process.env.NODE_ENV !== 'production') {
|
|
57
59
|
if (!data && dataset) {
|
|
58
60
|
const dataKey = series[id].dataKey;
|
|
59
61
|
if (!dataKey && !series[id].valueGetter) {
|
|
62
|
+
// TODO: fix mui/no-guarded-throw
|
|
63
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
60
64
|
throw new Error(`MUI X Charts: Radial line series with id="${id}" has no data, no dataKey, and no valueGetter. ` + 'When using the dataset prop, each series must have a dataKey or valueGetter to identify which dataset values to use. ' + 'Add a dataKey or valueGetter property to the series configuration.');
|
|
61
65
|
}
|
|
62
66
|
if (dataKey) {
|
|
@@ -44,12 +44,16 @@ function seriesProcessor(params, dataset, isItemVisible) {
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
} else if (dataset === undefined && process.env.NODE_ENV !== 'production') {
|
|
47
|
+
// TODO: fix mui/no-guarded-throw
|
|
48
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
47
49
|
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: Radial line series with id="${id}" has no data. ` + 'The chart cannot render this series without data. ' + 'Provide a data property to the series or use the dataset prop.' : _formatErrorMessage(258, id));
|
|
48
50
|
}
|
|
49
51
|
if (process.env.NODE_ENV !== 'production') {
|
|
50
52
|
if (!data && dataset) {
|
|
51
53
|
const dataKey = series[id].dataKey;
|
|
52
54
|
if (!dataKey && !series[id].valueGetter) {
|
|
55
|
+
// TODO: fix mui/no-guarded-throw
|
|
56
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
53
57
|
throw new Error(`MUI X Charts: Radial line series with id="${id}" has no data, no dataKey, and no valueGetter. ` + 'When using the dataset prop, each series must have a dataKey or valueGetter to identify which dataset values to use. ' + 'Add a dataKey or valueGetter property to the series configuration.');
|
|
54
58
|
}
|
|
55
59
|
if (dataKey) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type ChartsClipPathProps } from "../ChartsClipPath/index.mjs";
|
|
3
3
|
import { type ChartsRadialGridProps } from "../ChartsRadialGrid/index.mjs";
|
|
4
|
+
import { type ChartsRadialAxisHighlightProps } from "../ChartsRadialAxisHighlight/index.mjs";
|
|
4
5
|
import { type ChartsLegendSlotExtension } from "../ChartsLegend/index.mjs";
|
|
5
6
|
import { type ChartsOverlayProps } from "../ChartsOverlay/index.mjs";
|
|
6
7
|
import { type ChartsRadialDataProviderProps } from "../ChartsRadialDataProvider/index.mjs";
|
|
@@ -18,6 +19,7 @@ export declare const useRadialLineChartProps: (props: RadialLineChartProps) => {
|
|
|
18
19
|
chartsWrapperProps: Omit<ChartsWrapperProps, "children">;
|
|
19
20
|
chartsContainerProps: ChartsRadialDataProviderProps<"radialLine", RadialLineChartPluginSignatures>;
|
|
20
21
|
gridProps: ChartsRadialGridProps | undefined;
|
|
22
|
+
axisHighlightProps: ChartsRadialAxisHighlightProps;
|
|
21
23
|
clipPathProps: ChartsClipPathProps;
|
|
22
24
|
clipPathGroupProps: {
|
|
23
25
|
clipPath: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type ChartsClipPathProps } from "../ChartsClipPath/index.js";
|
|
3
3
|
import { type ChartsRadialGridProps } from "../ChartsRadialGrid/index.js";
|
|
4
|
+
import { type ChartsRadialAxisHighlightProps } from "../ChartsRadialAxisHighlight/index.js";
|
|
4
5
|
import { type ChartsLegendSlotExtension } from "../ChartsLegend/index.js";
|
|
5
6
|
import { type ChartsOverlayProps } from "../ChartsOverlay/index.js";
|
|
6
7
|
import { type ChartsRadialDataProviderProps } from "../ChartsRadialDataProvider/index.js";
|
|
@@ -18,6 +19,7 @@ export declare const useRadialLineChartProps: (props: RadialLineChartProps) => {
|
|
|
18
19
|
chartsWrapperProps: Omit<ChartsWrapperProps, "children">;
|
|
19
20
|
chartsContainerProps: ChartsRadialDataProviderProps<"radialLine", RadialLineChartPluginSignatures>;
|
|
20
21
|
gridProps: ChartsRadialGridProps | undefined;
|
|
22
|
+
axisHighlightProps: ChartsRadialAxisHighlightProps;
|
|
21
23
|
clipPathProps: ChartsClipPathProps;
|
|
22
24
|
clipPathGroupProps: {
|
|
23
25
|
clipPath: string;
|
|
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
14
14
|
var _RadialLineChart = require("./RadialLineChart.plugins");
|
|
15
15
|
var _constants = require("../constants");
|
|
16
|
-
const _excluded = ["rotationAxis", "radiusAxis", "series", "width", "height", "margin", "colors", "dataset", "disableLineItemHighlight", "hideLegend", "grid", "children", "slots", "slotProps", "skipAnimation", "loading", "showToolbar"];
|
|
16
|
+
const _excluded = ["rotationAxis", "radiusAxis", "series", "width", "height", "margin", "colors", "dataset", "disableLineItemHighlight", "hideLegend", "grid", "axisHighlight", "children", "slots", "slotProps", "skipAnimation", "loading", "showToolbar"];
|
|
17
17
|
/**
|
|
18
18
|
* A helper function that extracts RadialLineChartProps from the input props
|
|
19
19
|
* and returns an object with props for the children components of RadialLineChart.
|
|
@@ -33,6 +33,7 @@ const useRadialLineChartProps = props => {
|
|
|
33
33
|
dataset,
|
|
34
34
|
disableLineItemHighlight,
|
|
35
35
|
grid,
|
|
36
|
+
axisHighlight,
|
|
36
37
|
children,
|
|
37
38
|
slots,
|
|
38
39
|
slotProps,
|
|
@@ -46,6 +47,15 @@ const useRadialLineChartProps = props => {
|
|
|
46
47
|
disableHighlight: !!disableLineItemHighlight,
|
|
47
48
|
type: 'radialLine'
|
|
48
49
|
}, s)), [disableLineItemHighlight, series]);
|
|
50
|
+
const defaultRotationAxis = React.useMemo(() => {
|
|
51
|
+
return [{
|
|
52
|
+
id: _constants.DEFAULT_ROTATION_AXIS_KEY,
|
|
53
|
+
scaleType: 'point',
|
|
54
|
+
data: Array.from({
|
|
55
|
+
length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
|
|
56
|
+
}, (_, index) => index)
|
|
57
|
+
}];
|
|
58
|
+
}, [series, dataset]);
|
|
49
59
|
const chartsContainerProps = (0, _extends2.default)({}, other, {
|
|
50
60
|
series: seriesWithDefault,
|
|
51
61
|
width,
|
|
@@ -53,18 +63,15 @@ const useRadialLineChartProps = props => {
|
|
|
53
63
|
margin,
|
|
54
64
|
colors,
|
|
55
65
|
dataset,
|
|
56
|
-
rotationAxis: rotationAxis ??
|
|
57
|
-
id: _constants.DEFAULT_ROTATION_AXIS_KEY,
|
|
58
|
-
scaleType: 'point',
|
|
59
|
-
data: Array.from({
|
|
60
|
-
length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
|
|
61
|
-
}, (_, index) => index)
|
|
62
|
-
}],
|
|
66
|
+
rotationAxis: rotationAxis ?? defaultRotationAxis,
|
|
63
67
|
radiusAxis,
|
|
64
68
|
skipAnimation,
|
|
65
69
|
plugins: _RadialLineChart.RADIAL_LINE_CHART_PLUGINS
|
|
66
70
|
});
|
|
67
71
|
const gridProps = grid;
|
|
72
|
+
const axisHighlightProps = (0, _extends2.default)({
|
|
73
|
+
rotation: 'line'
|
|
74
|
+
}, axisHighlight);
|
|
68
75
|
const clipPathGroupProps = {
|
|
69
76
|
clipPath: `url(#${clipPathId})`
|
|
70
77
|
};
|
|
@@ -89,6 +96,7 @@ const useRadialLineChartProps = props => {
|
|
|
89
96
|
chartsWrapperProps,
|
|
90
97
|
chartsContainerProps,
|
|
91
98
|
gridProps,
|
|
99
|
+
axisHighlightProps,
|
|
92
100
|
clipPathProps,
|
|
93
101
|
clipPathGroupProps,
|
|
94
102
|
overlayProps,
|
|
@@ -2,7 +2,7 @@
|
|
|
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 = ["rotationAxis", "radiusAxis", "series", "width", "height", "margin", "colors", "dataset", "disableLineItemHighlight", "hideLegend", "grid", "children", "slots", "slotProps", "skipAnimation", "loading", "showToolbar"];
|
|
5
|
+
const _excluded = ["rotationAxis", "radiusAxis", "series", "width", "height", "margin", "colors", "dataset", "disableLineItemHighlight", "hideLegend", "grid", "axisHighlight", "children", "slots", "slotProps", "skipAnimation", "loading", "showToolbar"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import useId from '@mui/utils/useId';
|
|
8
8
|
import { RADIAL_LINE_CHART_PLUGINS } from "./RadialLineChart.plugins.mjs";
|
|
@@ -27,6 +27,7 @@ export const useRadialLineChartProps = props => {
|
|
|
27
27
|
dataset,
|
|
28
28
|
disableLineItemHighlight,
|
|
29
29
|
grid,
|
|
30
|
+
axisHighlight,
|
|
30
31
|
children,
|
|
31
32
|
slots,
|
|
32
33
|
slotProps,
|
|
@@ -40,6 +41,15 @@ export const useRadialLineChartProps = props => {
|
|
|
40
41
|
disableHighlight: !!disableLineItemHighlight,
|
|
41
42
|
type: 'radialLine'
|
|
42
43
|
}, s)), [disableLineItemHighlight, series]);
|
|
44
|
+
const defaultRotationAxis = React.useMemo(() => {
|
|
45
|
+
return [{
|
|
46
|
+
id: DEFAULT_ROTATION_AXIS_KEY,
|
|
47
|
+
scaleType: 'point',
|
|
48
|
+
data: Array.from({
|
|
49
|
+
length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
|
|
50
|
+
}, (_, index) => index)
|
|
51
|
+
}];
|
|
52
|
+
}, [series, dataset]);
|
|
43
53
|
const chartsContainerProps = _extends({}, other, {
|
|
44
54
|
series: seriesWithDefault,
|
|
45
55
|
width,
|
|
@@ -47,18 +57,15 @@ export const useRadialLineChartProps = props => {
|
|
|
47
57
|
margin,
|
|
48
58
|
colors,
|
|
49
59
|
dataset,
|
|
50
|
-
rotationAxis: rotationAxis ??
|
|
51
|
-
id: DEFAULT_ROTATION_AXIS_KEY,
|
|
52
|
-
scaleType: 'point',
|
|
53
|
-
data: Array.from({
|
|
54
|
-
length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
|
|
55
|
-
}, (_, index) => index)
|
|
56
|
-
}],
|
|
60
|
+
rotationAxis: rotationAxis ?? defaultRotationAxis,
|
|
57
61
|
radiusAxis,
|
|
58
62
|
skipAnimation,
|
|
59
63
|
plugins: RADIAL_LINE_CHART_PLUGINS
|
|
60
64
|
});
|
|
61
65
|
const gridProps = grid;
|
|
66
|
+
const axisHighlightProps = _extends({
|
|
67
|
+
rotation: 'line'
|
|
68
|
+
}, axisHighlight);
|
|
62
69
|
const clipPathGroupProps = {
|
|
63
70
|
clipPath: `url(#${clipPathId})`
|
|
64
71
|
};
|
|
@@ -83,6 +90,7 @@ export const useRadialLineChartProps = props => {
|
|
|
83
90
|
chartsWrapperProps,
|
|
84
91
|
chartsContainerProps,
|
|
85
92
|
gridProps,
|
|
93
|
+
axisHighlightProps,
|
|
86
94
|
clipPathProps,
|
|
87
95
|
clipPathGroupProps,
|
|
88
96
|
overlayProps,
|
|
@@ -45,6 +45,7 @@ function useRadialLinePlotData() {
|
|
|
45
45
|
} = series[seriesId];
|
|
46
46
|
const radiusAxis = radiusAxisMap[radiusAxisId];
|
|
47
47
|
const rotationAxis = rotationAxisMap[rotationAxisId];
|
|
48
|
+
const rotationPosition = (0, _hooks.getValueToPositionMapper)(rotationAxis.scale);
|
|
48
49
|
const points = [];
|
|
49
50
|
for (let dataIndex = 0; dataIndex < data.length; dataIndex += 1) {
|
|
50
51
|
if (data[dataIndex] == null) {
|
|
@@ -54,7 +55,7 @@ function useRadialLinePlotData() {
|
|
|
54
55
|
const baseValue = stackedData[dataIndex]?.[0] ?? radiusAxis.scale.domain()[0];
|
|
55
56
|
const radius = radiusAxis.scale(value);
|
|
56
57
|
const baseRadius = radiusAxis.scale(baseValue);
|
|
57
|
-
const angle =
|
|
58
|
+
const angle = rotationPosition(rotationAxis.data[dataIndex]);
|
|
58
59
|
const [x, y] = instance.polar2svg(radius, angle);
|
|
59
60
|
points.push({
|
|
60
61
|
x,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useRadiusAxes, useRotationAxes } from '@mui/x-charts/hooks';
|
|
2
|
+
import { getValueToPositionMapper, useRadiusAxes, useRotationAxes } from '@mui/x-charts/hooks';
|
|
3
3
|
import { useChartsContext } from '@mui/x-charts/internals';
|
|
4
4
|
import { useRadialLineSeriesContext } from "../hooks/useRadialLineSeries.mjs";
|
|
5
5
|
export function useRadialLinePlotData() {
|
|
@@ -38,6 +38,7 @@ export function useRadialLinePlotData() {
|
|
|
38
38
|
} = series[seriesId];
|
|
39
39
|
const radiusAxis = radiusAxisMap[radiusAxisId];
|
|
40
40
|
const rotationAxis = rotationAxisMap[rotationAxisId];
|
|
41
|
+
const rotationPosition = getValueToPositionMapper(rotationAxis.scale);
|
|
41
42
|
const points = [];
|
|
42
43
|
for (let dataIndex = 0; dataIndex < data.length; dataIndex += 1) {
|
|
43
44
|
if (data[dataIndex] == null) {
|
|
@@ -47,7 +48,7 @@ export function useRadialLinePlotData() {
|
|
|
47
48
|
const baseValue = stackedData[dataIndex]?.[0] ?? radiusAxis.scale.domain()[0];
|
|
48
49
|
const radius = radiusAxis.scale(value);
|
|
49
50
|
const baseRadius = radiusAxis.scale(baseValue);
|
|
50
|
-
const angle =
|
|
51
|
+
const angle = rotationPosition(rotationAxis.data[dataIndex]);
|
|
51
52
|
const [x, y] = instance.polar2svg(radius, angle);
|
|
52
53
|
points.push({
|
|
53
54
|
x,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ScatterChartProps, type ScatterChartSlots, type ScatterChartSlotProps } from '@mui/x-charts/ScatterChart';
|
|
3
|
+
import { type ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
|
|
4
|
+
import { type ChartsToolbarProSlotProps, type ChartsToolbarProSlots } from '@mui/x-charts-pro/ChartsToolbarPro';
|
|
5
|
+
import { type ChartsSlotPropsPro, type ChartsSlotsPro } from '@mui/x-charts-pro/internals';
|
|
6
|
+
import { type ChartsContainerPremiumProps } from "../ChartsContainerPremium/index.mjs";
|
|
7
|
+
import { type ScatterChartPremiumPluginSignatures } from "./ScatterChartPremium.plugins.mjs";
|
|
8
|
+
export interface ScatterChartPremiumSlots extends Omit<ScatterChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
|
|
9
|
+
export interface ScatterChartPremiumSlotProps extends Omit<ScatterChartSlotProps, 'toolbar' | 'tooltip'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
|
|
10
|
+
tooltip?: Partial<ChartsTooltipProps<'item' | 'none'>>;
|
|
11
|
+
}
|
|
12
|
+
export interface ScatterChartPremiumProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps' | 'plugins' | 'seriesConfig' | 'renderer'>, Omit<ChartsContainerPremiumProps<'scatter', ScatterChartPremiumPluginSignatures>, 'series' | 'onItemClick' | 'slots' | 'slotProps' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
|
|
13
|
+
/**
|
|
14
|
+
* The renderer to use for drawing the scatter points.
|
|
15
|
+
* - `svg-single`: Renders each point as its own SVG element (full interactivity).
|
|
16
|
+
* - `svg-batch`: Renders points in a batched SVG path (faster, reduced interactivity).
|
|
17
|
+
* - `webgl`: Renders points into a WebGL canvas (fastest, no per-item SVG interactivity).
|
|
18
|
+
* @default 'svg-single'
|
|
19
|
+
*/
|
|
20
|
+
renderer?: 'svg-single' | 'svg-batch' | 'webgl';
|
|
21
|
+
slots?: ScatterChartPremiumSlots;
|
|
22
|
+
slotProps?: ScatterChartPremiumSlotProps;
|
|
23
|
+
}
|
|
24
|
+
declare const ScatterChartPremium: React.ForwardRefExoticComponent<ScatterChartPremiumProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
export { ScatterChartPremium };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ScatterChartProps, type ScatterChartSlots, type ScatterChartSlotProps } from '@mui/x-charts/ScatterChart';
|
|
3
|
+
import { type ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
|
|
4
|
+
import { type ChartsToolbarProSlotProps, type ChartsToolbarProSlots } from '@mui/x-charts-pro/ChartsToolbarPro';
|
|
5
|
+
import { type ChartsSlotPropsPro, type ChartsSlotsPro } from '@mui/x-charts-pro/internals';
|
|
6
|
+
import { type ChartsContainerPremiumProps } from "../ChartsContainerPremium/index.js";
|
|
7
|
+
import { type ScatterChartPremiumPluginSignatures } from "./ScatterChartPremium.plugins.js";
|
|
8
|
+
export interface ScatterChartPremiumSlots extends Omit<ScatterChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
|
|
9
|
+
export interface ScatterChartPremiumSlotProps extends Omit<ScatterChartSlotProps, 'toolbar' | 'tooltip'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
|
|
10
|
+
tooltip?: Partial<ChartsTooltipProps<'item' | 'none'>>;
|
|
11
|
+
}
|
|
12
|
+
export interface ScatterChartPremiumProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps' | 'plugins' | 'seriesConfig' | 'renderer'>, Omit<ChartsContainerPremiumProps<'scatter', ScatterChartPremiumPluginSignatures>, 'series' | 'onItemClick' | 'slots' | 'slotProps' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
|
|
13
|
+
/**
|
|
14
|
+
* The renderer to use for drawing the scatter points.
|
|
15
|
+
* - `svg-single`: Renders each point as its own SVG element (full interactivity).
|
|
16
|
+
* - `svg-batch`: Renders points in a batched SVG path (faster, reduced interactivity).
|
|
17
|
+
* - `webgl`: Renders points into a WebGL canvas (fastest, no per-item SVG interactivity).
|
|
18
|
+
* @default 'svg-single'
|
|
19
|
+
*/
|
|
20
|
+
renderer?: 'svg-single' | 'svg-batch' | 'webgl';
|
|
21
|
+
slots?: ScatterChartPremiumSlots;
|
|
22
|
+
slotProps?: ScatterChartPremiumSlotProps;
|
|
23
|
+
}
|
|
24
|
+
declare const ScatterChartPremium: React.ForwardRefExoticComponent<ScatterChartPremiumProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
export { ScatterChartPremium };
|