@mui/material 5.8.3 → 5.8.4
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/Autocomplete/autocompleteClasses.d.ts +1 -1
- package/Button/buttonClasses.d.ts +24 -0
- package/Button/buttonClasses.js +1 -1
- package/CHANGELOG.md +90 -10
- package/Grid/Grid.d.ts +73 -52
- package/Grid/Grid.js +94 -40
- package/Grow/Grow.js +1 -2
- package/Hidden/withWidth.js +0 -2
- package/Link/Link.js +10 -17
- package/Link/getTextDecoration.d.ts +15 -0
- package/Link/getTextDecoration.js +29 -0
- package/Popover/Popover.d.ts +7 -0
- package/Popover/index.js +1 -0
- package/README.md +6 -9
- package/Slider/Slider.d.ts +3 -1
- package/Slider/Slider.js +3 -1
- package/Snackbar/Snackbar.js +6 -20
- package/Stack/Stack.js +1 -1
- package/StepIcon/StepIcon.js +2 -1
- package/Tab/Tab.d.ts +0 -1
- package/Tabs/Tabs.js +16 -0
- package/index.js +1 -1
- package/legacy/Button/buttonClasses.js +1 -1
- package/legacy/Grid/Grid.js +97 -48
- package/legacy/Grow/Grow.js +1 -2
- package/legacy/Hidden/withWidth.js +0 -2
- package/legacy/Link/Link.js +10 -17
- package/legacy/Link/getTextDecoration.js +28 -0
- package/legacy/Popover/index.js +1 -0
- package/legacy/Slider/Slider.js +3 -1
- package/legacy/Snackbar/Snackbar.js +6 -21
- package/legacy/Stack/Stack.js +2 -1
- package/legacy/StepIcon/StepIcon.js +2 -1
- package/legacy/Tabs/Tabs.js +16 -0
- package/legacy/index.js +1 -1
- package/modern/Button/buttonClasses.js +1 -1
- package/modern/Grid/Grid.js +94 -40
- package/modern/Grow/Grow.js +1 -2
- package/modern/Hidden/withWidth.js +0 -2
- package/modern/Link/Link.js +10 -17
- package/modern/Link/getTextDecoration.js +29 -0
- package/modern/Popover/index.js +1 -0
- package/modern/Slider/Slider.js +3 -1
- package/modern/Snackbar/Snackbar.js +6 -20
- package/modern/Stack/Stack.js +1 -1
- package/modern/StepIcon/StepIcon.js +2 -1
- package/modern/Tabs/Tabs.js +16 -0
- package/modern/index.js +1 -1
- package/node/Button/buttonClasses.js +1 -1
- package/node/Grid/Grid.js +95 -40
- package/node/Grow/Grow.js +1 -2
- package/node/Hidden/withWidth.js +0 -3
- package/node/Link/Link.js +12 -20
- package/node/Link/getTextDecoration.js +39 -0
- package/node/Popover/index.js +13 -3
- package/node/Slider/Slider.js +3 -1
- package/node/Snackbar/Snackbar.js +6 -18
- package/node/Stack/Stack.js +1 -1
- package/node/StepIcon/StepIcon.js +2 -1
- package/node/Tabs/Tabs.js +16 -0
- package/node/index.js +1 -1
- package/package.json +5 -6
- package/umd/material-ui.development.js +190 -173
- package/umd/material-ui.production.min.js +21 -21
package/Link/Link.js
CHANGED
|
@@ -6,7 +6,6 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { elementTypeAcceptingRef } from '@mui/utils';
|
|
8
8
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
9
|
-
import { alpha, getPath } from '@mui/system';
|
|
10
9
|
import capitalize from '../utils/capitalize';
|
|
11
10
|
import styled from '../styles/styled';
|
|
12
11
|
import useThemeProps from '../styles/useThemeProps';
|
|
@@ -14,18 +13,8 @@ import useIsFocusVisible from '../utils/useIsFocusVisible';
|
|
|
14
13
|
import useForkRef from '../utils/useForkRef';
|
|
15
14
|
import Typography from '../Typography';
|
|
16
15
|
import linkClasses, { getLinkUtilityClass } from './linkClasses';
|
|
16
|
+
import getTextDecoration, { colorTransformations } from './getTextDecoration';
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
const colorTransformations = {
|
|
19
|
-
primary: 'primary.main',
|
|
20
|
-
textPrimary: 'text.primary',
|
|
21
|
-
secondary: 'secondary.main',
|
|
22
|
-
textSecondary: 'text.secondary',
|
|
23
|
-
error: 'error.main'
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const transformDeprecatedColors = color => {
|
|
27
|
-
return colorTransformations[color] || color;
|
|
28
|
-
};
|
|
29
18
|
|
|
30
19
|
const useUtilityClasses = ownerState => {
|
|
31
20
|
const {
|
|
@@ -53,7 +42,6 @@ const LinkRoot = styled(Typography, {
|
|
|
53
42
|
theme,
|
|
54
43
|
ownerState
|
|
55
44
|
}) => {
|
|
56
|
-
const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;
|
|
57
45
|
return _extends({}, ownerState.underline === 'none' && {
|
|
58
46
|
textDecoration: 'none'
|
|
59
47
|
}, ownerState.underline === 'hover' && {
|
|
@@ -61,13 +49,18 @@ const LinkRoot = styled(Typography, {
|
|
|
61
49
|
'&:hover': {
|
|
62
50
|
textDecoration: 'underline'
|
|
63
51
|
}
|
|
64
|
-
}, ownerState.underline === 'always' && {
|
|
65
|
-
textDecoration: 'underline'
|
|
66
|
-
|
|
52
|
+
}, ownerState.underline === 'always' && _extends({
|
|
53
|
+
textDecoration: 'underline'
|
|
54
|
+
}, ownerState.color !== 'inherit' && {
|
|
55
|
+
textDecorationColor: getTextDecoration({
|
|
56
|
+
theme,
|
|
57
|
+
ownerState
|
|
58
|
+
})
|
|
59
|
+
}, {
|
|
67
60
|
'&:hover': {
|
|
68
61
|
textDecorationColor: 'inherit'
|
|
69
62
|
}
|
|
70
|
-
}, ownerState.component === 'button' && {
|
|
63
|
+
}), ownerState.component === 'button' && {
|
|
71
64
|
position: 'relative',
|
|
72
65
|
WebkitTapHighlightColor: 'transparent',
|
|
73
66
|
backgroundColor: 'transparent',
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Theme } from '../styles';
|
|
2
|
+
export declare const colorTransformations: {
|
|
3
|
+
primary: string;
|
|
4
|
+
textPrimary: string;
|
|
5
|
+
secondary: string;
|
|
6
|
+
textSecondary: string;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
9
|
+
declare const getTextDecoration: <T extends Theme>({ theme, ownerState, }: {
|
|
10
|
+
theme: T;
|
|
11
|
+
ownerState: {
|
|
12
|
+
color: string;
|
|
13
|
+
};
|
|
14
|
+
}) => string;
|
|
15
|
+
export default getTextDecoration;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { alpha, getPath } from '@mui/system';
|
|
2
|
+
export const colorTransformations = {
|
|
3
|
+
primary: 'primary.main',
|
|
4
|
+
textPrimary: 'text.primary',
|
|
5
|
+
secondary: 'secondary.main',
|
|
6
|
+
textSecondary: 'text.secondary',
|
|
7
|
+
error: 'error.main'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const transformDeprecatedColors = color => {
|
|
11
|
+
return colorTransformations[color] || color;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const getTextDecoration = ({
|
|
15
|
+
theme,
|
|
16
|
+
ownerState
|
|
17
|
+
}) => {
|
|
18
|
+
const transformedColor = transformDeprecatedColors(ownerState.color);
|
|
19
|
+
const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;
|
|
20
|
+
const channelColor = getPath(theme, `palette.${transformedColor}Channel`);
|
|
21
|
+
|
|
22
|
+
if ('vars' in theme && channelColor) {
|
|
23
|
+
return `rgba(${channelColor} / 0.4)`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return alpha(color, 0.4);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default getTextDecoration;
|
package/Popover/Popover.d.ts
CHANGED
|
@@ -133,6 +133,13 @@ export interface PopoverActions {
|
|
|
133
133
|
updatePosition(): void;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
+
export function getOffsetTop(rect: DOMRect, vertical: number | 'center' | 'bottom' | 'top'): number;
|
|
137
|
+
|
|
138
|
+
export function getOffsetLeft(
|
|
139
|
+
rect: DOMRect,
|
|
140
|
+
horizontal: number | 'center' | 'right' | 'left',
|
|
141
|
+
): number;
|
|
142
|
+
|
|
136
143
|
/**
|
|
137
144
|
*
|
|
138
145
|
* Demos:
|
package/Popover/index.js
CHANGED
package/README.md
CHANGED
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
**MUI Core** contains foundational React UI component libraries for shipping new features faster.
|
|
9
9
|
|
|
10
|
-
- _Material UI_ is a comprehensive library of components that features our implementation of Google's [Material Design](https://material.io/design/introduction/) system.
|
|
10
|
+
- [_Material UI_](https://mui.com/material-ui/getting-started/overview/) is a comprehensive library of components that features our implementation of Google's [Material Design](https://material.io/design/introduction/) system.
|
|
11
11
|
|
|
12
|
-
-
|
|
12
|
+
- [_Joy UI_](https://mui.com/joy-ui/getting-started/overview/) is a beautifully designed library of React UI components.
|
|
13
13
|
|
|
14
|
-
- _MUI
|
|
14
|
+
- [_MUI Base_](https://mui.com/base/getting-started/overview/) is our library of "unstyled" components and low-level hooks. With Base, you gain complete control over your app's CSS and accessibility features.
|
|
15
|
+
|
|
16
|
+
- [_MUI System_](https://mui.com/system/basics/) is a collection of CSS utilities to help you rapidly lay out custom designs.
|
|
15
17
|
|
|
16
18
|
<div align="center">
|
|
17
19
|
|
|
@@ -134,15 +136,10 @@ Here is an example of a basic app using Material UI's `Button` component:
|
|
|
134
136
|
|
|
135
137
|
```jsx
|
|
136
138
|
import * as React from 'react';
|
|
137
|
-
import ReactDOM from 'react-dom';
|
|
138
139
|
import Button from '@mui/material/Button';
|
|
139
140
|
|
|
140
141
|
function App() {
|
|
141
|
-
return
|
|
142
|
-
<Button variant="contained" color="primary">
|
|
143
|
-
Hello World
|
|
144
|
-
</Button>
|
|
145
|
-
);
|
|
142
|
+
return <Button variant="contained">Hello World</Button>;
|
|
146
143
|
}
|
|
147
144
|
```
|
|
148
145
|
|
package/Slider/Slider.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
ExtendSliderUnstyledTypeMap,
|
|
4
4
|
ExtendSliderUnstyled,
|
|
5
5
|
SliderUnstyledTypeMap,
|
|
6
|
+
SliderValueLabelProps,
|
|
6
7
|
} from '@mui/base/SliderUnstyled';
|
|
7
8
|
import { SxProps } from '@mui/system';
|
|
8
9
|
import { OverridableStringUnion } from '@mui/types';
|
|
@@ -55,13 +56,14 @@ export type SliderTypeMap<
|
|
|
55
56
|
defaultComponent: D;
|
|
56
57
|
}>;
|
|
57
58
|
|
|
59
|
+
export { SliderValueLabelProps } from '@mui/base/SliderUnstyled';
|
|
60
|
+
|
|
58
61
|
type SliderRootProps = NonNullable<SliderTypeMap['props']['componentsProps']>['root'];
|
|
59
62
|
type SliderMarkProps = NonNullable<SliderTypeMap['props']['componentsProps']>['mark'];
|
|
60
63
|
type SliderMarkLabelProps = NonNullable<SliderTypeMap['props']['componentsProps']>['markLabel'];
|
|
61
64
|
type SliderRailProps = NonNullable<SliderTypeMap['props']['componentsProps']>['rail'];
|
|
62
65
|
type SliderTrackProps = NonNullable<SliderTypeMap['props']['componentsProps']>['track'];
|
|
63
66
|
type SliderThumbProps = NonNullable<SliderTypeMap['props']['componentsProps']>['thumb'];
|
|
64
|
-
type SliderValueLabelProps = NonNullable<SliderTypeMap['props']['componentsProps']>['valueLabel'];
|
|
65
67
|
type SliderInputProps = NonNullable<SliderTypeMap['props']['componentsProps']>['input'];
|
|
66
68
|
|
|
67
69
|
export const SliderRoot: React.FC<SliderRootProps>;
|
package/Slider/Slider.js
CHANGED
|
@@ -587,12 +587,14 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes
|
|
|
587
587
|
thumb: PropTypes.object,
|
|
588
588
|
track: PropTypes.object,
|
|
589
589
|
valueLabel: PropTypes.shape({
|
|
590
|
+
children: PropTypes.element,
|
|
590
591
|
className: PropTypes.string,
|
|
591
592
|
components: PropTypes.shape({
|
|
592
593
|
Root: PropTypes.elementType
|
|
593
594
|
}),
|
|
595
|
+
open: PropTypes.bool,
|
|
594
596
|
style: PropTypes.object,
|
|
595
|
-
value: PropTypes.
|
|
597
|
+
value: PropTypes.number,
|
|
596
598
|
valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])
|
|
597
599
|
})
|
|
598
600
|
}),
|
package/Snackbar/Snackbar.js
CHANGED
|
@@ -41,16 +41,11 @@ const SnackbarRoot = styled('div', {
|
|
|
41
41
|
theme,
|
|
42
42
|
ownerState
|
|
43
43
|
}) => {
|
|
44
|
-
const center =
|
|
44
|
+
const center = {
|
|
45
45
|
left: '50%',
|
|
46
46
|
right: 'auto',
|
|
47
47
|
transform: 'translateX(-50%)'
|
|
48
|
-
}
|
|
49
|
-
right: '50%',
|
|
50
|
-
left: 'auto',
|
|
51
|
-
transform: 'translateX(50%)'
|
|
52
|
-
});
|
|
53
|
-
|
|
48
|
+
};
|
|
54
49
|
return _extends({
|
|
55
50
|
zIndex: (theme.vars || theme).zIndex.snackbar,
|
|
56
51
|
position: 'fixed',
|
|
@@ -72,19 +67,13 @@ const SnackbarRoot = styled('div', {
|
|
|
72
67
|
top: 24
|
|
73
68
|
} : {
|
|
74
69
|
bottom: 24
|
|
75
|
-
}, ownerState.anchorOrigin.horizontal === 'center' && center, ownerState.anchorOrigin.horizontal === 'left' &&
|
|
70
|
+
}, ownerState.anchorOrigin.horizontal === 'center' && center, ownerState.anchorOrigin.horizontal === 'left' && {
|
|
76
71
|
left: 24,
|
|
77
72
|
right: 'auto'
|
|
78
|
-
}, ownerState.
|
|
73
|
+
}, ownerState.anchorOrigin.horizontal === 'right' && {
|
|
79
74
|
right: 24,
|
|
80
75
|
left: 'auto'
|
|
81
|
-
})
|
|
82
|
-
right: 24,
|
|
83
|
-
left: 'auto'
|
|
84
|
-
}, ownerState.isRtl && {
|
|
85
|
-
left: 24,
|
|
86
|
-
right: 'auto'
|
|
87
|
-
}))
|
|
76
|
+
})
|
|
88
77
|
});
|
|
89
78
|
});
|
|
90
79
|
const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
@@ -131,14 +120,11 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
131
120
|
TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),
|
|
132
121
|
other = _objectWithoutPropertiesLoose(props, _excluded2);
|
|
133
122
|
|
|
134
|
-
const isRtl = theme.direction === 'rtl';
|
|
135
|
-
|
|
136
123
|
const ownerState = _extends({}, props, {
|
|
137
124
|
anchorOrigin: {
|
|
138
125
|
vertical,
|
|
139
126
|
horizontal
|
|
140
|
-
}
|
|
141
|
-
isRtl
|
|
127
|
+
}
|
|
142
128
|
});
|
|
143
129
|
|
|
144
130
|
const classes = useUtilityClasses(ownerState);
|
package/Stack/Stack.js
CHANGED
|
@@ -59,7 +59,7 @@ export const style = ({
|
|
|
59
59
|
if (ownerState.spacing) {
|
|
60
60
|
const transformer = createUnarySpacing(theme);
|
|
61
61
|
const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {
|
|
62
|
-
if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {
|
|
62
|
+
if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {
|
|
63
63
|
acc[breakpoint] = true;
|
|
64
64
|
}
|
|
65
65
|
|
package/StepIcon/StepIcon.js
CHANGED
|
@@ -120,8 +120,9 @@ const StepIcon = /*#__PURE__*/React.forwardRef(function StepIcon(inProps, ref) {
|
|
|
120
120
|
})), /*#__PURE__*/_jsx(StepIconText, {
|
|
121
121
|
className: classes.text,
|
|
122
122
|
x: "12",
|
|
123
|
-
y: "
|
|
123
|
+
y: "12",
|
|
124
124
|
textAnchor: "middle",
|
|
125
|
+
dominantBaseline: "central",
|
|
125
126
|
ownerState: ownerState,
|
|
126
127
|
children: icon
|
|
127
128
|
})]
|
package/Tab/Tab.d.ts
CHANGED
package/Tabs/Tabs.js
CHANGED
|
@@ -417,10 +417,26 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
417
417
|
scroll(scrollValue);
|
|
418
418
|
};
|
|
419
419
|
|
|
420
|
+
const getFirstVisibleTab = tabs => {
|
|
421
|
+
const containerSize = tabsRef.current[clientSize];
|
|
422
|
+
const containerStartBound = Math.round(tabsRef.current[scrollStart]);
|
|
423
|
+
const containerEndBound = Math.round(containerStartBound + containerSize);
|
|
424
|
+
const offset = vertical ? 'offsetTop' : 'offsetLeft';
|
|
425
|
+
return tabs.find(tab => {
|
|
426
|
+
const centerPoint = tab[offset] + tab[clientSize] / 2;
|
|
427
|
+
return centerPoint >= containerStartBound && centerPoint <= containerEndBound;
|
|
428
|
+
});
|
|
429
|
+
};
|
|
430
|
+
|
|
420
431
|
const getScrollSize = () => {
|
|
421
432
|
const containerSize = tabsRef.current[clientSize];
|
|
422
433
|
let totalSize = 0;
|
|
423
434
|
const children = Array.from(tabListRef.current.children);
|
|
435
|
+
const firstVisibleTab = getFirstVisibleTab(children);
|
|
436
|
+
|
|
437
|
+
if (firstVisibleTab && firstVisibleTab[clientSize] > containerSize) {
|
|
438
|
+
return firstVisibleTab[clientSize];
|
|
439
|
+
}
|
|
424
440
|
|
|
425
441
|
for (let i = 0; i < children.length; i += 1) {
|
|
426
442
|
const tab = children[i];
|
package/index.js
CHANGED
|
@@ -2,5 +2,5 @@ import { generateUtilityClass, generateUtilityClasses } from '@mui/base';
|
|
|
2
2
|
export function getButtonUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiButton', slot);
|
|
4
4
|
}
|
|
5
|
-
var buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
|
|
5
|
+
var buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
|
|
6
6
|
export default buttonClasses;
|
package/legacy/Grid/Grid.js
CHANGED
|
@@ -21,6 +21,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
|
21
21
|
import requirePropFactory from '../utils/requirePropFactory';
|
|
22
22
|
import styled from '../styles/styled';
|
|
23
23
|
import useThemeProps from '../styles/useThemeProps';
|
|
24
|
+
import useTheme from '../styles/useTheme';
|
|
24
25
|
import GridContext from './GridContext';
|
|
25
26
|
import gridClasses, { getGridUtilityClass } from './gridClasses';
|
|
26
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -193,26 +194,29 @@ export function generateColumnGap(_ref5) {
|
|
|
193
194
|
|
|
194
195
|
return styles;
|
|
195
196
|
}
|
|
196
|
-
export function
|
|
197
|
+
export function resolveSpacingStyles(spacing, breakpoints) {
|
|
197
198
|
var styles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
198
199
|
|
|
199
|
-
//
|
|
200
|
-
if (!
|
|
200
|
+
// undefined/null or `spacing` <= 0
|
|
201
|
+
if (!spacing || spacing <= 0) {
|
|
201
202
|
return [];
|
|
202
203
|
} // in case of string/number `spacing`
|
|
203
204
|
|
|
204
205
|
|
|
205
206
|
if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
|
|
206
|
-
return [styles["spacing-xs-".concat(String(spacing))]
|
|
207
|
+
return [styles["spacing-xs-".concat(String(spacing))]];
|
|
207
208
|
} // in case of object `spacing`
|
|
208
209
|
|
|
209
210
|
|
|
210
|
-
var
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
var spacingStyles = [];
|
|
212
|
+
breakpoints.forEach(function (breakpoint) {
|
|
213
|
+
var value = spacing[breakpoint];
|
|
214
|
+
|
|
215
|
+
if (Number(value) > 0) {
|
|
216
|
+
spacingStyles.push(styles["spacing-".concat(breakpoint, "-").concat(String(value))]);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
return spacingStyles;
|
|
216
220
|
} // Default CSS values
|
|
217
221
|
// flex: '0 1 auto',
|
|
218
222
|
// flexDirection: 'row',
|
|
@@ -224,19 +228,29 @@ var GridRoot = styled('div', {
|
|
|
224
228
|
name: 'MuiGrid',
|
|
225
229
|
slot: 'Root',
|
|
226
230
|
overridesResolver: function overridesResolver(props, styles) {
|
|
227
|
-
var
|
|
228
|
-
|
|
229
|
-
direction =
|
|
230
|
-
item =
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
231
|
+
var ownerState = props.ownerState;
|
|
232
|
+
var container = ownerState.container,
|
|
233
|
+
direction = ownerState.direction,
|
|
234
|
+
item = ownerState.item,
|
|
235
|
+
spacing = ownerState.spacing,
|
|
236
|
+
wrap = ownerState.wrap,
|
|
237
|
+
zeroMinWidth = ownerState.zeroMinWidth,
|
|
238
|
+
breakpoints = ownerState.breakpoints;
|
|
239
|
+
var spacingStyles = []; // in case of grid item
|
|
240
|
+
|
|
241
|
+
if (container) {
|
|
242
|
+
spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
var breakpointsStyles = [];
|
|
246
|
+
breakpoints.forEach(function (breakpoint) {
|
|
247
|
+
var value = ownerState[breakpoint];
|
|
248
|
+
|
|
249
|
+
if (value) {
|
|
250
|
+
breakpointsStyles.push(styles["grid-".concat(breakpoint, "-").concat(String(value))]);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth].concat(_toConsumableArray(spacingStyles), [direction !== 'row' && styles["direction-xs-".concat(String(direction))], wrap !== 'wrap' && styles["wrap-xs-".concat(String(wrap))]], breakpointsStyles);
|
|
240
254
|
}
|
|
241
255
|
})(function (_ref7) {
|
|
242
256
|
var ownerState = _ref7.ownerState;
|
|
@@ -255,22 +269,55 @@ var GridRoot = styled('div', {
|
|
|
255
269
|
flexWrap: ownerState.wrap
|
|
256
270
|
});
|
|
257
271
|
}, generateDirection, generateRowGap, generateColumnGap, generateGrid);
|
|
272
|
+
export function resolveSpacingClasses(spacing, breakpoints) {
|
|
273
|
+
// undefined/null or `spacing` <= 0
|
|
274
|
+
if (!spacing || spacing <= 0) {
|
|
275
|
+
return [];
|
|
276
|
+
} // in case of string/number `spacing`
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
|
|
280
|
+
return ["spacing-xs-".concat(String(spacing))];
|
|
281
|
+
} // in case of object `spacing`
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
var classes = [];
|
|
285
|
+
breakpoints.forEach(function (breakpoint) {
|
|
286
|
+
var value = spacing[breakpoint];
|
|
287
|
+
|
|
288
|
+
if (Number(value) > 0) {
|
|
289
|
+
var className = "spacing-".concat(breakpoint, "-").concat(String(value));
|
|
290
|
+
classes.push(className);
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
return classes;
|
|
294
|
+
}
|
|
258
295
|
|
|
259
296
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
260
297
|
var classes = ownerState.classes,
|
|
261
298
|
container = ownerState.container,
|
|
262
299
|
direction = ownerState.direction,
|
|
263
300
|
item = ownerState.item,
|
|
264
|
-
lg = ownerState.lg,
|
|
265
|
-
md = ownerState.md,
|
|
266
|
-
sm = ownerState.sm,
|
|
267
301
|
spacing = ownerState.spacing,
|
|
268
302
|
wrap = ownerState.wrap,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
303
|
+
zeroMinWidth = ownerState.zeroMinWidth,
|
|
304
|
+
breakpoints = ownerState.breakpoints;
|
|
305
|
+
var spacingClasses = []; // in case of grid item
|
|
306
|
+
|
|
307
|
+
if (container) {
|
|
308
|
+
spacingClasses = resolveSpacingClasses(spacing, breakpoints);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
var breakpointsClasses = [];
|
|
312
|
+
breakpoints.forEach(function (breakpoint) {
|
|
313
|
+
var value = ownerState[breakpoint];
|
|
314
|
+
|
|
315
|
+
if (value) {
|
|
316
|
+
breakpointsClasses.push("grid-".concat(breakpoint, "-").concat(String(value)));
|
|
317
|
+
}
|
|
318
|
+
});
|
|
272
319
|
var slots = {
|
|
273
|
-
root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth'].concat(_toConsumableArray(
|
|
320
|
+
root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth'].concat(_toConsumableArray(spacingClasses), [direction !== 'row' && "direction-xs-".concat(String(direction)), wrap !== 'wrap' && "wrap-xs-".concat(String(wrap))], breakpointsClasses)
|
|
274
321
|
};
|
|
275
322
|
return composeClasses(slots, getGridUtilityClass, classes);
|
|
276
323
|
};
|
|
@@ -280,6 +327,10 @@ var Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
280
327
|
props: inProps,
|
|
281
328
|
name: 'MuiGrid'
|
|
282
329
|
});
|
|
330
|
+
|
|
331
|
+
var _useTheme = useTheme(),
|
|
332
|
+
breakpoints = _useTheme.breakpoints;
|
|
333
|
+
|
|
283
334
|
var props = extendSxProp(themeProps);
|
|
284
335
|
|
|
285
336
|
var className = props.className,
|
|
@@ -293,45 +344,43 @@ var Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
293
344
|
direction = _props$direction === void 0 ? 'row' : _props$direction,
|
|
294
345
|
_props$item = props.item,
|
|
295
346
|
item = _props$item === void 0 ? false : _props$item,
|
|
296
|
-
_props$lg = props.lg,
|
|
297
|
-
lg = _props$lg === void 0 ? false : _props$lg,
|
|
298
|
-
_props$md = props.md,
|
|
299
|
-
md = _props$md === void 0 ? false : _props$md,
|
|
300
347
|
rowSpacingProp = props.rowSpacing,
|
|
301
|
-
_props$sm = props.sm,
|
|
302
|
-
sm = _props$sm === void 0 ? false : _props$sm,
|
|
303
348
|
_props$spacing = props.spacing,
|
|
304
349
|
spacing = _props$spacing === void 0 ? 0 : _props$spacing,
|
|
305
350
|
_props$wrap = props.wrap,
|
|
306
351
|
wrap = _props$wrap === void 0 ? 'wrap' : _props$wrap,
|
|
307
|
-
_props$xl = props.xl,
|
|
308
|
-
xl = _props$xl === void 0 ? false : _props$xl,
|
|
309
|
-
_props$xs = props.xs,
|
|
310
|
-
xs = _props$xs === void 0 ? false : _props$xs,
|
|
311
352
|
_props$zeroMinWidth = props.zeroMinWidth,
|
|
312
353
|
zeroMinWidth = _props$zeroMinWidth === void 0 ? false : _props$zeroMinWidth,
|
|
313
|
-
other = _objectWithoutProperties(props, ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "
|
|
354
|
+
other = _objectWithoutProperties(props, ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"]);
|
|
314
355
|
|
|
315
356
|
var rowSpacing = rowSpacingProp || spacing;
|
|
316
357
|
var columnSpacing = columnSpacingProp || spacing;
|
|
317
358
|
var columnsContext = React.useContext(GridContext); // columns set with default breakpoint unit of 12
|
|
318
359
|
|
|
319
360
|
var columns = container ? columnsProp || 12 : columnsContext;
|
|
361
|
+
var breakpointsValues = {};
|
|
362
|
+
|
|
363
|
+
var otherFiltered = _extends({}, other);
|
|
364
|
+
|
|
365
|
+
breakpoints.keys.forEach(function (breakpoint) {
|
|
366
|
+
if (other[breakpoint] != null) {
|
|
367
|
+
breakpointsValues[breakpoint] = other[breakpoint];
|
|
368
|
+
delete otherFiltered[breakpoint];
|
|
369
|
+
}
|
|
370
|
+
});
|
|
320
371
|
|
|
321
372
|
var ownerState = _extends({}, props, {
|
|
322
373
|
columns: columns,
|
|
323
374
|
container: container,
|
|
324
375
|
direction: direction,
|
|
325
376
|
item: item,
|
|
326
|
-
lg: lg,
|
|
327
|
-
md: md,
|
|
328
|
-
sm: sm,
|
|
329
377
|
rowSpacing: rowSpacing,
|
|
330
378
|
columnSpacing: columnSpacing,
|
|
331
379
|
wrap: wrap,
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
380
|
+
zeroMinWidth: zeroMinWidth,
|
|
381
|
+
spacing: spacing
|
|
382
|
+
}, breakpointsValues, {
|
|
383
|
+
breakpoints: breakpoints.keys
|
|
335
384
|
});
|
|
336
385
|
|
|
337
386
|
var classes = useUtilityClasses(ownerState);
|
|
@@ -342,7 +391,7 @@ var Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
342
391
|
className: clsx(classes.root, className),
|
|
343
392
|
as: component,
|
|
344
393
|
ref: ref
|
|
345
|
-
},
|
|
394
|
+
}, otherFiltered))
|
|
346
395
|
});
|
|
347
396
|
});
|
|
348
397
|
process.env.NODE_ENV !== "production" ? Grid.propTypes
|
package/legacy/Grow/Grow.js
CHANGED
|
@@ -26,10 +26,9 @@ var styles = {
|
|
|
26
26
|
/*
|
|
27
27
|
TODO v6: remove
|
|
28
28
|
Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.
|
|
29
|
-
Remove this workaround once the WebKit bug fix is released.
|
|
30
29
|
*/
|
|
31
30
|
|
|
32
|
-
var isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)
|
|
31
|
+
var isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent);
|
|
33
32
|
/**
|
|
34
33
|
* The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and
|
|
35
34
|
* [Popover](/material-ui/react-popover/) components.
|
|
@@ -4,7 +4,6 @@ import * as React from 'react';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { getDisplayName } from '@mui/utils';
|
|
6
6
|
import { getThemeProps } from '@mui/system';
|
|
7
|
-
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
8
7
|
import useTheme from '../styles/useTheme';
|
|
9
8
|
import useEnhancedEffect from '../utils/useEnhancedEffect';
|
|
10
9
|
import useMediaQuery from '../useMediaQuery';
|
|
@@ -119,7 +118,6 @@ var withWidth = function withWidth() {
|
|
|
119
118
|
WithWidth.displayName = "WithWidth(".concat(getDisplayName(Component), ")");
|
|
120
119
|
}
|
|
121
120
|
|
|
122
|
-
hoistNonReactStatics(WithWidth, Component);
|
|
123
121
|
return WithWidth;
|
|
124
122
|
};
|
|
125
123
|
};
|