{"version":3,"file":"UncodeIP.BJSvOLAH.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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"}