{"version":3,"file":"PageCustomScriptSlot.B_XORCbF.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/RfJYJdUJUR1bGGuFsQaz/odrR9f3FjaoJY2L0gUZO/PageCustomScriptSlot.js"],"sourcesContent":["/**\n * User request:\n * Create a new Framer code component named PageCustomScriptSlot.\n * It should render an invisible 1px transparent element and run client-side only.\n * Provide a clear function where non-technical users can paste custom JavaScript later.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const TRAQQR_SDK_ORIGIN=\"https://sdk.traqqr.io\";function ensureTraqqrConnectionHints(doc){const head=doc.head;if(!head)return;const hasPreconnect=head.querySelector(`link[rel=\"preconnect\"][href=\"${TRAQQR_SDK_ORIGIN}\"]`);if(!hasPreconnect){const preconnect=doc.createElement(\"link\");preconnect.rel=\"preconnect\";preconnect.href=TRAQQR_SDK_ORIGIN;preconnect.crossOrigin=\"anonymous\";head.prepend(preconnect);}const hasDnsPrefetch=head.querySelector(`link[rel=\"dns-prefetch\"][href=\"${TRAQQR_SDK_ORIGIN}\"]`);if(!hasDnsPrefetch){const dnsPrefetch=doc.createElement(\"link\");dnsPrefetch.rel=\"dns-prefetch\";dnsPrefetch.href=TRAQQR_SDK_ORIGIN;head.prepend(dnsPrefetch);}}if(typeof document!==\"undefined\"){ensureTraqqrConnectionHints(document);}/**\n * Paste custom JavaScript inside this function.\n *\n * Available context:\n * - context.window\n * - context.document\n * - context.rootElement\n * - context.cleanup(() => { ... }) to register cleanup callbacks\n *\n * You may also return a cleanup function directly:\n * return () => { ... }\n */function runCustomPageScript(context){const win=context.window;if(win.__traqqrLeadConfirmedTrackerStarted)return;win.__traqqrLeadConfirmedTrackerStarted=true;function initTraqqrTracking(){let contact;try{const stored=JSON.parse(context.window.localStorage.getItem(\"tqr:manual_contact:/events/\")||\"null\");contact=stored&&stored.expiresAt>Date.now()?stored.value||{}:{};}catch(_error){contact={};}if(!contact.email)return;const trackWaitStarted=Date.now();function send(){try{if(win.tqr&&typeof win.tqr.track===\"function\"){win.tqr.track(\"lead_confirmed\",Object.assign({source:\"manual\"},contact),{email:contact.email});context.window.localStorage.removeItem(\"tqr:manual_contact:/events/\");return;}if(Date.now()-trackWaitStarted<1e4){context.window.setTimeout(send,200);return;}console.warn(\"[traqqr] manual lead_confirmed tracking unavailable\");}catch(_error){console.warn(\"[traqqr] manual lead_confirmed tracking failed\");}}send();}if(context.document.readyState===\"loading\"){const onReady=()=>initTraqqrTracking();context.document.addEventListener(\"DOMContentLoaded\",onReady,{once:true});context.cleanup(()=>context.document.removeEventListener(\"DOMContentLoaded\",onReady));}else{initTraqqrTracking();}return;}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function PageCustomScriptSlot(props){const{enabled=true,debug=false}=props;const rootRef=useRef(null);useEffect(()=>{if(!enabled)return;if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!rootRef.current)return;ensureTraqqrConnectionHints(document);const cleanupCallbacks=[];let returnedCleanup;const registerCleanup=callback=>{cleanupCallbacks.push(callback);};try{if(debug)console.log(\"[Page Custom Script] mount\");returnedCleanup=runCustomPageScript({window,document,rootElement:rootRef.current,cleanup:registerCleanup});}catch(error){if(debug)console.error(\"[Page Custom Script] error\",error);}return()=>{if(debug)console.log(\"[Page Custom Script] cleanup\");for(let i=cleanupCallbacks.length-1;i>=0;i--){try{cleanupCallbacks[i]();}catch(error){if(debug){console.error(\"[Page Custom Script] cleanup callback error\",error);}}}if(typeof returnedCleanup===\"function\"){try{returnedCleanup();}catch(error){if(debug){console.error(\"[Page Custom Script] returned cleanup error\",error);}}}};},[enabled,debug]);return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,\"aria-hidden\":\"true\",style:{position:\"relative\",width:1,height:1,opacity:0,background:\"transparent\",pointerEvents:\"none\",overflow:\"hidden\"}});}addPropertyControls(PageCustomScriptSlot,{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true},debug:{type:ControlType.Boolean,title:\"Debug\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PageCustomScriptSlot\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageCustomScriptSlot.map"],"mappings":"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"}