import{s as L}from"./x_rD_Ya3.js";import{a as p,aG as S,k as B,E as w,b as F,G as E,M as x,O as A,P as M,a7 as q,a1 as G,u as k}from"./BO9AmBA3.js";import{F as O}from"./BmsEUx_s.js";function $(t={}){const o=p(!1),a=S(),u=p(null),y=e=>{a.value.slideTo(e)},r=()=>{a.value.slideTo(T(a.value))},g=e=>new Promise(n=>{t.enablePreload&&window.requestIdleCallback(()=>{V(e),n()},{timeout:1e3})}),m=async e=>{e.addEventListener("ended",r),await D(e),_(a.value)},h=e=>{H(e),e.removeEventListener("ended",r)},f=async e=>{const n=c(e,e.activeIndex),s=c(e,e.previousIndex);V(n),h(s),await m(n),e.slides.forEach((I,d)=>{d!==e.activeIndex&&h(c(e,d))});const i=c(e,T(e));g(i)},b=e=>{var d;const n=e.target;if(u.value&&clearInterval(u.value),!z(n.duration)||!t.onProgress)return;const s=j(n),i=C(n.currentTime/n.duration*100);(d=t.onProgress)==null||d.call(t,{index:s,progress:i});let I=n.currentTime;u.value=L(()=>{var P;const N=C((I+.1)/n.duration*100);(P=t.onProgress)==null||P.call(t,{index:s,progress:N})},100)},_=e=>{e.el.classList.contains("swiper-initialized")&&(e.el.classList.contains("swiper-autoheight")?e.updateAutoHeight():e.updateSize())};return{swiper:a,goTo:y,goToNext:r,initialize:async(e,n=0)=>{if(o.value||!e.slides.length)return;o.value=!0;const s=c(e,n);V(s),await m(s),e.on("slideChange",f),e.slides.forEach((I,d)=>{c(e,d).addEventListener("timeupdate",b)});const i=c(e,T(e));g(i)},destroy:e=>{o.value&&(o.value=!1,e.off("slideChange",f),e.slides.forEach((n,s)=>{n.style.height="";const i=c(e,s);i.removeEventListener("timeupdate",b),i.pause(),i.currentTime=0}))}}}function c(t,o){return t.slides[o].getElementsByTagName("video")[0]}const j=t=>{const o=Number(t.id.split("-")[1]);if(Number.isNaN(o))throw new Error("Invalid video index");return o};function V(t){t&&t.dataset.src&&(t.src=t.dataset.src,t.removeAttribute("data-src"))}async function D(t){t.currentTime=0,await t.play()}async function H(t){t.pause(),z(t.duration)&&(t.currentTime=t.duration)}const T=t=>t.activeIndex+1>t.slides.length-1?0:t.activeIndex+1;function z(t){return!Number.isNaN(t)&&Number.POSITIVE_INFINITY!==t}function C(t){return Math.min(t,100)}const U={class:"swiper-pagination flex flex-row justify-center items-center"},Y={class:"flex flex-row space-x-1.5 p-4 bg-transparent"},J=["aria-label","disabled","onClick"],K=B({__name:"BasicVideoSliderControls",props:{classes:{},isVisible:{type:Boolean},items:{}},setup(t){const o=t,a=p(0),u=p([]),y=l=>{const{index:v,progress:e}=l;window.requestAnimationFrame(()=>{var n;v===a.value&&((n=u.value[v])==null||n.style.setProperty("--load-percent",`${e}%`))})},{swiper:r,goTo:g,initialize:m,destroy:h}=$({enablePreload:!0,onProgress:y}),f=()=>{o.isVisible&&m(r.value,a.value)},b=()=>{h(r.value)};w(()=>{r.value.on("afterInit",f),r.value.on("slidesLengthChange",f),r.value.on("slideChange",()=>{a.value=r.value.activeIndex})}),F(()=>o.isVisible,l=>{l?f():b()});const _=(l,v)=>{l.stopPropagation(),g(v)};return(l,v)=>(E(),x("div",U,[A("div",Y,[(E(!0),x(M,null,q(l.items,(e,n)=>{var s;return E(),x("button",{key:n,ref_for:!0,ref_key:"dots",ref:u,"aria-label":l.$t("slider.goToSlide",[n+1]),class:G(["relative h-4.5 overflow-hidden rounded-full opacity-80 backdrop-blur-md hover:opacity-100 hover:scale-105 transition-all duration-1000 shadow-md shadow-yt-black/50 after:content-[attr(after)] after:absolute after:bg-yt-black after:w-[var(--load-percent)] after:h-full after:top-1/2 after:-translate-y-1/2 after:left-0 after:transition-all after:duration-10 after:ease-in-out",k(a)===n?"w-24":"w-7 cursor-pointer",(s=l.classes)==null?void 0:s.dot]),after:"",disabled:k(a)===n,onClick:i=>_(i,n)},null,10,J)}),128))])]))}}),X=O(K,[["__scopeId","data-v-7c703c2b"]]);export{X as default};