PageSourceSearch

https://www.pureraw.de/cdn/shop/t/9/assets/media-gallery.js?v=110890501253947921701786709257

js pureraw.de collected 2026-09-25 15:01:43 UTC 6,294 bytes, 2 lines download raw bytes

1if(customElements.get("media-gallery")||customElements.define("media-gallery",class extends HTMLElement{constructor(){super(),this.elements={liveRegion:this.querySelector('[id^="GalleryStatus"]'),viewer:this.querySelector('[id^="GalleryViewer"]'),thumbnails:this.querySelector('[id^="GalleryThumbnails"]')},this.mql=window.matchMedia("(min-width: 750px)"),this.elements.viewer&&this.elements.viewer.addEventListener("slideChanged",debounce(this.onSlideChanged.bind(this),50)),this.elements.thumbnails&&(this.elements.thumbnails.querySelectorAll("[data-target]").forEach(mediaToSwitch=>{mediaToSwitch.querySelector("button").addEventListener("click",this.setActiveMedia.bind(this,mediaToSwitch.dataset.target,!1))}),this.dataset.desktopLayout.includes("thumbnail")&&this.mql.matches&&this.removeListSemantic()),this.syncInitialActiveState()}syncInitialActiveState(){if(!this.elements.viewer)return;const current=this.elements.viewer.querySelector(".is-active[data-media-id]")||this.elements.viewer.querySelector("[data-media-id]");current&&this.setActiveViewerSlide(current)}onSlideChanged(event){if(!event||!event.detail||!event.detail.currentElement||(this.setActiveViewerSlide(event.detail.currentElement),!this.elements.thumbnails))return;const thumbnail=this.elements.thumbnails.querySelector(`[data-target="${event.detail.currentElement.dataset.mediaId}"]`);thumbnail&&this.setActiveThumbnail(thumbnail)}setActiveViewerSlide(currentEl){!this.elements.viewer||!currentEl||(this.elements.viewer.querySelectorAll("[data-media-id].is-active").forEach(el=>{el.classList.remove("is-active"),el.removeAttribute("aria-current")}),currentEl.classList.add("is-active"),currentEl.setAttribute("aria-current","true"))}setActiveMedia(mediaId,prepend){const activeMedia=this.elements.viewer.querySelector(`[data-media-id="${mediaId}"]`);if(this.elements.viewer.querySelectorAll("[data-media-id]").forEach(element=>{element.classList.remove("is-active"),element.removeAttribute("aria-current")}),activeMedia.classList.add("is-active"),activeMedia.setAttribute("aria-current","true"),prepend){if(activeMedia.parentElement.prepend(activeMedia),this.elements.thumbnails){const activeThumbnail2=this.elements.thumbnails.querySelector(`[data-target="${mediaId}"]`);activeThumbnail2.parentElement.prepend(activeThumbnail2)}this.elements.viewer.slider&&this.elements.viewer.resetPages()}if(this.preventStickyHeader(),window.setTimeout(()=>{this.elements.thumbnails&&activeMedia.parentElement.scrollTo({left:activeMedia.offsetLeft}),(!this.elements.thumbnails||this.dataset.desktopLayout==="stacked")&&activeMedia.scrollIntoView({behavior:"smooth"})}),this.playActiveMedia(activeMedia),!this.elements.thumbnails)return;const activeThumbnail=this.elements.thumbnails.querySelector(`[data-target="${mediaId}"]`);this.setActiveThumbnail(activeThumbnail),this.announceLiveRegion(activeMedia,activeThumbnail.dataset.mediaPosition)}setActiveThumbnail(thumbnail){!this.elements.thumbnails||!thumbnail||(this.elements.thumbnails.querySelectorAll("button").forEach(element=>element.removeAttribute("aria-current")),thumbnail.querySelector("button").setAttribute("aria-current",!0),this.elements.thumbnails.querySelectorAll(".thumbnail").forEach(element=>{element.classList.remove("is-active")}),thumbnail.querySelector(".thumbnail").classList.add("is-active"),!this.elements.thumbnails.isSlideVisible(thumbnail,10)&&this.elements.thumbnails.slider.scrollTo({left:thumbnail.offsetLeft}))}announceLiveRegion(activeItem,position){const image=activeItem.querySelector(".product__modal-opener--image img");image&&(image.onload=()=>{this.elements.liveRegion.setAttribute("aria-hidden",!1),this.elements.liveRegion.innerHTML=window.accessibilityStrings.imageAvailable.replace("[index]",position),setTimeout(()=>{this.elements.liveRegion.setAttribute("aria-hidden",!0)},2e3)},image.src=image.src)}playActiveMedia(activeItem){window.pauseAllMedia();const deferredMedia=activeItem.querySelector(".deferred-media");deferredMedia&&deferredMedia.loadContent(!1)}preventStickyHeader(){this.stickyHeader=this.stickyHeader||document.querySelector("sticky-header"),this.stickyHeader&&this.stickyHeader.dispatchEvent(new Event("preventHeaderReveal"))}removeListSemantic(){this.elements.viewer.slider&&(this.elements.viewer.slider.setAttribute("role","presentation"),this.elements.viewer.sliderItems.forEac
1h(slide=>slide.setAttribute("role","presentation")))}}),!customElements.get("vertical-thumbnail-slider")){class VerticalThumbnailSlider extends HTMLElement{constructor(){if(super(),this.slider=this.querySelector("ul.slider"),this.sliderItems=this.querySelectorAll("li.slider-slide"),this.prevButton=this.querySelector('button[name="previous"]'),this.nextButton=this.querySelector('button[name="next"]'),this.step=parseInt(this.prevButton?.dataset.step||"1",10),this.sliderItemHeight=0,!this.slider||!this.nextButton)return;this.init(),this.prevButton.addEventListener("click",this.scrollUp.bind(this)),this.nextButton.addEventListener("click",this.scrollDown.bind(this)),this.slider.addEventListener("scroll",this.updateButtons.bind(this)),new ResizeObserver(()=>this.init()).observe(this.slider)}init(){this.sliderItems=this.querySelectorAll("li.slider-slide"),!(this.sliderItems.length<2)&&(this.sliderItemHeight=this.sliderItems[1].offsetTop-this.sliderItems[0].offsetTop,this.updateButtons())}scrollUp(e){e.preventDefault(),this.slider.scrollBy({top:-this.step*this.sliderItemHeight,behavior:"smooth"})}scrollDown(e){e.preventDefault(),this.slider.scrollBy({top:this.step*this.sliderItemHeight,behavior:"smooth"})}updateButtons(){if(!this.slider)return;const scrollTop=this.slider.scrollTop,maxScrollTop=this.slider.scrollHeight-this.slider.clientHeight;scrollTop<=0?this.prevButton.style.display="none":this.prevButton.style.display="flex",scrollTop>=maxScrollTop-1?this.nextButton.style.display="none":this.nextButton.style.display="flex"}isSlideVisible(element,offset=0){const lastVisibleSlide=this.slider.scrollTop+this.slider.clientHeight-offset;return element.offsetTop+element.clientHeight<=lastVisibleSlide&&element.offsetTop>=this.slider.scrollTop}}customElements.define("vertical-thumbnail-slider",VerticalThumbnailSlider)}
2//# sourceMappingURL=/cdn/shop/t/9/assets/media-gallery.js.map?v=110890501253947921701786709257

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.