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

Billie Eilish e Timothée Chalamet copresidirão Met Gala 2021; veja detalhes

Reprodução/Vogue
Imagem: Reprodução/Vogue

03/05/2021 14h32

Será a noite de gala mais jovem e diversa do Metropolitan Museum de Nova York: seus quatro copresidentes, anunciados nesta segunda-feira (3), têm menos de 30 anos e são a cantora Billie Eilish, o ator Timothée Chalamet, a poetisa Amanda Gorman e a tenista Naomi Osaka.

A gala, maior festa mundial do mundo da moda tradicionalmente realizada no início de maio no Met de Nova York, foi cancelada em 2020 e adiada este ano para 13 de setembro - desde que as restrições impostas em decorrência da pandemia do coronavírus assim permitam.

Seus copresidentes honorários são Anna Wintour, editora-chefe da revista Vogue nos Estados Unidos e que fez da gala um evento global, o estilista americano Tom Ford, além de Adam Mosseri, diretor do Instagram, patrocinador da noite.

Esta será a primeira vez em uma festa de gala do Met dos quatro jovens copresidentes deste ano.

O evento acontece anualmente para arrecadar fundos para o Costume Institute do Metropolitan Museum, uma entidade de moda com um orçamento independente do museu.

Acostumado com o tapete vermelho, os trajes do franco-americano Chalamet, de 25 anos, dão muito o que falar, como o terno preto com enormes flores vermelhas de Alexander McQueen que ele usou em outubro de 2018 em Londres.

A poetisa afro-americana Amanda Gorman, de 23, saltou para a fama com seu poema "The Hill We Climb", lido na posse do presidente dos Estados Unidos, Joe Biden, em janeiro deste ano, vestindo um espetacular casaco longo amarelo Prada.

Ela também recitou outro de seus poemas durante a final do campeonato de futebol americano (NFL), o Super Bowl, usando um casaco azul claro com strass Moschino e uma tiara de pérolas.

Billie Eilish, de 19, veste-se em geral com roupas soltas, com um estilo informal. No fim de semana ado, porém, surpreendeu ao aparecer na edição britânica da revista Vogue, de roupa íntima justa e sexy em couro preto, capa longa e saltos.

Naomi Osaka, de 23, a segunda melhor tenista do mundo, acaba de ser designada embaixadora da Louis Vuitton. A jovem, de mãe japonesa e pai haitiano, também colaborou em uma linha de carteiras, e outra, de trajes de banho.

A exibição do Costume Institute deste ano se dará em duas partes: a primeira, "Nos Estados Unidos: o léxico da moda", será inaugurada em 18 de setembro e celebrará os 75 anos do instituto. A segunda, "Nos Estados Unidos: uma antologia da moda", será inaugurada em 5 de maio de 2022, após uma nova festa de gala marcada para 2 de maio do ano que vem.

Ambas as exposições poderão ser vistas até 18 de setembro de 2022.