@mui/material 5.11.11 → 5.11.13

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.
Files changed (50) hide show
  1. package/Autocomplete/Autocomplete.d.ts +1 -0
  2. package/Autocomplete/Autocomplete.js +5 -2
  3. package/Autocomplete/autocompleteClasses.d.ts +2 -0
  4. package/Autocomplete/autocompleteClasses.js +1 -1
  5. package/CHANGELOG.md +187 -2
  6. package/DialogTitle/DialogTitle.js +2 -2
  7. package/Menu/Menu.js +1 -1
  8. package/index.js +1 -1
  9. package/legacy/Autocomplete/Autocomplete.js +5 -2
  10. package/legacy/Autocomplete/autocompleteClasses.js +1 -1
  11. package/legacy/DialogTitle/DialogTitle.js +2 -2
  12. package/legacy/Menu/Menu.js +1 -1
  13. package/legacy/index.js +1 -1
  14. package/legacy/styles/CssVarsProvider.js +1 -8
  15. package/legacy/styles/createTypography.js +8 -1
  16. package/legacy/styles/experimental_extendTheme.js +59 -40
  17. package/legacy/styles/index.js +1 -0
  18. package/legacy/styles/shouldSkipGeneratingVar.js +6 -0
  19. package/modern/Autocomplete/Autocomplete.js +5 -2
  20. package/modern/Autocomplete/autocompleteClasses.js +1 -1
  21. package/modern/DialogTitle/DialogTitle.js +2 -2
  22. package/modern/Menu/Menu.js +1 -1
  23. package/modern/index.js +1 -1
  24. package/modern/styles/CssVarsProvider.js +1 -5
  25. package/modern/styles/createTypography.js +8 -1
  26. package/modern/styles/experimental_extendTheme.js +60 -41
  27. package/modern/styles/index.js +1 -0
  28. package/modern/styles/shouldSkipGeneratingVar.js +5 -0
  29. package/node/Autocomplete/Autocomplete.js +5 -2
  30. package/node/Autocomplete/autocompleteClasses.js +1 -1
  31. package/node/DialogTitle/DialogTitle.js +2 -2
  32. package/node/Menu/Menu.js +1 -1
  33. package/node/index.js +1 -1
  34. package/node/styles/CssVarsProvider.js +1 -9
  35. package/node/styles/createTypography.js +8 -1
  36. package/node/styles/experimental_extendTheme.js +59 -40
  37. package/node/styles/index.js +8 -0
  38. package/node/styles/shouldSkipGeneratingVar.js +12 -0
  39. package/package.json +5 -5
  40. package/styles/CssVarsProvider.d.ts +1 -2
  41. package/styles/CssVarsProvider.js +1 -8
  42. package/styles/createTypography.js +8 -1
  43. package/styles/experimental_extendTheme.d.ts +20 -0
  44. package/styles/experimental_extendTheme.js +60 -41
  45. package/styles/index.d.ts +1 -0
  46. package/styles/index.js +1 -0
  47. package/styles/shouldSkipGeneratingVar.d.ts +1 -0
  48. package/styles/shouldSkipGeneratingVar.js +6 -0
  49. package/umd/material-ui.development.js +362 -221
  50. package/umd/material-ui.production.min.js +20 -20
@@ -10,9 +10,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var _utils = require("@mui/utils");
12
12
  var _system = require("@mui/system");
13
+ var _shouldSkipGeneratingVar = _interopRequireDefault(require("./shouldSkipGeneratingVar"));
13
14
  var _createTheme = _interopRequireDefault(require("./createTheme"));
14
15
  var _getOverlayAlpha = _interopRequireDefault(require("./getOverlayAlpha"));
15
- const _excluded = ["colorSchemes", "cssVarPrefix"],
16
+ const _excluded = ["colorSchemes", "cssVarPrefix", "shouldSkipGeneratingVar"],
16
17
  _excluded2 = ["palette"];
