PageSourceSearch

https://www.rails.com/cdn/shop/t/1622/assets/hero-banner-vite-pAGpOnox.js

js rails.com collected 2026-09-25 14:09:17 UTC 5,902 bytes, 1 lines download raw bytes

1import{r as h}from"./theme-sections-vite-Co0nR_Yu.js";import{V as n}from"./videoPlayer-vite-DkTdAK4l.js";import{i as u}from"./lazy-load-images-vite-MKimLRwW.js";import{S as c}from"./core-class-vite-CX4bP5r2.js";import"./_commonjsHelpers-vite-BosuxZz1.js";const t={heroBannerSlider:".js-hero-banner-slider",heroBannerSliderSlide:".js-hero-banner-slide",heroBannerSliderPagination:".js-hero-banner-pagination",heroBannerSliderPrevButton:".js-hero-banner-button-prev",heroBannerSliderNextButton:".js-hero-banner-button-next",sliderToggleVideoButton:".js-slider-toggle-video-button",heroBannerSliderActiveSlide:".js-hero-banner-slide.swiper-slide-active",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"};h("hero-banner",{onLoad:function(){this.heroBannerSlider=this.container.querySelector(t.heroBannerSlider),this.heroBannerSliderSlide=this.heroBannerSlider.querySelectorAll(t.heroBannerSliderSlide),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.initSlider(),this.initVideos(),this.initSliderToggleVideoButton(),this.initMediaEvents()},initSlider:function(){if(!this.heroBannerSlider||this.heroBannerSliderSlide.length<=1)return;let e=!1;const i=this.heroBannerSlider.dataset.autoplay;i&&i>0&&(e={delay:i,pauseOnMouseEnter:!1}),this.swiperSlider=new c(this.heroBannerSlider,{slidesPerView:1,autoplay:e,speed:300,effect:"fade",loop:!0,navigation:{nextEl:this.heroBannerSliderNextButton,prevEl:this.heroBannerSliderPrevButton},pagination:{el:this.heroBannerSliderPagination,clickable:!0,renderBullet:(o,r)=>`<button class="${r}" type="button" aria-label="Carousel slide ${o+1}"></button>`}}),this.updateSlideAccessibility(),this.swiperSlider.on("slideChangeTransitionStart",()=>{this.updateSlideAccessibility(),u(),this.playActiveVideo(),this.changeSliderToggleVideoButtonState()}),this.swiperSlider.on("slideChangeTransitionEnd",()=>{this.updateSlideAccessibility(),this.changeSliderToggleVideoButtonState()})},updateSlideAccessibility:function(){this.heroBannerSlider.querySelectorAll(t.heroBannerSliderSlide).forEach(e=>{const i=e.classList.contains("swiper-slide-active");e.setAttribute("aria-hidden",String(!i)),i?e.removeAttribute("inert"):e.setAttribute("inert","")})},playActiveVideo:function(){this.stopPlayableVideos();let e=this.getActiveSlide();if(!e)return;let i;this.isMobile()?i=e.querySelector(t.videoMobile):i=e.querySelector(t.videoDesktop);let o=this.videoPlayers.find(r=>r.videoElement===i);o&&(this.sliderToggleVideoButtonPlay.classList.add("hidden"),this.sliderToggleVideoButtonPause.classList.remove("hidden"),o.play())},stopPlayableVideos:function(){let e=this.videoPlayers.find(i=>i.isPlayed===!0);e&&(e.length<1?e.forEach(i=>{i.pause()}):e.pause())},isMobile:function(){return window.matchMedia("(max-width: 991px)").matches},initMediaEvents:function(){let e=window.matchMedia("(max-width: 991px)");e.addEventListener?e.addEventListener("change",()=>{this.playActiveVideo()}):e.addListener(()=>{this.playActiveVideo()})},initVideos:function(){let e=this.container.querySelectorAll(t.videoHtml5Container),i=this.container.querySelectorAll(t.videoVimeoContainer),o=this.container.querySelectorAll(t.videoYoutubeContainer);e.forEach(r=>{this.createVideo(r,"html5")}
1),i.forEach(r=>{this.createVideo(r,"vimeo")}),o.forEach(r=>{this.createVideo(r,"youtube")}),this.playActiveVideo(),this.changeSliderToggleVideoButtonState()},createVideo:function(e,i){if(!e||!i)return;let o=e.querySelector(t.videoDesktop),r=e.querySelector(t.videoPosterDesktop),l=e.querySelector(t.videoMobile),s=e.querySelector(t.videoPosterMobile);if(!o||!l)return;let d=new n(o,{videoType:i,videoPoster:r}),a=new n(l,{videoType:i,videoPoster:s});this.videoPlayers.push(d),this.videoPlayers.push(a)},initSliderToggleVideoButton:function(){this.sliderToggleVideoButton&&this.sliderToggleVideoButton.addEventListener("click",()=>{let e=this.getActiveSlide();if(!e)return;this.swiperSlider&&this.swiperSlider.autoplay.stop();let i;this.isMobile()?i=e.querySelector(t.videoMobile):i=e.querySelector(t.videoDesktop);let o=this.videoPlayers.find(r=>r.videoElement===i);o&&(o.isPlayed?(this.sliderToggleVideoButtonPlay.classList.remove("hidden"),this.sliderToggleVideoButtonPause.classList.add("hidden"),o.pause()):(this.sliderToggleVideoButtonPlay.classList.add("hidden"),this.sliderToggleVideoButtonPause.classList.remove("hidden"),o.play()))})},changeSliderToggleVideoButtonState:function(){if(!this.sliderToggleVideoButton)return;let e=this.getActiveSlide();if(!e)return;let i=e.querySelector(t.mediaImageContainer),o=e.querySelector(t.mediaVideoContainer);i&&this.sliderToggleVideoButton.classList.add("hidden"),o&&this.sliderToggleVideoButton.classList.remove("hidden")},getActiveSlide:function(){let e;return!this.heroBannerSlider||this.heroBannerSliderSlide.length===1?e=this.heroBannerSliderSlide[0]:e=this.container.querySelector(t.heroBannerSliderActiveSlide),e}});

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.