const M=n=>n;function h(n){const o=n-1;return o*o*o+1}function v(n){const o=typeof n=="string"&&n.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return o?[parseFloat(o[1]),o[2]||"px"]:[n,"px"]}function S(n,{delay:o=0,duration:a=400,easing:d=M}={}){const l=+getComputedStyle(n).opacity;return{delay:o,duration:a,easing:d,css:e=>`opacity: ${e*l}`}}function q(n,{delay:o=0,duration:a=400,easing:d=h,x:l=0,y:e=0,opacity:i=0}={}){const s=getComputedStyle(n),y=+s.opacity,r=s.transform==="none"?"":s.transform,t=y*(1-i),[u,p]=v(l),[$,_]=v(e);return{delay:o,duration:a,easing:d,css:(f,m)=>` transform: ${r} translate(${(1-f)*u}${p}, ${(1-f)*$}${_}); opacity: ${y-t*m}`}}function B(n,{delay:o=0,duration:a=400,easing:d=h,axis:l="y"}={}){const e=getComputedStyle(n),i=+e.opacity,s=l==="y"?"height":"width",y=parseFloat(e[s]),r=l==="y"?["top","bottom"]:["left","right"],t=r.map(c=>`${c[0].toUpperCase()}${c.slice(1)}`),u=parseFloat(e[`padding${t[0]}`]),p=parseFloat(e[`padding${t[1]}`]),$=parseFloat(e[`margin${t[0]}`]),_=parseFloat(e[`margin${t[1]}`]),f=parseFloat(e[`border${t[0]}Width`]),m=parseFloat(e[`border${t[1]}Width`]);return{delay:o,duration:a,easing:d,css:c=>`overflow: hidden;opacity: ${Math.min(c*20,1)*i};${s}: ${c*y}px;padding-${r[0]}: ${c*u}px;padding-${r[1]}: ${c*p}px;margin-${r[0]}: ${c*$}px;margin-${r[1]}: ${c*_}px;border-${r[0]}-width: ${c*f}px;border-${r[1]}-width: ${c*m}px;min-${s}: 0`}}function R(n,{delay:o=0,duration:a=400,easing:d=h,start:l=0,opacity:e=0}={}){const i=getComputedStyle(n),s=+i.opacity,y=i.transform==="none"?"":i.transform,r=1-l,t=s*(1-e);return{delay:o,duration:a,easing:d,css:(u,p)=>` transform: ${y} scale(${1-r*p}); opacity: ${s-t*p} `}}function b(n,o){for(const a in o)n[a]=o[a];return n}function W({fallback:n,...o}){const a=new Map,d=new Map;function l(i,s,y){const{delay:r=0,duration:t=g=>Math.sqrt(g)*30,easing:u=h}=b(b({},o),y),p=i.getBoundingClientRect(),$=s.getBoundingClientRect(),_=p.left-$.left,f=p.top-$.top,m=p.width/$.width,c=p.height/$.height,C=Math.sqrt(_*_+f*f),x=getComputedStyle(s),F=x.transform==="none"?"":x.transform,k=+x.opacity;return{delay:r,duration:typeof t=="function"?t(C):t,easing:u,css:(g,w)=>` opacity: ${g*k}; transform-origin: top left; transform: ${F} translate(${w*_}px,${w*f}px) scale(${g+(1-g)*m}, ${g+(1-g)*c}); `}}function e(i,s,y){return(r,t)=>(i.set(t.key,r),()=>{if(s.has(t.key)){const u=s.get(t.key);return s.delete(t.key),l(u,r,t)}return i.delete(t.key),n&&n(r,t,y)})}return[e(d,a,!1),e(a,d,!0)]}export{q as a,R as b,W as c,S as f,B as s};