{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/IvaGbErwJYIb9oikAIW8/siFzJFQCHj3oGTE61v27/EnframerToggle_2.js"],
  "sourcesContent": ["/*\nPERSONAL LICENSE ALLOWS PERSONAL USE ONLY\nCOMMERCIAL LICENSE REQUIRED FOR COMMERCIAL USE\nCLIENT WORK IS CONSIDERED COMMERCIAL USE\n\nGet your license here:\nhttps://enframer.lemonsqueezy.com/checkout/buy/b4923c94-3e38-4d91-ad09-dd4fb84afd3b\n\n                                /)\n                        /\\___/\\ ((\n                        \\`@_@'/  ))\nCreated                 {_:Y:.}_//\nBy @Enframer -----------{_}^-'{_}------------------------\n*/import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState}from\"react\";import{motion}from\"framer-motion\";/**\n * @framerDisableUnlink\n */function getOSTheme(){return window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";}function setInitialState(){const osTheme=getOSTheme();const currentToggleState=localStorage.getItem(\"currentToggleState\")||(osTheme===\"dark\"?\"dark\":\"light\");localStorage.setItem(\"currentToggleState\",currentToggleState);const styleTag=document.getElementsByTagName(\"style\")[0];const newCSS=styleTag.innerHTML.replace(/prefers-color-scheme: \\w+/,`prefers-color-scheme: ${currentToggleState===\"dark\"&&osTheme===\"dark\"||currentToggleState===\"light\"&&osTheme===\"light\"?\"dark\":\"light\"}`);styleTag.innerHTML=newCSS;return currentToggleState===\"dark\";}function ToggleButton(props){const[isOn,setIsOn]=useState(setInitialState());const toggle=()=>{const newToggleState=!isOn?\"dark\":\"light\";setIsOn(!isOn);localStorage.setItem(\"currentToggleState\",newToggleState);window.dispatchEvent(new CustomEvent(\"themeChange\"));};useEffect(()=>{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");mediaQuery.addListener(e=>{const newTheme=e.matches?\"dark\":\"light\";localStorage.setItem(\"currentOsTheme\",newTheme);localStorage.setItem(\"currentToggleState\",newTheme);setIsOn(newTheme===\"dark\");const styleTag=document.getElementsByTagName(\"style\")[0];const newCSS=styleTag.innerHTML.replace(/prefers-color-scheme: \\w+/,`prefers-color-scheme: ${newTheme===\"dark\"&&newTheme===\"dark\"||newTheme===\"light\"&&newTheme===\"light\"?\"dark\":\"light\"}`);styleTag.innerHTML=newCSS;window.dispatchEvent(new CustomEvent(\"themeChange\"));});},[]);useEffect(()=>{const currentToggleState=isOn?\"dark\":\"light\";const currentOsTheme=localStorage.getItem(\"currentOsTheme\")||getOSTheme();const styleTag=document.getElementsByTagName(\"style\")[0];const newCSS=styleTag.innerHTML.replace(/prefers-color-scheme: \\w+/,`prefers-color-scheme: ${currentToggleState===\"dark\"&&currentOsTheme===\"dark\"||currentToggleState===\"light\"&&currentOsTheme===\"light\"?\"dark\":\"light\"}`);styleTag.innerHTML=newCSS;localStorage.setItem(\"currentToggleState\",currentToggleState);},[isOn]);const themeColor=isOn?{background:props.darkSwitch,switchColor:props.darkKnob}:{background:props.lightSwitch,switchColor:props.lightKnob};const variants={on:{x:20},off:{x:0}};const sunSVG=/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"80%\",height:\"80%\",fill:props.lightIcon,viewBox:\"0 0 256 256\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z\",opacity:\"0.2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M120,40V32a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-8-8A8,8,0,0,0,50.34,61.66Zm0,116.68-8,8a8,8,0,0,0,11.32,11.32l8-8a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l8-8a8,8,0,0,0-11.32-11.32l-8,8A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l8,8a8,8,0,0,0,11.32-11.32ZM40,120H32a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Zm88,88a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-8A8,8,0,0,0,128,208Zm96-88h-8a8,8,0,0,0,0,16h8a8,8,0,0,0,0-16Z\"})]});const moonSVG=/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"80%\",height:\"80%\",fill:props.darkIcon,viewBox:\"0 0 256 256\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M210.69,158.18A88,88,0,1,1,97.82,45.31,96.08,96.08,0,0,0,192,160,96.78,96.78,0,0,0,210.69,158.18Z\",opacity:\"0.2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M240,96a8,8,0,0,1-8,8H216v16a8,8,0,0,1-16,0V104H184a8,8,0,0,1,0-16h16V72a8,8,0,0,1,16,0V88h16A8,8,0,0,1,240,96ZM144,56h8v8a8,8,0,0,0,16,0V56h8a8,8,0,0,0,0-16h-8V32a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16Zm72.77,97a8,8,0,0,1,1.43,8A96,96,0,1,1,95.07,37.8a8,8,0,0,1,10.6,9.06A88.07,88.07,0,0,0,209.14,150.33,8,8,0,0,1,216.77,153Zm-19.39,14.88c-1.79.09-3.59.14-5.38.14A104.11,104.11,0,0,1,88,64c0-1.79,0-3.59.14-5.38A80,80,0,1,0,197.38,167.86Z\"})]});return /*#__PURE__*/_jsx(\"div\",{onClick:toggle,style:{cursor:\"pointer\",background:themeColor.background,borderRadius:15,position:\"relative\",width:50,height:30,padding:5},children:/*#__PURE__*/_jsx(motion.div,{initial:false,animate:isOn?\"on\":\"off\",variants:variants,style:{cursor:\"pointer\",background:themeColor.switchColor,borderRadius:\"50%\",position:\"absolute\",width:20,height:20,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:isOn?moonSVG:sunSVG})});}export default function OptimizedToggleButton(props){const[isClient,setIsClient]=useState(false);useEffect(()=>{setIsClient(true);},[]);/*\n    ------------------------------------------------------\n    IMPORTANT! READ ME BEFORE UNCOMMENTING THE CODE BELOW:\n    ------------------------------------------------------\n\n    YOU CAN UNCOMMENT THE CODE BELOW TO RESOLVE THE OPTIMIZATION WARNING,\n    THIS COMMENT TELLS THE SERVER TO PRERENDER \"NULL\" AS THE COMPONENT,\n    SINCE THIS COMPONENT USES \"WINDOW\" WHICH ISN'T AVAILABLE ON THE SERVER SIDE,\n    THIS WILL FIX THE OPTIMIZATION WARNING BUT:\n    \n    YOU WILL NOTICE A FEW MILLISECONDS DELAY (LAG),\n    SINCE IT'S A WARNING NOT AN ERROR IT'S SAFE TO INGNORE IT,\n    THE TOGGLE WILL PERFORM MUCH BETTER WITHOUT UNCOMMENTING THIS,\n    AGAIN: UNCOMMENTING THIS WILL CAUSE THE TOGGLE TO LAG!\n\n    TO UNCOMMENT REMOVE THE \"//\" CHARACTERS BEFORE \"if\", \"return\", and \"}\"\n    ONCE DONE HIT CMD + S TO SAVE\n    */// if (!isClient) {\n//     return null\n// }\nreturn /*#__PURE__*/_jsx(ToggleButton,{...props});}OptimizedToggleButton.displayName=\"Enframer Toggle\";addPropertyControls(OptimizedToggleButton,{darkSwitch:{type:ControlType.Color,defaultValue:\"#333\",description:\"Dark switch color.\"},darkKnob:{type:ControlType.Color,defaultValue:\"#111\",description:\"Dark knob color.\"},darkIcon:{type:ControlType.Color,defaultValue:\"#ddd\",description:\"Dark icon color.\"},lightSwitch:{type:ControlType.Color,defaultValue:\"#bbb\",description:\"Light switch color.\"},lightKnob:{type:ControlType.Color,defaultValue:\"#fff\",description:\"Light knob color.\"},lightIcon:{type:ControlType.Color,defaultValue:\"#000\",description:\"Light icon color.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OptimizedToggleButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EnframerToggle_2.map"],
  "mappings": "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",
  "names": ["getOSTheme", "window", "setInitialState", "osTheme", "currentToggleState", "styleTag", "newCSS", "ToggleButton", "props", "isOn", "setIsOn", "ye", "toggle", "newToggleState", "ue", "e", "newTheme", "currentOsTheme", "themeColor", "variants", "sunSVG", "u", "p", "moonSVG", "motion", "OptimizedToggleButton", "isClient", "setIsClient", "addPropertyControls", "ControlType"]
}
