{"version":3,"file":"CalEmbed.DBvsRapu.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/3yzqOhYqtOSLQpwyHYVQ/WCCDzz8EN8vVdfyQcDi3/CalEmbed.js"],"sourcesContent":["// Embed oficial de cal.com / cal.eu mediante su script JavaScript\n// Permite personalizar fondo, color de marca, y otros estilos para que combine con la web\n// Doc: https://cal.com/docs/embed/embed\n//\n// Tracking de origen:\n// - UTMs (utm_source, utm_medium, utm_campaign...) + gclid/fbclid/msclkid\n//   se guardan en sessionStorage al primer acceso para no perderlos si el\n//   usuario navega entre páginas antes de reservar.\n// - document.referrer se guarda en sessionStorage para capturar tráfico\n//   orgánico (Google, Instagram, Facebook...) sin necesidad de UTMs.\n// - Si el usuario aceptó la analítica (existe la cookie _ga de GA4), se captura\n//   también el client_id de GA4. Esto permite que la conversión medida en el\n//   SERVIDOR se atribuya a la sesión original del visitante en GA4. Si NO hay\n//   consentimiento, la cookie _ga no existe y NO se envía ningún client_id\n//   (comportamiento respetuoso con el Consent Mode v2 por diseño).\n// - Esa metadata se inyecta en el CONFIG del embed con el formato que cal.com\n//   documenta: `{ \"metadata[clave]\": valor }`. Así aparece en\n//   `payload.metadata[clave]` del webhook \"Reserva pagada\".\n//   (Ref: https://cal.com/help/embedding/prefill-booking-form-embed)\n//\n// NOTA: la conversión de reserva se mide en el SERVIDOR (webhook de pago de\n// cal.eu -> n8n -> GA4/Google Ads), NO en el navegador. Por eso aquí ya NO se\n// empuja ningún evento \"booking_confirmed\" al dataLayer: con el pago vía Stripe,\n// el navegador no es una fuente fiable de la conversión real (pagada).\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect,useRef}from\"react\";let calScriptLoaded=false;function loadCalScript(){if(typeof window===\"undefined\"||calScriptLoaded)return;calScriptLoaded=true;(function(C,A,L){const p=function(a,ar){a.q.push(ar);};const d=C.document;C.Cal=C.Cal||function(){const cal=C.Cal;// eslint-disable-next-line prefer-rest-params\nconst ar=arguments;if(!cal.loaded){cal.ns={};cal.q=cal.q||[];d.head.appendChild(d.createElement(\"script\")).src=A;cal.loaded=true;}if(ar[0]===L){const api=function(){// eslint-disable-next-line prefer-rest-params\np(api,arguments);};const namespace=ar[1];api.q=api.q||[];if(typeof namespace===\"string\"){cal.ns[namespace]=cal.ns[namespace]||api;p(cal.ns[namespace],ar);p(cal,[\"initNamespace\",namespace]);}else{p(cal,ar);}return;}p(cal,ar);};})(window,\"https://app.cal.com/embed/embed.js\",\"init\");}function getSessionReferrer(){if(typeof window===\"undefined\")return\"\";const KEY=\"ug_referrer\";const stored=sessionStorage.getItem(KEY);if(stored!==null)return stored;const ref=document.referrer||\"\";sessionStorage.setItem(KEY,ref);return ref;}// Lee el client_id de GA4 desde la cookie `_ga` (formato: GA1.1.XXXX.YYYY).\n// Devuelve solo la parte \"XXXX.YYYY\" (el client_id que GA4 usa).\n// IMPORTANTE: la cookie `_ga` SOLO existe si el visitante aceptó la analítica\n// (gracias al Consent Mode v2). Sin consentimiento devuelve \"\" y no se envía nada.\nfunction getGaClientId(){if(typeof document===\"undefined\")return\"\";const match=document.cookie.match(/_ga=GA\\d\\.\\d\\.(\\d+\\.\\d+)/);return match?match[1]:\"\";}function getSessionUTMs(){if(typeof window===\"undefined\")return{};const KEY=\"ug_utms\";const params=new URLSearchParams(window.location.search);const UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"gclid\",\"fbclid\",\"msclkid\"];const hasTracking=UTM_KEYS.some(k=>params.has(k));if(hasTracking){const meta={};for(const k of UTM_KEYS){const v=params.get(k);if(v)meta[k]=v;}sessionStorage.setItem(KEY,JSON.stringify(meta));return meta;}const stored=sessionStorage.getItem(KEY);return stored?JSON.parse(stored):{};}function buildCalMetadata(){const utms=getSessionUTMs();const referrer=getSessionReferrer();const clientId=getGaClientId();return{...utms,...referrer?{referrer}:{},...clientId?{ga_client_id:clientId}:{},pagina:typeof window!==\"undefined\"?window.location.pathname:\"\",fecha:new Date().toISOString().split(\"T\")[0]};}// Convierte { clave: valor } al formato que cal.com espera en el CONFIG del\n// embed: { \"metadata[clave]\": valor }. Es la forma documentada para que el\n// dato aparezca luego en `payload.metadata[clave]` del webhook.\nfunction toCalMetadataConfig(meta){const out={};for(const[k,v]of Object.entries(meta)){if(v)out[`metadata[${k}]`]=v;}return out;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function CalEmbed(props){const{calLink=\"ugarana\",origin=\"https://cal.eu\",minHeight=900,brandColor=\"#2D4A38\",bgColor=\"#F5F1E8\",mutedBgColor=\"#E5DFD2\",style}=props;const containerRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic)return;if(typeof window===\"undefined\")return;loadCalScript();const W=window;const ns=`embed_${calLink.replace(/[^a-zA-Z0-9]/g,\"_\")}`;const meta=buildCalMetadata();const metaConfig=toCalMetadataConfig(meta);W.Cal(\"init\",ns,{origin});W.Cal.ns[ns](\"inline\",{elementOrSelector:containerRef.current,config:{layout:\"month_view\",...metaConfig},calLink});W.Cal.ns[ns](\"ui\",{cssVarsPerTheme:{light:{\"cal-brand\":brandColor,\"cal-bg\":bgColor,\"cal-bg-emphasis\":mutedBgColor,\"cal-bg-muted\":mutedBgColor}},hideEventTypeDetails:false,layout:\"month_view\",theme:\"light\"});},[calLink,origin,brandColor,bgColor,mutedBgColor,isStatic]);if(isStatic){return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",minHeight,backgroundColor:bgColor,borderRadius:10,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontFamily:'\"Inter Tight\", system-ui, sans-serif',fontSize:11,letterSpacing:\"0.28em\",textTransform:\"uppercase\",color:\"rgba(31,45,36,0.5)\",border:\"1px dashed rgba(31,45,36,0.2)\"},children:[\"Calendario cal.eu/\",calLink]});}return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...style,width:\"100%\",minHeight,backgroundColor:bgColor,borderRadius:10,overflow:\"hidden\"}});}addPropertyControls(CalEmbed,{calLink:{type:ControlType.String,title:\"Cal Link\",defaultValue:\"ugarana\",placeholder:\"ugarana\"},origin:{type:ControlType.String,title:\"Origen\",defaultValue:\"https://cal.eu\",placeholder:\"https://cal.eu\"},minHeight:{type:ControlType.Number,title:\"Altura m\\xednima\",defaultValue:900,min:400,max:1400,step:10,unit:\"px\"},brandColor:{type:ControlType.Color,title:\"Color de marca\",defaultValue:\"#2D4A38\"},bgColor:{type:ControlType.Color,title:\"Color fondo\",defaultValue:\"#F5F1E8\"},mutedBgColor:{type:ControlType.Color,title:\"Color p\\xedldoras d\\xedas\",defaultValue:\"#E5DFD2\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CalEmbed\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CalEmbed.map"],"mappings":"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"}