17
18
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
18
19
  if (index === 0) {
@@ -54,7 +55,8 @@ function extendTheme(options = {}, ...args) {
54
55
  var _colorSchemesInput$li, _colorSchemesInput$da, _colorSchemesInput$li2, _colorSchemesInput$li3, _colorSchemesInput$da2, _colorSchemesInput$da3;
55
56
  const {
56
57
  colorSchemes: colorSchemesInput = {},
57
- cssVarPrefix = 'mui'
58
+ cssVarPrefix = 'mui',
59
+ shouldSkipGeneratingVar = _shouldSkipGeneratingVar.default
58
60
  } = options,
59
61
  input = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
60
62
  const getCssVar = createGetCssVar(cssVarPrefix);
@@ -100,6 +102,12 @@ function extendTheme(options = {}, ...args) {
100
102
  });
101
103
  Object.keys(theme.colorSchemes).forEach(key => {
102
104
  const palette = theme.colorSchemes[key].palette;
105
+ const setCssVarColor = cssVar => {
106
+ const tokens = cssVar.split('-');
107
+ const color = tokens[1];
108
+ const colorToken = tokens[2];
109
+ return getCssVar(cssVar, palette[color][colorToken]);
110
+ };
103
111
 
104
112
  // attach black & white channels to common node
105
113
  if (key === 'light') {
@@ -117,10 +125,10 @@ function extendTheme(options = {}, ...args) {
117
125
  setColor(palette.Alert, 'infoColor', (0, _system.private_safeDarken)(palette.info.light, 0.6));
118
126
  setColor(palette.Alert, 'successColor', (0, _system.private_safeDarken)(palette.success.light, 0.6));
119
127
  setColor(palette.Alert, 'warningColor', (0, _system.private_safeDarken)(palette.warning.light, 0.6));
120
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-main'));
121
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-main'));
122
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-main'));
123
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-main'));
128
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));
129
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));
130
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));
131
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));
124
132
  setColor(palette.Alert, 'errorFilledColor', silent(() => lightPalette.getContrastText(palette.error.main)));
125
133
  setColor(palette.Alert, 'infoFilledColor', silent(() => lightPalette.getContrastText(palette.info.main)));
126
134
  setColor(palette.Alert, 'successFilledColor', silent(() => lightPalette.getContrastText(palette.success.main)));
@@ -129,15 +137,15 @@ function extendTheme(options = {}, ...args) {
129
137
  setColor(palette.Alert, 'infoStandardBg', (0, _system.private_safeLighten)(palette.info.light, 0.9));
130
138
  setColor(palette.Alert, 'successStandardBg', (0, _system.private_safeLighten)(palette.success.light, 0.9));
131
139
  setColor(palette.Alert, 'warningStandardBg', (0, _system.private_safeLighten)(palette.warning.light, 0.9));
132
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
133
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
134
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
135
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
136
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-100'));
137
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-400'));
138
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-400'));
139
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-700'));
140
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-700'));
140
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
141
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
142
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
143
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
144
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));
145
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));
146
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));
147
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));
148
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));
141
149
  setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');
142
150
  setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');
143
151
  setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');
@@ -147,7 +155,7 @@ function extendTheme(options = {}, ...args) {
147
155
  setColor(palette.LinearProgress, 'infoBg', (0, _system.private_safeLighten)(palette.info.main, 0.62));
148
156
  setColor(palette.LinearProgress, 'successBg', (0, _system.private_safeLighten)(palette.success.main, 0.62));
149
157
  setColor(palette.LinearProgress, 'warningBg', (0, _system.private_safeLighten)(palette.warning.main, 0.62));
150
- setColor(palette.Skeleton, 'bg', `rgba(${getCssVar('palette-text-primaryChannel')} / 0.11)`);
158
+ setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);
151
159
  setColor(palette.Slider, 'primaryTrack', (0, _system.private_safeLighten)(palette.primary.main, 0.62));
152
160
  setColor(palette.Slider, 'secondaryTrack', (0, _system.private_safeLighten)(palette.secondary.main, 0.62));
153
161
  setColor(palette.Slider, 'errorTrack', (0, _system.private_safeLighten)(palette.error.main, 0.62));
@@ -158,10 +166,10 @@ function extendTheme(options = {}, ...args) {
158
166
  setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
159
167
  setColor(palette.SnackbarContent, 'color', silent(() => lightPalette.getContrastText(snackbarContentBackground)));
160
168
  setColor(palette.SpeedDialAction, 'fabHoverBg', (0, _system.private_safeEmphasize)(palette.background.paper, 0.15));
161
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-400'));
162
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-400'));
163
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-common-white'));
164
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-100'));
169
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));
170
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));
171
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));
172
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));
165
173
  setColor(palette.Switch, 'primaryDisabledColor', (0, _system.private_safeLighten)(palette.primary.main, 0.62));
