{"version":3,"file":"shared-lib.Py5RcxBo.mjs","names":["useState","useRef","useCallback","useLayoutEffect","useEffect","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","getProps","React.forwardRef","Sun","Moon","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/2guRGhypJznkYcCYPCIe/4Sy2WNQfdpXVa96E5lxe/Mask_Theme_Toggle.js","https:/framerusercontent.com/modules/TM3jYvzHznZeXDkd40PU/3MLl39y9zQ2KANxUxFFF/Q3uK_jYjo.js","https:/framerusercontent.com/modules/XjaQPMlGjOErBcLbXGZ7/1TuLr0pKi0FWGlyKLgam/AfVKYR46L.js","https:/framerusercontent.com/modules/87Y918DPvXPHLA6rfBu4/Tv4ZZ43BdkJ2hLA1nlH4/bKnNfhlTo.js","https:/framerusercontent.com/modules/olPKjCnSG5AOlDpQ1LCX/yfsCJYc8aAjbOtVNzWNr/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useCallback,useLayoutEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{flushSync}from\"react-dom\";let sessionPreference=null;const useDOMLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:useEffect;function readPreference(fallback){try{const stored=localStorage.getItem(\"theme-preference\");if(stored===\"auto\"||stored===\"light\"||stored===\"dark\")return stored;}catch{// Keep manual choices for this session when storage is unavailable.\n}return sessionPreference??fallback;}// Pre-render theme detection and application (prevents flash)\nif(typeof window!==\"undefined\"&&typeof document!==\"undefined\"&&RenderTarget.current()===RenderTarget.preview){const getStoredTheme=()=>{try{const stored=localStorage.getItem(\"theme-preference\");return stored&&[\"auto\",\"light\",\"dark\"].includes(stored)?stored:\"auto\";}catch{return\"auto\";}};const determineInitialTheme=preference=>{if(preference===\"auto\"){const prefersDark=window.matchMedia(\"(prefers-color-scheme: dark)\");return prefersDark.matches?\"dark\":\"light\";}return preference;};const applyInitialTheme=theme=>{const documentRoot=document.documentElement;const documentBody=document.body;// Apply theme immediately to prevent flash\ndocumentRoot.setAttribute(\"data-theme-mode\",theme);documentBody?.setAttribute(\"data-theme-mode\",theme);documentRoot.setAttribute(\"data-framer-theme\",theme);documentBody?.setAttribute(\"data-framer-theme\",theme);// Add a temporary style to ensure immediate styling\nconst tempStyle=document.getElementById(\"temp-theme-prevention\")??document.createElement(\"style\");tempStyle.id=\"temp-theme-prevention\";tempStyle.textContent=`\n            html[data-theme-mode=\"dark\"],\n            html[data-framer-theme=\"dark\"], \n            body[data-theme-mode=\"dark\"],\n            body[data-framer-theme=\"dark\"] { \n                color-scheme: dark; \n            }\n            html[data-theme-mode=\"light\"],\n            html[data-framer-theme=\"light\"], \n            body[data-theme-mode=\"light\"],\n            body[data-framer-theme=\"light\"] { \n                color-scheme: light;\n            }\n        `;document.head.insertBefore(tempStyle,document.head.firstChild);};// Apply theme immediately when script loads (before React)\nconst storedTheme=getStoredTheme();const initialTheme=determineInitialTheme(storedTheme);applyInitialTheme(initialTheme);}/**\n * 🌓 MaskThemeToggle Component\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function MaskThemeToggle(props){const{lightVariant,darkVariant,initialTheme=\"auto\",style,enableHover=false,enableKeyboardShortcut=false,customShortcutKey=\"ctrl+s\",enableSound=false,customSoundUrl=\"https://framerusercontent.com/assets/kjE5ZkSkczjtJJkdDhP4kiyPyo.wav\",soundVolume=.3,animationType=\"circle\",animationOrigin=\"button\",customOriginFull=\"center\",customOriginHorizontal=\"center\",customOriginVertical=\"center\",animationDuration=700}=props;// Merge the two custom origin values into one\nconst customOrigin=animationType===\"horizontal\"?customOriginHorizontal:animationType===\"vertical\"?customOriginVertical:customOriginFull;// Framer keeps Canvas and exported assets static; preview/live remain interactive.\nconst isStaticRenderer=useIsStaticRenderer();// Initialize theme state\nconst[activeTheme,setActiveTheme]=useState(null);const[hasInitialized,setHasInitialized]=useState(false);const[hasHoverTriggered,setHasHoverTriggered]=useState(false);const preferenceRef=useRef(initialTheme);const activeThemeRef=useRef(null);const mountedRef=useRef(false);// Audio ref for sound feedback\nconst audioRef=useRef(null);// Each instance owns only the transition it starts.\nconst themeTransitionRef=useRef(null);useDOMLayoutEffect(()=>{mountedRef.current=true;return()=>{mountedRef.current=false;themeTransitionRef.current?.skipTransition();};},[]);// Button ref for animation positioning\nconst buttonRef=useRef(null);// Simplified keyboard shortcut parsing - auto-detects ctrl/cmd\nconst parseShortcut=useCallback(shortcut=>{const keys=shortcut.toLowerCase().split(\"+\").map(key=>key.trim());const result={useCtrlCmd:false,alt:false,shift:false,key:\"\"};keys.forEach(key=>{switch(key){case\"ctrl\":case\"control\":case\"cmd\":case\"command\":result.useCtrlCmd=true;break;case\"alt\":result.alt=true;break;case\"shift\":result.shift=true;break;default:result.key=key;}});return result;},[]);// Utility to verify content slot availability\nconst hasValidContent=content=>{return content!==null&&content!==undefined&&!(Array.isArray(content)&&content.length===0);};// Calculate origin position based on custom origin or button position\nconst calculateOriginPosition=useCallback(()=>{if(animationOrigin===\"custom\"){const width=window.innerWidth;const height=window.innerHeight;switch(customOrigin){case\"top\":return{x:width/2,y:0};case\"bottom\":return{x:width/2,y:height};case\"left\":return{x:0,y:height/2};case\"right\":return{x:width,y:height/2};case\"top-left\":return{x:0,y:0};case\"top-right\":return{x:width,y:0};case\"bottom-left\":return{x:0,y:height};case\"bottom-right\":return{x:width,y:height};case\"center\":return{x:width/2,y:height/2};default:return{x:width/2,y:height/2};}}else{// Use button position\nif(buttonRef.current){const{top,left,width,height}=buttonRef.current.getBoundingClientRect();return{x:left+width/2,y:top+height/2};}return{x:window.innerWidth/2,y:window.innerHeight/2};}},[animationOrigin,customOrigin]);// Initialize audio for sound feedback with proper cleanup\nuseEffect(()=>{if(enableSound&&!isStaticRenderer&&typeof window!==\"undefined\"){try{const audio=new Audio(customSoundUrl);audio.preload=\"auto\";// Clamp volume between 0 and 1\naudio.volume=Math.max(0,Math.min(1,soundVolume));audioRef.current=audio;// Handle loading errors\naudio.addEventListener(\"error\",()=>{console.warn(\"Failed to load theme sound:\",customSoundUrl);});}catch(error){console.warn(\"Failed to initialize theme sound:\",error);}}return()=>{// Proper cleanup: pause and remove audio\nif(audioRef.current){try{audioRef.current.pause();audioRef.current.src=\"\";audioRef.current.load();}catch(error){console.warn(\"Error during audio cleanup:\",error);}audioRef.current=null;}};},[enableSound,customSoundUrl,soundVolume,isStaticRenderer]);// Update audio volume when it changes\nuseEffect(()=>{if(audioRef.current&&enableSound){audioRef.current.volume=Math.max(0,Math.min(1,soundVolume));}},[soundVolume,enableSound]);// Play sound feedback\nconst playSound=useCallback(()=>{if(enableSound&&audioRef.current&&!isStaticRenderer){try{// Reset audio to start for rapid consecutive plays\naudioRef.current.currentTime=0;const playPromise=audioRef.current.play();// Handle play promise rejection (e.g., user hasn't interacted yet)\nif(playPromise!==undefined){playPromise.catch(error=>{// Only log if it's not an AbortError (user navigating away)\nif(error.name!==\"AbortError\"){console.warn(\"Failed to play theme sound:\",error);}});}}catch(error){console.warn(\"Error playing theme sound:\",error);}}},[enableSound,isStaticRenderer]);// Primary theme application logic with various animation styles\nconst applyThemeMode=useCallback(async(mode,playAudio=true,savePreference=true)=>{if(typeof window===\"undefined\"||!document.body)return;if(isStaticRenderer){activeThemeRef.current=mode;setActiveTheme(mode);return;}const documentRoot=document.documentElement;const documentBody=document.body;// A route transition can cancel this transition; never restart it on mount.\nif(documentRoot.hasAttribute(\"data-mask-theme-transition\"))return;const commitTheme=()=>{documentRoot.setAttribute(\"data-theme-mode\",mode);documentBody.setAttribute(\"data-theme-mode\",mode);documentRoot.setAttribute(\"data-framer-theme\",mode);documentBody.setAttribute(\"data-framer-theme\",mode);documentRoot.classList.toggle(\"dark\",mode===\"dark\");documentBody.classList.toggle(\"dark\",mode===\"dark\");activeThemeRef.current=mode;if(mountedRef.current)setActiveTheme(mode);if(savePreference){preferenceRef.current=mode;sessionPreference=mode;try{localStorage.setItem(\"theme-preference\",mode);}catch(error){console.warn(\"Failed to save theme preference:\",error);}}// Synchronize every instance inside the same snapshot update.\nwindow.dispatchEvent(new CustomEvent(\"theme-mode-changed\",{detail:{mode,preference:preferenceRef.current,timestamp:Date.now()}}));};// Play while a user gesture is still active, before awaiting animation.\nif(playAudio)playSound();// Check if View Transitions API is supported and animation is enabled\nconst supportsViewTransitions=typeof document.startViewTransition===\"function\";const shouldAnimate=savePreference&&animationType!==\"none\"&&!isStaticRenderer&&supportsViewTransitions&&!window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(shouldAnimate){let transition=null;try{// Get origin position\nconst{x:centerX,y:centerY}=calculateOriginPosition();// Calculate animation parameters based on animation type\nlet clipPathStart;let clipPathEnd;switch(animationType){case\"circle\":{// Circle expands from origin\nconst maxRadius=Math.hypot(Math.max(centerX,window.innerWidth-centerX),Math.max(centerY,window.innerHeight-centerY));clipPathStart=`circle(0px at ${centerX}px ${centerY}px)`;clipPathEnd=`circle(${maxRadius}px at ${centerX}px ${centerY}px)`;break;}case\"horizontal\":{// Horizontal wipe from origin position\nconst leftPercent=centerX/window.innerWidth*100;const rightPercent=100-leftPercent;clipPathStart=`inset(0 ${rightPercent}% 0 ${leftPercent}%)`;clipPathEnd=`inset(0 0% 0 0%)`;break;}case\"vertical\":{// Vertical wipe from origin position\nconst topPercent=centerY/window.innerHeight*100;const bottomPercent=100-topPercent;clipPathStart=`inset(${topPercent}% 0 ${bottomPercent}% 0)`;clipPathEnd=`inset(0% 0 0% 0)`;break;}case\"rectangle\":{// Rectangle wipe - expands from actual button position\n// Convert button pixel position to percentage\nconst xPercent=centerX/window.innerWidth*100;const yPercent=centerY/window.innerHeight*100;// Start from button position as a single point\nclipPathStart=`polygon(${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%)`;// Expand to full screen\nclipPathEnd=`polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)`;break;}case\"diamond\":{const xPercent=centerX/window.innerWidth*100;const yPercent=centerY/window.innerHeight*100;clipPathStart=`polygon(${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%)`;clipPathEnd=`polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%)`;break;}case\"hexagon\":{// Convert button position to percentages\nconst xPercent=centerX/window.innerWidth*100;const yPercent=centerY/window.innerHeight*100;// Start from button position\nclipPathStart=`polygon(${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%)`;// Expand to oversized hexagon\nclipPathEnd=`polygon(15% -35%, 85% -35%, 135% 50%, 85% 135%, 15% 135%, -35% 50%)`;break;}case\"octagon\":{const xPercent=centerX/window.innerWidth*100;const yPercent=centerY/window.innerHeight*100;clipPathStart=`polygon(${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%, ${xPercent}% ${yPercent}%)`;clipPathEnd=`polygon(20% -35%, 80% -35%, 135% 20%, 135% 80%, 80% 135%, 20% 135%, -35% 80%, -35% 20%)`;break;}default:clipPathStart=`circle(0px at 50% 50%)`;clipPathEnd=`circle(100% at 50% 50%)`;}// Scope animation overrides to this theme transition only.\ndocumentRoot.setAttribute(\"data-mask-theme-transition\",\"\");transition=document.startViewTransition(()=>{flushSync(commitTheme);});themeTransitionRef.current=transition;void transition.finished.catch(()=>{});// Wait for transition to be ready, then apply animation\nawait transition.ready;// Apply the clip-path animation with custom duration\nconst maskAnimation=documentRoot.animate({clipPath:[clipPathStart,clipPathEnd]},{duration:animationDuration,easing:\"cubic-bezier(0.4, 0.0, 0.2, 1)\",pseudoElement:\"::view-transition-new(root)\"});// A skipped transition can finish before its WAAPI animation does.\nawait Promise.race([maskAnimation.finished,transition.finished]);maskAnimation.cancel();await transition.finished;}catch(error){// Navigation may interrupt the mask. The theme update still completes.\ntransition?.skipTransition();await transition?.updateCallbackDone?.catch(()=>{});if(!transition)commitTheme();}finally{if(!transition||themeTransitionRef.current===transition){themeTransitionRef.current=null;documentRoot.removeAttribute(\"data-mask-theme-transition\");}}}else{commitTheme();}},[isStaticRenderer,playSound,animationType,calculateOriginPosition,animationDuration]);// Convert theme preference to actual theme value\nconst determineTheme=useCallback(preference=>{if(preference===\"auto\"){// In canvas mode, default to light theme for auto\nif(isStaticRenderer||typeof window===\"undefined\")return\"light\";const prefersDark=window.matchMedia(\"(prefers-color-scheme: dark)\");return prefersDark.matches?\"dark\":\"light\";}return preference;},[isStaticRenderer]);// Initialize without animation or persisting a resolved Auto preference.\nuseDOMLayoutEffect(()=>{if(hasInitialized||typeof window===\"undefined\"||!document.body)return;const preference=isStaticRenderer?initialTheme:readPreference(initialTheme);preferenceRef.current=preference;if(!isStaticRenderer)sessionPreference=preference;const mode=determineTheme(preference);activeThemeRef.current=mode;setActiveTheme(mode);setHasInitialized(true);if(isStaticRenderer)return;document.documentElement.setAttribute(\"data-theme-mode\",mode);document.body.setAttribute(\"data-theme-mode\",mode);document.documentElement.setAttribute(\"data-framer-theme\",mode);document.body.setAttribute(\"data-framer-theme\",mode);document.documentElement.classList.toggle(\"dark\",mode===\"dark\");document.body.classList.toggle(\"dark\",mode===\"dark\");document.getElementById(\"temp-theme-prevention\")?.remove();},[initialTheme,determineTheme,isStaticRenderer,hasInitialized]);// Theme events update state only; they never start another transition.\nuseDOMLayoutEffect(()=>{if(isStaticRenderer||typeof window===\"undefined\")return;const handleTheme=event=>{const detail=event.detail;if(detail?.mode!==\"light\"&&detail?.mode!==\"dark\")return;if(detail.preference===\"auto\"||detail.preference===\"light\"||detail.preference===\"dark\"){preferenceRef.current=detail.preference;}activeThemeRef.current=detail.mode;setActiveTheme(detail.mode);};window.addEventListener(\"theme-mode-changed\",handleTheme);return()=>window.removeEventListener(\"theme-mode-changed\",handleTheme);},[isStaticRenderer]);// Handle initialTheme changes in static rendering\nuseEffect(()=>{if(!isStaticRenderer||!hasInitialized)return;const resolvedTheme=determineTheme(initialTheme);if(activeTheme!==resolvedTheme){setActiveTheme(resolvedTheme);applyThemeMode(resolvedTheme,false)// No sound in canvas\n;}},[initialTheme,isStaticRenderer,hasInitialized,activeTheme,determineTheme,applyThemeMode]);// Run the side effect once in the event handler, never in a state updater.\nconst toggleThemeMode=useCallback(()=>{if(!hasValidContent(lightVariant)||!hasValidContent(darkVariant))return;const mode=activeThemeRef.current;if(!mode||typeof document===\"undefined\"||document.documentElement.hasAttribute(\"data-mask-theme-transition\"))return;void applyThemeMode(mode===\"light\"?\"dark\":\"light\",true);},[lightVariant,darkVariant,applyThemeMode]);// Simplified keyboard shortcuts - auto-detects Mac vs Windows/Linux\nuseEffect(()=>{if(!enableKeyboardShortcut||isStaticRenderer||!hasInitialized||!customShortcutKey)return;const shortcut=parseShortcut(customShortcutKey);const handleKeyDown=event=>{if(event.defaultPrevented||event.repeat)return;const target=event.target;if(target instanceof HTMLElement&&(target.isContentEditable||target.closest(\"input, textarea, select\")))return;// Auto-detect platform: metaKey for Mac (Cmd), ctrlKey for Windows/Linux (Ctrl)\nconst ctrlCmdPressed=event.metaKey||event.ctrlKey;const altPressed=shortcut.alt?event.altKey:!event.altKey;const shiftPressed=shortcut.shift?event.shiftKey:!event.shiftKey;const keyPressed=event.key.toLowerCase()===shortcut.key;const shouldToggle=(shortcut.useCtrlCmd?ctrlCmdPressed:!ctrlCmdPressed)&&altPressed&&shiftPressed&&keyPressed;if(shouldToggle){event.preventDefault();toggleThemeMode();}};document.addEventListener(\"keydown\",handleKeyDown);return()=>document.removeEventListener(\"keydown\",handleKeyDown);},[enableKeyboardShortcut,customShortcutKey,isStaticRenderer,hasInitialized,parseShortcut,toggleThemeMode]);// Auto follows system changes without storing \"light\" or \"dark\" as a manual choice.\nuseEffect(()=>{if(typeof window===\"undefined\"||isStaticRenderer)return;const query=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleSystemChange=()=>{if(preferenceRef.current===\"auto\"){void applyThemeMode(query.matches?\"dark\":\"light\",false,false);}};const handleStorage=event=>{if(event.key!==\"theme-preference\"&&event.key!==null)return;const preference=readPreference(initialTheme);// A removed preference returns to this component's default.\npreferenceRef.current=event.newValue===null?initialTheme:preference;sessionPreference=preferenceRef.current;void applyThemeMode(determineTheme(preferenceRef.current),false,false);};query.addEventListener(\"change\",handleSystemChange);window.addEventListener(\"storage\",handleStorage);return()=>{query.removeEventListener(\"change\",handleSystemChange);window.removeEventListener(\"storage\",handleStorage);};},[applyThemeMode,determineTheme,initialTheme,isStaticRenderer]);// Read tokens with the browser CSS parser, including all dark body rules.\nuseDOMLayoutEffect(()=>{if(!hasInitialized||!lightVariant||!darkVariant||typeof window===\"undefined\"||isStaticRenderer)return;const lightTokens=new Map;const darkTokens=new Map;const collect=(rules,dark=false,rootScope=false)=>{for(const rule of Array.from(rules)){if(rule instanceof CSSStyleRule){const selectors=rule.selectorText.split(\",\").map(selector=>selector.trim());for(const selector of selectors){// Preview uses explicit theme selectors; published CSS may use media queries.\nconst rootSelector=selector.match(/^(?:body|html|:root)(?:\\[data-(?:framer-theme|theme-mode)\\s*=\\s*[\"']?(dark|light)[\"']?\\]|\\.(dark|light))?$/i);if(!rootSelector&&!(rootScope&&selector===\"&\"))continue;const theme=rootSelector?.[1]||rootSelector?.[2];const isDark=theme?theme.toLowerCase()===\"dark\":dark;const tokens=isDark?darkTokens:lightTokens;for(const property of Array.from(rule.style)){if(property.startsWith(\"--token\"))tokens.set(property,rule.style.getPropertyValue(property));}const nested=rule.cssRules;if(nested)collect(nested,isDark,true);}}else if(rule instanceof CSSMediaRule){const colorQuery=/\\(prefers-color-scheme:\\s*(dark|light)\\)/i;const color=rule.conditionText.match(colorQuery);const remainingQuery=rule.conditionText.replace(colorQuery,\"(min-width: 0px)\");if(window.matchMedia(remainingQuery).matches)collect(rule.cssRules,color?color[1].toLowerCase()===\"dark\":dark,rootScope);}else if(typeof CSSSupportsRule!==\"undefined\"&&rule instanceof CSSSupportsRule){if(CSS.supports(rule.conditionText))collect(rule.cssRules,dark,rootScope);}else if(rootScope){// CSS nesting can expose declarations inside @supports as CSSNestedDeclarations.\nconst declarations=rule.style;if(declarations){const tokens=dark?darkTokens:lightTokens;for(const property of Array.from(declarations)){if(property.startsWith(\"--token\"))tokens.set(property,declarations.getPropertyValue(property));}}}}};for(const sheet of Array.from(document.styleSheets)){if(sheet.ownerNode instanceof Element&&sheet.ownerNode.hasAttribute(\"data-mask-theme-styles\"))continue;try{collect(sheet.cssRules);}catch{/* Skip inaccessible cross-origin stylesheets. */}}const serializeTokens=tokens=>Array.from(tokens,([name,value])=>`${name}: ${value};`).join(\" \");const lightModeVariables=serializeTokens(lightTokens);const darkModeStyles=serializeTokens(new Map([...lightTokens,...darkTokens]));// Inject custom theme styles\nconst themeStyleElement=document.createElement(\"style\");themeStyleElement.setAttribute(\"data-mask-theme-styles\",\"\");themeStyleElement.textContent=`\n            /* Light theme styles */\n            html[data-theme-mode=\"light\"],\n            html[data-framer-theme=\"light\"], \n            body[data-theme-mode=\"light\"],\n            body[data-framer-theme=\"light\"],\n            html.light,\n            body.light { \n                ${lightModeVariables} \n                color-scheme: light;\n            }\n            \n            /* Dark theme styles */\n            html[data-theme-mode=\"dark\"],\n            html[data-framer-theme=\"dark\"], \n            body[data-theme-mode=\"dark\"],\n            body[data-framer-theme=\"dark\"],\n            html.dark,\n            body.dark { \n                ${darkModeStyles} \n                color-scheme: dark;\n            }\n            \n            /* These overrides exist only while this component runs a theme wipe. */\n            html[data-mask-theme-transition]::view-transition-group(root) {\n                animation: none !important;\n                transform: none !important;\n            }\n            html[data-mask-theme-transition]::view-transition-old(root),\n            html[data-mask-theme-transition]::view-transition-new(root) {\n                animation: none !important;\n                mix-blend-mode: normal;\n                opacity: 1;\n                transform: none !important;\n                mask: none !important;\n            }\n            html[data-mask-theme-transition]::view-transition-old(root) {\n                z-index: 1;\n            }\n            html[data-mask-theme-transition]::view-transition-new(root) {\n                z-index: 2;\n            }\n            html[data-mask-theme-transition],\n            html[data-mask-theme-transition] body {\n                transition: none !important;\n            }\n            .theme-toggle-button {\n                isolation: isolate;\n                z-index: 9999;\n                position: relative;\n            }\n        `;document.head.appendChild(themeStyleElement);// Cleanup function\nreturn()=>{themeStyleElement.remove();};},[lightVariant,darkVariant,hasInitialized,isStaticRenderer]);// Hover handlers - only trigger once per hover session\nconst handleMouseEnter=useCallback(()=>{if(enableHover&&!isStaticRenderer&&!hasHoverTriggered){setHasHoverTriggered(true);toggleThemeMode();}},[enableHover,isStaticRenderer,hasHoverTriggered,toggleThemeMode]);const handleMouseLeave=useCallback(()=>{if(enableHover&&!isStaticRenderer){// Reset hover trigger when mouse leaves\nsetHasHoverTriggered(false);}},[enableHover,isStaticRenderer]);// Render empty state when content slots are missing\nif(!hasValidContent(lightVariant)||!hasValidContent(darkVariant)){return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:style?.width||220,height:style?.height||140,backgroundColor:\"#faf8ff\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"16px\",border:\"2px dashed #d1c4e9\",color:\"#6a1b9a\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",userSelect:\"none\",padding:\"24px\",textAlign:\"center\",gap:\"8px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"1.8rem\"},children:\"🌓\"}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:\"13px\",fontWeight:\"700\",letterSpacing:\"-0.01em\"},children:\"Toggle Variants Required\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:\"10px\",color:\"#9575cd\",lineHeight:\"1.4\"},children:\"Connect both Light and Dark variant to activate theme switching\"})]});}// Don't render content until theme is properly initialized\nif(activeTheme===null){return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",height:\"100%\",opacity:0}});}// Render active theme content\nconst ActiveContent=activeTheme===\"light\"?lightVariant:darkVariant;return /*#__PURE__*/_jsx(\"div\",{ref:buttonRef,role:\"button\",tabIndex:0,\"aria-label\":activeTheme===\"dark\"?\"Switch to light theme\":\"Switch to dark theme\",\"aria-pressed\":activeTheme===\"dark\",onKeyDown:event=>{if(event.target!==event.currentTarget||event.repeat)return;if(event.key===\"Enter\"||event.key===\" \"){event.preventDefault();toggleThemeMode();}},onClick:toggleThemeMode,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,className:\"theme-toggle-button\",style:{...style,cursor:\"pointer\",position:\"relative\",width:\"100%\",height:\"100%\",isolation:\"isolate\",zIndex:9999},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",overflow:\"visible\"},children:ActiveContent})});}MaskThemeToggle.displayName=\"Mask Theme Toggle\";// Framer Property Controls\naddPropertyControls(MaskThemeToggle,{initialTheme:{type:ControlType.Enum,title:\"Initial Theme\",description:\"Choose the default theme behavior when component loads\",options:[\"auto\",\"light\",\"dark\"],optionTitles:[\"Auto (System)\",\"Light Mode\",\"Dark Mode\"],defaultValue:\"auto\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},lightVariant:{type:ControlType.ComponentInstance,title:\"Light Mode Variant\",description:\"Connect a variant (light mode toggle) to display in light theme\"},darkVariant:{type:ControlType.ComponentInstance,title:\"Dark Mode Variant\",description:\"Connect a variant (dark mode toggle) to display in dark theme\"},// Animation Controls\nanimationType:{type:ControlType.Enum,title:\"Animation Type\",description:\"Choose animation style for theme transition\",options:[\"none\",\"circle\",\"horizontal\",\"vertical\",\"rectangle\",\"diamond\",\"hexagon\",\"octagon\"],optionTitles:[\"No Animation\",\"Circle Expand\",\"Horizontal Wipe\",\"Vertical Wipe\",\"Rectangle Wipe\",\"Diamond Wipe\",\"Hexagon Wipe\",\"Octagon Wipe\"],defaultValue:\"circle\",displaySegmentedControl:false},animationDuration:{type:ControlType.Number,title:\"Animation Duration\",description:\"Duration of animation in milliseconds (ms)\",min:200,max:2e3,step:50,defaultValue:700,displayStepper:true,hidden:props=>props.animationType===\"none\"},animationOrigin:{type:ControlType.Enum,title:\"Animation Origin\",description:\"Choose where the animation starts from: button position or custom position\",options:[\"button\",\"custom\"],optionTitles:[\"Button Position\",\"Custom Position\"],defaultValue:\"button\",hidden:props=>props.animationType===\"none\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},// For All shape except Horizontal/Vertical - shows all 9 positions\ncustomOriginFull:{type:ControlType.Enum,title:\"Custom Origin Position\",description:\"Select where the animation should start from\",options:[\"center\",\"top\",\"bottom\",\"left\",\"right\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Center\",\"Top\",\"Bottom\",\"Left\",\"Right\",\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"center\",displaySegmentedControl:false,hidden:props=>props.animationType===\"horizontal\"||props.animationType===\"vertical\"||props.animationType===\"none\"||props.animationOrigin!==\"custom\"},// For Horizontal/Vertical - shows only 5 positions\ncustomOriginHorizontal:{type:ControlType.Enum,title:\"Custom Origin Position\",description:\"Select where the animation should start from\",options:[\"center\",\"left\",\"right\"],optionTitles:[\"Center\",\"Left\",\"Right\"],defaultValue:\"center\",displaySegmentedControl:false,hidden:props=>props.animationType!==\"horizontal\"||props.animationOrigin!==\"custom\"},customOriginVertical:{type:ControlType.Enum,title:\"Custom Origin Position\",description:\"Select where the animation should start from\",options:[\"center\",\"top\",\"bottom\"],optionTitles:[\"Center\",\"Top\",\"Bottom\"],defaultValue:\"center\",displaySegmentedControl:false,hidden:props=>props.animationType!==\"vertical\"||props.animationOrigin!==\"custom\"},// Interaction Controls\nenableKeyboardShortcut:{type:ControlType.Boolean,title:\"Enable Keyboard Shortcut\",description:\"Enable keyboard shortcut to toggle theme\",defaultValue:false},customShortcutKey:{type:ControlType.String,title:\"Custom Shortcut\",description:\"Enter shortcut like 'ctrl+s'. 'ctrl' automatically becomes ⌘ on Mac and Ctrl on Windows/Linux.\\n\\nIf any combination doesn't work, the browser may reserve that shortcut.\",placeholder:\"ctrl+s\",defaultValue:\"ctrl+s\",hidden:props=>!props.enableKeyboardShortcut},// Sound Controls\nenableSound:{type:ControlType.Boolean,title:\"Enable Sound\",description:\"Play sound feedback when toggling themes\",defaultValue:false},customSoundUrl:{type:ControlType.File,allowedFileTypes:[\"mp3\",\"wav\"],title:\"Custom Sound\",description:\"Add custom sound file (mp3 or wav). (optional)\",hidden:props=>!props.enableSound},soundVolume:{type:ControlType.Number,title:\"Sound Volume\",description:\"Control the volume of the toggle sound (0 = mute, 1 = max)\",min:0,max:1,step:.05,defaultValue:.3,displayStepper:true,hidden:props=>!props.enableSound},enableHover:{type:ControlType.Boolean,title:\"Enable Hover Toggle\",description:\"Toggle theme when cursor enters\\n\\n*Version:* 3.0.0\\nMade with ❤️ by [Soyeb](https://framer.link/project)\\n\\n[→ More Components](https://framer.link/project)\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MaskThemeToggle\",\"slots\":[\"lightVariant\",\"darkVariant\"],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Mask_Theme_Toggle.map","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 4 C 0 1.791 1.791 0 4 0 C 6.209 0 8 1.791 8 4 C 8 6.209 6.209 8 4 8 C 1.791 8 0 6.209 0 4 Z\" fill=\"transparent\" height=\"8px\" id=\"HeyKAqsXu\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(8 8)\" width=\"8px\"/><path d=\"M 0 0 L 0 2\" fill=\"transparent\" height=\"2px\" id=\"EkB6G7gQx\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(12 2)\" width=\"1px\"/><path d=\"M 0 0 L 0 2\" fill=\"transparent\" height=\"2px\" id=\"XA2ZMp5hf\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(12 20)\" width=\"1px\"/><path d=\"M 0 0 L 1.41 1.41\" fill=\"transparent\" height=\"1.4100000000000001px\" id=\"OGHZjPr2C\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4.93 4.93)\" width=\"1.4100000000000001px\"/><path d=\"M 0 0 L 1.41 1.41\" fill=\"transparent\" height=\"1.4100000000000001px\" id=\"smqBk2ylC\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(17.66 17.66)\" width=\"1.4100000000000001px\"/><path d=\"M 0 0 L 2 0\" fill=\"transparent\" height=\"1px\" id=\"gdcug9c8J\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(2 12)\" width=\"2px\"/><path d=\"M 0 0 L 2 0\" fill=\"transparent\" height=\"1px\" id=\"jU05EVjWx\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(20 12)\" width=\"2px\"/><path d=\"M 1.41 0 L 0 1.41\" fill=\"transparent\" height=\"1.4100000000000001px\" id=\"s7MuiUNWZ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4.93 17.66)\" width=\"1.4100000000000001px\"/><path d=\"M 1.41 0 L 0 1.41\" fill=\"transparent\" height=\"1.4100000000000001px\" id=\"HVrJrmRDB\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(17.66 4.93)\" width=\"1.4100000000000001px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"1466876926\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ALWa2\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-ALWa2 { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Sun\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-ALWa2\");Icon.displayName=\"Sun\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Sun\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 17.987 9.473 C 17.726 14.31 13.682 18.073 8.839 17.986 C 3.995 17.899 0.089 13.994 0.001 9.15 C -0.086 4.306 3.676 0.262 8.514 0.001 C 8.919 -0.021 9.131 0.461 8.916 0.804 C 7.435 3.173 7.786 6.251 9.761 8.226 C 11.737 10.202 14.815 10.553 17.184 9.072 C 17.528 8.857 18.009 9.068 17.987 9.473\" fill=\"transparent\" height=\"17.987618062653137px\" id=\"g2TOONQaY\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(2.998 3.013)\" width=\"17.987671078370404px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"2905251624\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-XaHHS\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-XaHHS { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Moon\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-XaHHS\");Icon.displayName=\"Moon\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Moon\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (94ad37d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFonts,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Sun from\"https://framerusercontent.com/modules/TM3jYvzHznZeXDkd40PU/3MLl39y9zQ2KANxUxFFF/Q3uK_jYjo.js\";import Moon from\"https://framerusercontent.com/modules/XjaQPMlGjOErBcLbXGZ7/1TuLr0pKi0FWGlyKLgam/AfVKYR46L.js\";const SunFonts=getFonts(Sun);const MoonFonts=getFonts(Moon);const cycleOrder=[\"U_pVtvxg0\",\"N97kMnD4X\"];const serializationHash=\"framer-NariR\";const variantClassNames={N97kMnD4X:\"framer-v-jvo8oq\",U_pVtvxg0:\"framer-v-e4fxt9\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.5,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"icon day toggle\":\"U_pVtvxg0\",\"icon night toggle\":\"N97kMnD4X\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"U_pVtvxg0\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"U_pVtvxg0\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-e4fxt9\",className,classNames),\"data-framer-name\":\"icon day toggle\",layoutDependency:layoutDependency,layoutId:\"U_pVtvxg0\",ref:refBinding,style:{backgroundColor:\"var(--token-06ec9d8f-76f8-4ac8-aeed-67d2c457f37d, rgb(255, 255, 255))\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,boxShadow:\"1px 1px 3px 0px rgba(0, 0, 0, 0.25)\",...style},variants:{N97kMnD4X:{boxShadow:\"1px 1px 3px 0px rgba(255, 255, 255, 0.7)\"}},...addPropertyOverrides({N97kMnD4X:{\"data-framer-name\":\"icon night toggle\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Sun,{animated:true,className:\"framer-1y4nk3w\",layoutDependency:layoutDependency,layoutId:\"oTkMKOben\",style:{\"--1m973uw\":\"rgb(0, 0, 0)\",\"--js9iwy\":2,opacity:1,rotate:0},variants:{N97kMnD4X:{opacity:0,rotate:-45}}}),/*#__PURE__*/_jsx(Moon,{animated:true,className:\"framer-1rjw8i4\",\"data-framer-name\":\"Moon\",layoutDependency:layoutDependency,layoutId:\"eqz0ls1eO\",style:{\"--1m973uw\":\"rgb(0, 0, 0)\",\"--js9iwy\":2,opacity:0,rotate:-45},transformTemplate:transformTemplate1,variants:{N97kMnD4X:{opacity:1,rotate:0}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-NariR.framer-11o8vtw, .framer-NariR .framer-11o8vtw { display: block; }\",\".framer-NariR.framer-e4fxt9 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 6px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-NariR .framer-1y4nk3w { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 35px); position: relative; width: 35px; }\",\".framer-NariR .framer-1rjw8i4 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 33px); left: 51%; position: absolute; top: 49%; width: 33px; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 47\n * @framerIntrinsicWidth 47\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"N97kMnD4X\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerbKnNfhlTo=withCSS(Component,css,\"framer-NariR\");export default FramerbKnNfhlTo;FramerbKnNfhlTo.displayName=\"icon toggler\";FramerbKnNfhlTo.defaultProps={height:47,width:47};addPropertyControls(FramerbKnNfhlTo,{variant:{options:[\"U_pVtvxg0\",\"N97kMnD4X\"],optionTitles:[\"icon day toggle\",\"icon night toggle\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerbKnNfhlTo,[{explicitInter:true,fonts:[]},...SunFonts,...MoonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerbKnNfhlTo\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"N97kMnD4X\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"47\",\"framerIntrinsicWidth\":\"47\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bKnNfhlTo.map","// Generated by Framer (4c8a172)\nexport default function metadata(params,activeLocale){return{description:\"Mask Theme Toggle - Made with Framer\",robots:\"max-image-preview:large\",title:\"Mask Theme Toggle - Framer Component\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}