{"version":3,"file":"Theme.Bso87lr1.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/t9IIeLHyL0pO1m1BxAVL/5CZmcTDqji4gr0cIMJ3b/Theme.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";const isDarkPreferred=()=>{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");return mediaQuery.matches;};export const withTheme=Component=>{return props=>{const[isDarkTheme,setIsDarkTheme]=useState(null);useEffect(()=>{// Function to handle attribute changes\nconst handleThemeChange=()=>{const currentTheme=document.body.getAttribute(\"framestack-theme\");if(currentTheme===\"deviceTheme\"){setIsDarkTheme(isDarkPreferred());}else{setIsDarkTheme(currentTheme===\"dark\");}};// Create a MutationObserver to watch for changes to the \"framestack-theme\" attribute\nconst observer=new MutationObserver(mutationsList=>{for(const mutation of mutationsList){if(mutation.type===\"attributes\"&&mutation.attributeName===\"framestack-theme\"){handleThemeChange();}}});// Observe attribute changes on the body\nobserver.observe(document.body,{attributes:true,attributeFilter:[\"framestack-theme\"]});// Clean up observer on component unmount\nreturn()=>observer.disconnect();},[]);useEffect(()=>{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const updateTheme=()=>{const currentToggleState=localStorage.getItem(\"currentToggleState\");console.log(\"currentToggleState:\",currentToggleState);console.log(\"mediaQuery.matches:\",mediaQuery.matches);setIsDarkTheme(currentToggleState===\"dark\"||currentToggleState===null&&mediaQuery.matches);};const osThemeChange=e=>{const currentToggleState=localStorage.getItem(\"currentToggleState\");console.log(\"OS Theme Change - currentToggleState:\",currentToggleState);console.log(\"OS Theme Change - e.matches:\",e.matches);if(currentToggleState===null){setIsDarkTheme(e.matches);}};updateTheme();window.addEventListener(\"themeChange\",updateTheme);mediaQuery.addEventListener(\"change\",osThemeChange);return()=>{window.removeEventListener(\"themeChange\",updateTheme);mediaQuery.removeEventListener(\"change\",osThemeChange);};},[]);console.log(\"Render - isDarkTheme:\",isDarkTheme);// if (isDarkTheme === null) {\n//     return null\n// }\nconst variant=isDarkTheme?\"Dark\":\"Light\";return /*#__PURE__*/_jsx(Component,{...props,variant:variant});};};\nexport const __FramerMetadata__ = {\"exports\":{\"withTheme\":{\"type\":\"reactHoc\",\"name\":\"withTheme\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Theme.map"],"mappings":"oOAA2C,IAAsC,CAAM,MAAsC,EAAO,WAAW,+BAA+B,CAAmB,QAAuB,EAAU,GAAmB,GAAO,CAAC,GAAK,CAAC,EAAY,GAAgBA,EAAS,KAAK,CAAC,MAAc,CAC5T,IAAM,MAAsB,CAAC,IAAM,EAAa,SAAS,KAAK,aAAa,mBAAmB,CAAkC,EAA9B,IAAe,cAA8B,GAAiB,CAAuB,IAAe,OAAO,EACvM,EAAS,IAAI,iBAAiB,GAAe,CAAC,IAAI,IAAM,KAAY,EAAkB,EAAS,OAAO,cAAc,EAAS,gBAAgB,oBAAoB,GAAmB,EAAK,CAE/L,OADA,EAAS,QAAQ,SAAS,KAAK,CAAC,WAAW,GAAK,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,KAC5E,EAAS,YAAY,EAAG,EAAE,CAAC,CAAC,MAAc,CAAC,IAAM,EAAW,EAAO,WAAW,+BAA+B,CAAO,MAAgB,CAAC,IAAM,EAAmB,aAAa,QAAQ,qBAAqB,CAAC,QAAQ,IAAI,sBAAsB,EAAmB,CAAC,QAAQ,IAAI,sBAAsB,EAAW,QAAQ,CAAC,EAAe,IAAqB,QAAQ,IAAqB,MAAM,EAAW,QAAQ,EAAS,EAAc,GAAG,CAAC,IAAM,EAAmB,aAAa,QAAQ,qBAAqB,CAAC,QAAQ,IAAI,wCAAwC,EAAmB,CAAC,QAAQ,IAAI,+BAA+B,EAAE,QAAQ,CAAI,IAAqB,MAAM,EAAe,EAAE,QAAQ,EAAyH,OAArH,GAAa,CAAC,EAAO,iBAAiB,cAAc,EAAY,CAAC,EAAW,iBAAiB,SAAS,EAAc,KAAW,CAAC,EAAO,oBAAoB,cAAc,EAAY,CAAC,EAAW,oBAAoB,SAAS,EAAc,GAAK,EAAE,CAAC,CAAC,QAAQ,IAAI,wBAAwB,EAAY,CAGt9B,IAAM,EAAQ,EAAY,OAAO,QAAQ,OAAoB,EAAK,EAAU,CAAC,GAAG,EAAc,UAAQ,CAAC"}