Use the ColorModeProvider to use color mode in your application. The color mode value can be one of dark or light. By default, the color mode is light if the value is not explicitly specified.
importReactfrom'react';
import{
ThemeProvider,
ColorModeProvider,
ColorStyleProvider,
}from'@trendmicro/react-styled-ui';
importAppfrom'./App';
const initialColorMode ='dark';
functionExample({ children }){
return(
<ThemeProvider>
<ColorModeProvidervalue={initialColorMode}>
<ColorStyleProvider>
<App/>
</ColorStyleProvider>
</ColorModeProvider>
</ThemeProvider>
);
}
useColorMode Hook
To handle color mode manually in your application, use the useColorMode Hook to get current color mode or change the color mode.
const[colorMode, setColorMode]=useColorMode();// One of: 'dark', 'light'
consttoggleColorMode=()=>{
const nextColorMode ={
'dark':'light',
'light':'dark',
}[colorMode];
setColorMode(nextColorMode);
};
return(
<>
<Global
styles={css`
:root{
color-scheme:${colorMode};
}
`}
/>
<ButtononClick={toggleColorMode}>
Toggle Color Mode
</Button>
</>
);
};
Color schemes
To opt the entire page into the user's color scheme preferences declare color-scheme on the :root element.
<Global
styles={css`
:root{
color-scheme: dark;
}
`}
/>
DarkMode / LightMode
To force a specific color mode, wrap your component in LightMode or DarkMode, it will override the global color mode and set the color scheme to dark or light respectively.