{"version":3,"file":"UncodeIP.PgHhmVC1.mjs","names":[],"sources":["https:/framerusercontent.com/modules/gDLNlsCR7viLWwfZGZUO/EBI1RZINH1VLyVdpMO0U/UncodeIP.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Singleton para controlar a requisição da API\nconst LocationManager=(()=>{let locationData=null;let isFetching=false;let fetchPromise=null;return{fetchLocation:async apiKey=>{if(locationData){// Retorna os dados já carregados\nreturn locationData;}if(isFetching){// Aguarda a requisição em andamento\nreturn fetchPromise;}isFetching=true;fetchPromise=fetch(`https://api.bigdatacloud.net/data/ip-geolocation?key=${apiKey}`,{method:\"GET\",headers:{\"Content-Type\":\"application/json\"}}).then(response=>{if(!response.ok){throw new Error(`Erro na resposta da API: ${response.statusText}`);}return response.json();}).then(data=>{locationData=data// Armazena os dados\n;isFetching=false;return data;}).catch(error=>{console.error(\"Erro ao buscar localiza\\xe7\\xe3o:\",error);isFetching=false;return null;});return fetchPromise;}};})();// Função auxiliar para normalizar strings\nconst normalizeString=str=>{if(!str)return\"\";return str.replace(/\\(.*?\\)/g,\"\")// Remove parênteses e seu conteúdo\n.normalize(\"NFD\")// Normaliza acentos\n.replace(/[\\u0300-\\u036f]/g,\"\")// Remove diacríticos\n.trim()// Remove espaços em branco no início e no final\n.toLowerCase()// Converte para minúsculas\n;};// Função para comparar strings de forma flexível\nconst compareStrings=(str1,str2)=>{const normalizedStr1=normalizeString(str1);const normalizedStr2=normalizeString(str2);return normalizedStr1===normalizedStr2||str1.toLowerCase()===str2.toLowerCase();};/**\n * @framerDisableUnlink\n */export function LocationTrigger(props){const{checkCity,city,checkState,state,checkCountry,country,inverseLogic,onEqual,onDoesNotEqual,apiKey}=props;useEffect(()=>{// Impede execução no canvas\nif(RenderTarget.current()!==RenderTarget.canvas){const checkLocation=async()=>{if(!apiKey){console.error(\"Chave da API da BigDataCloud n\\xe3o fornecida.\");return;}const location=await LocationManager.fetchLocation(apiKey);if(!location)return;console.log(\"Estrutura da localiza\\xe7\\xe3o:\",location);let matches=true;// Verificação da cidade\nif(checkCity){var _location_location;const apiCity=((_location_location=location.location)===null||_location_location===void 0?void 0:_location_location.city)||\"\";const inputCity=city||\"\";const matchCity=compareStrings(apiCity,inputCity);console.log(`Cidade: ${apiCity} (API) - ${inputCity} (Input) -> ${matchCity?\"Igual\":\"Diferente\"}`);if(!matchCity){matches=false;}}// Verificação do estado\nif(checkState){var _location_location1;const apiState=((_location_location1=location.location)===null||_location_location1===void 0?void 0:_location_location1.isoPrincipalSubdivision)||\"\";const inputState=state||\"\";const matchState=compareStrings(apiState,inputState);console.log(`Estado: ${apiState} (API) - ${inputState} (Input) -> ${matchState?\"Igual\":\"Diferente\"}`);if(!matchState){matches=false;}}// Verificação do país\nif(checkCountry){var _location_country;const apiCountry=((_location_country=location.country)===null||_location_country===void 0?void 0:_location_country.isoName)||\"\";const inputCountry=country||\"\";const matchCountry=compareStrings(apiCountry,inputCountry);console.log(`Pa\\xeds: ${apiCountry} (API) - ${inputCountry} (Input) -> ${matchCountry?\"Igual\":\"Diferente\"}`);if(!matchCountry){matches=false;}}if(inverseLogic){matches=!matches;}if(matches){if(typeof onEqual===\"function\")onEqual();}else{if(typeof onDoesNotEqual===\"function\")onDoesNotEqual();}};checkLocation();}},[checkCity,city,checkState,state,checkCountry,country,inverseLogic,onEqual,onDoesNotEqual,apiKey]);return /*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:props.children});}LocationTrigger.displayName=\"UncodeLocation\";// Definição dos controles de propriedades para o Framer\naddPropertyControls(LocationTrigger,{apiKey:{type:ControlType.String,title:\"Chave da API\",defaultValue:\"\",placeholder:\"Sua chave da API BigDataCloud\",hidden:false,description:\"Insira sua chave da API da BigDataCloud / Enter your BigDataCloud API key\"},checkCity:{type:ControlType.Boolean,title:\"Verificar Cidade\",defaultValue:false,enabledTitle:\"Sim\",disabledTitle:\"N\\xe3o\"},city:{type:ControlType.String,title:\"Cidade\",defaultValue:\"\",placeholder:\"Sao Paulo\",hidden:props=>!props.checkCity,description:\"Digite o nome da cidade para comparar. \\n Ex: Sao Paulo - Sempre verificar  / Enter the city name to compare\"},checkState:{type:ControlType.Boolean,title:\"Verificar Estado\",defaultValue:false,enabledTitle:\"Sim\",disabledTitle:\"N\\xe3o\"},state:{type:ControlType.String,title:\"Estado\",defaultValue:\"\",placeholder:\"Minas Gerais\",hidden:props=>!props.checkState,description:\"Digite o estado para comparar / Enter the state to compare\"},checkCountry:{type:ControlType.Boolean,title:\"Verificar Pa\\xeds\",defaultValue:false,enabledTitle:\"Sim\",disabledTitle:\"N\\xe3o\"},country:{type:ControlType.String,title:\"Pa\\xeds\",defaultValue:\"\",placeholder:\"Brazil\",hidden:props=>!props.checkCountry,description:\"Use o nome completo do pa\\xeds (Brazil, United States, etc) / Use the full country name (Brazil, United States, etc)\"},inverseLogic:{type:ControlType.Boolean,title:\"L\\xf3gica Inversa\",defaultValue:false,enabledTitle:\"Sim\",disabledTitle:\"N\\xe3o\",description:\"Dispara se a localiza\\xe7\\xe3o n\\xe3o corresponde / Fires if the location does not match\"},onEqual:{type:ControlType.EventHandler,title:\"Quando Igual\",description:\"Dispara quando a localiza\\xe7\\xe3o corresponde \\xe0s configura\\xe7\\xf5es fornecidas. / Fires when the location matches the provided settings.\"},onDoesNotEqual:{type:ControlType.EventHandler,title:\"Quando N\\xe3o Igual\",description:\"Dispara quando a localiza\\xe7\\xe3o n\\xe3o corresponde \\xe0s configura\\xe7\\xf5es fornecidas. / Fires when the location does not match the provided settings.\"},codeBy:{type:ControlType.String,title:\" \",defaultValue:\"Autor:\",readOnly:true,description:\"Este componente foi criado por @omatusaelhorch. / This component was created by @omatusaelhorch.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"LocationTrigger\":{\"type\":\"reactComponent\",\"name\":\"LocationTrigger\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UncodeIP.map"],"mappings":"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"}