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

L'Oreal negocia venda da The Body Shop à Natura; transação é avaliada em 1 bi de euros

Divulgação
Imagem: Divulgação

Sudip Kar-Gupta

09/06/2017 08h45

PARIS (Reuters) - A sa L'Oreal iniciou negociações exclusivas com a brasileira Natura para venda da marca britânica de cosméticos The Body Shop, informaram as empresas nesta sexta-feira (9), negócio que pode movimentar 1 bilhão de euros (US$ 1,1 bilhão).

Em comunicado, a L'Oreal informou que recebeu oferta firme da Natura pela Body Shop e que a transação proposta atribui valor de 1 bilhão de euros ao negócio.

Em fato relevante nesta sexta-feira, a Natura esclareceu que "já tem aprovado o financiamento dos recursos em montante suficiente" para pagar a totalidade do preço de aquisição à L'Oreal.

"A companhia entende que foi dado um o importante para a possível aquisição da The Body Shop", disse a Natura no documento, acrescentando que a conclusão da operação estará condicionada à aprovação por parte de autoridades regulatórias.

No início deste ano, a empresa sa havia informado que estava revisando sua estratégia para a Body Shop, que comprou por 652 milhões de libras em 2006, e que o ativo havia atraído ampla gama de interessados.

Para o gestor de fundos da Keren Finance, Gregory Moore, o preço indicado agradou os investidores da L'Oreal, dado que as notícias iniciais eram de que a The Body Shop poderia ser vendida por cerca de 800 milhões de euros.

"A ação reagiu bem à notícia porque havia algumas pessoas que pensavam que poderia ser vendido por menos", comentou Moore, cuja empresa detém ações da L'Oreal em seu portfólio.

Os papéis da empresa sa subiam cerca de 0,60% por volta das 8h40 (horário de Brasília).

Fundada em 1976 pela empresária britânica Anita Roddick, a The Body Shop é uma rede de cosméticos altamente focada em produtos inovadores e naturais, mas foi vítima de crescente concorrência de novas marcas oferecendo produtos similares.

"A Natura vai apoiar o desenvolvimento da The Body Shop no longo prazo e permitir que atenda aos clientes da melhor forma, ao mesmo tempo em que respeitará seu forte compromisso com os funcionários, franqueados e acionistas", disse Jean-Paul Agon, presidente do conselho e presidente executivo da L'Oreal, em comunicado.

Já o presidente executivo da Natura, João Paulo Ferreira, afirmou que a The Body Shop se encaixará bem com os negócios da Natura, como a marca "Aesop".

(Reportagem adicional de Gabriela Mello)