@infinityfx/lively 5.0.0-alpha.0 → 5.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/animate.js +1 -1
  2. package/dist/core/animation-link.js.map +1 -1
  3. package/dist/core/animator.js +1 -1
  4. package/dist/core/animator.js.map +1 -1
  5. package/dist/core/clip.js +1 -1
  6. package/dist/core/clip.js.map +1 -1
  7. package/dist/core/state.js +1 -1
  8. package/dist/core/state.js.map +1 -1
  9. package/dist/core/track.js +1 -1
  10. package/dist/core/track.js.map +1 -1
  11. package/dist/core/utils.js +1 -1
  12. package/dist/core/utils.js.map +1 -1
  13. package/dist/hooks/use-tap.js +1 -1
  14. package/dist/layout-group.js +1 -1
  15. package/dist/presets.js +2 -0
  16. package/dist/presets.js.map +1 -0
  17. package/dist/types/animate.d.ts +6 -6
  18. package/dist/types/core/animation-link.d.ts +2 -1
  19. package/dist/types/core/animator.d.ts +19 -10
  20. package/dist/types/core/clip.d.ts +2 -2
  21. package/dist/types/core/state.d.ts +2 -3
  22. package/dist/types/core/track.d.ts +8 -5
  23. package/dist/types/core/utils.d.ts +46 -36
  24. package/dist/types/layout-group.d.ts +1 -1
  25. package/dist/types/presets.d.ts +3 -0
  26. package/package.json +6 -6
  27. package/dist/animations.js +0 -2
  28. package/dist/animations.js.map +0 -1
  29. package/dist/types/animations.d.ts +0 -3
  30. /package/dist/{animations → presets}/text-animation.js +0 -0
  31. /package/dist/{animations → presets}/text-animation.js.map +0 -0
  32. /package/dist/{animations → presets}/view-animation.js +0 -0
  33. /package/dist/{animations → presets}/view-animation.js.map +0 -0
  34. /package/dist/types/{animations → presets}/text-animation.d.ts +0 -0
  35. /package/dist/types/{animations → presets}/view-animation.d.ts +0 -0
package/dist/animate.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as t}from"react/jsx-runtime";import{createContext as e,useId as n,use as r,useRef as i,useImperativeHandle as o,useLayoutEffect as a,useEffect as s,Children as c,isValidElement as m,cloneElement as l}from"react";import f from"./core/animator.js";import u from"./core/clip.js";import{serializeTriggers as d,getLifeCycleAnimations as p,forEachTrigger as g,mergeStyles as y,getInitialStyleFromLinks as h,mergeRefs as k,shouldTrigger as j}from"./core/utils.js";import{LayoutGroupContext as v}from"./layout-group.js";import{registerAsMorph as w,getMorphTarget as L,deleteMorphTarget as E,registerToLayoutGroup as S,unregisterFromLayoutGroup as T}from"./core/state.js";const D=e("");function x({ref:e,children:x,inherit:z=!1,initial:A={},animate:I={},triggers:_={animate:["mount"]},stagger:b=.07,staggerLimit:C=10,ignoreScaleDeformation:O=!1,transition:P={},morph:q,clips:B,paused:F=!1,onAnimationEnd:G}){const H=_._livelyId??"_la"+n(),J=r(D),K=r(v),M=i(0),N=i(d(_)),Q=i(null);if(!Q.current){const t={animate:I instanceof u?I:new u(I,A)};for(const e in B)t[e]=B[e]instanceof u?B[e]:new u(B[e],A);const e=Q.current=new f({id:H,clips:t,lifeCycleAnimations:p(_),ignoreScaleDeformation:O,transition:P,stagger:b,staggerLimit:C});e.register(J,z),e.addLinks(I)}const{current:R}=Q;return o(e,(()=>R),[]),a((()=>{if(R.register(J,z),R.addLinks(I),q){clearTimeout(M.current),w(q,R);const t=L(q,H);t&&(R.transition(t),E(q,t),R.state="mounted")}S(K,H)&&(R.state="mounted"),document.fonts.ready.finally((()=>R.mount()));const t=()=>R.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{R.dispose(),T(K,H),q&&(M.current=E(q,R,1)),window.removeEventListener("resize",t)}}),[]),s((()=>{const t=d(_);g(_,((e,n,r)=>{j(N.current[e],t[e])})),N.current=t}),[_]),s((()=>{if(!(I instanceof u||"mounted"!==R.state))for(const t in I){const e=I[t];t in R.links&&"object"!=typeof e&&R.links[t].set(e,R.defaultTransitionOptions)}}),[I]),s((()=>(G&&R.on("animationend",G),()=>{G&&R.off("animationend",G)})),[G]),s((()=>R.setPlayState(F)),[F]),t(D,{value:H,children:c.map(x,((t,e)=>{if(!m(t))return t;let{ref:n,style:r}=t.props;return r=y(r,R.mergeInitialStyles(A),h(R.links,e)),l(t,{ref:k(n||null,(t=>R.addTrack(t,e))),style:r,pathLength:"strokeDasharray"in r?1:void 0,"data-lively":!0})}))})}export{D as AnimateContext,x as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{createContext as n,useId as e,use as i,useRef as r,useState as o,useImperativeHandle as s,useLayoutEffect as a,useEffect as c,Children as m,isValidElement as d,cloneElement as l}from"react";import u from"./core/animator.js";import f from"./core/clip.js";import{serializeTriggers as p,getLifeCycleAnimations as g,forEachTrigger as y,mergeStyles as h,getInitialStyleFromLinks as j,mergeRefs as k}from"./core/utils.js";import{LayoutGroupContext as w}from"./layout-group.js";import{registerToLayoutGroup as v,getMorphTarget as L,deleteMorphTarget as E,unregisterFromLayoutGroup as C}from"./core/state.js";const b=n("");function x({ref:n,children:x,inherit:z=!1,initial:A={},animate:D={},triggers:I={animate:["mount"]},stagger:S=.07,staggerLimit:T=10,deformCorrection:U,transition:_,morph:M,clips:O,paused:P=!1,onAnimationEnd:q}){const B=I._livelyId??"_la"+e(),F=i(b),G=i(w),H=r(0),J=r(null),K=r(p(I)),N=r(null);if(!N.current){const t={animate:D instanceof f?D:new f(D,A)};for(const n in O)t[n]=O[n]instanceof f?O[n]:new f(O[n],A);const n=N.current=new u({id:B,clips:t,lifeCycleAnimations:g(I),deformCorrection:U,transition:_,stagger:S,staggerLimit:T});n.register(F,z,M),n.addLinks(D)}const{current:Q}=N,[R,V]=o(v(G,Q.id));return s(n,(()=>Q),[]),a((()=>{if(H.current=Date.now(),Q.register(F,z,M),Q.addLinks(D),M){const t=J.current||L(M,Q.id);J.current=t,t&&(Q.isMounting=!0,Q.transition(t),E(M,t.id),Q.state="mounted",V(!0),t.delayUnmountUntil=0,t.unmount())}v(G,Q.id),R&&(Q.state="mounted"),document.fonts.ready.finally((()=>Q.mount()));const t=()=>Q.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t),Q.dispose(M),C(G,Q.id)}}),[]),c((()=>{y(I,((t,n,e)=>{const i=K.current[t];n.forEach(((n,r)=>{i[r]!==n&&!1!==n&&Q.play(t,Object.assign({tag:t},e[r])),i[r]=n}))}))}),[I]),c((()=>{if(!(D instanceof f||"mounted"!==Q.state))for(const t in D){const n=D[t];t in Q.links&&"object"!=typeof n&&Q.links[t].set(n,{duration:D.duration,easing:D.easing,composite:D.composite})}}),[D]),c((()=>(q&&Q.on("animationend",q),()=>{q&&Q.off("animationend",q)})),[q]),c((()=>Q.setPlayState(P)),[P]),t(b,{value:Q.id,children:m.map(x,((t,n)=>{if(!d(t))return t;let{ref:e,style:i}=t.props;return i=h(i,Q.mergeInitialStyles(A,R?"mounted":"unmounted"),j(Q.links,n)),l(t,{ref:k(e||null,(t=>Q.addTrack(t,n))),style:i,pathLength:"strokeDasharray"in i?1:void 0,"data-lively":Q.id})}))})}export{b as AnimateContext,x as default};
3
3
  //# sourceMappingURL=animate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animation-link.js","sources":["../../src/core/animation-link.ts"],"sourcesContent":[null],"names":["AnimationLink","constructor","initial","getWithIndex","this","options","duration","eventListeners","value","set","Object","assign","dispatch","get","index","on","event","callback","Set","add","delete","forEach"],"mappings":"AASc,MAAOA,EAWjB,WAAAC,CAAYC,EAAYC,GARxBC,KAAAC,QAA6B,CACzBC,SAAU,IAGdF,KAAAG,eAEI,CAAA,EAGAH,KAAKI,MAAQN,EACbE,KAAKD,aAAeA,QAAuBC,KAAKI,MACpD,CAEA,GAAAC,CAAID,EAAUH,EAA6B,IACvCD,KAAKI,MAAQA,EACbE,OAAOC,OAAOP,KAAKC,QAASA,GAE5BD,KAAKQ,SAAS,SAClB,CAEA,GAAAC,CAAIC,EAAQ,GACR,OAAOV,KAAKD,aAAaW,EAC7B,CAEA,EAAAC,CAAGC,EAA2BC,GAK1B,OAJMD,KAASZ,KAAKG,iBAAiBH,KAAKG,eAAeS,GAAS,IAAIE,KAEtEd,KAAKG,eAAeS,GAAQG,IAAIF,GAEzB,KACHb,KAAKG,eAAeS,IAAQI,OAAOH,EAAS,CAEpD,CAEA,QAAAL,CAASI,GACLZ,KAAKG,eAAeS,IAAQK,SAAQJ,GAAYA,EAASb,KAAKI,QAClE"}
