PageSourceSearch

https://ooni.com/cdn/shop/t/621/assets/__vite-section-entrance-animation.BpRUm049.js

js ooni.com collected 2026-09-24 09:07:45 UTC 1,618 bytes, 1 lines download raw bytes

1class o extends HTMLElement{constructor(){super(),this.animated=!1}connectedCallback(){if(this.section=this.parentElement,!this.section){console.error("Section entrance animation component should be used inside of a section");return}if(this.setClasses(),this.isInViewport()){this.animateFeatures(),this.removeScrollEvents();return}this.setScrollEvents()}setClasses(){var t,n,e,s;this.leftElements=(t=this.section)==null?void 0:t.querySelectorAll("[js-animate-element='left']"),this.rightElements=(n=this.section)==null?void 0:n.querySelectorAll("[js-animate-element='right']"),(e=this.leftElements)==null||e.forEach(i=>i.classList.add("not-animated")),(s=this.rightElements)==null||s.forEach(i=>i.classList.add("not-animated"))}animateFeatures(){var t,n;(t=this.leftElements)==null||t.forEach(e=>{e.classList.remove("not-animated"),e.classList.add("animated-left")}),(n=this.rightElements)==null||n.forEach(e=>{e.classList.remove("not-animated"),e.classList.add("animated-right")})}setScrollEvents(){this.boundHandleScroll=this.handleScroll.bind(this),window.addEventListener("scroll",this.boundHandleScroll)}removeScrollEvents(){window.removeEventListener("scroll",this.boundHandleScroll)}handleScroll(){this.isInViewport()&&!this.animated&&(this.animateFeatures(),this.animated=!0,this.removeScrollEvents())}isInViewport(){if(!this.section)return;const t=this.section.getBoundingClientRect();return t.top<(window.innerHeight||document.documentElement.clientHeight)&&t.bottom>=0&&t.left<(window.innerWidth||document.documentElement.clientWidth)&&t.right>=0}}customElements.define("uwp-section-entrance-animation",o);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.