1(self.webpackChunk_mvps_genesis_quickstart_theme=self.webpackChunk_mvps_genesis_quickstart_theme||[]).push([[5574],{1335:(e,t,i)=>{"use strict";i.d(t,{A:()=>n});var s=i(359),a=i(1559);const o=class{thumbnailSlider;primarySlider;imPrevData;constructor(){let{productLayoutImageSlider:e="#js-product-layout-image-slider",mainImagecarouselOptions:t={arrows:!1,breakpoints:{959:{pagination:!0}},lazyLoad:"nearby",pagination:!1,preloadPages:0,type:"loop"},thumbnailCarouselOptions:i={arrows:!0,breakpoints:{959:{direction:"ltr",perPage:1}},direction:"ttb",gap:"0.5rem",height:"50vh",isNavigation:!0,lazyLoad:"nearby",pagination:!1,perPage:6,preloadPages:0,type:"loop"},photoSwipeWrapSelector:s="js-photoswipe-wrap",thumbnailsSliderSelector:o="js-thumbnails-slider",carouselSlidesSelector:n=".g-carousel__slides",videos:r=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._validator=new a.A(this),this.productLayoutImageSlider=this._validator.isElement("options.productLayoutImageSlider",e),this.mainImagecarouselOptions=this._validator.isObject("options.mainImagecarouselOptions",t),this.thumbnailCarouselOptions=this._validator.isObject("options.thumbnailCarouselOptions",i),this.photoSwipeWrapSelector=this._validator.isString("options.photoSwipeWrapSelector",s),this.thumbnailsSliderSelector=this._validator.isString("options.thumbnailsSliderSelector",o),this.carouselSlidesSelector=this._validator.isString("options.carouselSlidesSelector",n),this.videos=this._validator.isArray("options.videos",r),this.thumbnailSlider=null,this.primarySlider=null,this.imPrevData="",this.init()}init(){void 0===window.ImageMachine?window.addEventListener("imagemachine_override",(()=>{this.setImageMachineOverrides()})):this.setImageMachineOverrides()}setImageMachineOverrides(){const e=this;window.ImageMachine.prototype.oninitialize=function(t){const i=this;if(i.imageSliderSlider&&i.imageSliderSlides&&i.thumbnailSlider||(i.imageSliderSlider=e.productLayoutImageSlider,i.imageSliderSlides=null,i.imageSliderSlider&&(i.imageSliderSlides=i.imageSliderSlider.querySelector(e.carouselSlidesSelector)),i.thumbnailSlider=document.getElementById(e.thumbnailsSliderSelector)),"undefined"===i.thumbnails&&i.thumbnailSlider instanceof HTMLElement&&(i.thumbnails=i.thumbnailSlider.querySelector(e.carouselSlidesSelector)),t&&e.imageMachineDataHasChanged(t,e.imPrevData))if(t.push(...e.getVideoData()),t[0]&&t[0].image_data&&t[0].image_data[2]){const s=new Image;s.onload=function(){e.initializeGalleryFromData(i,t)},s.src=t[0].image_data[2]}else e.initializeGalleryFromData(i,t)}}imageMachineDataHasChanged(e,t){return!t||JSON.stringify(e)!==JSON.stringify(t)}getVideoData(){let e=[];
1if(!this.videos.length)return e;for(const t of this.videos)e.push({image_data:[`https://player.vimeo.com/video/${t}?badge=0&autopause=0&player_id=0&byline=0&portrait=0&dnt=1`,`https://vumbnail.com/${t}_small.jpg`],type_code:"video_embed"});return e}initializeGalleryFromData(e,t){e.Initialize(t),this.createProductImageCarousels(e.thumbnailSlider,e.imageSliderSlider,t)}createProductImageCarousels(e,t,i){e&&t&&(this.createThumbnailCarousel(e),this.createMainCarousel(t,i))}async createMainCarousel(e,t){const{Carousel:s}=await Promise.resolve().then(i.bind(i,323));if(this.primarySlider&&this.primarySlider.slider&&this.primarySlider.slider.destroy("completely"),0!==this.thumbnailSlider.slideCount)this.primarySlider=new s(e,this.mainImagecarouselOptions),this.primarySlider.slider.on("moved",(()=>{this.primarySlider.container&&this.pauseProductVideos(this.primarySlider.container.querySelectorAll("iframe"))})),this.primarySlider.slider.sync(this.thumbnailSlider.slider).mount(),this.primarySlider.slider.on("click",(e=>this.mainImageClicked(e.slide,t)));else for(const e of document.getElementsByClassName(this.carouselSlidesSelector))e.addEventListener("click",(()=>this.mainImageClicked(e,t)))}async createThumbnailCarousel(e){const{Carousel:t}=await Promise.resolve().then(i.bind(i,323));this.thumbnailSlider&&this.thumbnailSlider.slider&&this.thumbnailSlider.slider.destroy("completely"),this.thumbnailSlider=new t(e,this.thumbnailCarouselOptions);const s=this.thumbnailSlider.slideCount>=this.thumbnailCarouselOptions.perPage;s?e.classList.remove("g-product-layout-images__arrows-hidden"):e.classList.add("g-product-layout-images__arrows-hidden"),this.thumbnailSlider.slider.options.arrows=s,this.thumbnailSlider.slider.options.type=s?"loop":"slide",this.thumbnailSlider.slideCount>0&&this.thumbnailSlider.slider.mount()}async mainImageClicked(e,t){const{default:s}=await i.e(4534).then(i.t.bind(i,5264,23)),{default:a}=await i.e(4534).then(i.t.bind(i,2515,23));await Promise.all([i.e(4534),i.e(3570)]).then(i.t.bind(i,7554,23)),await Promise.all([i.e(4534),i.e(9349)]).then(i.t.bind(i,1655,23));const o=[],n=parseInt(e.getAttribute("data-index"),10);for(const e of t){if(!e.image_data)continue;const t=e.image_data[2]?e.image_data[2]:e.image_data[1],i=t.split("/").pop().split(".");i.length>1&&i.pop();let s={h:0,src:t,title:i.join(".").replaceAll(/[_-]|[ ]{2,}/g," ").toUpperCase(),w:0};"video_embed"===e.type_code&&e.image_data[0]&&(s={html:`\n\t\t\t\t\t\t<div class="photoswipe--iframe-wrap">\n\t\t\t\t\t\t\t<div class="u-responsive-embed u-responsive-embed--16by9">\n\t\t\t\t\t\t\t\t<iframe class="photoswipe--iframe" src="${e.image_data[0]}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>`}),o.push(s)}const r=new s(this.getPhotoSwipeElement(),a,o,{closeOnScroll:!1,history:!1,index:n});this.bindGalleryEvents(r),r.init()}bindGalleryEvents(e){e.listen("imageLoadComplete",((t,i)=>{i.src&&(i.w>1&&i.h>1||this.updateGalleryItem(e,i))})),e.listen("afterChange",(()=>{this.thumbnailSlider&&this.thumbnailSlider.slider&&this.thumbnailSlider.slider.go(e.getCurrentIndex(),!1)})),e.listen("close",(()=>{this.pauseProductVideos(e.template.querySelectorAll("iframe"))})),e.listen("beforeChange",(()=>{this.pauseProductVideos(e.template.querySelectorAll("iframe"))}))}async updateGalleryItem(e,t){var i=new Image;i.onload=await(function(){t.w=i.naturalWidth,t.h=i.naturalHeight,e.updateSize(!0)}),i.src=t.src}pauseProductVideos(e){for(const t of e)t.contentWindow&&t.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}getPhotoSwipeElement(){let e=document.getElementById(this.photoSwipeWrapSelector);return e||(e=document.createElement("div"),e.setAttribute("id",this.photoSwipeWrapSelector),e.classList.add("pswp"),e.setAttribute("tabindex",-1),e.setAttribute("role","dialog"),e.setAttribute("aria-hidden","true"),e.innerHTML='<div class="pswp__bg"></div> <div class="pswp__scroll-wrap"> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <div class="pswp__counter"></div> <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> <button class="pswp__button pswp__button--share" title="Share"></button> <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button> <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button> <div class="pswp__caption"> <div class="pswp__caption__center"></div> </div> </div> </div> ',document.body.appendChild(e),e)}};
1class n extends s.A{constructor(e){super(e)}async initAltStickyHeader(){const e=document.getElementById("js-sticky-header");if(!e||!("IntersectionObserver"in window))return;const{default:t}=await i.e(8180).then(i.bind(i,8180));new t(e);const s=document.getElementById("js-product-header-cta-control"),a=document.getElementsByClassName("g-product-layout-purchase")[0];s&&a&&s.addEventListener("click",(e=>{e.preventDefault(),a.scrollIntoView({behavior:"smooth",block:"start"})}))}initImageGallery(){const e=document.getElementById("js-product-layout-image-slider");e&&new o({productLayoutImageSlider:e,videos:this.pageContext.Product_Videos||[]})}async initQNA(){const e=document.getElementById("js-product-qna");if(!e)return;const{QNA:t}=await i.e(9291).then(i.bind(i,9291));new t({containerElement:e});const s=document.getElementById("js-qna-form");if(!s)return;const a=s.querySelector('input[name="Action"]'),o=s.querySelector(".js-bot-verification");s.addEventListener("submit",(e=>{e.preventDefault(),o.value?window.location.href=window.location.origin:(a.value="ASKQ",e.target.submit())}))}async initTabcordion(){const e=document.getElementsByClassName("g-tabcordion")[0];if(!e)return;const{Tabcordion:t}=await i.e(1520).then(i.bind(i,1520));new t(e,{accordionMode:768,hashOptions:{enabled:!0,scrollIntoView:{behavior:"smooth",block:"start"},updateLocation:!0}})}async initTooltips(){const e=document.querySelectorAll(".js-tooltip");if(!e)return;const{default:t}=await Promise.all([i.e(9475),i.e(5855)]).then(i.bind(i,908));await Promise.all([i.e(9475),i.e(6476)]).then(i.t.bind(i,9764,23)),t(e,{allowHTML:!0})}removeCloseupBackingElement(){const e=document.querySelector("div.closeup_backing");e&&window.addEventListener("load",(function(){e.parentNode.removeChild(e)}))}}},2727:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>a});i(5167);var s=i(1335);class a extends s.A{onReady(){this.initImageGallery(),this.removeCloseupBackingElement(),this.initAltStickyHeader(),this.initTrayAttributes(),this.initPurchaseForm(),this.initTabcordion(),this.initQNA(),this.initTooltips()}async initPurchaseForm(){const e=document.getElementById("js-purchase-form");if(!e)return;if(e.querySelector(".js-add-to-cart")){const{default:t}=await i.e(266).then(i.bind(i,266));new t(e,{scrollToMessage:"error"})}const{HTMLFormValidator:t}=await Promise.all([i.e(6587),i.e(919)]).then(i.bind(i,919));new t({fieldContainer:".g-product-layout-purchase__options-species-item",formElement:e})}initTrayAttributes(){this.initSpeciesOptions(),this.bindTraySizeEvents()}initSpeciesOptions(){for(const e of document.getElementsByClassName("js-select-species-item")){const t=e.options?.length??0;let i=parseInt(e.getAttribute("data-quantity"),10);if(isNaN(i)&&(i=0),!t||!i)continue;const s=[];for(let a=0;a<t;a++){const t=e[a];if(!t.hasAttribute("data-inventory"))continue;let o=parseInt(t.getAttribute("data-inventory"),10);isNaN(o)&&(o=0),i>o&&s.push(t)}s.forEach((t=>{e.removeChild(t)}))}}bindTraySizeEvents(){const e=document.getElementsByClassName("js-select-tray")[0];e&&(this.handleTraySizeChange(e),e.addEventListener("change",this.handleTraySizeChange.bind(this,e)))}handleTraySizeChange(e){if(!e?.value)return;const t=e.value.match(/^TRAY(\d+)/i)[1]??!1;if(!1===t)return;const i=document.getElementById(`js-select-species-${t}`);if(i)for(const e of document.getElementsByClassName("g-product-layout-purchase__options-species")){const t=e===i;for(const i of e.querySelectorAll("input, select"))i.disabled=!t;t?e.classList.remove("u-hidden"):e.classList.add("u-hidden")}}}},4934:()=>{},5167:(e,t,i)=>{var s=i(4934);s.__esModule&&(s=s.default),"string"==typeof s&&(s=[[e.id,s,""]]),s.locals&&(e.exports=s.locals);(0,i(4424).A)("673bfc9e",s,!1,{})}}]); 2//# sourceMappingURL=page-code--PROD_MIX.0aafc36715407ffa97f3.chunk.js.map
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.