{"version":3,"file":"CookiesBanner.B5ypO2MP.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/biNwJPkh1TeM0WUArzRG/NxSjTEh5o6FKznCcOt3Q/CookiesBanner.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const domainsToDecorate=[\"smile2impress.com\"],queryParams=[\"utm_term\",\"utm_campaign\",\"utm_source\",\"utm_medium\",\"utm_content\",\"hsa_acc\",\"hsa_cam\",\"hsa_grp\",\"hsa_ad\",\"hsa_src\",\"hsa_tgt\",\"hsa_kw\",\"hsa_mt\",\"hsa_net\",\"hsa_ver\",\"gclid\",\"ttclid\",\"fbclid\"];const ULTRA_FORM_EXPERIMENT_COOKIE=\"impress_ultra_form_experiment_id\";// 24 hours cookie\nconst ULTRA_FORM_EXPERIMENT_MAX_AGE_SEC=60*60*24;function setUltraFormLandingExperimentCookie(experimentId){if(typeof document===\"undefined\")return;const n=Number(experimentId);if(!Number.isFinite(n)||n<=0)return;const host=window.location.hostname||\"\";if(!host.endsWith(\"smile2impress.com\"))return;const value=String(Math.trunc(n));const parts=[`${ULTRA_FORM_EXPERIMENT_COOKIE}=${encodeURIComponent(value)}`,\"Domain=.smile2impress.com\",\"Path=/\",`Max-Age=${ULTRA_FORM_EXPERIMENT_MAX_AGE_SEC}`,\"SameSite=Lax\"];if(window.location.protocol===\"https:\"){parts.push(\"Secure\");}document.cookie=parts.join(\"; \");}export default function CookiesBanner({id,locale,hideCookiesPolicyBanner,hasQueryInit,ultraFormExperimentId}){const[cookiesBanner,setCookiesBanner]=useState();function loadWidget(){const script=document.createElement(\"script\");const scriptUrl=\"https://mf.smile2impress.com/cookies-banner-widget/index.js\";script.src=scriptUrl;script.async=true;const handleScriptLoad=()=>{// The remote script has loaded successfully\nconsole.log(`Script loaded: ${scriptUrl}`);setCookiesBanner(new window.CookiesBannerWidget);};const handleScriptError=()=>{// There was an error loading the script\nconsole.error(`Error loading script: ${scriptUrl}`);};script.addEventListener(\"load\",handleScriptLoad);script.addEventListener(\"error\",handleScriptError);// Append the script to the document body\ndocument.body.appendChild(script);// Clean up event listeners when the component unmounts\nreturn()=>{script.removeEventListener(\"load\",handleScriptLoad);script.removeEventListener(\"error\",handleScriptError);};}// We can't really do anything without a formId\nif(!id){return /*#__PURE__*/_jsx(\"div\",{children:\"Dev cookies banner will be here!\"});}// We use the Framer node id for a stable id\nconst elementId=`container_${id}`;useEffect(()=>{if(ultraFormExperimentId==null||ultraFormExperimentId===0){return;}setUltraFormLandingExperimentCookie(ultraFormExperimentId);},[ultraFormExperimentId]);function addQuery(){console.log(\"calling addQuery\");if(!hasQueryInit){return;}try{const rawParams=new URLSearchParams(window?.location?.search);console.log(\"rawParams\",Array.from(rawParams),rawParams.size);if(rawParams.size===0)return;const filteredParams=new URLSearchParams(Array.from(rawParams).filter(([k,v])=>queryParams.includes(k)));if(ultraFormExperimentId!==null&&ultraFormExperimentId!==0){filteredParams.append(ULTRA_FORM_EXPERIMENT_COOKIE,ultraFormExperimentId);}console.log(\"filteredParams\",Array.from(filteredParams));if(filteredParams.size===0){return;}// We get all the links on the page\nconst links=document.querySelectorAll(\"a\");// We check and add parameters only if they are missing\nfor(let linkIndex=0;linkIndex<links.length;linkIndex++){for(let domainIndex=0;domainIndex<domainsToDecorate.length;domainIndex++){if(links[linkIndex].href.indexOf(domainsToDecorate[domainIndex])>-1&&links[linkIndex].href.indexOf(\"#\")===-1){console.log(\"Before decorate\",links[linkIndex].href);// We check if the necessary parameters already exist\nlinks[linkIndex].href=decorateUrl(links[linkIndex].href,filteredParams);}}}}catch(e){console.error(\"Error during adding query params:\",e);}// Function for adding query parameters to URL\nfunction decorateUrl(urlToDecorate,paramsToAdd){urlToDecorate=urlToDecorate.indexOf(\"?\")===-1?urlToDecorate+\"?\":urlToDecorate+\"&\";return urlToDecorate+paramsToAdd.toString();}}useEffect(()=>{if(!cookiesBanner)loadWidget();addQuery();},[]);useEffect(()=>{if(cookiesBanner){cookiesBanner.mount({id,elementId,locale,hideCookiesPolicyBanner});}},[cookiesBanner,locale,hideCookiesPolicyBanner]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"},id:elementId});}addPropertyControls(CookiesBanner,{locale:{type:ControlType.Enum,title:\"Locale\",options:[\"es-ES\",\"it-IT\",\"pt-PT\",\"fr-FR\",\"de-DE\",\"uk-UA\",\"en-GB\",\"en-US\",\"nl-NL\",\"de-DE\",\"sv-SE\"],optionTitles:[\"Spain\",\"Italy\",\"Portugal\",\"France\",\"Germany\",\"Ukraine\",\"UK\",\"USA\",\"Netherlands\",\"Germany\",\"Sweden\"],defaultValue:\"es-ES\"},hideCookiesPolicyBanner:{type:ControlType.Boolean,title:\"Hide cookies policy banner\",enabledTitle:\"True\",disabledTitle:\"False\",defaultValue:false},hasQueryInit:{type:ControlType.Boolean,title:\"Has query init\",enabledTitle:\"True\",disabledTitle:\"False\",defaultValue:false},ultraFormExperimentId:{type:ControlType.Number,title:\"Ultra form experiment ID\",min:0,defaultValue:0}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CookiesBanner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CookiesBanner.map"],"mappings":"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"}