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

Relator apresenta na CCJ parecer favorável a reforma que unifica impostos

Deputado João Roma (PRB-BA), relator da reforma tributária - Ricardo Albertine/Câmara dos Deputados
Deputado João Roma (PRB-BA), relator da reforma tributária Imagem: Ricardo Albertine/Câmara dos Deputados

Antonio Temóteo

Do UOL, em Brasília

15/05/2019 12h05

O relator da reforma tributária na Comissão de Constituição e Justiça (CCJ) da Câmara dos Deputados, João Roma (PRB-BA), apresentou hoje seu parecer sobre uma PEC (Proposta de Emenda à Constituição) que unifica impostos. O relatório diz que a reforma respeita a Constituição.

Pela PEC, cinco tributos serão extintos: IPI, PIS e Cofins (federais), ICMS (estadual) e ISS (municipal). No lugar deles será criado um novo, o Imposto sobre Operações com Bens e Serviços (IBS), nos moldes do IVA (Imposto Sobre Valor Agregado), adotado em diversos países.

O presidente da CCJ, Felipe Francischini (PSL-PR), prevê a realização de audiências públicas sobre a proposta na semana que vem e votação do parecer em 22 de maio.

A reforma em questão é de autoria do deputado Baleia Rossi (MDB-SP) e tem como base a proposta do economista Bernard Appy, criador do Centro de Cidadania Fiscal (CCiF). Existem outras propostas de reforma tributária em tramitação no Congresso, inclusive outras que também unificam impostos.

Os impostos extintos pela reforma incidem sobre o consumo. Já o novo, o IBS, como o nome diz, incidiria sobre bens e serviços. Ele seria de competência de municípios, estados e União. Também seria criado um outro imposto, de competência federal, apenas para bens e serviços específicos.

Guedes é contra a proposta

A reforma é de iniciativa do Congresso Nacional, e não do governo Jair Bolsonaro.

Em audiência pública ontem na Comissão Mista do Orçamento, o ministro da Economia, Paulo Guedes, afirmou que é contra acabar com os impostos estaduais e municipais, como prevê a proposta.

Achamos melhor pegar os [tributos federais] e juntar no IVA. Os estados que quiserem entrar vão ser bem-vindos. Mas não achamos que nós vamos ter o poder de dizer que os estados têm de aderir ao nosso IVA. Achamos que não seria democrático. O poder tem que ser descentralizado
Paulo Guedes, ministro da Economia

Membros da equipe econômica disseram que o governo está elaborando sua própria proposta de reforma.

Segundo Marcos Cintra, secretário especial da Receita Federal, a proposta vai zerar os tributos sobre a folha de pagamentos e, no lugar deles, criar um imposto sobre pagamentos. Além disso, vai criar um IVA apenas com tributos federais, reduzir o Imposto de Renda para empresas e aumentar a isenção para pessoas físicas.

Tramitação

A função da CCJ é apenas dizer se o texto respeita ou não a Constituição. Se o parecer do relator for aprovado, eventuais mudanças no conteúdo da reforma poderão ser feitas na fase seguinte da tramitação, na comissão especial.

Na comissão especial, os parlamentares terão 40 sessões para votar o texto, que depois segue para o plenário da Câmara. A proposta precisa ser aprovada por 308 dos 513 deputados, em dois turnos. Em seguida, segue para o Senado Federal e a por duas votações.

Guedes condiciona o aumento real do salário mínimo à aprovação de reformas

UOL Notícias