PageSourceSearch

https://www.rails.com/cdn/shop/t/1629/assets/module-main-banner-vite-CP_5LMUL.js

js rails.com collected 2026-10-03 19:17:03 UTC 10,473 bytes, 1 lines download raw bytes

1import{r as h}from"./theme-sections-vite-Co0nR_Yu.js";import{V as u}from"./videoPlayer-vite-DkTdAK4l.js";import{i as n}from"./lazy-load-images-vite-MKimLRwW.js";import{S as c}from"./core-class-vite-CX4bP5r2.js";import"./_commonjsHelpers-vite-BosuxZz1.js";const t={moduleBannerContainer:".js-module-banner",heroBannerSlider:".js-module-banner-slider",heroBannerSliderSlide:".js-module-banner-slide",heroBannerSliderWrapper:".module-banner__slider-wrapper",heroBannerSlideTemplate:".js-module-banner-slide-template",heroBannerSliderPagination:".js-module-banner-pagination",heroBannerSliderPrevButton:".js-module-banner-button-prev",heroBannerSliderNextButton:".js-module-banner-button-next",sliderToggleVideoButton:".js-slider-toggle-video-button",sliderToggleVideoButtonPlay:".js-slider-toggle-video-button-play",sliderToggleVideoButtonPause:".js-slider-toggle-video-button-pause",videoDesktop:".js-video-desktop",videoMobile:".js-video-mobile",videoPosterDesktop:".js-video-poster-desktop",videoPosterMobile:".js-video-poster-mobile",mediaVideoContainer:".js-video-media",mediaImageContainer:".js-image-media",videoHtml5Container:".js-html5-video-container",videoVimeoContainer:".js-vimeo-video-container",videoYoutubeContainer:".js-youtube-video-container",productListContainer:".js-product-list-container"};h("module-main-banner",{onLoad:function(){this.heroBannerSlider=this.container.querySelector(t.heroBannerSlider),this.heroBannerSlider&&(this.heroBannerSliderWrapper=this.heroBannerSlider.querySelector(t.heroBannerSliderWrapper),this.slideTemplates=Array.from(this.container.querySelectorAll(t.heroBannerSlideTemplate)),this.heroBannerSliderPrevButton=this.heroBannerSlider.querySelector(t.heroBannerSliderPrevButton),this.heroBannerSliderNextButton=this.heroBannerSlider.querySelector(t.heroBannerSliderNextButton),this.heroBannerSliderPagination=this.heroBannerSlider.querySelector(t.heroBannerSliderPagination),this.sliderToggleVideoButton=this.heroBannerSlider.querySelector(t.sliderToggleVideoButton),this.sliderToggleVideoButtonPlay=this.sliderToggleVideoButton.querySelector(t.sliderToggleVideoButtonPlay),this.sliderToggleVideoButtonPause=this.sliderToggleVideoButton.querySelector(t.sliderToggleVideoButtonPause),this.videoPlayers=[],this.isVideoAutoplay,this.currentVideoPlayer,this.arrayProductList=Array.from(this.container.querySelectorAll(t.productListContainer)),this.mediaQuery=window.matchMedia("(max-width: 991px)"),this.currentViewport=null,this.handleViewportChange=()=>this.renderSlidesForViewport(),this.handleAddToBagOpen=e=>{var r,o,s;const i=(o=(r=e.detail)==null?void 0:r.element)==null?void 0:o.target;!(i!=null&&i.closest(t.moduleBannerContainer))||!((s=this.swiperSlider)!=null&&s.autoplay)||(this.swiperSlider.autoplay.pause(),this.autoplayRun=!1)},this.handleAddToBagClose=()=>{var e;(e=this.swiperSlider)!=null&&e.autoplay&&(this.swiperSlider.autoplay.start(),this.autoplayRun=!0)},this.initSliderToggleVideoButton(),this.initMediaEvents(),document.addEventListener("addToBagBlock:isOpen",this.handleAddToBagOpen),document.addEventListener("addToBagBlock:isClose",this.handleAddToBagClose),this.renderSlidesForViewport())},onUnload:function(){var e,i;clearTimeout(this.slideChangeTimeout),this.pauseNotActiveVideo(),this.swiperSlider&&this.swiperSlider.destroy(!0,!0),(e=this.mediaQuery)!=null&&e.removeEventListener?this.mediaQuery.removeEventListener("change",this.handleViewportChange):(i=this.mediaQuery)!=null&&i.removeListener&&this.mediaQuery.removeListener(this.handleViewportChange),document.removeEventListener("addToBagBlock:isOpen",this.handleAddToBagOpen),document.removeEventListener("addToBagBlock:isClose",this.handleAddToBagClose)},renderSlidesForViewport:function(){var i,r,o;const e=this.mediaQuery.matches?"mobile":"desktop";e!==this.currentViewport&&(this.currentViewport=e,clearTimeout(this.slideChangeTimeout),this.container.classList.remove("module-banner--initialized"),this.container.classList.remove("module-banner--single-slide"),this.pauseNotActiveVideo(),this.swiperSlider&&(this.swiperSlider.destroy(!0,!0),this.swiperSlider=null,this.slider=null),this.videoPlayers=[],this.currentVideoPlayer=null,this.secondVideoPlayer=null,this.activeSlide=null,this.heroBannerSliderWrapper.replaceChildren(),this.slideTemplates.forEac
1h(s=>{s.dataset.viewport===e&&this.heroBannerSliderWrapper.append(s.content.cloneNode(!0))}),this.heroBannerSliderSlide=this.heroBannerSlider.querySelectorAll(t.heroBannerSliderSlide),this.container.hidden=this.heroBannerSliderSlide.length===0,(i=this.heroBannerSliderPrevButton)==null||i.classList.toggle("hidden",this.heroBannerSliderSlide.length<=1),(r=this.heroBannerSliderNextButton)==null||r.classList.toggle("hidden",this.heroBannerSliderSlide.length<=1),(o=this.heroBannerSliderPagination)==null||o.classList.toggle("hidden",this.heroBannerSliderSlide.length<=1),this.heroBannerSliderSlide.length&&(this.heroBannerSliderSlide.length===1?(this.activeSlide=this.heroBannerSliderSlide[0],this.activeSlide.classList.add("swiper-slide-active"),this.container.classList.add("module-banner--single-slide"),this.changeVisibilityProductList()):this.initSlider(),this.initVideos(),n()))},initSlider:function(){if(!this.heroBannerSlider||!this.heroBannerSliderSlide.length)return;let e=!1;const i=this.heroBannerSlider.dataset.autoplay;i&&i>0&&this.heroBannerSliderSlide.length>1&&(e={delay:i,pauseOnMouseEnter:!1}),this.swiperSlider=new c(this.heroBannerSlider,{slidesPerView:1,autoplay:e,speed:300,effect:"fade",threshold:20,loop:this.heroBannerSliderSlide.length>1?1:0,loopAdditionalSlides:0,autoHeight:!0,navigation:{nextEl:this.heroBannerSliderNextButton,prevEl:this.heroBannerSliderPrevButton},pagination:{el:this.heroBannerSliderPagination,clickable:!0},on:{init:r=>{this.activeSlide=r.slides[r.activeIndex],this.slider=r,this.container.classList.add("module-banner--initialized"),this.activeSlide.hasAttribute("data-video-autoplay")&&(this.isVideoAutoplay=this.activeSlide.getAttribute("data-video-autoplay")==="true",this.changeButtonIcon(this.isVideoAutoplay)),i&&i>0&&this.heroBannerSliderSlide.length>1&&(this.autoplayRun=!0),this.changeVisibilityProductList()},slideChange:r=>{this.pauseNotActiveVideo(),this.slideChangeTimeout=setTimeout(()=>{n(),this.activeSlide=r.slides[r.activeIndex],this.playActiveVideo(),this.changeVisibilityButton(),this.changeVisibilityProductList()},500)}}})},findDuplicateSlide(){if(!this.slider)return;const e=this.slider.slides;if(this.duplicatedSlide=Array.from(e).find(r=>r.id===this.activeSlide.id&&r!=this.activeSlide),!this.duplicatedSlide)return;const i=this.activeSlide.getAttribute("data-video-autoplay");this.duplicatedSlide.setAttribute("data-video-autoplay",i)},initVideos:function(){let e=this.container.querySelectorAll(t.videoHtml5Container),i=this.container.querySelectorAll(t.videoVimeoContainer),r=this.container.querySelectorAll(t.videoYoutubeContainer);e.forEach(o=>{this.createVideo(o,"html5")}),i.forEach(o=>{this.createVideo(o,"vimeo")}),r.forEach(o=>{this.createVideo(o,"youtube")}),this.playActiveVideo(),this.changeVisibilityButton()},createVideo:function(e,i){if(!e||!i)return;const r=this.isMobile()?t.videoMobile:t.videoDesktop,o=this.isMobile()?t.videoPosterMobile:t.videoPosterDesktop,s=e.querySelector(r),d=e.querySelector(o);let a=e.dataset.mute||!0;if(!s)return;let l=new u(s,{videoType:i,videoPoster:d,hideVideoPoster:!1,isMuted:a});this.videoPlayers.push(l)},selectCurrentVideoPlayer(){if(!this.activeSlide)return;this.isVideoAutoplay=this.activeSlide.getAttribute("data-video-autoplay")==="true";const e=this.activeSlide.querySelector([t.videoHtml5Container,t.videoVimeoContainer,t.videoYoutubeContainer].join(","));e&&(this.currentVideoPlayer=this.videoPlayers.find(i=>e.contains(i.videoElement)),this.secondVideoPlayer=null)},selectCurrentVideoPoster(){if(this.activeSlide)if(this.isMobile()){if(!this.currentVideoPlayer)return;this.currentVideoPoster=this.activeSlide.querySelector(t.videoPosterMobile)}else{if(!this.currentVideoPlayer)return;this.currentVideoPoster=this.activeSlide.querySelector(t.videoPosterDesktop)}},playActiveVideo:async function(){this.selectCurrentVideoPlayer(),this.selectCurrentVideoPoster(),!(!this.currentVideoPlayer||!this.isVideoAutoplay)&&(this.changeButtonIcon(!0),await this.currentVideoPlayer.play(),this.secondVideoPlayer&&this.secondVideoPlayer.pause(),this.currentVideoPoster&&this.currentVideoPoster.classList.add("hidden"))}
1,pauseNotActiveVideo:function(){this.currentVideoPlayer&&this.currentVideoPlayer.pause(),this.secondVideoPlayer&&this.secondVideoPlayer.pause()},initSliderToggleVideoButton:function(){this.sliderToggleVideoButton&&this.sliderToggleVideoButton.addEventListener("click",()=>{this.selectCurrentVideoPlayer(),this.selectCurrentVideoPoster(),this.currentVideoPlayer&&(this.currentVideoPlayer.isPlayed?(this.changeButtonIcon(!1),this.changeValuePlayState(!1),this.currentVideoPlayer.pause(),this.currentVideoPoster&&this.currentVideoPoster.classList.remove("hidden")):(this.changeButtonIcon(!0),this.changeValuePlayState(!0),this.currentVideoPlayer.play(),this.currentVideoPoster&&this.currentVideoPoster.classList.add("hidden")))})},isMobile:function(){return this.mediaQuery.matches},initMediaEvents:function(){this.mediaQuery.addEventListener?this.mediaQuery.addEventListener("change",this.handleViewportChange):this.mediaQuery.addListener(this.handleViewportChange)},changeVisibilityButton:function(){if(!this.sliderToggleVideoButton||!this.activeSlide)return;let e=this.activeSlide.querySelector(t.mediaImageContainer),i=this.activeSlide.querySelector(t.mediaVideoContainer);e&&this.sliderToggleVideoButton.classList.add("hidden"),i&&(this.sliderToggleVideoButton.classList.remove("hidden"),this.changeButtonIcon(this.isVideoAutoplay))},changeButtonIcon:function(e){e?(this.sliderToggleVideoButtonPlay.classList.add("hidden"),this.sliderToggleVideoButtonPause.classList.remove("hidden")):(this.sliderToggleVideoButtonPlay.classList.remove("hidden"),this.sliderToggleVideoButtonPause.classList.add("hidden"))},changeValuePlayState:function(e){this.activeSlide.setAttribute("data-video-autoplay",e),this.findDuplicateSlide()},changeVisibilityProductList(){!this.arrayProductList.length||!this.activeSlide||this.activeSlide.hasAttribute("data-product-list-id")&&this.arrayProductList.forEach(e=>{e.getAttribute("data-id")===this.activeSlide.getAttribute("data-product-list-id")?e.classList.remove("hidden"):e.classList.add("hidden")})}});

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.