{"version":3,"file":"PageWrapper.Cs71vppO.mjs","names":["useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/Ot4bt4FGD8AckW8AR3sU/rx91UAZ8XkNM10glj5xb/useCountryStore.js","https:/framer.com/m/useCountryStore-W96rph.js@rx91UAZ8XkNM10glj5xb","https:/framerusercontent.com/modules/y8PnE0HDUSIUadxPHL8W/4C08QHhn2heiiV0c7UOp/CountryDetector.js","https:/framerusercontent.com/modules/zgaCXeXEEcFXBcteBuPZ/5KyP92w4QmrI0ylLYqJS/CountryOptions.js","https:/framer.com/m/CountryOptions-fKNs0w.js@5KyP92w4QmrI0ylLYqJS","https:/framerusercontent.com/modules/5tZw8MtGsphhZuvSpcod/Wl8zhhjNx2D0biZZ3dnp/PageWrapper.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","// useCountryStore.ts\n// Shared global store — import this in every other override file\n// NOT an override itself, just a state utility\nimport{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useCountryStore=createStore({countryCode:null,isLoading:true});\nexport const __FramerMetadata__ = {\"exports\":{\"useCountryStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCountryStore.map","/*\n * useCountryStore\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Ot4bt4FGD8AckW8AR3sU/rx91UAZ8XkNM10glj5xb/useCountryStore.js\"\n","// CountryDetector.tsx\n// A invisible code component — drag it onto every page from the Assets panel.\n// Handles IP detection and page redirects.\nimport{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect}from\"react\";//@ts-ignore\nimport{useRouter}from\"framer\";import{useCountryStore}from\"https://framer.com/m/useCountryStore-W96rph.js@rx91UAZ8XkNM10glj5xb\";const REDIRECT_RULES=[];const FALLBACK_COUNTRY=\"US\";const API_URL=\"https://api.programiz.pro/api/Utils/Geo\";const TIMEOUT_MS=3e3;// ─────────────────────────────────────────────────────────────────────────────\nexport default function CountryDetector(){const[store,setStore]=useCountryStore();const router=useRouter();useEffect(()=>{// Skip if already detected\nif(!store.isLoading)return;const controller=new AbortController;const timer=setTimeout(()=>controller.abort(),TIMEOUT_MS);const detect=async()=>{try{const res=await fetch(API_URL,{signal:controller.signal,headers:{\"x-cors-token\":\"cX7r6ylllSolRP18J4oHKrLchCuqCE9oyWr0LSUMRguJ9l90XDOfyyfPnjTk4aQD\"}});const data=await res.json();const code=data?.data.countryCode??FALLBACK_COUNTRY;setStore({countryCode:code.toUpperCase(),isLoading:false});}catch{console.warn(\"CountryDetector: detection failed, using fallback →\",FALLBACK_COUNTRY);setStore({countryCode:FALLBACK_COUNTRY,isLoading:false});}finally{clearTimeout(timer);}};detect();},[]);// ── Redirect logic ────────────────────────────────────────────────────────\nuseEffect(()=>{if(store.isLoading||!store.countryCode)return;const rule=REDIRECT_RULES.find(r=>r.country.toUpperCase()===store.countryCode);if(!rule)return;if(rule.path){const currentPath=window.location.pathname;if(currentPath!==rule.path){router.navigate(rule.path);}}else if(rule.url){window.location.href=rule.url;}},[store.isLoading,store.countryCode]);return /*#__PURE__*/_jsx(_Fragment,{});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountryDetector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountryDetector.map","// countryOptions.ts\n// Single source of truth for country list.\n// Import this in any file that needs country options.\nexport const COUNTRY_OPTIONS=[{value:\"\",title:\"— None —\"},{value:\"AF\",title:\"Afghanistan\"},{value:\"AL\",title:\"Albania\"},{value:\"DZ\",title:\"Algeria\"},{value:\"AR\",title:\"Argentina\"},{value:\"AU\",title:\"Australia\"},{value:\"AT\",title:\"Austria\"},{value:\"BD\",title:\"Bangladesh\"},{value:\"BE\",title:\"Belgium\"},{value:\"BR\",title:\"Brazil\"},{value:\"CA\",title:\"Canada\"},{value:\"CL\",title:\"Chile\"},{value:\"CN\",title:\"China\"},{value:\"CO\",title:\"Colombia\"},{value:\"HR\",title:\"Croatia\"},{value:\"CZ\",title:\"Czech Republic\"},{value:\"DK\",title:\"Denmark\"},{value:\"EG\",title:\"Egypt\"},{value:\"FI\",title:\"Finland\"},{value:\"FR\",title:\"France\"},{value:\"DE\",title:\"Germany\"},{value:\"GH\",title:\"Ghana\"},{value:\"GR\",title:\"Greece\"},{value:\"HK\",title:\"Hong Kong\"},{value:\"HU\",title:\"Hungary\"},{value:\"IN\",title:\"India\"},{value:\"ID\",title:\"Indonesia\"},{value:\"IE\",title:\"Ireland\"},{value:\"IL\",title:\"Israel\"},{value:\"IT\",title:\"Italy\"},{value:\"JP\",title:\"Japan\"},{value:\"KE\",title:\"Kenya\"},{value:\"MY\",title:\"Malaysia\"},{value:\"MX\",title:\"Mexico\"},{value:\"NL\",title:\"Netherlands\"},{value:\"NZ\",title:\"New Zealand\"},{value:\"NG\",title:\"Nigeria\"},{value:\"NO\",title:\"Norway\"},{value:\"NP\",title:\"Nepal\"},{value:\"PK\",title:\"Pakistan\"},{value:\"PE\",title:\"Peru\"},{value:\"PH\",title:\"Philippines\"},{value:\"PL\",title:\"Poland\"},{value:\"PT\",title:\"Portugal\"},{value:\"RO\",title:\"Romania\"},{value:\"RU\",title:\"Russia\"},{value:\"SA\",title:\"Saudi Arabia\"},{value:\"ZA\",title:\"South Africa\"},{value:\"KR\",title:\"South Korea\"},{value:\"ES\",title:\"Spain\"},{value:\"SE\",title:\"Sweden\"},{value:\"CH\",title:\"Switzerland\"},{value:\"TW\",title:\"Taiwan\"},{value:\"TH\",title:\"Thailand\"},{value:\"TR\",title:\"Turkey\"},{value:\"UA\",title:\"Ukraine\"},{value:\"AE\",title:\"United Arab Emirates\"},{value:\"GB\",title:\"United Kingdom\"},{value:\"US\",title:\"United States\"},{value:\"VN\",title:\"Vietnam\"}];// Pre-derived arrays so consuming files don't repeat .map() calls\nexport const COUNTRY_VALUES=COUNTRY_OPTIONS.map(c=>c.value);export const COUNTRY_TITLES=COUNTRY_OPTIONS.map(c=>c.title);\nexport const __FramerMetadata__ = {\"exports\":{\"COUNTRY_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRY_VALUES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRY_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountryOptions.map","/*\n * CountryOptions\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/zgaCXeXEEcFXBcteBuPZ/5KyP92w4QmrI0ylLYqJS/CountryOptions.js\"\n","// PageWrapper.tsx\n// Wrap your entire page content inside this component.\n// Map country → component from the Properties Panel. No code needed.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useCountryStore}from\"https://framer.com/m/useCountryStore-W96rph.js@rx91UAZ8XkNM10glj5xb\";import{COUNTRY_VALUES,COUNTRY_TITLES}from\"https://framer.com/m/CountryOptions-fKNs0w.js@5KyP92w4QmrI0ylLYqJS\";export const SLOT_COUNT=3// ← change this to 3, 5, 20, whatever\n;const generatedControls=Array.from({length:SLOT_COUNT},(_,i)=>ruleControls(i+1)).reduce((acc,cur)=>({...acc,...cur}),{});export default function PageWrapper(props){const{defaultComponent:DefaultComponent,style,width,height,children}=props;const[store]=useCountryStore();// Block render until country is resolved\nif(store.isLoading)return null;const country=store.countryCode??\"US\";// Build rules array from slots, skip empty ones\nconst rules=Array.from({length:SLOT_COUNT},(_,i)=>({country:props[`country${i+1}`],component:props[`component${i+1}`]})).filter(r=>r.country&&r.component);const matched=rules.find(r=>r.country?.toUpperCase()===country);const MatchedComponent=matched?.component??DefaultComponent;const wrapperStyle={width:width??\"100%\",height:height??\"100%\",...style};const innerStyle={position:\"absolute\",inset:0,overflow:\"hidden\"};if(!MatchedComponent){return /*#__PURE__*/_jsx(\"div\",{style:wrapperStyle,children:/*#__PURE__*/_jsx(\"div\",{style:innerStyle,children:children})});}return /*#__PURE__*/_jsx(\"div\",{style:{width:width??\"100%\",height:height??\"100%\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:{// position: \"absolute\",\ninset:0,overflow:\"hidden\"},children:typeof MatchedComponent===\"function\"?/*#__PURE__*/_jsx(MatchedComponent,{width:\"100%\",height:\"100%\"}):MatchedComponent})});}// ── Helper to generate a rule slot ──────────────────────────────────────────\nfunction ruleControls(n){return{[`country${n}`]:{type:ControlType.Enum,title:`${n}. Country`,options:COUNTRY_VALUES,optionTitles:COUNTRY_TITLES,defaultValue:\"\"},[`component${n}`]:{type:ControlType.ComponentInstance,title:`${n}. Component`}};}addPropertyControls(PageWrapper,{defaultComponent:{type:ControlType.ComponentInstance,title:\"Default\",description:\"Shown when no rule matches\"},...generatedControls});\nexport const __FramerMetadata__ = {\"exports\":{\"SLOT_COUNT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"PageWrapper\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageWrapper.map"],"mappings":"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"}