166
174
  setColor(palette.Switch, 'secondaryDisabledColor', (0, _system.private_safeLighten)(palette.secondary.main, 0.62));
167
175
  setColor(palette.Switch, 'errorDisabledColor', (0, _system.private_safeLighten)(palette.error.main, 0.62));
@@ -175,10 +183,10 @@ function extendTheme(options = {}, ...args) {
175
183
  setColor(palette.Alert, 'infoColor', (0, _system.private_safeLighten)(palette.info.light, 0.6));
176
184
  setColor(palette.Alert, 'successColor', (0, _system.private_safeLighten)(palette.success.light, 0.6));
177
185
  setColor(palette.Alert, 'warningColor', (0, _system.private_safeLighten)(palette.warning.light, 0.6));
178
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-dark'));
179
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-dark'));
180
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-dark'));
181
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-dark'));
186
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));
187
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));
188
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));
189
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));
182
190
  setColor(palette.Alert, 'errorFilledColor', silent(() => darkPalette.getContrastText(palette.error.dark)));
183
191
  setColor(palette.Alert, 'infoFilledColor', silent(() => darkPalette.getContrastText(palette.info.dark)));
184
192
  setColor(palette.Alert, 'successFilledColor', silent(() => darkPalette.getContrastText(palette.success.dark)));
@@ -187,17 +195,17 @@ function extendTheme(options = {}, ...args) {
187
195
  setColor(palette.Alert, 'infoStandardBg', (0, _system.private_safeDarken)(palette.info.light, 0.9));
188
196
  setColor(palette.Alert, 'successStandardBg', (0, _system.private_safeDarken)(palette.success.light, 0.9));
189
197
  setColor(palette.Alert, 'warningStandardBg', (0, _system.private_safeDarken)(palette.warning.light, 0.9));
190
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
191
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
192
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
193
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
194
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-900'));
195
- setColor(palette.AppBar, 'darkBg', getCssVar('palette-background-paper')); // specific for dark mode
196
- setColor(palette.AppBar, 'darkColor', getCssVar('palette-text-primary')); // specific for dark mode
197
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-600'));
198
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-700'));
199
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-300'));
200
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-300'));
198
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
199
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
200
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
201
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
202
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));
203
+ setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode
204
+ setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode
205
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));
206
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));
207
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));
208
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));
201
209
  setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');
202
210
  setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');
203
211
  setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');
@@ -207,7 +215,7 @@ function extendTheme(options = {}, ...args) {
207
215
  setColor(palette.LinearProgress, 'infoBg', (0, _system.private_safeDarken)(palette.info.main, 0.5));
208
216
  setColor(palette.LinearProgress, 'successBg', (0, _system.private_safeDarken)(palette.success.main, 0.5));
209
217
  setColor(palette.LinearProgress, 'warningBg', (0, _system.private_safeDarken)(palette.warning.main, 0.5));
210
- setColor(palette.Skeleton, 'bg', `rgba(${getCssVar('palette-text-primaryChannel')} / 0.13)`);
218
+ setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);
211
219
  setColor(palette.Slider, 'primaryTrack', (0, _system.private_safeDarken)(palette.primary.main, 0.5));
212
220
  setColor(palette.Slider, 'secondaryTrack', (0, _system.private_safeDarken)(palette.secondary.main, 0.5));
213
221
  setColor(palette.Slider, 'errorTrack', (0, _system.private_safeDarken)(palette.error.main, 0.5));
@@ -218,10 +226,10 @@ function extendTheme(options = {}, ...args) {
218
226
  setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
219
227
  setColor(palette.SnackbarContent, 'color', silent(() => darkPalette.getContrastText(snackbarContentBackground)));
220
228
  setColor(palette.SpeedDialAction, 'fabHoverBg', (0, _system.private_safeEmphasize)(palette.background.paper, 0.15));
221
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-600'));
222
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-600'));
223
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-grey-300'));
224
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-600'));
229
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));
230
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));
231
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));
232
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));
225
233
  setColor(palette.Switch, 'primaryDisabledColor', (0, _system.private_safeDarken)(palette.primary.main, 0.55));
226
234
  setColor(palette.Switch, 'secondaryDisabledColor', (0, _system.private_safeDarken)(palette.secondary.main, 0.55));
