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

Senador do PT cobra definição de ministro da Fazenda: 'Não tem nome'

O senador Jaques Wagner - Reprodução/Twitter
O senador Jaques Wagner Imagem: Reprodução/Twitter

Do UOL, em Brasília

24/11/2022 12h29Atualizada em 24/11/2022 13h58

O senador Jaques Wagner (PT-BA), que compõe o gabinete de transição do presidente eleito, Luiz Inácio Lula da Silva (PT), afirmou hoje que falta à articulação política do futuro governo a definição de um nome para comandar a pasta da Economia —que voltará a se chamar Ministério da Fazenda.

Eu acho que falta mais por enquanto um ministro da Fazenda"
Jaques Wagner (PT-BA)

"Eu acho que facilita [definição do ministro da Fazenda]. Mas não depende de mim. Eu estou dando uma opinião. Quem vai decidir é o presidente da República."

Segundo Wagner, a escolha facilitaria inclusive a negociação em favor da PEC da Transição, medida que pretende abrir espaço fiscal para ampliar gastos do Executivo em 2023. Atualmente, o PT esbarra em divergências políticas para conseguir dar início à tramitação da proposta.

O principal ponto é o prazo de excepcionalização do Bolsa Família, isto é, o período em que programa social ficará fora do teto de gastos. O futuro governo defende que sejam 4 anos de folga, mas lideranças na Câmara querem um recorte temporal menor (de um ou dois anos).

Membro do grupo técnico de "centro de governo" na transição, o senador baiano deu a entender que se sente sobrecarregado na missão de tocar a articulação.

"Eu não acredito em mágico. Ninguém sozinho vai fazer nada. Eu estou ajudando porque essa é a minha experiência. De articulador político. Mas não sou eu que estou fazendo sozinho, tem muita gente envolvida. Querem colocar tudo nas minhas costas."

Indagado se teria preferência em relação aos "nomes que estão sobre a mesa", Wagner disse considerar que "não tem nome na mesa", e sim "na cabeça do presidente".

"O problema é que não tem nome na mesa, tem na cabeça do presidente."

"Eu vou conversar com o presidente Lula amanhã em São Paulo e aí eu vou saber. Vou conversar, vou dar um quadro para ele. Ele está refletindo, olhando as coisas."