@infinityfx/lively 5.0.0-alpha.2 → 5.0.0-alpha.3

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.
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 n,useId as e,use as r,useRef as i,useImperativeHandle as o,useLayoutEffect as s,useEffect as a,Children as c,isValidElement as m,cloneElement as d}from"react";import l from"./core/animator.js";import f from"./core/clip.js";import{serializeTriggers as u,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{registerToLayoutGroup as w,getMorphTarget as L,deleteMorphTarget as E,unregisterFromLayoutGroup as C}from"./core/state.js";const x=n("");function z({ref:n,children:z,inherit:A=!1,initial:I={},animate:S={},triggers:T={animate:["mount"]},stagger:_=.07,staggerLimit:b=10,deformCorrection:D,transition:P,morph:q,clips:B,paused:F=!1,onAnimationEnd:G}){const H=T._livelyId??"_la"+e(),J=r(x),K=r(v),M=i(u(T)),N=i(null);if(!N.current){const t={animate:S instanceof f?S:new f(S,I)};for(const n in B)t[n]=B[n]instanceof f?B[n]:new f(B[n],I);const n=N.current=new l({id:H,clips:t,lifeCycleAnimations:p(T),deformCorrection:D,transition:P,stagger:_,staggerLimit:b});n.register(J,A),n.addLinks(S)}const{current:O}=N,Q=w(K,H);return o(n,(()=>O),[]),s((()=>{if(O.register(J,A,q),O.addLinks(S),q){const t=L(q,H);t&&(O.transition(t),E(q,t.id),O.state="mounted")}w(K,H)&&(O.state="mounted"),document.fonts.ready.finally((()=>O.mount()));const t=()=>O.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{O.dispose(q),C(K,H),window.removeEventListener("resize",t)}}),[]),a((()=>{const t=u(T);g(T,((n,e,r)=>{j(M.current[n],t[n])})),M.current=t}),[T]),a((()=>{if(!(S instanceof f||"mounted"!==O.state))for(const t in S){const n=S[t];t in O.links&&"object"!=typeof n&&O.links[t].set(n,{duration:S.duration,easing:S.easing})}}),[S]),a((()=>(G&&O.on("animationend",G),()=>{G&&O.off("animationend",G)})),[G]),a((()=>O.setPlayState(F)),[F]),t(x,{value:H,children:c.map(z,((t,n)=>{if(!m(t))return t;let{ref:e,style:r}=t.props;return r=y(r,O.mergeInitialStyles(I,Q),h(O.links,n)),d(t,{ref:k(e||null,(t=>O.addTrack(t,n))),style:r,pathLength:"strokeDasharray"in r?1:void 0,"data-lively":H})}))})}export{x as AnimateContext,z as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{createContext as n,useId as e,use as r,useRef as i,useImperativeHandle as o,useLayoutEffect as s,useEffect as a,Children as c,isValidElement as m,cloneElement as d}from"react";import l from"./core/animator.js";import f from"./core/clip.js";import{serializeTriggers as u,getLifeCycleAnimations as p,forEachTrigger as g,mergeStyles as y,getInitialStyleFromLinks as h,mergeRefs as k}from"./core/utils.js";import{LayoutGroupContext as j}from"./layout-group.js";import{registerToLayoutGroup as v,getMorphTarget as w,deleteMorphTarget as L,unregisterFromLayoutGroup as E}from"./core/state.js";const C=n("");function x({ref:n,children:x,inherit:z=!1,initial:A={},animate:I={},triggers:S={animate:["mount"]},stagger:T=.07,staggerLimit:_=10,deformCorrection:b,transition:D,morph:P,clips:q,paused:B=!1,onAnimationEnd:F}){const G=S._livelyId??"_la"+e(),H=r(C),J=r(j),K=i(u(S)),M=i(null);if(!M.current){const t={animate:I instanceof f?I:new f(I,A)};for(const n in q)t[n]=q[n]instanceof f?q[n]:new f(q[n],A);const n=M.current=new l({id:G,clips:t,lifeCycleAnimations:p(S),deformCorrection:b,transition:D,stagger:T,staggerLimit:_});n.register(H,z),n.addLinks(I)}const{current:N}=M,O=v(J,G);return o(n,(()=>N),[]),s((()=>{if(N.register(H,z,P),N.addLinks(I),P){const t=w(P,G);t&&(N.transition(t),L(P,t.id),N.state="mounted")}v(J,G)&&(N.state="mounted"),document.fonts.ready.finally((()=>N.mount()));const t=()=>N.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{N.dispose(P),E(J,G),window.removeEventListener("resize",t)}}),[]),a((()=>{g(S,((t,n,e)=>{const r=K.current[t];n.forEach(((n,i)=>{r[i]!==n&&!1!==n&&N.play(t,e[i]),r[i]=n}))}))}),[S]),a((()=>{if(!(I instanceof f||"mounted"!==N.state))for(const t in I){const n=I[t];t in N.links&&"object"!=typeof n&&N.links[t].set(n,{duration:I.duration,easing:I.easing})}}),[I]),a((()=>(F&&N.on("animationend",F),()=>{F&&N.off("animationend",F)})),[F]),a((()=>N.setPlayState(B)),[B]),t(C,{value:G,children:c.map(x,((t,n)=>{if(!m(t))return t;let{ref:e,style:r}=t.props;return r=y(r,N.mergeInitialStyles(A,O?"mounted":"unmounted"),h(N.links,n)),d(t,{ref:k(e||null,(t=>N.addTrack(t,n))),style:r,pathLength:"strokeDasharray"in r?1:void 0,"data-lively":G})}))})}export{C as AnimateContext,x as default};
3
3
  //# sourceMappingURL=animate.js.map
@@ -1,2 +1,2 @@
1
- import t from"./clip.js";import{registerAnimator as i,registerAsMorph as s,getParentAnimator as e,unregisterAnimator as a,deleteMorphTarget as n}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:a,stagger:n,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.paused=!1,this.timeout=0,this.frame=0;const{cache:h,...o}=a||{};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=n,this.staggerLimit=r,void 0===e&&this.inherit.push("ignoreScaleDeformation"),void 0===e&&this.inherit.push("align"),a||this.inherit.push("defaultTransitionOptions"),h||this.inherit.push("cache")}register(t,a,n){if(clearTimeout(this.timeout),i(this.id,this),n&&s(n,this.id),t&&!1!==a&&(this.parent=e(t,"boolean"==typeof a?0:a)),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.stop(),this.onDisposeLinks?.(),cancelAnimationFrame(this.frame),this.trackList.forEach((t=>t.cache=t.snapshot())),this.state="unmounted",this.timeout=setTimeout((()=>{a(this.id),t&&n(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,a)=>{const n=new t({...s.options,composite:"override",[i]:s.get(a)});e.push(n)}))}));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=>s.push(this.clips[t])))}mergeInitialStyles(i,s=!1){const e=s?"mounted":"unmounted";if(e in this.initialStyles)return this.initialStyles[e];const a=(this.lifeCycleAnimations.mount||[]).map((t=>this.clips[t])).filter((t=>!t.isEmpty));return a.length?i=t.mergeInitialStyles(a,i,s):this.parent&&(i=this.parent.mergeInitialStyles(i,s)),this.initialStyles[e]=i}pretime(t,i){if(t.isEmpty)return 0;const{duration:s,delay:e,iterations:a}=t.getConfig(i);return(s*a+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=>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-1?()=>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{o as default};
1
+ import t from"./clip.js";import{registerAnimator as i,registerAsMorph as s,getParentAnimator as e,unregisterAnimator as a,deleteMorphTarget as n}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:a,stagger:n,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.paused=!1,this.timeout=0,this.frame=0;const{cache:h,...o}=a||{};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=n,this.staggerLimit=r,void 0===e&&this.inherit.push("ignoreScaleDeformation"),void 0===e&&this.inherit.push("align"),a||this.inherit.push("defaultTransitionOptions"),h||this.inherit.push("cache")}register(t,a,n){if(clearTimeout(this.timeout),i(this.id,this),n&&s(n,this.id),t&&!1!==a&&(this.parent=e(t,"boolean"==typeof a?0:a)),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.stop(),this.onDisposeLinks?.(),cancelAnimationFrame(this.frame),this.trackList.forEach((t=>t.cache=t.snapshot())),this.state="unmounted",this.timeout=setTimeout((()=>{a(this.id),t&&n(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,a)=>{const n=new t({...s.options,composite:"override",[i]:s.get(a)});e.push(n)}))}));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(i,s){if(s in this.initialStyles)return this.initialStyles[s];const e=(this.lifeCycleAnimations.mount||[]).map((([t])=>this.clips[t])).filter((t=>!t.isEmpty));return e.length?i=t.mergeInitialStyles(e,i,"mounted"===s):this.parent&&(i=this.parent.mergeInitialStyles(i,s)),this.initialStyles[s]=i}pretime(t,i){if(t.isEmpty)return 0;const{duration:s,delay:e,iterations:a}=t.getConfig(i);return(s*a+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=>e=Math.max(this.play(...t),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-1?()=>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{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","deformCorrection","transition","stagger","staggerLimit","this","parent","dependents","Set","inherit","links","onDisposeLinks","tracks","trackList","initialStyles","eventListeners","state","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","stop","forEach","track","snapshot","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","animation","mergeInitialStyles","styles","mounted","map","filter","isEmpty","length","pretime","duration","delay","iterations","getConfig","Math","max","min","size","elapsed","play","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle"],"mappings":"+OAmBc,MAAOA,EAoCjB,WAAAC,EAAYC,GAAEA,EAAEC,MAAEA,EAAKC,oBAAEA,EAAmBC,iBAAEA,EAAgBC,WAAEA,EAAUC,QAAEA,EAAOC,aAAEA,IAjCrFC,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,QAAS,EACTZ,KAAAa,QAAU,EACVb,KAAAc,MAAQ,EAiBJ,MAAMC,MAAEA,KAAUC,GAAYnB,GAAc,CAAA,EAE5CG,KAAKP,GAAKA,EACVO,KAAKN,MAAQA,EACbM,KAAKL,oBAAsBA,EAC3BK,KAAKiB,4BAA8CC,IAArBtB,IAA0CA,EACxEI,KAAKmB,yBAA2BH,EAChChB,KAAKe,MAAQA,GAAS,CAAC,IAAK,IAAK,KAAM,KAAM,SAAU,gBACvDf,KAAKoB,MAAoC,iBAArBxB,EAAgCA,EAAmB,CAAEyB,EAAG,OAAQC,EAAG,OACvFtB,KAAKF,QAAUA,EACfE,KAAKD,aAAeA,OAEKmB,IAArBtB,GAAgCI,KAAKI,QAAQmB,KAAK,+BAC7BL,IAArBtB,GAAgCI,KAAKI,QAAQmB,KAAK,SACjD1B,GAAYG,KAAKI,QAAQmB,KAAK,4BAC9BR,GAAOf,KAAKI,QAAQmB,KAAK,QAClC,CAEA,QAAAC,CAASC,EAAkBrB,EAA2BsB,GAQlD,GAPAC,aAAa3B,KAAKa,SAClBe,EAAiB5B,KAAKP,GAAIO,MACtB0B,GAAOG,EAAgBH,EAAO1B,KAAKP,IAEnCgC,IAAwB,IAAZrB,IACZJ,KAAKC,OAAS6B,EAAkBL,EAA6B,kBAAZrB,EAAwB,EAAIA,IAE7EJ,KAAKC,OAAQ,CACbD,KAAKC,OAAOC,WAAW6B,IAAI/B,MAG3B,IAAK,MAAMgC,KAAOhC,KAAKI,QAASJ,KAAKgC,GAAOhC,KAAKC,OAAO+B,EAC5D,CACJ,CAEA,KAAAC,GACuB,cAAfjC,KAAKW,OAAuBX,KAAKkC,QAAQ,SAE7ClC,KAAKW,MAAQ,UAEbwB,qBAAqBnC,KAAKc,OAC1Bd,KAAKoC,MACT,CAEA,OAAAC,CAAQX,GACJ1B,KAAKsC,OACLtC,KAAKM,mBACL6B,qBAAqBnC,KAAKc,OAE1Bd,KAAKQ,UAAU+B,SAAQC,GAASA,EAAMzB,MAAQyB,EAAMC,aACpDzC,KAAKW,MAAQ,YAEbX,KAAKa,QAAU6B,YAAW,KACtBC,EAAmB3C,KAAKP,IACpBiC,GAAOkB,EAAkBlB,EAAO1B,KAAKP,IACrCO,KAAKC,QAAQD,KAAKC,OAAOC,WAAW2C,OAAO7C,KAAK,GACrD,EACP,CAEA,EAAA8C,CAAqCC,EAAsBC,GACjDD,KAAS/C,KAAKU,iBAAiBV,KAAKU,eAAeqC,GAAS,IAAI5C,KAEtEH,KAAKU,eAAeqC,GAAQhB,IAAIiB,EACpC,CAEA,GAAAC,CAAsCF,EAAsBC,GACxDhD,KAAKU,eAAeqC,IAAQF,OAAOG,EACvC,CAEA,QAAAE,CAASH,KAAyBI,GAC9BnD,KAAKU,eAAeqC,IAAQR,SAAQS,GAAYA,KAAYG,IAChE,CAEA,IAAAf,GACSpC,KAAKY,QAAQZ,KAAKQ,UAAU+B,SAAQC,IAChCxC,KAAKiB,wBAAwBuB,EAAMY,SAAS,IAGrDpD,KAAKc,MAAQuC,sBAAsBrD,KAAKoC,KAAKkB,KAAKtD,MACtD,CAEA,QAAAuD,CAASC,GACL,MAAOnD,EAAOoD,GAAgBC,EAAsBF,GAAS,CAACxB,EAAK2B,KAC/D3D,KAAK4D,cAAa,CAACpB,EAAOqB,KACtB,MAAMC,EAAO,IAAIC,EAAK,IACfJ,EAAK3C,QACRgD,UAAW,WACXhC,CAACA,GAAM2B,EAAKM,IAAIJ,KAGpBrB,EAAMjB,KAAKuC,EAAK,GAClB,IAGN9D,KAAKK,MAAQA,EACbL,KAAKM,eAAiBmD,CAC1B,CAEA,QAAAS,CAASC,EAAcC,GACnB,KAAMD,aAAmBE,aAAeF,aAAmBG,aAAetE,KAAKO,OAAOgE,IAAIJ,GAAU,OAEpG,MAAM3B,EAAQ,IAAIgC,EAAML,EAASnE,KAAKe,MAAOf,KAAKoB,OAC9CqD,EAAazE,KAAKL,oBAA2B,MAEjDK,KAAKO,OAAOwB,IAAIoC,GAChBnE,KAAKQ,UAAUkE,OAAON,EAAO,EAAG5B,GAEb,YAAfxC,KAAKW,OAAuB8D,GAAYA,EAAWlC,SAAQoC,GAAanC,EAAMjB,KAAKvB,KAAKN,MAAMiF,KACtG,CAEA,kBAAAC,CAAmBC,EAAsBC,GAAU,GAC/C,MAAM9C,EAAM8C,EAAU,UAAY,YAClC,GAAI9C,KAAOhC,KAAKS,cAAe,OAAOT,KAAKS,cAAcuB,GAEzD,MACItC,GADeM,KAAKL,oBAAoBsC,OAAS,IAE5C8C,KAAIJ,GAAa3E,KAAKN,MAAMiF,KAC5BK,QAAOlB,IAASA,EAAKmB,UAS9B,OAPIvF,EAAMwF,OACNL,EAASd,EAAKa,mBAAmBlF,EAAOmF,EAAQC,GAE5C9E,KAAKC,SACL4E,EAAS7E,KAAKC,OAAO2E,mBAAmBC,EAAQC,IAGjD9E,KAAKS,cAAcuB,GAAO6C,CACrC,CAEA,OAAAM,CAAQrB,EAAY9C,GAChB,GAAI8C,EAAKmB,QAAS,OAAO,EAEzB,MAAMG,SAAEA,EAAQC,MAAEA,EAAKC,WAAEA,GAAexB,EAAKyB,UAAUvE,GACvD,OAAQoE,EAAWE,EAAaD,GAAS,IAAOG,KAAKC,IAAID,KAAKE,IAAI1F,KAAKO,OAAOoF,KAAM3F,KAAKD,cAAgB,EAAG,GAAKC,KAAKF,OAC1H,CAEA,OAAAoC,CAAQY,EAAsB9B,EAA4B,IACtD,IAAIyD,EAAazE,KAAKL,oBAAoBmD,GACtC8C,EAAU,EAId,OAFInB,GAAYA,EAAWlC,SAAQoC,GAAaiB,EAAUJ,KAAKC,IAAIzF,KAAK6F,KAAKlB,EAAW3D,GAAU4E,KAE3FA,CACX,CAEA,IAAAC,CAAKlB,GAAqBmB,QAAEA,EAAU,UAAST,MAAEA,EAAQ,EAACU,IAAEA,KAAQ/E,GAA8B,IAC9F,GAAIhB,KAAKY,QAAWZ,KAAKC,SAAW8F,EAAM,OAAO,EAEjD,IAAIjC,EAA4B,iBAAda,EAAyB3E,KAAKN,MAAMiF,GAAaA,EAC/DoB,GAAOA,KAAO/F,KAAKN,QAAOoE,EAAO9D,KAAKN,MAAMqG,IAC3CA,GAA4B,iBAAdpB,IAAwBoB,EAAMpB,GAEjD,MAAMS,EAAWpF,KAAKmF,QAAQrB,EAAM9C,GAC9BgF,EAAehG,KAAK8F,QAAQhC,EAAM,IACjC9C,EACHqE,MAAmB,YAAZS,EAAwBT,EAAQD,EAAWC,EAClDU,QAGJ,OAAO/F,KAAKuB,KAAKuC,EAAM,IAChB9C,EACHqE,MAAmB,YAAZS,EAAwBE,EAAeX,EAAQA,EACtDU,OAER,CAEA,OAAAD,CAAQhC,EAAY9C,GAChB,IAAI4E,EAAU,EAMd,OAJA5F,KAAKE,WAAWqC,SAAQ0D,IACpBL,EAAUJ,KAAKC,IAAIG,EAASK,EAASJ,KAAK/B,EAAM9C,GAAS,IAGtD4E,CACX,CAEA,YAAAhC,CAAaZ,GACT,IAAIa,EAAI,EAER,KAAOA,EAAI7D,KAAKO,OAAOoF,MAAM,CACzB,MAAMnD,EAAQxC,KAAKQ,UAAUqD,GAExBrB,EAAM2B,QAAQ+B,YAMnBlD,EAASR,EAAOqB,MALZ7D,KAAKO,OAAOsC,OAAOL,EAAM2B,SACzBnE,KAAKQ,UAAUkE,OAAOb,EAAG,GAKjC,CACJ,CAEA,IAAAtC,CAAKuC,GAAYqC,SAAEA,EAAQd,MAAEA,EAAQ,EAACU,IAAEA,KAAQ/E,IAC5C,GAAI8C,EAAKmB,QAAS,OAAO,EAEzB,IAAIW,EAAU,EAYd,OAXA5F,KAAK4D,cAAa,CAACpB,EAAOqB,KAClBsC,GAAU3D,EAAM4D,QAEpB,MAAMC,EAAQ7D,EAAMjB,KAAKuC,EAAM,IACxB9C,EACHqE,MAAOA,EAAQG,KAAKE,IAAI7B,EAAG7D,KAAKD,aAAe,GAAKC,KAAKF,SAC1D+D,IAAM7D,KAAKO,OAAOoF,KAAO,EAAI,IAAM3F,KAAKkD,SAAS,eAAgB6C,QAAO7E,GAE3E0E,EAAUJ,KAAKC,IAAIG,EAASS,EAAM,IAG/BT,CACX,CAEA,UAAA/F,CAAWyG,EAAsBtF,EAA6BhB,KAAKmB,0BAC3DnB,KAAKY,SAETZ,KAAKQ,UAAU+B,SAAQ,CAACC,EAAOqB,KAC3B,MAAM9C,MAAEA,GAAUuF,GAAQzC,EAAIyC,EAAK/F,OAAOoF,KAAOW,EAAK9F,UAAUqD,GAAK,CAAA,EAErErB,EAAM3C,WAAWkB,EAAOC,EAAQ,IAGpChB,KAAKkD,SAAS,mBAClB,CAEA,YAAAqD,CAAa3F,GACTZ,KAAKQ,UAAU+B,SAAQC,GAASA,EAAMgE,OAAO5F,KAC7CZ,KAAKY,OAASA,EAEdZ,KAAKE,WAAWqC,SAAQ0D,GAAYA,EAASM,aAAa3F,IAC9D,CAEA,IAAA0B,CAAKqC,GACD3E,KAAKQ,UAAU+B,SAAQC,GAASA,EAAM4D,MAAMzB,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","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","stop","forEach","track","snapshot","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","map","filter","isEmpty","length","pretime","duration","delay","iterations","getConfig","Math","max","min","size","elapsed","animation","play","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle"],"mappings":"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"}
@@ -1,2 +1,2 @@
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 r=1e-4;function s(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 c(...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 a(t,n){for(const e in t){const o=t[e];if("object"!=typeof o)continue;const{on:r,...s}="on"in o?o:{on:o};n(e,r,s)}}function u(t){const n={};return a(t,((t,e)=>{n[t]=e})),n}function l(t,n){return t.forEach(((t,e)=>{if(t!==n[e]&&!1!==n[e])return!0})),!1}function h(t){const n={};return a(t,((t,e)=>{["mount","unmount"].forEach((o=>{e.includes(o)&&(o in n||(n[o]=[]),n[o].push(t))}))})),n}function p(t){let n,e=[],o=0;for(let s=0;s<t.length;s++){const i=t[s],f=Math.round(s/(t.length-1)/r)*r;if(null===i)continue;const c="object"!=typeof i?{offset:f,to:i}:i;"offset"in c||(c.offset=f),e.push(c);const a=c.to||c.after;n===a&&o++,n=a}return o===e.length?null:e}function g(t,n,e,o){t.has(n)||t.set(n,{offset:n});const r=t.get(n);if("strokeLength"===e)return r.strokeDashoffset=2-o;r[e]=o}function m(t,n){const o=new Map;for(const s in t){const i=t[s];if(i instanceof e)continue;const f=Array.isArray(i)?i:[i];f.length<2&&f.unshift(n[s]??null);const c=p(f);if(c)for(let{to:t,after:n,offset:e}of c)void 0!==n&&(1===e&&(e-=r),g(o,e+r,s,n)),void 0!==t&&g(o,e,s,t)}return Array.from(o.values()).sort(((t,n)=>t.offset-n.offset))}function y(t,n,e){if(/^\s*$|0px/.test(t))return t;const o=t.split(/\s*\/\s*/);return o.length<2&&(o[1]=o[0]),o.map(((t,o)=>t.split(" ").map((t=>parseFloat(t)*e[o]/n[o]+(t.match(/[^\d\.]+$/)?.[0]||"px"))).join(" "))).join("/")}function d(t,n,e){if(/^\s*$|none/.test(t))return t;const[o,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(...e)/Math.max(...n),l=new Array(3).fill([i*e[0]/n[0],f*e[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=>`${o} ${t.map((t=>`${t}px`)).join(" ")}${s?" inset":""}`)).join(", ")}function $(t,n,e){let r,i=t;for(;i=i?.parentElement;)if(i.dataset.lively){r=o(i.dataset.lively,0);break}if(!i||!r||!r.trackList.some((t=>t.animations.length||t.correctAfterEnded)))return;const{width:f,height:c}=i.getBoundingClientRect(),a=s(i.offsetWidth/f),u=s(i.offsetHeight/c),l="center"===e.x?0:(t.offsetWidth-t.offsetWidth*a)/2*("right"===e.x?1:-1),h="center"===e.y?0:(t.offsetHeight-t.offsetHeight*u)/2*("bottom"===e.y?1:-1);t.style.transform=`translate(${l-2*n[0]}px, ${h-2*n[1]}px) scale(${a}, ${u}) translate(${n[0]/a}px, ${n[1]/u}px)`}function x(n,e,o="_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=o+(null!==i?`${i}_`:n);"object"==typeof s.triggers&&(s.triggers._livelyId=f,e.delete(f)),x(s.children,e,f)}return e}function k(n,e){const o=Array.isArray(n)?n:[n],r=[];for(let n=0;n<o.length;n++){if(!t(o[n]))continue;const{key:s}=o[n],i="_la"+(null!==s?`${s}_`:n);e.has(i)&&r.push([n,o[n]])}return r}const j={duration:0,delay:1,repeat:2,alternate:3,reverse:4,easing:5,composite:6};function A(t,o){const r={},s=[];if(!(t instanceof n))for(const n in t){let i=t[n];"object"==typeof i||n in j||(i=new e(i)),i instanceof e&&(s.push(i.on("change",(()=>o(n,i)))),r[n]=i)}return[r,()=>s.forEach((t=>t()))]}function b(t,n){const e={};for(const o in t)e[o]=t[o].get(n);return e}export{j as ClipConfigKeys,g as addKeyframeEntry,i as asArray,s as clampLowerBound,$ as correctForParentScale,A as extractAnimationLinks,x as filterRemovedAnimators,a as forEachTrigger,b as getInitialStyleFromLinks,h as getLifeCycleAnimations,k as getRemovedAnimators,r as keyframeEpsilon,f as mergeRefs,c as mergeStyles,m as parseClipKeyframes,y as scaleCorrectRadius,d as scaleCorrectShadow,u as serializeTriggers,l as shouldTrigger,p 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 r=1e-4;function s(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 c(...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 a(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 u(t){const n={};return a(t,((t,e)=>{n[t]=e})),n}function l(t){const n={};return a(t,((t,e,o)=>{["mount","unmount"].forEach((r=>{const s=e.indexOf(r);s<0||(r in n||(n[r]=[]),n[r].push([t,o[s]]))}))})),n}function h(t){let n,e=[],o=0;for(let s=0;s<t.length;s++){const i=t[s],f=Math.round(s/(t.length-1)/r)*r;if(null===i)continue;const c="object"!=typeof i?{offset:f,to:i}:i;"offset"in c||(c.offset=f),e.push(c);const a=c.to||c.after;n===a&&o++,n=a}return o===e.length?null:e}function p(t,n,e,o){t.has(n)||t.set(n,{offset:n});const r=t.get(n);if("strokeLength"===e)return r.strokeDashoffset=2-o;r[e]=o}function g(t,n){const o=new Map;for(const s in t){const i=t[s];if(i instanceof e)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:e}of c)void 0!==n&&(1===e&&(e-=r),p(o,e+r,s,n)),void 0!==t&&p(o,e,s,t)}return Array.from(o.values()).sort(((t,n)=>t.offset-n.offset))}function m(t,n,e){if(/^\s*$|0px/.test(t))return t;const o=t.split(/\s*\/\s*/);return o.length<2&&(o[1]=o[0]),o.map(((t,o)=>t.split(" ").map((t=>parseFloat(t)*e[o]/n[o]+(t.match(/[^\d\.]+$/)?.[0]||"px"))).join(" "))).join("/")}function y(t,n,e){if(/^\s*$|none/.test(t))return t;const[o,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(...e)/Math.max(...n),l=new Array(3).fill([i*e[0]/n[0],f*e[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=>`${o} ${t.map((t=>`${t}px`)).join(" ")}${s?" inset":""}`)).join(", ")}function d(t,n,e){let r,i=t;for(;i=i?.parentElement;)if(i.dataset.lively){r=o(i.dataset.lively,0);break}if(!i||!r||!r.trackList.some((t=>t.animations.length||t.correctAfterEnded)))return;const{width:f,height:c}=i.getBoundingClientRect(),a=s(i.offsetWidth/f),u=s(i.offsetHeight/c),l="center"===e.x?0:(t.offsetWidth-t.offsetWidth*a)/2*("right"===e.x?1:-1),h="center"===e.y?0:(t.offsetHeight-t.offsetHeight*u)/2*("bottom"===e.y?1:-1);t.style.transform=`translate(${l-2*n[0]}px, ${h-2*n[1]}px) scale(${a}, ${u}) translate(${n[0]/a}px, ${n[1]/u}px)`}function x(n,e,o="_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=o+(null!==i?`${i}_`:n);"object"==typeof s.triggers&&(s.triggers._livelyId=f,e.delete(f)),x(s.children,e,f)}return e}function $(n,e){const o=Array.isArray(n)?n:[n],r=[];for(let n=0;n<o.length;n++){if(!t(o[n]))continue;const{key:s}=o[n],i="_la"+(null!==s?`${s}_`:n);e.has(i)&&r.push([n,o[n]])}return r}const k={duration:0,delay:1,repeat:2,alternate:3,reverse:4,easing:5,composite:6};function j(t,o){const r={},s=[];if(!(t instanceof n))for(const n in t){let i=t[n];"object"==typeof i||n in k||(i=new e(i)),i instanceof e&&(s.push(i.on("change",(()=>o(n,i)))),r[n]=i)}return[r,()=>s.forEach((t=>t()))]}function A(t,n){const e={};for(const o in t)e[o]=t[o].get(n);return e}export{k as ClipConfigKeys,p as addKeyframeEntry,i as asArray,s as clampLowerBound,d as correctForParentScale,j as extractAnimationLinks,x as filterRemovedAnimators,a as forEachTrigger,A as getInitialStyleFromLinks,l as getLifeCycleAnimations,$ as getRemovedAnimators,r as keyframeEpsilon,f as mergeRefs,c as mergeStyles,g as parseClipKeyframes,m as scaleCorrectRadius,y as scaleCorrectShadow,u as serializeTriggers,h 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","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","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","test","split","axis","parseFloat","match","join","scaleCorrectShadow","shadow","color","params","inset","ofx","ofy","blr","spr","ratio","shadows","fill","val","correctForParentScale","element","align","animator","parent","parentElement","dataset","lively","getParentAnimator","trackList","some","track","correctAfterEnded","width","height","getBoundingClientRect","x","offsetWidth","y","offsetHeight","dx","dy","style","transform","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","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","scaleCorrectRadius","radius","scale","previousScale","test","split","axis","parseFloat","match","join","scaleCorrectShadow","shadow","color","params","inset","ofx","ofy","blr","spr","ratio","shadows","fill","val","correctForParentScale","element","align","animator","parent","parentElement","dataset","lively","getParentAnimator","trackList","some","track","correctAfterEnded","width","height","getBoundingClientRect","x","offsetWidth","y","offsetHeight","dx","dy","style","transform","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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"}
@@ -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":""}
@@ -4,8 +4,8 @@ import { CacheKey, CorrectionAlignment } from "./core/track";
4
4
  import { TransitionOptions } from "./core/animation-link";
5
5
  export type AnimateTriggers<T extends string> = {
6
6
  [key in T]?: AnimationTrigger[] | ({
7
- on: AnimationTrigger[];
8
- } & AnimationOptions);
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 default class Animator<T extends string> {
19
19
  [key in T]: Clip;
20
20
  };
21
21
  lifeCycleAnimations: {
22
- [key in LifeCycleTrigger]?: T[];
22
+ [key in LifeCycleTrigger]?: [T, AnimationOptions][];
23
23
  };
24
24
  links: {
25
25
  [key in ClipKey]?: AnimationLink<any>;
@@ -50,7 +50,7 @@ export default class Animator<T extends string> {
50
50
  [key in T]: Clip;
51
51
  };
52
52
  lifeCycleAnimations: {
53
- [key in LifeCycleTrigger]?: T[];
53
+ [key in LifeCycleTrigger]?: [T, AnimationOptions][];
54
54
  };
55
55
  deformCorrection?: CorrectionAlignment | boolean;
56
56
  transition?: TransitionOptions & {
@@ -68,7 +68,7 @@ export default class Animator<T extends string> {
68
68
  tick(): void;
69
69
  addLinks(animate: Clip | ClipOptions): void;
70
70
  addTrack(element: any, index: number): void;
71
- mergeInitialStyles(styles: ClipInitials, mounted?: boolean): ClipInitials;
71
+ mergeInitialStyles(styles: ClipInitials, mode: 'mounted' | 'unmounted'): ClipInitials;
72
72
  pretime(clip: Clip, options: AnimationOptions): number;
73
73
  trigger(on: LifeCycleTrigger, options?: AnimationOptions): number;
74
74
  play(animation: T | Clip, { cascade, delay, tag, ...options }?: AnimationOptions): number;
@@ -8,14 +8,13 @@ export declare function clampLowerBound(num: number, precision?: number): number
8
8
  export declare const asArray: (value: number | number[]) => number[];
9
9
  export declare function mergeRefs(...refs: React.Ref<any>[]): (value: any) => void;
10
10
  export declare function mergeStyles(...stylesList: (ClipInitials | undefined)[]): import("react").CSSProperties;
11
- 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;
12
12
  export declare function serializeTriggers<T extends string>(triggers: AnimateTriggers<T>): {
13
13
  [key: string]: any[];
14
14
  };
15
- export declare function shouldTrigger(previous: any[], current: any[]): boolean;
16
15
  export declare function getLifeCycleAnimations<T extends string>(triggers: AnimateTriggers<T>): {
17
- mount?: T[] | undefined;
18
- unmount?: T[] | undefined;
16
+ mount?: [T, AnimationOptions][] | undefined;
17
+ unmount?: [T, AnimationOptions][] | undefined;
19
18
  };
20
19
  export declare function transformKeyframeList(list: ClipKeyframe[]): {
21
20
  to?: string | number;
@@ -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.2",
3
+ "version": "5.0.0-alpha.3",
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