1
+ {"version":3,"file":"animation-link.js","sources":["../../src/core/animation-link.ts"],"sourcesContent":[null],"names":["AnimationLink","constructor","initial","getWithIndex","this","options","duration","eventListeners","value","set","Object","assign","dispatch","get","index","on","event","callback","Set","add","delete","forEach"],"mappings":"AAUc,MAAOA,EAWjB,WAAAC,CAAYC,EAAYC,GARxBC,KAAAC,QAA6B,CACzBC,SAAU,IAGdF,KAAAG,eAEI,CAAA,EAGAH,KAAKI,MAAQN,EACbE,KAAKD,aAAeA,QAAuBC,KAAKI,MACpD,CAEA,GAAAC,CAAID,EAAUH,EAA6B,IACvCD,KAAKI,MAAQA,EACbE,OAAOC,OAAOP,KAAKC,QAASA,GAE5BD,KAAKQ,SAAS,SAClB,CAEA,GAAAC,CAAIC,EAAQ,GACR,OAAOV,KAAKD,aAAaW,EAC7B,CAEA,EAAAC,CAAGC,EAA2BC,GAK1B,OAJMD,KAASZ,KAAKG,iBAAiBH,KAAKG,eAAeS,GAAS,IAAIE,KAEtEd,KAAKG,eAAeS,GAAQG,IAAIF,GAEzB,KACHb,KAAKG,eAAeS,IAAQI,OAAOH,EAAS,CAEpD,CAEA,QAAAL,CAASI,GACLZ,KAAKG,eAAeS,IAAQK,SAAQJ,GAAYA,EAASb,KAAKI,QAClE"}
@@ -1,2 +1,2 @@
1
- import t from"./clip.js";import{isRegistered as i,registerAnimator as s,getParentAnimator as e,unregisterAnimator as a}from"./state.js";import n from"./track.js";import{extractAnimationLinks as r}from"./utils.js";class h{constructor({id:t,clips:i,lifeCycleAnimations:s,ignoreScaleDeformation:e,transition:a,stagger:n,staggerLimit:r}){this.parent=null,this.dependents=new Set,this.links={},this.onDisposeLinks=null,this.tracks=new Set,this.trackList=[],this.initialStyles=null,this.eventListeners={},this.state="unmounted",this.paused=!1,this.frame=0;const{cache:h,...o}=a;this.id=t,this.clips=i,this.lifeCycleAnimations=s,this.ignoreScaleDeformation=e,this.defaultTransitionOptions=o,this.cache=h??["x","y","sx","sy","rotate","borderRadius"],this.stagger=n,this.staggerLimit=r}register(t,a){i(this.id)||(s(this.id,this),t&&!1!==a&&(this.parent=e(t,"boolean"==typeof a?0:a)),this.parent&&this.parent.dependents.add(this))}mount(){"unmounted"===this.state&&this.trigger("mount"),this.state="mounted",cancelAnimationFrame(this.frame),this.tick()}dispose(){this.stop(),this.onDisposeLinks?.(),cancelAnimationFrame(this.frame),this.parent&&this.parent.dependents.delete(this),this.trackList.forEach((t=>t.cache=t.snapshot())),this.state="unmounted",a(this.id)}on(t,i){t in this.eventListeners||(this.eventListeners[t]=new Set),this.eventListeners[t].add(i)}off(t,i){this.eventListeners[t]?.delete(i)}dispatch(t,...i){this.eventListeners[t]?.forEach((t=>t(...i)))}tick(){this.paused||this.trackList.forEach((t=>{!this.ignoreScaleDeformation&&t.animations.length&&t.correct()})),this.frame=requestAnimationFrame(this.tick.bind(this))}addLinks(i){const[s,e]=r(i,((i,s)=>{this.forEachTrack(((e,a)=>{const n=new t({...s.options,composite:"override",[i]:s.get(a)});e.push(n,{},a===this.tracks.size?()=>this.dispatch("animationend"):void 0)}))}));this.links=s,this.onDisposeLinks=e}addTrack(t,i){if(!(t instanceof HTMLElement||t instanceof SVGElement)||this.tracks.has(t))return;const s=new n(t,this.cache),e=this.lifeCycleAnimations.mount;this.tracks.add(t),this.trackList.splice(i,0,s),"mounted"===this.state&&e&&e.forEach((t=>s.push(this.clips[t])))}mergeInitialStyles(i){if(this.initialStyles)return this.initialStyles;const s=(this.lifeCycleAnimations.mount||[]).map((t=>this.clips[t]));return s.length?i=t.mergeInitialStyles(s,i):this.parent&&(i=this.parent.mergeInitialStyles(i)),this.initialStyles=i}pretime(t,i){if(t.isEmpty)return 0;const{duration:s,delay:e,iterations:a}=t.getConfig(i);return s*a+e+Math.max(Math.min(this.tracks.size,this.staggerLimit)-1,0)*this.stagger}trigger(t,i={}){let s=this.lifeCycleAnimations[t],e=0;return s&&s.forEach((t=>e=Math.max(this.play(t,i),e))),e}play(t,{cascade:i="forward",delay:s=0,tag:e,...a}={}){if(this.paused||this.parent&&!e)return 0;let n="string"==typeof t?this.clips[t]:t;e&&e in this.clips&&(n=this.clips[e]),e||"string"!=typeof t||(e=t);const r=this.pretime(n,a),h=this.cascade(n,{...a,delay:"reverse"===i?s:r+s,tag:e});return this.push(n,{...a,delay:"reverse"===i?h+s:s,tag:e})}cascade(t,i){let s=0;return this.dependents.forEach((e=>{s=Math.max(s,e.play(t,i))})),s}forEachTrack(t){let i=0;for(;i<this.tracks.size;){const s=this.trackList[i];s.element.isConnected?t(s,i++):(this.tracks.delete(s.element),this.trackList.splice(i,1))}}push(t,{override:i,delay:s=0,tag:e,...a}){if(t.isEmpty)return 0;let n=0;return this.forEachTrack(((r,h)=>{i&&r.clear();const o=r.push(t,{...a,delay:s+Math.min(h,this.staggerLimit-1)*this.stagger},h===this.tracks.size?()=>this.dispatch("animationend",e):void 0);n=Math.max(n,o)})),n}transition(t,i=this.defaultTransitionOptions){this.paused||(this.trackList.forEach(((s,e)=>{const{cache:a}=t&&e<t.tracks.size?t.trackList[e]:{};s.transition(a,i)})),this.dispatch("transitionstart"))}setPlayState(t){this.trackList.forEach((i=>i.toggle(t))),this.paused=t,this.dependents.forEach((i=>i.setPlayState(t)))}stop(t){this.trackList.forEach((i=>i.clear(t)))}}export{h as default};
1
+ import t from"./clip.js";import{registerAnimator as i,registerAsMorph as s,getParentAnimator as e,unregisterAnimator as n,deleteMorphTarget as a}from"./state.js";import r from"./track.js";import{extractAnimationLinks as h}from"./utils.js";class o{constructor({id:t,clips:i,lifeCycleAnimations:s,deformCorrection:e,transition:n,stagger:a,staggerLimit:r}){this.parent=null,this.dependents=new Set,this.inherit=[],this.links={},this.onDisposeLinks=null,this.tracks=new Set,this.trackList=[],this.initialStyles={},this.eventListeners={},this.state="unmounted",this.delayUnmountUntil=0,this.isMounting=!0,this.paused=!1,this.timeout=0,this.frame=0;const{cache:h,...o}=n||{};this.id=t,this.clips=i,this.lifeCycleAnimations=s,this.ignoreScaleDeformation=void 0!==e&&!e,this.defaultTransitionOptions=o,this.cache=h||["x","y","sx","sy","rotate","borderRadius"],this.align="object"==typeof e?e:{x:"left",y:"top"},this.stagger=a,this.staggerLimit=r,void 0===e&&this.inherit.push("ignoreScaleDeformation"),void 0===e&&this.inherit.push("align"),n||this.inherit.push("defaultTransitionOptions"),h||this.inherit.push("cache")}register(t,n,a){if(clearTimeout(this.timeout),i(this.id,this),a&&s(a,this.id),t&&!1!==n&&(this.parent=e(t,"boolean"==typeof n?0:n)),this.parent){this.parent.dependents.add(this);for(const t of this.inherit)this[t]=this.parent[t]}}mount(){"unmounted"===this.state&&this.trigger("mount"),this.state="mounted",cancelAnimationFrame(this.frame),this.tick()}dispose(t){this.onDisposeLinks?.(),cancelAnimationFrame(this.frame),this.trackList.forEach((t=>t.cache=t.snapshot())),this.state="unmounted",this.stop(),this.timeout=setTimeout((()=>{n(this.id),t&&a(t,this.id),this.parent&&this.parent.dependents.delete(this)}),1)}on(t,i){t in this.eventListeners||(this.eventListeners[t]=new Set),this.eventListeners[t].add(i)}off(t,i){this.eventListeners[t]?.delete(i)}dispatch(t,...i){this.eventListeners[t]?.forEach((t=>t(...i)))}tick(){this.paused||this.trackList.forEach((t=>{this.ignoreScaleDeformation||t.correct()})),this.frame=requestAnimationFrame(this.tick.bind(this))}addLinks(i){const[s,e]=h(i,((i,s)=>{this.forEachTrack(((e,n)=>{const a=new t({...s.options,composite:"override",[i]:s.get(n)});e.push(a)}))}));this.links=s,this.onDisposeLinks=e}addTrack(t,i){if(!(t instanceof HTMLElement||t instanceof SVGElement)||this.tracks.has(t))return;const s=new r(t,this.cache,this.align),e=this.lifeCycleAnimations.mount;this.tracks.add(t),this.trackList.splice(i,0,s),"mounted"===this.state&&e&&e.forEach((([t,i])=>s.push(this.clips[t],i)))}mergeInitialStyles(t,i){if(i in this.initialStyles)return this.initialStyles[i];const s="mounted"===i,e=(this.lifeCycleAnimations.mount||[]).map((([t,i])=>[this.clips[t],(i.reverse||!1)!==s])).filter((([t])=>!t.isEmpty));if(e.length){const i={backfaceVisibility:"hidden",willChange:"transform"};for(const[t,s]of e){const e=s!==t.reverse?t.keyframes.length-1:0,{offset:n,...a}=t.keyframes[e];Object.assign(i,a)}t=Object.assign(i,t)}else this.parent&&(t=this.parent.mergeInitialStyles(t,i));return this.initialStyles[i]=t}pretime(t,i){if(t.isEmpty)return 0;const{duration:s,delay:e,iterations:n}=t.getConfig(i);return(s*n+e)/1e3+Math.max(Math.min(this.tracks.size,this.staggerLimit)-1,0)*this.stagger}trigger(t,i={}){let s=this.lifeCycleAnimations[t],e=0;return s&&s.forEach((([t,s])=>e=Math.max(this.play(t,Object.assign(s,i)),e))),e}play(t,{cascade:i="forward",delay:s=0,tag:e,...n}={}){if(this.paused||this.parent&&!e)return 0;let a="string"==typeof t?this.clips[t]:t;e&&e in this.clips&&(a=this.clips[e]),e||"string"!=typeof t||(e=t);const r=this.pretime(a,n),h=this.cascade(a,{...n,delay:"reverse"===i?s:r+s,tag:e});return this.push(a,{...n,delay:"reverse"===i?h+s:s,tag:e})}cascade(t,i){let s=0;return this.dependents.forEach((e=>{s=Math.max(s,e.play(t,i))})),s}forEachTrack(t){let i=0;for(;i<this.tracks.size;){const s=this.trackList[i];s.element.isConnected?t(s,i++):(this.tracks.delete(s.element),this.trackList.splice(i,1))}}push(t,{override:i,delay:s=0,tag:e,...n}){if(t.isEmpty)return 0;let a=0;return this.forEachTrack(((r,h)=>{i&&r.clear();const o=r.push(t,{...n,delay:s+Math.min(h,this.staggerLimit-1)*this.stagger},h===this.tracks.size-1?()=>this.dispatch("animationend",e):void 0);a=Math.max(a,o)})),a}transition(t,i=this.defaultTransitionOptions){!this.paused&&this.cache.length&&(this.trackList.forEach(((s,e)=>{const{cache:n}=t&&e<t.tracks.size?t.trackList[e]:{};s.transition(n,i)})),this.dispatch("transitionstart"))}setPlayState(t){this.trackList.forEach((i=>i.toggle(t))),this.paused=t,this.dependents.forEach((i=>i.setPlayState(t)))}stop(t){this.trackList.forEach((i=>i.clear(t)))}unmount(){this.trackList.forEach((t=>t.element.style.display="none"))}}export{o as default};
2
2
  //# sourceMappingURL=animator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animator.js","sources":["../../src/core/animator.ts"],"sourcesContent":[null],"names":["Animator","constructor","id","clips","lifeCycleAnimations","ignoreScaleDeformation","transition","stagger","staggerLimit","this","parent","dependents","Set","links","onDisposeLinks","tracks","trackList","initialStyles","eventListeners","state","paused","frame","cache","options","defaultTransitionOptions","register","parentId","inherit","isRegistered","registerAnimator","getParentAnimator","add","mount","trigger","cancelAnimationFrame","tick","dispose","stop","delete","forEach","track","snapshot","unregisterAnimator","on","event","callback","off","dispatch","args","animations","length","correct","requestAnimationFrame","bind","addLinks","animate","disposeLinks","extractAnimationLinks","key","link","forEachTrack","i","clip","Clip","composite","get","push","size","undefined","addTrack","element","index","HTMLElement","SVGElement","has","Track","splice","animation","mergeInitialStyles","styles","map","pretime","isEmpty","duration","delay","iterations","getConfig","Math","max","min","elapsed","play","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle"],"mappings":"qNAmBc,MAAOA,EA8BjB,WAAAC,EAAYC,GAAEA,EAAEC,MAAEA,EAAKC,oBAAEA,EAAmBC,uBAAEA,EAAsBC,WAAEA,EAAUC,QAAEA,EAAOC,aAAEA,IA3B3FC,KAAAC,OAA+B,KAC/BD,KAAAE,WAAiC,IAAIC,IAOrCH,KAAAI,MAEI,CAAA,EACJJ,KAAAK,eAAsC,KACtCL,KAAAM,OAAuB,IAAIH,IAC3BH,KAAAO,UAAqB,GAMrBP,KAAAQ,cAAqC,KACrCR,KAAAS,eAEI,CAAA,EACJT,KAAAU,MAAgD,YAChDV,KAAAW,QAAS,EACTX,KAAAY,MAAQ,EAiBJ,MAAMC,MAAEA,KAAUC,GAAYjB,EAE9BG,KAAKP,GAAKA,EACVO,KAAKN,MAAQA,EACbM,KAAKL,oBAAsBA,EAC3BK,KAAKJ,uBAAyBA,EAC9BI,KAAKe,yBAA2BD,EAChCd,KAAKa,MAAQA,GAAS,CAAC,IAAK,IAAK,KAAM,KAAM,SAAU,gBACvDb,KAAKF,QAAUA,EACfE,KAAKD,aAAeA,CACxB,CAEA,QAAAiB,CAASC,EAAkBC,GACnBC,EAAanB,KAAKP,MAEtB2B,EAAiBpB,KAAKP,GAAIO,MAEtBiB,IAAwB,IAAZC,IACZlB,KAAKC,OAASoB,EAAkBJ,EAA6B,kBAAZC,EAAwB,EAAIA,IAE7ElB,KAAKC,QACLD,KAAKC,OAAOC,WAAWoB,IAAItB,MAInC,CAEA,KAAAuB,GACuB,cAAfvB,KAAKU,OAAuBV,KAAKwB,QAAQ,SAE7CxB,KAAKU,MAAQ,UAEbe,qBAAqBzB,KAAKY,OAC1BZ,KAAK0B,MACT,CAEA,OAAAC,GACI3B,KAAK4B,OACL5B,KAAKK,mBACLoB,qBAAqBzB,KAAKY,OACtBZ,KAAKC,QAAQD,KAAKC,OAAOC,WAAW2B,OAAO7B,MAE/CA,KAAKO,UAAUuB,SAAQC,GAASA,EAAMlB,MAAQkB,EAAMC,aACpDhC,KAAKU,MAAQ,YACbuB,EAAmBjC,KAAKP,GAC5B,CAEA,EAAAyC,CAAqCC,EAAsBC,GACjDD,KAASnC,KAAKS,iBAAiBT,KAAKS,eAAe0B,GAAS,IAAIhC,KAEtEH,KAAKS,eAAe0B,GAAQb,IAAIc,EACpC,CAEA,GAAAC,CAAsCF,EAAsBC,GACxDpC,KAAKS,eAAe0B,IAAQN,OAAOO,EACvC,CAEA,QAAAE,CAASH,KAAyBI,GAC9BvC,KAAKS,eAAe0B,IAAQL,SAAQM,GAAYA,KAAYG,IAChE,CAEA,IAAAb,GACS1B,KAAKW,QAAQX,KAAKO,UAAUuB,SAAQC,KAChC/B,KAAKJ,wBAA0BmC,EAAMS,WAAWC,QAAQV,EAAMW,SAAS,IAGhF1C,KAAKY,MAAQ+B,sBAAsB3C,KAAK0B,KAAKkB,KAAK5C,MACtD,CAEA,QAAA6C,CAASC,GACL,MAAO1C,EAAO2C,GAAgBC,EAAsBF,GAAS,CAACG,EAAKC,KAC/DlD,KAAKmD,cAAa,CAACpB,EAAOqB,KACtB,MAAMC,EAAO,IAAIC,EAAK,IACfJ,EAAKpC,QACRyC,UAAW,WACXN,CAACA,GAAMC,EAAKM,IAAIJ,KAGpBrB,EAAM0B,KAAKJ,EAAM,CAAA,EAAID,IAAMpD,KAAKM,OAAOoD,KACnC,IAAM1D,KAAKsC,SAAS,qBACpBqB,EAAU,GAChB,IAGN3D,KAAKI,MAAQA,EACbJ,KAAKK,eAAiB0C,CAC1B,CAEA,QAAAa,CAASC,EAAcC,GACnB,KAAMD,aAAmBE,aAAeF,aAAmBG,aAAehE,KAAKM,OAAO2D,IAAIJ,GAAU,OAEpG,MAAM9B,EAAQ,IAAImC,EAAML,EAAS7D,KAAKa,OAClC2B,EAAaxC,KAAKL,oBAA2B,MAEjDK,KAAKM,OAAOgB,IAAIuC,GAChB7D,KAAKO,UAAU4D,OAAOL,EAAO,EAAG/B,GAEb,YAAf/B,KAAKU,OAAuB8B,GAAYA,EAAWV,SAAQsC,GAAarC,EAAM0B,KAAKzD,KAAKN,MAAM0E,KACtG,CAEA,kBAAAC,CAAmBC,GACf,GAAItE,KAAKQ,cAAe,OAAOR,KAAKQ,cAEpC,MACId,GADeM,KAAKL,oBAAoB4B,OAAS,IAC9BgD,KAAIH,GAAapE,KAAKN,MAAM0E,KASnD,OAPI1E,EAAM+C,OACN6B,EAAShB,EAAKe,mBAAmB3E,EAAO4E,GAEpCtE,KAAKC,SACLqE,EAAStE,KAAKC,OAAOoE,mBAAmBC,IAGzCtE,KAAKQ,cAAgB8D,CAChC,CAEA,OAAAE,CAAQnB,EAAYvC,GAChB,GAAIuC,EAAKoB,QAAS,OAAO,EAEzB,MAAMC,SAAEA,EAAQC,MAAEA,EAAKC,WAAEA,GAAevB,EAAKwB,UAAU/D,GACvD,OAAO4D,EAAWE,EAAaD,EAAQG,KAAKC,IAAID,KAAKE,IAAIhF,KAAKM,OAAOoD,KAAM1D,KAAKD,cAAgB,EAAG,GAAKC,KAAKF,OACjH,CAEA,OAAA0B,CAAQU,EAAsBpB,EAA4B,IACtD,IAAI0B,EAAaxC,KAAKL,oBAAoBuC,GACtC+C,EAAU,EAId,OAFIzC,GAAYA,EAAWV,SAAQsC,GAAaa,EAAUH,KAAKC,IAAI/E,KAAKkF,KAAKd,EAAWtD,GAAUmE,KAE3FA,CACX,CAEA,IAAAC,CAAKd,GAAqBe,QAAEA,EAAU,UAASR,MAAEA,EAAQ,EAACS,IAAEA,KAAQtE,GAA8B,IAC9F,GAAId,KAAKW,QAAWX,KAAKC,SAAWmF,EAAM,OAAO,EAEjD,IAAI/B,EAA4B,iBAAde,EAAyBpE,KAAKN,MAAM0E,GAAaA,EAC/DgB,GAAOA,KAAOpF,KAAKN,QAAO2D,EAAOrD,KAAKN,MAAM0F,IAC3CA,GAA4B,iBAAdhB,IAAwBgB,EAAMhB,GAEjD,MAAMM,EAAW1E,KAAKwE,QAAQnB,EAAMvC,GAC9BuE,EAAerF,KAAKmF,QAAQ9B,EAAM,IACjCvC,EACH6D,MAAmB,YAAZQ,EAAwBR,EAAQD,EAAWC,EAClDS,QAGJ,OAAOpF,KAAKyD,KAAKJ,EAAM,IAChBvC,EACH6D,MAAmB,YAAZQ,EAAwBE,EAAeV,EAAQA,EACtDS,OAER,CAEA,OAAAD,CAAQ9B,EAAYvC,GAChB,IAAImE,EAAU,EAMd,OAJAjF,KAAKE,WAAW4B,SAAQwD,IACpBL,EAAUH,KAAKC,IAAIE,EAASK,EAASJ,KAAK7B,EAAMvC,GAAS,IAGtDmE,CACX,CAEA,YAAA9B,CAAaf,GACT,IAAIgB,EAAI,EAER,KAAOA,EAAIpD,KAAKM,OAAOoD,MAAM,CACzB,MAAM3B,EAAQ/B,KAAKO,UAAU6C,GAExBrB,EAAM8B,QAAQ0B,YAMnBnD,EAASL,EAAOqB,MALZpD,KAAKM,OAAOuB,OAAOE,EAAM8B,SACzB7D,KAAKO,UAAU4D,OAAOf,EAAG,GAKjC,CACJ,CAEA,IAAAK,CAAKJ,GAAYmC,SAAEA,EAAQb,MAAEA,EAAQ,EAACS,IAAEA,KAAQtE,IAC5C,GAAIuC,EAAKoB,QAAS,OAAO,EAEzB,IAAIQ,EAAU,EAYd,OAXAjF,KAAKmD,cAAa,CAACpB,EAAOqB,KAClBoC,GAAUzD,EAAM0D,QAEpB,MAAMC,EAAQ3D,EAAM0B,KAAKJ,EAAM,IACxBvC,EACH6D,MAAOA,EAAQG,KAAKE,IAAI5B,EAAGpD,KAAKD,aAAe,GAAKC,KAAKF,SAC1DsD,IAAMpD,KAAKM,OAAOoD,KAAO,IAAM1D,KAAKsC,SAAS,eAAgB8C,QAAOzB,GAEvEsB,EAAUH,KAAKC,IAAIE,EAASS,EAAM,IAG/BT,CACX,CAEA,UAAApF,CAAW8F,EAAsB7E,EAA6Bd,KAAKe,0BAC3Df,KAAKW,SAETX,KAAKO,UAAUuB,SAAQ,CAACC,EAAOqB,KAC3B,MAAMvC,MAAEA,GAAU8E,GAAQvC,EAAIuC,EAAKrF,OAAOoD,KAAOiC,EAAKpF,UAAU6C,GAAK,CAAA,EAErErB,EAAMlC,WAAWgB,EAAOC,EAAQ,IAGpCd,KAAKsC,SAAS,mBAClB,CAEA,YAAAsD,CAAajF,GACTX,KAAKO,UAAUuB,SAAQC,GAASA,EAAM8D,OAAOlF,KAC7CX,KAAKW,OAASA,EAEdX,KAAKE,WAAW4B,SAAQwD,GAAYA,EAASM,aAAajF,IAC9D,CAEA,IAAAiB,CAAKwC,GACDpE,KAAKO,UAAUuB,SAAQC,GAASA,EAAM0D,MAAMrB,IAChD"}
