Theme/Style Configuration
Defines core of theme. How theme is being set using Material-UI.
Theme configuration
import {createTheme} from '@material-ui/core/styles';
import value from '../assets/scss/_themes-vars.module.scss'; // central place for all colors
import {componentStyleOverrides} from './compStyleOverride';
import {themePalatte} from './palatte';
import {themeTypography} from './typography';
export function theme(customization) {
let navObject = {
heading: '',
paper: '',
backgroundDefault: '',
background: '',
textDarkPrimary: '',
textDarkSecondary: '',
textDark: '',
menuSelected: '',
menuSelectedBack: '',
divider: '',
customization: customization
};
switch (customization.navType) {
case 'dark':
navObject.paper = value.darkLevel2;
navObject.backgroundDefault = value.paperDark;
navObject.background = value.backgroundDark;
navObject.textDarkPrimary = value.textDarkPrimary;
navObject.textDarkSecondary = value.textDarkSecondary;
navObject.textDark = value.textDarkPrimary;
navObject.menuSelected = value.blue500;
navObject.menuSelectedBack = value.darkLevel1;
navObject.divider = value.textDarkPrimary;
navObject.heading = value.textDarkTitle;
break;
case 'light':
default:
navObject.paper = value.paper;
navObject.backgroundDefault = value.paper;
navObject.background = value.blue50;
navObject.textDarkPrimary = value.grey700;
navObject.textDarkSecondary = value.grey500;
navObject.textDark = value.grey900;
navObject.menuSelected = value.deepPurple600;
navObject.menuSelectedBack = value.blue50;
navObject.divider = value.grey200;
navObject.heading = value.grey900;
break;
}
return createTheme({
direction: customization.rtlLayout ? 'rtl' : 'ltr', // theme direction
palette: themePalatte(navObject), // color palatte
mixins: {
toolbar: {
minHeight: '48px',
padding: '16px',
'@media (min-width: 600px)': {
minHeight: '48px'
}
}
},
typography: themeTypography(navObject), // typography
components: componentStyleOverrides(navObject) // overrided component style
});
}
export default theme;
How to customize it?
Customize Theme Colors
Customize Theme Typography
Customize MUI Component style
Last updated