`);function w(t){let n,[r,o]=a({x:0,y:0}),c=e=>{let{clientX:t,clientY:n}=e;o({x:t,y:n})};return s(()=>{n=new AbortController;let e=n.signal;window.addEventListener(`mousemove`,c,{passive:!0,signal:e})}),i(()=>{n?.abort()}),(()=>{var n=C(),i=n.firstChild;return u(i,()=>t.cursorText()),e(e=>{var i=!!t.active(),a=`translate3d(${r().x}px, ${r().y}px, 0)`;return i!==e.e&&n.classList.toggle(`active`,e.e=i),a!==e.t&&d(n,`transform`,e.t=a),e},{e:void 0,t:void 0}),n})()}function T(){let e=[],t=[],n,r,a,c=h(),[l,{incThreshold:u,decThreshold:d}]=S(),[p]=x(),m=t=>{e.forEach((e,n)=>{e.innerText=t[n]})},g=(e,n)=>{t.forEach((t,r)=>{r<4?t.innerText=e[r]:t.innerText=n[r-4]})};return s(()=>{let i=document.getElementsByClassName(`threshold`)[0],o=document.getElementsByClassName(`index`).item(0);e=Array.from(i.getElementsByClassName(`num`)),t=Array.from(o.getElementsByClassName(`num`)),n=i.getElementsByClassName(`dec`).item(0),r=i.getElementsByClassName(`inc`).item(0),a=new AbortController;let s=a.signal;n.addEventListener(`click`,d,{signal:s}),r.addEventListener(`click`,u,{signal:s})}),o(()=>{e.length===0||t.length===0||(g(f(p.index()+1),f(c().length)),m(f(l().threshold)))}),i(()=>{a?.abort()}),null}function E(e){return e.map(e=>e.i)}function D(e,t){return E(e).slice(-t).slice(0,-1)}function O(e){return E(e).slice(-1)[0]}function k(e,t){return _(e.slice(-1)[0].i,t)}function A(e,t){return g(e.slice(-1)[0].i,t)}function j(e,t){return t.map(t=>e[t])}function M(e){e.forEach(e=>{e.src!==e.dataset.hiUrl&&(e.src=e.dataset.hiUrl,e.height=parseInt(e.dataset.hiImgH),e.width=parseInt(e.dataset.hiImgW))})}function N(e){e.forEach(e=>{e.src!==e.dataset.loUrl&&(e.src=e.dataset.loUrl,e.height=parseInt(e.dataset.loImgH),e.width=parseInt(e.dataset.loImgW))})}function P(e,t,n={attributes:!0}){new MutationObserver((e,n)=>{for(let r of e)if(t(r)){n.disconnect();break}}).observe(e,n)}function F(e){let{gsap:t,img:n,mounted:r,setIsLoading:i}=e;if(!r)return;if(n.complete){t.set(n,{opacity:1}).then(()=>{i(!1)}).catch(e=>{console.log(e)});return}i(!0);let a=new AbortController,o=a.signal;n.addEventListener(`load`,()=>{t.to(n,{opacity:1,ease:`power3.out`,duration:.5}).then(()=>{i(!1)}).catch(e=>{console.log(e)}).finally(()=>{a.abort()})},{once:!0,passive:!0,signal:o}),n.addEventListener(`error`,()=>{t.set(n,{opacity:1}).then(()=>{i(!1)}).catch(e=>{console.log(e)}).finally(()=>{a.abort()})},{once:!0,passive:!0,signal:o})}function I(e){let{gsap:t,imgs:n,cordHist:r,trailLength:i,length:a,isOpen:o,navVector:s,mounted:c,setIsLoading:l}=e;if(!c||n.length===0)return;let u=E(r);if(u.length===0)return;let d=j(n,u);if(t.set(d,{x:e=>r[e].x-window.innerWidth/2,y:e=>r[e].y-window.innerHeight/2,opacity:e=>Math.max((e+1+i<=r.length?0:1)-(o?1:0),0),zIndex:e=>e,scale:.6}),!o){N(d);return}let f=j(n,[O(r)])[0],p=[],m=[];switch(s){case`prev`:p.push(k(r,a)),m.push(A(r,a));break;case`next`:p.push(A(r,a)),m.push(k(r,a));break;default:break}M(j(n,p)),t.set(j(n,m),{opacity:0}),t.set(f,{x:0,y:0,scale:1}),F({gsap:t,img:f,mounted:c,setIsLoading:l})}async function L(e){let{gsap:t,imgs:n,cordHist:r,trailLength:i,length:a,mounted:o,setIsLoading:s,setIsAnimating:c}=e;if(!o)throw Error(`not mounted`);c(!0);let l=O(r),u=n[l];M(j(n,[l,k(r,a),A(r,a)])),F({gsap:t,img:u,mounted:o,setIsLoading:s});let d=t.timeline(),f=j(n,D(r,i));d.to(f,{y:`+=20`,ease:`power3.in`,stagger:.075,duration:.3,delay:.1,opacity:0}),d.to(u,{x:0,y:0,ease:`power3.inOut`,duration:.7,delay:.3}),d.to(u,{delay:.1,scale:1,ease:`power3.inOut`}),await d.then(()=>{c(!1)})}async function R(e){let{gsap:t,imgs:n,cordHist:r,trailLength:i,mounted:a,setIsAnimating:o}=e;if(!a)throw Error(`not mounted`);o(!0);let s=O(r),c=D(r,i);N(j(n,[...c,s]));let l=t.timeline(),u=j(n,[s])[0],d=j(n,c);l.to(u,{scale:.6,duration:.6,ease:`power3.inOut`}),l.to(u,{delay:.3,duration:.7,ease:`power3.inOut`,x:r.slice(-1)[0].x-window.innerWidth/2,y:r.slice(-1)[0].y-window.innerHeight/2}),l.to(d,{y:`-=20`,ease:`power3.out`,stagger:-.1,duration:.3,opacity:1}),await l.then(()=>{o(!1)})}var z=c(`
`),B=c(`
![]()
`);function V(){let t,i,a=h(),[c]=S(),[l,{setIndex:d,setCordHist:f,setIsOpen:p,setIsAnimating:_,setIsLoading:C,setNavVector:w}]=x(),T=Array(a().length),E={x:0,y:0},D,O=!1,k=!1,A=async()=>{if(i!==void 0)return await i;i=v().then(e=>{t=e,O=!0}).catch(e=>{i=void 0,console.log(e)}),await i},j=e=>{if(l.isOpen()||l.isAnimating()||!O||!k)return;let t=a().length;if(t<=0)return;let n={x:e.clientX,y:e.clientY};if(Math.hypot(n.x-E.x,n.y-E.y)>c().threshold){let e=g(l.index(),t);E=n,d(e),f(r=>[...r,{i:e,...n}].slice(-t))}},M=async()=>{O||await A(),!(l.isAnimating()||!O)&&(l.index()<0||l.cordHist().length===0||p(!0))},N=()=>{I({gsap:t,imgs:T,cordHist:l.cordHist(),trailLength:c().trailLength,length:a().length,isOpen:l.isOpen(),navVector:l.navVector(),mounted:k,setIsLoading:C})},F=async()=>{if(!k||!O)throw Error(`not mounted or gsap not loaded`);await L({gsap:t,imgs:T,cordHist:l.cordHist(),trailLength:c().trailLength,length:a().length,mounted:k,setIsLoading:C,setIsAnimating:_})},V=async()=>{if(!k||!O)throw Error(`not mounted or gsap not loaded`);w(`none`),await R({gsap:t,imgs:T,cordHist:l.cordHist(),trailLength:c().trailLength,mounted:k,setIsAnimating:_})};return s(()=>{T.forEach((e,t)=>{t<5&&(e.src=e.dataset.loUrl),P(e,n=>l.isOpen()||l.isAnimating()||n.attributeName!==`style`||parseFloat(e.style.opacity)!==1?!1:(t+5
void A(),{passive:!0,once:!0}),window.addEventListener(`pointerdown`,()=>void A(),{passive:!0,once:!0}),window.addEventListener(`click`,()=>void A(),{passive:!0,once:!0}),D=new AbortController;let e=D.signal;window.addEventListener(`mousemove`,j,{passive:!0,signal:e}),k=!0}),o(r(()=>l.cordHist(),()=>{N()},{defer:!0})),o(r(l.isOpen,async e=>{if(!l.isAnimating())if(e){if(l.index()<0||l.cordHist().length===0){p(!1);return}await F().catch(()=>{p(!1),_(!1),C(!1)}).then(()=>{D?.abort()})}else await V().catch(()=>{}).then(()=>{D=new AbortController;let e=D.signal;window.addEventListener(`mousemove`,j,{passive:!0,signal:e}),C(!1)})},{defer:!0})),(()=>{var t=z();return t.$$keydown=M,t.$$click=M,u(t,n(b,{get each(){return a().images},children:(t,n)=>(()=>{var r=B(),i=T[n()];return typeof i==`function`?y(i,r):T[n()]=r,e(e=>{var n=t.loImgH,i=t.loImgW,a=t.hiUrl,o=t.hiImgH,s=t.hiImgW,c=t.loUrl,l=t.loImgH,u=t.loImgW,d=t.alt;return n!==e.e&&m(r,`height`,e.e=n),i!==e.t&&m(r,`width`,e.t=i),a!==e.a&&m(r,`data-hi-url`,e.a=a),o!==e.o&&m(r,`data-hi-img-h`,e.o=o),s!==e.i&&m(r,`data-hi-img-w`,e.i=s),c!==e.n&&m(r,`data-lo-url`,e.n=c),l!==e.s&&m(r,`data-lo-img-h`,e.s=l),u!==e.h&&m(r,`data-lo-img-w`,e.h=u),d!==e.r&&m(r,`alt`,e.r=d),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),r})()})),t})()}l([`click`,`keydown`]);var H=c(``),U=c(`
`);function W(t){let a,s=[t.prevText,t.closeText,t.nextText],c=h(),[l,{incIndex:d,decIndex:f,setCordHist:m,setHoverText:v,setIsOpen:y,setNavVector:S}]=x(),C=p(()=>l.isOpen()&&!l.isAnimating()),w=()=>{S(`prev`),m(e=>e.map(e=>({...e,i:_(e.i,c().length)}))),f()},T=()=>{y(!1)},E=()=>{S(`next`),m(e=>e.map(e=>({...e,i:g(e.i,c().length)}))),d()},D=e=>{!l.isOpen()||l.isAnimating()||(e===s[0]?w():e===s[1]?T():E())},O=e=>{!l.isOpen()||l.isAnimating()||(e.key===`ArrowLeft`?w():e.key===`Escape`?T():e.key===`ArrowRight`&&E())};return o(r(l.isOpen,e=>{if(a?.abort(),e){a=new AbortController;let e=a.signal;window.addEventListener(`keydown`,O,{passive:!0,signal:e})}})),i(()=>{a?.abort()}),(()=>{var t=H();return u(t,n(b,{each:s,children:e=>(()=>{var t=U();return t.$$mouseover=()=>v(e),t.addEventListener(`focus`,()=>v(e)),t.$$click=()=>{D(e)},t})()})),e(()=>t.classList.toggle(`active`,!!C())),t})()}l([`click`,`mouseover`]);function G(e){let r=h(),[i]=x(),a=p(()=>i.isOpen()&&!i.isAnimating()),o=p(()=>i.isLoading()?e.loadingText:i.hoverText());return[n(T,{}),n(t,{get when(){return r().length>0},get children(){return[n(V,{}),n(t,{get when(){return i.isOpen()},get children(){return[n(w,{cursorText:o,active:a}),n(W,{get prevText(){return e.prevText},get closeText(){return e.closeText},get nextText(){return e.nextText}})]}})]}})]}export{G as default};