in media/js/firefox/challenge-the-default/animate-pop-in.es6.js [10:50]
function createObserver() {
return new IntersectionObserver(function (entries) {
let chain = Promise.resolve();
entries.forEach(function (entry) {
if (entry.isIntersecting) {
if (entry.target.classList.contains('mzp-c-picto')) {
// chain promises with a 200ms delay in between each one
chain = chain.then(() => popIn(entry.target));
// remove target observer after triggering animation
observer.unobserve(entry.target);
} else if (entry.target.classList.contains('toggle')) {
const input = entry.target.querySelector('input');
setTimeout(() => {
entry.target.classList.add('animate-slide');
input.checked = true;
}, 600);
} else if (heroSection.contains(entry.target)) {
const heroWrapper =
entry.target.querySelector('.hero-wrapper');
const imageWrapper =
entry.target.querySelector('.c-hero-top-images');
heroWrapper.classList.add('animate-pop-in');
heroWrapper.addEventListener('animationend', function () {
imageWrapper.classList.add('active');
});
} else if (
entry.target.classList.contains('ctd-animated-logo')
) {
entry.target.classList.add('animate-active');
} else {
entry.target.classList.add('animate-pop-in');
}
} else if (
!entry.isIntersecting &&
entry.target.classList.contains('ctd-animated-logo')
) {
entry.target.classList.remove('animate-active');
}
});
});
}