{"version":3,"file":"CookieConsent.eDyHjz2l.mjs","names":["useState","useMemo","useCallback","_Fragment","__esmMin","init_npm_react_18_3_1","window","pe","init_ssg_sandbox_shims","ce","l","ne","p","c","init_jsx_runtime","_e","addPropertyControls","ControlType","RenderTarget","init_framer_DymZktPS","CookieConsentBanner","props","mergeProps","DEFAULT_PROPS","rawProps","isCanvas","ready","setReady","bannerVisible","setBannerVisible","floatingVisible","setFloatingVisible","mounted","setMounted","view","setView","storedConsent","setStoredConsent","detectedScripts","setDetectedScripts","toggles","setToggles","categoryKeys","getCategoryKeysFromScripts","categoryItems","getCategoryLabel","key","getCategoryDescription","scanAndStoreScripts","isBrowser","scripts","scanConsentScripts","keys","defaults","createDefaultToggles","updateGoogleConsent","createConsentFromToggles","existingConsent","readStoredConsent","normalized","normalizeStoredConsent","applyConsent","raf","observer","next","current","getDefaultCategoryValue","openSettings","resetConsent","clearStoredConsent","isCategoryAllowed","category","functionName","isValidGlobalFunctionName","updateToggle","value","saveConsent","nextConsent","nextToggles","writeStoredConsent","acceptAll","rejectAll","saveSettings","shouldRenderBanner","shouldRenderFloatingButton","getBannerWrapperStyle","getPanelStyle","HeaderContent","getButtonRowStyle","Button","getCategoryListStyle","checked","item","CategoryToggle","index","getFloatingButtonStyle","CookieIcon","typography","colors","title","message","privacyUrl","privacyLabel","showHelperText","helperText","hovered","setHovered","getButtonStyle","variant","label","hasBorder","description","locked","onChange","padding","base","positionShift","shared","side","incoming","normalizeCategoryKey","raw","splitList","input","splitCategoryList","selector","results","element","categories","sourceKey","existingId","generatedId","hashString","id","script","consentSettings","now","stored","storageKey","cookieName","localValue","parsed","version","cookieValue","maxAge","expiryDays","encoded","consent","secure","deleteCookieEverywhere","areScriptCategoriesAllowed","existingOpenSettings","existingReset","cleanupBlockedTrackingStorage","activateAllowedScripts","eventName","analyticsGranted","marketingGranted","preferencesGranted","alreadyLoaded","activeScript","desiredType","desiredSrc","attr","name","host","parts","domains","i","domain","text","toTitleCase","hash","init_CookieConsent"],"sources":["https:/framerusercontent.com/modules/TtKEzUvlqAPD08r2WT7W/pDSMdvMpMH1qFXjPsryw/CookieConsent.js"],"sourcesContent":["/**\n * Cookie Consent Banner\n *\n * Real cookie consent management for Framer sites.\n *\n * IMPORTANT:\n * This component does not require scripts to be pasted into the component.\n * It scans the published page for script tags that have consent attributes.\n *\n * To block scripts until consent, add these attributes to your script tags:\n *\n * Required for external scripts:\n * <script\n *   type=\"text/plain\"\n *   data-cookie-category=\"analytics\"\n *   data-cookie-src=\"https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX\"\n * ></script>\n *\n * Required for inline scripts:\n * <script type=\"text/plain\" data-cookie-category=\"analytics\">\n *   console.log(\"This runs only after analytics consent\")\n * </script>\n *\n * Supported category attributes:\n * data-cookie-category=\"analytics\"\n * data-cookie-category=\"marketing\"\n * data-cookie-category=\"preferences\"\n * data-cookie-category=\"necessary\"\n * data-cookie-category=\"custom_category\"\n *\n * Multiple required categories:\n * data-cookie-categories=\"analytics, marketing\"\n *\n * Optional attributes:\n * data-cookie-src=\"https://example.com/script.js\"\n * data-cookie-type=\"module\"\n * data-cookie-service=\"Google Analytics\"\n * data-cookie-clean-cookies=\"_ga,_gid,_fbp\"\n * data-cookie-clean-storage=\"localStorageKey,sessionStorageKey\"\n * data-cookie-load-once=\"false\"\n *\n * After consent is saved, a 3rem × 3rem cookie button appears in the bottom left.\n * Users can click it any time to reopen cookie settings.\n *\n * This component remembers consent in localStorage and a browser cookie.\n *\n * Global access after publish:\n * window.cookieConsent.openSettings()\n * window.cookieConsent.hasConsent(\"analytics\")\n * window.cookieConsent.reset()\n *\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const DEFAULT_PROPS={content:{title:\"Cookie preferences\",message:\"We use cookies and similar technologies to keep the site working, improve your experience, measure performance, and support marketing.\",settingsTitle:\"Cookie settings\",settingsMessage:\"Choose which categories you want to allow. Necessary cookies are always active because the site depends on them.\",helperText:'Add type=\"text/plain\" and data-cookie-category=\"analytics\" or data-cookie-category=\"marketing\" to any script you want blocked until consent. Use data-cookie-src for external script URLs.'},buttons:{acceptAll:\"Accept all\",rejectAll:\"Reject all\",customize:\"Customize\",save:\"Save settings\",back:\"Back\"},categories:{necessaryLabel:\"Necessary\",necessaryDescription:\"Required for core site functionality, security, and consent storage.\",preferencesLabel:\"Preferences\",preferencesDescription:\"Stores choices that improve the experience, such as language or interface preferences.\",analyticsLabel:\"Analytics\",analyticsDescription:\"Helps measure visits, behavior, performance, and content effectiveness.\",marketingLabel:\"Marketing\",marketingDescription:\"Supports ads, retargeting, attribution, and campaign measurement.\"},privacy:{privacyLabel:\"Privacy policy\",privacyUrl:\"\"},consent:{cookieName:\"site_cookie_consent\",consentVersion:\"1\",expiryDays:180,defaultPreferences:false,defaultAnalytics:false,defaultMarketing:false,showRejectAll:true},integrations:{scanScripts:true,observeNewScripts:true,googleConsentMode:true,consentEventName:\"cookieConsentUpdated\",settingsFunctionName:\"openCookieSettings\",debug:false},layout:{position:\"bottomCenter\",zIndex:999999,safeAreaPadding:16,radius:20,panelPadding:22,contentGap:16,buttonGap:8,showHelperText:true,animateIn:true},floatingButton:{enabled:true,position:\"bottomLeft\",label:\"Cookie settings\",showLabel:false,offset:16,size:48},colors:{background:\"#FFFFFF\",text:\"#111111\",mutedText:\"#555555\",border:\"rgba(0,0,0,0.12)\",primary:\"#111111\",primaryText:\"#FFFFFF\",secondary:\"#F4F4F5\",secondaryText:\"#111111\",toggleOn:\"#111111\",toggleOff:\"#D4D4D8\",floatingBackground:\"#111111\",floatingText:\"#FFFFFF\"},typography:{fontFamily:'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',titleSize:18,textSize:14,buttonSize:14}};export default function CookieConsentBanner(rawProps){const props=mergeProps(DEFAULT_PROPS,rawProps);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[ready,setReady]=useState(false);const[bannerVisible,setBannerVisible]=useState(false);const[floatingVisible,setFloatingVisible]=useState(false);const[mounted,setMounted]=useState(false);const[view,setView]=useState(\"banner\");const[storedConsent,setStoredConsent]=useState(null);const[detectedScripts,setDetectedScripts]=useState([]);const[toggles,setToggles]=useState({});const categoryKeys=useMemo(()=>{return getCategoryKeysFromScripts(detectedScripts);},[detectedScripts]);const categoryItems=useMemo(()=>{return categoryKeys.map(key=>({key,label:getCategoryLabel(key,props.categories),description:getCategoryDescription(key,props.categories),locked:key===\"necessary\"}));},[categoryKeys,props.categories]);const scanAndStoreScripts=useCallback(()=>{if(!isBrowser()||!props.integrations.scanScripts)return[];const scripts=scanConsentScripts();setDetectedScripts(scripts);if(props.integrations.debug){console.info(\"[Cookie Consent] Detected consent scripts\",scripts);}return scripts;},[props.integrations.scanScripts,props.integrations.debug]);useEffect(()=>{if(!isBrowser()){setReady(true);return;}const scripts=scanAndStoreScripts();const keys=getCategoryKeysFromScripts(scripts);const defaults=createDefaultToggles(keys,props.consent);if(props.integrations.googleConsentMode){updateGoogleConsent(createConsentFromToggles(defaults,props.consent.consentVersion));}if(isCanvas){setToggles(defaults);setBannerVisible(true);setFloatingVisible(false);setReady(true);return;}const existingConsent=readStoredConsent(props.consent.cookieName,props.consent.consentVersion);if(existingConsent){const normalized=normalizeStoredConsent(existingConsent,keys);setStoredConsent(normalized);setToggles(normalized.categories);setBannerVisible(false);setFloatingVisible(props.floatingButton.enabled);applyConsent(normalized,props,scripts);}else{setStoredConsent(null);setToggles(defaults);setBannerVisible(true);setFloatingVisible(false);setView(\"banner\");}setReady(true);},[props.consent.cookieName,props.consent.consentVersion,props.floatingButton.enabled]);useEffect(()=>{if(!isBrowser()||!props.integrations.observeNewScripts||!props.integrations.scanScripts){return;}let raf=0;const observer=new MutationObserver(()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>{const scripts=scanAndStoreScripts();if(storedConsent){applyConsent(storedConsent,props,scripts);}});});observer.observe(document.documentElement,{childList:true,subtree:true});return()=>{cancelAnimationFrame(raf);observer.disconnect();};},[props.integrations.observeNewScripts,props.integrations.scanScripts,storedConsent,scanAndStoreScripts,props]);useEffect(()=>{if(bannerVisible){requestAnimationFrame(()=>setMounted(true));}else{setMounted(false);}},[bannerVisible]);useEffect(()=>{setToggles(current=>{const next={...current};for(const key of categoryKeys){if(typeof next[key]!==\"boolean\"){next[key]=getDefaultCategoryValue(key,props.consent);}}next.necessary=true;return next;});},[categoryKeys.join(\"|\")]);const openSettings=useCallback(()=>{const scripts=scanAndStoreScripts();setDetectedScripts(scripts);setView(\"settings\");setBannerVisible(true);setFloatingVisible(false);},[scanAndStoreScripts]);const resetConsent=useCallback(()=>{if(!isBrowser())return;clearStoredConsent(props.consent.cookieName);const scripts=scanAndStoreScripts();const keys=getCategoryKeysFromScripts(scripts);const defaults=createDefaultToggles(keys,props.consent);setStoredConsent(null);setDetectedScripts(scripts);setToggles(defaults);setView(\"banner\");setBannerVisible(true);setFloatingVisible(false);if(props.integrations.googleConsentMode){updateGoogleConsent(createConsentFromToggles(defaults,props.consent.consentVersion));}},[props.consent.cookieName,props.consent.consentVersion,props.consent,props.integrations.googleConsentMode,scanAndStoreScripts]);useEffect(()=>{if(!isBrowser())return;window.cookieConsent={state:storedConsent,hasConsent:category=>{if(!storedConsent)return false;return isCategoryAllowed(storedConsent,category);},openSettings,reset:resetConsent};const functionName=props.integrations.settingsFunctionName?.trim();if(functionName&&isValidGlobalFunctionName(functionName)){window[functionName]=openSettings;}return()=>{if(functionName&&isValidGlobalFunctionName(functionName)&&window[functionName]===openSettings){delete window[functionName];}};},[storedConsent,openSettings,resetConsent,props.integrations.settingsFunctionName]);useEffect(()=>{if(!storedConsent||!isBrowser()||isCanvas)return;const scripts=scanAndStoreScripts();applyConsent(storedConsent,props,scripts);},[storedConsent,props.integrations.scanScripts,props.integrations.googleConsentMode,props.integrations.consentEventName]);const updateToggle=useCallback((category,value)=>{if(category===\"necessary\")return;setToggles(current=>({...current,[category]:value,necessary:true}));},[]);const saveConsent=useCallback(nextToggles=>{const scripts=scanAndStoreScripts();const nextConsent=createConsentFromToggles(nextToggles,props.consent.consentVersion);setStoredConsent(nextConsent);setToggles(nextConsent.categories);if(!isCanvas){writeStoredConsent(props.consent.cookieName,nextConsent,props.consent.expiryDays);applyConsent(nextConsent,props,scripts);setBannerVisible(false);setFloatingVisible(props.floatingButton.enabled);}},[props.consent.cookieName,props.consent.consentVersion,props.consent.expiryDays,props.floatingButton.enabled,props,scanAndStoreScripts,isCanvas]);const acceptAll=useCallback(()=>{const scripts=scanAndStoreScripts();const keys=getCategoryKeysFromScripts(scripts);const next={};for(const key of keys){next[key]=true;}next.necessary=true;saveConsent(next);},[scanAndStoreScripts,saveConsent]);const rejectAll=useCallback(()=>{const scripts=scanAndStoreScripts();const keys=getCategoryKeysFromScripts(scripts);const next={};for(const key of keys){next[key]=key===\"necessary\";}saveConsent(next);},[scanAndStoreScripts,saveConsent]);const saveSettings=useCallback(()=>{saveConsent({...toggles,necessary:true});},[saveConsent,toggles]);if(!ready)return null;const shouldRenderBanner=bannerVisible||isCanvas;const shouldRenderFloatingButton=!isCanvas&&!bannerVisible&&floatingVisible&&props.floatingButton.enabled;return /*#__PURE__*/_jsxs(_Fragment,{children:[shouldRenderBanner?/*#__PURE__*/_jsx(\"div\",{style:getBannerWrapperStyle(props,isCanvas),children:/*#__PURE__*/_jsx(\"section\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":props.content.title,style:{...getPanelStyle(props,mounted,isCanvas),...props.style},children:view===\"banner\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(HeaderContent,{title:props.content.title,message:props.content.message,helperText:props.content.helperText,showHelperText:props.layout.showHelperText,privacyLabel:props.privacy.privacyLabel,privacyUrl:props.privacy.privacyUrl,colors:props.colors,typography:props.typography}),/*#__PURE__*/_jsxs(\"div\",{style:getButtonRowStyle(props),children:[/*#__PURE__*/_jsx(Button,{label:props.buttons.customize,variant:\"ghost\",props:props,onClick:()=>setView(\"settings\")}),props.consent.showRejectAll?/*#__PURE__*/_jsx(Button,{label:props.buttons.rejectAll,variant:\"secondary\",props:props,onClick:rejectAll}):null,/*#__PURE__*/_jsx(Button,{label:props.buttons.acceptAll,variant:\"primary\",props:props,onClick:acceptAll})]})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(HeaderContent,{title:props.content.settingsTitle,message:props.content.settingsMessage,helperText:props.content.helperText,showHelperText:props.layout.showHelperText,privacyLabel:props.privacy.privacyLabel,privacyUrl:props.privacy.privacyUrl,colors:props.colors,typography:props.typography}),/*#__PURE__*/_jsx(\"div\",{style:getCategoryListStyle(),children:categoryItems.map((item,index)=>{const checked=item.key===\"necessary\"?true:Boolean(toggles[item.key]);return /*#__PURE__*/_jsx(CategoryToggle,{label:item.label,description:item.description,checked:checked,locked:item.locked,hasBorder:index>0,colors:props.colors,typography:props.typography,onChange:value=>updateToggle(item.key,value)},item.key);})}),/*#__PURE__*/_jsxs(\"div\",{style:getButtonRowStyle(props),children:[/*#__PURE__*/_jsx(Button,{label:props.buttons.back,variant:\"ghost\",props:props,onClick:()=>setView(\"banner\")}),props.consent.showRejectAll?/*#__PURE__*/_jsx(Button,{label:props.buttons.rejectAll,variant:\"secondary\",props:props,onClick:rejectAll}):null,/*#__PURE__*/_jsx(Button,{label:props.buttons.save,variant:\"primary\",props:props,onClick:saveSettings})]})]})})}):null,shouldRenderFloatingButton?/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-label\":props.floatingButton.label,title:props.floatingButton.label,onClick:openSettings,style:getFloatingButtonStyle(props),children:[/*#__PURE__*/_jsx(CookieIcon,{}),props.floatingButton.showLabel?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:props.typography.buttonSize,fontWeight:700,whiteSpace:\"nowrap\"},children:props.floatingButton.label}):null]}):null]});}function HeaderContent({title,message,helperText,showHelperText,privacyLabel,privacyUrl,colors,typography}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:7,minWidth:0},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontFamily:typography.fontFamily,fontSize:typography.titleSize,lineHeight:1.18,fontWeight:750,letterSpacing:\"-0.025em\",color:colors.text},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontFamily:typography.fontFamily,fontSize:typography.textSize,lineHeight:1.55,color:colors.mutedText},children:[message,privacyUrl&&privacyLabel?/*#__PURE__*/_jsxs(_Fragment,{children:[\" \",/*#__PURE__*/_jsx(\"a\",{href:privacyUrl,target:\"_blank\",rel:\"noreferrer noopener\",style:{color:colors.primary,textDecoration:\"underline\",textUnderlineOffset:3,fontWeight:650},children:privacyLabel})]}):null]}),showHelperText?/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:typography.fontFamily,fontSize:Math.max(typography.textSize-2,11),lineHeight:1.45,color:colors.mutedText,opacity:.78},children:helperText}):null]});}function Button({label,variant,props,onClick}){const[hovered,setHovered]=useState(false);return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onClick,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{...getButtonStyle(props,variant),opacity:hovered?.88:1,transform:hovered?\"translateY(-1px)\":\"translateY(0)\"},children:label});}function CategoryToggle({label,description,checked,locked,hasBorder,colors,typography,onChange}){const[hovered,setHovered]=useState(false);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16,padding:\"14px 0\",borderTop:hasBorder?`1px solid ${colors.border}`:\"none\",minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,minWidth:0,flex:1},children:[/*#__PURE__*/_jsx(\"strong\",{style:{fontFamily:typography.fontFamily,fontSize:typography.textSize,lineHeight:1.3,color:colors.text,fontWeight:700},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:typography.fontFamily,fontSize:Math.max(typography.textSize-1,11),lineHeight:1.45,color:colors.mutedText},children:description})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"switch\",\"aria-checked\":checked,\"aria-label\":label,disabled:locked,onClick:()=>onChange(!checked),onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{appearance:\"none\",border:\"none\",width:48,minWidth:48,height:28,borderRadius:999,padding:3,background:checked?colors.toggleOn:colors.toggleOff,cursor:locked?\"not-allowed\":\"pointer\",opacity:locked?.62:hovered?.88:1,display:\"flex\",alignItems:\"center\",justifyContent:checked?\"flex-end\":\"flex-start\",transition:\"background 180ms ease, opacity 150ms ease, transform 150ms ease\",flexShrink:0},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:22,height:22,borderRadius:\"50%\",background:\"#FFFFFF\",boxShadow:\"0 1px 5px rgba(0,0,0,0.24)\"}})})]});}function CookieIcon(){return /*#__PURE__*/_jsxs(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",focusable:\"false\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20.2 13.1A8.5 8.5 0 0 1 10.9 3.8 8.5 8.5 0 1 0 20.2 13.1Z\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.5 9.2H8.51M11.2 16H11.21M15.3 13.1H15.31\",stroke:\"currentColor\",strokeWidth:\"2.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}function getBannerWrapperStyle(props,isCanvas){if(isCanvas){return{position:\"relative\",display:\"flex\",width:\"100%\",height:\"100%\",minWidth:0,minHeight:0,alignItems:\"center\",justifyContent:\"center\",boxSizing:\"border-box\",pointerEvents:\"auto\"};}const padding=`max(${props.layout.safeAreaPadding}px, env(safe-area-inset-bottom)) max(${props.layout.safeAreaPadding}px, env(safe-area-inset-right)) max(${props.layout.safeAreaPadding}px, env(safe-area-inset-bottom)) max(${props.layout.safeAreaPadding}px, env(safe-area-inset-left))`;const base={position:\"fixed\",zIndex:props.layout.zIndex,display:\"flex\",boxSizing:\"border-box\",pointerEvents:\"none\",padding,width:\"100%\",maxWidth:\"100vw\"};if(props.layout.position===\"bottomLeft\"){return{...base,left:0,right:0,bottom:0,justifyContent:\"flex-start\",alignItems:\"flex-end\"};}if(props.layout.position===\"bottomRight\"){return{...base,left:0,right:0,bottom:0,justifyContent:\"flex-end\",alignItems:\"flex-end\"};}if(props.layout.position===\"topCenter\"){return{...base,left:0,right:0,top:0,justifyContent:\"center\",alignItems:\"flex-start\"};}return{...base,left:0,right:0,bottom:0,justifyContent:\"center\",alignItems:\"flex-end\"};}function getPanelStyle(props,mounted,isCanvas){const positionShift=props.layout.position===\"topCenter\"?-16:16;return{pointerEvents:\"auto\",width:\"100%\",minWidth:0,boxSizing:\"border-box\",background:props.colors.background,color:props.colors.text,border:`1px solid ${props.colors.border}`,borderRadius:props.layout.radius,padding:props.layout.panelPadding,boxShadow:\"0 16px 60px rgba(0,0,0,0.18), 0 2px 10px rgba(0,0,0,0.06)\",fontFamily:props.typography.fontFamily,display:\"flex\",flexDirection:\"column\",gap:props.layout.contentGap,opacity:props.layout.animateIn&&!isCanvas?mounted?1:0:1,transform:props.layout.animateIn&&!isCanvas?mounted?\"translateY(0)\":`translateY(${positionShift}px)`:\"none\",transition:props.layout.animateIn&&!isCanvas?\"opacity 240ms ease, transform 300ms cubic-bezier(0.22,1,0.36,1)\":\"none\"};}function getButtonRowStyle(props){return{display:\"flex\",flexWrap:\"wrap\",gap:props.layout.buttonGap,alignItems:\"center\",justifyContent:\"flex-end\",minWidth:0};}function getCategoryListStyle(){return{display:\"flex\",flexDirection:\"column\",minWidth:0};}function getButtonStyle(props,variant){const radius=Math.max(props.layout.radius-8,8);const shared={appearance:\"none\",borderRadius:radius,padding:\"10px 16px\",fontFamily:props.typography.fontFamily,fontSize:props.typography.buttonSize,lineHeight:1,fontWeight:700,cursor:\"pointer\",minHeight:40,transition:\"opacity 150ms ease, transform 150ms ease\",whiteSpace:\"nowrap\",boxSizing:\"border-box\"};if(variant===\"primary\"){return{...shared,border:`1px solid ${props.colors.primary}`,background:props.colors.primary,color:props.colors.primaryText};}if(variant===\"secondary\"){return{...shared,border:`1px solid ${props.colors.border}`,background:props.colors.secondary,color:props.colors.secondaryText};}return{...shared,border:\"1px solid transparent\",background:\"transparent\",color:props.colors.mutedText,fontWeight:650};}function getFloatingButtonStyle(props){const side=props.floatingButton.position===\"bottomLeft\"?{left:props.floatingButton.offset}:{right:props.floatingButton.offset};return{position:\"fixed\",bottom:`max(${props.floatingButton.offset}px, env(safe-area-inset-bottom))`,zIndex:props.layout.zIndex,...side,width:props.floatingButton.size,minWidth:props.floatingButton.size,height:props.floatingButton.size,minHeight:props.floatingButton.size,borderRadius:999,border:`1px solid ${props.colors.border}`,background:props.colors.floatingBackground,color:props.colors.floatingText,boxShadow:\"0 10px 30px rgba(0,0,0,0.22), 0 2px 8px rgba(0,0,0,0.12)\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,padding:props.floatingButton.showLabel?\"0 14px\":0,cursor:\"pointer\",fontFamily:props.typography.fontFamily,boxSizing:\"border-box\"};}function mergeProps(defaults,incoming){return{...defaults,...incoming,content:{...defaults.content,...incoming.content||{}},buttons:{...defaults.buttons,...incoming.buttons||{}},categories:{...defaults.categories,...incoming.categories||{}},privacy:{...defaults.privacy,...incoming.privacy||{}},consent:{...defaults.consent,...incoming.consent||{}},integrations:{...defaults.integrations,...incoming.integrations||{}},layout:{...defaults.layout,...incoming.layout||{}},floatingButton:{...defaults.floatingButton,...incoming.floatingButton||{}},colors:{...defaults.colors,...incoming.colors||{}},typography:{...defaults.typography,...incoming.typography||{}}};}function isBrowser(){return typeof window!==\"undefined\"&&typeof document!==\"undefined\";}function normalizeCategoryKey(value){const raw=String(value||\"\").trim().toLowerCase();if(!raw)return\"\";return raw.replace(/&/g,\"and\").replace(/[^a-z0-9]+/g,\"_\").replace(/^_+|_+$/g,\"\");}function splitList(input){return String(input||\"\").split(/[,\\n]/g).map(item=>item.trim()).filter(Boolean);}function splitCategoryList(input){return splitList(input).map(normalizeCategoryKey).filter(Boolean);}function scanConsentScripts(){if(!isBrowser())return[];const selector=[\"script[data-cookie-category]\",\"script[data-cookie-categories]\"].join(\",\");const scripts=Array.from(document.querySelectorAll(selector));const results=[];scripts.forEach((element,index)=>{if(element.getAttribute(\"data-cookie-consent-loaded\")===\"true\")return;const categories=Array.from(new Set([...splitCategoryList(element.getAttribute(\"data-cookie-category\")),...splitCategoryList(element.getAttribute(\"data-cookie-categories\"))]));if(!categories.length)return;const sourceKey=element.getAttribute(\"data-cookie-src\")||element.getAttribute(\"src\")||element.textContent||index.toString();const existingId=element.getAttribute(\"data-cookie-id\");const generatedId=`cc_script_${hashString(`${sourceKey}_${categories.join(\"_\")}_${index}`)}`;const id=existingId||generatedId;if(!existingId){element.setAttribute(\"data-cookie-id\",id);}results.push({id,element,categories,serviceName:element.getAttribute(\"data-cookie-service\")||element.getAttribute(\"data-service\")||\"\",cleanCookies:splitList(element.getAttribute(\"data-cookie-clean-cookies\")),cleanStorage:splitList(element.getAttribute(\"data-cookie-clean-storage\")),loadOnce:element.getAttribute(\"data-cookie-load-once\")!==\"false\"});});return results;}function getCategoryKeysFromScripts(scripts){const keys=new Set([\"necessary\",\"preferences\",\"analytics\",\"marketing\"]);for(const script of scripts||[]){for(const category of script.categories){const normalized=normalizeCategoryKey(category);if(normalized)keys.add(normalized);}}return Array.from(keys);}function getDefaultCategoryValue(category,consentSettings){if(category===\"necessary\")return true;if(category===\"preferences\")return Boolean(consentSettings.defaultPreferences);if(category===\"analytics\")return Boolean(consentSettings.defaultAnalytics);if(category===\"marketing\")return Boolean(consentSettings.defaultMarketing);return false;}function createDefaultToggles(categoryKeys,consentSettings){const next={};for(const key of categoryKeys){next[key]=getDefaultCategoryValue(key,consentSettings);}next.necessary=true;return next;}function createConsentFromToggles(toggles,version){const now=new Date().toISOString();const categories={};for(const key of Object.keys(toggles)){categories[normalizeCategoryKey(key)]=Boolean(toggles[key]);}categories.necessary=true;return{version,createdAt:now,updatedAt:now,categories};}function normalizeStoredConsent(stored,categoryKeys){const categories={...stored.categories||{}};for(const key of categoryKeys){const normalized=normalizeCategoryKey(key);if(normalized===\"necessary\"){categories.necessary=true;continue;}if(typeof categories[normalized]!==\"boolean\"){categories[normalized]=false;}}categories.necessary=true;return{...stored,categories};}function readStoredConsent(cookieName,version){if(!isBrowser())return null;const storageKey=`cc_${cookieName}`;try{const localValue=window.localStorage.getItem(storageKey);if(localValue){const parsed=JSON.parse(localValue);if(parsed?.version===version&&parsed?.categories)return parsed;}}catch{}try{const cookieValue=document.cookie.split(\"; \").find(item=>item.startsWith(`${cookieName}=`));if(!cookieValue)return null;const parsed=JSON.parse(decodeURIComponent(cookieValue.slice(cookieName.length+1)));if(parsed?.version===version&&parsed?.categories)return parsed;}catch{}return null;}function writeStoredConsent(cookieName,consent,expiryDays){if(!isBrowser())return;const maxAge=Math.max(1,expiryDays)*24*60*60;const encoded=encodeURIComponent(JSON.stringify(consent));const secure=window.location.protocol===\"https:\"?\"; Secure\":\"\";try{window.localStorage.setItem(`cc_${cookieName}`,JSON.stringify(consent));}catch{}document.cookie=`${cookieName}=${encoded}; Max-Age=${maxAge}; Path=/; SameSite=Lax${secure}`;}function clearStoredConsent(cookieName){if(!isBrowser())return;try{window.localStorage.removeItem(`cc_${cookieName}`);}catch{}deleteCookieEverywhere(cookieName);}function isCategoryAllowed(consent,category){const normalized=normalizeCategoryKey(category);if(normalized===\"necessary\")return true;return Boolean(consent.categories?.[normalized]);}function areScriptCategoriesAllowed(consent,script){return script.categories.every(category=>isCategoryAllowed(consent,category));}function applyConsent(consent,props,scripts){if(!isBrowser())return;const existingOpenSettings=window.cookieConsent?.openSettings;const existingReset=window.cookieConsent?.reset;window.cookieConsent={state:consent,hasConsent:category=>isCategoryAllowed(consent,category),openSettings:typeof existingOpenSettings===\"function\"?existingOpenSettings:()=>{},reset:typeof existingReset===\"function\"?existingReset:()=>{}};if(props.integrations.googleConsentMode)updateGoogleConsent(consent);cleanupBlockedTrackingStorage(consent,scripts);activateAllowedScripts(consent,scripts,props);const eventName=props.integrations.consentEventName?.trim()||\"cookieConsentUpdated\";window.dispatchEvent(new CustomEvent(eventName,{detail:consent}));if(props.integrations.debug){console.info(\"[Cookie Consent] Consent applied\",consent);}}function updateGoogleConsent(consent){if(!isBrowser())return;window.dataLayer=window.dataLayer||[];window.gtag=window.gtag||function gtagFallback(){window.dataLayer?.push(arguments);};const analyticsGranted=isCategoryAllowed(consent,\"analytics\");const marketingGranted=isCategoryAllowed(consent,\"marketing\");const preferencesGranted=isCategoryAllowed(consent,\"preferences\");window.gtag(\"consent\",\"update\",{analytics_storage:analyticsGranted?\"granted\":\"denied\",ad_storage:marketingGranted?\"granted\":\"denied\",ad_user_data:marketingGranted?\"granted\":\"denied\",ad_personalization:marketingGranted?\"granted\":\"denied\",functionality_storage:preferencesGranted?\"granted\":\"denied\",personalization_storage:preferencesGranted?\"granted\":\"denied\",security_storage:\"granted\"});}function activateAllowedScripts(consent,scripts,props){if(!isBrowser())return;for(const script of scripts){if(!areScriptCategoriesAllowed(consent,script))continue;const alreadyLoaded=document.querySelector(`script[data-cookie-consent-loaded=\"true\"][data-cookie-id=\"${script.id}\"]`);if(alreadyLoaded&&script.loadOnce)continue;if(alreadyLoaded&&!script.loadOnce)alreadyLoaded.remove();const element=script.element;if(!element.isConnected)continue;if(element.getAttribute(\"data-cookie-activated\")===\"true\"&&script.loadOnce)continue;const activeScript=document.createElement(\"script\");const desiredType=element.getAttribute(\"data-cookie-type\")||(element.getAttribute(\"type\")===\"text/plain\"?\"text/javascript\":element.getAttribute(\"type\"))||\"text/javascript\";const desiredSrc=element.getAttribute(\"data-cookie-src\")||element.getAttribute(\"src\")||\"\";for(const attr of Array.from(element.attributes)){const name=attr.name.toLowerCase();if([\"type\",\"src\",\"data-cookie-src\",\"data-cookie-type\",\"data-cookie-activated\",\"data-cookie-blocked\"].includes(name))continue;activeScript.setAttribute(attr.name,attr.value);}activeScript.type=desiredType;activeScript.setAttribute(\"data-cookie-consent-loaded\",\"true\");activeScript.setAttribute(\"data-cookie-activated\",\"true\");activeScript.setAttribute(\"data-cookie-id\",script.id);if(desiredSrc)activeScript.src=desiredSrc;if(element.textContent?.trim())activeScript.text=element.textContent;element.setAttribute(\"data-cookie-activated\",\"true\");element.replaceWith(activeScript);if(props.integrations.debug){console.info(\"[Cookie Consent] Activated script\",{id:script.id,service:script.serviceName,categories:script.categories,src:desiredSrc});}}}function cleanupBlockedTrackingStorage(consent,scripts){if(!isBrowser())return;for(const script of scripts||[]){if(areScriptCategoriesAllowed(consent,script))continue;for(const cookieName of script.cleanCookies){deleteCookieEverywhere(cookieName);}for(const key of script.cleanStorage){try{window.localStorage.removeItem(key);window.sessionStorage.removeItem(key);}catch{}}}}function deleteCookieEverywhere(name){if(!isBrowser()||!name)return;const host=window.location.hostname;const parts=host.split(\".\");const domains=new Set([host,`.${host}`]);for(let i=0;i<parts.length-1;i++){domains.add(`.${parts.slice(i).join(\".\")}`);}document.cookie=`${name}=; Max-Age=0; Path=/`;for(const domain of domains){document.cookie=`${name}=; Max-Age=0; Path=/; Domain=${domain}`;}}function getCategoryLabel(category,text){if(category===\"necessary\")return text.necessaryLabel;if(category===\"preferences\")return text.preferencesLabel;if(category===\"analytics\")return text.analyticsLabel;if(category===\"marketing\")return text.marketingLabel;return toTitleCase(category.replace(/_/g,\" \"));}function getCategoryDescription(category,text){if(category===\"necessary\")return text.necessaryDescription;if(category===\"preferences\")return text.preferencesDescription;if(category===\"analytics\")return text.analyticsDescription;if(category===\"marketing\")return text.marketingDescription;return\"Controls scripts and storage assigned to this custom consent category.\";}function toTitleCase(value){return value.replace(/\\w\\S*/g,text=>text.charAt(0).toUpperCase()+text.slice(1).toLowerCase());}function isValidGlobalFunctionName(value){return/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(value);}function hashString(input){let hash=0;for(let i=0;i<input.length;i++){hash=(hash<<5)-hash+input.charCodeAt(i);hash|=0;}return Math.abs(hash).toString(36);}CookieConsentBanner.displayName=\"Cookie Consent Banner\";addPropertyControls(CookieConsentBanner,{content:{type:ControlType.Object,title:\"Content\",controls:{title:{type:ControlType.String,title:\"Banner Title\",defaultValue:DEFAULT_PROPS.content.title},message:{type:ControlType.String,title:\"Banner Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.content.message},settingsTitle:{type:ControlType.String,title:\"Settings Title\",defaultValue:DEFAULT_PROPS.content.settingsTitle},settingsMessage:{type:ControlType.String,title:\"Settings Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.content.settingsMessage},helperText:{type:ControlType.String,title:\"Script Help\",displayTextArea:true,defaultValue:DEFAULT_PROPS.content.helperText}},defaultValue:DEFAULT_PROPS.content},buttons:{type:ControlType.Object,title:\"Buttons\",controls:{acceptAll:{type:ControlType.String,title:\"Accept All\",defaultValue:DEFAULT_PROPS.buttons.acceptAll},rejectAll:{type:ControlType.String,title:\"Reject All\",defaultValue:DEFAULT_PROPS.buttons.rejectAll},customize:{type:ControlType.String,title:\"Customize\",defaultValue:DEFAULT_PROPS.buttons.customize},save:{type:ControlType.String,title:\"Save\",defaultValue:DEFAULT_PROPS.buttons.save},back:{type:ControlType.String,title:\"Back\",defaultValue:DEFAULT_PROPS.buttons.back}},defaultValue:DEFAULT_PROPS.buttons},categories:{type:ControlType.Object,title:\"Categories\",controls:{necessaryLabel:{type:ControlType.String,title:\"Necessary\",defaultValue:DEFAULT_PROPS.categories.necessaryLabel},necessaryDescription:{type:ControlType.String,title:\"Necessary Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.categories.necessaryDescription},preferencesLabel:{type:ControlType.String,title:\"Preferences\",defaultValue:DEFAULT_PROPS.categories.preferencesLabel},preferencesDescription:{type:ControlType.String,title:\"Preferences Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.categories.preferencesDescription},analyticsLabel:{type:ControlType.String,title:\"Analytics\",defaultValue:DEFAULT_PROPS.categories.analyticsLabel},analyticsDescription:{type:ControlType.String,title:\"Analytics Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.categories.analyticsDescription},marketingLabel:{type:ControlType.String,title:\"Marketing\",defaultValue:DEFAULT_PROPS.categories.marketingLabel},marketingDescription:{type:ControlType.String,title:\"Marketing Text\",displayTextArea:true,defaultValue:DEFAULT_PROPS.categories.marketingDescription}},defaultValue:DEFAULT_PROPS.categories},privacy:{type:ControlType.Object,title:\"Privacy\",controls:{privacyLabel:{type:ControlType.String,title:\"Link Label\",defaultValue:DEFAULT_PROPS.privacy.privacyLabel},privacyUrl:{type:ControlType.String,title:\"Link URL\",defaultValue:DEFAULT_PROPS.privacy.privacyUrl}},defaultValue:DEFAULT_PROPS.privacy},consent:{type:ControlType.Object,title:\"Consent\",controls:{cookieName:{type:ControlType.String,title:\"Cookie Name\",defaultValue:DEFAULT_PROPS.consent.cookieName},consentVersion:{type:ControlType.String,title:\"Version\",defaultValue:DEFAULT_PROPS.consent.consentVersion},expiryDays:{type:ControlType.Number,title:\"Expiry Days\",min:1,max:730,step:1,defaultValue:DEFAULT_PROPS.consent.expiryDays},defaultPreferences:{type:ControlType.Boolean,title:\"Default Prefs\",defaultValue:DEFAULT_PROPS.consent.defaultPreferences},defaultAnalytics:{type:ControlType.Boolean,title:\"Default Analytics\",defaultValue:DEFAULT_PROPS.consent.defaultAnalytics},defaultMarketing:{type:ControlType.Boolean,title:\"Default Marketing\",defaultValue:DEFAULT_PROPS.consent.defaultMarketing},showRejectAll:{type:ControlType.Boolean,title:\"Reject Button\",defaultValue:DEFAULT_PROPS.consent.showRejectAll,enabledTitle:\"Show\",disabledTitle:\"Hide\"}},defaultValue:DEFAULT_PROPS.consent},integrations:{type:ControlType.Object,title:\"Integrations\",controls:{scanScripts:{type:ControlType.Boolean,title:\"Scan Scripts\",defaultValue:DEFAULT_PROPS.integrations.scanScripts},observeNewScripts:{type:ControlType.Boolean,title:\"Watch Scripts\",defaultValue:DEFAULT_PROPS.integrations.observeNewScripts},googleConsentMode:{type:ControlType.Boolean,title:\"Google Consent\",defaultValue:DEFAULT_PROPS.integrations.googleConsentMode},consentEventName:{type:ControlType.String,title:\"Event Name\",defaultValue:DEFAULT_PROPS.integrations.consentEventName},settingsFunctionName:{type:ControlType.String,title:\"Open Function\",defaultValue:DEFAULT_PROPS.integrations.settingsFunctionName},debug:{type:ControlType.Boolean,title:\"Debug Logs\",defaultValue:DEFAULT_PROPS.integrations.debug}},defaultValue:DEFAULT_PROPS.integrations},layout:{type:ControlType.Object,title:\"Layout\",controls:{position:{type:ControlType.Enum,title:\"Position\",options:[\"bottomCenter\",\"bottomLeft\",\"bottomRight\",\"topCenter\"],optionTitles:[\"Bottom Center\",\"Bottom Left\",\"Bottom Right\",\"Top Center\"],defaultValue:DEFAULT_PROPS.layout.position},zIndex:{type:ControlType.Number,title:\"Z Index\",min:1,max:9999999,step:1,defaultValue:DEFAULT_PROPS.layout.zIndex},safeAreaPadding:{type:ControlType.Number,title:\"Screen Pad\",min:0,max:48,step:1,defaultValue:DEFAULT_PROPS.layout.safeAreaPadding},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:48,step:1,defaultValue:DEFAULT_PROPS.layout.radius},panelPadding:{type:ControlType.Number,title:\"Panel Pad\",min:8,max:48,step:1,defaultValue:DEFAULT_PROPS.layout.panelPadding},contentGap:{type:ControlType.Number,title:\"Content Gap\",min:4,max:36,step:1,defaultValue:DEFAULT_PROPS.layout.contentGap},buttonGap:{type:ControlType.Number,title:\"Button Gap\",min:4,max:24,step:1,defaultValue:DEFAULT_PROPS.layout.buttonGap},showHelperText:{type:ControlType.Boolean,title:\"Script Help\",defaultValue:DEFAULT_PROPS.layout.showHelperText},animateIn:{type:ControlType.Boolean,title:\"Animate\",defaultValue:DEFAULT_PROPS.layout.animateIn}},defaultValue:DEFAULT_PROPS.layout},floatingButton:{type:ControlType.Object,title:\"Cookie Icon\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:DEFAULT_PROPS.floatingButton.enabled},position:{type:ControlType.Enum,title:\"Position\",options:[\"bottomLeft\",\"bottomRight\"],optionTitles:[\"Bottom Left\",\"Bottom Right\"],defaultValue:DEFAULT_PROPS.floatingButton.position},label:{type:ControlType.String,title:\"Label\",defaultValue:DEFAULT_PROPS.floatingButton.label},showLabel:{type:ControlType.Boolean,title:\"Show Label\",defaultValue:DEFAULT_PROPS.floatingButton.showLabel},offset:{type:ControlType.Number,title:\"Offset\",min:0,max:80,step:1,defaultValue:DEFAULT_PROPS.floatingButton.offset},size:{type:ControlType.Number,title:\"Icon Size\",min:40,max:80,step:1,defaultValue:DEFAULT_PROPS.floatingButton.size}},defaultValue:DEFAULT_PROPS.floatingButton},colors:{type:ControlType.Object,title:\"Colors\",controls:{background:{type:ControlType.Color,title:\"Background\",defaultValue:DEFAULT_PROPS.colors.background},text:{type:ControlType.Color,title:\"Text\",defaultValue:DEFAULT_PROPS.colors.text},mutedText:{type:ControlType.Color,title:\"Muted Text\",defaultValue:DEFAULT_PROPS.colors.mutedText},border:{type:ControlType.Color,title:\"Border\",defaultValue:DEFAULT_PROPS.colors.border},primary:{type:ControlType.Color,title:\"Primary\",defaultValue:DEFAULT_PROPS.colors.primary},primaryText:{type:ControlType.Color,title:\"Primary Text\",defaultValue:DEFAULT_PROPS.colors.primaryText},secondary:{type:ControlType.Color,title:\"Secondary\",defaultValue:DEFAULT_PROPS.colors.secondary},secondaryText:{type:ControlType.Color,title:\"Secondary Text\",defaultValue:DEFAULT_PROPS.colors.secondaryText},toggleOn:{type:ControlType.Color,title:\"Toggle On\",defaultValue:DEFAULT_PROPS.colors.toggleOn},toggleOff:{type:ControlType.Color,title:\"Toggle Off\",defaultValue:DEFAULT_PROPS.colors.toggleOff},floatingBackground:{type:ControlType.Color,title:\"Icon Bg\",defaultValue:DEFAULT_PROPS.colors.floatingBackground},floatingText:{type:ControlType.Color,title:\"Icon Color\",defaultValue:DEFAULT_PROPS.colors.floatingText}},defaultValue:DEFAULT_PROPS.colors},typography:{type:ControlType.Object,title:\"Typography\",controls:{fontFamily:{type:ControlType.String,title:\"Font\",defaultValue:DEFAULT_PROPS.typography.fontFamily},titleSize:{type:ControlType.Number,title:\"Title Size\",min:12,max:40,step:1,defaultValue:DEFAULT_PROPS.typography.titleSize},textSize:{type:ControlType.Number,title:\"Text Size\",min:10,max:24,step:1,defaultValue:DEFAULT_PROPS.typography.textSize},buttonSize:{type:ControlType.Number,title:\"Button Size\",min:10,max:22,step:1,defaultValue:DEFAULT_PROPS.typography.buttonSize}},defaultValue:DEFAULT_PROPS.typography}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CookieConsentBanner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CookieConsent.map"],"mappings":"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"}