@mui/material 5.8.1 → 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/Alert/Alert.js +3 -1
- package/Autocomplete/autocompleteClasses.d.ts +1 -1
- package/Button/buttonClasses.d.ts +24 -0
- package/Button/buttonClasses.js +1 -1
- package/CHANGELOG.md +217 -8
- package/Checkbox/Checkbox.js +4 -4
- package/Grid/Grid.d.ts +73 -52
- package/Grid/Grid.js +94 -40
- package/Grow/Grow.js +4 -4
- package/Hidden/withWidth.js +0 -2
- package/InputLabel/InputLabel.d.ts +5 -0
- package/InputLabel/InputLabel.js +6 -0
- 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 +13 -12
- package/Slider/Slider.d.ts +3 -1
- package/Slider/Slider.js +23 -8
- 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/Alert/Alert.js +3 -1
- package/legacy/Button/buttonClasses.js +1 -1
- package/legacy/Checkbox/Checkbox.js +4 -4
- package/legacy/Grid/Grid.js +97 -48
- package/legacy/Grow/Grow.js +4 -4
- package/legacy/Hidden/withWidth.js +0 -2
- package/legacy/InputLabel/InputLabel.js +6 -0
- 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 +23 -8
- 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/legacy/styles/CssVarsProvider.js +3 -0
- package/modern/Alert/Alert.js +3 -1
- package/modern/Button/buttonClasses.js +1 -1
- package/modern/Checkbox/Checkbox.js +4 -4
- package/modern/Grid/Grid.js +94 -40
- package/modern/Grow/Grow.js +4 -4
- package/modern/Hidden/withWidth.js +0 -2
- package/modern/InputLabel/InputLabel.js +6 -0
- 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 +23 -8
- 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/modern/styles/CssVarsProvider.js +3 -0
- package/node/Alert/Alert.js +3 -1
- package/node/Button/buttonClasses.js +1 -1
- package/node/Checkbox/Checkbox.js +4 -4
- package/node/Grid/Grid.js +95 -40
- package/node/Grow/Grow.js +4 -4
- package/node/Hidden/withWidth.js +0 -3
- package/node/InputLabel/InputLabel.js +6 -0
- 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 +23 -8
- 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/node/styles/CssVarsProvider.js +3 -0
- package/package.json +6 -7
- package/styles/CssVarsProvider.js +3 -0
- package/umd/material-ui.development.js +291 -227
- package/umd/material-ui.production.min.js +21 -21
|
@@ -8,6 +8,9 @@ var defaultTheme = experimental_extendTheme();
|
|
|
8
8
|
|
|
9
9
|
var _createCssVarsProvide = createCssVarsProvider({
|
|
10
10
|
theme: defaultTheme,
|
|
11
|
+
attribute: 'data-mui-color-scheme',
|
|
12
|
+
modeStorageKey: 'mui-mode',
|
|
13
|
+
colorSchemeStorageKey: 'mui-color-scheme',
|
|
11
14
|
defaultColorScheme: {
|
|
12
15
|
light: 'light',
|
|
13
16
|
dark: 'dark'
|
package/modern/Alert/Alert.js
CHANGED
|
@@ -93,7 +93,9 @@ const AlertMessage = styled('div', {
|
|
|
93
93
|
slot: 'Message',
|
|
94
94
|
overridesResolver: (props, styles) => styles.message
|
|
95
95
|
})({
|
|
96
|
-
padding: '8px 0'
|
|
96
|
+
padding: '8px 0',
|
|
97
|
+
minWidth: 0,
|
|
98
|
+
overflow: 'auto'
|
|
97
99
|
});
|
|
98
100
|
const AlertAction = styled('div', {
|
|
99
101
|
name: 'MuiAlert',
|
|
@@ -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
|
-
const 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
|
+
const 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;
|
|
@@ -43,10 +43,10 @@ const CheckboxRoot = styled(SwitchBase, {
|
|
|
43
43
|
theme,
|
|
44
44
|
ownerState
|
|
45
45
|
}) => _extends({
|
|
46
|
-
color: theme.palette.text.secondary
|
|
46
|
+
color: (theme.vars || theme).palette.text.secondary
|
|
47
47
|
}, !ownerState.disableRipple && {
|
|
48
48
|
'&:hover': {
|
|
49
|
-
backgroundColor: alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
|
|
49
|
+
backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
|
|
50
50
|
// Reset on touch devices, it doesn't add specificity
|
|
51
51
|
'@media (hover: none)': {
|
|
52
52
|
backgroundColor: 'transparent'
|
|
@@ -54,10 +54,10 @@ const CheckboxRoot = styled(SwitchBase, {
|
|
|
54
54
|
}
|
|
55
55
|
}, ownerState.color !== 'default' && {
|
|
56
56
|
[`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {
|
|
57
|
-
color: theme.palette[ownerState.color].main
|
|
57
|
+
color: (theme.vars || theme).palette[ownerState.color].main
|
|
58
58
|
},
|
|
59
59
|
[`&.${checkboxClasses.disabled}`]: {
|
|
60
|
-
color: theme.palette.action.disabled
|
|
60
|
+
color: (theme.vars || theme).palette.action.disabled
|
|
61
61
|
}
|
|
62
62
|
}));
|
|
63
63
|
|
package/modern/Grid/Grid.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "
|
|
3
|
+
const _excluded = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
|
|
4
4
|
// A grid component using the following libs as inspiration.
|
|
5
5
|
//
|
|
6
6
|
// For the implementation:
|
|
@@ -19,6 +19,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
|
19
19
|
import requirePropFactory from '../utils/requirePropFactory';
|
|
20
20
|
import styled from '../styles/styled';
|
|
21
21
|
import useThemeProps from '../styles/useThemeProps';
|
|
22
|
+
import useTheme from '../styles/useTheme';
|
|
22
23
|
import GridContext from './GridContext';
|
|
23
24
|
import gridClasses, { getGridUtilityClass } from './gridClasses';
|
|
24
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -201,26 +202,27 @@ export function generateColumnGap({
|
|
|
201
202
|
|
|
202
203
|
return styles;
|
|
203
204
|
}
|
|
204
|
-
export function
|
|
205
|
-
//
|
|
206
|
-
if (!
|
|
205
|
+
export function resolveSpacingStyles(spacing, breakpoints, styles = {}) {
|
|
206
|
+
// undefined/null or `spacing` <= 0
|
|
207
|
+
if (!spacing || spacing <= 0) {
|
|
207
208
|
return [];
|
|
208
209
|
} // in case of string/number `spacing`
|
|
209
210
|
|
|
210
211
|
|
|
211
212
|
if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
|
|
212
|
-
return [styles[`spacing-xs-${String(spacing)}`]
|
|
213
|
+
return [styles[`spacing-xs-${String(spacing)}`]];
|
|
213
214
|
} // in case of object `spacing`
|
|
214
215
|
|
|
215
216
|
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
217
|
+
const spacingStyles = [];
|
|
218
|
+
breakpoints.forEach(breakpoint => {
|
|
219
|
+
const value = spacing[breakpoint];
|
|
220
|
+
|
|
221
|
+
if (Number(value) > 0) {
|
|
222
|
+
spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
return spacingStyles;
|
|
224
226
|
} // Default CSS values
|
|
225
227
|
// flex: '0 1 auto',
|
|
226
228
|
// flexDirection: 'row',
|
|
@@ -232,20 +234,33 @@ const GridRoot = styled('div', {
|
|
|
232
234
|
name: 'MuiGrid',
|
|
233
235
|
slot: 'Root',
|
|
234
236
|
overridesResolver: (props, styles) => {
|
|
237
|
+
const {
|
|
238
|
+
ownerState
|
|
239
|
+
} = props;
|
|
235
240
|
const {
|
|
236
241
|
container,
|
|
237
242
|
direction,
|
|
238
243
|
item,
|
|
239
|
-
lg,
|
|
240
|
-
md,
|
|
241
|
-
sm,
|
|
242
244
|
spacing,
|
|
243
245
|
wrap,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
246
|
+
zeroMinWidth,
|
|
247
|
+
breakpoints
|
|
248
|
+
} = ownerState;
|
|
249
|
+
let spacingStyles = []; // in case of grid item
|
|
250
|
+
|
|
251
|
+
if (container) {
|
|
252
|
+
spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
const breakpointsStyles = [];
|
|
256
|
+
breakpoints.forEach(breakpoint => {
|
|
257
|
+
const value = ownerState[breakpoint];
|
|
258
|
+
|
|
259
|
+
if (value) {
|
|
260
|
+
breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];
|
|
249
264
|
}
|
|
250
265
|
})(({
|
|
251
266
|
ownerState
|
|
@@ -263,6 +278,29 @@ const GridRoot = styled('div', {
|
|
|
263
278
|
}, ownerState.wrap !== 'wrap' && {
|
|
264
279
|
flexWrap: ownerState.wrap
|
|
265
280
|
}), generateDirection, generateRowGap, generateColumnGap, generateGrid);
|
|
281
|
+
export function resolveSpacingClasses(spacing, breakpoints) {
|
|
282
|
+
// undefined/null or `spacing` <= 0
|
|
283
|
+
if (!spacing || spacing <= 0) {
|
|
284
|
+
return [];
|
|
285
|
+
} // in case of string/number `spacing`
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
|
|
289
|
+
return [`spacing-xs-${String(spacing)}`];
|
|
290
|
+
} // in case of object `spacing`
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
const classes = [];
|
|
294
|
+
breakpoints.forEach(breakpoint => {
|
|
295
|
+
const value = spacing[breakpoint];
|
|
296
|
+
|
|
297
|
+
if (Number(value) > 0) {
|
|
298
|
+
const className = `spacing-${breakpoint}-${String(value)}`;
|
|
299
|
+
classes.push(className);
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
return classes;
|
|
303
|
+
}
|
|
266
304
|
|
|
267
305
|
const useUtilityClasses = ownerState => {
|
|
268
306
|
const {
|
|
@@ -270,17 +308,27 @@ const useUtilityClasses = ownerState => {
|
|
|
270
308
|
container,
|
|
271
309
|
direction,
|
|
272
310
|
item,
|
|
273
|
-
lg,
|
|
274
|
-
md,
|
|
275
|
-
sm,
|
|
276
311
|
spacing,
|
|
277
312
|
wrap,
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
zeroMinWidth
|
|
313
|
+
zeroMinWidth,
|
|
314
|
+
breakpoints
|
|
281
315
|
} = ownerState;
|
|
316
|
+
let spacingClasses = []; // in case of grid item
|
|
317
|
+
|
|
318
|
+
if (container) {
|
|
319
|
+
spacingClasses = resolveSpacingClasses(spacing, breakpoints);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const breakpointsClasses = [];
|
|
323
|
+
breakpoints.forEach(breakpoint => {
|
|
324
|
+
const value = ownerState[breakpoint];
|
|
325
|
+
|
|
326
|
+
if (value) {
|
|
327
|
+
breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);
|
|
328
|
+
}
|
|
329
|
+
});
|
|
282
330
|
const slots = {
|
|
283
|
-
root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...
|
|
331
|
+
root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]
|
|
284
332
|
};
|
|
285
333
|
return composeClasses(slots, getGridUtilityClass, classes);
|
|
286
334
|
};
|
|
@@ -290,6 +338,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
290
338
|
props: inProps,
|
|
291
339
|
name: 'MuiGrid'
|
|
292
340
|
});
|
|
341
|
+
const {
|
|
342
|
+
breakpoints
|
|
343
|
+
} = useTheme();
|
|
293
344
|
const props = extendSxProp(themeProps);
|
|
294
345
|
|
|
295
346
|
const {
|
|
@@ -300,14 +351,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
300
351
|
container = false,
|
|
301
352
|
direction = 'row',
|
|
302
353
|
item = false,
|
|
303
|
-
lg = false,
|
|
304
|
-
md = false,
|
|
305
354
|
rowSpacing: rowSpacingProp,
|
|
306
|
-
sm = false,
|
|
307
355
|
spacing = 0,
|
|
308
356
|
wrap = 'wrap',
|
|
309
|
-
xl = false,
|
|
310
|
-
xs = false,
|
|
311
357
|
zeroMinWidth = false
|
|
312
358
|
} = props,
|
|
313
359
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
@@ -317,21 +363,29 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
317
363
|
const columnsContext = React.useContext(GridContext); // columns set with default breakpoint unit of 12
|
|
318
364
|
|
|
319
365
|
const columns = container ? columnsProp || 12 : columnsContext;
|
|
366
|
+
const breakpointsValues = {};
|
|
367
|
+
|
|
368
|
+
const otherFiltered = _extends({}, other);
|
|
369
|
+
|
|
370
|
+
breakpoints.keys.forEach(breakpoint => {
|
|
371
|
+
if (other[breakpoint] != null) {
|
|
372
|
+
breakpointsValues[breakpoint] = other[breakpoint];
|
|
373
|
+
delete otherFiltered[breakpoint];
|
|
374
|
+
}
|
|
375
|
+
});
|
|
320
376
|
|
|
321
377
|
const ownerState = _extends({}, props, {
|
|
322
378
|
columns,
|
|
323
379
|
container,
|
|
324
380
|
direction,
|
|
325
381
|
item,
|
|
326
|
-
lg,
|
|
327
|
-
md,
|
|
328
|
-
sm,
|
|
329
382
|
rowSpacing,
|
|
330
383
|
columnSpacing,
|
|
331
384
|
wrap,
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
385
|
+
zeroMinWidth,
|
|
386
|
+
spacing
|
|
387
|
+
}, breakpointsValues, {
|
|
388
|
+
breakpoints: breakpoints.keys
|
|
335
389
|
});
|
|
336
390
|
|
|
337
391
|
const classes = useUtilityClasses(ownerState);
|
|
@@ -342,7 +396,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
|
342
396
|
className: clsx(classes.root, className),
|
|
343
397
|
as: component,
|
|
344
398
|
ref: ref
|
|
345
|
-
},
|
|
399
|
+
}, otherFiltered))
|
|
346
400
|
});
|
|
347
401
|
});
|
|
348
402
|
process.env.NODE_ENV !== "production" ? Grid.propTypes
|
package/modern/Grow/Grow.js
CHANGED
|
@@ -24,12 +24,12 @@ const styles = {
|
|
|
24
24
|
transform: 'none'
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
/*
|
|
28
|
+
TODO v6: remove
|
|
29
|
+
Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.
|
|
30
30
|
*/
|
|
31
31
|
|
|
32
|
-
const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)
|
|
32
|
+
const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent);
|
|
33
33
|
/**
|
|
34
34
|
* The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and
|
|
35
35
|
* [Popover](/material-ui/react-popover/) components.
|
|
@@ -5,7 +5,6 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { getDisplayName } from '@mui/utils';
|
|
7
7
|
import { getThemeProps } from '@mui/system';
|
|
8
|
-
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
9
8
|
import useTheme from '../styles/useTheme';
|
|
10
9
|
import useEnhancedEffect from '../utils/useEnhancedEffect';
|
|
11
10
|
import useMediaQuery from '../useMediaQuery';
|
|
@@ -113,7 +112,6 @@ const withWidth = (options = {}) => Component => {
|
|
|
113
112
|
WithWidth.displayName = `WithWidth(${getDisplayName(Component)})`;
|
|
114
113
|
}
|
|
115
114
|
|
|
116
|
-
hoistNonReactStatics(WithWidth, Component);
|
|
117
115
|
return WithWidth;
|
|
118
116
|
};
|
|
119
117
|
|
|
@@ -209,6 +209,12 @@ process.env.NODE_ENV !== "production" ? InputLabel.propTypes
|
|
|
209
209
|
*/
|
|
210
210
|
shrink: PropTypes.bool,
|
|
211
211
|
|
|
212
|
+
/**
|
|
213
|
+
* The size of the component.
|
|
214
|
+
* @default 'normal'
|
|
215
|
+
*/
|
|
216
|
+
size: PropTypes.oneOf(['normal', 'small']),
|
|
217
|
+
|
|
212
218
|
/**
|
|
213
219
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
214
220
|
*/
|
package/modern/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,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/modern/Popover/index.js
CHANGED
package/modern/Slider/Slider.js
CHANGED
|
@@ -284,7 +284,6 @@ const SliderValueLabel = styled(SliderValueLabelUnstyled, {
|
|
|
284
284
|
transition: theme.transitions.create(['transform'], {
|
|
285
285
|
duration: theme.transitions.duration.shortest
|
|
286
286
|
}),
|
|
287
|
-
top: -10,
|
|
288
287
|
transformOrigin: 'bottom center',
|
|
289
288
|
transform: 'translateY(-100%) scale(0)',
|
|
290
289
|
position: 'absolute',
|
|
@@ -295,20 +294,34 @@ const SliderValueLabel = styled(SliderValueLabelUnstyled, {
|
|
|
295
294
|
alignItems: 'center',
|
|
296
295
|
justifyContent: 'center',
|
|
297
296
|
padding: '0.25rem 0.75rem'
|
|
298
|
-
}, ownerState.
|
|
299
|
-
|
|
300
|
-
padding: '0.25rem 0.5rem'
|
|
301
|
-
}, {
|
|
297
|
+
}, ownerState.orientation === 'horizontal' && {
|
|
298
|
+
top: '-10px',
|
|
302
299
|
'&:before': {
|
|
303
300
|
position: 'absolute',
|
|
304
301
|
content: '""',
|
|
305
302
|
width: 8,
|
|
306
303
|
height: 8,
|
|
304
|
+
transform: 'translate(-50%, 50%) rotate(45deg)',
|
|
305
|
+
backgroundColor: 'inherit',
|
|
307
306
|
bottom: 0,
|
|
308
|
-
left: '50%'
|
|
307
|
+
left: '50%'
|
|
308
|
+
}
|
|
309
|
+
}, ownerState.orientation === 'vertical' && {
|
|
310
|
+
right: '30px',
|
|
311
|
+
top: '25px',
|
|
312
|
+
'&:before': {
|
|
313
|
+
position: 'absolute',
|
|
314
|
+
content: '""',
|
|
315
|
+
width: 8,
|
|
316
|
+
height: 8,
|
|
309
317
|
transform: 'translate(-50%, 50%) rotate(45deg)',
|
|
310
|
-
backgroundColor: 'inherit'
|
|
318
|
+
backgroundColor: 'inherit',
|
|
319
|
+
right: '-20%',
|
|
320
|
+
top: '25%'
|
|
311
321
|
}
|
|
322
|
+
}, ownerState.size === 'small' && {
|
|
323
|
+
fontSize: theme.typography.pxToRem(12),
|
|
324
|
+
padding: '0.25rem 0.5rem'
|
|
312
325
|
}));
|
|
313
326
|
process.env.NODE_ENV !== "production" ? SliderValueLabel.propTypes
|
|
314
327
|
/* remove-proptypes */
|
|
@@ -572,12 +585,14 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes
|
|
|
572
585
|
thumb: PropTypes.object,
|
|
573
586
|
track: PropTypes.object,
|
|
574
587
|
valueLabel: PropTypes.shape({
|
|
588
|
+
children: PropTypes.element,
|
|
575
589
|
className: PropTypes.string,
|
|
576
590
|
components: PropTypes.shape({
|
|
577
591
|
Root: PropTypes.elementType
|
|
578
592
|
}),
|
|
593
|
+
open: PropTypes.bool,
|
|
579
594
|
style: PropTypes.object,
|
|
580
|
-
value: PropTypes.
|
|
595
|
+
value: PropTypes.number,
|
|
581
596
|
valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])
|
|
582
597
|
})
|
|
583
598
|
}),
|
|
@@ -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/modern/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
|
|
|
@@ -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/modern/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/modern/index.js
CHANGED
|
@@ -11,6 +11,9 @@ const {
|
|
|
11
11
|
getInitColorSchemeScript
|
|
12
12
|
} = createCssVarsProvider({
|
|
13
13
|
theme: defaultTheme,
|
|
14
|
+
attribute: 'data-mui-color-scheme',
|
|
15
|
+
modeStorageKey: 'mui-mode',
|
|
16
|
+
colorSchemeStorageKey: 'mui-color-scheme',
|
|
14
17
|
defaultColorScheme: {
|
|
15
18
|
light: 'light',
|
|
16
19
|
dark: 'dark'
|
package/node/Alert/Alert.js
CHANGED
|
@@ -123,7 +123,9 @@ const AlertMessage = (0, _styled.default)('div', {
|
|
|
123
123
|
slot: 'Message',
|
|
124
124
|
overridesResolver: (props, styles) => styles.message
|
|
125
125
|
})({
|
|
126
|
-
padding: '8px 0'
|
|
126
|
+
padding: '8px 0',
|
|
127
|
+
minWidth: 0,
|
|
128
|
+
overflow: 'auto'
|
|
127
129
|
});
|
|
128
130
|
const AlertAction = (0, _styled.default)('div', {
|
|
129
131
|
name: 'MuiAlert',
|
|
@@ -12,6 +12,6 @@ function getButtonUtilityClass(slot) {
|
|
|
12
12
|
return (0, _base.generateUtilityClass)('MuiButton', slot);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
const buttonClasses = (0, _base.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']);
|
|
15
|
+
const buttonClasses = (0, _base.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']);
|
|
16
16
|
var _default = buttonClasses;
|
|
17
17
|
exports.default = _default;
|