1const{getElements}=window.BAO.Utils,KeenSlider=window.KeenSlider,{setInitialised,useArrows}=window.BAO.Carousel.plugins;class DeviceSelector extends window.BAO.CustomElement(){connectedCallback(){super.connectedCallback(),this.setupCarousels()}setupListeners(){super.setupListeners(),this.els?.trigger?.exists&&(this.handleTrigger=this.handleTrigger.bind(this),this.els.trigger.elements.forEach(triggerEl=>{this.listeners.add(triggerEl,"click",this.handleTrigger)}))}handleTrigger(event){const triggerEl=event.target.closest(this.els?.trigger?.selector);this.els.panel.elements.forEach(panelEl=>{panelEl.setAttribute("aria-hidden",panelEl.dataset.tab!==triggerEl.dataset.tab)}),this.els.trigger.elements.forEach(trigger=>{trigger.setAttribute("aria-pressed",trigger.dataset.tab===triggerEl.dataset.tab)}),this.setupCarousels()}setupCarousels(){this.els.slides.elements.forEach(slidesEl=>{const slidesCount=getElements('[data-device-selector-el="slide"]',{context:slidesEl}).length;window.innerWidth>=901&&slidesCount<7?slidesEl.classList.add(this.dataset.notFullClass):window.innerWidth>=768&&slidesCount<5&&slidesEl.classList.add(this.dataset.notFullClass);const slider=new KeenSlider(slidesEl,{selector:".keen-slider__slide",loop:!0,mode:"snap",rubberband:!1,slides:{perView:3.5,spacing:5},breakpoints:{"(min-width: 768px)":{slides:{perView:5,spacing:0}},"(min-width: 901px)":{slides:{perView:7}}},created:slider2=>this.updateSlideTabbing(slider2),slideChanged:slider2=>this.updateSlideTabbing(slider2),animationEnded:slider2=>this.updateSlideTabbing(slider2),updated:slider2=>this.updateSlideTabbing(slider2)},[setInitialised(),useArrows({container:slidesEl.querySelector('[data-device-selector-el="arrows"]'),next:slidesEl.querySelector('[data-device-selector-el="next"]'),previous:slidesEl.querySelector('[data-device-selector-el="previous"]')})]);slidesEl.deviceSlider=slider,slidesEl.dataset.keyboardBound||(slidesEl.dataset.keyboardBound="true",this.handleArrowKeys=this.handleArrowKeys.bind(this),this.listeners.add(slidesEl,"keydown",this.handleArrowKeys))})}handleArrowKeys(event){const slider=event.currentTarget.deviceSlider;slider&&(event.key==="ArrowLeft"?(event.preventDefault(),slider.prev()):event.key==="ArrowRight"&&(event.preventDefault(),slider.next()))}updateSlideTabbing(slider){const details=slider?.track?.details;
1if(!details)return;const FULLY_VISIBLE=.99;details.slides.forEach((slide,index)=>{const link=slider.slides[index]?.querySelector(".util-FauxLink_Link");link&&(slide.portion>=FULLY_VISIBLE?link.removeAttribute("tabindex"):link.setAttribute("tabindex","-1"))})}}customElements.get("device-selector")||customElements.define("device-selector",DeviceSelector); 2//# sourceMappingURL=/cdn/shop/t/914/assets/section-device-selector.js.map?v=82667639215183721671787650564
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.