{"version":3,"file":"OpenCalendly.CODInAw9.mjs","names":[],"sources":["https:/framerusercontent.com/modules/ujbRy5QQZTbhqJSsmeXc/LCNoUeasvZ9LgVEUiBBn/OpenCalendly.js"],"sourcesContent":["// ============================================================================\n// VERSION OPTIMIZADA - Carga Calendly ON-DEMAND (al primer click)\n// ============================================================================\n// Cambio vs original:\n//   - Calendly (CSS + widget.js) YA NO se carga upfront.\n//   - ensureCalendly() carga la libreria la primera vez que se clickea el\n//     boton, la cachea, y los clicks siguientes reusan lo ya cargado.\n//   - handleClick es async: hace `await ensureCalendly()` antes de abrir.\n//   - Se elimino el branch `else { console.warn(...) }` porque ahora\n//     garantizamos la carga antes de abrir el popup.\n//\n// NO se toca: toda la logica de UTM / gclid / keyword / country / landing_page.\n//\n// Trade-off: la PRIMERA apertura del popup tiene un pequeno delay (descarga\n//            del script). Las visitas que no reservan dejan de pagar el costo.\n// ============================================================================\nimport{jsx as _jsx}from\"react/jsx-runtime\";// Carga Calendly (CSS + JS) una sola vez. Devuelve una promesa que resuelve\n// cuando window.Calendly esta disponible. Cachea el loader para no recargar.\nlet calendlyLoader=null;function ensureCalendly(){if(typeof window===\"undefined\")return Promise.resolve();if(window.Calendly)return Promise.resolve();if(calendlyLoader)return calendlyLoader;calendlyLoader=new Promise((resolve,reject)=>{// CSS on-demand (solo si no existe ya en el documento)\nif(!document.querySelector('link[href*=\"calendly\"]')){const css=document.createElement(\"link\");css.rel=\"stylesheet\";css.href=\"https://assets.calendly.com/assets/external/widget.css\";document.head.appendChild(css);}// JS on-demand\nconst js=document.createElement(\"script\");js.src=\"https://assets.calendly.com/assets/external/widget.js\";js.async=true;js.onload=()=>resolve();js.onerror=()=>{calendlyLoader=null// permitir reintentar en el proximo click\n;reject(new Error(\"No se pudo cargar el script de Calendly\"));};document.head.appendChild(js);});return calendlyLoader;}export function OpenCalendly(Component){return props=>{const handleClick=async e=>{e.preventDefault();e.stopPropagation();try{const urlParams=new URLSearchParams(window.location.search);const utm={utmMedium:urlParams.get(\"utm_medium\")||sessionStorage.getItem(\"utm_medium\")||\"popup\"};const source=urlParams.get(\"utm_source\")||sessionStorage.getItem(\"utm_source\");if(source)utm.utmSource=source;const campaign=urlParams.get(\"utm_campaign\")||sessionStorage.getItem(\"utm_campaign\");if(campaign)utm.utmCampaign=campaign;const content=urlParams.get(\"utm_content\")||sessionStorage.getItem(\"utm_content\");if(content)utm.utmContent=content;const termData={};const landingPage=sessionStorage.getItem(\"firstLandingPage\");if(landingPage)termData.landing_page=landingPage;const gclid=urlParams.get(\"gclid\")||sessionStorage.getItem(\"gclid\");if(gclid)termData.gclid=gclid;const country=sessionStorage.getItem(\"userCountry\");if(country)termData.country=country;const keyword=urlParams.get(\"keyword\")||sessionStorage.getItem(\"keyword\");if(keyword)termData.keyword=keyword;if(Object.keys(termData).length>0){utm.utmTerm=JSON.stringify(termData);}// CAMBIO CLAVE: garantizar que Calendly este cargado antes de abrir\nawait ensureCalendly();if(typeof window!==\"undefined\"&&window.Calendly){window.Calendly.initPopupWidget({url:\"https://calendly.com/d/cxvg-478-hkj?hide_gdpr_banner=1&text_color=000000&primary_color=6945d8\",utm:utm});}}catch(error){console.warn(\"Calendly initialization error:\",error);}};return /*#__PURE__*/_jsx(Component,{...props,onClick:handleClick});};}\nexport const __FramerMetadata__ = {\"exports\":{\"OpenCalendly\":{\"type\":\"reactHoc\",\"name\":\"OpenCalendly\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OpenCalendly.map"],"mappings":"kHAkBwB,SAAS,GAAgB,CAGgD,OAHrC,IAAS,QAAwC,EAAO,SAAgB,QAAQ,SAAS,CAAI,IAAqC,EAAe,IAAI,SAAS,EAAQ,IAAS,CAC3O,GAAG,CAAC,SAAS,cAAc,yBAAyB,CAAC,CAAC,IAAM,EAAI,SAAS,cAAc,OAAO,CAAC,EAAI,IAAI,aAAa,EAAI,KAAK,yDAAyD,SAAS,KAAK,YAAY,EAAI,CACpN,IAAM,EAAG,SAAS,cAAc,SAAS,CAAC,EAAG,IAAI,wDAAwD,EAAG,MAAM,GAAK,EAAG,WAAW,GAAS,CAAC,EAAG,YAAY,CAAC,EAAe,KAC7K,EAAW,MAAM,0CAA0C,CAAC,EAAG,SAAS,KAAK,YAAY,EAAG,EAAG,CAAQ,GAAgB,SAAgB,EAAa,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAY,KAAM,IAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAM,EAAU,IAAI,gBAAgB,EAAO,SAAS,OAAO,CAAO,EAAI,CAAC,UAAU,EAAU,IAAI,aAAa,EAAE,eAAe,QAAQ,aAAa,EAAE,QAAQ,CAAO,EAAO,EAAU,IAAI,aAAa,EAAE,eAAe,QAAQ,aAAa,CAAI,IAAO,EAAI,UAAU,GAAO,IAAM,EAAS,EAAU,IAAI,eAAe,EAAE,eAAe,QAAQ,eAAe,CAAI,IAAS,EAAI,YAAY,GAAS,IAAM,EAAQ,EAAU,IAAI,cAAc,EAAE,eAAe,QAAQ,cAAc,CAAI,IAAQ,EAAI,WAAW,GAAQ,IAAM,EAAS,EAAE,CAAO,EAAY,eAAe,QAAQ,mBAAmB,CAAI,IAAY,EAAS,aAAa,GAAY,IAAM,EAAM,EAAU,IAAI,QAAQ,EAAE,eAAe,QAAQ,QAAQ,CAAI,IAAM,EAAS,MAAM,GAAM,IAAM,EAAQ,eAAe,QAAQ,cAAc,CAAI,IAAQ,EAAS,QAAQ,GAAQ,IAAM,EAAQ,EAAU,IAAI,UAAU,EAAE,eAAe,QAAQ,UAAU,CAAI,IAAQ,EAAS,QAAQ,GAAW,OAAO,KAAK,EAAS,CAAC,OAAO,IAAG,EAAI,QAAQ,KAAK,UAAU,EAAS,EAC9tC,MAAM,GAAgB,CAAW,IAAS,QAAa,EAAO,UAAU,EAAO,SAAS,gBAAgB,CAAC,IAAI,gGAAoG,MAAI,CAAC,OAAS,EAAM,CAAC,QAAQ,KAAK,iCAAiC,EAAM,GAAI,OAAoB,EAAK,EAAU,CAAC,GAAG,EAAM,QAAQ,EAAY,CAAC,yBANrT,CAEvC,EAAe"}