PageSourceSearch

https://www.murad.com/cdn/shop/t/2/assets/chunk--Slider-D6YNBQKI.vbt.js

js murad.com collected 2026-09-25 04:25:36 UTC 4,597 bytes, 2 lines download raw bytes

1import"./chunk--chunk-Z7A6LSGX.vbt.js";var Slider=class{constructor(el,sel){this.el=el,this.options=JSON.parse(el.getAttribute(sel)),this.options.mediaQuery="min",this.el.getAttribute("data-upsell-slider")&&(el.style.display="none",this.upsellInit=!0,this.removedProducts=[]),this.initSplide()}async initSplide(){const Splide=await import("./chunk--splide.esm-NBVXJ4CS.vbt.js");this.Splide=Splide.default,this.mainSlider=new this.Splide(this.el,this.options),this.el.parentNode.querySelector("[data-connected-slider]")&&this.initConnectedSlider(),this.options.pagination&&this.mainSlider.on("mounted",()=>{this.el.querySelectorAll(".splide__pagination__page").forEach(page=>{page.parentElement.addEventListener("click",()=>{page.click()})})});const toggleButton=this.el.querySelector(".splide__toggle");if(toggleButton){const isPlaying=this.options.autoplay||!1;toggleButton.setAttribute("aria-pressed",isPlaying?"true":"false"),toggleButton.addEventListener("click",()=>{const autoplayEnabled=toggleButton.getAttribute("aria-pressed")==="true";toggleButton.setAttribute("aria-pressed",autoplayEnabled?"false":"true")})}this.mainSlider.mount(),this.el.splide=this.mainSlider,this.upsellInit&&this.initUpsellAddRemove(),this.options.adaptiveHeight&&(this.mainSlider.on("move resize",newIndex=>this.updateHeight(this.mainSlider,newIndex)),this.updateHeight(this.mainSlider)),this.options.instantStyleChange&&this.mainSlider.on("move",newIndex=>this.instantStyleChange(this.mainSlider,newIndex))}updateHeight(slider,newIndex){const slide=slider.Components.Slides.getAt(typeof newIndex=="number"?newIndex:slider.index).slide,elTarget=slide.firstElementChild;slide.parentElement.parentElement.style.height=elTarget.offsetHeight+"px"}initConnectedSlider(){const connectedEl=this.el.parentNode.querySelector("[data-connected-slider]"),connectedOptions=JSON.parse(connectedEl.getAttribute("data-connected-slider")),mainSliderHeight=this.mainSlider.root.getBoundingClientRect().height;mainSliderHeight<connectedOptions.sliderHeight?connectedOptions.height=mainSliderHeight:connectedOptions.height=connectedOptions.sliderHeight,connectedOptions.height=connectedOptions.height+"px";const connectedSlider=new this.Splide(connectedEl,connectedOptions);this.mainSlider.on("move",newIndex=>{connectedSlider.go(newIndex),connectedEl.hasAttribute("data-is-navigation")&&this.instantStyleChange(connectedSlider,newIndex)}),connectedSlider.on("move",newIndex=>{this.mainSlider.go(newIndex),connectedEl.hasAttribute("data-is-navigation")&&this.instantStyleChange(connectedSlider,newIndex)}),connectedEl.hasAttribute("data-is-navigation")&&connectedSlider.on("click",Slide=>{connectedSlider.go(Slide.index)}),connectedSlider.mount()}instantStyleChange(slider,newIndex){slider.Components.Slides.forEach(s=>{const{slide,index}=s;slide.classList.toggle("is-active",index===newIndex)})}async initUpsellAddRemove(){let max=this.el.getAttribute("data-max");max&&(max=parseInt(max)),this.removedProducts.length&&console.log("removedProducts",this.removedProducts);const updateSlides=async(disableButtons,productHandles2,removeDisplayProperty)=>{try{const{Components:{Slides}}=this.mainSlider;
1disableButtons&&Slides.forEach(slide=>{const submitButton=slide.slide.querySelector('form button[type="submit"]');submitButton&&(submitButton.disabled=!0)}),Slides.forEach(slide=>{productHandles2.includes(slide.slide.getAttribute("data-product-handle"))&&(slide.slide.classList.contains("splide__slide--clone")||this.removedProducts.push(slide),slide.slide.classList.contains("splide__slide--non-removal")||this.mainSlider.remove(slide.index))}),this.removedProducts.forEach((product,i)=>{productHandles2.includes(product.slide.getAttribute("data-product-handle"))||(this.removedProducts=this.removedProducts.filter((_,index)=>index!==i),this.mainSlider.add(product.slide))}),max&&((...args)=>args.map(a=>document.querySelector("[data-free-samples]").classList.toggle(a,this.removedProducts.length>=max)))("opacity-1"),disableButtons&&Slides.forEach(slide=>{const submitButton=slide.slide.querySelector('form button[type="submit"]');submitButton&&submitButton.removeAttribute("disabled")}),removeDisplayProperty&&this.el.style.removeProperty("display"),Slides.getLength()===0?this.el.style.display="none":this.el.style.removeProperty("display")}catch(err){console.error(err)}},productHandles=document.querySelector("#product_handles").value;setTimeout(()=>{updateSlides(!0,productHandles,!0)},500)}},Slider_default=Slider;export{Slider_default as default};
2//# sourceMappingURL=/cdn/shop/t/2/assets/chunk--Slider-D6YNBQKI.vbt.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.