1
+ {"version":3,"file":"animator.js","sources":["../../src/core/animator.ts"],"sourcesContent":[null],"names":["Animator","constructor","id","clips","lifeCycleAnimations","deformCorrection","transition","stagger","staggerLimit","this","parent","dependents","Set","inherit","links","onDisposeLinks","tracks","trackList","initialStyles","eventListeners","state","delayUnmountUntil","isMounting","paused","timeout","frame","cache","options","ignoreScaleDeformation","undefined","defaultTransitionOptions","align","x","y","push","register","parentId","morph","clearTimeout","registerAnimator","registerAsMorph","getParentAnimator","add","key","mount","trigger","cancelAnimationFrame","tick","dispose","forEach","track","snapshot","stop","setTimeout","unregisterAnimator","deleteMorphTarget","delete","on","event","callback","off","dispatch","args","correct","requestAnimationFrame","bind","addLinks","animate","disposeLinks","extractAnimationLinks","link","forEachTrack","i","clip","Clip","composite","get","addTrack","element","index","HTMLElement","SVGElement","has","Track","animations","splice","name","mergeInitialStyles","styles","mode","reversed","map","reverse","filter","isEmpty","length","merged","backfaceVisibility","willChange","keyframes","offset","Object","assign","pretime","duration","delay","iterations","getConfig","Math","max","min","size","elapsed","opts","play","animation","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle","unmount","style","display"],"mappings":"+OAmBc,MAAOA,EAsCjB,WAAAC,EAAYC,GAAEA,EAAEC,MAAEA,EAAKC,oBAAEA,EAAmBC,iBAAEA,EAAgBC,WAAEA,EAAUC,QAAEA,EAAOC,aAAEA,IAnCrFC,KAAAC,OAA+B,KAC/BD,KAAAE,WAAiC,IAAIC,IACrCH,KAAAI,QAAyF,GAOzFJ,KAAAK,MAEI,CAAA,EACJL,KAAAM,eAAsC,KACtCN,KAAAO,OAAuB,IAAIJ,IAC3BH,KAAAQ,UAAqB,GAOrBR,KAAAS,cAGI,CAAA,EACJT,KAAAU,eAEI,CAAA,EACJV,KAAAW,MAAgD,YAChDX,KAAAY,kBAAoB,EACpBZ,KAAAa,YAAa,EACbb,KAAAc,QAAS,EACTd,KAAAe,QAAU,EACVf,KAAAgB,MAAQ,EAiBJ,MAAMC,MAAEA,KAAUC,GAAYrB,GAAc,CAAA,EAE5CG,KAAKP,GAAKA,EACVO,KAAKN,MAAQA,EACbM,KAAKL,oBAAsBA,EAC3BK,KAAKmB,4BAA8CC,IAArBxB,IAA0CA,EACxEI,KAAKqB,yBAA2BH,EAChClB,KAAKiB,MAAQA,GAAS,CAAC,IAAK,IAAK,KAAM,KAAM,SAAU,gBACvDjB,KAAKsB,MAAoC,iBAArB1B,EAAgCA,EAAmB,CAAE2B,EAAG,OAAQC,EAAG,OACvFxB,KAAKF,QAAUA,EACfE,KAAKD,aAAeA,OAEKqB,IAArBxB,GAAgCI,KAAKI,QAAQqB,KAAK,+BAC7BL,IAArBxB,GAAgCI,KAAKI,QAAQqB,KAAK,SACjD5B,GAAYG,KAAKI,QAAQqB,KAAK,4BAC9BR,GAAOjB,KAAKI,QAAQqB,KAAK,QAClC,CAEA,QAAAC,CAASC,EAAkBvB,EAA2BwB,GAQlD,GAPAC,aAAa7B,KAAKe,SAClBe,EAAiB9B,KAAKP,GAAIO,MACtB4B,GAAOG,EAAgBH,EAAO5B,KAAKP,IAEnCkC,IAAwB,IAAZvB,IACZJ,KAAKC,OAAS+B,EAAkBL,EAA6B,kBAAZvB,EAAwB,EAAIA,IAE7EJ,KAAKC,OAAQ,CACbD,KAAKC,OAAOC,WAAW+B,IAAIjC,MAG3B,IAAK,MAAMkC,KAAOlC,KAAKI,QAASJ,KAAKkC,GAAOlC,KAAKC,OAAOiC,EAC5D,CACJ,CAEA,KAAAC,GACuB,cAAfnC,KAAKW,OAAuBX,KAAKoC,QAAQ,SAE7CpC,KAAKW,MAAQ,UAEb0B,qBAAqBrC,KAAKgB,OAC1BhB,KAAKsC,MACT,CAEA,OAAAC,CAAQX,GACJ5B,KAAKM,mBACL+B,qBAAqBrC,KAAKgB,OAE1BhB,KAAKQ,UAAUgC,SAAQC,GAASA,EAAMxB,MAAQwB,EAAMC,aACpD1C,KAAKW,MAAQ,YACbX,KAAK2C,OAEL3C,KAAKe,QAAU6B,YAAW,KACtBC,EAAmB7C,KAAKP,IACpBmC,GAAOkB,EAAkBlB,EAAO5B,KAAKP,IACrCO,KAAKC,QAAQD,KAAKC,OAAOC,WAAW6C,OAAO/C,KAAK,GACrD,EACP,CAEA,EAAAgD,CAAqCC,EAAsBC,GACjDD,KAASjD,KAAKU,iBAAiBV,KAAKU,eAAeuC,GAAS,IAAI9C,KAEtEH,KAAKU,eAAeuC,GAAQhB,IAAIiB,EACpC,CAEA,GAAAC,CAAsCF,EAAsBC,GACxDlD,KAAKU,eAAeuC,IAAQF,OAAOG,EACvC,CAEA,QAAAE,CAASH,KAAyBI,GAC9BrD,KAAKU,eAAeuC,IAAQT,SAAQU,GAAYA,KAAYG,IAChE,CAEA,IAAAf,GACStC,KAAKc,QAAQd,KAAKQ,UAAUgC,SAAQC,IAChCzC,KAAKmB,wBAAwBsB,EAAMa,SAAS,IAGrDtD,KAAKgB,MAAQuC,sBAAsBvD,KAAKsC,KAAKkB,KAAKxD,MACtD,CAEA,QAAAyD,CAASC,GACL,MAAOrD,EAAOsD,GAAgBC,EAAsBF,GAAS,CAACxB,EAAK2B,KAC/D7D,KAAK8D,cAAa,CAACrB,EAAOsB,KACtB,MAAMC,EAAO,IAAIC,EAAK,IACfJ,EAAK3C,QACRgD,UAAW,WACXhC,CAACA,GAAM2B,EAAKM,IAAIJ,KAGpBtB,EAAMhB,KAAKuC,EAAK,GAClB,IAGNhE,KAAKK,MAAQA,EACbL,KAAKM,eAAiBqD,CAC1B,CAEA,QAAAS,CAASC,EAAcC,GACnB,KAAMD,aAAmBE,aAAeF,aAAmBG,aAAexE,KAAKO,OAAOkE,IAAIJ,GAAU,OAEpG,MAAM5B,EAAQ,IAAIiC,EAAML,EAASrE,KAAKiB,MAAOjB,KAAKsB,OAC9CqD,EAAa3E,KAAKL,oBAA2B,MAEjDK,KAAKO,OAAO0B,IAAIoC,GAChBrE,KAAKQ,UAAUoE,OAAON,EAAO,EAAG7B,GAEb,YAAfzC,KAAKW,OAAuBgE,GAAYA,EAAWnC,SAAQ,EAAEqC,EAAM3D,KAAauB,EAAMhB,KAAKzB,KAAKN,MAAMmF,GAAO3D,IAErH,CAEA,kBAAA4D,CAAmBC,EAAsBC,GACrC,GAAIA,KAAQhF,KAAKS,cAAe,OAAOT,KAAKS,cAAcuE,GAE1D,MAAMC,EAAoB,YAATD,EACXtF,GAASM,KAAKL,oBAAoBwC,OAAS,IAC5C+C,KAAI,EAAEL,EAAM3D,KAAa,CAAClB,KAAKN,MAAMmF,IAAQ3D,EAAQiE,UAAW,KAAWF,KAC3EG,QAAO,EAAEpB,MAAWA,EAAKqB,UAE9B,GAAI3F,EAAM4F,OAAQ,CACd,MAAMC,EAAS,CACXC,mBAAoB,SACpBC,WAAY,aAGhB,IAAK,MAAOzB,EAAMiB,KAAavF,EAAO,CAClC,MAAM4E,EAAQW,IAAajB,EAAKmB,QAAUnB,EAAK0B,UAAUJ,OAAS,EAAI,GAChEK,OAAEA,KAAWZ,GAAWf,EAAK0B,UAAUpB,GAE7CsB,OAAOC,OAAON,EAAQR,EAC1B,CAEAA,EAASa,OAAOC,OAAON,EAAQR,EACnC,MACQ/E,KAAKC,SACL8E,EAAS/E,KAAKC,OAAO6E,mBAAmBC,EAAQC,IAGxD,OAAOhF,KAAKS,cAAcuE,GAAQD,CACtC,CAEA,OAAAe,CAAQ9B,EAAY9C,GAChB,GAAI8C,EAAKqB,QAAS,OAAO,EAEzB,MAAMU,SAAEA,EAAQC,MAAEA,EAAKC,WAAEA,GAAejC,EAAKkC,UAAUhF,GACvD,OAAQ6E,EAAWE,EAAaD,GAAS,IAAOG,KAAKC,IAAID,KAAKE,IAAIrG,KAAKO,OAAO+F,KAAMtG,KAAKD,cAAgB,EAAG,GAAKC,KAAKF,OAC1H,CAEA,OAAAsC,CAAQY,EAAsB9B,EAA4B,IACtD,IAAIyD,EAAa3E,KAAKL,oBAAoBqD,GACtCuD,EAAU,EAId,OAFI5B,GAAYA,EAAWnC,SAAQ,EAAEqC,EAAM2B,KAAUD,EAAUJ,KAAKC,IAAIpG,KAAKyG,KAAK5B,EAAMe,OAAOC,OAAOW,EAAMtF,IAAWqF,KAEhHA,CACX,CAEA,IAAAE,CAAKC,GAAqBC,QAAEA,EAAU,UAASX,MAAEA,EAAQ,EAACY,IAAEA,KAAQ1F,GAA8B,IAC9F,GAAIlB,KAAKc,QAAWd,KAAKC,SAAW2G,EAAM,OAAO,EAEjD,IAAI5C,EAA4B,iBAAd0C,EAAyB1G,KAAKN,MAAMgH,GAAaA,EAC/DE,GAAOA,KAAO5G,KAAKN,QAAOsE,EAAOhE,KAAKN,MAAMkH,IAC3CA,GAA4B,iBAAdF,IAAwBE,EAAMF,GAEjD,MAAMX,EAAW/F,KAAK8F,QAAQ9B,EAAM9C,GAC9B2F,EAAe7G,KAAK2G,QAAQ3C,EAAM,IACjC9C,EACH8E,MAAmB,YAAZW,EAAwBX,EAAQD,EAAWC,EAClDY,QAGJ,OAAO5G,KAAKyB,KAAKuC,EAAM,IAChB9C,EACH8E,MAAmB,YAAZW,EAAwBE,EAAeb,EAAQA,EACtDY,OAER,CAEA,OAAAD,CAAQ3C,EAAY9C,GAChB,IAAIqF,EAAU,EAMd,OAJAvG,KAAKE,WAAWsC,SAAQsE,IACpBP,EAAUJ,KAAKC,IAAIG,EAASO,EAASL,KAAKzC,EAAM9C,GAAS,IAGtDqF,CACX,CAEA,YAAAzC,CAAaZ,GACT,IAAIa,EAAI,EAER,KAAOA,EAAI/D,KAAKO,OAAO+F,MAAM,CACzB,MAAM7D,EAAQzC,KAAKQ,UAAUuD,GAExBtB,EAAM4B,QAAQ0C,YAMnB7D,EAAST,EAAOsB,MALZ/D,KAAKO,OAAOwC,OAAON,EAAM4B,SACzBrE,KAAKQ,UAAUoE,OAAOb,EAAG,GAKjC,CACJ,CAEA,IAAAtC,CAAKuC,GAAYgD,SAAEA,EAAQhB,MAAEA,EAAQ,EAACY,IAAEA,KAAQ1F,IAC5C,GAAI8C,EAAKqB,QAAS,OAAO,EAEzB,IAAIkB,EAAU,EAYd,OAXAvG,KAAK8D,cAAa,CAACrB,EAAOsB,KAClBiD,GAAUvE,EAAMwE,QAEpB,MAAMC,EAAQzE,EAAMhB,KAAKuC,EAAM,IACxB9C,EACH8E,MAAOA,EAAQG,KAAKE,IAAItC,EAAG/D,KAAKD,aAAe,GAAKC,KAAKF,SAC1DiE,IAAM/D,KAAKO,OAAO+F,KAAO,EAAI,IAAMtG,KAAKoD,SAAS,eAAgBwD,QAAOxF,GAE3EmF,EAAUJ,KAAKC,IAAIG,EAASW,EAAM,IAG/BX,CACX,CAEA,UAAA1G,CAAWsH,EAAsBjG,EAA6BlB,KAAKqB,2BAC3DrB,KAAKc,QAAWd,KAAKiB,MAAMqE,SAE/BtF,KAAKQ,UAAUgC,SAAQ,CAACC,EAAOsB,KAC3B,MAAM9C,MAAEA,GAAUkG,GAAQpD,EAAIoD,EAAK5G,OAAO+F,KAAOa,EAAK3G,UAAUuD,GAAK,CAAA,EAErEtB,EAAM5C,WAAWoB,EAAOC,EAAQ,IAGpClB,KAAKoD,SAAS,mBAClB,CAEA,YAAAgE,CAAatG,GACTd,KAAKQ,UAAUgC,SAAQC,GAASA,EAAM4E,OAAOvG,KAC7Cd,KAAKc,OAASA,EAEdd,KAAKE,WAAWsC,SAAQsE,GAAYA,EAASM,aAAatG,IAC9D,CAEA,IAAA6B,CAAK+D,GACD1G,KAAKQ,UAAUgC,SAAQC,GAASA,EAAMwE,MAAMP,IAChD,CAEA,OAAAY,GACItH,KAAKQ,UAAUgC,SAAQC,GAASA,EAAM4B,QAAQkD,MAAMC,QAAU,QAClE"}
package/dist/core/clip.js CHANGED
@@ -1,2 +1,2 @@
1
- import{parseClipKeyframes as e}from"./utils.js";class t{constructor({duration:t=.5,delay:s=0,repeat:i=1,alternate:a=!1,reverse:r=!1,easing:n="ease",composite:o="none",...l},c={}){this.duration=t,this.delay=s,this.repeat=i,this.alternate=a,this.reverse=r,this.easing=n,this.composite=o,this.keyframes=e(l,c),this.isEmpty=!this.keyframes.length}getConfig({delay:e=0,repeat:t=this.repeat,alternate:s=this.alternate,reverse:i=this.reverse,composite:a=this.composite,commit:r=!0}){return{duration:1e3*this.duration,delay:1e3*(this.delay+e),iterations:t,directions:s?i?"alternate-reverse":"alternate":i?"reverse":"normal",easing:this.easing,composite:"combine"===a?"accumulate":"replace",blendmode:a,commit:r}}static mergeInitialStyles(e,t){const s={backfaceVisibility:"hidden",willChange:"transform"};for(const t of e)if(!t.isEmpty){const{offset:e,...i}=t.keyframes[0];Object.assign(s,i)}return Object.assign(s,t)}}export{t as default};
1
+ import{parseClipKeyframes as e}from"./utils.js";class t{constructor({duration:t=.5,delay:s=0,repeat:i=1,alternate:a=!1,reverse:r=!1,easing:o="ease",composite:n="none",...l},h={}){this.duration=t,this.delay=s,this.repeat=i,this.alternate=a,this.reverse=r,this.easing=o,this.composite=n,this.keyframes=e(l,h),this.isEmpty=!this.keyframes.length}getConfig({delay:e=0,repeat:t=this.repeat,alternate:s=this.alternate,reverse:i=this.reverse,composite:a=this.composite,commit:r=!0}){return{duration:1e3*this.duration,delay:1e3*(this.delay+e),iterations:t,direction:s?i?"alternate-reverse":"alternate":i?"reverse":"normal",easing:this.easing,composite:"combine"===a?"accumulate":"replace",fill:"both",blendmode:a,commit:r}}}export{t as default};
2
2
  //# sourceMappingURL=clip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clip.js","sources":["../../src/core/clip.ts"],"sourcesContent":[null],"names":["Clip","constructor","duration","delay","repeat","alternate","reverse","easing","composite","keyframes","initial","this","parseClipKeyframes","isEmpty","length","getConfig","commit","iterations","directions","blendmode","mergeInitialStyles","clips","styles","merged","backfaceVisibility","willChange","clip","offset","Object","assign"],"mappings":"gDAoCc,MAAOA,EAYjB,WAAAC,EAAYC,SACRA,EAAW,GAAEC,MACbA,EAAQ,EAACC,OACTA,EAAS,EAACC,UACVA,GAAY,EAAKC,QACjBA,GAAU,EAAKC,OACfA,EAAS,OAAMC,UACfA,EAAY,UACTC,GACSC,EAAwB,IACpCC,KAAKT,SAAWA,EAChBS,KAAKR,MAAQA,EACbQ,KAAKP,OAASA,EACdO,KAAKN,UAAYA,EACjBM,KAAKL,QAAUA,EACfK,KAAKJ,OAASA,EACdI,KAAKH,UAAYA,EAEjBG,KAAKF,UAAYG,EAAmBH,EAAWC,GAC/CC,KAAKE,SAAWF,KAAKF,UAAUK,MACnC,CAEA,SAAAC,EAAUZ,MACNA,EAAQ,EAACC,OACTA,EAASO,KAAKP,OAAMC,UACpBA,EAAYM,KAAKN,UAASC,QAC1BA,EAAUK,KAAKL,QAAOE,UACtBA,EAAYG,KAAKH,UAASQ,OAC1BA,GAAS,IAGT,MAAO,CACHd,SAA0B,IAAhBS,KAAKT,SACfC,MAA8B,KAAtBQ,KAAKR,MAAQA,GACrBc,WAAYb,EACZc,WAAYb,EACPC,EAAU,oBAA+B,YACzCA,EAAU,UAAqB,SACpCC,OAAQI,KAAKJ,OACbC,UAAyB,YAAdA,EAA0B,aAAwB,UAC7DW,UAAWX,EACXQ,SAER,CAEA,yBAAOI,CAAmBC,EAAeC,GACrC,MAAMC,EAAS,CACXC,mBAAoB,SACpBC,WAAY,aAGhB,IAAK,MAAMC,KAAQL,EACf,IAAKK,EAAKb,QAAS,CACf,MAAMc,OAAEA,KAAWL,GAAWI,EAAKjB,UAAU,GAC7CmB,OAAOC,OAAON,EAAQD,EAC1B,CAGJ,OAAOM,OAAOC,OAAON,EAAQD,EACjC"}
