PageSourceSearch

https://www.juliska.com/cdn/shop/t/722/assets/media-gallery.js?v=49435200226895224091789995314

js juliska.com collected 2026-09-25 19:12:17 UTC 10,742 bytes, 2 lines download raw bytes

1customElements.get("media-gallery")||customElements.define("media-gallery",class extends HTMLElement{constructor(){super(),this.selectors={viewer:'[id^="GalleryViewer"]',thumbnails:'[id^="GalleryThumbnails"]',mediaList:'[id^="Slider-Gallery"]',mediaItems:[".product__media-item"]},this.sliderInstance=!1,this.thumbsInstance=!1}connectedCallback(){this.init()}init(){this.elements=window.FoxTheme.utils.queryDomNodes(this.selectors,this),this.mediaLayout=this.dataset.mediaLayout,this.onlyImage=this.dataset.onlyImage==="true",this.enableDesktopSlider=this.dataset.enableDesktopSlider==="true",this.enableMobileThumbnails=this.dataset.enableMobileThumbnails==="true",this.enableImageZoom=this.dataset.enableImageZoom==="true",this.setSliderOptions();const mql=window.matchMedia(FoxTheme.config.mediaQueryMobile);mql.onchange=this.updateMediaLayout.bind(this),this.updateMediaLayout(),this.enableImageZoom&&this.initImageZoom()}setSliderOptions(){const mediaItemGap=parseInt(this.dataset.mediaItemGap);switch(this.sliderOptions={init:!1,slidesPerView:"1",spaceBetween:mediaItemGap,loop:!0,grabCursor:!0,allowTouchMove:!0,autoHeight:!0,navigation:{nextEl:this.querySelector(".swiper-button-next"),prevEl:this.querySelector(".swiper-button-prev")},pagination:{el:this.querySelector(".swiper-pagination"),clickable:!0,type:"fraction"},threshold:2},this.thumbsOptions={slidesPerView:4,breakpoints:{461:{slidesPerView:5}},spaceBetween:mediaItemGap,loop:!1,freeMode:!0,watchSlidesProgress:!0,threshold:2},this.mediaLayout){case"vertical-carousel":this.thumbsOptions=Object.assign({},this.thumbsOptions,{breakpoints:{768:{direction:"vertical",slidesPerView:"auto"}}});break;case"slider-freemode":this.sliderOptions=Object.assign({},this.sliderOptions,{slidesPerView:"auto"});break}}updateMediaLayout(){FoxTheme.config.mqlMobile?this.initSlider():this.enableDesktopSlider?this.initSlider():this.destroySlider()}initSlider(){typeof this.sliderInstance!="object"&&((this.enableDesktopSlider||this.enableMobileThumbnails)&&this.elements.thumbnails&&(this.thumbsInstance=new window.FoxTheme.Carousel(this.elements.thumbnails,this.thumbsOptions),this.thumbsInstance.init(),this.sliderOptions.thumbs={swiper:this.thumbsInstance.slider,autoScrollOffset:2}),this.sliderInstance=new window.FoxTheme.Carousel(this.elements.viewer,this.sliderOptions,[FoxTheme.Swiper.Thumbs]),this.sliderInstance.init(),this.handleSliderAfterInit(),this.handleSlideChange(),this.sliderInstance.slider.init())}destroySlider(){typeof this.sliderInstance=="object"&&(this.sliderInstance.slider.destroy(),this.sliderInstance=!1)}initThumbsSlider(){typeof this.thumbsInstance!="object"&&(this.thumbsInstance=new window.FoxTheme.Carousel(this.selectors.thumbnails,this.thumbsOptions),this.thumbsInstance.init())}initImageZoom(){let dataSource=[];const allMedia=[...this.querySelectorAll(".product__media-item:not(.swiper-slide-duplicate)")];allMedia&&allMedia.forEach(media=>{switch(media.dataset.mediaType){case"model":dataSource.push({id:media.dataset.mediaIndex,html:`<div class="pswp__item--${media.dataset.mediaType}">${media.querySelector("product-model").outerHTML}</div>`,mediaType:media.dataset.mediaType});break;case"video":case"external_video":dataSource.push({id:media.dataset.mediaIndex,html:`<div class="pswp__item--${media.dataset.mediaType}">${media.querySelector("video-element").outerHTML}</div>`,mediaType:media.dataset.mediaType});break;case"image":dataSource.push({id:media.dataset.mediaIndex,src:media.dataset.src,width:media.dataset.pswpWidth,height:media.dataset.pswpHeight,mediaType:media.dataset.mediaType});break}}),this.lightbox=new window.FoxTheme.PhotoSwipeLightbox({dataSource,pswpModule:window.FoxTheme.PhotoSwipe,bgOpacity:1,arrowPrev:!1,arrowNext:!1,zoom:!1,close:!1,counter:!1,preloader:!1}),this.lightbox.addFilter("thumbEl",(thumbEl,{id},index)=>{if(this.sliderInstance&&this.sliderInstance.slider){const{slides,activeIndex}=this.sliderInstance.slider;if(slides[activeIndex]){const el=slides[activeIndex].querySelector("img");if(el)return el}}return thumbEl}),this.lightbox.addFilter("placeholderSrc",(placeholderSrc,{data:{id}})=>{if(this.sliderInstance&&this.sliderInstance.slider){const{slides,activeIndex}=this.sliderInstance.slider;if(slides[activeIndex]){const el=slides[activeIndex].querySelector("img");if(el)return el.src}}return placeholderSrc}),this.lightbox.on("change",()=>{if(window.pauseAllMedia(this),this.sliderInstance&&this.sliderInstance.slider){const{currIndex}=this.lightbox.pswp;this.sliderInstance.slider.realIndex!==currIndex&&this.sliderInstance.slider.slideToLoop(currIndex,100,!1)}}),this.lightbox.on("pointerDown",e=>{this.lightbox.pswp.currSlide.data.mediaType!="image"&&e.preventDefault()}),this.lightbox.on("uiRegister",()=>{this.onlyImage||(this.lightbox.pswp.ui.registerElement({name:"next",ariaLabel:"Next slide",order:3,isButton:!0,html:window.requestHost.includes("juliska.myshopify.com")||window.requestHost.includes("juliska.com")?'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
1<path fill="currentColor" d="M9.901 4.61 7.334 3c-.257.26.288 1.152.53 1.586.408.734 4.717 4.554 5.688 5.43.538.482 1.734 1.24 1.59 1.626-.402-.024-.506.292-.867.513-.963.584-4.703 4.514-5.666 5.588-.208.236-.304.378-.377.45-.072.07-.289.236-.53.441-.449.395-1.099 1.003-1.46 1.453-.377.465-.313.773.185.9.345.086 1.372-.261 1.773-.411 2.937-1.097 5.2-4.136 7.374-6.417.281-.3.538-.615 1.1-1.033.602-.442 1.556-.616 1.276-1.31-.097-.237-2.143-2.155-2.56-2.526-1.758-1.57-3.916-2.817-5.489-4.68Z"/></svg>':'<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 3.74121L13.75 9.99121L7.5 16.2412" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" fill="none" stroke-linejoin="round"/></svg>',onClick:(event,el)=>{this.lightbox.pswp.next()}}),this.lightbox.pswp.ui.registerElement({name:"prev",ariaLabel:"Previous slide",order:1,isButton:!0,html:window.requestHost.includes("juliska.myshopify.com")||window.requestHost.includes("juliska.com")?'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill="currentColor" d="M7.513 12.889c.562.41.618.97.907 1.27 2.176 2.281 4.44 5.328 7.379 6.417.4.15 1.429.497 1.774.41.498-.126.562-.434.184-.9-.36-.45-1.011-1.057-1.46-1.452-.242-.205-.643-.126-.707-.197-.072-.07.016-.466-.201-.694-.971-1.074-4.713-5.004-5.668-5.588-.362-.221-.707-.19-1.108-.166-.129-1.12 1.292-1.491 1.83-1.973.972-.876 5.275-4.83 5.685-5.564.24-.434.184-.978.538-1.452l-2.57 1.618c-1.573 1.862-3.733 3.102-5.491 4.68-.418.37-2.465 2.289-2.561 2.525-.281.695.867.632 1.469 1.074v-.008Z"/></svg>':'<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.75 16.2505L6.5 10.0005L12.75 3.75049" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" fill="none" stroke-linejoin="round"/></svg>',onClick:(event,el)=>{this.lightbox.pswp.prev()}})),this.lightbox.pswp.ui.registerElement({name:"close-zoom",ariaLabel:"Close zoom image",order:2,isButton:!0,html:window.requestHost.includes("juliska.myshopify.com")||window.requestHost.includes("juliska.com")?'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="17" height="16" viewBox="-3 -4 24 24" fill="none"><path fill="currentColor" d="M1.453 15.212c1.068-.247 2.355-1.633 3.104-2.425 1.308-1.379 2.376-2.546 3.91-3.74.113-.085.255-.128.368-.199 1.938 2.235 4.165 4.25 6.23 6.386.438.551 1.499-.142 1.371-.736-.05-.219-.551-1.018-.714-1.223-1.442-1.74-3.57-3.514-5.296-4.971-.163-.134-.297-.311-.453-.453.948-1.046 2.136-1.994 3.055-3.054.481-.552.898-1.323 1.379-1.874.523-.608 1.45-1.266 1.874-1.874.36-.516.056-1.131-.453-.368l-.24-.41c-.092.092-.177.191-.283.269-1.259.89-2.468 2.03-3.585 3.104-1.025.983-2.107 2.022-2.97 3.14-.205-.22-.467-.326-.693-.524C6.17 4.6 4.493 2.442 2.598.787c-.12-.106-.495-.396-.608-.41C1.842.357.908.978.88 1.162c-.035.22.502.969.679 1.174.551.65 1.534 1.648 2.185 2.2.544.459 1.33.763 1.874 1.222C6.403 6.416 7.08 7.321 7.859 8c-2.072 1.365-3.74 3.26-5.501 5.02-.311.312-.488.446-.806.806-.318.361-.997.729-.502 1.224.141.141.212.184.41.141l-.007.021Z"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="none" viewBox="0 0 24 24"><path d="M18.75 5.13496L5.25 18.8544" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.75 18.8544L5.25 5.13496" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',onClick:(event,el)=>{this.lightbox.pswp.close()}})}),this.lightbox.init(),FoxTheme.utils.addEventDelegate({selector:".js-photoswipe--zoom",context:this,handler:(e,media)=>{if(media.dataset.mediaType==="image"){const index=Number(media.dataset.mediaIndex)||0;this.lightbox.loadAndOpen(index)}}})}handleSliderAfterInit(){this.sliderInstance.slider.on("afterInit",swiper=>{const{slides,activeIndex}=swiper;if(slides[activeIndex]){const isModelMediaType=slides[activeIndex].dataset.mediaType==="model";this.toggleSliderDraggableState(!isModelMediaType)}})}handleSlideChange(){this.sliderInstance.slider.on("realIndexChange",swiper=>{const{slides,activeIndex,thumbs}=swiper;if(thumbs.swiper&&thumbs.swiper.slideTo(activeIndex),slides[activeIndex]){this.playActiveMedia(slides[activeIndex]);const isModelMediaType=slides[activeIndex].dataset.mediaType==="model";this.toggleSliderDraggableState(!isModelMediaType)}})}toggleSliderDraggableState(isDraggable){this.sliderInstance.slider.allowTouchMove!==isDraggable&&(this.sliderInstance.slider.allowTouchMove=isDraggable)}playActiveMedia(selected){const deferredMedia=selected.querySelector("product-model");deferredMedia&&deferredMedia.loadContent(!1)}setActiveMedia(variant){if(!(!variant||!variant.hasOwnProperty("featured_media")||!variant.featured_media))if(this.sliderInstance.slider){const slideIndex=variant.featured_media.position||0;this.sliderInstance.slider.slideToLoop(slideIndex-1)}else this.sortMediaItems(variant)}sortMediaItems(variant){let newMedias=this.elements.mediaItems;if(newMedias.sort(function(a,b){return a.dataset.mediaIndex-b.dataset.mediaIndex}),newMedias.some((media,index)=>{if(media.dataset.mediaId==variant.featured_media.id){const[element]=newMedias.splice(index,1);return newMedias.unshift(element),!0}}),this.elements.mediaList.innerHTML="",newMedias.forEach(media=>{this.elements.mediaList.appendChild(media)}),!FoxTheme.config.mqlMobile){const selectedMedia=this.querySelector(`[data-media-id="${variant.featured_media.id}"]`);selectedMedia&&window.scrollTo({top:selectedMedia.offsetTop,behavior:"smooth"})}}});
2//# sourceMappingURL=/cdn/shop/t/722/assets/media-gallery.js.map?v=49435200226895224091789995314

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.