PageSourceSearch

https://www.thebostonbrand.com/cdn/shop/t/18/assets/lg-announcement.js?v=26557573482249281021785830826

js thebostonbrand.com collected 2026-10-08 02:36:17 UTC 5,226 bytes, 2 lines download raw bytes

1window.theme||(window.theme={mediaQueries:{sm:"(min-width: 600px)",md:"(min-width: 769px)",lg:"(min-width: 1024px)",xl:"(min-width: 1280px)",xxl:"(min-width: 1536px)",portrait:"(orientation: portrait)"}}),(()=>{const{mediaQueries}=theme;if(!mediaQueries)return;const mqKeys=Object.keys(mediaQueries),mqLists={};theme.mediaMatches={};const handleMqChange=()=>{const newMatches=mqKeys.reduce((acc,media)=>(acc[media]=!!(mqLists[media]&&mqLists[media].matches),acc),{});Object.keys(newMatches).forEach(key=>{theme.mediaMatches[key]=newMatches[key]}),window.dispatchEvent(new CustomEvent("on:breakpoint-change"))};mqKeys.forEach(mq=>{mqLists[mq]=window.matchMedia(mediaQueries[mq]),theme.mediaMatches[mq]=mqLists[mq].matches;try{mqLists[mq].addEventListener("change",handleMqChange)}catch{mqLists[mq].addListener(handleMqChange)}})})();function debounce(fn,wait=300){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}if(theme.elementUtil={},theme.elementUtil.remove=elem=>{elem&&(typeof elem.remove=="function"?elem.remove():elem.forEach(thisElem=>{thisElem.remove()}))},theme.elementUtil.isInViewport=elem=>{const rect=elem.getBoundingClientRect();return Math.round(rect.top)>=0&&Math.round(rect.left)>=0&&Math.round(rect.bottom)<=(window.innerHeight||document.documentElement.clientHeight)&&Math.round(rect.right)<=(window.innerWidth||document.documentElement.clientWidth)},!customElements.get("announcement-bar")){class AnnouncementBar extends HTMLElement{constructor(){super(),this.slider=this.querySelector(".announcement__slider"),this.localization=this.querySelector(".announcement__localization"),this.links=this.querySelectorAll(".js-announcement-link"),this.menu=document.querySelector(".main-menu__content"),this.isPaused=!1,this.bindEvents(),this.init()}disconnectedCallback(){this.moveLinksHandler&&window.removeEventListener("on:breakpoint-change",this.moveLinksHandler),this.moveLocalizationHandler&&window.removeEventListener("on:breakpoint-change",this.moveLocalizationHandler)}bindEvents(){this.links&&(this.moveLinksHandler=this.moveLinksHandler||this.moveLinks.bind(this),window.addEventListener("on:breakpoint-change",this.moveLinksHandler)),this.localization&&(this.moveLocalizationHandler=this.moveLocalizationHandler||debounce(this.moveLocalization.bind(this)),window.addEventListener("on:breakpoint-change",this.moveLocalizationHandler)),this.slider&&(this.slider.addEventListener("mouseenter",this.pauseSlider.bind(this)),this.slider.addEventListener("mouseleave",this.resumeSlider.bind(this)))}init(){if(this.slider){const slides=this.slider.querySelectorAll(".announcement__text");slides[0].classList.add("is-visible");const nextSlide=()=>{if(!this.isPaused&&theme.elementUtil.isInViewport(this)){const currSlide=this.slider.querySelector(".announcement__text.is-visible"),currSlideIndex=Array.from(currSlide.parentNode.children).indexOf(currSlide),nextSlideIndex=currSlideIndex+1<slides.length?currSlideIndex+1:0;document.dir==="rtl"?this.slider.scrollTo(-Math.abs(nextSlideIndex*slides[nextSlideIndex].clientWidth),0):this.slider.scrollTo(slides[nextSlideIndex].offsetLeft-32,0),slides[nextSlideIndex].classList.add("is-visible"),slides[currSlideIndex].classList.remove("is-visible")}setTimeout(nextSlide,this.dataset.slideDelay)};setTimeout(nextSlide,this.dataset.slideDelay)}this.links&&this.moveLinks(),this.localization&&this.moveLocalization()}moveLinks(){const menuAnnouncementLinks=document.querySelector(".mob__announcement-links");if(!theme.mediaMatches?.md&&!menuAnnouncementLinks){const mobNav=document.createElement("nav");mobNav.classList.add("mob__announcement-links");const mobNavUl=document.createElement("ul");mobNav.classList.add("secondary-nav"),this.links.forEach(link=>{mobNav.innerHTML+=`<li><a class="secondary-nav__item" href="${link.href}">${link.innerText}</a>`}),mobNav.appendChild(mobNavUl),this.menu&&this.menu.appendChild(mobNav)}else theme.mediaMatches.md&&menuAnnouncementLinks&&menuAnnouncementLinks.remove()}moveLocalization(){this.slider=this.querySelector(".announcement__slider"),this.localization=this.querySelector(".announcement__localization");let localization_selector=this.querySelector(".location-selector-lg"),localization_selector_div=this.querySelector(".location-selector-div");this.links=this.querySelectorAll(".js-announcement-link"),this.menu=document.querySelector(".main-menu__content");const menuLocalization=document.querySelector(".mob__localization");if(!theme.mediaMatches.md&&!menuLocalization){const mobLocalizationElem=document.createElement("div");mobLocalizationElem.classList.add("mob__localization"),mobLocalizationElem.appendChild(localization_selector),mobLocalizationElem.appendChild(this.localization.firstElementChild),this.menu.appendChild(mobLocalizationElem)}else theme.mediaMatches.md&&menuLocalization&&(localization_selector_div.appendChild(menuLocalization.firstElementChild),this.localization.appendChild(menuLocalization.lastElementChild),menuLocalization.remove())}pauseSlider(){this.isPaused=!0}resumeSlider(){this.isPaused=!1}}customElements.define("announcement-bar",AnnouncementBar)}
2//# sourceMappingURL=/cdn/shop/t/18/assets/lg-announcement.js.map?v=26557573482249281021785830826

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.