{"version":3,"file":"GeoPricing.O2KiUN2B.mjs","names":["useState","useMemo","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","window","pe","ce","init_jsx_runtime","p","_e","useIsStaticRenderer","addPropertyControls","ControlType","init_framer_B1b760uK","normalizeCountryCode","value","normalizeCurrencyCode","fallback","code","formatMoney","rawValue","priceString","cleanValue","numericPrice","safeCurrencyCode","currencyCode","splitDecimalPart","match","fetchCountryFromEndpoint","response","url","resolveCountry","scope","GEO_PROMISE_KEY","endpoint","GEO_ENDPOINTS","GEO_CACHE_KEY","GeoPricing","props","isStaticRenderer","detectedCountryCode","setDetectedCountryCode","safeDefaultCurrencyCode","defaultCurrencyCode","parsedPricingMap","map","pricingData","trimmedLine","line","parts","part","rowCountryCode","rowPrice","rowCurrencyCode","COUNTRY_TO_CURRENCY","rowOriginalPrice","countryMode","cached","isMounted","timeoutId","idleId","detectCountry","runWhenIdle","win","matchedPricing","countryCode","displayPrice","currencyDisplay","defaultPrice","displayOriginalPrice","originalPrice","defaultOriginalPrice","salePriceParts","originalPriceParts","containerStyle","gap","salePriceStyle","font","textColor","originalPriceStyle","originalFont","originalColor","originalStrikeThrough","decimalTextStyle","decimalFontScale","suffixStyle","suffixFont","suffixColor","suffix","init_GeoPricing"],"sources":["https:/framerusercontent.com/modules/tWoQd4iUClgwbcqeqxzX/4rRjvS8C1vO0oO88Wrj9/GeoPricing.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const COUNTRY_TO_CURRENCY={// Americas\nUS:\"USD\",CA:\"CAD\",MX:\"MXN\",BR:\"BRL\",AR:\"ARS\",CO:\"COP\",CL:\"CLP\",PE:\"PEN\",// Europe\nGB:\"GBP\",CH:\"CHF\",SE:\"SEK\",NO:\"NOK\",DK:\"DKK\",TR:\"TRY\",RU:\"RUB\",// Asia / Pacific\nIN:\"INR\",PK:\"PKR\",AU:\"AUD\",NZ:\"NZD\",JP:\"JPY\",CN:\"CNY\",SG:\"SGD\",ID:\"IDR\",MY:\"MYR\",TH:\"THB\",PH:\"PHP\",BD:\"BDT\",VN:\"VND\",// Middle East / Africa\nAE:\"AED\",SA:\"SAR\",ZA:\"ZAR\",NG:\"NGN\",EG:\"EGP\",// Eurozone\nDE:\"EUR\",FR:\"EUR\",IT:\"EUR\",ES:\"EUR\",NL:\"EUR\",BE:\"EUR\",AT:\"EUR\",GR:\"EUR\",PT:\"EUR\",FI:\"EUR\",IE:\"EUR\",SK:\"EUR\",EE:\"EUR\",LV:\"EUR\",LT:\"EUR\",LU:\"EUR\",MT:\"EUR\",CY:\"EUR\",SI:\"EUR\",HR:\"EUR\"};const GEO_ENDPOINTS=[\"https://api.country.is/\",\"https://get.geojs.io/v1/ip/country.json\"];const GEO_CACHE_KEY=\"geo_country\";// Same global Promise key used by GeoText.\n// This allows GeoText and GeoPricing to share ONE country lookup.\nconst GEO_PROMISE_KEY=\"__geoCountryPromise\";function normalizeCountryCode(value){if(!value)return\"\";return String(value).trim().toUpperCase().slice(0,2);}function normalizeCurrencyCode(value,fallback=\"USD\"){if(!value)return fallback;const code=String(value).trim().toUpperCase();return/^[A-Z]{3}$/.test(code)?code:fallback;}function formatMoney(priceString,currencyCode,currencyDisplay){const rawValue=String(priceString??\"\");const cleanValue=rawValue.replace(/,/g,\"\").replace(/[^\\d.-]/g,\"\");const numericPrice=Number(cleanValue);if(!Number.isFinite(numericPrice))return rawValue;const safeCurrencyCode=normalizeCurrencyCode(currencyCode);try{return new Intl.NumberFormat(\"en-US\",{style:\"currency\",currency:safeCurrencyCode,currencyDisplay,minimumFractionDigits:numericPrice%1===0?0:2,maximumFractionDigits:numericPrice%1===0?0:2}).format(numericPrice);}catch(error){return`${safeCurrencyCode} ${rawValue}`;}}function splitDecimalPart(value){const match=String(value).match(/^(.+?)([.,]\\d+)$/);if(!match){return{main:value,decimal:\"\"};}return{main:match[1],decimal:match[2]};}async function fetchCountryFromEndpoint(url){const response=await fetch(url);if(!response.ok){throw new Error(`Geo request failed: ${response.status}`);}const data=await response.json();return normalizeCountryCode(data?.country);}function resolveCountry(){const scope=window;// If GeoText has already started the request, reuse it.\n// If GeoPricing gets here first, it creates the request\n// and GeoText will reuse this same Promise.\nif(!scope[GEO_PROMISE_KEY]){scope[GEO_PROMISE_KEY]=(async()=>{for(const endpoint of GEO_ENDPOINTS){try{const code=await fetchCountryFromEndpoint(endpoint);if(code){try{sessionStorage.setItem(GEO_CACHE_KEY,code);}catch(e){}return code;}}catch(e){}}return\"\";})();}return scope[GEO_PROMISE_KEY];}export default function GeoPricing(props){const{defaultPrice,defaultOriginalPrice,defaultCurrencyCode,pricingData,countryMode,countryCode,suffix,font={},originalFont={},suffixFont={},gap,textColor,originalColor,suffixColor,currencyDisplay,decimalFontScale,originalStrikeThrough}=props;const isStaticRenderer=useIsStaticRenderer();const[detectedCountryCode,setDetectedCountryCode]=useState(\"\");const safeDefaultCurrencyCode=normalizeCurrencyCode(defaultCurrencyCode,\"USD\");const parsedPricingMap=useMemo(()=>{const map={};if(!pricingData)return map;const lines=pricingData.split(\"\\n\");lines.forEach(line=>{const trimmedLine=line.trim();if(!trimmedLine||trimmedLine.startsWith(\"#\"))return;const parts=trimmedLine.split(\",\").map(part=>part.trim());const rowCountryCode=normalizeCountryCode(parts[0]);const rowPrice=parts[1];const rowCurrencyCode=normalizeCurrencyCode(parts[2],COUNTRY_TO_CURRENCY[rowCountryCode]||safeDefaultCurrencyCode);const rowOriginalPrice=parts[3];if(!rowCountryCode||!rowPrice)return;map[rowCountryCode]={price:rowPrice,currencyCode:rowCurrencyCode,originalPrice:rowOriginalPrice};});return map;},[pricingData,safeDefaultCurrencyCode]);useEffect(()=>{const shouldAutoDetect=countryMode===\"auto\"&&isStaticRenderer===false;if(!shouldAutoDetect){setDetectedCountryCode(\"\");return;}// Instant on repeat views in the same tab session,\n// with no network request.\ntry{const cached=sessionStorage.getItem(GEO_CACHE_KEY);if(cached){setDetectedCountryCode(normalizeCountryCode(cached));return;}}catch(e){}let isMounted=true;let timeoutId;let idleId;async function detectCountry(){const code=await resolveCountry();if(isMounted&&code){setDetectedCountryCode(code);}}const runWhenIdle=()=>{const win=window;if(\"requestIdleCallback\"in window){idleId=win.requestIdleCallback(detectCountry,{timeout:2e3});}else{timeoutId=window.setTimeout(detectCountry,500);}};if(document.readyState===\"complete\"){runWhenIdle();}else{window.addEventListener(\"load\",runWhenIdle,{once:true});}return()=>{isMounted=false;window.removeEventListener(\"load\",runWhenIdle);if(timeoutId){window.clearTimeout(timeoutId);}const win=window;if(idleId&&\"cancelIdleCallback\"in window){win.cancelIdleCallback(idleId);}};},[countryMode,isStaticRenderer]);const activeCountryCode=useMemo(()=>{if(countryMode===\"auto\"&&isStaticRenderer===false){return detectedCountryCode;}return normalizeCountryCode(countryCode);},[countryMode,isStaticRenderer,detectedCountryCode,countryCode]);const matchedPricing=parsedPricingMap[activeCountryCode];const displayPrice=useMemo(()=>{if(matchedPricing){return formatMoney(matchedPricing.price,matchedPricing.currencyCode,currencyDisplay);}return formatMoney(defaultPrice,safeDefaultCurrencyCode,currencyDisplay);},[matchedPricing,defaultPrice,safeDefaultCurrencyCode,currencyDisplay]);const displayOriginalPrice=useMemo(()=>{const originalPrice=matchedPricing?.originalPrice||defaultOriginalPrice;const currencyCode=matchedPricing?.currencyCode||safeDefaultCurrencyCode;if(!originalPrice)return\"\";return formatMoney(originalPrice,currencyCode,currencyDisplay);},[matchedPricing,defaultOriginalPrice,safeDefaultCurrencyCode,currencyDisplay]);const salePriceParts=useMemo(()=>{return splitDecimalPart(displayPrice);},[displayPrice]);const originalPriceParts=useMemo(()=>{return splitDecimalPart(displayOriginalPrice);},[displayOriginalPrice]);const containerStyle={display:\"flex\",flexDirection:\"row\",alignItems:\"baseline\",justifyContent:\"center\",gap:`${gap}px`,width:\"100%\",height:\"100%\"};const salePriceStyle={fontFamily:\"Inter, sans-serif\",fontSize:\"64px\",...font,color:textColor,margin:0,whiteSpace:\"nowrap\"};const originalPriceStyle={fontFamily:\"Inter, sans-serif\",fontSize:\"42px\",...originalFont,color:originalColor,margin:0,whiteSpace:\"nowrap\",textDecoration:originalStrikeThrough?\"line-through\":\"none\"};const decimalTextStyle={fontSize:`${decimalFontScale}%`,lineHeight:1};const suffixStyle={fontFamily:\"Inter, sans-serif\",fontSize:\"20px\",...suffixFont,color:suffixColor,margin:0,whiteSpace:\"nowrap\"};return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,\"aria-label\":`Price ${displayPrice}${displayOriginalPrice?`, was ${displayOriginalPrice}`:\"\"}`,children:[/*#__PURE__*/_jsxs(\"p\",{style:salePriceStyle,children:[salePriceParts.main,salePriceParts.decimal&&/*#__PURE__*/_jsx(\"span\",{style:decimalTextStyle,children:salePriceParts.decimal})]}),displayOriginalPrice&&/*#__PURE__*/_jsxs(\"p\",{style:originalPriceStyle,children:[originalPriceParts.main,originalPriceParts.decimal&&/*#__PURE__*/_jsx(\"span\",{style:decimalTextStyle,children:originalPriceParts.decimal})]}),suffix&&/*#__PURE__*/_jsx(\"p\",{style:suffixStyle,children:suffix})]});}addPropertyControls(GeoPricing,{pricingData:{type:ControlType.String,displayTextArea:true,title:\"Country Data\",defaultValue:\"US, 79, USD, 129\\nGB, 59, GBP, 97\\nIN, 2999, INR, 4999\\nPK, 15000, PKR, 25000\",placeholder:\"US, 79, USD, 129\\nGB, 59, GBP, 97\",description:\"Format: Country Code, Sale Price, Currency Code, Original Price. Example: US, 79, USD, 129\"},defaultPrice:{type:ControlType.String,title:\"Default Sale\",defaultValue:\"79\"},defaultOriginalPrice:{type:ControlType.String,title:\"Default Original\",defaultValue:\"129\",description:\"Leave empty if you do not want to show an original price.\"},defaultCurrencyCode:{type:ControlType.String,title:\"Default Currency\",defaultValue:\"USD\",description:\"Fallback 3-letter currency code. Example: USD, EUR, GBP.\"},countryMode:{type:ControlType.Enum,title:\"Country Source\",options:[\"manual\",\"auto\"],optionTitles:[\"Manual\",\"Auto-detect\"],defaultValue:\"manual\",description:\"Manual uses the country code below. Auto-detect uses optional third-party IP geolocation on the live site only.\"},countryCode:{type:ControlType.String,title:\"Country Code\",defaultValue:\"US\",placeholder:\"US\",description:\"Used for manual mode and as the static preview country on Canvas/export.\"},currencyDisplay:{type:ControlType.Enum,title:\"Currency Style\",options:[\"narrowSymbol\",\"symbol\",\"code\"],optionTitles:[\"Narrow Symbol\",\"Symbol\",\"Code\"],defaultValue:\"narrowSymbol\"},font:{type:ControlType.Font,title:\"Sale Font\",controls:\"extended\"},textColor:{type:ControlType.Color,title:\"Sale Color\",defaultValue:\"#111827\"},originalFont:{type:ControlType.Font,title:\"Original Font\",controls:\"extended\"},originalColor:{type:ControlType.Color,title:\"Original Color\",defaultValue:\"#666666\"},originalStrikeThrough:{type:ControlType.Boolean,title:\"Strike Original\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},decimalFontScale:{type:ControlType.Number,title:\"Decimal Size\",defaultValue:50,min:10,max:100,step:1,unit:\"%\"},suffix:{type:ControlType.String,title:\"Suffix Text\",defaultValue:\"\"},suffixFont:{type:ControlType.Font,title:\"Suffix Font\",controls:\"extended\"},suffixColor:{type:ControlType.Color,title:\"Suffix Color\",defaultValue:\"#6B7280\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:24,min:0,max:100,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GeoPricing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GeoPricing.map"],"mappings":"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"}