227
235
  setColor(palette.Switch, 'errorDisabledColor', (0, _system.private_safeDarken)(palette.error.main, 0.55));
@@ -274,6 +282,17 @@ function extendTheme(options = {}, ...args) {
274
282
  });
275
283
  });
276
284
  theme = args.reduce((acc, argument) => (0, _utils.deepmerge)(acc, argument), theme);
285
+ const parserConfig = {
286
+ prefix: cssVarPrefix,
287
+ shouldSkipGeneratingVar
288
+ };
289
+ const {
290
+ vars: themeVars,
291
+ generateCssVars
292
+ } = (0, _system.unstable_prepareCssVars)(theme, parserConfig);
293
+ theme.vars = themeVars;
294
+ theme.generateCssVars = generateCssVars;
295
+ theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;
277
296
  theme.unstable_sxConfig = (0, _extends2.default)({}, _system.unstable_defaultSxConfig, input == null ? void 0 : input.unstable_sxConfig);
278
297
  theme.unstable_sx = function sx(props) {
279
298
  return (0, _system.unstable_styleFunctionSx)({
@@ -40,6 +40,7 @@ var _exportNames = {
40
40
  withTheme: true,
41
41
  experimental_extendTheme: true,
42
42
  getOverlayAlpha: true,
43
+ shouldSkipGeneratingVar: true,
43
44
  private_createTypography: true,
44
45
  private_excludeVariablesFromRoot: true
45
46
  };
@@ -212,6 +213,12 @@ Object.defineProperty(exports, "rgbToHex", {
212
213
  return _system.rgbToHex;
213
214
  }
214
215
  });
216
+ Object.defineProperty(exports, "shouldSkipGeneratingVar", {
217
+ enumerable: true,
218
+ get: function () {
219
+ return _shouldSkipGeneratingVar.default;
220
+ }
221
+ });
215
222
  Object.defineProperty(exports, "styled", {
216
223
  enumerable: true,
217
224
  get: function () {
@@ -290,6 +297,7 @@ Object.keys(_CssVarsProvider).forEach(function (key) {
290
297
  });
291
298
  var _experimental_extendTheme = _interopRequireDefault(require("./experimental_extendTheme"));
292
299
  var _getOverlayAlpha = _interopRequireDefault(require("./getOverlayAlpha"));
300
+ var _shouldSkipGeneratingVar = _interopRequireDefault(require("./shouldSkipGeneratingVar"));
293
301
  var _createTypography = _interopRequireDefault(require("./createTypography"));
294
302
  var _excludeVariablesFromRoot = _interopRequireDefault(require("./excludeVariablesFromRoot"));
295
303
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = shouldSkipGeneratingVar;
7
+ function shouldSkipGeneratingVar(keys) {
8
+ var _keys$;
9
+ return !!keys[0].match(/(cssVarPrefix|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||
10
+ // ends with sxConfig
11
+ keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/material",
3
- "version": "5.11.11",
3
+ "version": "5.11.13",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "React components that implement Google's Material Design.",
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@babel/runtime": "^7.21.0",
49
- "@mui/base": "5.0.0-alpha.119",
50
- "@mui/core-downloads-tracker": "^5.11.11",
51
- "@mui/system": "^5.11.11",
49
+ "@mui/base": "5.0.0-alpha.121",
50
+ "@mui/core-downloads-tracker": "^5.11.13",
51
+ "@mui/system": "^5.11.13",
52
52
  "@mui/types": "^7.2.3",
53
- "@mui/utils": "^5.11.11",
53
+ "@mui/utils": "^5.11.13",
54
54
  "@types/react-transition-group": "^4.4.5",
55
55
  "clsx": "^1.2.1",
56
56
  "csstype": "^3.1.1",
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { SupportedColorScheme } from './experimental_extendTheme';
3
- declare const shouldSkipGeneratingVar: (keys: string[]) => boolean;
4
3
  declare const CssVarsProvider: (props: import("react").PropsWithChildren<Partial<import("@mui/system").CssVarsProviderConfig<SupportedColorScheme>> & {
5
4
  theme?: {
6
5
  cssVarPrefix?: string | undefined;
@@ -13,4 +12,4 @@ declare const CssVarsProvider: (props: import("react").PropsWithChildren<Partial
13
12
  disableNestedContext?: boolean | undefined;
14
13
  disableStyleSheetGeneration?: boolean | undefined;
15
14
  }>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, useColorScheme: () => import("@mui/system").ColorSchemeContextValue<SupportedColorScheme>, getInitColorSchemeScript: typeof import("@mui/system").getInitColorSchemeScript;
16
- export { useColorScheme, getInitColorSchemeScript, shouldSkipGeneratingVar, CssVarsProvider as Experimental_CssVarsProvider, };
15
+ export { useColorScheme, getInitColorSchemeScript, CssVarsProvider as Experimental_CssVarsProvider, };
@@ -3,12 +3,6 @@ import { unstable_createCssVarsProvider as createCssVarsProvider, unstable_style
3
3
  import experimental_extendTheme from './experimental_extendTheme';
4
4
  import createTypography from './createTypography';
5
5
  import excludeVariablesFromRoot from './excludeVariablesFromRoot';
6
- const shouldSkipGeneratingVar = keys => {
7
- var _keys$;
8
- return !!keys[0].match(/(typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||
9
- // ends with sxConfig
10
- keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
11
- };
12
6
  const defaultTheme = experimental_extendTheme();
13
7
  const {
14
8
  CssVarsProvider,
@@ -35,7 +29,6 @@ const {
35
29
  };
36
30
  return newTheme;
37
31
  },
38
- shouldSkipGeneratingVar,
39
32
  excludeVariablesFromRoot
40
33
  });
41
- export { useColorScheme, getInitColorSchemeScript, shouldSkipGeneratingVar, CssVarsProvider as Experimental_CssVarsProvider };
34
+ export { useColorScheme, getInitColorSchemeScript, CssVarsProvider as Experimental_CssVarsProvider };
@@ -65,7 +65,14 @@ export default function createTypography(palette, typography) {
65
65
  body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),
66
66
  button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),
67
67
  caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),
68
- overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)
68
+ overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),
69
+ inherit: {
70
+ fontFamily: 'inherit',
71
+ fontWeight: 'inherit',
72
+ fontSize: 'inherit',
73
+ lineHeight: 'inherit',
74
+ letterSpacing: 'inherit'
75
+ }
69
76
  };
70
77
  return deepmerge(_extends({
71
78
  htmlFontSize,
@@ -281,6 +281,14 @@ export interface CssVarsThemeOptions extends Omit<ThemeOptions, 'palette' | 'com
281
281
  * Color schemes configuration
282
282
  */
283
283
  colorSchemes?: Partial<Record<SupportedColorScheme, ColorSystemOptions>>;
284
+ /**
285
+ * A function to determine if the key, value should be attached as CSS Variable
286
+ * `keys` is an array that represents the object path keys.
287
+ * Ex, if the theme is { foo: { bar: 'var(--test)' } }
288
+ * then, keys = ['foo', 'bar']
289
+ * value = 'var(--test)'
290
+ */
291
+ shouldSkipGeneratingVar?: (keys: string[], value: string | number) => boolean;
284
292
  }
285
293
 
286
294
  // should not include keys defined in `shouldSkipGeneratingVar` and have value typeof function
@@ -392,6 +400,10 @@ export interface CssVarsTheme extends ColorSystem {
392
400
  vars: ThemeVars;
393
401
  getCssVar: (field: ThemeCssVar, ...vars: ThemeCssVar[]) => string;
394
402
  getColorSchemeSelector: (colorScheme: SupportedColorScheme) => string;
403
+ generateCssVars: (colorScheme?: SupportedColorScheme) => {
404
+ css: Record<string, string | number>;
405
+ vars: ThemeVars;
406
+ };
395
407
 
396
408
  // Default theme tokens
397
409
  spacing: Theme['spacing'];
@@ -402,6 +414,14 @@ export interface CssVarsTheme extends ColorSystem {
402
414
  shadows: Theme['shadows'];
403
415
  mixins: Theme['mixins'];
404
416
  zIndex: Theme['zIndex'];
417
+ /**
418
+ * A function to determine if the key, value should be attached as CSS Variable
419
+ * `keys` is an array that represents the object path keys.
420
+ * Ex, if the theme is { foo: { bar: 'var(--test)' } }
421
+ * then, keys = ['foo', 'bar']
422
+ * value = 'var(--test)'
423
+ */
424
+ shouldSkipGeneratingVar: (keys: string[], value: string | number) => boolean;
405
425
  unstable_sxConfig: SxConfig;
406
426
  unstable_sx: (props: SxProps<CssVarsTheme>) => CSSObject;
407
427
  }
@@ -1,9 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["colorSchemes", "cssVarPrefix"],
3
+ const _excluded = ["colorSchemes", "cssVarPrefix", "shouldSkipGeneratingVar"],
4
4
  _excluded2 = ["palette"];
5
5
  import { deepmerge } from '@mui/utils';
6
- import { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, unstable_createGetCssVar as systemCreateGetCssVar, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx } from '@mui/system';
6
+ import { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, unstable_createGetCssVar as systemCreateGetCssVar, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx, unstable_prepareCssVars as prepareCssVars } from '@mui/system';
7
+ import defaultShouldSkipGeneratingVar from './shouldSkipGeneratingVar';
7
8
  import createThemeWithoutVars from './createTheme';
8
9
  import getOverlayAlpha from './getOverlayAlpha';
9
10
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
@@ -45,7 +46,8 @@ export default function extendTheme(options = {}, ...args) {
45
46
  var _colorSchemesInput$li, _colorSchemesInput$da, _colorSchemesInput$li2, _colorSchemesInput$li3, _colorSchemesInput$da2, _colorSchemesInput$da3;
46
47
  const {
47
48
  colorSchemes: colorSchemesInput = {},
48
- cssVarPrefix = 'mui'
49
+ cssVarPrefix = 'mui',
50
+ shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar
49
51
  } = options,
50
52
  input = _objectWithoutPropertiesLoose(options, _excluded);
51
53
  const getCssVar = createGetCssVar(cssVarPrefix);
@@ -91,6 +93,12 @@ export default function extendTheme(options = {}, ...args) {
91
93
  });
92
94
  Object.keys(theme.colorSchemes).forEach(key => {
93
95
  const palette = theme.colorSchemes[key].palette;
96
+ const setCssVarColor = cssVar => {
97
+ const tokens = cssVar.split('-');
98
+ const color = tokens[1];
99
+ const colorToken = tokens[2];
100
+ return getCssVar(cssVar, palette[color][colorToken]);
101
+ };
94
102
 
95
103
  // attach black & white channels to common node
96
104
  if (key === 'light') {
@@ -108,10 +116,10 @@ export default function extendTheme(options = {}, ...args) {
108
116
  setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));
109
117
  setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));
110
118
  setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));
111
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-main'));
112
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-main'));
113
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-main'));
114
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-main'));
119
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));
120
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));
121
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));
122
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));
115
123
  setColor(palette.Alert, 'errorFilledColor', silent(() => lightPalette.getContrastText(palette.error.main)));
