import { Theme } from '@mui/material/styles'; import {createTheme, PaletteColorOptions} from "@mui/material"; import { deepmerge } from '@mui/utils'; //import { createTheme } from "./types"; declare module '@mui/material/Button' { interface ButtonPropsVariantOverrides { enter: true; } } declare module '@mui/material/Paper' { interface PaperPropsVariantOverrides { bar: true; } } declare module '@mui/material/styles' { interface Theme { palette: { primary: { main: string }, secondary: { main: string; }, menu: { main: string; }, content: { main: string; }, grayLight: { main: string; }, grayDark: { main: string; }, grayMedium: { main: string; }, grayDisabled: { main: string; }, golden: { main: string; }, goldenDark: { main: string; }, goldenMedium: { main: string; }, caption: { main: string; } } } interface PaletteOptions { menu?: PaletteColorOptions; content?: PaletteColorOptions; grayLight?: PaletteColorOptions; grayDark?: PaletteColorOptions; grayMedium?: PaletteColorOptions; grayDisabled?: PaletteColorOptions; golden?: PaletteColorOptions; goldenDark?: PaletteColorOptions; goldenMedium?: PaletteColorOptions; hover?: PaletteColorOptions; } // allow configuration using `createTheme` interface TypographyVariants { body1: React.CSSProperties; subtitle1: React.CSSProperties; subtitle2: React.CSSProperties; caption: React.CSSProperties; h5: React.CSSProperties; h6: React.CSSProperties; button: React.CSSProperties; } } const fontFamily: string = "GilroyRegular"; const fontWeight: string = "600"; const options1 = { palette: { primary: { main: "#111217" }, secondary: { main: "#e6e8ec" }, menu: { main: "#2f3339" }, content: { main: "#26272c" }, hover: { main: "#191a1e" }, grayLight: { main: "#707070" }, grayDark: { main: "#45494c" }, grayMedium: { main: "#424242" }, grayDisabled: { main: "#c0c1c3" }, golden: { main: "#eaba5b" }, goldenDark: { main: "#fe9903" }, goldenMedium: { main: "#2a2b1d" } }, } const options2 = { typography: { body1: { fontFamily: fontFamily }, subtitle1: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 25 }, subtitle2: { fontFamily: fontFamily, fontSize: 25, textAlign: "center" }, caption: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 21 }, h5: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 35 }, h6: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 18 }, button: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 22 }, h4: { fontFamily: fontFamily, fontWeight: fontWeight, fontSize: 16 } }, components: { MuiButton: { styleOverrides: { root: { color: options1.palette.secondary.main, backgroundColor: options1.palette.menu.main, padding: "12px", fontSize: "13px", "&:hover": { backgroundColor: options1.palette.hover.main, } } }, variants: [ { props: { variant: 'enter' }, style: { color: options1.palette.secondary.main, backgroundColor: options1.palette.content.main, padding: '12px 48px', "&:hover": { backgroundColor: options1.palette.hover.main, } }, }, ], }, MuiPaper: { variants: [ { props: { variant: "bar" }, style: { backgroundColor: options1.palette.grayMedium.main, padding: "15px", width: "100%" } } ] } }, }; const theme = createTheme(deepmerge(options1, options2)); export default theme;