UNPKG

mod-arch-shared

Version:

Shared library for modular architecture micro-frontend projects

23 lines 1.07 kB
import * as React from 'react'; import { createTheme } from '@mui/material'; import { ThemeProvider as MUIThemeProvider } from '@mui/material/styles'; import { Theme } from '../utilities/const'; import '../style/MUI-theme.scss'; export const ThemeContext = React.createContext({ theme: Theme.Default, }); export const ThemeProvider = ({ theme = Theme.Default, children, }) => { const themeValue = React.useMemo(() => ({ theme }), [theme]); const createMUITheme = React.useMemo(() => createTheme({ cssVariables: true }), []); React.useEffect(() => { // Apply the theme based on the theme enum value if (theme === Theme.MUI) { document.documentElement.classList.add(Theme.MUI); } else { document.documentElement.classList.remove(Theme.MUI); } }, [theme]); return (React.createElement(ThemeContext.Provider, { value: themeValue }, theme === Theme.MUI ? (React.createElement(MUIThemeProvider, { theme: createMUITheme }, children)) : (children))); }; //# sourceMappingURL=ThemeContext.js.map