https://www.lussostone.com/cdn/shop/t/318/assets/ua_video-loader.js?v=113693647814785787581785844652
1customElements.get("video-loader")||customElements.define("video-loader",class extends HTMLElement{constructor(){super(),this.intersectionObserver=new IntersectionObserver(this.handleIntersection.bind(this),{root:null,threshold:.5})}connectedCallback(){this.observeVideos()}observeVideos(){this.querySelectorAll("video").forEach(video=>{this.intersectionObserver.observe(video),video.setAttribute("data-paused","false"),video.addEventListener("pause",event=>{video.setAttribute("data-paused","true")})})}handleIntersection(entries,observer){entries.forEach(entry=>{const video=entry.target;entry.isIntersecting?(video.querySelectorAll("source[data-src]").forEach(source=>{source.src=source.getAttribute("data-src")}),video.getAttribute("data-paused")=="false"?video.load():entry.target.getAttribute("autoplay")==="autoplay"&&(video.setAttribute("data-paused","false"),video.play()),video.onloadeddata=function(){entry.target.getAttribute("autoplay")==="autoplay"&&(video.setAttribute("data-paused","false"),video.play())}):video.pause()})}disconnectedCallback(){this.intersectionObserver.disconnect()}}),customElements.get("video-controls")||customElements.define("video-controls",class extends HTMLElement{constructor(){super()}connectedCallback(){this.setupControls()}setupControls(){const videoSelector=this.getAttribute("video-selector");if(this.video=this.closest("video-loader")?.querySelector(videoSelector),!this.video)return;const playPauseBtn=this.querySelector(".playPauseBtn"),muteBtn=this.querySelector(".muteBtn"),playIcon=playPauseBtn.querySelector(".icon-play"),pauseIcon=playPauseBtn.querySelector(".icon-pause"),muteIcon=muteBtn.querySelector(".icon-mute"),unmuteIcon=muteBtn.querySelector(".icon-unmute");this.fullscreenBtn=this.querySelector(".fullscreenBtn"),this.expandIcon=this.fullscreenBtn?.querySelector(".icon-expand"),this.progress=this.querySelector("progress"),playPauseBtn.addEventListener("click",()=>{this.video.paused?this.video.play():this.video.pause(),this.updatePlayPauseIcons(this.video,playIcon,pauseIcon)}),muteBtn.addEventListener("click",()=>{this.updateMuteIcons(this.video,muteIcon,unmuteIcon)}),this.progress&&(this.video.addEventListener("timeupdate",()=>{const currentValue=this.video.currentTime/this.video.duration*100;this.progress.value=currentValue}),this.progress.addEventListener("click",event=>{const rect=this.progress.getBoundingClientRect(),percentage=(event.clientX-rect.left)/rect.width;this.video.currentTime=percentage*this.video.duration})),this.fullscreenBtn&&this.expandIcon&&(this.fullscreenBtn.addEventListener("click",()=>{document.fullscreenElement?document.exitFullscreen?.():this.parentElement.requestFullscreen?.()}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement?this.expandIcon.classList.replace("icon-expand","icon-collapse"):this.expandIcon.classList.replace("icon-collapse","icon-expand")}))}updatePlayPauseIcons(video,playIcon,pauseIcon){video.paused?(playIcon.style.display="inline",pauseIcon.style.display="none"):(playIcon.style.display="none",pauseIcon.style.display="inline")}updateMuteIcons(video,muteIcon,unmuteIcon){video.muted?(muteIcon.style.display="none",unmuteIcon.style.display="inline"):(muteIcon.style.display="inline",unmuteIcon.style.display="none"),video.muted=!video.muted}}); 2//# sourceMappingURL=/cdn/shop/t/318/assets/ua_video-loader.js.map?v=113693647814785787581785844652
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.