36 lines
911 B
JavaScript
36 lines
911 B
JavaScript
|
import "@mui/lab/themeAugmentation";
|
||
|
import { createTheme as createMuiTheme } from "@mui/material/styles";
|
||
|
import variants from "./variants";
|
||
|
import typography from "./typography";
|
||
|
import breakpoints from "./breakpoints";
|
||
|
import components from "./components";
|
||
|
import shadows from "./shadows";
|
||
|
|
||
|
const createTheme = (name) => {
|
||
|
let themeConfig = variants.find((variant) => variant.name === name);
|
||
|
|
||
|
if (!themeConfig) {
|
||
|
console.warn(new Error(`The theme ${name} is not valid`));
|
||
|
themeConfig = variants[0];
|
||
|
}
|
||
|
|
||
|
return createMuiTheme(
|
||
|
{
|
||
|
spacing: 4,
|
||
|
breakpoints: breakpoints,
|
||
|
components: components,
|
||
|
typography: typography,
|
||
|
shadows: shadows,
|
||
|
palette: themeConfig.palette,
|
||
|
},
|
||
|
{
|
||
|
name: themeConfig.name,
|
||
|
header: themeConfig.header,
|
||
|
footer: themeConfig.footer,
|
||
|
sidebar: themeConfig.sidebar,
|
||
|
}
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export default createTheme;
|