import{s as N,t as O,c as L,f as U,v as _,p as G}from"./proxy-Djc7Yrm-.js";import{d as j,i as z,p as H,m as Q}from"./scroll-timeline-_HNdIMLG.js";import{e as W,a as X}from"./map-ycUVTlu-.js";const B=e=>e*1e3,A=e=>e/1e3,Y=e=>Array.isArray(e)&&typeof e[0]!="number",Z=e=>{const t=({timestamp:s})=>e(s);return{start:(s=!0)=>U.update(t,s),stop:()=>L(t),now:()=>N.isProcessing?N.timestamp:O.now()}},V=(e,t,s=10)=>{let i="";const n=Math.max(Math.round(t/s),2);for(let r=0;r=I?1/0:t}function tt(e,t=100,s){const i=s({...e,keyframes:[0,t]}),n=Math.min(E(i),I);return{type:"keyframes",ease:r=>i.next(n*r).value/t,duration:A(n)}}const et=5;function J(e,t,s){const i=Math.max(t-et,0);return _(s-e(i),t-i)}const u={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},q=.001;function st({duration:e=u.duration,bounce:t=u.bounce,velocity:s=u.velocity,mass:i=u.mass}){let n,r,h=1-t;h=G(u.minDamping,u.maxDamping,h),e=G(u.minDuration,u.maxDuration,A(e)),h<1?(n=c=>{const m=c*h,y=m*e,g=m-s,x=R(c,h),M=Math.exp(-y);return q-g/x*M},r=c=>{const y=c*h*e,g=y*s+s,x=Math.pow(h,2)*Math.pow(c,2)*e,M=Math.exp(-y),f=R(Math.pow(c,2),h);return(-n(c)+q>0?-1:1)*((g-x)*M)/f}):(n=c=>{const m=Math.exp(-c*e),y=(c-s)*e+1;return-q+m*y},r=c=>{const m=Math.exp(-c*e),y=(s-c)*(e*e);return m*y});const o=5/e,d=nt(n,r,o);if(e=B(e),isNaN(d))return{stiffness:u.stiffness,damping:u.damping,duration:e};{const c=Math.pow(d,2)*i;return{stiffness:c,damping:h*2*Math.sqrt(i*c),duration:e}}}const it=12;function nt(e,t,s){let i=s;for(let n=1;ne[s]!==void 0)}function ot(e){let t={velocity:u.velocity,stiffness:u.stiffness,damping:u.damping,mass:u.mass,isResolvedFromDuration:!1,...e};if(!$(e,rt)&&$(e,at))if(e.visualDuration){const s=e.visualDuration,i=2*Math.PI/(s*1.2),n=i*i,r=2*G(.05,1,1-(e.bounce||0))*Math.sqrt(n);t={...t,mass:u.mass,stiffness:n,damping:r}}else{const s=st(e);t={...t,...s,mass:u.mass},t.isResolvedFromDuration=!0}return t}function K(e=u.visualDuration,t=u.bounce){const s=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:n}=s;const r=s.keyframes[0],h=s.keyframes[s.keyframes.length-1],o={done:!1,value:r},{stiffness:d,damping:c,mass:m,duration:y,velocity:g,isResolvedFromDuration:x}=ot({...s,velocity:-A(s.velocity||0)}),M=g||0,f=c/(2*Math.sqrt(d*m)),v=h-r,T=A(Math.sqrt(d/m)),w=Math.abs(v)<5;i||(i=w?u.restSpeed.granular:u.restSpeed.default),n||(n=w?u.restDelta.granular:u.restDelta.default);let b;if(f<1){const a=R(T,f);b=p=>{const D=Math.exp(-f*T*p);return h-D*((M+f*T*v)/a*Math.sin(a*p)+v*Math.cos(a*p))}}else if(f===1)b=a=>h-Math.exp(-T*a)*(v+(M+T*v)*a);else{const a=T*Math.sqrt(f*f-1);b=p=>{const D=Math.exp(-f*T*p),l=Math.min(a*p,300);return h-D*((M+f*T*v)*Math.sinh(l)+a*v*Math.cosh(l))/a}}const S={calculatedDuration:x&&y||null,next:a=>{const p=b(a);if(x)o.done=a>=y;else{let D=a===0?M:0;f<1&&(D=a===0?B(M):J(b,a,p));const l=Math.abs(D)<=i,k=Math.abs(h-p)<=n;o.done=l&&k}return o.value=o.done?h:p,o},toString:()=>{const a=Math.min(E(S),I),p=V(D=>S.next(a*D).value,a,30);return a+"ms "+p},toTransition:()=>{}};return S}K.applyToOptions=e=>{const t=tt(e,100,K);return e.ease=t.ease,e.duration=B(t.duration),e.type="keyframes",e};function C({keyframes:e,velocity:t=0,power:s=.8,timeConstant:i=325,bounceDamping:n=10,bounceStiffness:r=500,modifyTarget:h,min:o,max:d,restDelta:c=.5,restSpeed:m}){const y=e[0],g={done:!1,value:y},x=l=>o!==void 0&&ld,M=l=>o===void 0?d:d===void 0||Math.abs(o-l)-f*Math.exp(-l/i),b=l=>T+w(l),S=l=>{const k=w(l),F=b(l);g.done=Math.abs(k)<=c,g.value=g.done?T:F};let a,p;const D=l=>{x(g.value)&&(a=l,p=K({keyframes:[g.value,M(g.value)],velocity:J(b,l,g.value),damping:n,stiffness:r,restDelta:c,restSpeed:m}))};return D(0),{calculatedDuration:null,next:l=>{let k=!1;return!p&&a===void 0&&(k=!0,S(l),D(l)),a!==void 0&&l>=a?p.next(l-a):(!k&&S(l),g)}}}function lt(e,t){return e.map(s=>s*t)}function ct(e,t){return e.map(()=>t||X).splice(0,e.length-1)}function P({duration:e=300,keyframes:t,times:s,ease:i="easeInOut"}){const n=Y(i)?i.map(W):W(i),r={done:!1,value:t[0]},h=lt(s&&s.length===t.length?s:j(t),e),o=z(h,t,{ease:Array.isArray(n)?n:ct(t,n)});return{calculatedDuration:e,next:d=>(r.value=o(d),r.done=d>=e,r)}}const ht=e=>e!==null;function ut(e,{repeat:t,repeatType:s="loop"},i,n=1){const r=e.filter(ht),o=n<0||t&&s!=="loop"&&t%2===1?0:r.length-1;return!o||i===void 0?r[o]:i}const dt={decay:C,inertia:C,tween:P,keyframes:P,spring:K};function ft(e){typeof e.type=="string"&&(e.type=dt[e.type])}class pt{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,s){return this.finished.then(t,s)}}const mt=e=>e/100;class Dt extends pt{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var i,n;const{motionValue:s}=this.options;s&&s.updatedAt!==O.now()&&this.tick(O.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(n=(i=this.options).onStop)==null||n.call(i))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;ft(t);const{type:s=P,repeat:i=0,repeatDelay:n=0,repeatType:r,velocity:h=0}=t;let{keyframes:o}=t;const d=s||P;d!==P&&typeof o[0]!="number"&&(this.mixKeyframes=H(mt,Q(o[0],o[1])),o=[0,100]);const c=d({...t,keyframes:o});r==="mirror"&&(this.mirroredGenerator=d({...t,keyframes:[...o].reverse(),velocity:-h})),c.calculatedDuration===null&&(c.calculatedDuration=E(c));const{calculatedDuration:m}=c;this.calculatedDuration=m,this.resolvedDuration=m+n,this.totalDuration=this.resolvedDuration*(i+1)-n,this.generator=c}updateTime(t){const s=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=s}tick(t,s=!1){const{generator:i,totalDuration:n,mixKeyframes:r,mirroredGenerator:h,resolvedDuration:o,calculatedDuration:d}=this;if(this.startTime===null)return i.next(0);const{delay:c=0,keyframes:m,repeat:y,repeatType:g,repeatDelay:x,type:M,onUpdate:f,finalKeyframe:v}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-n/this.speed,this.startTime)),s?this.currentTime=t:this.updateTime(t);const T=this.currentTime-c*(this.playbackSpeed>=0?1:-1),w=this.playbackSpeed>=0?T<0:T>n;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=n);let b=this.currentTime,S=i;if(y){const l=Math.min(this.currentTime,n)/o;let k=Math.floor(l),F=l%1;!F&&l>=1&&(F=1),F===1&&k--,k=Math.min(k,y+1),!!(k%2)&&(g==="reverse"?(F=1-F,x&&(F-=x/o)):g==="mirror"&&(S=h)),b=G(0,1,F)*o}const a=w?{done:!1,value:m[0]}:S.next(b);r&&(a.value=r(a.value));let{done:p}=a;!w&&d!==null&&(p=this.playbackSpeed>=0?this.currentTime>=n:this.currentTime<=0);const D=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&p);return D&&M!==C&&(a.value=ut(m,this.options,v,this.speed)),f&&f(a.value),D&&this.finish(),a}then(t,s){return this.finished.then(t,s)}get duration(){return A(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+A(t)}get time(){return A(this.currentTime)}set time(t){var s;t=B(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),(s=this.driver)==null||s.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(O.now());const s=this.playbackSpeed!==t;this.playbackSpeed=t,s&&(this.time=A(this.currentTime))}play(){var n,r;if(this.isStopped)return;const{driver:t=Z,startTime:s}=this.options;this.driver||(this.driver=t(h=>this.tick(h))),(r=(n=this.options).onPlay)==null||r.call(n);const i=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=i):this.holdTime!==null?this.startTime=i-this.holdTime:this.startTime||(this.startTime=s??i),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(O.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,s;this.notifyFinished(),this.teardown(),this.state="finished",(s=(t=this.options).onComplete)==null||s.call(t)}cancel(){var t,s;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(s=(t=this.options).onCancel)==null||s.call(t)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){var s;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(s=this.driver)==null||s.stop(),t.observe(this)}}export{Dt as J,pt as W,ut as a,V as g,A as m,ft as r,B as s};