Spaces:
Sleeping
Sleeping
| ; | |
| 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; |