116
124
  setColor(palette.Alert, 'infoFilledColor', silent(() => lightPalette.getContrastText(palette.info.main)));
117
125
  setColor(palette.Alert, 'successFilledColor', silent(() => lightPalette.getContrastText(palette.success.main)));
@@ -120,15 +128,15 @@ export default function extendTheme(options = {}, ...args) {
120
128
  setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));
121
129
  setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));
122
130
  setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));
123
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
124
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
125
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
126
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
127
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-100'));
128
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-400'));
129
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-400'));
130
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-700'));
131
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-700'));
131
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
132
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
133
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
134
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
135
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));
136
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));
137
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));
138
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));
139
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));
132
140
  setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');
133
141
  setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');
134
142
  setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');
@@ -138,7 +146,7 @@ export default function extendTheme(options = {}, ...args) {
138
146
  setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));
139
147
  setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));
140
148
  setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));
141
- setColor(palette.Skeleton, 'bg', `rgba(${getCssVar('palette-text-primaryChannel')} / 0.11)`);
149
+ setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);
142
150
  setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));
143
151
  setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));
144
152
  setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));
@@ -149,10 +157,10 @@ export default function extendTheme(options = {}, ...args) {
149
157
  setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
150
158
  setColor(palette.SnackbarContent, 'color', silent(() => lightPalette.getContrastText(snackbarContentBackground)));
151
159
  setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
152
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-400'));
153
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-400'));
154
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-common-white'));
155
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-100'));
160
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));
161
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));
162
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));
163
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));
156
164
  setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));
