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

Fofuras

Bebê que nasceu com deficiência no braço faz sucesso no Instagram

Sean, de 11 meses, nasceu com uma deficiência congênita - Reprodução / Instagram
Sean, de 11 meses, nasceu com uma deficiência congênita Imagem: Reprodução / Instagram

De Universa

17/04/2020 16h17

O bebê canadense Sean Heilimo, de apenas 11 meses, tem feito sucesso no Instagram. Ele nasceu sem o antebraço e a mão esquerdos devido a uma condição chamada síndrome da banda amniótica, que prejudicou seu desenvolvimento no útero materno.

Desde seu nascimento, em abril do ano ado, a mãe do menino, Brianna, mantém um diário virtual do desenvolvimento do filho. "É uma página no Instagram sobre a vida familiar e uma visão de como é ser mãe de um bebê com uma deficiência nos membros. Sean precisa superar diariamente desafios que as outras crianças não têm, como engatinhar e comer", explicou ao Metro.

"Mas ele é uma criança muito feliz, vive uma vida normal. Tem seus próprios jeitos e truques para usar o o lado esquerdo como outra mão", explica.

April is Limb Difference Awareness Month. Being a mama to a little one with a limb difference changes your mindset on so many things and teaches even more. So many questions and doubts I had about Sean growing up and managing on his own. Now at 11 months, Sean is learning so much everyday and doing things his own way. Some things take a little long for him to learn but eventually he gets there in his own way. He uses his little arm for so many things everyday and shows us all how capable he truly is. This won't hold Sean back at all. He will just forge his own path like all the other adults and children with limb differences. We are so proud of this little guy and we wouldn't change a single thing about him. Until we discovered organizations like @luckyfinproject we never knew how many children and babies were being born around the world just like Sean. It so so fun to see that Sean will not be alone in his journey and no matter where he goes he will have us ing him all the way. Limb difference awareness is important to us because it is now a major part of our life. It is a life we never imagined would be ours, but Sean is the light of our world and he has showed us how special each and every child is. We love you so much Sean #limbdifferenceawareness #limbdifferent #luckyfin #luckyfinproject #luckyfinsrock #differentisbeautiful #awarenessmonth #differentnotless #loveallkinds

Uma publicação compartilhada por Brianna & (@little.dear.heart) em

Ela e o marido descobriram o problema de formação durante uma ultrassonografia de rotina, na 20ª semana. No início, ela não lidou bem com situação. "Comecei a entrar em pânico porque achei que ele não seria capaz de viver uma vida normal". Mas depois do nascimento, a sensação ou.

"Ele é nosso pequeno milagre, que nos enche de alegria", completou.

Fofuras