;(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

Maia diz que junção de PIS/Cofins terá resistência e defende reforma ampla

Presidente da Câmara, Rodrigo Maia (DEM-RJ) - Aloisio Mauricio /Fotoarena/Folhapress
Presidente da Câmara, Rodrigo Maia (DEM-RJ) Imagem: Aloisio Mauricio /Fotoarena/Folhapress

Guilherme Mazieiro

Do UOL, em Brasília

18/11/2019 16h48

O presidente da Câmara, Rodrigo Maia (DEM-RJ), avaliou que a proposta isolada do governo Jair Bolsonaro (PSL) de unificar os impostos PIS/Cofins deve ter dificuldades de tramitação. Segundo Maia disse ao UOL, essa pauta enfrenta resistência do setor de serviços desde a gestão Michel Temer (MDB), em 2018. Ele entende que é melhor trabalhar em cima de uma reforma ampla.

"Esse projeto [unificação de PIS/Cofins] já está na pauta do governo desde o governo Michel [Temer]. Difícil ar sozinho", disse Maia, em referência às tentativas da gestão anterior de fazer as alterações.

De acordo com entrevista de hoje do secretário da Receita Federal, José Barroso Tostes Neto, ao jornal O Estado de S. Paulo, a proposta de reforma tributária do governo Bolsonaro será enviada em quatro etapas ao Parlamento. A primeira, ainda em novembro, por meio de um projeto de lei para criar um imposto federal a partir da unificação do PIS/Cofins, que terá o nome de CBS (Contribuição Sobre Bens e Serviços).

Maia, principal fiador da reforma da Previdência, defende que a reforma tributária é prioridade na Casa, mas deve ser feita de maneira mais ampla, como proposto na PEC (Proposta de Emenda à Constituição) 45. O texto, de autoria de Baleia Rossi (MDB), prevê a substituição de três tributos federais (PIS, Cofins e IPI), o estadual ICMS e o municipal ISS pelo IBS (Imposto sobre Bens e Serviços), cuja receita seria compartilhada entre União, estados e municípios.

A proposta tramita em comissão especial, cujo relator é o líder da maioria, Aguinaldo Ribeiro (PP-PB). A Câmara pode votar a pauta no primeiro quadrimestre do ano que vem.

Veja mais economia de um jeito fácil de entender: @uoleconomia no Instagram.

Ouça os podcasts Mídia e Marketing, sobre propaganda e criação, e UOL Líderes, com CEOs de empresas.

Mais podcasts do UOL no Spotify, Apple Podcasts, Google Podcasts e outras plataformas

PUBLICIDADE
Errata: este conteúdo foi atualizado
Aguinaldo Ribeiro foi eleito pelo estado da Paraíba, e não do Piauí. A informação foi corrigida.