You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
"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 _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
var _utils = require("@mui/utils");
|
|
var _cssVarsParser = _interopRequireDefault(require("./cssVarsParser"));
|
|
const _excluded = ["colorSchemes", "components"],
|
|
_excluded2 = ["light"];
|
|
function prepareCssVars(theme, parserConfig) {
|
|
// @ts-ignore - ignore components do not exist
|
|
const {
|
|
colorSchemes = {}
|
|
} = 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 {
|
|
light
|
|
} = colorSchemes,
|
|
otherColorSchemes = (0, _objectWithoutPropertiesLoose2.default)(colorSchemes, _excluded2);
|
|
Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {
|
|
const {
|
|
vars,
|
|
css,
|
|
varsWithDefaults
|
|
} = (0, _cssVarsParser.default)(scheme, parserConfig);
|
|
themeVars = (0, _utils.deepmerge)(themeVars, varsWithDefaults);
|
|
colorSchemesMap[key] = {
|
|
css,
|
|
vars
|
|
};
|
|
});
|
|
if (light) {
|
|
// light color scheme vars should be merged last to set as default
|
|
const {
|
|
css,
|
|
vars,
|
|
varsWithDefaults
|
|
} = (0, _cssVarsParser.default)(light, parserConfig);
|
|
themeVars = (0, _utils.deepmerge)(themeVars, varsWithDefaults);
|
|
colorSchemesMap.light = {
|
|
css,
|
|
vars
|
|
};
|
|
}
|
|
const generateCssVars = colorScheme => {
|
|
if (!colorScheme) {
|
|
return {
|
|
css: (0, _extends2.default)({}, rootCss),
|
|
vars: rootVars
|
|
};
|
|
}
|
|
return {
|
|
css: (0, _extends2.default)({}, colorSchemesMap[colorScheme].css),
|
|
vars: colorSchemesMap[colorScheme].vars
|
|
};
|
|
};
|
|
return {
|
|
vars: themeVars,
|
|
generateCssVars
|
|
};
|
|
}
|
|
var _default = exports.default = prepareCssVars; |