{"version":3,"file":"ScreenLockController.CoicA5bH.mjs","names":["useRef","useMemo","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/Wp8TYmGXep816OLP8YUY/ZkqbQzPRufrFuVuoHKnb/ScreenLockController.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function canUseDOM(){return typeof window!==\"undefined\"&&typeof document!==\"undefined\";}function supportsWakeLock(){if(!canUseDOM())return false;return typeof navigator!==\"undefined\"&&!!navigator.wakeLock&&typeof navigator.wakeLock.request===\"function\";}function supportsOrientationLock(){if(!canUseDOM())return false;return typeof screen!==\"undefined\"&&!!screen.orientation&&typeof screen.orientation.lock===\"function\";}function prefersReducedMotion(){if(typeof window===\"undefined\")return false;return window.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches??false;}/**\n * ScreenLockController\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 44\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ScreenLockController(props){const{orientation=\"current\",activationMode=\"interaction\",showActivationButton=true,activationLabel=\"Keep Screen On\",deactivationLabel=\"Disable\",showStatus=true,compactMode=false,groupAriaLabel=\"Screen lock controller\",buttonActivateAriaLabel=\"Activate screen lock\",buttonDeactivateAriaLabel=\"Deactivate screen lock\",wakeActiveText=\"Screen On\",wakeInactiveText=\"Screen Off\",wakeUnsupportedText=\"No Wake Lock\",orientationPrefixText=\"Orient:\",orientationFreeText=\"Free\",orientationUnsupportedText=\"No Orient Lock\",autoActiveText=\"● Active\",autoInactiveText=\"○ Inactive\",background=\"#000000\",card=\"rgba(255,255,255,0.08)\",border=\"rgba(255,255,255,0.16)\",textPrimary=\"#FFFFFF\",textSecondary=\"rgba(255,255,255,0.70)\",accentColor=\"#0099FF\",blur=18,labelFont,buttonFont,statusFont,style}=props;const isStatic=useIsStaticRenderer();const rootRef=useRef(null);const reducedMotion=useMemo(()=>prefersReducedMotion(),[]);const isMountedRef=useRef(true);const wakeLockRef=useRef(null);const wakeLockRequestInFlightRef=useRef(null);const didLockOrientationRef=useRef(false);const activatedRef=useRef(false);const toggleInProgressRef=useRef(false);const[wakeStatus,setWakeStatus]=useState(()=>supportsWakeLock()?\"inactive\":\"unsupported\");const[orientationStatus,setOrientationStatus]=useState(()=>supportsOrientationLock()?\"unlocked\":\"unsupported\");// ---- Safe state updaters ----\nconst safeSetWakeStatus=useCallback(status=>{if(isMountedRef.current){startTransition(()=>setWakeStatus(status));}},[]);const safeSetOrientationStatus=useCallback(status=>{if(isMountedRef.current){startTransition(()=>setOrientationStatus(status));}},[]);// ---- Release Wake Lock ----\nconst releaseWakeLock=useCallback(async()=>{const sentinel=wakeLockRef.current;wakeLockRequestInFlightRef.current=null;if(!sentinel){if(supportsWakeLock())safeSetWakeStatus(\"inactive\");else safeSetWakeStatus(\"unsupported\");return;}try{try{sentinel.removeEventListener?.(\"release\",onWakeLockReleased);}catch{// ignore\n}if(!sentinel.released){await sentinel.release();}}catch{// ignore\n}finally{wakeLockRef.current=null;if(supportsWakeLock())safeSetWakeStatus(\"inactive\");else safeSetWakeStatus(\"unsupported\");}},[safeSetWakeStatus]);const onWakeLockReleased=useCallback(()=>{if(!isMountedRef.current)return;wakeLockRef.current=null;wakeLockRequestInFlightRef.current=null;if(supportsWakeLock())safeSetWakeStatus(\"inactive\");else safeSetWakeStatus(\"unsupported\");},[safeSetWakeStatus]);// ---- Acquire Wake Lock ----\nconst acquireWakeLock=useCallback(async()=>{if(isStatic)return;if(!canUseDOM())return;if(!activatedRef.current)return;if(!supportsWakeLock()){safeSetWakeStatus(\"unsupported\");return;}if(wakeLockRef.current&&!wakeLockRef.current.released){safeSetWakeStatus(\"active\");return;}if(wakeLockRequestInFlightRef.current)return;const doRequest=async()=>{try{if(document.visibilityState!==\"visible\"){safeSetWakeStatus(\"inactive\");return;}const sentinel=await navigator.wakeLock.request(\"screen\");if(!isMountedRef.current||!activatedRef.current){try{if(!sentinel.released)await sentinel.release();}catch{// ignore\n}return;}wakeLockRef.current=sentinel;try{sentinel.addEventListener?.(\"release\",onWakeLockReleased);}catch{// ignore\n}safeSetWakeStatus(\"active\");}catch{safeSetWakeStatus(\"inactive\");}finally{wakeLockRequestInFlightRef.current=null;}};const p=doRequest();wakeLockRequestInFlightRef.current=p;await p;},[isStatic,onWakeLockReleased,safeSetWakeStatus]);// ---- Orientation ----\nconst unlockOrientation=useCallback(()=>{if(!canUseDOM())return;if(!supportsOrientationLock()){safeSetOrientationStatus(\"unsupported\");return;}const so=screen.orientation;try{if(didLockOrientationRef.current&&typeof so.unlock===\"function\"){so.unlock();}}catch{// ignore\n}finally{didLockOrientationRef.current=false;safeSetOrientationStatus(\"unlocked\");}},[safeSetOrientationStatus]);const lockOrientation=useCallback(async()=>{if(isStatic)return;if(!canUseDOM())return;if(orientation===\"current\"){didLockOrientationRef.current=false;if(supportsOrientationLock())safeSetOrientationStatus(\"unlocked\");else safeSetOrientationStatus(\"unsupported\");return;}if(!supportsOrientationLock()){safeSetOrientationStatus(\"unsupported\");return;}const so=screen.orientation;try{const target=orientation===\"portrait\"?\"portrait\":\"landscape\";await so.lock(target);didLockOrientationRef.current=true;safeSetOrientationStatus(\"locked\");}catch{didLockOrientationRef.current=false;safeSetOrientationStatus(\"unlocked\");}},[isStatic,orientation,safeSetOrientationStatus]);// ---- Activate / Deactivate ----\nconst activate=useCallback(async()=>{if(isStatic)return;if(!canUseDOM())return;if(toggleInProgressRef.current)return;toggleInProgressRef.current=true;try{activatedRef.current=true;await lockOrientation();await acquireWakeLock();}finally{toggleInProgressRef.current=false;}},[acquireWakeLock,isStatic,lockOrientation]);const deactivate=useCallback(async()=>{if(!canUseDOM())return;if(toggleInProgressRef.current)return;toggleInProgressRef.current=true;try{activatedRef.current=false;unlockOrientation();await releaseWakeLock();}finally{toggleInProgressRef.current=false;}},[releaseWakeLock,unlockOrientation]);const toggle=useCallback(async()=>{if(toggleInProgressRef.current)return;if(activatedRef.current){await deactivate();}else{await activate();}},[activate,deactivate]);// ---- Auto-activate on mount ----\nuseEffect(()=>{if(isStatic)return;if(activationMode===\"mount\"&&!activatedRef.current){activate();}// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);// ---- Visibility change ----\nuseEffect(()=>{if(isStatic)return;if(!canUseDOM())return;const onVisibility=()=>{if(!activatedRef.current||!isMountedRef.current)return;if(document.visibilityState===\"visible\"){acquireWakeLock();}else{if(supportsWakeLock())safeSetWakeStatus(\"inactive\");}};document.addEventListener(\"visibilitychange\",onVisibility);return()=>{document.removeEventListener(\"visibilitychange\",onVisibility);};},[acquireWakeLock,isStatic,safeSetWakeStatus]);// ---- Orientation prop change ----\nuseEffect(()=>{if(isStatic)return;if(!canUseDOM())return;if(!activatedRef.current)return;if(orientation===\"current\"){unlockOrientation();return;}lockOrientation();},[isStatic,lockOrientation,orientation,unlockOrientation]);// ---- Cleanup on unmount ----\nuseEffect(()=>{isMountedRef.current=true;return()=>{isMountedRef.current=false;const sentinel=wakeLockRef.current;if(sentinel){try{sentinel.removeEventListener?.(\"release\",onWakeLockReleased);}catch{// ignore\n}}if(wakeLockRef.current&&!wakeLockRef.current.released){wakeLockRef.current.release().catch(()=>{});}wakeLockRef.current=null;if(canUseDOM()&&supportsOrientationLock()){try{const so=screen.orientation;if(didLockOrientationRef.current&&typeof so.unlock===\"function\"){so.unlock();}}catch{// ignore\n}didLockOrientationRef.current=false;}activatedRef.current=false;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);// ---- Status dot colors ----\nconst wakeDotColor=wakeStatus===\"active\"?\"#34C759\":wakeStatus===\"unsupported\"?\"#FF3B30\":\"#FF9500\";const orientationDotColor=orientationStatus===\"locked\"?\"#34C759\":orientationStatus===\"unsupported\"?\"#FF3B30\":\"#FF9500\";// ---- Glass card style ----\nconst glassCard={background:card,border:`1px solid ${border}`,boxShadow:\"0 20px 60px rgba(0,0,0,0.45)\",backdropFilter:`blur(${blur}px)`,WebkitBackdropFilter:`blur(${blur}px)`,borderRadius:16,textAlign:\"center\",width:\"100%\",boxSizing:\"border-box\",overflow:\"visible\",padding:compactMode?\"10px 14px\":\"14px 18px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:10,flexWrap:\"wrap\"};// ---- Font styles ----\nconst labelTextStyle=useMemo(()=>({...labelFont??{}}),[labelFont]);const buttonTextStyle=useMemo(()=>({...buttonFont??{}}),[buttonFont]);const statusTextStyle=useMemo(()=>({...statusFont??{}}),[statusFont]);// ---- Button style (FIXED WIDTH) ----\nconst buttonBase={appearance:\"none\",border:\"none\",borderRadius:12,padding:compactMode?\"8px 14px\":\"10px 18px\",...buttonTextStyle,fontSize:compactMode?\"13px\":\"14px\",cursor:\"pointer\",userSelect:\"none\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",transition:reducedMotion?\"none\":\"all 180ms ease\",textAlign:\"center\",letterSpacing:\"-0.01em\",minHeight:40,minWidth:140,whiteSpace:\"nowrap\",fontWeight:600,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\"};// ---- Inactive state: \"Keep Screen On\" – White BG + Black Text ----\nconst inactiveButtonStyle={...buttonBase,background:\"#FFFFFF\",color:\"#000000\",border:`1px solid ${border}`,boxShadow:\"0 4px 16px rgba(0,0,0,0.15)\"};// ---- Active state: \"Disable\" – Lighter BG + White Text ----\nconst activeButtonStyle={...buttonBase,background:\"rgba(255,255,255,0.15)\",color:\"#FFFFFF\",border:`1px solid ${border}`};const buttonStyle=activatedRef.current?activeButtonStyle:inactiveButtonStyle;// ---- Status style ----\nconst statusStyle={...statusTextStyle,display:\"flex\",alignItems:\"center\",gap:12,color:textSecondary,fontSize:compactMode?\"11px\":\"12px\",flexWrap:\"wrap\",flex:1};const statusItemStyle={display:\"flex\",alignItems:\"center\",gap:6,whiteSpace:\"nowrap\"};const dotStyle={width:8,height:8,borderRadius:\"50%\",flexShrink:0,display:\"inline-block\"};// ---- Root style ----\nconst rootStyle={position:\"relative\",width:\"100%\",height:\"auto\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",overflow:\"visible\",...style};const isActive=activatedRef.current;// ---- Get orientation label for display ----\nconst orientationLabel=orientation===\"current\"?orientationFreeText:orientation===\"portrait\"?\"Portrait\":\"Landscape\";return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:rootStyle,\"aria-label\":groupAriaLabel,role:\"group\",children:/*#__PURE__*/_jsxs(\"div\",{style:glassCard,children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,flexWrap:\"wrap\",flex:1},children:showStatus&&/*#__PURE__*/_jsxs(\"div\",{style:statusStyle,children:[/*#__PURE__*/_jsxs(\"span\",{style:statusItemStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:{...dotStyle,background:wakeDotColor}}),wakeStatus===\"active\"?wakeActiveText:wakeStatus===\"unsupported\"?wakeUnsupportedText:wakeInactiveText]}),/*#__PURE__*/_jsxs(\"span\",{style:statusItemStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:{...dotStyle,background:orientationDotColor}}),orientationStatus===\"locked\"?`${orientationPrefixText} ${orientationLabel}`:orientationStatus===\"unsupported\"?orientationUnsupportedText:`${orientationPrefixText} ${orientationFreeText}`]})]})}),showActivationButton&&activationMode===\"interaction\"&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:toggle,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();toggle();}},style:buttonStyle,\"aria-label\":isActive?buttonDeactivateAriaLabel:buttonActivateAriaLabel,\"aria-pressed\":isActive,children:isActive?deactivationLabel:activationLabel}),activationMode===\"mount\"&&/*#__PURE__*/_jsx(\"span\",{style:{...statusTextStyle,fontSize:compactMode?\"11px\":\"12px\",color:textSecondary,opacity:.6,minWidth:60,textAlign:\"right\"},children:isActive?autoActiveText:autoInactiveText})]})});}addPropertyControls(ScreenLockController,{activationMode:{type:ControlType.Enum,title:\"Activation Mode\",defaultValue:\"interaction\",options:[\"mount\",\"interaction\"],optionTitles:[\"On Mount (Auto)\",\"On Interaction (Button)\"]},showActivationButton:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:({activationMode})=>activationMode!==\"interaction\"},activationLabel:{type:ControlType.String,title:\"Activate Label\",defaultValue:\"Keep Screen On\",hidden:({activationMode,showActivationButton})=>activationMode!==\"interaction\"||!showActivationButton},deactivationLabel:{type:ControlType.String,title:\"Deactivate Label\",defaultValue:\"Disable\",hidden:({activationMode,showActivationButton})=>activationMode!==\"interaction\"||!showActivationButton},orientation:{type:ControlType.Enum,title:\"Orientation Lock\",defaultValue:\"current\",options:[\"current\",\"portrait\",\"landscape\"],optionTitles:[\"Current (No Lock)\",\"Portrait\",\"Landscape\"]},showStatus:{type:ControlType.Boolean,title:\"Show Status\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},compactMode:{type:ControlType.Boolean,title:\"Compact Mode\",defaultValue:false,enabledTitle:\"Compact\",disabledTitle:\"Full\"},// ---- Theme controls ----\nbackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},card:{type:ControlType.Color,title:\"Card\",defaultValue:\"rgba(255,255,255,0.08)\"},border:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(255,255,255,0.16)\"},textPrimary:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},textSecondary:{type:ControlType.Color,title:\"Subtext\",defaultValue:\"rgba(255,255,255,0.70)\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#0099FF\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:18,min:0,max:40,step:1,unit:\"px\"},// ---- Font controls ----\nlabelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Semibold\",fontSize:\"14px\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},statusFont:{type:ControlType.Font,title:\"Status Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Medium\",fontSize:\"12px\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},groupAriaLabel:{type:ControlType.String,title:\"Group Aria\",defaultValue:\"Screen lock controller\"},buttonActivateAriaLabel:{type:ControlType.String,title:\"Btn Aria On\",defaultValue:\"Activate screen lock\"},buttonDeactivateAriaLabel:{type:ControlType.String,title:\"Btn Aria Off\",defaultValue:\"Deactivate screen lock\"},wakeActiveText:{type:ControlType.String,title:\"Wake Active\",defaultValue:\"Screen On\"},wakeInactiveText:{type:ControlType.String,title:\"Wake Inactive\",defaultValue:\"Screen Off\"},wakeUnsupportedText:{type:ControlType.String,title:\"Wake Unsup\",defaultValue:\"No Wake Lock\"},orientationPrefixText:{type:ControlType.String,title:\"Orient Prefix\",defaultValue:\"Orient:\"},orientationFreeText:{type:ControlType.String,title:\"Orient Free\",defaultValue:\"Free\"},orientationUnsupportedText:{type:ControlType.String,title:\"Orient Unsup\",defaultValue:\"No Orient Lock\"},autoActiveText:{type:ControlType.String,title:\"Auto Active\",defaultValue:\"● Active\",hidden:({activationMode})=>activationMode!==\"mount\"},autoInactiveText:{type:ControlType.String,title:\"Auto Inactive\",defaultValue:\"○ Inactive\",hidden:({activationMode})=>activationMode!==\"mount\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScreenLockController\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"44\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"240\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScreenLockController.map"],"mappings":"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"}