PageSourceSearch

https://boinclo.co.uk/cdn/shop/t/100/assets/article-pagination.js?v=147505346214864362611780391417

js boinclo.co.uk collected 2026-09-26 07:49:36 UTC 2,280 bytes, 2 lines download raw bytes

1if(!customElements.get("article-pagination")){class ArticlePagination extends HTMLElement{constructor(){super(),this.article=this.closest(".js-article"),this.paginationText=this.querySelector(".js-pagination-text"),this.paginationLinks=this.querySelectorAll(".js-pagination-link"),this.init(),this.addListeners()}disconnectedCallback(){window.removeEventListener("scroll",this.scrollHandler)}init(){this.handleScroll(),this.paginationText&&(this.paginationText.dataset.showReadingTime&&this.estimateReadingTime(),theme.device.hasHover&&this.paginationLinks.forEach(link=>{link.title&&link.title.length>0&&(link.setAttribute("data-title",link.title),link.removeAttribute("title"))}))}addListeners(){this.scrollHandler=this.scrollHandler||this.handleScroll.bind(this),window.addEventListener("scroll",this.scrollHandler),this.paginationText&&theme.device.hasHover&&(this.mouseEnterHandler=this.mouseEnterHandler||this.handleMenuMouseEnter.bind(this),this.mouseLeaveHandler=this.mouseLeaveHandler||this.handleMenuMouseLeave.bind(this),this.paginationLinks.forEach(link=>{link.addEventListener("mouseenter",this.mouseEnterHandler),link.addEventListener("mouseleave",this.mouseLeaveHandler)}))}handleScroll(){const targetY=this.article.getBoundingClientRect().height+this.article.offsetTop-window.innerHeight+200,percentScrolled=parseInt(100/targetY*window.scrollY,10);this.style.setProperty("--pagination-percent",`${percentScrolled}%`),this.classList.toggle("is-visible",window.scrollY-targetY<300)}handleMenuMouseEnter(evt){evt.currentTarget.dataset.title&&(this.paginationText.textContent=evt.currentTarget.dataset.title)}handleMenuMouseLeave(){this.paginationText.dataset.readTime?this.paginationText.textContent=this.paginationText.dataset.readTime:this.paginationText.textContent=""}estimateReadingTime(){const wordCount=this.article.querySelector(".article__content").textContent.trim().split(/\s+/).length||1,readTime=Math.round(wordCount/240),text=theme.strings.articleReadTime.replace("[x]",readTime>0?readTime:1);this.paginationText.textContent=text,this.paginationText.setAttribute("data-read-time",text)}}customElements.define("article-pagination",ArticlePagination)}
2//# sourceMappingURL=/cdn/shop/t/100/assets/article-pagination.js.map?v=147505346214864362611780391417

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.