{"version":3,"file":"LocaleBanner.BioVHM8R.mjs","names":[],"sources":["https:/framerusercontent.com/modules/gNZ6wPHuaDsckuybJuvV/3pWX9U3ajgG2tF4vOork/LocaleBanner.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{useIsOnFramerCanvas,useLocaleInfo,useTracking}from\"framer\";// Cookie names (set by CloudFront function)\nconst COOKIE_GEO=\"px_geo\";const COOKIE_RECO=\"px_reco\";const COOKIE_LOCALE_PREF=\"px_locale_pref\";const COOKIE_MAX_AGE=30*24*60*60// 30 days in seconds\n;// Locale → base language (for choosing message template & region name translations)\nconst LOCALE_LANG={root:\"de\",de:\"de\",at:\"de\",fr:\"fr\",\"fr-ch\":\"fr\",it:\"it\",\"it-ch\":\"it\",es:\"es\",en:\"en\",\"en-ch\":\"en\",\"en-gb\":\"en\"};// GeoIP country names per language (with correct grammar for \"visiting from {country}\")\n// German uses \"aus {x}\" — some countries need dative article (der Schweiz, den Niederlanden)\n// French uses \"depuis {x}\" — always needs article (la Suisse, l'Allemagne)\n// Italian includes merged preposition (dalla Svizzera = da + la Svizzera)\n// Spanish uses \"desde {x}\" — mostly no article except el Reino Unido\n// English uses \"from {x}\" — straightforward\nconst COUNTRY_NAMES={de:{CH:\"der Schweiz\",LI:\"Liechtenstein\",DE:\"Deutschland\",AT:\"\\xd6sterreich\",FR:\"Frankreich\",IT:\"Italien\",ES:\"Spanien\",GB:\"Grossbritannien\",NL:\"den Niederlanden\",LU:\"Luxemburg\",BG:\"Bulgarien\",US:\"den USA\",DK:\"D\\xe4nemark\"},fr:{CH:\"la Suisse\",LI:\"le Liechtenstein\",DE:\"l'Allemagne\",AT:\"l'Autriche\",FR:\"la France\",IT:\"l'Italie\",ES:\"l'Espagne\",GB:\"le Royaume-Uni\",NL:\"les Pays-Bas\",LU:\"le Luxembourg\",BG:\"la Bulgarie\",US:\"les \\xc9tats-Unis\",DK:\"le Danemark\"},it:{CH:\"dalla Svizzera\",LI:\"dal Liechtenstein\",DE:\"dalla Germania\",AT:\"dall'Austria\",FR:\"dalla Francia\",IT:\"dall'Italia\",ES:\"dalla Spagna\",GB:\"dal Regno Unito\",NL:\"dai Paesi Bassi\",LU:\"dal Lussemburgo\",BG:\"dalla Bulgaria\",US:\"dagli Stati Uniti\",DK:\"dalla Danimarca\"},es:{CH:\"Suiza\",LI:\"Liechtenstein\",DE:\"Alemania\",AT:\"Austria\",FR:\"Francia\",IT:\"Italia\",ES:\"Espa\\xf1a\",GB:\"el Reino Unido\",NL:\"los Pa\\xedses Bajos\",LU:\"Luxemburgo\",BG:\"Bulgaria\",US:\"Estados Unidos\",DK:\"Dinamarca\"},en:{CH:\"Switzerland\",LI:\"Liechtenstein\",DE:\"Germany\",AT:\"Austria\",FR:\"France\",IT:\"Italy\",ES:\"Spain\",GB:\"the United Kingdom\",NL:\"the Netherlands\",LU:\"Luxembourg\",BG:\"Bulgaria\",US:\"the United States\",DK:\"Denmark\"}};// Fallback: use Intl.DisplayNames for unlisted countries, with grammar fixes\n// French: \"depuis\" always needs an article (la Pologne, le Canada, l'Inde)\n// Italian: template omits preposition, so we prepend a merged form (dalla, dal, dall')\nfunction getCountryName(geo,lang){const name=COUNTRY_NAMES[lang]?.[geo];if(name)return name;try{const displayName=new Intl.DisplayNames([lang],{type:\"region\"}).of(geo)||geo;if(lang===\"fr\"){if(/^[aeiouéèêëàâîïôùûü]/i.test(displayName))return`l'${displayName}`;if(/e$/i.test(displayName))return`la ${displayName}`;return`le ${displayName}`;}if(lang===\"it\"){if(/^[aeiou]/i.test(displayName))return`dall'${displayName}`;if(/a$/i.test(displayName))return`dalla ${displayName}`;return`dal ${displayName}`;}return displayName;}catch{return geo;}}// Message templates — \"We see you are visiting from {GeoIP country}\" in each language\n// Note: Italian template omits \"da\" because the merged preposition is in COUNTRY_NAMES\nconst MESSAGE_TEMPLATES={de:c=>`Es scheint, dass Du aus ${c} kommst.`,fr:c=>`Il semble que vous nous visitez depuis ${c}.`,it:c=>`Sembra che tu ci stia visitando ${c}.`,es:c=>`Parece que est\\xe1s visitando desde ${c}.`,en:c=>`We see you are visiting from ${c}.`};// Recommended locale → label, stay button, and switch button labels\nconst LOCALE_MAP={root:{label:\"Deutsch (CH)\",stayButton:\"Hier bleiben\",switchButton:\"Seite f\\xfcr die Schweiz anzeigen\"},de:{label:\"Deutsch\",stayButton:\"Hier bleiben\",switchButton:\"Seite f\\xfcr Deutschland anzeigen\"},at:{label:\"Deutsch (AT)\",stayButton:\"Hier bleiben\",switchButton:\"Seite f\\xfcr \\xd6sterreich anzeigen\"},fr:{label:\"Fran\\xe7ais\",stayButton:\"Rester ici\",switchButton:\"Voir la page pour la France\"},it:{label:\"Italiano\",stayButton:\"Resta qui\",switchButton:\"Mostra la pagina per l'Italia\"},es:{label:\"Espa\\xf1ol\",stayButton:\"Quedarme aqu\\xed\",switchButton:\"Ver la p\\xe1gina para Espa\\xf1a\"},en:{label:\"English\",stayButton:\"Stay here\",switchButton:\"Show the English page\"},\"en-ch\":{label:\"English (CH)\",stayButton:\"Stay here\",switchButton:\"Show the page for Switzerland\"},\"en-gb\":{label:\"English (GB)\",stayButton:\"Stay here\",switchButton:\"Show the English (UK) page\"},\"fr-ch\":{label:\"Fran\\xe7ais (CH)\",stayButton:\"Rester ici\",switchButton:\"Voir la page pour la Suisse\"},\"it-ch\":{label:\"Italiano (CH)\",stayButton:\"Resta qui\",switchButton:\"Mostra la pagina per la Svizzera\"}};// Simple cookie helpers (mirrors the original script)\nfunction getCookie(name){if(typeof document===\"undefined\")return null;const m=document.cookie.match(new RegExp(\"(^| )\"+name+\"=([^;]+)\"));return m?decodeURIComponent(m[2]):null;}function setCookie(name,value){if(typeof document===\"undefined\")return;document.cookie=name+\"=\"+encodeURIComponent(value)+\"; Path=/; Max-Age=\"+COOKIE_MAX_AGE+\"; SameSite=Lax; Secure\";}const useStore=createStore({suggestion:null,isVisible:false,isResolved:false});// Internal hook — reads cookies, computes suggestion, populates the store once\nfunction useSuggestion(){const[store,setStore]=useStore();const isCanvas=useIsOnFramerCanvas();const{activeLocale}=useLocaleInfo();const localeSlug=activeLocale?.slug;useEffect(()=>{if(typeof window===\"undefined\"||isCanvas||!activeLocale||store.isResolved)return;if(getCookie(COOKIE_LOCALE_PREF)){setStore({suggestion:null,isVisible:false,isResolved:true});return;}const geo=getCookie(COOKIE_GEO);const reco=getCookie(COOKIE_RECO);if(!geo||!reco){setStore({suggestion:null,isVisible:false,isResolved:true});return;}// If already on the recommended locale, no banner needed\nconst currentSlug=localeSlug||\"root\";if(reco===currentSlug){setStore({suggestion:null,isVisible:false,isResolved:true});return;}const locale=LOCALE_MAP[reco];if(!locale){setStore({suggestion:null,isVisible:false,isResolved:true});return;}// Build message dynamically: \"We see you are visiting from {GeoIP country}\"\n// written in the recommended locale's language\nconst lang=LOCALE_LANG[reco];const countryName=getCountryName(geo,lang);const message=MESSAGE_TEMPLATES[lang]?.(countryName)??\"\";setStore({suggestion:{folder:reco,label:locale.label,message,stayButton:locale.stayButton,switchButton:locale.switchButton},isVisible:true,isResolved:true});},[localeSlug]);return{store,setStore};}// Controls banner container visibility\nexport function withLocaleBanner(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{store}=useSuggestion();const isCanvas=useIsOnFramerCanvas();if(isCanvas){return /*#__PURE__*/_jsx(Component,{ref:ref,...props});}if(!store.isResolved||!store.isVisible){return null;}return /*#__PURE__*/_jsx(Component,{ref:ref,...props,id:\"px-locale-banner\"});});}// Injects dynamic banner text\nexport function withLocaleBannerText(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{store}=useSuggestion();const isCanvas=useIsOnFramerCanvas();if(isCanvas){return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:\"Es scheint, dass Du aus Deutschland kommst.\"});}if(!store.suggestion){return /*#__PURE__*/_jsx(Component,{ref:ref,...props});}return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:store.suggestion.message});});}// Switch button — sets cookie and switches to recommended locale via Framer\nexport function withSwitchLocale(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{store,setStore}=useSuggestion();const{locales,setLocale}=useLocaleInfo();const track=useTracking();const handleSwitch=()=>{if(!store.suggestion)return;if(props.trackingID){track(props.trackingID);}const targetFolder=store.suggestion.folder;const targetLocale=locales.find(l=>targetFolder===\"root\"?!l.slug:l.slug===targetFolder);if(targetLocale){setCookie(COOKIE_LOCALE_PREF,targetFolder);setStore(prev=>({...prev,isVisible:false}));setLocale(targetLocale);}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleSwitch,viewOffers:store.suggestion?.switchButton});});}// Stay button — sets cookie to current locale and hides banner\nexport function withStayLocale(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{store,setStore}=useSuggestion();const{activeLocale}=useLocaleInfo();const track=useTracking();const handleStay=()=>{if(typeof window===\"undefined\")return;if(props.trackingID){track(props.trackingID);}const currentFolder=activeLocale?.slug||\"root\";setCookie(COOKIE_LOCALE_PREF,currentFolder);setStore(prev=>({...prev,isVisible:false}));};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleStay,viewOffers:store.suggestion?.stayButton});});}// Close button — sets cookie to current locale and hides banner\nexport function withCloseBanner(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[,setStore]=useStore();const{activeLocale}=useLocaleInfo();const handleClose=()=>{if(typeof window===\"undefined\")return;const currentFolder=activeLocale?.slug||\"root\";setCookie(COOKIE_LOCALE_PREF,currentFolder);setStore(prev=>({...prev,isVisible:false}));};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleClose});});}// ID overrides — apply to the parent frame layers that wrap text/link components.\n// Framer text and link components don't forward `id`, but frame components do.\nexport function withBannerTextId(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,id:\"px-locale-banner-text\"});});}export function withStayButtonId(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,id:\"px-locale-stay\"});});}export function withSwitchButtonId(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,id:\"px-locale-switch\"});});}export function withCloseButtonId(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,id:\"px-locale-close\"});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withBannerTextId\":{\"type\":\"reactHoc\",\"name\":\"withBannerTextId\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLocaleBannerText\":{\"type\":\"reactHoc\",\"name\":\"withLocaleBannerText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCloseBanner\":{\"type\":\"reactHoc\",\"name\":\"withCloseBanner\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLocaleBanner\":{\"type\":\"reactHoc\",\"name\":\"withLocaleBanner\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStayButtonId\":{\"type\":\"reactHoc\",\"name\":\"withStayButtonId\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSwitchButtonId\":{\"type\":\"reactHoc\",\"name\":\"withSwitchButtonId\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCloseButtonId\":{\"type\":\"reactHoc\",\"name\":\"withCloseButtonId\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSwitchLocale\":{\"type\":\"reactHoc\",\"name\":\"withSwitchLocale\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStayLocale\":{\"type\":\"reactHoc\",\"name\":\"withStayLocale\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LocaleBanner.map"],"mappings":"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"}