1class MainBlogTab extends HTMLElement{constructor(){super();const mainBlogId=document.querySelector(".js-main-blog").getAttribute("data-section-id");this.sections={main:{sectionId:mainBlogId,nodeId:"mainBlog"}},this.ajaxblogEl=document.querySelector(`#${this.sections.main.nodeId}`),this.tabWrapperEl=this,this.blogTabHeaders=this.querySelectorAll("[js-blog-tab-header]"),this.init()}init(){this.blogTabHeaders.length&&this.blogTabHeaders.forEach(tabHeader=>{const handler=evt=>{evt.preventDefault(),this.fetchTabContent(evt.currentTarget)};tabHeader.addEventListener("click",handler),tabHeader.addEventListener("touchstart",handler,{passive:!1})})}fetchTabContent(target){this.blogTabHeaders.forEach(tab=>tab.classList.remove("active")),target.classList.add("active");const tagHandle=target.getAttribute("href");this.updateHistoryState(tagHandle);const blogPostsContainer=this.ajaxblogEl.querySelector(".blog-posts-container");blogPostsContainer&&blogPostsContainer.classList.add("is-fetching"),fetch(`${tagHandle}?section_id=${this.sections.main.sectionId}`).then(response=>response.text()).then(html=>{const newContent=new DOMParser().parseFromString(html,"text/html").querySelector(`#${this.sections.main.nodeId}`).innerHTML;this.ajaxblogEl.innerHTML=newContent,document.dispatchEvent(new CustomEvent("pagination:init")),this.scrollTabWrapperIntoView()})}scrollTabWrapperIntoView(){const rect=this.tabWrapperEl.getBoundingClientRect(),scrollTop=window.pageYOffset+rect.top-112;(rect.top<0||rect.bottom>window.innerHeight)&&window.scrollTo({top:scrollTop,behavior:"smooth"})}updateHistoryState(handle){const newUrl=`${window.location.protocol}//${window.location.host}${handle}`;window.history.replaceState({path:newUrl},"",newUrl)}}customElements.define("main-blog-tab",MainBlogTab);class BlogPagination{constructor(){this.ajaxblogEl=document.querySelector(".js-main-blog"),this.tabWrapperEl=document.querySelector("main-blog-tab"),this.bindPaginationLinks(),document.addEventListener("pagination:init",()=>{this.bindPaginationLinks()})}bindPaginationLinks(){const paginationLinks=this.ajaxblogEl.querySelectorAll(".pagination a, .js-pagination a");paginationLinks.length&&paginationLinks.forEach(paginationLink=>{const handler=evt=>{evt.preventDefault();const url=paginationLink.getAttribute("href");url&&this.fetchPaginatedContent(url)};paginationLink.addEventListener("click",handler),paginationLink.addEventListener("touchstart",handler,{passive:!1})})}fetchPaginatedContent(pageHandle){const blogPostsContainer=this.ajaxblogEl.querySelector(".blog-posts-container"),paginationWrapper=this.ajaxblogEl.querySelector(".pagination-wrapper");blogPostsContainer&&blogPostsContainer.classList.add("is-fetching");const fetchUrl=`${pageHandle}§ion_id=${this.ajaxblogEl.getAttribute("data-section-id")}`;fetch(fetchUrl).then(response=>response.text()).then(html=>{const doc=new DOMParser().parseFromString(html,"text/html"),newPosts=doc.querySelector(".blog-posts-container"),newPagination=doc.querySelector(".pagination-wrapper");newPosts&&blogPostsContainer&&(blogPostsContainer.innerHTML=newPosts.innerHTML),newPagination&&paginationWrapper&&(paginationWrapper.innerHTML=newPagination.innerHTML),this.bindPaginationLinks(),this.scrollTabWrapperIntoView()}).finally(()=>{blogPostsContainer&&blogPostsContainer.classList.remove("is-fetching")});const newUrl=`${window.location.protocol}//${window.location.host}${pageHandle}`;window.history.replaceState({path:newUrl},"",newUrl)}scrollTabWrapperIntoView(){const rect=this.tabWrapperEl.getBoundingClientRect(),scrollTop=window.pageYOffset+rect.top-112;(rect.top<0||rect.bottom>window.innerHeight)&&window.scrollTo({top:scrollTop,behavior:"smooth"})}}document.addEventListener("DOMContentLoaded",()=>{new BlogPagination}); 2//# sourceMappingURL=/cdn/shop/t/111/assets/main-blog-tab.js.map?v=32819487480302538881784182389
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.