import{e as o}from"../chunks/B411ESUr.min.js";import{r as c,i as v,x as p,t as S}from"../chunks/BR4fxmeU.min.js";const b="";var f=Object.getOwnPropertyDescriptor,x=(t,s,e,i)=>{for(var n=i>1?void 0:i?f(s,e):s,a=t.length-1,l;a>=0;a--)(l=t[a])&&(n=l(n)||n);return n};let h=class extends v{constructor(){super(...arguments),this.slides=null,this.currentSlideIndex=0,this.prevButton=null,this.nextButton=null,this.dots=null,this.paused=!1,this.playButton=null,this.pauseButton=null}connectedCallback(){super.connectedCallback(),this.slides=this.querySelectorAll("photos-search-carousel-slide"),this.prevButton=this.querySelector("[data-prev-button]"),this.nextButton=this.querySelector("[data-next-button]"),this.prevButton&&this.prevButton.addEventListener("click",()=>this.prevSlide()),this.nextButton&&this.nextButton.addEventListener("click",()=>this.nextSlide()),this.initSwipeDetection(),this.dots=this.querySelectorAll("[data-dot]"),this.dots.forEach(t=>{t.addEventListener("click",s=>{const i=s.target.getAttribute("data-dot-index");i&&this.setActiveSlide(parseInt(i))})}),this.playButton=this.querySelector("[data-play-button]"),this.playButton?.addEventListener("click",()=>this.togglePlayPause()),this.pauseButton=this.querySelector("[data-pause-button]"),this.pauseButton?.addEventListener("click",()=>this.togglePlayPause()),customElements.whenDefined("photos-search-carousel-slide").then(()=>this.init())}firstUpdated(){const t=()=>{this.inviewObserver.state().inview?this.handleInview():this.handleOutview()};this.inviewObserver=o.inview(this,{threshold:0,rootMargin:"0px"},t),this.inviewObserver.readyPromise.then(t)}init(){this.addEventListener("animation-ended",t=>{this.paused||t.detail?.slideIndex===this.currentSlideIndex&&this.nextSlide()})}initSwipeDetection(){let t,s,e,i,l,u;this.addEventListener("touchstart",r=>{const d=r.changedTouches[0];e=0,i=0,t=d.pageX,s=d.pageY,u=new Date().getTime()}),this.addEventListener("touchmove",r=>{const d=r.changedTouches[0];e=d.pageX-t,i=d.pageY-s,Math.abs(e)>Math.abs(i)&&r.cancelable&&r.preventDefault()}),this.addEventListener("touchend",r=>{e=r.changedTouches[0].pageX-t,l=new Date().getTime()-u,l<=500&&Math.abs(e)>=100&&(e<0?this.nextSlide():this.prevSlide())})}handleInview(){this.setAttribute("data-inview",""),this.removeAttribute("data-outview"),this.paused||this.setActiveSlide()}handleOutview(){this.setAttribute("data-outview",""),this.removeAttribute("data-inview"),this.paused||this.slides.forEach(t=>{t&&t.haltAndResetSlide&&t.haltAndResetSlide()})}setActiveSlide(t=0){this.currentSlideIndex=t;const s=this.slides[this.currentSlideIndex];s&&(this.slides.forEach(e=>{e.removeAttribute("active")}),s.setAttribute("active",""),s.animateSlide(this.currentSlideIndex)),this.slides.forEach((e,i)=>{i!==this.currentSlideIndex&&setTimeout(()=>{e.haltAndResetSlide()},750)}),this.prevButton&&(this.currentSlideIndex===0?this.prevButton.disabled=!0:this.prevButton.disabled=!1),this.nextButton&&(this.currentSlideIndex===this.slides.length-1?this.nextButton.disabled=!0:this.nextButton.disabled=!1),this.dots&&this.dots.forEach((e,i)=>{if(i===this.currentSlideIndex){const n=this.slides[i].getAnimationDuration();e.style.setProperty("--photos-search-carousel-dot-duration",`${n}ms`),e.setAttribute("active","")}else e.removeAttribute("active")})}nextSlide(){this.currentSlideIndex++,this.currentSlideIndex>=this.slides.length&&(this.currentSlideIndex=0),this.setActiveSlide(this.currentSlideIndex)}prevSlide(){this.currentSlideIndex--,this.currentSlideIndex<0&&(this.currentSlideIndex=this.slides.length-1),this.setActiveSlide(this.currentSlideIndex)}togglePlayPause(){this.paused=!this.paused,this.paused?(this.setAttribute("data-paused",""),this.playButton?.setAttribute("active",""),this.playButton?.removeAttribute("inert"),this.pauseButton?.removeAttribute("active"),this.pauseButton?.setAttribute("inert",""),this.pauseSlides()):(this.removeAttribute("data-paused"),this.playButton?.removeAttribute("active"),this.playButton?.setAttribute("inert",""),this.pauseButton?.setAttribute("active",""),this.pauseButton?.removeAttribute("inert"),this.resumeSlides())}pauseSlides(){this.slides.forEach(t=>{t.pauseSlide()})}resumeSlides(){this.slides.forEach(t=>{t.resumeSlide()}),this.nextSlide()}render(){return p`