88 lines
3.1 KiB
Plaintext
88 lines
3.1 KiB
Plaintext
|
"use strict";
|
||
|
|
||
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = adaptV4Theme;
|
||
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
||
|
var _system = require("@mui/system");
|
||
|
const _excluded = ["defaultProps", "mixins", "overrides", "palette", "props", "styleOverrides"],
|
||
|
_excluded2 = ["type", "mode"];
|
||
|
function adaptV4Theme(inputTheme) {
|
||
|
if (process.env.NODE_ENV !== 'production') {
|
||
|
console.warn(['MUI: adaptV4Theme() is deprecated.', 'Follow the upgrade guide on https://mui.com/r/migration-v4#theme.'].join('\n'));
|
||
|
}
|
||
|
const {
|
||
|
defaultProps = {},
|
||
|
mixins = {},
|
||
|
overrides = {},
|
||
|
palette = {},
|
||
|
props = {},
|
||
|
styleOverrides = {}
|
||
|
} = inputTheme,
|
||
|
other = (0, _objectWithoutPropertiesLoose2.default)(inputTheme, _excluded);
|
||
|
const theme = (0, _extends2.default)({}, other, {
|
||
|
components: {}
|
||
|
});
|
||
|
|
||
|
// default props
|
||
|
Object.keys(defaultProps).forEach(component => {
|
||
|
const componentValue = theme.components[component] || {};
|
||
|
componentValue.defaultProps = defaultProps[component];
|
||
|
theme.components[component] = componentValue;
|
||
|
});
|
||
|
Object.keys(props).forEach(component => {
|
||
|
const componentValue = theme.components[component] || {};
|
||
|
componentValue.defaultProps = props[component];
|
||
|
theme.components[component] = componentValue;
|
||
|
});
|
||
|
|
||
|
// CSS overrides
|
||
|
Object.keys(styleOverrides).forEach(component => {
|
||
|
const componentValue = theme.components[component] || {};
|
||
|
componentValue.styleOverrides = styleOverrides[component];
|
||
|
theme.components[component] = componentValue;
|
||
|
});
|
||
|
Object.keys(overrides).forEach(component => {
|
||
|
const componentValue = theme.components[component] || {};
|
||
|
componentValue.styleOverrides = overrides[component];
|
||
|
theme.components[component] = componentValue;
|
||
|
});
|
||
|
|
||
|
// theme.spacing
|
||
|
theme.spacing = (0, _system.createSpacing)(inputTheme.spacing);
|
||
|
|
||
|
// theme.mixins.gutters
|
||
|
const breakpoints = (0, _system.createBreakpoints)(inputTheme.breakpoints || {});
|
||
|
const spacing = theme.spacing;
|
||
|
theme.mixins = (0, _extends2.default)({
|
||
|
gutters: (styles = {}) => {
|
||
|
return (0, _extends2.default)({
|
||
|
paddingLeft: spacing(2),
|
||
|
paddingRight: spacing(2)
|
||
|
}, styles, {
|
||
|
[breakpoints.up('sm')]: (0, _extends2.default)({
|
||
|
paddingLeft: spacing(3),
|
||
|
paddingRight: spacing(3)
|
||
|
}, styles[breakpoints.up('sm')])
|
||
|
});
|
||
|
}
|
||
|
}, mixins);
|
||
|
const {
|
||
|
type: typeInput,
|
||
|
mode: modeInput
|
||
|
} = palette,
|
||
|
paletteRest = (0, _objectWithoutPropertiesLoose2.default)(palette, _excluded2);
|
||
|
const finalMode = modeInput || typeInput || 'light';
|
||
|
theme.palette = (0, _extends2.default)({
|
||
|
// theme.palette.text.hint
|
||
|
text: {
|
||
|
hint: finalMode === 'dark' ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.38)'
|
||
|
},
|
||
|
mode: finalMode,
|
||
|
type: finalMode
|
||
|
}, paletteRest);
|
||
|
return theme;
|
||
|
}
|