PageSourceSearch

https://gobik.com/cdn/shop/t/104/assets/product-modal.js?v=175734650816649018231773134384

js gobik.com collected 2026-09-25 14:44:45 UTC 9,317 bytes, 2 lines download raw bytes

1customElements.get("product-modal")||customElements.define("product-modal",class extends ModalDialog{constructor(){super()}hide(){if(this.classList.contains("modal-pdp__gallery")){this.classList.remove("modal-pdp__gallery--fullscreen");const scrollY=document.body.style.top?Math.abs(parseInt(document.body.style.top,10)):0;document.body.classList.remove("modal-pdp-open"),document.body.style.top="",window.scrollTo(0,scrollY)}super.hide()}isHeaderVisible(){if(!window.matchMedia("(min-width: 750px)").matches)return!1;const header=document.querySelector(".section-header");return header?header.getBoundingClientRect().bottom>0:!1}show(opener){super.show(opener),this.classList.contains("modal-pdp__gallery")&&(document.body.style.top=`-${window.scrollY}px`,document.body.classList.add("modal-pdp-open"),this.isHeaderVisible()?this.classList.remove("modal-pdp__gallery--fullscreen"):this.classList.add("modal-pdp__gallery--fullscreen")),this.showActiveMedia()}updateMobileNav(){const thumbs=this.querySelectorAll(".product-media-modal__thumb"),content=this.querySelector(".product-media-modal__content");if(!thumbs.length||!content)return;const activeEl=content.querySelector("[data-media-id].active"),activeId=activeEl&&activeEl.getAttribute("data-media-id"),ids=Array.from(thumbs).map(t=>t.getAttribute("data-media-id")),index=activeId?ids.indexOf(activeId):0,current=index>=0?index+1:1,totalEl=this.querySelector(".modal-pdp__nav-total"),currentEl=this.querySelector(".modal-pdp__nav-current");totalEl&&(totalEl.textContent=ids.length),currentEl&&(currentEl.textContent=current)}setActiveMediaByMediaId(mediaId){if(!mediaId)return;const content=this.querySelector(".product-media-modal__content");if(!content)return;content.querySelectorAll("[data-media-id]").forEach(el=>{el.classList.toggle("active",el.getAttribute("data-media-id")===String(mediaId))});const activeMedia=content.querySelector(`[data-media-id="${mediaId}"]`);if(!activeMedia)return;const activeMediaTemplate=activeMedia.querySelector&&activeMedia.querySelector("template"),activeMediaContent=activeMediaTemplate?activeMediaTemplate.content:null;activeMedia.nodeName==="DEFERRED-MEDIA"&&activeMediaContent&&activeMediaContent.querySelector(".js-youtube")&&activeMedia.loadContent();const container=this.querySelector('[role="document"]');container&&activeMedia.scrollIntoView&&activeMedia.scrollIntoView(),container&&typeof activeMedia.width<"u"&&(container.scrollLeft=Math.max(0,(activeMedia.width-container.clientWidth)/2)),this.querySelectorAll(".product-media-modal__thumb").forEach(thumb=>{thumb.classList.toggle("is-active",thumb.getAttribute("data-media-id")===String(mediaId)),thumb.getAttribute("data-media-id")===String(mediaId)&&thumb.scrollIntoView({block:"nearest",behavior:"smooth"})}),this.updateMobileNav()}showActiveMedia(){const mediaId=this.openedBy&&this.openedBy.getAttribute("data-media-id");if(!mediaId)return;const content=this.querySelector(".product-media-modal__content");if(!content)return;content.querySelectorAll("[data-media-id]").forEach(el=>{el.classList.remove("active")});const activeMedia=content.querySelector(`[data-media-id="${mediaId}"]`);if(!activeMedia)return;const activeMediaTemplate=activeMedia.querySelector&&activeMedia.querySelector("template"),activeMediaContent=activeMediaTemplate?activeMediaTemplate.content:null;activeMedia.classList.add("active"),activeMedia.scrollIntoView();const container=this.querySelector('[role="document"]');container&&typeof activeMedia.width<"u"&&(container.scrollLeft=Math.max(0,(activeMedia.width-container.clientWidth)/2)),activeMedia.nodeName==="DEFERRED-MEDIA"&&activeMediaContent&&activeMediaContent.querySelector(".js-youtube")&&activeMedia.loadContent(),this.querySelectorAll(".product-media-modal__thumb").forEach(thumb=>{thumb.classList.toggle("is-active",thumb.getAttribute("data-media-id")===mediaId),thumb.getAttribute("data-media-id")===mediaId&&thumb.scrollIntoView({block:"nearest",behavior:"smooth"})}),this.updateMobileNav()}}),document.addEventListener("DOMContentLoaded",function(){document.addEventListener("click",function(e){const btn=e.target.closest(".modal-pdp__nav-prev, .modal-pdp__nav-next");if(!btn)return;const modal=btn.closest("product-modal");if(!modal||!modal.setActiveMediaByMediaId)return;const thumbs=modal.querySelectorAll(".product-media-modal__thumb"),content=modal.querySelector(".product-media-modal__content");
1if(!thumbs.length||!content)return;const activeEl=content.querySelector("[data-media-id].active"),activeId=activeEl?activeEl.getAttribute("data-media-id"):null,ids=Array.from(thumbs).map(t=>t.getAttribute("data-media-id")),index=activeId?ids.indexOf(activeId):0,dir=btn.classList.contains("modal-pdp__nav-next")?1:-1,nextIndex=Math.max(0,Math.min(ids.length-1,index+dir));modal.setActiveMediaByMediaId(ids[nextIndex])})}),document.addEventListener("DOMContentLoaded",function(){document.addEventListener("click",function(e){if(!window.matchMedia("(min-width: 750px)").matches)return;const opener=e.target.closest(".product__modal-opener--image");if(!opener)return;const button=opener.querySelector("button[data-media-id]");if(!button||e.target.closest("button"))return;const modal=document.querySelector(opener.getAttribute("data-modal"));!modal||!modal.classList.contains("product-media-modal")||(e.preventDefault(),e.stopPropagation(),modal.show(button))},!0)}),document.addEventListener("DOMContentLoaded",function(){document.addEventListener("click",function(e){const thumb=e.target.closest(".product-media-modal__thumb");if(!thumb)return;e.preventDefault();const modal=thumb.closest("product-modal");!modal||!modal.setActiveMediaByMediaId||modal.setActiveMediaByMediaId(thumb.getAttribute("data-media-id"))})}),(function(){if(!window.matchMedia("(max-width: 749px)").matches)return;function initThumbnailsTouchScroll(modal){const thumbsEl=modal&&modal.querySelector(".modal-pdp__thumbnails");if(!thumbsEl||thumbsEl.dataset.touchScrollInit)return;thumbsEl.dataset.touchScrollInit="1";let startY=0,startScrollTop=0;thumbsEl.addEventListener("touchstart",function(e){startY=e.touches[0].clientY,startScrollTop=thumbsEl.scrollTop},{passive:!0}),thumbsEl.addEventListener("touchmove",function(e){const maxScroll=thumbsEl.scrollHeight-thumbsEl.clientHeight;if(maxScroll<=0)return;const y=e.touches[0].clientY,delta=startY-y,next=startScrollTop+delta;thumbsEl.scrollTop=Math.max(0,Math.min(maxScroll,next)),startY=y,startScrollTop=thumbsEl.scrollTop,e.preventDefault()},{passive:!1,capture:!0})}const observer=new MutationObserver(function(mutations){mutations.forEach(function(m){if(m.type!=="attributes"||m.attributeName!=="open")return;const modal=m.target;modal.classList.contains("modal-pdp__gallery")&&modal.hasAttribute("open")&&initThumbnailsTouchScroll(modal)})});document.querySelectorAll(".modal-pdp__gallery").forEach(function(modal){initThumbnailsTouchScroll(modal),observer.observe(modal,{attributes:!0})})})(),(function(){function goToAdjacentMedia(modal,direction){if(!modal||!modal.setActiveMediaByMediaId)return;const thumbs=modal.querySelectorAll(".product-media-modal__thumb"),content=modal.querySelector(".product-media-modal__content");if(!thumbs.length||!content)return;const activeEl=content.querySelector("[data-media-id].active"),activeId=activeEl?activeEl.getAttribute("data-media-id"):null,ids=Array.from(thumbs).map(t=>t.getAttribute("data-media-id")),index=activeId?ids.indexOf(activeId):0,nextIndex=Math.max(0,Math.min(ids.length-1,index+direction));nextIndex!==index&&modal.setActiveMediaByMediaId(ids[nextIndex])}function initScrollToChangeImage(modal){const content=modal&&modal.querySelector(".modal-pdp__content");if(!content||content.dataset.scrollChangeInit)return;content.dataset.scrollChangeInit="1";let lastWheelTime=0;content.addEventListener("wheel",function(e){if(!modal.hasAttribute("open"))return;const now=Date.now();if(now-lastWheelTime<400){e.preventDefault();return}e.deltaY>40?(e.preventDefault(),lastWheelTime=now,goToAdjacentMedia(modal,1)):e.deltaY<-40&&
1(e.preventDefault(),lastWheelTime=now,goToAdjacentMedia(modal,-1))},{passive:!1});let touchStartY=0,touchHandled=!1;content.addEventListener("touchstart",function(e){modal.hasAttribute("open")&&(touchStartY=e.touches[0].clientY,touchHandled=!1)},{passive:!0}),content.addEventListener("touchmove",function(e){if(!modal.hasAttribute("open")||touchHandled)return;const y=e.touches[0].clientY,delta=touchStartY-y;delta>50?(touchHandled=!0,goToAdjacentMedia(modal,1),e.preventDefault()):delta<-50&&(touchHandled=!0,goToAdjacentMedia(modal,-1),e.preventDefault())},{passive:!1})}function initAllScrollToChange(){document.querySelectorAll(".modal-pdp__gallery").forEach(initScrollToChangeImage)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initAllScrollToChange):initAllScrollToChange();const observer=new MutationObserver(function(mutations){mutations.forEach(function(m){if(m.type!=="attributes"||m.attributeName!=="open")return;const modal=m.target;modal.classList.contains("modal-pdp__gallery")&&modal.hasAttribute("open")&&initScrollToChangeImage(modal)})});document.querySelectorAll(".modal-pdp__gallery").forEach(function(modal){observer.observe(modal,{attributes:!0})})})();
2//# sourceMappingURL=/cdn/shop/t/104/assets/product-modal.js.map?v=175734650816649018231773134384

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.