{"version":3,"file":"shared-lib.CekpIBM3.mjs","names":["useState","useRef","useCallback","mask","Base","MotionSVG","SVG","svg","getProps","Icon","getProps","Sun","Moon","React.useContext","React.useMemo","React.Fragment","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/2guRGhypJznkYcCYPCIe/FQgVJpuIiyTuKDU9xG2j/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}from\"framer\";import{flushSync}from\"react-dom\";// Pre-render theme detection and application (prevents flash)\nif(typeof window!==\"undefined\"&&typeof document!==\"undefined\"){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.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;// Detect rendering environment\nconst renderContext=RenderTarget.current();const isCanvasMode=renderContext===RenderTarget.canvas;// Initialize theme state\nconst[activeTheme,setActiveTheme]=useState(null);const[hasInitialized,setHasInitialized]=useState(false);const[hasHoverTriggered,setHasHoverTriggered]=useState(false);// Audio ref for sound feedback\nconst audioRef=useRef(null);// 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&&!isCanvasMode&&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,isCanvasMode]);// Update audio volume when it changes\nuseEffect(()=>{if(audioRef.current&&enableSound){audioRef.current.volume=Math.max(0,Math.min(1,soundVolume));}},[soundVolume,enableSound]);// SSR CSS HANDLING\nuseEffect(()=>{// Extract dark mode CSS from Framer's SSR styles\nconst ssrStyleElement=document.querySelector(\"[data-framer-css-ssr-minified]\");if(ssrStyleElement){const cssText=ssrStyleElement.textContent||\"\";// Extract and re-inject dark mode styles with [data-framer-theme=\"dark\"]\nconst darkModeRegex=/@media\\s*\\(prefers-color-scheme:\\s*dark\\)\\s*{([\\s\\S]*?)}/g;let match;let darkStyles=\"\";while((match=darkModeRegex.exec(cssText))!==null){darkStyles+=match[1].replace(/body\\s*{/g,'body[data-framer-theme=\"dark\"] {');}if(darkStyles){const styleTag=document.createElement(\"style\");styleTag.innerHTML=darkStyles;document.head.appendChild(styleTag);}}},[]);// Play sound feedback\nconst playSound=useCallback(()=>{if(enableSound&&audioRef.current&&!isCanvasMode){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,isCanvasMode]);// Primary theme application logic with various animation styles\nconst applyThemeMode=useCallback(async(mode,playAudio=true)=>{if(typeof window===\"undefined\")return;const documentRoot=document.documentElement;const documentBody=document.body;// Check if View Transitions API is supported and animation is enabled\nconst supportsViewTransitions=\"startViewTransition\"in document;const shouldAnimate=animationType!==\"none\"&&!isCanvasMode&&supportsViewTransitions;if(shouldAnimate){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%)`;}// Start view transition with proper state updates\nconst transition=document.startViewTransition(()=>{flushSync(()=>{// Apply theme attributes for styling hooks to both HTML and BODY\ndocumentRoot.setAttribute(\"data-theme-mode\",mode);documentBody.setAttribute(\"data-theme-mode\",mode);documentRoot.setAttribute(\"data-framer-theme\",mode);documentBody.setAttribute(\"data-framer-theme\",mode);// Also update the class for better CSS compatibility\nif(mode===\"dark\"){documentRoot.classList.add(\"dark\");documentBody.classList.add(\"dark\");}else{documentRoot.classList.remove(\"dark\");documentBody.classList.remove(\"dark\");}});});// Wait for transition to be ready, then apply animation\nawait transition.ready;// Apply the clip-path animation with custom duration\ndocumentRoot.animate({clipPath:[clipPathStart,clipPathEnd]},{duration:animationDuration,easing:\"cubic-bezier(0.4, 0.0, 0.2, 1)\",pseudoElement:\"::view-transition-new(root)\"});}catch(error){console.warn(\"View transition failed, falling back to instant change:\",error);// Fallback to instant theme change\ndocumentRoot.setAttribute(\"data-theme-mode\",mode);documentBody.setAttribute(\"data-theme-mode\",mode);documentRoot.setAttribute(\"data-framer-theme\",mode);documentBody.setAttribute(\"data-framer-theme\",mode);if(mode===\"dark\"){documentRoot.classList.add(\"dark\");documentBody.classList.add(\"dark\");}else{documentRoot.classList.remove(\"dark\");documentBody.classList.remove(\"dark\");}}}else{// Instant theme change (canvas mode or no animation)\ndocumentRoot.setAttribute(\"data-theme-mode\",mode);documentBody.setAttribute(\"data-theme-mode\",mode);documentRoot.setAttribute(\"data-framer-theme\",mode);documentBody.setAttribute(\"data-framer-theme\",mode);if(mode===\"dark\"){documentRoot.classList.add(\"dark\");documentBody.classList.add(\"dark\");}else{documentRoot.classList.remove(\"dark\");documentBody.classList.remove(\"dark\");}}// Store user's theme choice only in non-canvas mode\nif(!isCanvasMode){try{localStorage.setItem(\"theme-preference\",mode);}catch(error){console.warn(\"Failed to save theme preference:\",error);}// Broadcast theme change event\nconst themeEvent=new CustomEvent(\"theme-mode-changed\",{detail:{mode,timestamp:Date.now()}});window.dispatchEvent(themeEvent);// Play sound feedback if requested\nif(playAudio){playSound();}}},[isCanvasMode,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(isCanvasMode||typeof window===\"undefined\")return\"light\";const prefersDark=window.matchMedia(\"(prefers-color-scheme: dark)\");return prefersDark.matches?\"dark\":\"light\";}return preference;},[isCanvasMode]);// Use useLayoutEffect for synchronous theme application (prevents flash)\nuseLayoutEffect(()=>{if(hasInitialized)return;let resolvedTheme;if(isCanvasMode){// In canvas mode, directly use the initialTheme control\nresolvedTheme=determineTheme(initialTheme);}else{// In preview/live mode, check localStorage first\nif(typeof window===\"undefined\")return;let storedPreference=null;try{storedPreference=localStorage.getItem(\"theme-preference\");}catch(error){console.warn(\"Failed to read theme preference:\",error);}const themePreference=storedPreference&&[\"auto\",\"light\",\"dark\"].includes(storedPreference)?storedPreference:initialTheme;resolvedTheme=determineTheme(themePreference);}// Set theme state and apply to DOM synchronously (no sound on initial load)\nsetActiveTheme(resolvedTheme);// Set theme state and apply to DOM synchronously (no animation on initial load)\nsetActiveTheme(resolvedTheme);// Apply theme directly WITHOUT triggering view transition\nconst documentRoot=document.documentElement;const documentBody=document.body;documentRoot.setAttribute(\"data-theme-mode\",resolvedTheme);documentBody.setAttribute(\"data-theme-mode\",resolvedTheme);documentRoot.setAttribute(\"data-framer-theme\",resolvedTheme);documentBody.setAttribute(\"data-framer-theme\",resolvedTheme);if(resolvedTheme===\"dark\"){documentRoot.classList.add(\"dark\");documentBody.classList.add(\"dark\");}else{documentRoot.classList.remove(\"dark\");documentBody.classList.remove(\"dark\");}setHasInitialized(true);setHasInitialized(true);// Clean up temporary style after initialization\nconst tempStyle=document.getElementById(\"temp-theme-prevention\");if(tempStyle){tempStyle.remove();}},[initialTheme,applyThemeMode,determineTheme,isCanvasMode,hasInitialized]);// Handle initialTheme changes in canvas mode\nuseEffect(()=>{if(!isCanvasMode||!hasInitialized)return;const resolvedTheme=determineTheme(initialTheme);if(activeTheme!==resolvedTheme){setActiveTheme(resolvedTheme);applyThemeMode(resolvedTheme,false)// No sound in canvas\n;}},[initialTheme,isCanvasMode,hasInitialized,activeTheme,determineTheme,applyThemeMode]);// Simplified keyboard shortcuts - auto-detects Mac vs Windows/Linux\nuseEffect(()=>{if(!enableKeyboardShortcut||isCanvasMode||!hasInitialized||!customShortcutKey)return;const shortcut=parseShortcut(customShortcutKey);const handleKeyDown=event=>{// 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)&&altPressed&&shiftPressed&&keyPressed;if(shouldToggle){event.preventDefault();// Use functional setState to prevent stale closure\nsetActiveTheme(prevTheme=>{if(!prevTheme)return prevTheme;const nextTheme=prevTheme===\"light\"?\"dark\":\"light\";applyThemeMode(nextTheme,true);return nextTheme;});}};document.addEventListener(\"keydown\",handleKeyDown);return()=>document.removeEventListener(\"keydown\",handleKeyDown);},[enableKeyboardShortcut,customShortcutKey,isCanvasMode,hasInitialized,parseShortcut,applyThemeMode]);// Monitor system theme preference changes (only for non-canvas)\nuseEffect(()=>{if(typeof window===\"undefined\"||isCanvasMode)return;const darkModeQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleSystemChange=event=>{try{const currentPreference=localStorage.getItem(\"theme-preference\");if(currentPreference===\"auto\"){const systemTheme=event.matches?\"dark\":\"light\";setActiveTheme(systemTheme);applyThemeMode(systemTheme,false);}}catch(error){console.warn(\"Error handling system theme change:\",error);}};// Use modern addEventListener for better browser support\ndarkModeQuery.addEventListener(\"change\",handleSystemChange);return()=>darkModeQuery.removeEventListener(\"change\",handleSystemChange);},[applyThemeMode,isCanvasMode]);// Dynamic CSS token management with view transition support\nuseEffect(()=>{if(!hasInitialized||!lightVariant||!darkVariant||typeof window===\"undefined\"||isCanvasMode)return;let lightModeVariables=[];let darkModeStyles=\"\";try{// Scan stylesheets for theme tokens\nArray.from(document.styleSheets).forEach(stylesheet=>{try{Array.from(stylesheet.cssRules).forEach(rule=>{// Extract light theme variables from body rules\nif(rule instanceof CSSStyleRule&&rule.selectorText===\"body\"){const styleDeclaration=rule.style;for(let index=0;index<styleDeclaration.length;index++){const property=styleDeclaration[index];if(property.startsWith(\"--token\")){const value=styleDeclaration.getPropertyValue(property);lightModeVariables.push(`${property}: ${value};`);}}}// Extract dark theme styles from media queries\nif(rule instanceof CSSMediaRule&&rule.conditionText===\"(prefers-color-scheme: dark)\"){const darkRule=rule.cssRules[0];if(darkRule){darkModeStyles=darkRule.cssText.replace(\"body\",\"\").replace(/^\\s*{\\s*/,\"\").replace(/\\s*}\\s*$/,\"\");}}});}catch{// Silently skip inaccessible stylesheets (CORS, etc.)\nreturn;}});}catch(error){console.warn(\"Theme token extraction failed:\",error);}// Inject custom theme styles\nconst themeStyleElement=document.createElement(\"style\");themeStyleElement.id=\"mode-toggle-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.join(\" \")} \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            /* View transition styles for smooth theme switching */\n            ::view-transition-old(root),\n            ::view-transition-new(root) {\n                animation: none;\n                mix-blend-mode: normal;\n            }\n            \n            /* Disable transitions during theme change */\n            [data-theme-mode],\n            [data-framer-theme] { \n                transition: none !important; \n            }\n            \n            /* Keep toggle button above the transition mask */\n            .theme-toggle-button {\n                view-transition-name: toggle-button;\n                isolation: isolate;\n                z-index: 9999;\n                position: relative;\n            }\n            \n            /* Isolate toggle button from view transition */\n            ::view-transition-group(toggle-button) {\n                animation: none;\n            }\n            \n            ::view-transition-old(toggle-button),\n            ::view-transition-new(toggle-button) {\n                animation: none;\n                mix-blend-mode: normal;\n            }\n        `;document.head.appendChild(themeStyleElement);// Cleanup function\nreturn()=>{const existingStyles=document.getElementById(\"mode-toggle-styles\");if(existingStyles){document.head.removeChild(existingStyles);}};},[lightVariant,darkVariant,hasInitialized,isCanvasMode]);// Theme toggle interaction handler with safe state handling\nconst toggleThemeMode=useCallback(()=>{if(!hasValidContent(lightVariant)||!hasValidContent(darkVariant))return;// Use functional setState to prevent stale closure\nsetActiveTheme(prevTheme=>{if(!prevTheme)return prevTheme;const nextTheme=prevTheme===\"light\"?\"dark\":\"light\";applyThemeMode(nextTheme,true);return nextTheme;});},[lightVariant,darkVariant,applyThemeMode]);// Hover handlers - only trigger once per hover session\nconst handleMouseEnter=useCallback(()=>{if(enableHover&&!isCanvasMode&&!hasHoverTriggered){setHasHoverTriggered(true);toggleThemeMode();}},[enableHover,isCanvasMode,hasHoverTriggered,toggleThemeMode]);const handleMouseLeave=useCallback(()=>{if(enableHover&&!isCanvasMode){// Reset hover trigger when mouse leaves\nsetHasHoverTriggered(false);}},[enableHover,isCanvasMode]);// 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,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.animationType===\"none\"||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.animationType===\"none\"||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)\",defaultValue:\"https://framerusercontent.com/assets/kjE5ZkSkczjtJJkdDhP4kiyPyo.wav\",placeholder:\"Enter sound URL...\",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\\nMade with ❤️ by [Soyeb](https://framer.link/MBYIDPK)\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MaskThemeToggle\",\"slots\":[\"lightVariant\",\"darkVariant\"],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"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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"}