@infinityfx/lively 5.0.0-alpha.5 → 5.0.0-alpha.6

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 l}from"react";import d from"./core/animator.js";import u from"./core/clip.js";import{serializeTriggers as f,getLifeCycleAnimations as p,forEachTrigger as g,mergeStyles as y,getInitialStyleFromLinks as h,mergeRefs as j}from"./core/utils.js";import{LayoutGroupContext as k}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 b({ref:n,children:b,inherit:x=!1,initial:z={},animate:A={},triggers:I={animate:["mount"]},stagger:S=.07,staggerLimit:T=10,deformCorrection:_,transition:D,morph:O,clips:P,paused:q=!1,onAnimationEnd:B}){const F=I._livelyId??"_la"+e(),G=r(C),H=r(k),J=i(f(I)),K=i(null),M=i(null);if(!M.current){const t={animate:A instanceof u?A:new u(A,z)};for(const n in P)t[n]=P[n]instanceof u?P[n]:new u(P[n],z);const n=M.current=new d({id:F,clips:t,lifeCycleAnimations:p(I),deformCorrection:_,transition:D,stagger:S,staggerLimit:T});n.register(G,x),n.addLinks(A)}const{current:N}=M,Q=v(H,F);return o(n,(()=>N),[]),s((()=>{if(N.register(G,x,O),N.addLinks(A),O){const t=K.current||w(O,F);K.current=t,t&&(N.transition(t),L(O,t.id),N.state="mounted")}v(H,F)&&(N.state="mounted"),document.fonts.ready.finally((()=>N.mount()));const t=()=>N.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{N.dispose(O),E(H,F),window.removeEventListener("resize",t)}}),[]),a((()=>{g(I,((t,n,e)=>{const r=J.current[t];n.forEach(((n,i)=>{r[i]!==n&&!1!==n&&N.play(t,Object.assign({tag:t},e[i])),r[i]=n}))}))}),[I]),a((()=>{if(!(A instanceof u||"mounted"!==N.state))for(const t in A){const n=A[t];t in N.links&&"object"!=typeof n&&N.links[t].set(n,{duration:A.duration,easing:A.easing})}}),[A]),a((()=>(B&&N.on("animationend",B),()=>{B&&N.off("animationend",B)})),[B]),a((()=>N.setPlayState(q)),[q]),t(C,{value:F,children:c.map(b,((t,n)=>{if(!m(t))return t;let{ref:e,style:r}=t.props;return r=y(r,N.mergeInitialStyles(z,Q?"mounted":"unmounted"),h(N.links,n)),l(t,{ref:j(e||null,(t=>N.addTrack(t,n))),style:r,pathLength:"strokeDasharray"in r?1:void 0,"data-lively":F})}))})}export{C as AnimateContext,b 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 u}from"react";import d from"./core/animator.js";import l from"./core/clip.js";import{serializeTriggers as f,getLifeCycleAnimations as p,forEachTrigger as g,mergeStyles as y,getInitialStyleFromLinks as h,mergeRefs as j}from"./core/utils.js";import{LayoutGroupContext as k}from"./layout-group.js";import{registerToLayoutGroup as w,getMorphTarget as v,deleteMorphTarget as L,unregisterFromLayoutGroup as E}from"./core/state.js";const C=n("");function b({ref:n,children:b,inherit:x=!1,initial:z={},animate:A={},triggers:D={animate:["mount"]},stagger:I=.07,staggerLimit:S=10,deformCorrection:T,transition:_,morph:M,clips:O,paused:P=!1,onAnimationEnd:q}){const B=D._livelyId??"_la"+e(),F=r(C),G=r(k),H=i(0),J=i(w(G,B)),K=i(null),N=i(f(D)),Q=i(null);if(!Q.current){const t={animate:A instanceof l?A:new l(A,z)};for(const n in O)t[n]=O[n]instanceof l?O[n]:new l(O[n],z);const n=Q.current=new d({id:B,clips:t,lifeCycleAnimations:p(D),deformCorrection:T,transition:_,stagger:I,staggerLimit:S});n.register(F,x,M),n.addLinks(A)}const{current:R}=Q;return o(n,(()=>R),[]),s((()=>{if(H.current=Date.now(),R.register(F,x,M),R.addLinks(A),M){const t=K.current||v(M,B);K.current=t,t&&(R.isMounting=!0,R.transition(t),L(M,t.id),R.state="mounted",t.hide())}w(G,B),J.current&&(R.state="mounted"),document.fonts.ready.finally((()=>R.mount()));const t=()=>R.forEachTrack((t=>t.snapshot()));return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t),R.dispose(M),E(G,B)}}),[]),a((()=>{g(D,((t,n,e)=>{const r=N.current[t];n.forEach(((n,i)=>{r[i]!==n&&!1!==n&&R.play(t,Object.assign({tag:t},e[i])),r[i]=n}))}))}),[D]),a((()=>{if(!(A instanceof l||"mounted"!==R.state))for(const t in A){const n=A[t];t in R.links&&"object"!=typeof n&&R.links[t].set(n,{duration:A.duration,easing:A.easing})}}),[A]),a((()=>(q&&R.on("animationend",q),()=>{q&&R.off("animationend",q)})),[q]),a((()=>R.setPlayState(P)),[P]),t(C,{value:B,children:c.map(b,((t,n)=>{if(!m(t))return t;let{ref:e,style:r}=t.props;return r=y(r,R.mergeInitialStyles(z,J.current?"mounted":"unmounted"),h(R.links,n)),u(t,{ref:j(e||null,(t=>R.addTrack(t,n))),style:r,pathLength:"strokeDasharray"in r?1:void 0,"data-lively":B})}))})}export{C as AnimateContext,b 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,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,s])=>e=Math.max(this.play(t,Object.assign(s,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 h from"./track.js";import{extractAnimationLinks as r}from"./utils.js";class o{constructor({id:t,clips:i,lifeCycleAnimations:s,deformCorrection:e,transition:a,stagger:n,staggerLimit:h}){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.isMounting=!0,this.paused=!1,this.timeout=0,this.frame=0;const{cache:r,...o}=a||{};this.id=t,this.clips=i,this.lifeCycleAnimations=s,this.ignoreScaleDeformation=void 0!==e&&!e,this.defaultTransitionOptions=o,this.cache=r||["x","y","sx","sy","rotate","borderRadius"],this.align="object"==typeof e?e:{x:"left",y:"top"},this.stagger=n,this.staggerLimit=h,void 0===e&&this.inherit.push("ignoreScaleDeformation"),void 0===e&&this.inherit.push("align"),a||this.inherit.push("defaultTransitionOptions"),r||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.onDisposeLinks?.(),cancelAnimationFrame(this.frame),this.trackList.forEach((t=>t.cache=t.snapshot())),this.state="unmounted",this.stop(),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]=r(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 h(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,s])=>e=Math.max(this.play(t,Object.assign(s,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 h=this.pretime(n,a),r=this.cascade(n,{...a,delay:"reverse"===i?s:h+s,tag:e});return this.push(n,{...a,delay:"reverse"===i?r+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(((h,r)=>{i&&h.clear();const o=h.push(t,{...a,delay:s+Math.min(r,this.staggerLimit-1)*this.stagger},r===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)))}hide(){this.trackList.forEach((t=>t.element.style.visibility="hidden"))}}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","name","mergeInitialStyles","styles","mode","map","filter","isEmpty","length","pretime","duration","delay","iterations","getConfig","Math","max","min","size","elapsed","opts","play","Object","assign","animation","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle"],"mappings":"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"}
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","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","map","filter","isEmpty","length","pretime","duration","delay","iterations","getConfig","Math","max","min","size","elapsed","opts","play","Object","assign","animation","cascade","tag","cascadeDelay","animator","isConnected","override","clear","added","from","setPlayState","toggle","hide","style","visibility"],"mappings":"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"}
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,s=!1){const i={backfaceVisibility:"hidden",willChange:"transform"};for(const t of e){const e=s!==t.reverse?t.keyframes.length-1:0,{offset:a,...r}=t.keyframes[e];Object.assign(i,r)}return Object.assign(i,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: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,direction:s?i?"alternate-reverse":"alternate":i?"reverse":"normal",easing:this.easing,composite:"combine"===a?"accumulate":"replace",blendmode:a,commit:r}}static mergeInitialStyles(e,t,s=!1){const i={backfaceVisibility:"hidden",willChange:"transform"};for(const t of e){const e=s!==t.reverse?t.keyframes.length-1:0,{offset:a,...r}=t.keyframes[e];Object.assign(i,r)}return Object.assign(i,t)}}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","mounted","merged","backfaceVisibility","willChange","clip","index","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,EAAsBC,GAAU,GACrE,MAAMC,EAAS,CACXC,mBAAoB,SACpBC,WAAY,aAGhB,IAAK,MAAMC,KAAQN,EAAO,CACtB,MAAMO,EAAQL,IAAYI,EAAKrB,QAAUqB,EAAKlB,UAAUK,OAAS,EAAI,GAC/De,OAAEA,KAAWP,GAAWK,EAAKlB,UAAUmB,GAC7CE,OAAOC,OAAOP,EAAQF,EAC1B,CAEA,OAAOQ,OAAOC,OAAOP,EAAQF,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","blendmode","mergeInitialStyles","clips","styles","mounted","merged","backfaceVisibility","willChange","clip","index","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,UAAWb,EACNC,EAAU,oBAA+B,YACzCA,EAAU,UAAqB,SACpCC,OAAQI,KAAKJ,OACbC,UAAyB,YAAdA,EAA0B,aAAwB,UAE7DW,UAAWX,EACXQ,SAER,CAEA,yBAAOI,CAAmBC,EAAeC,EAAsBC,GAAU,GACrE,MAAMC,EAAS,CACXC,mBAAoB,SACpBC,WAAY,aAGhB,IAAK,MAAMC,KAAQN,EAAO,CACtB,MAAMO,EAAQL,IAAYI,EAAKrB,QAAUqB,EAAKlB,UAAUK,OAAS,EAAI,GAC/De,OAAEA,KAAWP,GAAWK,EAAKlB,UAAUmB,GAC7CE,OAAOC,OAAOP,EAAQF,EAC1B,CAEA,OAAOQ,OAAOC,OAAOP,EAAQF,EACjC"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as t}from"react/jsx-runtime";import{createContext as r,useId as e,useRef as n,useState as o,useLayoutEffect as i,useEffect as a}from"react";import{filterRemovedAnimators as u,getRemovedAnimators as s}from"./core/utils.js";import{registerLayoutGroup as c,forEachAnimator as m,unregisterLayoutGroup as l}from"./core/state.js";const d=r("");function f({children:r,skipInitialMount:f=!1,mode:p="wait"}){const g="_lg"+e(),h=n(0),w=n(0),v=n(r),x=c(g,f),[M,j]=o(0),y=u(r,new Set(x.animators));if(y.size){if("sync"===p){const t=Array.isArray(r)?r.slice():[r];for(const[r,e]of s(v.current,y))t.splice(r,0,e);v.current=t}let t=0;m(y,(r=>{"mounted"===r.state&&(t=Math.max(t,r.trigger("unmount",{cascade:"reverse",composite:"override"})),r.state="unmounting",r.dispatch("unmount"))})),w.current=Math.max(w.current,Date.now()+1e3*t)}clearTimeout(h.current);const T=w.current-Date.now();return T>0?(m(x.animators,(t=>{"unmounting"!==t.state||y.has(t.id)||(t.trigger("mount",{override:!0}),t.state="mounted")})),h.current=setTimeout((()=>{v.current=r,j((t=>t+1))}),T)):"wait"===p&&(v.current=r),i((()=>{m(x.animators,(t=>{"mounted"===t.state&&t.transition()}))}),[r]),a((()=>(x.skipInitialMount=!1,()=>{l(g),clearTimeout(h.current)})),[]),t(d,{value:g,children:v.current})}export{d as LayoutGroupContext,f as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{createContext as r,useId as e,useRef as n,useState as o,useLayoutEffect as i,useEffect as a}from"react";import{filterRemovedAnimators as u,getRemovedAnimators as s}from"./core/utils.js";import{registerLayoutGroup as c,forEachAnimator as m,unregisterLayoutGroup as l}from"./core/state.js";const d=r("");function f({children:r,skipInitialMount:f=!1,mode:p="wait"}){const g="_lg"+e(),h=n(0),M=n(0),w=n(r),v=c(g,f),[x,j]=o(0),y=u(r,new Set(v.animators));if(y.size){if("sync"===p){const t=Array.isArray(r)?r.slice():[r];for(const[r,e]of s(w.current,y))t.splice(r,0,e);w.current=t}let t=0;m(y,(r=>{"mounted"===r.state&&(t=Math.max(t,r.trigger("unmount",{cascade:"reverse",composite:"override"})),t&&(r.state="unmounting",r.dispatch("unmount")))})),M.current=Math.max(M.current,Date.now()+1e3*t)}clearTimeout(h.current);const T=M.current-Date.now();return T>0?(m(v.animators,(t=>{"unmounting"!==t.state||y.has(t.id)||(t.trigger("mount",{override:!0}),t.state="mounted")})),h.current=setTimeout((()=>{w.current=r,j((t=>t+1))}),T)):"wait"===p&&(w.current=r),i((()=>{m(v.animators,(t=>{"mounted"!==t.state||t.isMounting||t.transition(),t.isMounting=!1}))}),[r]),a((()=>(v.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
@@ -41,6 +41,7 @@ export default class Animator<T extends string> {
41
41
  [key in AnimatorEvent]?: Set<(...args: any) => void>;
42
42
  };
43
43
  state: 'unmounted' | 'unmounting' | 'mounted';
44
+ isMounting: boolean;
44
45
  paused: boolean;
45
46
  timeout: number;
46
47
  frame: number;
@@ -78,4 +79,5 @@ export default class Animator<T extends string> {
78
79
  transition(from?: Animator<any>, options?: TransitionOptions): void;
79
80
  setPlayState(paused: boolean): void;
80
81
  stop(animation?: T): void;
82
+ hide(): void;
81
83
  }
@@ -39,7 +39,7 @@ export default class Clip {
39
39
  duration: number;
40
40
  delay: number;
41
41
  iterations: number;
42
- directions: "reverse" | "alternate" | "alternate-reverse" | "normal";
42
+ direction: "reverse" | "alternate" | "alternate-reverse" | "normal";
43
43
  easing: Easing;
44
44
  composite: "accumulate" | "replace";
45
45
  blendmode: BlendMode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinityfx/lively",
3
- "version": "5.0.0-alpha.5",
3
+ "version": "5.0.0-alpha.6",
4
4
  "type": "module",
5
5
  "description": "Feature complete, lightweight react animation library.",
6
6
  "main": "dist/index.js",