@mui/material 6.0.0-alpha.8 → 6.0.0-alpha.9
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/AccordionActions/AccordionActions.d.ts +1 -1
- package/AccordionDetails/AccordionDetails.d.ts +1 -1
- package/Alert/Alert.d.ts +1 -1
- package/AlertTitle/AlertTitle.d.ts +3 -3
- package/Autocomplete/Autocomplete.d.ts +1 -1
- package/Avatar/Avatar.js +3 -1
- package/AvatarGroup/AvatarGroup.d.ts +51 -18
- package/AvatarGroup/AvatarGroup.js +37 -18
- package/Button/Button.d.ts +1 -1
- package/ButtonBase/ButtonBase.d.ts +1 -1
- package/CHANGELOG.md +76 -0
- package/CardActions/CardActions.d.ts +1 -1
- package/CardHeader/CardHeader.d.ts +1 -1
- package/Checkbox/Checkbox.d.ts +1 -1
- package/Chip/Chip.d.ts +3 -3
- package/CircularProgress/CircularProgress.d.ts +1 -1
- package/Collapse/Collapse.d.ts +1 -1
- package/CssBaseline/CssBaseline.d.ts +1 -1
- package/Dialog/Dialog.d.ts +1 -1
- package/DialogActions/DialogActions.d.ts +1 -1
- package/DialogContent/DialogContent.d.ts +1 -1
- package/Drawer/Drawer.d.ts +1 -1
- package/Fade/Fade.d.ts +1 -1
- package/FilledInput/FilledInput.d.ts +1 -1
- package/FormControlLabel/FormControlLabel.d.ts +1 -1
- package/FormGroup/FormGroup.d.ts +1 -1
- package/GlobalStyles/GlobalStyles.d.ts +1 -1
- package/Grid/Grid.d.ts +1 -0
- package/Grid/Grid.js +1 -0
- package/Grow/Grow.d.ts +1 -1
- package/Hidden/Hidden.d.ts +2 -0
- package/Hidden/Hidden.js +2 -0
- package/ImageListItemBar/ImageListItemBar.d.ts +1 -1
- package/Input/Input.d.ts +1 -1
- package/InputBase/InputBase.d.ts +1 -1
- package/LinearProgress/LinearProgress.d.ts +1 -1
- package/ListItem/ListItem.d.ts +4 -12
- package/ListItem/ListItem.js +6 -14
- package/ListItemAvatar/ListItemAvatar.d.ts +1 -1
- package/ListItemIcon/ListItemIcon.d.ts +1 -1
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +5 -1
- package/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
- package/ListItemText/ListItemText.d.ts +3 -1
- package/Menu/Menu.d.ts +1 -1
- package/MobileStepper/MobileStepper.d.ts +1 -1
- package/Modal/Modal.d.ts +1 -1
- package/NativeSelect/NativeSelect.d.ts +1 -1
- package/OutlinedInput/OutlinedInput.d.ts +3 -1
- package/OverridableComponent.d.ts +2 -2
- package/Pagination/Pagination.d.ts +1 -1
- package/Popover/Popover.d.ts +1 -1
- package/Popper/Popper.d.ts +4 -0
- package/Popper/Popper.js +4 -0
- package/Radio/Radio.d.ts +1 -1
- package/RadioGroup/RadioGroup.d.ts +1 -1
- package/Rating/Rating.d.ts +1 -1
- package/Select/Select.d.ts +1 -1
- package/Slide/Slide.d.ts +1 -1
- package/Slider/Slider.d.ts +1 -1
- package/Slider/Slider.js +1 -1
- package/Slider/SliderValueLabel.types.d.ts +1 -1
- package/Snackbar/Snackbar.d.ts +1 -1
- package/SnackbarContent/SnackbarContent.d.ts +1 -1
- package/SpeedDial/SpeedDial.d.ts +1 -1
- package/SpeedDialAction/SpeedDialAction.d.ts +1 -1
- package/SpeedDialIcon/SpeedDialIcon.d.ts +3 -1
- package/StepConnector/StepConnector.d.ts +2 -2
- package/StepContent/StepContent.d.ts +1 -1
- package/StepIcon/StepIcon.d.ts +1 -1
- package/StepLabel/StepLabel.d.ts +1 -1
- package/Switch/Switch.d.ts +1 -1
- package/Tab/Tab.d.ts +1 -1
- package/TabScrollButton/TabScrollButton.d.ts +1 -1
- package/TableCell/TableCell.d.ts +1 -1
- package/TextField/TextField.d.ts +1 -1
- package/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
- package/Tooltip/Tooltip.d.ts +3 -5
- package/Tooltip/Tooltip.js +2 -4
- package/Zoom/Zoom.d.ts +1 -1
- package/index.js +1 -1
- package/locale/index.d.ts +1 -0
- package/locale/index.js +74 -1
- package/modern/Avatar/Avatar.js +3 -1
- package/modern/AvatarGroup/AvatarGroup.js +37 -18
- package/modern/Grid/Grid.js +1 -0
- package/modern/Hidden/Hidden.js +2 -0
- package/modern/ListItem/ListItem.js +6 -14
- package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
- package/modern/Popper/Popper.js +4 -0
- package/modern/Slider/Slider.js +1 -1
- package/modern/Tooltip/Tooltip.js +2 -4
- package/modern/index.js +1 -1
- package/modern/locale/index.js +74 -1
- package/modern/styles/CssVarsProvider.js +17 -6
- package/modern/styles/experimental_extendTheme.js +8 -354
- package/modern/styles/extendTheme.js +355 -0
- package/modern/styles/index.js +2 -1
- package/modern/styles/responsiveFontSizes.js +3 -0
- package/node/Avatar/Avatar.js +3 -1
- package/node/AvatarGroup/AvatarGroup.js +37 -18
- package/node/Grid/Grid.js +1 -0
- package/node/Hidden/Hidden.js +2 -0
- package/node/ListItem/ListItem.js +6 -14
- package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -0
- package/node/Popper/Popper.js +4 -0
- package/node/Slider/Slider.js +1 -1
- package/node/Tooltip/Tooltip.js +2 -4
- package/node/index.js +1 -1
- package/node/locale/index.js +75 -2
- package/node/styles/CssVarsProvider.js +22 -7
- package/node/styles/experimental_extendTheme.js +9 -360
- package/node/styles/extendTheme.js +367 -0
- package/node/styles/index.js +10 -0
- package/node/styles/responsiveFontSizes.js +3 -0
- package/package.json +6 -6
- package/styles/CssVarsProvider.d.ts +3 -2
- package/styles/CssVarsProvider.js +17 -6
- package/styles/experimental_extendTheme.js +8 -354
- package/styles/{experimental_extendTheme.d.ts → extendTheme.d.ts} +1 -2
- package/styles/extendTheme.js +355 -0
- package/styles/index.d.ts +2 -2
- package/styles/index.js +2 -1
- package/styles/responsiveFontSizes.js +3 -0
- package/themeCssVarsAugmentation/index.d.ts +1 -1
- package/types/OverridableComponentAugmentation.d.ts +2 -2
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import deepmerge from '@mui/utils/deepmerge';
|
|
2
|
+
import { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';
|
|
3
|
+
import { createUnarySpacing } from '@mui/system/spacing';
|
|
4
|
+
import { prepareCssVars, prepareTypographyVars } from '@mui/system/cssVars';
|
|
5
|
+
import styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';
|
|
6
|
+
import { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';
|
|
7
|
+
import defaultShouldSkipGeneratingVar from './shouldSkipGeneratingVar';
|
|
8
|
+
import createThemeWithoutVars from './createTheme';
|
|
9
|
+
import getOverlayAlpha from './getOverlayAlpha';
|
|
10
|
+
import defaultGetSelector from './createGetSelector';
|
|
11
|
+
const defaultDarkOverlays = [...Array(25)].map((_, index) => {
|
|
12
|
+
if (index === 0) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const overlay = getOverlayAlpha(index);
|
|
16
|
+
return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;
|
|
17
|
+
});
|
|
18
|
+
function assignNode(obj, keys) {
|
|
19
|
+
keys.forEach(k => {
|
|
20
|
+
if (!obj[k]) {
|
|
21
|
+
obj[k] = {};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function setColor(obj, key, defaultValue) {
|
|
26
|
+
if (!obj[key] && defaultValue) {
|
|
27
|
+
obj[key] = defaultValue;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function toRgb(color) {
|
|
31
|
+
if (!color || !color.startsWith('hsl')) {
|
|
32
|
+
return color;
|
|
33
|
+
}
|
|
34
|
+
return hslToRgb(color);
|
|
35
|
+
}
|
|
36
|
+
function setColorChannel(obj, key) {
|
|
37
|
+
if (!(`${key}Channel` in obj)) {
|
|
38
|
+
// custom channel token is not provided, generate one.
|
|
39
|
+
// if channel token can't be generated, show a warning.
|
|
40
|
+
obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \`palette.${key}Channel\` because \`palette.${key}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\n' + `To suppress this warning, you need to explicitly provide the \`palette.${key}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getSpacingVal(spacingInput) {
|
|
44
|
+
if (typeof spacingInput === 'number') {
|
|
45
|
+
return `${spacingInput}px`;
|
|
46
|
+
}
|
|
47
|
+
if (typeof spacingInput === 'string') {
|
|
48
|
+
return spacingInput;
|
|
49
|
+
}
|
|
50
|
+
if (typeof spacingInput === 'function') {
|
|
51
|
+
return getSpacingVal(spacingInput(1));
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(spacingInput)) {
|
|
54
|
+
return spacingInput;
|
|
55
|
+
}
|
|
56
|
+
return '8px';
|
|
57
|
+
}
|
|
58
|
+
const silent = fn => {
|
|
59
|
+
try {
|
|
60
|
+
return fn();
|
|
61
|
+
} catch (error) {
|
|
62
|
+
// ignore error
|
|
63
|
+
}
|
|
64
|
+
return undefined;
|
|
65
|
+
};
|
|
66
|
+
export const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);
|
|
67
|
+
export default function extendTheme(options = {}, ...args) {
|
|
68
|
+
const {
|
|
69
|
+
colorSchemes: colorSchemesInput = {},
|
|
70
|
+
cssVarPrefix = 'mui',
|
|
71
|
+
shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,
|
|
72
|
+
getSelector,
|
|
73
|
+
...input
|
|
74
|
+
} = options;
|
|
75
|
+
const getCssVar = createGetCssVar(cssVarPrefix);
|
|
76
|
+
const {
|
|
77
|
+
palette: lightPalette,
|
|
78
|
+
...muiTheme
|
|
79
|
+
} = createThemeWithoutVars({
|
|
80
|
+
...input,
|
|
81
|
+
...(colorSchemesInput.light && {
|
|
82
|
+
palette: colorSchemesInput.light?.palette
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
const {
|
|
86
|
+
palette: darkPalette
|
|
87
|
+
} = createThemeWithoutVars({
|
|
88
|
+
palette: {
|
|
89
|
+
mode: 'dark',
|
|
90
|
+
...colorSchemesInput.dark?.palette
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
let theme = {
|
|
94
|
+
defaultColorScheme: 'light',
|
|
95
|
+
...muiTheme,
|
|
96
|
+
cssVarPrefix,
|
|
97
|
+
getCssVar,
|
|
98
|
+
colorSchemes: {
|
|
99
|
+
...colorSchemesInput,
|
|
100
|
+
light: {
|
|
101
|
+
...colorSchemesInput.light,
|
|
102
|
+
palette: lightPalette,
|
|
103
|
+
opacity: {
|
|
104
|
+
inputPlaceholder: 0.42,
|
|
105
|
+
inputUnderline: 0.42,
|
|
106
|
+
switchTrackDisabled: 0.12,
|
|
107
|
+
switchTrack: 0.38,
|
|
108
|
+
...colorSchemesInput.light?.opacity
|
|
109
|
+
},
|
|
110
|
+
overlays: colorSchemesInput.light?.overlays || []
|
|
111
|
+
},
|
|
112
|
+
dark: {
|
|
113
|
+
...colorSchemesInput.dark,
|
|
114
|
+
palette: darkPalette,
|
|
115
|
+
opacity: {
|
|
116
|
+
inputPlaceholder: 0.5,
|
|
117
|
+
inputUnderline: 0.7,
|
|
118
|
+
switchTrackDisabled: 0.2,
|
|
119
|
+
switchTrack: 0.3,
|
|
120
|
+
...colorSchemesInput.dark?.opacity
|
|
121
|
+
},
|
|
122
|
+
overlays: colorSchemesInput.dark?.overlays || defaultDarkOverlays
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
font: {
|
|
126
|
+
...prepareTypographyVars(muiTheme.typography),
|
|
127
|
+
...muiTheme.font
|
|
128
|
+
},
|
|
129
|
+
spacing: getSpacingVal(input.spacing)
|
|
130
|
+
};
|
|
131
|
+
Object.keys(theme.colorSchemes).forEach(key => {
|
|
132
|
+
const palette = theme.colorSchemes[key].palette;
|
|
133
|
+
const setCssVarColor = cssVar => {
|
|
134
|
+
const tokens = cssVar.split('-');
|
|
135
|
+
const color = tokens[1];
|
|
136
|
+
const colorToken = tokens[2];
|
|
137
|
+
return getCssVar(cssVar, palette[color][colorToken]);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// attach black & white channels to common node
|
|
141
|
+
if (key === 'light') {
|
|
142
|
+
setColor(palette.common, 'background', '#fff');
|
|
143
|
+
setColor(palette.common, 'onBackground', '#000');
|
|
144
|
+
} else {
|
|
145
|
+
setColor(palette.common, 'background', '#000');
|
|
146
|
+
setColor(palette.common, 'onBackground', '#fff');
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// assign component variables
|
|
150
|
+
assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);
|
|
151
|
+
if (key === 'light') {
|
|
152
|
+
setColor(palette.Alert, 'errorColor', safeDarken(palette.error.light, 0.6));
|
|
153
|
+
setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));
|
|
154
|
+
setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));
|
|
155
|
+
setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));
|
|
156
|
+
setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));
|
|
157
|
+
setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));
|
|
158
|
+
setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));
|
|
159
|
+
setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));
|
|
160
|
+
setColor(palette.Alert, 'errorFilledColor', silent(() => lightPalette.getContrastText(palette.error.main)));
|
|
161
|
+
setColor(palette.Alert, 'infoFilledColor', silent(() => lightPalette.getContrastText(palette.info.main)));
|
|
162
|
+
setColor(palette.Alert, 'successFilledColor', silent(() => lightPalette.getContrastText(palette.success.main)));
|
|
163
|
+
setColor(palette.Alert, 'warningFilledColor', silent(() => lightPalette.getContrastText(palette.warning.main)));
|
|
164
|
+
setColor(palette.Alert, 'errorStandardBg', safeLighten(palette.error.light, 0.9));
|
|
165
|
+
setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));
|
|
166
|
+
setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));
|
|
167
|
+
setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));
|
|
168
|
+
setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
|
|
169
|
+
setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
|
|
170
|
+
setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
|
|
171
|
+
setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
|
|
172
|
+
setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));
|
|
173
|
+
setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));
|
|
174
|
+
setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));
|
|
175
|
+
setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));
|
|
176
|
+
setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));
|
|
177
|
+
setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));
|
|
178
|
+
setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));
|
|
179
|
+
setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');
|
|
180
|
+
setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');
|
|
181
|
+
setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');
|
|
182
|
+
setColor(palette.LinearProgress, 'primaryBg', safeLighten(palette.primary.main, 0.62));
|
|
183
|
+
setColor(palette.LinearProgress, 'secondaryBg', safeLighten(palette.secondary.main, 0.62));
|
|
184
|
+
setColor(palette.LinearProgress, 'errorBg', safeLighten(palette.error.main, 0.62));
|
|
185
|
+
setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));
|
|
186
|
+
setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));
|
|
187
|
+
setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));
|
|
188
|
+
setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);
|
|
189
|
+
setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));
|
|
190
|
+
setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));
|
|
191
|
+
setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));
|
|
192
|
+
setColor(palette.Slider, 'infoTrack', safeLighten(palette.info.main, 0.62));
|
|
193
|
+
setColor(palette.Slider, 'successTrack', safeLighten(palette.success.main, 0.62));
|
|
194
|
+
setColor(palette.Slider, 'warningTrack', safeLighten(palette.warning.main, 0.62));
|
|
195
|
+
const snackbarContentBackground = safeEmphasize(palette.background.default, 0.8);
|
|
196
|
+
setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
|
|
197
|
+
setColor(palette.SnackbarContent, 'color', silent(() => lightPalette.getContrastText(snackbarContentBackground)));
|
|
198
|
+
setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
|
|
199
|
+
setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));
|
|
200
|
+
setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));
|
|
201
|
+
setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));
|
|
202
|
+
setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));
|
|
203
|
+
setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));
|
|
204
|
+
setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));
|
|
205
|
+
setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));
|
|
206
|
+
setColor(palette.Switch, 'infoDisabledColor', safeLighten(palette.info.main, 0.62));
|
|
207
|
+
setColor(palette.Switch, 'successDisabledColor', safeLighten(palette.success.main, 0.62));
|
|
208
|
+
setColor(palette.Switch, 'warningDisabledColor', safeLighten(palette.warning.main, 0.62));
|
|
209
|
+
setColor(palette.TableCell, 'border', safeLighten(safeAlpha(palette.divider, 1), 0.88));
|
|
210
|
+
setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));
|
|
211
|
+
} else {
|
|
212
|
+
setColor(palette.Alert, 'errorColor', safeLighten(palette.error.light, 0.6));
|
|
213
|
+
setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));
|
|
214
|
+
setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));
|
|
215
|
+
setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));
|
|
216
|
+
setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));
|
|
217
|
+
setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));
|
|
218
|
+
setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));
|
|
219
|
+
setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));
|
|
220
|
+
setColor(palette.Alert, 'errorFilledColor', silent(() => darkPalette.getContrastText(palette.error.dark)));
|
|
221
|
+
setColor(palette.Alert, 'infoFilledColor', silent(() => darkPalette.getContrastText(palette.info.dark)));
|
|
222
|
+
setColor(palette.Alert, 'successFilledColor', silent(() => darkPalette.getContrastText(palette.success.dark)));
|
|
223
|
+
setColor(palette.Alert, 'warningFilledColor', silent(() => darkPalette.getContrastText(palette.warning.dark)));
|
|
224
|
+
setColor(palette.Alert, 'errorStandardBg', safeDarken(palette.error.light, 0.9));
|
|
225
|
+
setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));
|
|
226
|
+
setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));
|
|
227
|
+
setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));
|
|
228
|
+
setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
|
|
229
|
+
setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
|
|
230
|
+
setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
|
|
231
|
+
setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
|
|
232
|
+
setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));
|
|
233
|
+
setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode
|
|
234
|
+
setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode
|
|
235
|
+
setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));
|
|
236
|
+
setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));
|
|
237
|
+
setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));
|
|
238
|
+
setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));
|
|
239
|
+
setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));
|
|
240
|
+
setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));
|
|
241
|
+
setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');
|
|
242
|
+
setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');
|
|
243
|
+
setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');
|
|
244
|
+
setColor(palette.LinearProgress, 'primaryBg', safeDarken(palette.primary.main, 0.5));
|
|
245
|
+
setColor(palette.LinearProgress, 'secondaryBg', safeDarken(palette.secondary.main, 0.5));
|
|
246
|
+
setColor(palette.LinearProgress, 'errorBg', safeDarken(palette.error.main, 0.5));
|
|
247
|
+
setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));
|
|
248
|
+
setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));
|
|
249
|
+
setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));
|
|
250
|
+
setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);
|
|
251
|
+
setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));
|
|
252
|
+
setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));
|
|
253
|
+
setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));
|
|
254
|
+
setColor(palette.Slider, 'infoTrack', safeDarken(palette.info.main, 0.5));
|
|
255
|
+
setColor(palette.Slider, 'successTrack', safeDarken(palette.success.main, 0.5));
|
|
256
|
+
setColor(palette.Slider, 'warningTrack', safeDarken(palette.warning.main, 0.5));
|
|
257
|
+
const snackbarContentBackground = safeEmphasize(palette.background.default, 0.98);
|
|
258
|
+
setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
|
|
259
|
+
setColor(palette.SnackbarContent, 'color', silent(() => darkPalette.getContrastText(snackbarContentBackground)));
|
|
260
|
+
setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
|
|
261
|
+
setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));
|
|
262
|
+
setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));
|
|
263
|
+
setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));
|
|
264
|
+
setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));
|
|
265
|
+
setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));
|
|
266
|
+
setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));
|
|
267
|
+
setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));
|
|
268
|
+
setColor(palette.Switch, 'infoDisabledColor', safeDarken(palette.info.main, 0.55));
|
|
269
|
+
setColor(palette.Switch, 'successDisabledColor', safeDarken(palette.success.main, 0.55));
|
|
270
|
+
setColor(palette.Switch, 'warningDisabledColor', safeDarken(palette.warning.main, 0.55));
|
|
271
|
+
setColor(palette.TableCell, 'border', safeDarken(safeAlpha(palette.divider, 1), 0.68));
|
|
272
|
+
setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// MUI X - DataGrid needs this token.
|
|
276
|
+
setColorChannel(palette.background, 'default');
|
|
277
|
+
|
|
278
|
+
// added for consistency with the `background.default` token
|
|
279
|
+
setColorChannel(palette.background, 'paper');
|
|
280
|
+
setColorChannel(palette.common, 'background');
|
|
281
|
+
setColorChannel(palette.common, 'onBackground');
|
|
282
|
+
setColorChannel(palette, 'divider');
|
|
283
|
+
Object.keys(palette).forEach(color => {
|
|
284
|
+
const colors = palette[color];
|
|
285
|
+
|
|
286
|
+
// The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.
|
|
287
|
+
|
|
288
|
+
if (colors && typeof colors === 'object') {
|
|
289
|
+
// Silent the error for custom palettes.
|
|
290
|
+
if (colors.main) {
|
|
291
|
+
setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));
|
|
292
|
+
}
|
|
293
|
+
if (colors.light) {
|
|
294
|
+
setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));
|
|
295
|
+
}
|
|
296
|
+
if (colors.dark) {
|
|
297
|
+
setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));
|
|
298
|
+
}
|
|
299
|
+
if (colors.contrastText) {
|
|
300
|
+
setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));
|
|
301
|
+
}
|
|
302
|
+
if (color === 'text') {
|
|
303
|
+
// Text colors: text.primary, text.secondary
|
|
304
|
+
setColorChannel(palette[color], 'primary');
|
|
305
|
+
setColorChannel(palette[color], 'secondary');
|
|
306
|
+
}
|
|
307
|
+
if (color === 'action') {
|
|
308
|
+
// Action colors: action.active, action.selected
|
|
309
|
+
if (colors.active) {
|
|
310
|
+
setColorChannel(palette[color], 'active');
|
|
311
|
+
}
|
|
312
|
+
if (colors.selected) {
|
|
313
|
+
setColorChannel(palette[color], 'selected');
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);
|
|
320
|
+
const parserConfig = {
|
|
321
|
+
prefix: cssVarPrefix,
|
|
322
|
+
shouldSkipGeneratingVar,
|
|
323
|
+
getSelector: getSelector || defaultGetSelector(theme)
|
|
324
|
+
};
|
|
325
|
+
const {
|
|
326
|
+
vars,
|
|
327
|
+
generateThemeVars,
|
|
328
|
+
generateStyleSheets
|
|
329
|
+
} = prepareCssVars(theme, parserConfig);
|
|
330
|
+
theme.attribute = 'data-mui-color-scheme';
|
|
331
|
+
theme.colorSchemeSelector = ':root';
|
|
332
|
+
theme.vars = vars;
|
|
333
|
+
Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {
|
|
334
|
+
theme[key] = value;
|
|
335
|
+
});
|
|
336
|
+
theme.generateThemeVars = generateThemeVars;
|
|
337
|
+
theme.generateStyleSheets = generateStyleSheets;
|
|
338
|
+
theme.generateSpacing = function generateSpacing() {
|
|
339
|
+
return createSpacing(input.spacing, createUnarySpacing(this));
|
|
340
|
+
};
|
|
341
|
+
theme.getColorSchemeSelector = colorScheme => `[${theme.attribute}="${colorScheme}"] &`;
|
|
342
|
+
theme.spacing = theme.generateSpacing();
|
|
343
|
+
theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;
|
|
344
|
+
theme.unstable_sxConfig = {
|
|
345
|
+
...defaultSxConfig,
|
|
346
|
+
...input?.unstable_sxConfig
|
|
347
|
+
};
|
|
348
|
+
theme.unstable_sx = function sx(props) {
|
|
349
|
+
return styleFunctionSx({
|
|
350
|
+
sx: props,
|
|
351
|
+
theme: this
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
return theme;
|
|
355
|
+
}
|
package/styles/index.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ export { default as withTheme } from './withTheme';
|
|
|
99
99
|
|
|
100
100
|
export * from './CssVarsProvider';
|
|
101
101
|
|
|
102
|
-
export { default as
|
|
102
|
+
export { default as extendTheme } from './extendTheme';
|
|
103
103
|
export type {
|
|
104
104
|
ColorSchemeOverrides,
|
|
105
105
|
SupportedColorScheme,
|
|
@@ -132,7 +132,7 @@ export type {
|
|
|
132
132
|
ThemeCssVar,
|
|
133
133
|
ThemeCssVarOverrides,
|
|
134
134
|
ColorSystemOptions,
|
|
135
|
-
} from './
|
|
135
|
+
} from './extendTheme';
|
|
136
136
|
export { default as getOverlayAlpha } from './getOverlayAlpha';
|
|
137
137
|
export { default as shouldSkipGeneratingVar } from './shouldSkipGeneratingVar';
|
|
138
138
|
|
package/styles/index.js
CHANGED
|
@@ -27,7 +27,8 @@ export { default as makeStyles } from './makeStyles';
|
|
|
27
27
|
export { default as withStyles } from './withStyles';
|
|
28
28
|
export { default as withTheme } from './withTheme';
|
|
29
29
|
export * from './CssVarsProvider';
|
|
30
|
-
export { default as
|
|
30
|
+
export { default as extendTheme } from './extendTheme';
|
|
31
|
+
export { default as experimental_extendTheme } from './experimental_extendTheme'; // TODO: Remove in v7
|
|
31
32
|
export { default as getOverlayAlpha } from './getOverlayAlpha';
|
|
32
33
|
export { default as shouldSkipGeneratingVar } from './shouldSkipGeneratingVar';
|
|
33
34
|
|
|
@@ -21,6 +21,9 @@ export default function responsiveFontSizes(themeInput, options = {}) {
|
|
|
21
21
|
const breakpointValues = breakpoints.map(x => theme.breakpoints.values[x]);
|
|
22
22
|
variants.forEach(variant => {
|
|
23
23
|
const style = typography[variant];
|
|
24
|
+
if (!style) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
24
27
|
const remFontSize = parseFloat(convert(style.fontSize, 'rem'));
|
|
25
28
|
if (remFontSize <= 1) {
|
|
26
29
|
return;
|
|
@@ -13,8 +13,8 @@ declare module '@mui/material/OverridableComponent' {
|
|
|
13
13
|
* Either a string to use a HTML element or a component.
|
|
14
14
|
*/
|
|
15
15
|
component: DefaultComponent;
|
|
16
|
-
} & OverridePropsVer2<TypeMap, DefaultComponent>): JSX.Element;
|
|
17
|
-
(props: DefaultComponentPropsVer2<TypeMap>): JSX.Element;
|
|
16
|
+
} & OverridePropsVer2<TypeMap, DefaultComponent>): React.JSX.Element;
|
|
17
|
+
(props: DefaultComponentPropsVer2<TypeMap>): React.JSX.Element;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Props of the component if `component={Component}` is used.
|