@mui/material 6.3.1 → 6.4.1
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/Alert/Alert.d.ts +69 -0
- package/Alert/Alert.js +53 -21
- package/Autocomplete/Autocomplete.d.ts +1 -1
- package/Button/Button.d.ts +18 -0
- package/Button/Button.js +233 -15
- package/Button/buttonClasses.d.ts +14 -0
- package/Button/buttonClasses.js +1 -1
- package/ButtonBase/ButtonBase.d.ts +2 -0
- package/ButtonGroup/ButtonGroupButtonContext.js +2 -0
- package/ButtonGroup/ButtonGroupContext.js +2 -0
- package/CHANGELOG.md +91 -0
- package/CardHeader/CardHeader.d.ts +114 -1
- package/CardHeader/CardHeader.js +99 -32
- package/CircularProgress/CircularProgress.js +2 -2
- package/Dialog/Dialog.d.ts +85 -1
- package/Dialog/Dialog.js +91 -20
- package/Dialog/DialogContext.js +2 -0
- package/Drawer/Drawer.js +1 -1
- package/Drawer/drawerClasses.d.ts +32 -8
- package/Drawer/drawerClasses.js +1 -1
- package/FormControl/FormControl.js +9 -7
- package/FormControl/FormControlContext.js +2 -0
- package/Hidden/withWidth.js +2 -0
- package/IconButton/IconButton.d.ts +13 -0
- package/IconButton/IconButton.js +80 -7
- package/IconButton/iconButtonClasses.d.ts +6 -0
- package/IconButton/iconButtonClasses.js +1 -1
- package/LinearProgress/LinearProgress.js +4 -4
- package/LinearProgress/linearProgressClasses.d.ts +31 -9
- package/LinearProgress/linearProgressClasses.js +1 -1
- package/Link/getTextDecoration.js +3 -2
- package/RadioGroup/RadioGroupContext.js +2 -0
- package/Select/Select.js +10 -1
- package/Select/SelectInput.js +1 -1
- package/Slider/useSlider.js +5 -2
- package/Step/StepContext.js +2 -0
- package/StepLabel/StepLabel.d.ts +1 -1
- package/Stepper/StepperContext.js +2 -0
- package/Table/Tablelvl2Context.js +2 -0
- package/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +2 -0
- package/ToggleButtonGroup/ToggleButtonGroupContext.js +2 -0
- package/Tooltip/Tooltip.d.ts +1 -1
- package/index.js +1 -1
- package/modern/Alert/Alert.js +53 -21
- package/modern/Button/Button.js +233 -15
- package/modern/Button/buttonClasses.js +1 -1
- package/modern/ButtonGroup/ButtonGroupButtonContext.js +2 -0
- package/modern/ButtonGroup/ButtonGroupContext.js +2 -0
- package/modern/CardHeader/CardHeader.js +99 -32
- package/modern/CircularProgress/CircularProgress.js +2 -2
- package/modern/Dialog/Dialog.js +91 -20
- package/modern/Dialog/DialogContext.js +2 -0
- package/modern/Drawer/Drawer.js +1 -1
- package/modern/Drawer/drawerClasses.js +1 -1
- package/modern/FormControl/FormControl.js +9 -7
- package/modern/FormControl/FormControlContext.js +2 -0
- package/modern/Hidden/withWidth.js +2 -0
- package/modern/IconButton/IconButton.js +80 -7
- package/modern/IconButton/iconButtonClasses.js +1 -1
- package/modern/LinearProgress/LinearProgress.js +4 -4
- package/modern/LinearProgress/linearProgressClasses.js +1 -1
- package/modern/Link/getTextDecoration.js +3 -2
- package/modern/RadioGroup/RadioGroupContext.js +2 -0
- package/modern/Select/Select.js +10 -1
- package/modern/Select/SelectInput.js +1 -1
- package/modern/Slider/useSlider.js +5 -2
- package/modern/Step/StepContext.js +2 -0
- package/modern/Stepper/StepperContext.js +2 -0
- package/modern/Table/Tablelvl2Context.js +2 -0
- package/modern/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +2 -0
- package/modern/ToggleButtonGroup/ToggleButtonGroupContext.js +2 -0
- package/modern/index.js +1 -1
- package/modern/utils/index.js +1 -0
- package/modern/utils/mergeSlotProps.js +43 -0
- package/modern/utils/useSlot.js +5 -1
- package/modern/version/index.js +2 -2
- package/node/Alert/Alert.js +53 -21
- package/node/Button/Button.js +233 -15
- package/node/Button/buttonClasses.js +1 -1
- package/node/ButtonGroup/ButtonGroupButtonContext.js +1 -0
- package/node/ButtonGroup/ButtonGroupContext.js +1 -0
- package/node/CardHeader/CardHeader.js +99 -32
- package/node/CircularProgress/CircularProgress.js +2 -2
- package/node/Dialog/Dialog.js +91 -20
- package/node/Dialog/DialogContext.js +1 -0
- package/node/Drawer/Drawer.js +1 -1
- package/node/Drawer/drawerClasses.js +1 -1
- package/node/FormControl/FormControl.js +9 -7
- package/node/FormControl/FormControlContext.js +1 -0
- package/node/Hidden/withWidth.js +1 -0
- package/node/IconButton/IconButton.js +79 -6
- package/node/IconButton/iconButtonClasses.js +1 -1
- package/node/LinearProgress/LinearProgress.js +4 -4
- package/node/LinearProgress/linearProgressClasses.js +1 -1
- package/node/Link/getTextDecoration.js +3 -2
- package/node/RadioGroup/RadioGroupContext.js +1 -0
- package/node/Select/Select.js +10 -1
- package/node/Select/SelectInput.js +1 -1
- package/node/Slider/useSlider.js +5 -2
- package/node/Step/StepContext.js +1 -0
- package/node/Stepper/StepperContext.js +1 -0
- package/node/Table/Tablelvl2Context.js +1 -0
- package/node/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +1 -0
- package/node/ToggleButtonGroup/ToggleButtonGroupContext.js +1 -0
- package/node/index.js +1 -1
- package/node/utils/index.js +7 -0
- package/node/utils/mergeSlotProps.js +50 -0
- package/node/utils/useSlot.js +5 -1
- package/node/version/index.js +2 -2
- package/package.json +5 -5
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/mergeSlotProps.d.ts +2 -0
- package/utils/mergeSlotProps.js +43 -0
- package/utils/useSlot.d.ts +8 -0
- package/utils/useSlot.js +5 -1
- package/version/index.js +2 -2
|
@@ -0,0 +1,50 @@
|
|
|
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 = mergeSlotProps;
|
|
8
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
9
|
+
function mergeSlotProps(externalSlotProps, defaultSlotProps) {
|
|
10
|
+
if (!externalSlotProps) {
|
|
11
|
+
return defaultSlotProps;
|
|
12
|
+
}
|
|
13
|
+
if (typeof externalSlotProps === 'function' || typeof defaultSlotProps === 'function') {
|
|
14
|
+
return ownerState => {
|
|
15
|
+
const defaultSlotPropsValue = typeof defaultSlotProps === 'function' ? defaultSlotProps(ownerState) : defaultSlotProps;
|
|
16
|
+
const externalSlotPropsValue = typeof externalSlotProps === 'function' ? externalSlotProps({
|
|
17
|
+
...ownerState,
|
|
18
|
+
...defaultSlotPropsValue
|
|
19
|
+
}) : externalSlotProps;
|
|
20
|
+
const className = (0, _clsx.default)(ownerState?.className, defaultSlotPropsValue?.className, externalSlotPropsValue?.className);
|
|
21
|
+
return {
|
|
22
|
+
...defaultSlotPropsValue,
|
|
23
|
+
...externalSlotPropsValue,
|
|
24
|
+
...(!!className && {
|
|
25
|
+
className
|
|
26
|
+
}),
|
|
27
|
+
...(defaultSlotPropsValue?.style && externalSlotPropsValue?.style && {
|
|
28
|
+
style: {
|
|
29
|
+
...defaultSlotPropsValue.style,
|
|
30
|
+
...externalSlotPropsValue.style
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const className = (0, _clsx.default)(defaultSlotProps?.className, externalSlotProps?.className);
|
|
37
|
+
return {
|
|
38
|
+
...defaultSlotProps,
|
|
39
|
+
...externalSlotProps,
|
|
40
|
+
...(!!className && {
|
|
41
|
+
className
|
|
42
|
+
}),
|
|
43
|
+
...(defaultSlotProps?.style && externalSlotProps?.style && {
|
|
44
|
+
style: {
|
|
45
|
+
...defaultSlotProps.style,
|
|
46
|
+
...externalSlotProps.style
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
};
|
|
50
|
+
}
|
package/node/utils/useSlot.js
CHANGED
|
@@ -38,6 +38,7 @@ name, parameters) {
|
|
|
38
38
|
ownerState,
|
|
39
39
|
externalForwardedProps,
|
|
40
40
|
internalForwardedProps,
|
|
41
|
+
shouldForwardComponentProp = false,
|
|
41
42
|
...useSlotPropsParams
|
|
42
43
|
} = parameters;
|
|
43
44
|
const {
|
|
@@ -73,9 +74,12 @@ name, parameters) {
|
|
|
73
74
|
...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),
|
|
74
75
|
...(name !== 'root' && !slots[name] && internalForwardedProps),
|
|
75
76
|
...mergedProps,
|
|
76
|
-
...(LeafComponent && {
|
|
77
|
+
...(LeafComponent && !shouldForwardComponentProp && {
|
|
77
78
|
as: LeafComponent
|
|
78
79
|
}),
|
|
80
|
+
...(LeafComponent && shouldForwardComponentProp && {
|
|
81
|
+
component: LeafComponent
|
|
82
|
+
}),
|
|
79
83
|
ref
|
|
80
84
|
}, ownerState);
|
|
81
85
|
return [elementType, props];
|
package/node/version/index.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.prerelease = exports.patch = exports.minor = exports.major = exports.default = void 0;
|
|
7
|
-
const version = exports.version = "6.
|
|
7
|
+
const version = exports.version = "6.4.1";
|
|
8
8
|
const major = exports.major = Number("6");
|
|
9
|
-
const minor = exports.minor = Number("
|
|
9
|
+
const minor = exports.minor = Number("4");
|
|
10
10
|
const patch = exports.patch = Number("1");
|
|
11
11
|
const prerelease = exports.prerelease = undefined;
|
|
12
12
|
var _default = exports.default = version;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/material",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"prop-types": "^15.8.1",
|
|
36
36
|
"react-is": "^19.0.0",
|
|
37
37
|
"react-transition-group": "^4.4.5",
|
|
38
|
-
"@mui/
|
|
38
|
+
"@mui/system": "^6.4.1",
|
|
39
39
|
"@mui/types": "^7.2.21",
|
|
40
|
-
"@mui/
|
|
41
|
-
"@mui/
|
|
40
|
+
"@mui/utils": "^6.4.1",
|
|
41
|
+
"@mui/core-downloads-tracker": "^6.4.1"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@emotion/react": "^11.5.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
47
47
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
48
48
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
49
|
-
"@mui/material-pigment-css": "^6.
|
|
49
|
+
"@mui/material-pigment-css": "^6.4.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependenciesMeta": {
|
|
52
52
|
"@types/react": {
|
package/utils/index.d.ts
CHANGED
|
@@ -16,4 +16,5 @@ export { default as unsupportedProp } from './unsupportedProp';
|
|
|
16
16
|
export { default as useControlled } from './useControlled';
|
|
17
17
|
export { default as useEventCallback } from './useEventCallback';
|
|
18
18
|
export { default as useForkRef } from './useForkRef';
|
|
19
|
+
export { default as mergeSlotProps } from './mergeSlotProps';
|
|
19
20
|
export * from './types';
|
package/utils/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export { default as unsupportedProp } from "./unsupportedProp.js";
|
|
|
18
18
|
export { default as useControlled } from "./useControlled.js";
|
|
19
19
|
export { default as useEventCallback } from "./useEventCallback.js";
|
|
20
20
|
export { default as useForkRef } from "./useForkRef.js";
|
|
21
|
+
export { default as mergeSlotProps } from "./mergeSlotProps.js";
|
|
21
22
|
// TODO: remove this export once ClassNameGenerator is stable
|
|
22
23
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
23
24
|
export const unstable_ClassNameGenerator = {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { SlotComponentProps } from '@mui/utils';
|
|
2
|
+
export default function mergeSlotProps<T extends SlotComponentProps<React.ElementType, {}, {}>, K = T, U = T extends Function ? T : K extends Function ? K : T extends undefined ? K : T>(externalSlotProps: T | undefined, defaultSlotProps: K): U;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
export default function mergeSlotProps(externalSlotProps, defaultSlotProps) {
|
|
3
|
+
if (!externalSlotProps) {
|
|
4
|
+
return defaultSlotProps;
|
|
5
|
+
}
|
|
6
|
+
if (typeof externalSlotProps === 'function' || typeof defaultSlotProps === 'function') {
|
|
7
|
+
return ownerState => {
|
|
8
|
+
const defaultSlotPropsValue = typeof defaultSlotProps === 'function' ? defaultSlotProps(ownerState) : defaultSlotProps;
|
|
9
|
+
const externalSlotPropsValue = typeof externalSlotProps === 'function' ? externalSlotProps({
|
|
10
|
+
...ownerState,
|
|
11
|
+
...defaultSlotPropsValue
|
|
12
|
+
}) : externalSlotProps;
|
|
13
|
+
const className = clsx(ownerState?.className, defaultSlotPropsValue?.className, externalSlotPropsValue?.className);
|
|
14
|
+
return {
|
|
15
|
+
...defaultSlotPropsValue,
|
|
16
|
+
...externalSlotPropsValue,
|
|
17
|
+
...(!!className && {
|
|
18
|
+
className
|
|
19
|
+
}),
|
|
20
|
+
...(defaultSlotPropsValue?.style && externalSlotPropsValue?.style && {
|
|
21
|
+
style: {
|
|
22
|
+
...defaultSlotPropsValue.style,
|
|
23
|
+
...externalSlotPropsValue.style
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const className = clsx(defaultSlotProps?.className, externalSlotProps?.className);
|
|
30
|
+
return {
|
|
31
|
+
...defaultSlotProps,
|
|
32
|
+
...externalSlotProps,
|
|
33
|
+
...(!!className && {
|
|
34
|
+
className
|
|
35
|
+
}),
|
|
36
|
+
...(defaultSlotProps?.style && externalSlotProps?.style && {
|
|
37
|
+
style: {
|
|
38
|
+
...defaultSlotProps.style,
|
|
39
|
+
...externalSlotProps.style
|
|
40
|
+
}
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
}
|
package/utils/useSlot.d.ts
CHANGED
|
@@ -70,6 +70,14 @@ name: T, parameters: (T extends 'root' ? {
|
|
|
70
70
|
* e.g. Autocomplete's listbox uses Popper + StyledComponent
|
|
71
71
|
*/
|
|
72
72
|
internalForwardedProps?: any;
|
|
73
|
+
/**
|
|
74
|
+
* Set to true if the `elementType` is a styled component of another Material UI component.
|
|
75
|
+
*
|
|
76
|
+
* For example, the AlertRoot is a styled component of the Paper component.
|
|
77
|
+
* This flag is used to forward the `component` and `slotProps.root.component` to the Paper component.
|
|
78
|
+
* Otherwise, the `component` prop will be converted to `as` prop which replaces the Paper component (the paper styles are gone).
|
|
79
|
+
*/
|
|
80
|
+
shouldForwardComponentProp?: boolean;
|
|
73
81
|
}): [ElementType, {
|
|
74
82
|
className: string;
|
|
75
83
|
ownerState: OwnerState & SlotOwnerState;
|
package/utils/useSlot.js
CHANGED
|
@@ -32,6 +32,7 @@ name, parameters) {
|
|
|
32
32
|
ownerState,
|
|
33
33
|
externalForwardedProps,
|
|
34
34
|
internalForwardedProps,
|
|
35
|
+
shouldForwardComponentProp = false,
|
|
35
36
|
...useSlotPropsParams
|
|
36
37
|
} = parameters;
|
|
37
38
|
const {
|
|
@@ -67,9 +68,12 @@ name, parameters) {
|
|
|
67
68
|
...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),
|
|
68
69
|
...(name !== 'root' && !slots[name] && internalForwardedProps),
|
|
69
70
|
...mergedProps,
|
|
70
|
-
...(LeafComponent && {
|
|
71
|
+
...(LeafComponent && !shouldForwardComponentProp && {
|
|
71
72
|
as: LeafComponent
|
|
72
73
|
}),
|
|
74
|
+
...(LeafComponent && shouldForwardComponentProp && {
|
|
75
|
+
component: LeafComponent
|
|
76
|
+
}),
|
|
73
77
|
ref
|
|
74
78
|
}, ownerState);
|
|
75
79
|
return [elementType, props];
|
package/version/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const version = "6.
|
|
1
|
+
export const version = "6.4.1";
|
|
2
2
|
export const major = Number("6");
|
|
3
|
-
export const minor = Number("
|
|
3
|
+
export const minor = Number("4");
|
|
4
4
|
export const patch = Number("1");
|
|
5
5
|
export const prerelease = undefined;
|
|
6
6
|
export default version;
|