@mui/x-charts 7.13.0 → 7.14.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/BarChart/BarPlot.js +4 -3
- package/BarChart/extremums.js +42 -7
- package/CHANGELOG.md +82 -2
- package/ChartContainer/useChartContainerProps.js +1 -1
- package/ChartContainer/useDefaultizeAxis.d.ts +2 -1
- package/ChartContainer/useDefaultizeAxis.js +16 -5
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +23 -9
- package/ChartsGrid/ChartsGrid.js +6 -4
- package/ChartsXAxis/ChartsXAxis.js +14 -3
- package/ChartsYAxis/ChartsYAxis.js +8 -2
- package/LineChart/extremums.js +20 -4
- package/ScatterChart/extremums.js +26 -10
- package/context/CartesianProvider/Cartesian.types.d.ts +59 -0
- package/context/CartesianProvider/Cartesian.types.js +5 -0
- package/context/CartesianProvider/CartesianContext.d.ts +1 -22
- package/context/CartesianProvider/CartesianProvider.d.ts +1 -21
- package/context/CartesianProvider/CartesianProvider.js +2 -5
- package/context/CartesianProvider/computeValue.d.ts +18 -31
- package/context/CartesianProvider/computeValue.js +20 -23
- package/context/CartesianProvider/getAxisExtremum.d.ts +3 -2
- package/context/CartesianProvider/getAxisExtremum.js +11 -5
- package/context/CartesianProvider/index.d.ts +1 -0
- package/context/CartesianProvider/index.js +12 -0
- package/context/CartesianProvider/useCartesianContext.d.ts +1 -1
- package/context/CartesianProvider/zoom.d.ts +10 -0
- package/context/CartesianProvider/zoom.js +26 -0
- package/context/DrawingProvider.d.ts +7 -2
- package/context/DrawingProvider.js +11 -3
- package/context/PluginProvider/ExtremumGetter.types.d.ts +11 -1
- package/esm/BarChart/BarPlot.js +4 -3
- package/esm/BarChart/extremums.js +42 -7
- package/esm/ChartContainer/useChartContainerProps.js +1 -1
- package/esm/ChartContainer/useDefaultizeAxis.js +16 -5
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +23 -9
- package/esm/ChartsGrid/ChartsGrid.js +6 -4
- package/esm/ChartsXAxis/ChartsXAxis.js +14 -3
- package/esm/ChartsYAxis/ChartsYAxis.js +8 -2
- package/esm/LineChart/extremums.js +20 -4
- package/esm/ScatterChart/extremums.js +26 -10
- package/esm/context/CartesianProvider/Cartesian.types.js +1 -0
- package/esm/context/CartesianProvider/CartesianProvider.js +2 -5
- package/esm/context/CartesianProvider/computeValue.js +20 -23
- package/esm/context/CartesianProvider/getAxisExtremum.js +11 -5
- package/esm/context/CartesianProvider/index.js +1 -0
- package/esm/context/CartesianProvider/zoom.js +19 -0
- package/esm/context/DrawingProvider.js +11 -3
- package/esm/hooks/useAxisEvents.js +3 -1
- package/esm/internals/domUtils.js +16 -3
- package/esm/internals/index.js +3 -0
- package/esm/models/axis.js +5 -0
- package/esm/tests/firePointerEvent.js +35 -0
- package/hooks/useAxisEvents.js +3 -1
- package/index.js +1 -1
- package/internals/domUtils.d.ts +2 -0
- package/internals/domUtils.js +19 -5
- package/internals/index.d.ts +2 -0
- package/internals/index.js +17 -1
- package/models/axis.d.ts +4 -0
- package/models/axis.js +5 -0
- package/modern/BarChart/BarPlot.js +4 -3
- package/modern/BarChart/extremums.js +42 -7
- package/modern/ChartContainer/useChartContainerProps.js +1 -1
- package/modern/ChartContainer/useDefaultizeAxis.js +16 -5
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +23 -9
- package/modern/ChartsGrid/ChartsGrid.js +6 -4
- package/modern/ChartsXAxis/ChartsXAxis.js +14 -3
- package/modern/ChartsYAxis/ChartsYAxis.js +8 -2
- package/modern/LineChart/extremums.js +20 -4
- package/modern/ScatterChart/extremums.js +26 -10
- package/modern/context/CartesianProvider/Cartesian.types.js +1 -0
- package/modern/context/CartesianProvider/CartesianProvider.js +2 -5
- package/modern/context/CartesianProvider/computeValue.js +20 -23
- package/modern/context/CartesianProvider/getAxisExtremum.js +11 -5
- package/modern/context/CartesianProvider/index.js +1 -0
- package/modern/context/CartesianProvider/zoom.js +19 -0
- package/modern/context/DrawingProvider.js +11 -3
- package/modern/hooks/useAxisEvents.js +3 -1
- package/modern/index.js +1 -1
- package/modern/internals/domUtils.js +16 -3
- package/modern/internals/index.js +3 -0
- package/modern/models/axis.js +5 -0
- package/modern/tests/firePointerEvent.js +35 -0
- package/package.json +4 -4
- package/tests/firePointerEvent.js +42 -0
- package/context/CartesianProvider/normalizeAxis.d.ts +0 -5
- package/context/CartesianProvider/normalizeAxis.js +0 -23
- package/esm/context/CartesianProvider/normalizeAxis.js +0 -15
- package/modern/context/CartesianProvider/normalizeAxis.js +0 -15
|
@@ -20,7 +20,7 @@ const SPAN_STYLE = {
|
|
|
20
20
|
whiteSpace: 'pre'
|
|
21
21
|
};
|
|
22
22
|
const STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];
|
|
23
|
-
const MEASUREMENT_SPAN_ID = 'mui_measurement_span';
|
|
23
|
+
export const MEASUREMENT_SPAN_ID = 'mui_measurement_span';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
*
|
|
@@ -57,7 +57,7 @@ function camelToMiddleLine(text) {
|
|
|
57
57
|
* @returns CSS styling string
|
|
58
58
|
*/
|
|
59
59
|
export const getStyleString = style => Object.keys(style).sort().reduce((result, s) => `${result}${camelToMiddleLine(s)}:${autoCompleteStyle(s, style[s])};`, '');
|
|
60
|
-
|
|
60
|
+
let domCleanTimeout;
|
|
61
61
|
/**
|
|
62
62
|
*
|
|
63
63
|
* @param text The string to estimate
|
|
@@ -105,6 +105,13 @@ export const getStringSize = (text, style = {}) => {
|
|
|
105
105
|
} else {
|
|
106
106
|
stringCache.cacheCount += 1;
|
|
107
107
|
}
|
|
108
|
+
if (domCleanTimeout) {
|
|
109
|
+
clearTimeout(domCleanTimeout);
|
|
110
|
+
}
|
|
111
|
+
domCleanTimeout = setTimeout(() => {
|
|
112
|
+
// Limit node cleaning to once per render cycle
|
|
113
|
+
measurementSpan.textContent = '';
|
|
114
|
+
}, 0);
|
|
108
115
|
return result;
|
|
109
116
|
} catch (e) {
|
|
110
117
|
return {
|
|
@@ -112,4 +119,10 @@ export const getStringSize = (text, style = {}) => {
|
|
|
112
119
|
height: 0
|
|
113
120
|
};
|
|
114
121
|
}
|
|
115
|
-
};
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
125
|
+
export function unstable_cleanupDOM() {
|
|
126
|
+
// const measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);
|
|
127
|
+
// measurementSpan?.remove();
|
|
128
|
+
}
|
|
@@ -20,6 +20,7 @@ export * from './configInit';
|
|
|
20
20
|
export * from './getLabel';
|
|
21
21
|
export * from './getSVGPoint';
|
|
22
22
|
export * from './isDefined';
|
|
23
|
+
export { unstable_cleanupDOM } from './domUtils';
|
|
23
24
|
|
|
24
25
|
// contexts
|
|
25
26
|
|
|
@@ -29,6 +30,8 @@ export * from '../context/InteractionProvider';
|
|
|
29
30
|
export * from '../context/SeriesProvider';
|
|
30
31
|
export * from '../context/ZAxisContextProvider';
|
|
31
32
|
export * from '../context/PluginProvider';
|
|
33
|
+
export { getAxisExtremum } from '../context/CartesianProvider/getAxisExtremum';
|
|
34
|
+
|
|
32
35
|
// series configuration
|
|
33
36
|
export * from '../models/seriesType/config';
|
|
34
37
|
export * from '../models/seriesType/common';
|
package/modern/models/axis.js
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { fireEvent } from '@mui/internal-test-utils';
|
|
3
|
+
export function firePointerEvent(target, type, options) {
|
|
4
|
+
const originalGetBoundingClientRect = target.getBoundingClientRect;
|
|
5
|
+
target.getBoundingClientRect = () => ({
|
|
6
|
+
x: 0,
|
|
7
|
+
y: 0,
|
|
8
|
+
bottom: 0,
|
|
9
|
+
height: 0,
|
|
10
|
+
left: 0,
|
|
11
|
+
right: 0,
|
|
12
|
+
top: 0,
|
|
13
|
+
width: 0,
|
|
14
|
+
toJSON() {
|
|
15
|
+
return {
|
|
16
|
+
x: 0,
|
|
17
|
+
y: 0,
|
|
18
|
+
bottom: 0,
|
|
19
|
+
height: 0,
|
|
20
|
+
left: 0,
|
|
21
|
+
right: 0,
|
|
22
|
+
top: 0,
|
|
23
|
+
width: 0
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
const event = new window.PointerEvent(type, _extends({
|
|
28
|
+
bubbles: true,
|
|
29
|
+
cancelable: true,
|
|
30
|
+
composed: true,
|
|
31
|
+
isPrimary: true
|
|
32
|
+
}, options));
|
|
33
|
+
fireEvent(target, event);
|
|
34
|
+
target.getBoundingClientRect = originalGetBoundingClientRect;
|
|
35
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-charts",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.14.0",
|
|
4
4
|
"description": "The community edition of the Charts components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -30,13 +30,13 @@
|
|
|
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-vendor": "7.
|
|
39
|
+
"@mui/x-charts-vendor": "7.14.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@emotion/react": "^11.9.0",
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.firePointerEvent = firePointerEvent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internalTestUtils = require("@mui/internal-test-utils");
|
|
10
|
+
function firePointerEvent(target, type, options) {
|
|
11
|
+
const originalGetBoundingClientRect = target.getBoundingClientRect;
|
|
12
|
+
target.getBoundingClientRect = () => ({
|
|
13
|
+
x: 0,
|
|
14
|
+
y: 0,
|
|
15
|
+
bottom: 0,
|
|
16
|
+
height: 0,
|
|
17
|
+
left: 0,
|
|
18
|
+
right: 0,
|
|
19
|
+
top: 0,
|
|
20
|
+
width: 0,
|
|
21
|
+
toJSON() {
|
|
22
|
+
return {
|
|
23
|
+
x: 0,
|
|
24
|
+
y: 0,
|
|
25
|
+
bottom: 0,
|
|
26
|
+
height: 0,
|
|
27
|
+
left: 0,
|
|
28
|
+
right: 0,
|
|
29
|
+
top: 0,
|
|
30
|
+
width: 0
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const event = new window.PointerEvent(type, (0, _extends2.default)({
|
|
35
|
+
bubbles: true,
|
|
36
|
+
cancelable: true,
|
|
37
|
+
composed: true,
|
|
38
|
+
isPrimary: true
|
|
39
|
+
}, options));
|
|
40
|
+
(0, _internalTestUtils.fireEvent)(target, event);
|
|
41
|
+
target.getBoundingClientRect = originalGetBoundingClientRect;
|
|
42
|
+
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { AxisConfig, ScaleName } from '../../models';
|
|
2
|
-
import { ChartsAxisProps } from '../../models/axis';
|
|
3
|
-
import { MakeOptional } from '../../models/helpers';
|
|
4
|
-
import { DatasetType } from '../../models/seriesType/config';
|
|
5
|
-
export declare const normalizeAxis: <T extends ChartsAxisProps, R extends MakeOptional<AxisConfig<ScaleName, any, T>, "id">>(axis: R[] | undefined, dataset: DatasetType | undefined, axisName: "x" | "y") => R[];
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.normalizeAxis = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
const normalizeAxis = (axis, dataset, axisName) => {
|
|
10
|
-
return axis?.map(axisConfig => {
|
|
11
|
-
const dataKey = axisConfig.dataKey;
|
|
12
|
-
if (dataKey === undefined || axisConfig.data !== undefined) {
|
|
13
|
-
return axisConfig;
|
|
14
|
-
}
|
|
15
|
-
if (dataset === undefined) {
|
|
16
|
-
throw Error(`MUI X: ${axisName}-axis uses \`dataKey\` but no \`dataset\` is provided.`);
|
|
17
|
-
}
|
|
18
|
-
return (0, _extends2.default)({}, axisConfig, {
|
|
19
|
-
data: dataset.map(d => d[dataKey])
|
|
20
|
-
});
|
|
21
|
-
}) ?? [];
|
|
22
|
-
};
|
|
23
|
-
exports.normalizeAxis = normalizeAxis;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
export const normalizeAxis = (axis, dataset, axisName) => {
|
|
3
|
-
return axis?.map(axisConfig => {
|
|
4
|
-
const dataKey = axisConfig.dataKey;
|
|
5
|
-
if (dataKey === undefined || axisConfig.data !== undefined) {
|
|
6
|
-
return axisConfig;
|
|
7
|
-
}
|
|
8
|
-
if (dataset === undefined) {
|
|
9
|
-
throw Error(`MUI X: ${axisName}-axis uses \`dataKey\` but no \`dataset\` is provided.`);
|
|
10
|
-
}
|
|
11
|
-
return _extends({}, axisConfig, {
|
|
12
|
-
data: dataset.map(d => d[dataKey])
|
|
13
|
-
});
|
|
14
|
-
}) ?? [];
|
|
15
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
export const normalizeAxis = (axis, dataset, axisName) => {
|
|
3
|
-
return axis?.map(axisConfig => {
|
|
4
|
-
const dataKey = axisConfig.dataKey;
|
|
5
|
-
if (dataKey === undefined || axisConfig.data !== undefined) {
|
|
6
|
-
return axisConfig;
|
|
7
|
-
}
|
|
8
|
-
if (dataset === undefined) {
|
|
9
|
-
throw Error(`MUI X: ${axisName}-axis uses \`dataKey\` but no \`dataset\` is provided.`);
|
|
10
|
-
}
|
|
11
|
-
return _extends({}, axisConfig, {
|
|
12
|
-
data: dataset.map(d => d[dataKey])
|
|
13
|
-
});
|
|
14
|
-
}) ?? [];
|
|
15
|
-
};
|