{"version":3,"file":"initDarkmode.js","mappings":"YACA,IA2BQA,EA3BFC,EAAkB,cAClBC,EAAiB,aAKjBC,EACJC,OAAOC,YAAcD,OAAOC,WAAW,gCAAgCC,QAInEC,EAAqB,WACzBC,SAASC,KAAKC,UAAUC,IAAIT,GAC5BM,SAASC,KAAKC,UAAUE,OAAOX,EAEjC,EAEMY,EAAsB,WAC1BL,SAASC,KAAKC,UAAUC,IAAIV,GAC5BO,SAASC,KAAKC,UAAUE,OAAOV,EACjC,GAOQF,EAlBuBc,aAAaC,QAPzB,UA+BXf,IAAkBE,EACpBK,IAEAM,IAbJV,EAAoBI,IAAuBM,G","sources":["webpack://cabanaboiler/./src/scripts/init-dark-mode.js"],"sourcesContent":["// Set the classes based on the system preference or the local storage - include this script in the beginning\r\nconst lightThemeClass = \"light-theme\";\r\nconst darkThemeClass = \"dark-theme\";\r\nconst storageKey = \"theme\";\r\n\r\n\r\n// Is the system preference dark, true or false\r\nconst isDarkSystemTheme =\r\n window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\r\n\r\nconst getSelectedTheme = () => localStorage.getItem(storageKey);\r\n\r\nconst setDarkModeClasses = () => {\r\n document.body.classList.add(darkThemeClass);\r\n document.body.classList.remove(lightThemeClass);\r\n\r\n};\r\n\r\nconst setLightModeClasses = () => {\r\n document.body.classList.add(lightThemeClass);\r\n document.body.classList.remove(darkThemeClass);\r\n};\r\n\r\nconst handleSystemThemePreferenceMount = () => {\r\n isDarkSystemTheme ? setDarkModeClasses() : setLightModeClasses();\r\n};\r\n\r\nconst handleMount = () => {\r\n const selectedTheme = getSelectedTheme();\r\n\r\n if (!selectedTheme) {\r\n return handleSystemThemePreferenceMount();\r\n\r\n } else {\r\n if (selectedTheme === darkThemeClass) {\r\n setDarkModeClasses();\r\n } else {\r\n setLightModeClasses();\r\n }\r\n }\r\n};\r\nhandleMount();\r\n"],"names":["selectedTheme","lightThemeClass","darkThemeClass","isDarkSystemTheme","window","matchMedia","matches","setDarkModeClasses","document","body","classList","add","remove","setLightModeClasses","localStorage","getItem"],"sourceRoot":""}