PageSourceSearch

https://www.lacolombe.com/cdn/shop/t/425/assets/hero.js?v=150434044913930842811785358335

js lacolombe.com collected 2026-09-24 09:14:17 UTC 10,693 bytes, 2 lines download raw bytes

1if(typeof HeroCarousel>"u"){const selectedHeroSlides=new Map;class HeroCarousel2 extends HTMLElement{connectedCallback(){this.onBlockSelect=this.onBlockSelect.bind(this),this.onBlockDeselect=this.onBlockDeselect.bind(this);const swiperContainer=this.querySelector(".swiper");!swiperContainer||this.swiper||whenReady("Swiper",()=>{try{const section=this.closest(".shopify-section"),savedSlideId=section?selectedHeroSlides.get(section.id):null;let initialSlide=0;if(savedSlideId){const savedSlide=this.querySelector(`#${CSS.escape(savedSlideId)}`);if(savedSlide){const savedIndex=Array.from(this.querySelectorAll(".swiper-wrapper > .swiper-slide")).indexOf(savedSlide);savedIndex>=0&&(initialSlide=savedIndex)}}this.swiper=new Swiper(swiperContainer,{loop:!0,initialSlide,a11y:!0,pauseOnMouseEnter:!1,modules:[Swiper.EffectFade,Swiper.Autoplay,Swiper.A11y,Swiper.Pagination],pagination:{el:this.querySelector(".swiper-pagination"),type:"bullets",clickable:!0}}),document.addEventListener("shopify:block:select",this.onBlockSelect),document.addEventListener("shopify:block:deselect",this.onBlockDeselect),savedSlideId&&this.goToSlideId(savedSlideId,0),this.swiper.on("slideChange",()=>{if(this.swiper.slides[this.swiper.activeIndex].querySelector("video")!==null){const video=this.swiper.slides[this.swiper.activeIndex].querySelector("video");video&&(video.dataset.userUnmuted==="true"||(video.muted=!0),video.playsInline=!0,setTimeout(()=>{const playPromise=video.play();playPromise!==void 0&&playPromise.catch(error=>{console.log("Video autoplay prevented:",error);try{video.currentTime=0,video.play()}catch(retryError){console.log("Video autoplay retry failed:",retryError)}})},100))}}),this.querySelectorAll(".swiper-next-button").length&&this.querySelectorAll(".swiper-next-button").forEach($button=>{$button.addEventListener("click",e=>{e.preventDefault(),this.swiper.slideNext()})})}catch(error){console.error("Failed to initialize Swiper:",error)}})}disconnectedCallback(){this.swiper&&(this.swiper.destroy(!0,!0),this.swiper=null),document.removeEventListener("shopify:block:select",this.onBlockSelect),document.removeEventListener("shopify:block:deselect",this.onBlockDeselect)}goToSlideId(slideId,speed){if(!this.swiper||!slideId)return;const slide=this.querySelector(`#${CSS.escape(slideId)}`);if(!slide)return;const slideIndex=Number(slide.dataset.swiperSlideIndex),transitionSpeed=speed===void 0?void 0:speed;if(Number.isInteger(slideIndex))this.swiper.slideToLoop(slideIndex,transitionSpeed);else{const index=Array.from(this.swiper.slides).indexOf(slide);index>=0&&this.swiper.slideTo(index,transitionSpeed)}}onBlockSelect(event){if(!this.contains(event.target))return;const slide=event.target.classList.contains("swiper-slide")?event.target:event.target.closest(".swiper-slide");if(!slide?.id)return;const section=this.closest(".shopify-section");section&&selectedHeroSlides.set(section.id,slide.id),this.swiper&&(this.goToSlideId(slide.id),this.swiper.autoplay?.stop())}onBlockDeselect(event){!this.swiper||!this.contains(event.target)||this.swiper.autoplay?.start()}}window.customElements.get("hero-carousel")||window.customElements.define("hero-carousel",HeroCarousel2)}if(typeof HeroAudio>"u"){class HeroAudio2 extends HTMLElement{constructor(){super(),this.isLoaded=!1,this.isPlaying=!1,this.audio=null,this.observer=null,this.handlePlayClick=this.handlePlayClick.bind(this),this.handlePauseClick=this.handlePauseClick.bind(this),this.handleAudioPlay=this.handleAudioPlay.bind(this),this.handleAudioPause=this.handleAudioPause.bind(this),this.handleAudioEnded=this.handleAudioEnded.bind(this),this.handleIntersection=this.handleIntersection.bind(this),this.handleContainerClick=this.handleContainerClick.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.togglePlayback=this.togglePlayback.bind(this)}connectedCallback(){if(this.mp3=this.getAttribute("mp3"),!this.mp3){console.warn("HeroAudio: missing `mp3` attribute.");return}this.classList.add("hero-audio"),this.setAttribute("role","group");const buttons=Array.from(this.querySelectorAll("button"));this.playButton=buttons[0]||this.createFallbackButton("Play"),this.pauseButton=buttons[1]||this.createFallbackButton("Pause"),[this.playButton,this.pauseButton].forEac
1h(button=>{button.hasAttribute("type")||(button.type="button"),button.classList.add("hero-audio__button")}),this.playButton.addEventListener("click",this.handlePlayClick),this.pauseButton.addEventListener("click",this.handlePauseClick),this.setPlayingState(!1),this.addEventListener("click",this.handleContainerClick),this.addEventListener("keydown",this.handleKeydown),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),"IntersectionObserver"in window?(this.observer=new IntersectionObserver(this.handleIntersection,{root:null,threshold:.25}),this.observer.observe(this)):this.loadAudio()}disconnectedCallback(){this.detachObserver(),this.teardownAudio(),this.playButton&&this.playButton.removeEventListener("click",this.handlePlayClick),this.pauseButton&&this.pauseButton.removeEventListener("click",this.handlePauseClick),this.removeEventListener("click",this.handleContainerClick),this.removeEventListener("keydown",this.handleKeydown)}static get observedAttributes(){return["mp3"]}attributeChangedCallback(name,_oldValue,newValue){name==="mp3"&&newValue!==this.mp3&&(this.mp3=newValue,this.isLoaded&&this.resetAudio())}createFallbackButton(label){const button=document.createElement("button");return button.type="button",button.textContent=label,this.appendChild(button),button}handleIntersection(entries){entries.forEach(entry=>{entry.isIntersecting&&(this.loadAudio(),this.observer&&(this.observer.disconnect(),this.observer=null))})}loadAudio(){this.isLoaded||!this.mp3||(this.audio=new Audio,this.audio.src=this.mp3,this.audio.preload="auto",this.audio.loop=this.hasAttribute("loop"),this.audio.addEventListener("play",this.handleAudioPlay),this.audio.addEventListener("pause",this.handleAudioPause),this.audio.addEventListener("ended",this.handleAudioEnded),this.isLoaded=!0,this.setAttribute("data-audio-loaded","true"))}handlePlayClick(event){event.preventDefault(),event.stopPropagation(),this.play()}handlePauseClick(event){event.preventDefault(),event.stopPropagation(),this.pause()}handleContainerClick(event){event.target.closest("button")||this.togglePlayback()}handleKeydown(event){event.target===this&&(event.key==="Enter"||event.key===" ")&&(event.preventDefault(),this.togglePlayback())}play(){if(this.loadAudio(),!this.audio)return;document.querySelectorAll("hero-audio").forEach(instance=>{instance!==this&&typeof instance.pause=="function"&&instance.pause()});const playPromise=this.audio.play();playPromise&&typeof playPromise.catch=="function"&&playPromise.catch(error=>{console.warn("HeroAudio: playback failed.",error),this.setPlayingState(!1)})}pause(){this.audio&&this.audio.pause()}togglePlayback(){this.isPlaying?this.pause():this.play()}handleAudioPlay(){this.setPlayingState(!0)}handleAudioPause(){this.setPlayingState(!1)}handleAudioEnded(){this.audio&&(this.audio.currentTime=0),this.setPlayingState(!1)}setPlayingState(isPlaying){this.isPlaying=isPlaying,this.setButtonVisibility(this.playButton,!isPlaying),this.setButtonVisibility(this.pauseButton,isPlaying),this.toggleAttribute("data-playing",isPlaying)}setButtonVisibility(button,shouldShow){button&&(button.style.display=shouldShow?"block":"none",button.setAttribute("aria-hidden",String(!shouldShow)))}resetAudio(){this.teardownAudio(),this.isLoaded=!1,this.setPlayingState(!1),this.removeAttribute("data-audio-loaded"),this.loadAudio()}teardownAudio(){this.audio&&(this.audio.pause(),this.audio.removeEventListener("play",this.handleAudioPlay),this.audio.removeEventListener("pause",this.handleAudioPause),this.audio.removeEventListener("ended",this.handleAudioEnded),this.audio=null)}detachObserver(){this.observer&&(this.observer.disconnect(),this.observer=null)}}window.customElements.get("hero-audio")||window.customElements.define("hero-audio",HeroAudio2)}if(typeof VideoAudioToggle>"u"){class VideoAudioToggle2 extends HTMLElement{constructor(){super(),this.handleClick=this.handleClick.bind(this),this.handleVolumeChange=this.handleVolumeChange.bind(this)}connectedCallback(){const buttons=this.querySelectorAll("button");if(this.playButton=buttons[0],this.pauseButton=buttons[1],this.video=this.findVideoElement(),!this.video){console.warn("VideoAudioToggle: No video element found");return}this.video._audioToggle=this,this.video.dataset.userUnmuted==="true"?this.video.muted=!1:this.video.muted=!0,this.updateButtonVisibility(this.video.muted),this.mutedObserver=new MutationObserver(()=>{this.updateButtonVisibility(this.video.muted),this.video.dataset.userUnmuted==="true"&&this.video.muted&&(clearTimeout(this.restoreTimeout),this.restoreTimeout=setTimeout(()=>{this.video&&this.video.dataset.userUnmuted==="true"&&this.video.muted&&(this.video.muted=!1)},50))}),this.mutedObserver.observe(this.video,{attributes:!0,attributeFilter:["muted"]}),this.video.addEventListener("volumechange",this.handleVolumeChange),this.addEventListener("click",this.handleClick)}disconnectedCallback(){this.removeEventListener("click",this.handleClick),this.restoreTimeout&&clearTimeout(this.restoreTimeout),this.mutedObserver&&(this.mutedObserver.disconnect(),this.mutedObserver=null),this.video&&(this.video.removeEventListener("volumechange",this.handleVolumeChange),delete this.video._audioToggle)}findVideoElement(){let current=this.parentElement;for(;current&&!current.classList.contains("swiper-slide");)current=current.parentElement;if(current){const video=current.querySelector("video.hero__asset");if(video)return video}const heroCarousel=this.closest("hero-carousel");if(heroCarousel){const activeSlide=heroCarousel.querySelector(".swiper-slide-active");if(activeSlide){const video=activeSlide.querySelector("video");if(video)return video}}return document.querySelector("video.hero__asset")}handleClick(event){event.preventDefault(),event.stopPropagation(),this.video&&(this.video.muted=!this.video.muted,this.video.muted||(this.video.dataset.userUnmuted="true"),this.updateButtonVisibility(this.video.muted))}handleVolumeChange(){this.updateButtonVisibility(this.video.muted)}updateButtonVisibility(isMuted){this.playButton&&(this.playButton.style.display=isMuted?"flex":"none",this.playButton.hidden=!isMuted),this.pauseButton&&(this.pauseButton.style.display=isMuted?"none":"flex",this.pauseButton.hidden=isMuted)}}window.customElements.get("video-audio-toggle")||window.customElements.define("video-audio-toggle",VideoAudioToggle2)}
2//# sourceMappingURL=/cdn/shop/t/425/assets/hero.js.map?v=150434044913930842811785358335

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.