{"version":3,"file":"WithTimedTrigger.CUtPfBye.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/aOdzP9FjeJdC8rQVN8g1/RYAiPDAJIk8N98lK7XHt/WithTimedTrigger.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";const DELAY_MS=15e3// 30 seconds\n;const DISMISS_DAYS=1// Show again after 7 days if dismissed\n;const TRIGGER_ID=\"newsletter-trigger\";const DISMISSED_KEY=\"newsletter_dismissed_at\";const SUBSCRIBED_KEY=\"newsletter_subscribed\";// Safe storage helpers\nconst safeGet=key=>{try{return localStorage.getItem(key);}catch{return null;}};const safeSet=(key,value)=>{try{localStorage.setItem(key,value);}catch{// Storage blocked — silently fail\n}};// Check if popup should be shown\nconst shouldShowPopup=()=>{// Never show if user already subscribed\nif(safeGet(SUBSCRIBED_KEY)===\"true\"){console.log(\"User already subscribed, skipping\");return false;}// Check last dismissal time\nconst dismissedAt=safeGet(DISMISSED_KEY);if(dismissedAt){const daysSinceDismissed=(Date.now()-parseInt(dismissedAt,10))/(1e3*60*60*24);if(daysSinceDismissed<DISMISS_DAYS){console.log(`Dismissed ${daysSinceDismissed.toFixed(1)} days ago, skipping`);return false;}}return true;};const triggerFramerOverlay=elementId=>{const trigger=document.getElementById(elementId);if(!trigger){console.log(\"Trigger element not found\");return false;}const target=trigger.querySelector(\"*\")||trigger;const fire=type=>{target.dispatchEvent(new PointerEvent(type,{bubbles:true,cancelable:true,pointerType:\"mouse\"}));target.dispatchEvent(new MouseEvent(type,{bubbles:true,cancelable:true}));};fire(\"pointerdown\");fire(\"mousedown\");fire(\"pointerup\");fire(\"mouseup\");fire(\"click\");return true;};export function withTimedTrigger(Component){return props=>{const hasShownRef=useRef(false);useEffect(()=>{console.log(\"Override mounted\");if(!shouldShowPopup()||hasShownRef.current)return;const timer=setTimeout(()=>{console.log(\"Timer fired, attempting click\");const success=triggerFramerOverlay(TRIGGER_ID);if(success){hasShownRef.current=true;// Mark as dismissed with timestamp\n// (Will be overridden if they subscribe)\nsafeSet(DISMISSED_KEY,Date.now().toString());console.log(\"Modal opened\");}},DELAY_MS);return()=>clearTimeout(timer);},[]);return /*#__PURE__*/_jsx(Component,{...props});};}// Export a helper to mark user as subscribed\n// Call this from your form submit handler\nexport const markAsSubscribed=()=>{safeSet(SUBSCRIBED_KEY,\"true\");console.log(\"User marked as subscribed\");};\nexport const __FramerMetadata__ = {\"exports\":{\"withTimedTrigger\":{\"type\":\"reactHoc\",\"name\":\"withTimedTrigger\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"markAsSubscribed\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithTimedTrigger.map"],"mappings":"yHAOowB,SAAgB,EAAiB,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAYA,EAAO,GAAM,CAEpuB,OAFquB,MAAc,CAAiC,GAAhC,QAAQ,IAAI,mBAAmB,CAAI,CAAC,GAAiB,EAAE,EAAY,QAAQ,OAAO,IAAM,EAAM,eAAe,CAAC,QAAQ,IAAI,gCAAgC,CAAe,EAAqB,EAAW,GAAa,EAAY,QAAQ,GAExlC,EAAQ,EAAc,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,IAAI,eAAe,GAAI,EAAS,CAAC,UAAU,aAAa,EAAM,EAAG,EAAE,CAAC,CAAqB,EAAK,EAAU,CAAC,GAAG,EAAM,CAAC,qCAT7H,IAAoC,CAAM,EAAS,KACvF,EAAa,EACb,EAAW,qBAA2B,EAAc,0BAAgC,EAAe,wBACpG,EAAQ,GAAK,CAAC,GAAG,CAAC,OAAO,aAAa,QAAQ,EAAI,MAAO,CAAC,OAAO,OAAc,GAAS,EAAI,IAAQ,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAI,EAAM,MAAO,IAE/I,MAAoB,CAC1B,GAAG,EAAQ,EAAe,GAAG,OAAyD,OAAjD,QAAQ,IAAI,oCAAoC,CAAQ,GAC7F,IAAM,EAAY,EAAQ,EAAc,CAAC,GAAG,EAAY,CAAC,IAAM,GAAoB,KAAK,KAAK,CAAC,SAAS,EAAY,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAmB,EAA2F,OAA7E,QAAQ,IAAI,aAAa,EAAmB,QAAQ,EAAE,CAAC,qBAAqB,CAAQ,GAAQ,MAAO,IAAa,EAAqB,GAAW,CAAC,IAAM,EAAQ,SAAS,eAAe,EAAU,CAAC,GAAG,CAAC,EAAkD,OAAzC,QAAQ,IAAI,4BAA4B,CAAQ,GAAO,IAAM,EAAO,EAAQ,cAAc,IAAI,EAAE,EAAc,EAAK,GAAM,CAAC,EAAO,cAAc,IAAI,aAAa,EAAK,CAAC,QAAQ,GAAK,WAAW,GAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAO,cAAc,IAAI,WAAW,EAAK,CAAC,QAAQ,GAAK,WAAW,GAAK,CAAC,CAAC,EAAyF,OAAtF,EAAK,cAAc,CAAC,EAAK,YAAY,CAAC,EAAK,YAAY,CAAC,EAAK,UAAU,CAAC,EAAK,QAAQ,CAAQ"}