Spaces:
Sleeping
Sleeping
File size: 2,960 Bytes
56fda74 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _toPropertyKey2 = _interopRequireDefault(require("@babel/runtime/helpers/toPropertyKey"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
var _cssVarsParser = _interopRequireDefault(require("./cssVarsParser"));
const _excluded = ["colorSchemes", "components", "defaultColorScheme"];
function prepareCssVars(theme, parserConfig) {
// @ts-ignore - ignore components do not exist
const {
colorSchemes = {},
defaultColorScheme = 'light'
} = theme,
otherTheme = (0, _objectWithoutPropertiesLoose2.default)(theme, _excluded);
const {
vars: rootVars,
css: rootCss,
varsWithDefaults: rootVarsWithDefaults
} = (0, _cssVarsParser.default)(otherTheme, parserConfig);
let themeVars = rootVarsWithDefaults;
const colorSchemesMap = {};
const {
[defaultColorScheme]: light
} = colorSchemes,
otherColorSchemes = (0, _objectWithoutPropertiesLoose2.default)(colorSchemes, [defaultColorScheme].map(_toPropertyKey2.default));
Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {
const {
vars,
css,
varsWithDefaults
} = (0, _cssVarsParser.default)(scheme, parserConfig);
themeVars = (0, _deepmerge.default)(themeVars, varsWithDefaults);
colorSchemesMap[key] = {
css,
vars
};
});
if (light) {
// default color scheme vars should be merged last to set as default
const {
css,
vars,
varsWithDefaults
} = (0, _cssVarsParser.default)(light, parserConfig);
themeVars = (0, _deepmerge.default)(themeVars, varsWithDefaults);
colorSchemesMap[defaultColorScheme] = {
css,
vars
};
}
const generateCssVars = colorScheme => {
var _parserConfig$getSele2;
if (!colorScheme) {
var _parserConfig$getSele;
const css = (0, _extends2.default)({}, rootCss);
return {
css,
vars: rootVars,
selector: (parserConfig == null || (_parserConfig$getSele = parserConfig.getSelector) == null ? void 0 : _parserConfig$getSele.call(parserConfig, colorScheme, css)) || ':root'
};
}
const css = (0, _extends2.default)({}, colorSchemesMap[colorScheme].css);
return {
css,
vars: colorSchemesMap[colorScheme].vars,
selector: (parserConfig == null || (_parserConfig$getSele2 = parserConfig.getSelector) == null ? void 0 : _parserConfig$getSele2.call(parserConfig, colorScheme, css)) || ':root'
};
};
return {
vars: themeVars,
generateCssVars
};
}
var _default = exports.default = prepareCssVars; |