157
165
  setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));
158
166
  setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));
@@ -166,10 +174,10 @@ export default function extendTheme(options = {}, ...args) {
166
174
  setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));
167
175
  setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));
168
176
  setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));
169
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-dark'));
170
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-dark'));
171
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-dark'));
172
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-dark'));
177
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));
178
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));
179
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));
180
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));
173
181
  setColor(palette.Alert, 'errorFilledColor', silent(() => darkPalette.getContrastText(palette.error.dark)));
174
182
  setColor(palette.Alert, 'infoFilledColor', silent(() => darkPalette.getContrastText(palette.info.dark)));
175
183
  setColor(palette.Alert, 'successFilledColor', silent(() => darkPalette.getContrastText(palette.success.dark)));
@@ -178,17 +186,17 @@ export default function extendTheme(options = {}, ...args) {
178
186
  setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));
179
187
  setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));
180
188
  setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));
181
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
182
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
183
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
184
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
185
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-900'));
186
- setColor(palette.AppBar, 'darkBg', getCssVar('palette-background-paper')); // specific for dark mode
187
- setColor(palette.AppBar, 'darkColor', getCssVar('palette-text-primary')); // specific for dark mode
188
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-600'));
189
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-700'));
190
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-300'));
191
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-300'));
189
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
190
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
191
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
192
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
193
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));
194
+ setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode
195
+ setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode
196
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));
197
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));
198
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));
199
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));
192
200
  setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');
