;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Redução de ICMS por Garcia em SP causa mal-estar entre governadores

Rodrigo Garcia, governador de São Paulo e pré-candidato do PSDB ao Palácio dos Bandeirantes - Divulgação/Governo do Estado de SP
Rodrigo Garcia, governador de São Paulo e pré-candidato do PSDB ao Palácio dos Bandeirantes Imagem: Divulgação/Governo do Estado de SP

Adriana Fernandes

Brasília

27/06/2022 16h31

O anúncio do governador de São Paulo, Rodrigo Garcia, de aplicar imediatamente a redução da alíquota de ICMS da gasolina de 25% para 18% causou mal-estar entre os Estados que buscavam uma saída jurídica conjunta para a lei que fixou um teto para a cobrança do imposto sobre combustíveis, energia elétrica, telecomunicações e transporte urbano.

A ação do governador paulista, que busca a reeleição ao cargo nas eleições de outubro, foi vista como eleitoreira e abriu uma dissidência entre os Estados, segundo apurou o Estadão. Os secretários de Fazenda estavam aguardando o resultado da reunião de amanhã com o ministro Gilmar Mendes do Supremo Tribunal Federal (STF). Mendes é relator de ação apresentada pelo presidente Jair Bolsonaro pedindo para que sejam suspensas todas as leis estaduais que tratam do ICMS incidente sobre combustíveis.

Uma fonte que participa das negociações relatou que todos os Estados estão "chateados" com São Paulo, a maior economia do País e agora juntando os "caquinhos". A avaliação é de que São Paulo se precipitou e acabou prejudicando os demais Estados com o governador Garcia de olho na sua reeleição. Procuradorias de 22 Estados entendem que os governadores precisam enviar às assembleias projetos para fazer a mudança aprovada pelo Congresso.

Os Estados também estavam buscando mudar a forma de cobrança do ICMS da gasolina para uma modelo de alíquota ad rem (um valor fixo em reais sobre o litro do combustível). Ao fazer a mudança, o Estado de São Paulo aplicou uma alíquota chamada ad valorem com base num porcentual sobre o preço. Os críticos da posição de São Paulo avaliam que a mudança por decreto feita pelo governador de São Paulo representa, na prática, itir a interferência federativa num tributo que é estadual.

Procurado pelo Estadão, o secretário de Fazenda de São Paulo, Felipe Salto, defendeu a decisão. "Nós informamos os nossos contribuintes sobre os efeitos da lei complementar federal aprovada e sancionada", disse. "Na lei estadual paulista, a alíquota de 25% da gasolina, por exemplo, a a ser de 18%. Daí porque publiquei um Informativo da Secretaria da Fazenda, e não uma norma nova", ressaltou o secretário de Fazenda de São Paulo. Para ele, a lei aprovada e sancionada pelo presidente Bolsonaro já incide sobre a lei estadual para produzir o efeito da queda da alíquota para o teto.

Segundo Salto, São Paulo continua com a mesma estratégia de dialogar com o ministro Gilmar Mendes. "Vai ser muito importante para todos nós. Também teremos reunião do Conselho Nacional de Política Fazendária (Confaz). Ali, é que vamos ter um horizonte para a questão da ad rem e mesmo da forma de cálculo", justificou.