1
+ {"version":3,"file":"clip.js","sources":["../../src/core/clip.ts"],"sourcesContent":[null],"names":["Clip","constructor","duration","delay","repeat","alternate","reverse","easing","composite","keyframes","initial","this","parseClipKeyframes","isEmpty","length","getConfig","commit","iterations","direction","fill","blendmode"],"mappings":"gDAoCc,MAAOA,EAYjB,WAAAC,EAAYC,SACRA,EAAW,GAAEC,MACbA,EAAQ,EAACC,OACTA,EAAS,EAACC,UACVA,GAAY,EAAKC,QACjBA,GAAU,EAAKC,OACfA,EAAS,OAAMC,UACfA,EAAY,UACTC,GACSC,EAAwB,IACpCC,KAAKT,SAAWA,EAChBS,KAAKR,MAAQA,EACbQ,KAAKP,OAASA,EACdO,KAAKN,UAAYA,EACjBM,KAAKL,QAAUA,EACfK,KAAKJ,OAASA,EACdI,KAAKH,UAAYA,EAEjBG,KAAKF,UAAYG,EAAmBH,EAAWC,GAC/CC,KAAKE,SAAWF,KAAKF,UAAUK,MACnC,CAEA,SAAAC,EAAUZ,MACNA,EAAQ,EAACC,OACTA,EAASO,KAAKP,OAAMC,UACpBA,EAAYM,KAAKN,UAASC,QAC1BA,EAAUK,KAAKL,QAAOE,UACtBA,EAAYG,KAAKH,UAASQ,OAC1BA,GAAS,IAGT,MAAO,CACHd,SAA0B,IAAhBS,KAAKT,SACfC,MAA8B,KAAtBQ,KAAKR,MAAQA,GACrBc,WAAYb,EACZc,UAAWb,EACNC,EAAU,oBAA+B,YACzCA,EAAU,UAAqB,SACpCC,OAAQI,KAAKJ,OACbC,UAAyB,YAAdA,EAA0B,aAAwB,UAC7DW,KAAM,OACNC,UAAWZ,EACXQ,SAER"}
@@ -1,2 +1,2 @@
1
- const t=new Map,n=new Map,e=new Map;function o(n,e){let o=t.get(n)||null;for(let t=0;t<e;t++){if(!o)return null;o=o.parent}return o}function u(n){return t.has(n)}function i(n,e){t.set(n,e)}function r(n){t.delete(n)}function c(t,e){const o=n.get(t)||{animators:new Set,skipInitialMount:e};return n.set(t,o),o}function s(t){n.delete(t)}function f(t,e){const o=n.get(t);return!!o&&(o.animators.add(e),o.skipInitialMount)}function a(t,e){const o=n.get(t);o&&o.animators.delete(e)}function l(n,e){n.forEach((n=>{const o=t.get(n);o&&e(o)}))}function d(t,n){const o=e.get(t)||new Set;o.add(n),e.set(t,o)}function g(t,n){const o=e.get(t);if(!o)return null;for(const t of o)if(t&&t.id!==n&&"unmounted"===t.state)return t;return null}function p(t,n,o=0){const u=e.get(t);return u&&o?setTimeout((()=>u.delete(n))):(u&&u.delete(n),0)}export{p as deleteMorphTarget,l as forEachAnimator,g as getMorphTarget,o as getParentAnimator,u as isRegistered,i as registerAnimator,d as registerAsMorph,c as registerLayoutGroup,f as registerToLayoutGroup,r as unregisterAnimator,a as unregisterFromLayoutGroup,s as unregisterLayoutGroup};
1
+ const t=new Map,n=new Map,e=new Map;function o(n,e){let o=t.get(n)||null;for(let t=0;t<e;t++){if(!o)return null;o=o.parent}return o}function u(n,e){t.set(n,e)}function i(n){t.delete(n)}function r(t,e){const o=n.get(t)||{animators:new Set,skipInitialMount:e};return n.set(t,o),o}function c(t){n.delete(t)}function s(t,e){const o=n.get(t);return!!o&&(o.animators.add(e),o.skipInitialMount)}function f(t,e){const o=n.get(t);o&&o.animators.delete(e)}function a(n,e){n.forEach((n=>{const o=t.get(n);o&&e(o)}))}function l(t,n){const o=e.get(t)||new Set;o.add(n),e.set(t,o)}function d(n,o){const u=e.get(n);if(!u)return null;for(const n of u){const e=t.get(n);if(e&&e.id!==o&&"mounted"!==e.state)return e}return null}function g(t,n){const o=e.get(t);return o&&o.delete(n),0}export{g as deleteMorphTarget,a as forEachAnimator,d as getMorphTarget,o as getParentAnimator,u as registerAnimator,l as registerAsMorph,r as registerLayoutGroup,s as registerToLayoutGroup,i as unregisterAnimator,f as unregisterFromLayoutGroup,c as unregisterLayoutGroup};
2
2
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sources":["../../src/core/state.ts"],"sourcesContent":[null],"names":["registeredAnimators","Map","registeredLayoutGroups","morphGroups","getParentAnimator","id","stepsRemoved","parent","get","i","isRegistered","has","registerAnimator","animator","set","unregisterAnimator","delete","registerLayoutGroup","skipInitialMount","data","animators","Set","unregisterLayoutGroup","registerToLayoutGroup","layoutId","layoutGroup","add","unregisterFromLayoutGroup","forEachAnimator","ids","callback","forEach","registerAsMorph","morphId","group","getMorphTarget","receiverId","targets","state","deleteMorphTarget","delay","setTimeout"],"mappings":"AAEA,MAAMA,EAAsB,IAAIC,IAE1BC,EAAyB,IAAID,IAK7BE,EAAc,IAAIF,IAElB,SAAUG,EAAkBC,EAAYC,GAC1C,IAAIC,EAASP,EAAoBQ,IAAIH,IAAO,KAE5C,IAAK,IAAII,EAAI,EAAGA,EAAIH,EAAcG,IAAK,CACnC,IAAKF,EAAQ,OAAO,KAEpBA,EAASA,EAAOA,MACpB,CAEA,OAAOA,CACX,CAEM,SAAUG,EAAaL,GACzB,OAAOL,EAAoBW,IAAIN,EACnC,CAEM,SAAUO,EAAiBP,EAAYQ,GACzCb,EAAoBc,IAAIT,EAAIQ,EAChC,CAEM,SAAUE,EAAmBV,GAC/BL,EAAoBgB,OAAOX,EAC/B,CAEM,SAAUY,EAAoBZ,EAAYa,GAC5C,MAAMC,EAAOjB,EAAuBM,IAAIH,IAAO,CAC3Ce,UAAW,IAAIC,IACfH,oBAKJ,OAFAhB,EAAuBY,IAAIT,EAAIc,GAExBA,CACX,CAGM,SAAUG,EAAsBjB,GAClCH,EAAuBc,OAAOX,EAClC,CAEM,SAAUkB,EAAsBC,EAAkBnB,GACpD,MAAMoB,EAAcvB,EAAuBM,IAAIgB,GAE/C,QAAIC,IACAA,EAAYL,UAAUM,IAAIrB,GACnBoB,EAAYP,iBAI3B,CAEM,SAAUS,EAA0BH,EAAkBnB,GACxD,MAAMoB,EAAcvB,EAAuBM,IAAIgB,GAE3CC,GAAaA,EAAYL,UAAUJ,OAAOX,EAClD,CAEM,SAAUuB,EAAgBC,EAAkBC,GAC9CD,EAAIE,SAAQ1B,IACR,MAAMQ,EAAWb,EAAoBQ,IAAIH,GACrCQ,GAAUiB,EAASjB,EAAS,GAExC,CAEM,SAAUmB,EAAgBC,EAAiBpB,GAC7C,MAAMqB,EAAQ/B,EAAYK,IAAIyB,IAAY,IAAIZ,IAC9Ca,EAAMR,IAAIb,GAEVV,EAAYW,IAAImB,EAASC,EAC7B,CAEM,SAAUC,EAAeF,EAAiBG,GAC5C,MAAMC,EAAUlC,EAAYK,IAAIyB,GAChC,IAAKI,EAAS,OAAO,KAErB,IAAK,MAAMxB,KAAYwB,EACnB,GAAIxB,GAAYA,EAASR,KAAO+B,GAAiC,cAAnBvB,EAASyB,MAAuB,OAAOzB,EAGzF,OAAO,IACX,CAEM,SAAU0B,EAAkBN,EAAiBpB,EAAyB2B,EAAQ,GAChF,MAAMN,EAAQ/B,EAAYK,IAAIyB,GAC9B,OAAIC,GAASM,EAAcC,YAAW,IAAMP,EAAMlB,OAAOH,MACrDqB,GAAOA,EAAMlB,OAAOH,GAEjB,EACX"}
1
+ {"version":3,"file":"state.js","sources":["../../src/core/state.ts"],"sourcesContent":[null],"names":["registeredAnimators","Map","registeredLayoutGroups","morphGroups","getParentAnimator","id","stepsRemoved","parent","get","i","registerAnimator","animator","set","unregisterAnimator","delete","registerLayoutGroup","skipInitialMount","data","animators","Set","unregisterLayoutGroup","registerToLayoutGroup","layoutId","layoutGroup","add","unregisterFromLayoutGroup","forEachAnimator","ids","callback","forEach","registerAsMorph","morphId","group","getMorphTarget","receiverId","targets","state","deleteMorphTarget"],"mappings":"AAEA,MAAMA,EAAsB,IAAIC,IAE1BC,EAAyB,IAAID,IAK7BE,EAAc,IAAIF,IAElB,SAAUG,EAAkBC,EAAYC,GAC1C,IAAIC,EAASP,EAAoBQ,IAAIH,IAAO,KAE5C,IAAK,IAAII,EAAI,EAAGA,EAAIH,EAAcG,IAAK,CACnC,IAAKF,EAAQ,OAAO,KAEpBA,EAASA,EAAOA,MACpB,CAEA,OAAOA,CACX,CAEM,SAAUG,EAAiBL,EAAYM,GACzCX,EAAoBY,IAAIP,EAAIM,EAChC,CAEM,SAAUE,EAAmBR,GAC/BL,EAAoBc,OAAOT,EAC/B,CAEM,SAAUU,EAAoBV,EAAYW,GAC5C,MAAMC,EAAOf,EAAuBM,IAAIH,IAAO,CAC3Ca,UAAW,IAAIC,IACfH,oBAKJ,OAFAd,EAAuBU,IAAIP,EAAIY,GAExBA,CACX,CAGM,SAAUG,EAAsBf,GAClCH,EAAuBY,OAAOT,EAClC,CAEM,SAAUgB,EAAsBC,EAAkBjB,GACpD,MAAMkB,EAAcrB,EAAuBM,IAAIc,GAE/C,QAAIC,IACAA,EAAYL,UAAUM,IAAInB,GACnBkB,EAAYP,iBAI3B,CAEM,SAAUS,EAA0BH,EAAkBjB,GACxD,MAAMkB,EAAcrB,EAAuBM,IAAIc,GAE3CC,GAAaA,EAAYL,UAAUJ,OAAOT,EAClD,CAEM,SAAUqB,EAAgBC,EAAkBC,GAC9CD,EAAIE,SAAQxB,IACR,MAAMM,EAAWX,EAAoBQ,IAAIH,GACrCM,GAAUiB,EAASjB,EAAS,GAExC,CAEM,SAAUmB,EAAgBC,EAAiB1B,GAC7C,MAAM2B,EAAQ7B,EAAYK,IAAIuB,IAAY,IAAIZ,IAC9Ca,EAAMR,IAAInB,GAEVF,EAAYS,IAAImB,EAASC,EAC7B,CAEM,SAAUC,EAAeF,EAAiBG,GAC5C,MAAMC,EAAUhC,EAAYK,IAAIuB,GAChC,IAAKI,EAAS,OAAO,KAErB,IAAK,MAAM9B,KAAM8B,EAAS,CACtB,MAAMxB,EAAWX,EAAoBQ,IAAIH,GACzC,GAAIM,GAAYA,EAASN,KAAO6B,GAAiC,YAAnBvB,EAASyB,MAAqB,OAAOzB,CACvF,CAEA,OAAO,IACX,CAEM,SAAU0B,EAAkBN,EAAiB1B,GAC/C,MAAM2B,EAAQ7B,EAAYK,IAAIuB,GAG9B,OAFIC,GAAOA,EAAMlB,OAAOT,GAEjB,CACX"}
@@ -1,2 +1,2 @@
1
- import t from"./clip.js";import{clampLowerBound as e,scaleCorrectShadow as s,scaleCorrectRadius as i}from"./utils.js";class n{constructor(t,e){this.scale=[1,1],this.correctionAnimation=null,this.queue=[],this.animations=[],this.active=0,this.element=t,this.shouldCache=e,this.styles=getComputedStyle(t),this.cache=this.snapshot(),this.corrected={borderRadius:this.styles.borderRadius,boxShadow:this.styles.boxShadow}}snapshot(){const t={x:0,y:0,sx:1,sy:1};if(this.element instanceof SVGElement)return t;for(const e of this.shouldCache)t[e]=this.styles[e];const{width:e,height:s,x:i,y:n}=this.element.getBoundingClientRect();t.sx=e,t.sy=s,t.x=i+e/2,t.y=n+s/2;let a=this.element;for(;a=a?.parentElement;)if(a.dataset.lively){const{x:e,y:s}=a.getBoundingClientRect();t.x-=e,t.y-=s;break}return t}push(t,e={},s){const{commit:i,blendmode:n,...a}=t.getConfig(e),o=this.element.animate(t.keyframes,a);return o.name=e.tag,o.blendmode=n,o.onfinish=()=>{try{i&&o.commitStyles()}catch{}finally{o.cancel(),this.advance(),s?.()}},this.active&&"none"===n?(o.pause(),this.queue.push(o),0):(this.animations.push(o),"none"===n&&this.active++,(a.duration*a.iterations+a.delay)/1e3)}advance(){--this.active>0||(this.animations=this.animations.filter((t=>"running"===t.playState)),this.animations.push(...this.queue.splice(0,1)),this.active=this.animations.filter((t=>"none"===t.blendmode)).length,this.animations.length||this.correct())}transition(s=this.cache,i={}){const n=this.snapshot(),a=i,o=[1,1],h=[0,0];for(const t of this.shouldCache)switch(t){case"x":case"y":h["x"===t?0:1]=s[t]-n[t];break;case"sx":case"sy":o["sx"===t?0:1]=s[t]/e(n[t]);break;case"borderRadius":case"boxShadow":a[t]=[s[t],n[t]];break;default:a[t]=[s[t],null]}a.scale=[o.join(" "),null],a.translate=[h.map((t=>`${t}px`)).join(" "),null];const l=new t(a);l.isEmpty||(this.cache=n,this.push(l,{commit:!1,composite:"override"}))}clear(t){this.active&&(this.animations.forEach((e=>{if(!t||e.name===t){e.onfinish=null;try{e.finish()}catch{e.cancel()}}})),this.animations=this.animations.filter((t=>"running"===t.playState)),this.active=this.animations.filter((t=>"none"===t.blendmode)).length)}toggle(t){this.animations.forEach((e=>e[t?"pause":"play"]()))}correct(){for(let t=0;t<this.element.children.length;t++){const e=this.element.children[t],s=e.offsetLeft,i=e.offsetTop,n=e.offsetWidth,a=e.offsetHeight,[o,h]=this.scale,[l,c]=getComputedStyle(e).translate.split(" ").map(parseFloat);e.style.transform=`translate(${-l||0}px, ${-c||0}px) scale(${1/o}, ${1/h}) translate(${s*(1-o)+n/2*(1-o)+(l||0)}px, ${i*(1-h)+a/2*(1-h)+(c||0)}px)`}if(this.element instanceof SVGElement||"0px"===this.styles.borderRadius&&"none"===this.styles.boxShadow)return;this.correctionAnimation?.cancel();const t=this.styles.borderRadius!==this.corrected.borderRadius?[1,1]:this.scale,n=this.styles.boxShadow!==this.corrected.boxShadow?[1,1]:this.scale,{width:a,height:o}=this.element.getBoundingClientRect();this.scale=[a/e(this.element.offsetWidth),o/e(this.element.offsetHeight)],this.corrected={borderRadius:i(this.styles.borderRadius,this.scale,t),boxShadow:s(this.styles.boxShadow,this.scale,n)},this.correctionAnimation=this.element.animate(this.corrected,{duration:0,fill:"forwards"})}}export{n as default};
1
+ import t from"./clip.js";import{getElementBounds as s,clampLowerBound as e,correctForParentScale as i,scaleCorrectShadow as n,scaleCorrectRadius as a}from"./utils.js";class o{constructor(t,s,e){this.scale=[1,1],this.correctionAnimation=null,this.queue=[],this.animations=[],this.active=0,this.timeout=0,this.correctAfterEnded=!0,this.element=t,this.shouldCache=s,this.align=e,this.styles=getComputedStyle(t),this.cache=this.snapshot(),this.correct()}snapshot(){const t={x:0,y:0,sx:1,sy:1};if(this.element instanceof SVGElement)return t;for(const s of this.shouldCache)t[s]=this.styles[s];const{x:e,y:i,width:n,height:a}=s(this.element);return t.sx=n,t.sy=a,t.x=e,t.y=i,t}push(t,s={},e){const{commit:i,blendmode:n,...a}=t.getConfig(s),o=this.element.animate(t.keyframes,a);return o.name=s.tag,o.blendmode=n,o.onfinish=()=>{try{i&&o.commitStyles()}catch{}finally{o.cancel(),this.advance(),e?.()}},this.active&&"none"===n?(o.pause(),this.queue.push(o),0):(this.animations.push(o),"none"===n&&this.active++,(a.duration*a.iterations+a.delay)/1e3)}advance(){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.cache=this.snapshot()),1/120),--this.active>0||(this.animations=this.animations.filter((t=>"running"===t.playState)),this.animations.push(...this.queue.splice(0,1)),this.active=this.animations.filter((t=>"none"===t.blendmode)).length,this.correctAfterEnded=!0)}transition(s=this.cache,i={}){const n=this.snapshot(),a={composite:"override",...i},o=[1,1],h=[0,0];for(const t of this.shouldCache)switch(t){case"x":case"y":h["x"===t?0:1]=s[t]-n[t];break;case"sx":case"sy":o["sx"===t?0:1]=s[t]/e(n[t]);break;default:a[t]=[s[t],n[t]]}[new t(a),new t({scale:[o.join(" "),null],translate:[h.map((t=>`${t}px`)).join(" "),null],composite:"combine",...i})].filter((t=>!t.isEmpty)).forEach((t=>this.push(t,{commit:!1}))),this.cache=n}clear(t){this.animations.forEach((s=>{if(!t||s.name===t){s.onfinish=null;try{s.finish()}catch{s.cancel()}}})),this.animations=this.animations.filter((t=>"running"===t.playState)),this.active=this.animations.filter((t=>"none"===t.blendmode)).length}toggle(t){this.animations.forEach((s=>s[t?"pause":"play"]()))}correct(){if(this.element instanceof SVGElement)return;const t=(/none|0px/.test(this.styles.translate)?"0 0":this.styles.translate).split(" ").map(parseFloat);if(i(this.element,t,this.align),!this.animations.length&&!this.correctAfterEnded)return;this.correctAfterEnded=!1,this.correctionAnimation?.cancel(),this.scale=s(this.element).scale;const e={borderRadius:a(this.styles.borderRadius,this.scale),boxShadow:n(this.styles.boxShadow,this.scale)};e.borderRadius===this.styles.borderRadius&&e.boxShadow===this.styles.boxShadow||(this.correctionAnimation=this.element.animate(e,{duration:0,fill:"forwards"}))}}export{o as default};
2
2
  //# sourceMappingURL=track.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"track.js","sources":["../../src/core/track.ts"],"sourcesContent":[null],"names":["Track","constructor","element","shouldCache","this","scale","correctionAnimation","queue","animations","active","styles","getComputedStyle","cache","snapshot","corrected","borderRadius","boxShadow","data","x","y","sx","sy","SVGElement","key","width","height","getBoundingClientRect","parent","parentElement","dataset","lively","push","clip","options","onEnded","commit","blendmode","config","getConfig","animation","animate","keyframes","name","tag","onfinish","commitStyles","cancel","advance","pause","duration","iterations","delay","filter","playState","splice","length","correct","transition","from","translate","clampLowerBound","join","map","num","Clip","isEmpty","composite","clear","forEach","entry","finish","toggle","paused","i","children","child","l","offsetLeft","t","offsetTop","w","offsetWidth","h","offsetHeight","tx","ty","split","parseFloat","style","transform","previousRadiusScale","previousShadowScale","scaleCorrectRadius","scaleCorrectShadow","fill"],"mappings":"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"}