193
201
  setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');
194
202
  setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');
@@ -198,7 +206,7 @@ export default function extendTheme(options = {}, ...args) {
198
206
  setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));
199
207
  setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));
200
208
  setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));
201
- setColor(palette.Skeleton, 'bg', `rgba(${getCssVar('palette-text-primaryChannel')} / 0.13)`);
209
+ setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);
202
210
  setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));
203
211
  setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));
204
212
  setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));
@@ -209,10 +217,10 @@ export default function extendTheme(options = {}, ...args) {
209
217
  setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);
210
218
  setColor(palette.SnackbarContent, 'color', silent(() => darkPalette.getContrastText(snackbarContentBackground)));
211
219
  setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
212
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-600'));
213
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-600'));
214
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-grey-300'));
215
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-600'));
220
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));
221
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));
222
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));
223
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));
216
224
  setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));
217
225
  setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));
218
226
  setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));
@@ -265,6 +273,17 @@ export default function extendTheme(options = {}, ...args) {
265
273
  });
266
274
  });
267
275
  theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);
276
+ const parserConfig = {
277
+ prefix: cssVarPrefix,
278
+ shouldSkipGeneratingVar
279
+ };
280
+ const {
281
+ vars: themeVars,
282
+ generateCssVars
283
+ } = prepareCssVars(theme, parserConfig);
284
+ theme.vars = themeVars;
285
+ theme.generateCssVars = generateCssVars;
286
+ theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;
268
287
  theme.unstable_sxConfig = _extends({}, defaultSxConfig, input == null ? void 0 : input.unstable_sxConfig);
269
288
  theme.unstable_sx = function sx(props) {
270
289
  return styleFunctionSx({
package/styles/index.d.ts CHANGED
@@ -133,6 +133,7 @@ export type {
133
133
  ColorSystemOptions,
134
134
  } from './experimental_extendTheme';
135
135
  export { default as getOverlayAlpha } from './getOverlayAlpha';
136
+ export { default as shouldSkipGeneratingVar } from './shouldSkipGeneratingVar';
136
137
 
137
138
  // Private methods for creating parts of the theme
138
139
  export { default as private_createTypography } from './createTypography';
package/styles/index.js CHANGED
@@ -26,6 +26,7 @@ export { default as withTheme } from './withTheme';
26
26
  export * from './CssVarsProvider';
27
27
  export { default as experimental_extendTheme } from './experimental_extendTheme';
28
28
  export { default as getOverlayAlpha } from './getOverlayAlpha';
29
+ export { default as shouldSkipGeneratingVar } from './shouldSkipGeneratingVar';
29
30
 
30
31
  // Private methods for creating parts of the theme
31
32
  export { default as private_createTypography } from './createTypography';
@@ -0,0 +1 @@
1
+ export default function shouldSkipGeneratingVar(keys: string[]): boolean;
@@ -0,0 +1,6 @@
1
+ export default function shouldSkipGeneratingVar(keys) {
2
+ var _keys$;
3
+ return !!keys[0].match(/(cssVarPrefix|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||
4
+ // ends with sxConfig
5
+ keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
6
+ }