braid-design-system
Version:
Themeable design system for the SEEK Group
18 lines (17 loc) • 705 B
JavaScript
import { darkMode } from "../lib/css/atoms/sprinkles.css.mjs";
const flag = "_bdsdm";
const colorModeQueryParamCheck = [
"<script>",
`((l,w)=>{try{r=/[?&]${flag}=(\\d)/;[,s]=l.search.match(r)||[];w.${flag}=s;if(s){history.replaceState(null,'',l.pathname+l.search.replace(r,'').replace(/^&/,'?')+l.hash);if(s==1||(s==2&&matchMedia('(prefers-color-scheme:dark)').matches))document.documentElement.classList.add('${darkMode}')}}catch(e){}})(location,window)`,
"<\/script>"
].join("");
const getColorModeQueryParam = () => {
if (typeof window !== "undefined" && window[flag]) {
return `${flag}=${window[flag]}`;
}
return "";
};
export {
colorModeQueryParamCheck,
getColorModeQueryParam
};