1
+ {"version":3,"file":"track.js","sources":["../../src/core/track.ts"],"sourcesContent":[null],"names":["Track","constructor","element","shouldCache","align","this","scale","correctionAnimation","queue","animations","active","timeout","correctAfterEnded","styles","getComputedStyle","cache","snapshot","correct","data","x","y","sx","sy","SVGElement","key","width","height","getElementBounds","push","clip","options","onEnded","commit","blendmode","config","getConfig","animation","animate","keyframes","name","tag","onfinish","commitStyles","cancel","advance","pause","duration","iterations","delay","clearTimeout","setTimeout","filter","playState","splice","length","transition","from","composite","translate","clampLowerBound","Clip","join","map","num","isEmpty","forEach","clear","entry","finish","toggle","paused","offset","test","split","parseFloat","correctForParentScale","corrected","borderRadius","scaleCorrectRadius","boxShadow","scaleCorrectShadow","fill"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{isValidElement as t}from"react";import n from"./clip.js";import o from"./animation-link.js";const e=1e-4,r=(t,n=8)=>Math.sign(t)*Math.max(Math.abs(t),1/Math.pow(10,n)),s=t=>Array.isArray(t)?t:[t];function i(...t){return n=>{t.forEach((t=>{t&&"current"in t&&(t.current=n),t instanceof Function&&t(n)}))}}function f(...t){const n={};for(const o of t)Object.assign(n,o);return"strokeLength"in n&&(n.strokeDashoffset=2-n.strokeLength,delete n.strokeLength),"strokeDashoffset"in n&&(n.strokeDasharray=2),n}function c(t,n){for(const o in t){const e=t[o];if("object"!=typeof e)continue;const{on:r,...s}="on"in e?e:{on:e};n(o,r,s)}}function a(t){const n={};return c(t,((t,o)=>{n[t]=o})),n}function u(t,n){return t.forEach(((t,o)=>{if(t!==n[o]&&!1!==n[o])return!0})),!1}function l(t){const n={};return c(t,((t,o)=>{["mount","unmount"].forEach((e=>{o.includes(e)&&(e in n||(n[e]=[]),n[e].push(t))}))})),n}function h(t){let n,o=[],r=0;for(let s=0;s<t.length;s++){const i=t[s],f=Math.round(s/(t.length-1)/e)*e;if(null===i)continue;const c="object"!=typeof i?{offset:f,to:i}:i;"offset"in c||(c.offset=f),o.push(c);const a=c.to||c.after;n===a&&r++,n=a}return r===o.length?null:o}function p(t,n,o,e){t.has(n)||t.set(n,{offset:n});const r=t.get(n);if("strokeLength"===o)return r.strokeDashoffset=2-e;r[o]=e}function g(t,n){const r=new Map;for(const s in t){const i=t[s];if(i instanceof o)continue;const f=Array.isArray(i)?i:[i];f.length<2&&f.unshift(n[s]??null);const c=h(f);if(c)for(let{to:t,after:n,offset:o}of c)void 0!==n&&(1===o&&(o-=e),p(r,o+e,s,n)),void 0!==t&&p(r,o,s,t)}return Array.from(r.values()).sort(((t,n)=>t.offset-n.offset))}function m(t,n,o){const e=t.split(/\s*\/\s*/);return e.length<2&&(e[1]=e[0]),e.map(((t,e)=>t.split(" ").map((t=>parseFloat(t)*o[e]/n[e]+(t.match(/[^\d\.]+$/)?.[0]||"px"))).join(" "))).join("/")}function y(t,n,o){const[e,r,s]=t.split(/(?<=px),\s?/)[0].split(/(?<=\))\s|\s(?=inset)/);if(!r)return"";const[i,f,c,a]=r.split(" ").map(parseFloat),u=Math.max(...o)/Math.max(...n),l=new Array(3).fill([i*o[0]/n[0],f*o[1]/n[1],c*u,a*u]);return n[0]<n[1]?(l[1][0]-=1/n[0],l[2][0]+=1/n[0]):(l[1][1]-=1/n[1],l[2][1]+=1/n[1]),l.map((t=>`${e} ${t.map((t=>`${t}px`)).join(" ")}${s?" inset":""}`)).join(", ")}function d(n,o,e="_la"){const r=Array.isArray(n)?n:[n];for(let n=0;n<r.length;n++){if(!t(r[n]))continue;const{props:s,key:i}=r[n],f=e+(null!==i?`${i}_`:n);"object"==typeof s.triggers&&(s.triggers._livelyId=f,o.delete(f)),d(s.children,o,f)}return o}const j={duration:0,delay:1,repeat:2,alternate:3,reverse:4,easing:5,composite:6};function k(t,e){const r={},s=[];if(!(t instanceof n))for(const n in t){let i=t[n];"object"==typeof i||n in j||(i=new o(i)),i instanceof o&&(s.push(i.on("change",(()=>e(n,i)))),r[n]=i)}return[r,()=>s.forEach((t=>t()))]}function A(t,n){const o={};for(const e in t)o[e]=t[e].get(n);return o}export{j as ClipConfigKeys,p as addKeyframeEntry,s as asArray,r as clampLowerBound,k as extractAnimationLinks,d as filterRemovedAnimators,c as forEachTrigger,A as getInitialStyleFromLinks,l as getLifeCycleAnimations,e as keyframeEpsilon,i as mergeRefs,f as mergeStyles,g as parseClipKeyframes,m as scaleCorrectRadius,y as scaleCorrectShadow,a as serializeTriggers,u as shouldTrigger,h as transformKeyframeList};
1
+ import{isValidElement as t}from"react";import n from"./clip.js";import e from"./animation-link.js";import{getParentAnimator as o}from"./state.js";const s=1e-4;function r(t,n=8){const e=1/Math.pow(10,n);return isNaN(t)?e:(t<0?-1:1)*Math.max(Math.abs(t),e)}const i=t=>Array.isArray(t)?t:[t];function f(...t){return n=>{t.forEach((t=>{t&&"current"in t&&(t.current=n),t instanceof Function&&t(n)}))}}function a(...t){const n={};for(const e of t)Object.assign(n,e);return"strokeLength"in n&&(n.strokeDashoffset=2-n.strokeLength,delete n.strokeLength),"strokeDashoffset"in n&&(n.strokeDasharray=2),n}function c(t,n){for(const e in t){if("_livelyId"===e)continue;const o=[];n(e,t[e].map((t=>{const{on:n,...e}="object"==typeof t&&"on"in t?t:{on:t};return o.push(e),n})),o)}}function l(t){const n={};return c(t,((t,e)=>{n[t]=e})),n}function u(t){const n={};return c(t,((t,e,o)=>{["mount","unmount"].forEach((s=>{const r=e.indexOf(s);r<0||(s in n||(n[s]=[]),n[s].push([t,o[r]]))}))})),n}function p(t){let n,e=[],o=0;for(let r=0;r<t.length;r++){const i=t[r],f=Math.round(r/(t.length-1)/s)*s;if(null===i)continue;const a="object"!=typeof i?{offset:f,to:i}:i;"offset"in a||(a.offset=f),e.push(a);const c=a.to??a.after;n===c&&o++,n=c}return o===e.length?null:e}function h(t,n,e,o){t.has(n)||t.set(n,{offset:n});const s=t.get(n);if("strokeLength"===e)return s.strokeDashoffset=2-o;s[e]=o}function m(t,n){const o=new Map;for(const r in t){const i=t[r];if(i instanceof e)continue;const f=Array.isArray(i)?i:[i];f.length<2&&f.unshift(n[r]??null);const a=p(f);if(a)for(let{to:t,after:n,offset:e}of a)void 0!==n&&(1===e&&(e-=s),h(o,e+s,r,n)),void 0!==t&&h(o,e,r,t)}return Array.from(o.values()).sort(((t,n)=>t.offset-n.offset))}function g(t,n=[0,0]){if(!t||"none"===t)return n;const e=t.split(/\s+/).map(parseFloat);return e.length<2&&(e[1]=e[0]),e}function y(t){let n=.5*t.offsetWidth,e=.5*t.offsetHeight,o=1,s=1,i=t,f=!1;for(;i instanceof HTMLElement;){i!==t&&i.dataset.lively&&(f=!0);const{transform:r,scale:a,translate:c}=getComputedStyle(i),[l,u]=r.match(/^matrix(?:3d)?\((.+)\)$/)||[];if(u){const[t,r,i,a,c,l]=u.split(",").map(parseFloat);o*=Math.sqrt(t*t+r*r),s*=Math.sqrt(i*i+a*a),f||(n+=c,e+=l)}const[p,h]=g(a,[1,1]);if(o*=p,s*=h,!f){const[t,o]=g(c);n+=i.offsetLeft+t,e+=i.offsetTop+o}i=i.parentElement}return{scale:[r(o),r(s)],width:t.offsetWidth*o,height:t.offsetHeight*s,x:n,y:e}}function d(t,n){if(/^\s*$|0px/.test(t))return t;const e=t.split(/\s*\/\s*/);return e.length<2&&(e[1]=e[0]),e.map(((t,e)=>t.split(" ").map((t=>parseFloat(t)/n[e]+(t.match(/[^\d\.]+$/)?.[0]||"px"))).join(" "))).join("/")}function x(t,n){if(/^\s*$|none/.test(t))return t;const[e,o,s]=t.split(/(?<=px),\s?/)[0].split(/(?<=\))\s|\s(?=inset)/);if(!o)return"";const[r,i,f,a]=o.split(" ").map(parseFloat),c=1/Math.max(...n),l=new Array(3).fill([r/n[0],i/n[1],f*c,a*c]);return n[0]<n[1]?(l[1][0]-=1/n[0],l[2][0]+=1/n[0]):(l[1][1]-=1/n[1],l[2][1]+=1/n[1]),l.map((t=>`${e} ${t.map((t=>`${t}px`)).join(" ")}${s?" inset":""}`)).join(", ")}function $(t,n,e){let s,r=t;for(;r=r?.parentElement;)if(r.dataset.lively){s=o(r.dataset.lively,0);break}if(!r||!s||!s.trackList.some((t=>t.animations.length||t.correctAfterEnded)))return;const{scale:i}=y(r),f=1/i[0],a=1/i[1],c="center"===e.x?0:(t.offsetWidth-t.offsetWidth*f)/2*("right"===e.x?1:-1),l="center"===e.y?0:(t.offsetHeight-t.offsetHeight*a)/2*("bottom"===e.y?1:-1);t.style.transform=`translate(${c-2*n[0]}px, ${l-2*n[1]}px) scale(${f}, ${a}) translate(${n[0]/f}px, ${n[1]/a}px)`}function k(n,e,o){const s=Array.isArray(n)?n:[n];for(let n=0;n<s.length;n++){if(!t(s[n]))continue;const{props:r,key:i}=s[n],f=o+(null!==i?`${i}_`:n);"object"==typeof r.triggers&&(r.triggers._livelyId=f,e.delete(f)),k(r.children,e,f)}return e}function j(n,e){const o=Array.isArray(n)?n:[n],s=[];for(let n=0;n<o.length;n++){if(!t(o[n]))continue;const{key:r}=o[n],i="_la"+(null!==r?`${r}_`:n);e.has(i)&&s.push([n,o[n]])}return s}const A={duration:0,delay:1,repeat:2,alternate:3,reverse:4,easing:5,composite:6};function v(t,o){const s={},r=[];if(!(t instanceof n))for(const n in t){let i=t[n];"object"==typeof i||n in A||(i=new e(i)),i instanceof e&&(r.push(i.on("change",(()=>o(n,i)))),s[n]=i)}return[s,()=>r.forEach((t=>t()))]}function M(t,n){const e={};for(const o in t)e[o]=t[o].get(n);return e}export{A as ClipConfigKeys,h as addKeyframeEntry,i as asArray,r as clampLowerBound,$ as correctForParentScale,v as extractAnimationLinks,k as filterRemovedAnimators,c as forEachTrigger,y as getElementBounds,M as getInitialStyleFromLinks,u as getLifeCycleAnimations,j as getRemovedAnimators,s as keyframeEpsilon,f as mergeRefs,a as mergeStyles,m as parseClipKeyframes,g as parseIndiviualTransform,d as scaleCorrectRadius,x as scaleCorrectShadow,l as serializeTriggers,p as transformKeyframeList};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/core/utils.ts"],"sourcesContent":[null],"names":["keyframeEpsilon","clampLowerBound","num","precision","Math","sign","max","abs","pow","asArray","value","Array","isArray","mergeRefs","refs","forEach","ref","current","Function","mergeStyles","stylesList","merged","styles","Object","assign","strokeDashoffset","strokeLength","strokeDasharray","forEachTrigger","triggers","callback","key","entry","on","options","serializeTriggers","serialized","list","shouldTrigger","previous","prev","i","getLifeCycleAnimations","animations","trigger","includes","push","transformKeyframeList","last","keyframes","equal","length","offset","round","keyframe","to","after","addKeyframeEntry","map","prop","has","set","get","parseClipKeyframes","initial","Map","AnimationLink","array","unshift","transformed","undefined","from","values","sort","a","b","scaleCorrectRadius","radius","scale","previousScale","split","axis","parseFloat","match","join","scaleCorrectShadow","shadow","color","params","inset","ofx","ofy","blr","spr","ratio","shadows","fill","val","filterRemovedAnimators","children","animatorIds","prefix","isValidElement","props","id","_livelyId","delete","ClipConfigKeys","duration","delay","repeat","alternate","reverse","easing","composite","extractAnimationLinks","animate","links","callbacks","Clip","remove","getInitialStyleFromLinks","index"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/core/utils.ts"],"sourcesContent":[null],"names":["keyframeEpsilon","clampLowerBound","num","precision","lowerBound","Math","pow","isNaN","max","abs","asArray","value","Array","isArray","mergeRefs","refs","forEach","ref","current","Function","mergeStyles","stylesList","merged","styles","Object","assign","strokeDashoffset","strokeLength","strokeDasharray","forEachTrigger","triggers","callback","key","optionsArray","map","on","options","push","serializeTriggers","serialized","list","getLifeCycleAnimations","animations","trigger","index","indexOf","transformKeyframeList","last","keyframes","equal","i","length","offset","round","keyframe","to","after","addKeyframeEntry","prop","has","set","entry","get","parseClipKeyframes","initial","Map","AnimationLink","array","unshift","transformed","undefined","from","values","sort","a","b","parseIndiviualTransform","defaultValue","nums","split","parseFloat","getElementBounds","element","x","offsetWidth","y","offsetHeight","sx","sy","el","reachedBoundary","HTMLElement","dataset","lively","transform","scale","translate","getComputedStyle","_","matrix","match","c","d","tx","ty","sqrt","isx","isy","offsetLeft","offsetTop","parentElement","width","height","scaleCorrectRadius","radius","test","axis","join","scaleCorrectShadow","shadow","color","params","inset","ofx","ofy","blr","spr","ratio","shadows","fill","val","correctForParentScale","align","animator","parent","getParentAnimator","trackList","some","track","correctAfterEnded","dx","dy","style","filterRemovedAnimators","children","toRemove","prefix","isValidElement","props","id","_livelyId","delete","getRemovedAnimators","removed","animators","ClipConfigKeys","duration","delay","repeat","alternate","reverse","easing","composite","extractAnimationLinks","animate","links","callbacks","Clip","remove","getInitialStyleFromLinks"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useRef as n,useState as r,useEffect as t}from"react";function e(){const e=n(null),[o,i]=r(!1);return t((()=>{if(!e.current)return;const n=new AbortController;return e.current.addEventListener("pointerdown",(()=>i(!0)),{signal:n.signal}),e.current.addEventListener("pointerup",(()=>i(!1)),{signal:n.signal}),()=>n.abort()}),[]),[e,o]}export{e as default};
2
+ import{useRef as n,useState as r,useEffect as t}from"react";function e(){const e=n(null),[o,i]=r(!1);return t((()=>{if(!e.current)return;const n=new AbortController;return e.current.addEventListener("pointerdown",(()=>i(!0)),{signal:n.signal}),window.addEventListener("pointerup",(()=>i(!1)),{signal:n.signal}),()=>n.abort()}),[]),[e,o]}export{e as default};
3
3
  //# sourceMappingURL=use-tap.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as t}from"react/jsx-runtime";import{createContext as e,useId as r,useRef as n,useState as o,useLayoutEffect as i,useEffect as a}from"react";import{filterRemovedAnimators as u}from"./core/utils.js";import{registerLayoutGroup as m,forEachAnimator as s,unregisterLayoutGroup as c}from"./core/state.js";const d=e("");function l({children:e,skipInitialMount:l=!1,mode:p="wait"}){const f="_lg"+r(),g=n(0),h=n(0),v=n(e),w=m(f,l),[x,M]=o(0),j=u(e,new Set(w.animators));if(j.size){let t=0;s(j,(e=>{"mounted"===e.state&&(t=Math.max(t,e.trigger("unmount",{cascade:"reverse",composite:"override"})),e.state="unmounting",e.dispatch("unmount"))})),h.current=Math.max(h.current,Date.now()+1e3*t)}clearTimeout(g.current);const T=h.current-Date.now();return T>0?(s(w.animators,(t=>{"unmounting"!==t.state||j.has(t.id)||(t.trigger("mount",{override:!0}),t.state="mounted")})),g.current=setTimeout((()=>{v.current=e,M((t=>t+1))}),T)):v.current=e,i((()=>{s(w.animators,(t=>{"mounted"===t.state&&t.transition()}))})),a((()=>(w.skipInitialMount=!1,()=>{c(f),clearTimeout(g.current)})),[]),t(d,{value:f,children:v.current})}export{d as LayoutGroupContext,l as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{createContext as n,useId as e,useRef as r,useState as o,useLayoutEffect as i,useEffect as a}from"react";import{filterRemovedAnimators as s,getRemovedAnimators as u}from"./core/utils.js";import{registerLayoutGroup as c,forEachAnimator as m,unregisterLayoutGroup as l}from"./core/state.js";const d=n("");function f({children:n,skipInitialMount:f=!1,mode:p="wait"}){const g="_lg"+e(),h=r(0),w=r(n),y=c(g,f),[M,v]=o(0),U=s(n,new Set(y.animators),`${g}_la_`);if(U.size){if("sync"===p){const t=Array.isArray(n)?n.slice():[n];for(const[n,e]of u(w.current,U))t.splice(n,0,e);w.current=t}m(U,(t=>{if("mounted"===t.state){const n=t.trigger("unmount",{cascade:"reverse",composite:"override"});t.delayUnmountUntil=Date.now()+1e3*n,n&&(t.state="unmounting",t.dispatch("unmount"))}}))}let j=0;m(y.animators,(t=>j=Math.max(j,t.delayUnmountUntil)));const x=j-Date.now();return clearTimeout(h.current),x>0?(m(y.animators,(t=>{"unmounting"!==t.state||U.has(t.id)||(t.trigger("mount",{override:!0}),t.state="mounted")})),h.current=setTimeout((()=>{w.current=n,v((t=>t+1))}),x)):"wait"===p&&(w.current=n),i((()=>{m(y.animators,(t=>{"mounted"!==t.state||t.isMounting||t.transition(),t.isMounting=!1}))}),[n]),a((()=>(y.skipInitialMount=!1,()=>{l(g),clearTimeout(h.current)})),[]),t(d,{value:g,children:w.current})}export{d as LayoutGroupContext,f as default};
