@mui/x-charts-pro 7.0.0-alpha.0 → 7.0.0-alpha.2
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/CHANGELOG.md +162 -1
- package/ChartContainerPro/ChartContainerPro.js +9 -5
- package/ChartContainerPro/useChartContainerProProps.d.ts +1 -1
- package/ChartContainerPro/useChartContainerProProps.js +2 -2
- package/Heatmap/Heatmap.js +4 -0
- package/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +4 -0
- package/ResponsiveChartContainerPro/useResponsiveChartContainerProProps.d.ts +1 -1
- package/ScatterChartPro/ScatterChartPro.js +4 -0
- package/context/CartesianProviderPro/CartesianProviderPro.d.ts +4 -4
- package/context/CartesianProviderPro/CartesianProviderPro.js +46 -10
- package/context/CartesianProviderPro/createAxisFilterMapper.d.ts +12 -0
- package/context/CartesianProviderPro/createAxisFilterMapper.js +61 -0
- package/context/ZoomProvider/Zoom.types.d.ts +10 -0
- package/context/ZoomProvider/defaultizeZoom.js +2 -1
- package/index.js +1 -1
- package/internals/utils/releaseInfo.js +1 -1
- package/modern/ChartContainerPro/ChartContainerPro.js +9 -5
- package/modern/ChartContainerPro/useChartContainerProProps.js +2 -2
- package/modern/Heatmap/Heatmap.js +4 -0
- package/modern/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +4 -0
- package/modern/ScatterChartPro/ScatterChartPro.js +4 -0
- package/modern/context/CartesianProviderPro/CartesianProviderPro.js +46 -10
- package/modern/context/CartesianProviderPro/createAxisFilterMapper.js +61 -0
- package/modern/context/ZoomProvider/defaultizeZoom.js +2 -1
- package/modern/index.js +1 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/node/ChartContainerPro/ChartContainerPro.js +8 -4
- package/node/ChartContainerPro/useChartContainerProProps.js +2 -2
- package/node/Heatmap/Heatmap.js +4 -0
- package/node/ResponsiveChartContainerPro/ResponsiveChartContainerPro.js +4 -0
- package/node/ScatterChartPro/ScatterChartPro.js +4 -0
- package/node/context/CartesianProviderPro/CartesianProviderPro.js +47 -10
- package/node/context/CartesianProviderPro/createAxisFilterMapper.js +69 -0
- package/node/context/ZoomProvider/defaultizeZoom.js +2 -1
- package/node/index.js +1 -1
- package/node/internals/utils/releaseInfo.js +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createGetAxisFilters = exports.createAxisFilterMapper = void 0;
|
|
7
|
+
var _internals = require("@mui/x-charts/internals");
|
|
8
|
+
var _getScale = require("../../../../x-charts/src/internals/getScale");
|
|
9
|
+
const createAxisFilterMapper = ({
|
|
10
|
+
zoomData,
|
|
11
|
+
extremumGetter,
|
|
12
|
+
formattedSeries,
|
|
13
|
+
direction
|
|
14
|
+
}) => (axis, axisIndex) => {
|
|
15
|
+
if (typeof axis.zoom !== 'object' || axis.zoom.filterMode !== 'discard') {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const zoom = zoomData?.find(({
|
|
19
|
+
axisId
|
|
20
|
+
}) => axisId === axis.id);
|
|
21
|
+
if (zoom === undefined || zoom.start <= 0 && zoom.end >= 100) {
|
|
22
|
+
// No zoom, or zoom with all data visible
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
let extremums = [];
|
|
26
|
+
const scaleType = axis.scaleType;
|
|
27
|
+
if (scaleType === 'point' || scaleType === 'band') {
|
|
28
|
+
extremums = [0, (axis.data?.length ?? 1) - 1];
|
|
29
|
+
} else {
|
|
30
|
+
extremums = (0, _internals.getAxisExtremum)(axis, extremumGetter, axisIndex === 0, formattedSeries);
|
|
31
|
+
}
|
|
32
|
+
let min;
|
|
33
|
+
let max;
|
|
34
|
+
|
|
35
|
+
// @ts-expect-error The function defaults to linear scale if the scaleType is not recognized.
|
|
36
|
+
[min, max] = (0, _getScale.getScale)(scaleType, extremums, [0, 100]).nice().domain();
|
|
37
|
+
min = min instanceof Date ? min.getTime() : min;
|
|
38
|
+
max = max instanceof Date ? max.getTime() : max;
|
|
39
|
+
const minVal = min + zoom.start * (max - min) / 100;
|
|
40
|
+
const maxVal = min + zoom.end * (max - min) / 100;
|
|
41
|
+
return (value, dataIndex) => {
|
|
42
|
+
const val = value[direction] ?? axis.data?.[dataIndex];
|
|
43
|
+
if (val == null) {
|
|
44
|
+
// If the value does not exist because of missing data point, or out of range index, we just ignore.
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (axis.scaleType === 'point' || axis.scaleType === 'band' || typeof val === 'string') {
|
|
48
|
+
return dataIndex >= minVal && dataIndex <= maxVal;
|
|
49
|
+
}
|
|
50
|
+
return val >= minVal && val <= maxVal;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
exports.createAxisFilterMapper = createAxisFilterMapper;
|
|
54
|
+
const createGetAxisFilters = filters => ({
|
|
55
|
+
currentAxisId,
|
|
56
|
+
seriesXAxisId,
|
|
57
|
+
seriesYAxisId,
|
|
58
|
+
isDefaultAxis
|
|
59
|
+
}) => {
|
|
60
|
+
return (value, dataIndex) => {
|
|
61
|
+
const axisId = currentAxisId === seriesXAxisId ? seriesYAxisId : seriesXAxisId;
|
|
62
|
+
if (!axisId || isDefaultAxis) {
|
|
63
|
+
return Object.values(filters ?? {})[0]?.(value, dataIndex) ?? true;
|
|
64
|
+
}
|
|
65
|
+
const data = [seriesYAxisId, seriesXAxisId].filter(id => id !== currentAxisId).map(id => filters[id ?? '']).filter(_internals.isDefined);
|
|
66
|
+
return data.every(f => f(value, dataIndex));
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.createGetAxisFilters = createGetAxisFilters;
|
package/node/index.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getReleaseInfo = void 0;
|
|
7
7
|
var _utils = require("@mui/utils");
|
|
8
8
|
const getReleaseInfo = () => {
|
|
9
|
-
const releaseInfo = "
|
|
9
|
+
const releaseInfo = "MTcyNDM2MDQwMDAwMA==";
|
|
10
10
|
if (process.env.NODE_ENV !== 'production') {
|
|
11
11
|
// A simple hack to set the value in the test environment (has no build step).
|
|
12
12
|
// eslint-disable-next-line no-useless-concat
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-charts-pro",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.2",
|
|
4
4
|
"description": "The Pro plan edition of the Charts components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/runtime": "^7.25.0",
|
|
33
|
-
"@mui/system": "^5.16.
|
|
34
|
-
"@mui/utils": "^5.16.
|
|
33
|
+
"@mui/system": "^5.16.7",
|
|
34
|
+
"@mui/utils": "^5.16.6",
|
|
35
35
|
"@react-spring/rafz": "^9.7.4",
|
|
36
36
|
"@react-spring/web": "^9.7.4",
|
|
37
37
|
"clsx": "^2.1.1",
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
|
-
"@mui/x-charts": "7.
|
|
40
|
-
"@mui/x-license": "7.
|
|
41
|
-
"@mui/x-charts-vendor": "7.
|
|
39
|
+
"@mui/x-charts": "7.14.0",
|
|
40
|
+
"@mui/x-license": "7.14.0",
|
|
41
|
+
"@mui/x-charts-vendor": "7.14.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@emotion/react": "^11.9.0",
|