PageSourceSearch

https://czarina.com.au/cdn/shop/t/136/assets/product-thumbnails.js?v=182642316058631802041786005665

js czarina.com.au collected 2026-09-28 14:51:05 UTC 2,831 bytes, 2 lines download raw bytes

1customElements.get("product-thumbnails")||customElements.define("product-thumbnails",class extends HTMLElement{constructor(){super(),this.mql=window.matchMedia("(min-width: 750px)"),this.querySelectorAll(".product__thumbnail").forEach(button=>button.addEventListener("click",this.onButtonClick.bind(this))),this.mql.matches&&(this.handleScrollSpy(),this.addEventListener("scrollspy:changed",this.onScrollTargetChanged.bind(this)))}onButtonClick(event){const thumbnail=event.target,newMedia=document.querySelector(`[data-media-id="${thumbnail.dataset.section}-${thumbnail.dataset.mediaId}"]`);if(!newMedia)return;this.stickyHeader=this.stickyHeader||document.querySelector("sticky-header"),this.stickyHeader&&this.stickyHeader.dispatchEvent(new Event("preventHeaderReveal")),window.setTimeout(()=>{newMedia.scrollIntoView({behavior:"smooth"})});const deferredMedia=newMedia.querySelector(`#Deferred-Poster-${thumbnail.dataset.mediaId}`);deferredMedia&&deferredMedia.click()}handleScrollSpy(){const handleIntersection=entries=>{const oldTargetIndex=this.indicesInViewPort[0]||0;if(entries.forEach(entry=>{this.updateIndicesInViewPort(entry,oldTargetIndex)}),this.indicesInViewPort=this.indicesInViewPort.filter(function(value,index,self){return self.indexOf(value)===index}),this.indicesInViewPort.length===0||oldTargetIndex===this.indicesInViewPort[0])return;const event=new CustomEvent("scrollspy:changed",{detail:{newTarget:this.targets[this.indicesInViewPort[0]],oldTarget:this.targets[oldTargetIndex]}});this.dispatchEvent(event)},observer=new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"-50px 0px"});this.targets=[],this.targetIndices={},this.indicesInViewPort=[],document.querySelectorAll('[id^="Slider-Gallery"] .product__media-item').forEach((section,index)=>{this.targets.push(section),this.targetIndices[section.id]=index,observer.observe(section)})}updateIndicesInViewPort(entry,oldTargetIndex){const index=this.targetIndices[entry.target.id];if(entry.intersectionRatio===0){const indexInViewPort=this.indicesInViewPort.indexOf(index);indexInViewPort!==-1&&this.indicesInViewPort.splice(indexInViewPort,1)}else index<oldTargetIndex?this.indicesInViewPort.unshift(index):index>this.indicesInViewPort[this.indicesInViewPort.length-1]?this.indicesInViewPort.push(index):(this.indicesInViewPort.push(index),this.indicesInViewPort.sort())}onScrollTargetChanged(event){const thumbnails=this.querySelectorAll(".product__thumbnail"),thumbnailActive=this.querySelector('.product__thumbnail[data-thumbnail-position="'+event.detail.newTarget.getAttribute("data-media-position")+'"]');thumbnails.forEach(function(item){return item.classList.remove("is-active")}),thumbnailActive.classList.add("is-active")}});
2//# sourceMappingURL=/cdn/shop/t/136/assets/product-thumbnails.js.map?v=182642316058631802041786005665

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.