3
3
  //# sourceMappingURL=layout-group.js.map
@@ -0,0 +1,2 @@
1
+ export{default as ViewAnimation}from"./presets/view-animation.js";export{default as TextAnimation}from"./presets/text-animation.js";
2
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,11 +1,11 @@
1
1
  import Animator, { AnimationOptions, AnimationTrigger } from "./core/animator";
2
2
  import Clip, { ClipInitials, ClipOptions } from "./core/clip";
3
- import { CacheKey } from "./core/track";
3
+ import { CacheKey, CorrectionAlignment } from "./core/track";
4
4
  import { TransitionOptions } from "./core/animation-link";
5
5
  export type AnimateTriggers<T extends string> = {
6
- [key in T]?: AnimationTrigger[] | ({
7
- on: AnimationTrigger[];
8
- } & AnimationOptions);
6
+ [key in T]?: (AnimationTrigger | {
7
+ on: AnimationTrigger;
8
+ } & AnimationOptions)[];
9
9
  };
10
10
  export type AnimateProps<T extends string> = {
11
11
  ref?: React.Ref<Animator<T | 'animate'>>;
@@ -19,7 +19,7 @@ export type AnimateProps<T extends string> = {
19
19
  triggers?: AnimateTriggers<T | 'animate'>;
20
20
  stagger?: number;
21
21
  staggerLimit?: number;
22
- ignoreScaleDeformation?: boolean;
22
+ deformCorrection?: CorrectionAlignment | boolean;
23
23
  transition?: TransitionOptions & {
24
24
  cache?: CacheKey[];
25
25
  };
@@ -28,4 +28,4 @@ export type AnimateProps<T extends string> = {
28
28
  onAnimationEnd?: (animation?: T) => void;
29
29
  };
30
30
  export declare const AnimateContext: import("react").Context<string>;
31
- export default function Animate<T extends string>({ ref, children, inherit, initial, animate, triggers, stagger, staggerLimit, ignoreScaleDeformation, transition, morph, clips, paused, onAnimationEnd }: AnimateProps<T>): import("react/jsx-runtime").JSX.Element;
31
+ export default function Animate<T extends string>({ ref, children, inherit, initial, animate, triggers, stagger, staggerLimit, deformCorrection, transition, morph, clips, paused, onAnimationEnd }: AnimateProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,8 @@
1
- import { Easing } from "./clip";
1
+ import { BlendMode, Easing } from "./clip";
2
2
  export type TransitionOptions = {
3
3
  duration?: number;
4
4
  easing?: Easing;
5
+ composite?: BlendMode;
5
6
  };
6
7
  export type AnimationLinkEvent = 'change';
7
8
  export default class AnimationLink<T, K = T> {
@@ -1,6 +1,6 @@
1
1
  import AnimationLink, { TransitionOptions } from "./animation-link";
2
2
  import Clip, { ClipConfig, ClipInitials, ClipKey, ClipOptions } from "./clip";
3
- import Track, { CacheKey } from "./track";
3
+ import Track, { CacheKey, CorrectionAlignment } from "./track";
4
4
  export type LifeCycleTrigger = 'mount' | 'unmount';
5
5
  export type AnimationTrigger = LifeCycleTrigger | boolean | number;
6
6
  export type AnimationOptions = Omit<ClipConfig, 'duration' | 'easing'> & {
@@ -14,11 +14,12 @@ export default class Animator<T extends string> {
14
14
  id: string;
15
15
  parent: Animator<any> | null;
16
16
  dependents: Set<Animator<any>>;
17
+ inherit: ('ignoreScaleDeformation' | 'defaultTransitionOptions' | 'cache' | 'align')[];
17
18
  clips: {
18
19
  [key in T]: Clip;
19
20
  };
20
21
  lifeCycleAnimations: {
21
- [key in LifeCycleTrigger]?: T[];
22
+ [key in LifeCycleTrigger]?: [T, AnimationOptions][];
22
23
  };
23
24
  links: {
24
25
  [key in ClipKey]?: AnimationLink<any>;
@@ -29,40 +30,47 @@ export default class Animator<T extends string> {
29
30
  ignoreScaleDeformation: boolean;
30
31
  defaultTransitionOptions: TransitionOptions;
31
32
  cache: CacheKey[];
33
+ align: CorrectionAlignment;
32
34
  stagger: number;
33
35
  staggerLimit: number;
34
- initialStyles: ClipInitials | null;
36
+ initialStyles: {
37
+ mounted?: ClipInitials;
38
+ unmounted?: ClipInitials;
39
+ };
35
40
  eventListeners: {
36
41
  [key in AnimatorEvent]?: Set<(...args: any) => void>;
37
42
  };
38
43
  state: 'unmounted' | 'unmounting' | 'mounted';
44
+ delayUnmountUntil: number;
45
+ isMounting: boolean;
39
46
  paused: boolean;
47
+ timeout: number;
40
48
  frame: number;
41
- constructor({ id, clips, lifeCycleAnimations, ignoreScaleDeformation, transition, stagger, staggerLimit }: {
49
+ constructor({ id, clips, lifeCycleAnimations, deformCorrection, transition, stagger, staggerLimit }: {
42
50
  id: string;
43
51
  clips: {
44
52
  [key in T]: Clip;
45
53
  };
46
54
  lifeCycleAnimations: {
47
- [key in LifeCycleTrigger]?: T[];
55
+ [key in LifeCycleTrigger]?: [T, AnimationOptions][];
48
56
  };
49
- ignoreScaleDeformation: boolean;
50
- transition: TransitionOptions & {
57
+ deformCorrection?: CorrectionAlignment | boolean;
58
+ transition?: TransitionOptions & {
51
59
  cache?: CacheKey[];
52
60
  };
53
61
  stagger: number;
54
62
  staggerLimit: number;
55
63
  });
56
- register(parentId: string, inherit: boolean | number): void;
64
+ register(parentId: string, inherit: boolean | number, morph?: string): void;
57
65
  mount(): void;
58
- dispose(): void;
66
+ dispose(morph?: string): void;
59
67
  on<K extends (...args: any) => void>(event: AnimatorEvent, callback: K): void;
60
68
  off<K extends (...args: any) => void>(event: AnimatorEvent, callback: K): void;
61
69
  dispatch(event: AnimatorEvent, ...args: any): void;
62
70
  tick(): void;
63
71
  addLinks(animate: Clip | ClipOptions): void;
64
72
  addTrack(element: any, index: number): void;
65
- mergeInitialStyles(styles: ClipInitials): ClipInitials;
73
+ mergeInitialStyles(styles: ClipInitials, mode: 'mounted' | 'unmounted'): ClipInitials;
66
74
  pretime(clip: Clip, options: AnimationOptions): number;
67
75
  trigger(on: LifeCycleTrigger, options?: AnimationOptions): number;
68
76
  play(animation: T | Clip, { cascade, delay, tag, ...options }?: AnimationOptions): number;
@@ -72,4 +80,5 @@ export default class Animator<T extends string> {
72
80
  transition(from?: Animator<any>, options?: TransitionOptions): void;
73
81
  setPlayState(paused: boolean): void;
74
82
  stop(animation?: T): void;
83
+ unmount(): void;
75
84
  }
@@ -39,11 +39,11 @@ export default class Clip {
39
39
  duration: number;
40
40
  delay: number;
41
41
  iterations: number;
42
- directions: "normal" | "alternate" | "alternate-reverse" | "reverse";
42
+ direction: "reverse" | "alternate" | "alternate-reverse" | "normal";
43
43
  easing: Easing;
44
44
  composite: "accumulate" | "replace";
45
+ fill: "both";
45
46
  blendmode: BlendMode;
46
47
  commit: boolean;
47
48
  };
48
- static mergeInitialStyles(clips: Clip[], styles: ClipInitials): ClipInitials;
49
49
  }
@@ -1,6 +1,5 @@
1
1
  import Animator from "./animator";
2
2
  export declare function getParentAnimator(id: string, stepsRemoved: number): Animator<any> | null;
3
- export declare function isRegistered(id: string): boolean;
4
3
  export declare function registerAnimator(id: string, animator: Animator<any>): void;
5
4
  export declare function unregisterAnimator(id: string): void;
6
5
  export declare function registerLayoutGroup(id: string, skipInitialMount: boolean): {
@@ -11,6 +10,6 @@ export declare function unregisterLayoutGroup(id: string): void;
11
10
  export declare function registerToLayoutGroup(layoutId: string, id: string): boolean;
12
11
  export declare function unregisterFromLayoutGroup(layoutId: string, id: string): void;
13
12
  export declare function forEachAnimator(ids: Set<string>, callback: (animator: Animator<any>) => void): void;
14
- export declare function registerAsMorph(morphId: string, animator: Animator<any>): void;
13
+ export declare function registerAsMorph(morphId: string, id: string): void;
15
14
  export declare function getMorphTarget(morphId: string, receiverId: string): Animator<any> | null;
16
- export declare function deleteMorphTarget(morphId: string, animator: Animator<any>, delay?: number): number;
15
+ export declare function deleteMorphTarget(morphId: string, id: string): number;
@@ -15,21 +15,24 @@ export type TrackAnimation = Animation & {
15
15
  name?: string;
16
16
  blendmode: BlendMode;
17
17
  };
18
+ export type CorrectionAlignment = {
19
+ x: 'left' | 'center' | 'right';
20
+ y: 'top' | 'center' | 'bottom';
21
+ };
18
22
  export default class Track {
19
23
  element: HTMLElement | SVGElement;
20
24
  shouldCache: CacheKey[];
25
+ align: CorrectionAlignment;
21
26
  styles: CSSStyleDeclaration;
22
27
  cache: StyleCache;
23
28
  scale: ScaleTuple;
24
- corrected: {
25
- borderRadius: string;
26
- boxShadow: string;
27
- };
28
29
  correctionAnimation: Animation | null;
29
30
  queue: TrackAnimation[];
30
31
  animations: TrackAnimation[];
31
32
  active: number;
32
- constructor(element: HTMLElement | SVGElement, shouldCache: CacheKey[]);
33
+ timeout: number;
34
+ correctAfterEnded: boolean;
35
+ constructor(element: HTMLElement | SVGElement, shouldCache: CacheKey[], align: CorrectionAlignment);
33
36
  snapshot(): StyleCache;
34
37
  push(clip: Clip, options?: AnimationOptions, onEnded?: () => void): number;
35
38
  advance(): void;
@@ -2,19 +2,19 @@ import { AnimationOptions, AnimationTrigger } from "./animator";
2
2
  import Clip, { ClipConfig, ClipInitials, ClipKey, ClipKeyframe, ClipKeyframes, ClipOptions } from "./clip";
3
3
  import { AnimateTriggers } from "../animate";
4
4
  import AnimationLink from "./animation-link";
5
+ import { CorrectionAlignment } from "./track";
5
6
  export declare const keyframeEpsilon = 0.0001;
6
- export declare const clampLowerBound: (num: number, precision?: number) => number;
7
+ export declare function clampLowerBound(num: number, precision?: number): number;
7
8
  export declare const asArray: (value: number | number[]) => number[];
8
9
  export declare function mergeRefs(...refs: React.Ref<any>[]): (value: any) => void;
9
10
  export declare function mergeStyles(...stylesList: (ClipInitials | undefined)[]): import("react").CSSProperties;
10
- export declare function forEachTrigger<T extends string>(triggers: AnimateTriggers<T>, callback: (key: T, triggerList: AnimationTrigger[], options: AnimationOptions) => void): void;
11
+ export declare function forEachTrigger<T extends string>(triggers: AnimateTriggers<T>, callback: (key: T, triggerList: AnimationTrigger[], options: AnimationOptions[]) => void): void;
11
12
  export declare function serializeTriggers<T extends string>(triggers: AnimateTriggers<T>): {
12
13
  [key: string]: any[];
13
14
  };
14
- export declare function shouldTrigger(previous: any[], current: any[]): boolean;
15
15
  export declare function getLifeCycleAnimations<T extends string>(triggers: AnimateTriggers<T>): {
16
- mount?: T[] | undefined;
17
- unmount?: T[] | undefined;
16
+ mount?: [T, AnimationOptions][] | undefined;
17
+ unmount?: [T, AnimationOptions][] | undefined;
18
18
  };
19
19
  export declare function transformKeyframeList(list: ClipKeyframe[]): {
20
20
  to?: string | number;
@@ -24,41 +24,23 @@ export declare function transformKeyframeList(list: ClipKeyframe[]): {
24
24
  export declare function addKeyframeEntry(map: Map<number, Keyframe>, offset: number, prop: string, value: string | number): number | undefined;
25
25
  export declare function parseClipKeyframes(keyframes: ClipKeyframes, initial: ClipInitials): Keyframe[];
26
26
  export type ScaleTuple = readonly [number, number];
27
- export declare function scaleCorrectRadius(radius: string, scale: ScaleTuple, previousScale: ScaleTuple): string;
28
- export declare function scaleCorrectShadow(shadow: string, scale: ScaleTuple, previousScale: ScaleTuple): string;
29
- export declare function filterRemovedAnimators(children: React.ReactNode, animatorIds: Set<string>, prefix?: string): Set<string>;
27
+ export declare function parseIndiviualTransform(value: string, defaultValue?: number[]): number[];
28
+ export declare function getElementBounds(element: HTMLElement): {
29
+ scale: ScaleTuple;
30
+ width: number;
31
+ height: number;
32
+ x: number;
33
+ y: number;
34
+ };
35
+ export declare function scaleCorrectRadius(radius: string, scale: ScaleTuple): string;
36
+ export declare function scaleCorrectShadow(shadow: string, scale: ScaleTuple): string;
37
+ export declare function correctForParentScale(element: HTMLElement, offset: [number, number], align: CorrectionAlignment): void;
38
+ export declare function filterRemovedAnimators(children: React.ReactNode, toRemove: Set<string>, prefix: string): Set<string>;
39
+ export declare function getRemovedAnimators(children: React.ReactNode, removed: Set<string>): [number, import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>][];
30
40
  export declare const ClipConfigKeys: {
31
41
  [key in keyof Required<ClipConfig>]: number;
32
42
  };
33
43
  export declare function extractAnimationLinks(animate: Clip | ClipOptions, callback: (key: ClipKey, link: AnimationLink<any>) => void): readonly [{
34
- strokeLength?: AnimationLink<any, any> | undefined;
35
- strokeDashoffset?: AnimationLink<any, any> | undefined;
36
- all?: AnimationLink<any, any> | undefined;
37
- contain?: AnimationLink<any, any> | undefined;
38
- color?: AnimationLink<any, any> | undefined;
39
- overlay?: AnimationLink<any, any> | undefined;
40
- left?: AnimationLink<any, any> | undefined;
41
- right?: AnimationLink<any, any> | undefined;
42
- bottom?: AnimationLink<any, any> | undefined;
43
- top?: AnimationLink<any, any> | undefined;
44
- inset?: AnimationLink<any, any> | undefined;
45
- page?: AnimationLink<any, any> | undefined;
46
- content?: AnimationLink<any, any> | undefined;
47
- flex?: AnimationLink<any, any> | undefined;
48
- grid?: AnimationLink<any, any> | undefined;
49
- position?: AnimationLink<any, any> | undefined;
50
- fill?: AnimationLink<any, any> | undefined;
51
- clip?: AnimationLink<any, any> | undefined;
52
- stroke?: AnimationLink<any, any> | undefined;
53
- x?: AnimationLink<any, any> | undefined;
54
- y?: AnimationLink<any, any> | undefined;
55
- caret?: AnimationLink<any, any> | undefined;
56
- zoom?: AnimationLink<any, any> | undefined;
57
- clear?: AnimationLink<any, any> | undefined;
58
- border?: AnimationLink<any, any> | undefined;
59
- padding?: AnimationLink<any, any> | undefined;
60
- filter?: AnimationLink<any, any> | undefined;
61
- offset?: AnimationLink<any, any> | undefined;
62
44
  accentColor?: AnimationLink<any, any> | undefined;
63
45
  alignContent?: AnimationLink<any, any> | undefined;
64
46
  alignItems?: AnimationLink<any, any> | undefined;
@@ -134,6 +116,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
134
116
  borderTopRightRadius?: AnimationLink<any, any> | undefined;
135
117
  borderTopStyle?: AnimationLink<any, any> | undefined;
136
118
  borderTopWidth?: AnimationLink<any, any> | undefined;
119
+ bottom?: AnimationLink<any, any> | undefined;
137
120
  boxDecorationBreak?: AnimationLink<any, any> | undefined;
138
121
  boxShadow?: AnimationLink<any, any> | undefined;
139
122
  boxSizing?: AnimationLink<any, any> | undefined;
@@ -143,8 +126,10 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
143
126
  captionSide?: AnimationLink<any, any> | undefined;
144
127
  caretColor?: AnimationLink<any, any> | undefined;
145
128
  caretShape?: AnimationLink<any, any> | undefined;
129
+ clear?: AnimationLink<any, any> | undefined;
146
130
  clipPath?: AnimationLink<any, any> | undefined;
147
131
  clipRule?: AnimationLink<any, any> | undefined;
132
+ color?: AnimationLink<any, any> | undefined;
148
133
  colorAdjust?: AnimationLink<any, any> | undefined;
149
134
  colorInterpolationFilters?: AnimationLink<any, any> | undefined;
150
135
  colorScheme?: AnimationLink<any, any> | undefined;
@@ -156,12 +141,14 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
156
141
  columnRuleWidth?: AnimationLink<any, any> | undefined;
157
142
  columnSpan?: AnimationLink<any, any> | undefined;
158
143
  columnWidth?: AnimationLink<any, any> | undefined;
144
+ contain?: AnimationLink<any, any> | undefined;
159
145
  containIntrinsicBlockSize?: AnimationLink<any, any> | undefined;
160
146
  containIntrinsicHeight?: AnimationLink<any, any> | undefined;
161
147
  containIntrinsicInlineSize?: AnimationLink<any, any> | undefined;
162
148
  containIntrinsicWidth?: AnimationLink<any, any> | undefined;
163
149
  containerName?: AnimationLink<any, any> | undefined;
164
150
  containerType?: AnimationLink<any, any> | undefined;
151
+ content?: AnimationLink<any, any> | undefined;
165
152
  contentVisibility?: AnimationLink<any, any> | undefined;
166
153
  counterIncrement?: AnimationLink<any, any> | undefined;
167
154
  counterReset?: AnimationLink<any, any> | undefined;
@@ -175,8 +162,10 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
175
162
  dominantBaseline?: AnimationLink<any, any> | undefined;
176
163
  emptyCells?: AnimationLink<any, any> | undefined;
177
164
  fieldSizing?: AnimationLink<any, any> | undefined;
165
+ fill?: AnimationLink<any, any> | undefined;
178
166
  fillOpacity?: AnimationLink<any, any> | undefined;
179
167
  fillRule?: AnimationLink<any, any> | undefined;
168
+ filter?: AnimationLink<any, any> | undefined;
180
169
  flexBasis?: AnimationLink<any, any> | undefined;
181
170
  flexDirection?: AnimationLink<any, any> | undefined;
182
171
  flexGrow?: AnimationLink<any, any> | undefined;
@@ -243,6 +232,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
243
232
  justifyItems?: AnimationLink<any, any> | undefined;
244
233
  justifySelf?: AnimationLink<any, any> | undefined;
245
234
  justifyTracks?: AnimationLink<any, any> | undefined;
235
+ left?: AnimationLink<any, any> | undefined;
246
236
  letterSpacing?: AnimationLink<any, any> | undefined;
247
237
  lightingColor?: AnimationLink<any, any> | undefined;
248
238
  lineBreak?: AnimationLink<any, any> | undefined;
@@ -320,6 +310,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
320
310
  overflowWrap?: AnimationLink<any, any> | undefined;
321
311
  overflowX?: AnimationLink<any, any> | undefined;
322
312
  overflowY?: AnimationLink<any, any> | undefined;
313
+ overlay?: AnimationLink<any, any> | undefined;
323
314
  overscrollBehaviorBlock?: AnimationLink<any, any> | undefined;
324
315
  overscrollBehaviorInline?: AnimationLink<any, any> | undefined;
325
316
  overscrollBehaviorX?: AnimationLink<any, any> | undefined;
@@ -332,10 +323,12 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
332
323
  paddingLeft?: AnimationLink<any, any> | undefined;
333
324
  paddingRight?: AnimationLink<any, any> | undefined;
334
325
  paddingTop?: AnimationLink<any, any> | undefined;
326
+ page?: AnimationLink<any, any> | undefined;
335
327
  paintOrder?: AnimationLink<any, any> | undefined;
336
328
  perspective?: AnimationLink<any, any> | undefined;
337
329
  perspectiveOrigin?: AnimationLink<any, any> | undefined;
338
330
  pointerEvents?: AnimationLink<any, any> | undefined;
331
+ position?: AnimationLink<any, any> | undefined;
339
332
  positionAnchor?: AnimationLink<any, any> | undefined;
340
333
  positionArea?: AnimationLink<any, any> | undefined;
341
334
  positionTryFallbacks?: AnimationLink<any, any> | undefined;
@@ -345,6 +338,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
345
338
  quotes?: AnimationLink<any, any> | undefined;
346
339
  r?: AnimationLink<any, any> | undefined;
347
340
  resize?: AnimationLink<any, any> | undefined;
341
+ right?: AnimationLink<any, any> | undefined;
348
342
  rotate?: AnimationLink<any, any> | undefined;
349
343
  rowGap?: AnimationLink<any, any> | undefined;
350
344
  rubyAlign?: AnimationLink<any, any> | undefined;
@@ -391,8 +385,10 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
391
385
  speakAs?: AnimationLink<any, any> | undefined;
392
386
  stopColor?: AnimationLink<any, any> | undefined;
393
387
  stopOpacity?: AnimationLink<any, any> | undefined;
388
+ stroke?: AnimationLink<any, any> | undefined;
394
389
  strokeColor?: AnimationLink<any, any> | undefined;
395
390
  strokeDasharray?: AnimationLink<any, any> | undefined;
391
+ strokeDashoffset?: AnimationLink<any, any> | undefined;
396
392
  strokeLinecap?: AnimationLink<any, any> | undefined;
397
393
  strokeLinejoin?: AnimationLink<any, any> | undefined;
398
394
  strokeMiterlimit?: AnimationLink<any, any> | undefined;
@@ -431,6 +427,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
431
427
  textWrapMode?: AnimationLink<any, any> | undefined;
432
428
  textWrapStyle?: AnimationLink<any, any> | undefined;
433
429
  timelineScope?: AnimationLink<any, any> | undefined;
430
+ top?: AnimationLink<any, any> | undefined;
434
431
  touchAction?: AnimationLink<any, any> | undefined;
435
432
  transform?: AnimationLink<any, any> | undefined;
436
433
  transformBox?: AnimationLink<any, any> | undefined;
@@ -461,11 +458,16 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
461
458
  wordSpacing?: AnimationLink<any, any> | undefined;
462
459
  wordWrap?: AnimationLink<any, any> | undefined;
463
460
  writingMode?: AnimationLink<any, any> | undefined;
461
+ x?: AnimationLink<any, any> | undefined;
462
+ y?: AnimationLink<any, any> | undefined;
464
463
  zIndex?: AnimationLink<any, any> | undefined;
464
+ zoom?: AnimationLink<any, any> | undefined;
465
+ all?: AnimationLink<any, any> | undefined;
465
466
  animation?: AnimationLink<any, any> | undefined;
466
467
  animationRange?: AnimationLink<any, any> | undefined;
467
468
  background?: AnimationLink<any, any> | undefined;
468
469
  backgroundPosition?: AnimationLink<any, any> | undefined;
470
+ border?: AnimationLink<any, any> | undefined;
469
471
  borderBlock?: AnimationLink<any, any> | undefined;
470
472
  borderBlockColor?: AnimationLink<any, any> | undefined;
471
473
  borderBlockEnd?: AnimationLink<any, any> | undefined;
@@ -487,17 +489,21 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
487
489
  borderStyle?: AnimationLink<any, any> | undefined;
488
490
  borderTop?: AnimationLink<any, any> | undefined;
489
491
  borderWidth?: AnimationLink<any, any> | undefined;
492
+ caret?: AnimationLink<any, any> | undefined;
490
493
  columnRule?: AnimationLink<any, any> | undefined;
491
494
  columns?: AnimationLink<any, any> | undefined;
492
495
  containIntrinsicSize?: AnimationLink<any, any> | undefined;
493
496
  container?: AnimationLink<any, any> | undefined;
497
+ flex?: AnimationLink<any, any> | undefined;
494
498
  flexFlow?: AnimationLink<any, any> | undefined;
495
499
  font?: AnimationLink<any, any> | undefined;
496
500
  gap?: AnimationLink<any, any> | undefined;
501
+ grid?: AnimationLink<any, any> | undefined;
497
502
  gridArea?: AnimationLink<any, any> | undefined;
498
503
  gridColumn?: AnimationLink<any, any> | undefined;
499
504
  gridRow?: AnimationLink<any, any> | undefined;
500
505
  gridTemplate?: AnimationLink<any, any> | undefined;
506
+ inset?: AnimationLink<any, any> | undefined;
501
507
  insetBlock?: AnimationLink<any, any> | undefined;
502
508
  insetInline?: AnimationLink<any, any> | undefined;
503
509
  lineClamp?: AnimationLink<any, any> | undefined;
@@ -508,9 +514,11 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
508
514
  mask?: AnimationLink<any, any> | undefined;
509
515
  maskBorder?: AnimationLink<any, any> | undefined;
510
516
  motion?: AnimationLink<any, any> | undefined;
517
+ offset?: AnimationLink<any, any> | undefined;
511
518
  outline?: AnimationLink<any, any> | undefined;
512
519
  overflow?: AnimationLink<any, any> | undefined;
513
520
  overscrollBehavior?: AnimationLink<any, any> | undefined;
521
+ padding?: AnimationLink<any, any> | undefined;
514
522
  paddingBlock?: AnimationLink<any, any> | undefined;
515
523
  paddingInline?: AnimationLink<any, any> | undefined;
516
524
  placeContent?: AnimationLink<any, any> | undefined;
@@ -788,6 +796,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
788
796
  boxOrdinalGroup?: AnimationLink<any, any> | undefined;
789
797
  boxOrient?: AnimationLink<any, any> | undefined;
790
798
  boxPack?: AnimationLink<any, any> | undefined;
799
+ clip?: AnimationLink<any, any> | undefined;
791
800
  fontStretch?: AnimationLink<any, any> | undefined;
792
801
  gridColumnGap?: AnimationLink<any, any> | undefined;
793
802
  gridGap?: AnimationLink<any, any> | undefined;
@@ -889,6 +898,7 @@ export declare function extractAnimationLinks(animate: Clip | ClipOptions, callb
889
898
  colorInterpolation?: AnimationLink<any, any> | undefined;
890
899
  colorRendering?: AnimationLink<any, any> | undefined;
891
900
  glyphOrientationVertical?: AnimationLink<any, any> | undefined;
901
+ strokeLength?: AnimationLink<any, any> | undefined;
892
902
  }, () => void];
893
903
  export declare function getInitialStyleFromLinks(links: {
894
904
  [key in ClipKey]?: AnimationLink<any>;
@@ -3,5 +3,5 @@ export declare const LayoutGroupContext: React.Context<string>;
3
3
  export default function LayoutGroup({ children, skipInitialMount, mode }: {
4
4
  children: React.ReactNode;
5
5
  skipInitialMount?: boolean;
6
- mode?: 'wait' | 'swap';
6
+ mode?: 'wait' | 'sync';
7
7
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import ViewAnimation from "./presets/view-animation";
2
+ import TextAnimation from "./presets/text-animation";
3
+ export { ViewAnimation, TextAnimation };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinityfx/lively",
3
- "version": "5.0.0-alpha.0",
3
+ "version": "5.0.0-alpha.10",
4
4
  "type": "module",
5
5
  "description": "Feature complete, lightweight react animation library.",
6
6
  "main": "dist/index.js",
@@ -15,9 +15,9 @@
15
15
  "types": "./dist/types/hooks.d.ts",
16
16
  "default": "./dist/hooks.js"
17
17
  },
18
- "./animations": {
19
- "types": "./dist/types/animations.d.ts",
20
- "default": "./dist/animations.js"
18
+ "./presets": {
19
+ "types": "./dist/types/presets.d.ts",
20
+ "default": "./dist/presets.js"
21
21
  }
22
22
  },
23
23
  "typesVersions": {
@@ -25,8 +25,8 @@
25
25
  "hooks": [
26
26
  "./dist/types/hooks.d.ts"
27
27
  ],
28
- "animations": [
29
- "./dist/types/animations.d.ts"
28
+ "presets": [
29
+ "./dist/types/presets.d.ts"
30
30
  ]
31
31
  }
32
32
  },
@@ -1,2 +0,0 @@
1
- export{default as ViewAnimation}from"./animations/view-animation.js";export{default as TextAnimation}from"./animations/text-animation.js";
2
- //# sourceMappingURL=animations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animations.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import ViewAnimation from "./animations/view-animation";
2
- import TextAnimation from "./animations/text-animation";
3
- export { ViewAnimation, TextAnimation };
File without changes
File without changes