import { Theme } from '@mui/material/styles'; import { createTheme, PaletteColorOptions, ThemeOptions } 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; }, hover: { 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 paletteColor = { 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 theme: ThemeOptions = { 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: paletteColor.palette.secondary.main, backgroundColor: paletteColor.palette.menu.main, padding: "12px", fontSize: "13px", "&:hover": { backgroundColor: paletteColor.palette.hover.main, } } }, variants: [ { props: { variant: 'enter' }, style: { color: paletteColor.palette.secondary.main, backgroundColor: paletteColor.palette.content.main, padding: '12px 48px', "&:hover": { backgroundColor: paletteColor.palette.hover.main, } }, }, ], }, MuiPaper: { variants: [ { props: { variant: "bar" }, style: { backgroundColor: paletteColor.palette.grayMedium.main, padding: "15px", width: "100%" } } ] }, MuiButtonBase: { styleOverrides: { root: { fontFamily, fontSize: "16px", } }, }, }, }; export default createTheme(deepmerge(paletteColor, theme));