PageSourceSearch

https://plentum.com/cdn/shop/t/31/assets/announcement-bar.js?v=37500345468109183491782484297

js plentum.com collected 2026-09-24 09:51:42 UTC 3,938 bytes, 2 lines download raw bytes

1class AnnouncementBar extends HTMLElement{constructor(){super(),this.currentIndex=0,this.touchStartX=0,this.touchEndX=0,this.announcementBar=this.querySelector("#wt-announcement__container"),this.announcementInterval=null,this.changeAnnouncement=this.changeAnnouncement.bind(this),this.previousAnnouncement=this.previousAnnouncement.bind(this),this.handleTouchStart=this.handleTouchStart.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleTouchEnd=this.handleTouchEnd.bind(this),this.hideForOneDay=this.hideForOneDay.bind(this),this.restartInterval=this.restartInterval.bind(this),this.isMobileView=this.isMobileView.bind(this)}connectedCallback(){const isHidden=localStorage.getItem("wt-announcement-hidden"),announcementCount=Number(this.announcementBar?.dataset.announcementsCount)||0;if(isHidden&&new Date().getTime()<Number(isHidden)){this.style.display="none";return}this.announcementBar?.classList.contains("wt-announcement__container--marquee")||(this.announcementInterval=setInterval(this.changeAnnouncement,5e3),this.announcementBar&&(this.announcementBar.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),this.announcementBar.addEventListener("touchmove",this.handleTouchMove,{passive:!0}),this.announcementBar.addEventListener("touchend",this.handleTouchEnd,{passive:!0}),this.announcementBar.addEventListener("touchstart",()=>clearInterval(this.announcementInterval),{passive:!0}),this.announcementBar.addEventListener("touchend",this.restartInterval,{passive:!0}))),this.announcementBar&&(this.announcementBar.style.transition="transform 0.5s ease-in-out"),this.closeButton=this.querySelector(".wt-announcement__close"),this.closeButton&&this.closeButton.addEventListener("click",this.hideForOneDay),window.addEventListener("resize",this.handleResize.bind(this))}handleResize(){window.innerWidth>=900&&this.announcementBar&&(this.announcementBar.style.transform="translateX(0)",this.currentIndex=0)}isMobileView(){return window.innerWidth<900}restartInterval(){clearInterval(this.announcementInterval),this.announcementInterval=setInterval(this.changeAnnouncement,5e3)}hideForOneDay(){const oneDayLater=new Date().getTime()+864e5;localStorage.setItem("wt-announcement-hidden",oneDayLater),this.style.display="none"}changeAnnouncement(){if(!this.isMobileView())return;const totalSlides=this.announcementBar?.children.length;this.currentIndex=(this.currentIndex+1)%totalSlides;const newPosition=-(this.currentIndex*100);this.announcementBar&&(this.announcementBar.style.transform=`translateX(${newPosition}vw)`),this.currentIndex===0&&this.announcementBar&&setTimeout(()=>{this.announcementBar.style.transition="none",this.announcementBar.style.transform="translateX(0)",this.currentIndex=0,setTimeout(()=>{this.announcementBar.style.transition="transform 0.5s ease-in-out"},0)},490)}previousAnnouncement(){const totalSlides=this.announcementBar?.children.length;this.currentIndex=(this.currentIndex-1+totalSlides)%totalSlides;const newPosition=-(this.currentIndex*100);this.announcementBar&&(this.announcementBar.style.transform=`translateX(${newPosition}vw)`)}handleTouchStart(e){this.isMobileView()&&(this.touchStartX=e.touches[0].clientX)}handleTouchMove(e){this.isMobileView()&&(this.touchEndX=e.touches[0].clientX)}handleTouchEnd(){Math.abs(this.touchEndX-this.touchStartX)>30&&(this.touchEndX<this.touchStartX?this.changeAnnouncement():this.previousAnnouncement())}disconnectedCallback(){clearInterval(this.announcementInterval),this.announcementBar.removeEventListener("touchstart",this.handleTouchStart),this.announcementBar.removeEventListener("touchmove",this.handleTouchMove),this.announcementBar.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("resize",this.handleResize.bind(this))}}customElements.define("announcement-bar",AnnouncementBar);
2//# sourceMappingURL=/cdn/shop/t/31/assets/announcement-bar.js.map?v=37500345468109183491782484297

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.