@infinityfx/lively 3.5.3 → 4.0.0-alpha.1

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 (62) hide show
  1. package/dist/animatable.js +1 -1
  2. package/dist/animate.js +1 -1
  3. package/dist/animations/fade.js +1 -1
  4. package/dist/animations/fade.js.map +1 -1
  5. package/dist/animations/move.js +1 -1
  6. package/dist/animations/move.js.map +1 -1
  7. package/dist/animations/pop.js +1 -1
  8. package/dist/animations/pop.js.map +1 -1
  9. package/dist/animations/scale.js +1 -1
  10. package/dist/animations/scale.js.map +1 -1
  11. package/dist/animations/wipe.js +1 -1
  12. package/dist/animations/wipe.js.map +1 -1
  13. package/dist/core/action.js +1 -1
  14. package/dist/core/action.js.map +1 -1
  15. package/dist/core/cache.js +1 -1
  16. package/dist/core/cache.js.map +1 -1
  17. package/dist/core/clip.js +1 -1
  18. package/dist/core/clip.js.map +1 -1
  19. package/dist/core/link.js +2 -0
  20. package/dist/core/link.js.map +1 -0
  21. package/dist/core/timeline.js +1 -1
  22. package/dist/core/timeline.js.map +1 -1
  23. package/dist/core/track.js +1 -1
  24. package/dist/core/track.js.map +1 -1
  25. package/dist/core/utils.js +1 -1
  26. package/dist/core/utils.js.map +1 -1
  27. package/dist/hooks/use-audio.js +1 -1
  28. package/dist/hooks/use-link.js +1 -1
  29. package/dist/hooks/use-link.js.map +1 -1
  30. package/dist/hooks/use-mount-effect.js +1 -1
  31. package/dist/hooks/use-mount-effect.js.map +1 -1
  32. package/dist/hooks/use-path.js +1 -1
  33. package/dist/hooks/use-path.js.map +1 -1
  34. package/dist/hooks/use-reduced-motion.js +1 -1
  35. package/dist/hooks/use-scroll.js +1 -1
  36. package/dist/hooks/use-trigger.js +2 -1
  37. package/dist/hooks/use-trigger.js.map +1 -1
  38. package/dist/hooks/use-viewport.js +1 -1
  39. package/dist/hooks/use-visible.js +1 -1
  40. package/dist/hooks.js +1 -1
  41. package/dist/layout/layout-group.js +1 -1
  42. package/dist/layout/morph.js +1 -1
  43. package/dist/layout/typable.js +1 -1
  44. package/dist/types/animatable.d.ts +6 -20
  45. package/dist/types/animate.d.ts +7 -8
  46. package/dist/types/core/clip.d.ts +2 -2
  47. package/dist/types/core/link.d.ts +14 -0
  48. package/dist/types/core/timeline.d.ts +4 -4
  49. package/dist/types/core/track.d.ts +0 -1
  50. package/dist/types/core/utils.d.ts +1 -1
  51. package/dist/types/hooks/use-audio.d.ts +2 -2
  52. package/dist/types/hooks/use-link.d.ts +1 -12
  53. package/dist/types/hooks/use-scroll.d.ts +1 -1
  54. package/dist/types/hooks/use-viewport.d.ts +1 -1
  55. package/dist/types/hooks.d.ts +1 -2
  56. package/dist/types/layout/morph.d.ts +8 -33
  57. package/dist/types/layout/typable.d.ts +2 -30
  58. package/package.json +10 -9
  59. package/tsconfig.json +1 -1
  60. package/dist/hooks/use-couple.js +0 -3
  61. package/dist/hooks/use-couple.js.map +0 -1
  62. package/dist/types/hooks/use-couple.d.ts +0 -1
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{__assign as n,__rest as r}from"tslib";import{jsx as e}from"react/jsx-runtime";import{createContext as t,forwardRef as i,useRef as a,useContext as o,useState as u,useCallback as d,useImperativeHandle as l,useEffect as c,Children as m,isValidElement as s,cloneElement as v}from"react";import f from"./core/clip.js";import p from"./core/timeline.js";import{merge as h,pick as g,combineRefs as y}from"./core/utils.js";var b=t(null);var x=i((function(t,i){var x=a(null),w=a([]),j=o(b),E=t.inherit&&j?h({},t,g(j,["group","animations","triggers","animate","initial","stagger","staggerLimit","deform","disabled","paused"])):t,L=E.id,A=void 0===L?"":L,k=E.inherit,z=E.triggers,C=void 0===z?[]:z,M=E.disabled,D=E.adaptive,F=void 0!==D&&D,N=E.manual,O=void 0!==N&&N,P=E.paused,T=void 0!==t.order?t.order:(k&&(null==j?void 0:j.index)||0)+1,V=a([]),q=u((function(){var n={animate:f.from(E.animate,E.initial)};for(var r in E.animations)n[r]=f.from(E.animations[r],E.initial);return n}))[0],B=a(new p(n(n({},E),{mountClips:C.reduce((function(n,r){var e=r.name;return"mount"===r.on&&n.push(q[e||"animate"]),n}),[])}))),G=d((function(n,r,e){var i;void 0===r&&(r={}),void 0===e&&(e=1);var a=q[n];if(M||T>1&&e<2)return 0;h(r,{reverse:null==a?void 0:a.reverse});for(var o=0,u=r.delay||0,d=a?B.current.time(a):0,l=0,c=w.current;l<c.length;l++){var m=c[l];(null===(i=m.current)||void 0===i?void 0:i.inherit)&&(o=Math.max(m.current.play(n,h({delay:u+d},r),e+1),o))}var s=(r.reverse?o:u)*(T/e);return a&&B.current.add(a,h({delay:s},r)),t.onAnimationEnd&&setTimeout(t.onAnimationEnd.bind({},n),1e3*(d+s)),d+s}),[M,T]);function H(n,e){void 0===e&&(e={});for(var t=0,i=0,a=C;i<a.length;i++){var o=a[i],u=o.name,d=o.on,l=r(o,["name","on"]);d===n&&(t=Math.max(G(u||"animate",h(l,e)),t))}return t}return l(y(x,i),(function(){return{play:G,trigger:H,timeline:B.current,children:w.current,inherit:k,adaptive:F,manual:O,id:A}}),[C]),c((function(){return B.current[P||M?"pause":"play"]()}),[P,M]),c((function(){for(var n=0;n<C.length;n++){var e=C[n],t=e.name,i=e.on,a=r(e,["name","on"]);if("string"!=typeof i){var o="boolean"==typeof i?i:i.called,u=V.current[n];void 0!==u&&o&&o!==u&&G(t||"animate",a),V.current[n]=o}}}),[C]),c((function(){B.current.connect(E.animate);var n=function(){return B.current.cache()};return window.addEventListener("resize",n),null==j||j.add(x),document.fonts.ready.then((function(){O||B.current.mounted||H("mount"),B.current.mounted=!0})),function(){window.removeEventListener("resize",n),null==j||j.remove(x)}}),[]),e(b.Provider,{value:n(n({},t.passthrough?j:n({index:T},E)),{add:function(n){t.passthrough&&(null==j||j.add(n)),w.current.includes(n)||w.current.push(n)},remove:function(n){t.passthrough&&(null==j||j.remove(n));var r=w.current.indexOf(n)||-1;r>=0&&w.current.splice(r,1)}}),children:m.map(t.children,(function(n){return!s(n)||n.type instanceof Function?n:v(n,{ref:y((function(n){return B.current.insert(n)}),n.ref),pathLength:1,style:h({backfaceVisibility:"hidden",willChange:"transform"},n.props.style,q.animate.initial,{strokeDasharray:1}),"data-lively-offset-boundary":!(!["x","y"].some((function(n){var r;return null===(r=t.cachable)||void 0===r?void 0:r.includes(n)}))&&void 0!==t.cachable)||void 0})}))})}));x.displayName="Animatable";export{b as AnimatableContext,x as default};
2
+ import{__rest as e}from"tslib";import{jsx as n}from"react/jsx-runtime";import{createContext as r,useRef as t,use as i,useMemo as a,useCallback as o,useImperativeHandle as s,useEffect as u,Children as l,isValidElement as c,cloneElement as d}from"react";import m from"./core/clip.js";import f from"./core/timeline.js";import{merge as p,pick as h,combineRefs as v}from"./core/utils.js";import g from"./hooks/use-mount-effect.js";const y=r(null);function b(r){const b=t(null),j=t([]),x=i(y),w=r.inherit&&x?p({},r,h(x,["group","animations","triggers","animate","initial","stagger","staggerLimit","deform","disabled","paused"])):r,{id:O="",inherit:k,triggers:E=[],disabled:L,adaptive:z=!1,manual:A=!1,paused:C}=w,M=void 0!==r.order?r.order:(k&&(null==x?void 0:x.index)||0)+1,D=t([]),F=a((()=>{const e={animate:m.from(w.animate,w.initial)};for(const n in w.animations)e[n]=m.from(w.animations[n],w.initial);return e}),[]),T=t(new f(Object.assign(Object.assign({},w),{mountClips:E.reduce(((e,{name:n,on:r})=>("mount"===r&&e.push(F[n||"animate"]),e)),[])}))),V=o(((e,n={},t=1)=>{var i;const a=F[e];if(L||M>1&&t<2)return 0;p(n,{reverse:null==a?void 0:a.reverse});let o=0,s=n.delay||0,u=a?T.current.time(a):0;for(const r of j.current)(null===(i=r.current)||void 0===i?void 0:i.inherit)&&(o=Math.max(r.current.play(e,p({delay:s+u},n),t+1),o));const l=(n.reverse?o:s)*(M/t);return a&&T.current.add(a,p({delay:l},n)),r.onAnimationEnd&&setTimeout(r.onAnimationEnd.bind({},e),1e3*(u+l)),u+l}),[L,M]);function q(n,r={}){let t=0;for(let i of E){const{name:a,on:o}=i,s=e(i,["name","on"]);o===n&&(t=Math.max(V(a||"animate",p(s,r)),t))}return t}return s(v(b,r.ref),(()=>({play:V,trigger:q,timeline:T.current,children:j.current,inherit:k,adaptive:z,manual:A,id:O})),[E]),u((()=>T.current[C||L?"pause":"play"]()),[C,L]),u((()=>{for(let n=0;n<E.length;n++){let r=E[n],{name:t,on:i}=r,a=e(r,["name","on"]);if("string"==typeof i)continue;const o="boolean"==typeof i?i:i.called,s=D.current[n];void 0!==s&&o&&o!==s&&V(t||"animate",a),D.current[n]=o}}),[E]),g((()=>(T.current.link(w.animate),window.addEventListener("resize",T.current.cache),null==x||x.add(b),document.fonts.ready.then((()=>{A||T.current.mounted||q("mount"),T.current.mounted=!0})),()=>{window.removeEventListener("resize",T.current.cache),T.current.unlink(),null==x||x.remove(b)})),[]),n(y,{value:Object.assign(Object.assign({},r.passthrough?x:Object.assign({index:M},w)),{add:e=>{r.passthrough&&(null==x||x.add(e)),j.current.includes(e)||j.current.push(e)},remove:e=>{r.passthrough&&(null==x||x.remove(e));const n=j.current.indexOf(e)||-1;n>=0&&j.current.splice(n,1)}}),children:l.map(r.children,(e=>!c(e)||e.type instanceof Function?e:d(e,{ref:v((e=>T.current.insert(e)),e.ref),pathLength:1,style:p({backfaceVisibility:"hidden",willChange:"transform"},e.props.style,F.animate.initial,{strokeDasharray:1}),"data-lively-offset-boundary":!(!["x","y"].some((e=>{var n;return null===(n=r.cachable)||void 0===n?void 0:n.includes(e)}))&&void 0!==r.cachable)||void 0})))})}export{y as AnimatableContext,b as default};
3
3
  //# sourceMappingURL=animatable.js.map
package/dist/animate.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{__rest as i,__assign as r}from"tslib";import{jsx as n,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as e,isValidElement as a,cloneElement as m}from"react";import s from"./animatable.js";import l from"./animations/move.js";import p from"./animations/pop.js";var f=t((function(t,f){var c=t.children,d=t.animations,u=void 0===d?[l,p]:d,v=t.levels,h=void 0===v?2:v,j=i(t,["children","animations","levels"]);return n(o,{children:function i(o,t){void 0===t&&(t=h);for(var l,p=h-t;!(l=u[p])&&p>=0;)p--;return t<1||e.count(o)<1?o:n(s,r({},j,{ref:f,animate:l,inherit:t<h||j.inherit,children:e.map(o,(function(r){return a(r)?m(r,{},i(r.props.children,t-1)):r}))}))}(c)})}));f.displayName="Animate";export{f as default};
2
+ import{__rest as i}from"tslib";import{jsx as r,Fragment as t}from"react/jsx-runtime";import{Children as n,isValidElement as o,cloneElement as e}from"react";import m from"./animatable.js";import a from"./animations/move.js";import s from"./animations/pop.js";function l(l){var{children:p,animations:c=[a,s],levels:f=2}=l,h=i(l,["children","animations","levels"]);return r(t,{children:function i(t,a=f){let s,l=f-a;for(;!(s=c[l])&&l>=0;)l--;return a<1||n.count(t)<1?t:r(m,Object.assign({},h,{animate:s,inherit:a<f||h.inherit,children:n.map(t,(r=>o(r)?e(r,{},i(r.props.children,a-1)):r))}))}(p)})}export{l as default};
3
3
  //# sourceMappingURL=animate.js.map
@@ -1,2 +1,2 @@
1
- import o from"../core/clip.js";var a=new o({opacity:1,duration:.65},{opacity:0});export{a as default};
1
+ import o from"../core/clip.js";const t=new o({opacity:1,duration:.65},{opacity:0});export{t as default};
2
2
  //# sourceMappingURL=fade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fade.js","sources":["../../src/animations/fade.ts"],"sourcesContent":[null],"names":["Fade","Clip","opacity","duration"],"mappings":"+BAEA,IAAMA,EAAO,IAAIC,EAAK,CAClBC,QAAS,EACTC,SAAU,KACX,CACCD,QAAS"}
1
+ {"version":3,"file":"fade.js","sources":["../../src/animations/fade.ts"],"sourcesContent":[null],"names":["Fade","Clip","opacity","duration"],"mappings":"+BAEA,MAAMA,EAAO,IAAIC,EAAK,CAClBC,QAAS,EACTC,SAAU,KACX,CACCD,QAAS"}
@@ -1,2 +1,2 @@
1
- import a from"../core/clip.js";var t=new a({opacity:1,translate:"0px 0px",duration:.5},{opacity:0,translate:"0px 20px"});export{t as default};
1
+ import t from"../core/clip.js";const a=new t({opacity:1,translate:"0px 0px",duration:.5},{opacity:0,translate:"0px 20px"});export{a as default};
2
2
  //# sourceMappingURL=move.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sources":["../../src/animations/move.ts"],"sourcesContent":[null],"names":["Move","Clip","opacity","translate","duration"],"mappings":"+BAEA,IAAMA,EAAO,IAAIC,EAAK,CAClBC,QAAS,EACTC,UAAW,UACXC,SAAU,IACX,CACCF,QAAS,EACTC,UAAW"}
1
+ {"version":3,"file":"move.js","sources":["../../src/animations/move.ts"],"sourcesContent":[null],"names":["Move","Clip","opacity","translate","duration"],"mappings":"+BAEA,MAAMA,EAAO,IAAIC,EAAK,CAClBC,QAAS,EACTC,UAAW,UACXC,SAAU,IACX,CACCF,QAAS,EACTC,UAAW"}
@@ -1,2 +1,2 @@
1
- import a from"../core/clip.js";var o=new a({opacity:1,scale:1,duration:.25},{opacity:0,scale:.85});export{o as default};
1
+ import o from"../core/clip.js";const a=new o({opacity:1,scale:1,duration:.25},{opacity:0,scale:.85});export{a as default};
2
2
  //# sourceMappingURL=pop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pop.js","sources":["../../src/animations/pop.ts"],"sourcesContent":[null],"names":["Pop","Clip","opacity","scale","duration"],"mappings":"+BAEA,IAAMA,EAAM,IAAIC,EAAK,CACjBC,QAAS,EACTC,MAAO,EACPC,SAAU,KACX,CACCF,QAAS,EACTC,MAAO"}
1
+ {"version":3,"file":"pop.js","sources":["../../src/animations/pop.ts"],"sourcesContent":[null],"names":["Pop","Clip","opacity","scale","duration"],"mappings":"+BAEA,MAAMA,EAAM,IAAIC,EAAK,CACjBC,QAAS,EACTC,MAAO,EACPC,SAAU,KACX,CACCF,QAAS,EACTC,MAAO"}
@@ -1,2 +1,2 @@
1
- import r from"../core/clip.js";var e=new r({scale:1},{transformOrigin:"left",scale:"0 1"});export{e as default};
1
+ import e from"../core/clip.js";const r=new e({scale:1},{transformOrigin:"left",scale:"0 1"});export{r as default};
2
2
  //# sourceMappingURL=scale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale.js","sources":["../../src/animations/scale.ts"],"sourcesContent":[null],"names":["Scale","Clip","scale","transformOrigin"],"mappings":"+BAEA,IAAMA,EAAQ,IAAIC,EAAK,CACnBC,MAAO,GACR,CACCC,gBAAiB,OACjBD,MAAO"}
1
+ {"version":3,"file":"scale.js","sources":["../../src/animations/scale.ts"],"sourcesContent":[null],"names":["Scale","Clip","scale","transformOrigin"],"mappings":"+BAEA,MAAMA,EAAQ,IAAIC,EAAK,CACnBC,MAAO,GACR,CACCC,gBAAiB,OACjBD,MAAO"}
@@ -1,2 +1,2 @@
1
- import t from"../core/clip.js";var e=new t({clipPath:"inset(0% 0% 0% 0%)"},{clipPath:"inset(0% 100% 0% 0%)"});export{e as default};
1
+ import t from"../core/clip.js";const e=new t({clipPath:"inset(0% 0% 0% 0%)"},{clipPath:"inset(0% 100% 0% 0%)"});export{e as default};
2
2
  //# sourceMappingURL=wipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wipe.js","sources":["../../src/animations/wipe.ts"],"sourcesContent":[null],"names":["Wipe","Clip","clipPath"],"mappings":"+BAEA,IAAMA,EAAO,IAAIC,EAAK,CAClBC,SAAU,sBACX,CACCA,SAAU"}
1
+ {"version":3,"file":"wipe.js","sources":["../../src/animations/wipe.ts"],"sourcesContent":[null],"names":["Wipe","Clip","clipPath"],"mappings":"+BAEA,MAAMA,EAAO,IAAIC,EAAK,CAClBC,SAAU,sBACX,CACCA,SAAU"}
@@ -1,2 +1,2 @@
1
- var i=function(){function i(i,t,n,o){void 0===o&&(o={}),this.commit=!0,this.onfinish=null,this.composite=n.composite,n.composite="combine"===n.composite?"accumulate":"replace",this.animation=i.element.animate(t,n),this.dynamic=o,this.track=i,this.animation.onfinish=this.finish.bind(this)}return i.prototype.finish=function(){var i;try{this.commit&&this.animation.commitStyles()}catch(i){}this.animation.cancel(),null===(i=this.onfinish)||void 0===i||i.call(this)},i.prototype.step=function(i){var t,n,o;if("paused"!==this.animation.playState){var a=(null===(t=this.animation.effect)||void 0===t?void 0:t.getComputedTiming().progress)||0;for(var s in this.dynamic){var e=null===(o=(n=this.dynamic)[s])||void 0===o?void 0:o.call(n,a,i);this.track.set(s,e)}}},i}();export{i as default};
1
+ class i{constructor(i,t,s,n={}){this.commit=!0,this.onfinish=null,this.composite=s.composite,s.composite="combine"===s.composite?"accumulate":"replace",this.animation=i.element.animate(t,s),this.dynamic=n,this.track=i,this.animation.onfinish=this.finish.bind(this)}finish(){var i;try{this.commit&&this.animation.commitStyles()}catch(i){}this.animation.cancel(),null===(i=this.onfinish)||void 0===i||i.call(this)}step(i){var t,s,n;if("paused"===this.animation.playState)return;const a=(null===(t=this.animation.effect)||void 0===t?void 0:t.getComputedTiming().progress)||0;for(const t in this.dynamic)this.track.apply(t,null===(n=(s=this.dynamic)[t])||void 0===n?void 0:n.call(s,a,i))}}export{i as default};
2
2
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../src/core/action.ts"],"sourcesContent":[null],"names":["Action","track","keyframes","config","dynamic","this","commit","onfinish","composite","animation","element","animate","finish","bind","prototype","commitStyles","ex","cancel","_a","call","step","index","playState","progress","effect","getComputedTiming","prop","val","_c","_b","set"],"mappings":"AAGA,IAAAA,EAAA,WASI,SAAAA,EAAYC,EAAcC,EAAkDC,EAAqFC,QAAA,IAAAA,IAAAA,EAA+B,CAAA,GANhMC,KAAMC,QAAY,EAIlBD,KAAQE,SAAwB,KAG5BF,KAAKG,UAAYL,EAAOK,UACvBL,EAAeK,UAAiC,YAArBL,EAAOK,UAA0B,aAAe,UAC5EH,KAAKI,UAAYR,EAAMS,QAAQC,QAAQT,EAAWC,GAClDE,KAAKD,QAAUA,EACfC,KAAKJ,MAAQA,EAEbI,KAAKI,UAAUF,SAAWF,KAAKO,OAAOC,KAAKR,KAC9C,CAuBL,OArBIL,EAAAc,UAAAF,OAAA,iBACI,IACQP,KAAKC,QAAQD,KAAKI,UAAUM,cACnC,CAAC,MAAOC,GAAM,CACfX,KAAKI,UAAUQ,SAEF,QAAbC,EAAAb,KAAKE,gBAAQ,IAAAW,GAAAA,EAAAC,KAAAd,OAGjBL,EAAIc,UAAAM,KAAJ,SAAKC,aACD,GAAiC,WAA7BhB,KAAKI,UAAUa,UAAnB,CAEA,IAAMC,WAAWL,EAAAb,KAAKI,UAAUe,6BAAQC,oBAAoBF,WAAY,EAExE,IAAK,IAAMG,KAAQrB,KAAKD,QAAS,CAC7B,IAAMuB,EAAsD,QAAhDC,GAAAC,EAAAxB,KAAKD,SAAQsB,UAAmC,IAAAE,OAAA,EAAAA,EAAAT,KAAAU,EAAAN,EAAUF,GAEtEhB,KAAKJ,MAAM6B,IAAIJ,EAAMC,EACxB,CARiD,GAWzD3B,CAAD"}
1
+ {"version":3,"file":"action.js","sources":["../../src/core/action.ts"],"sourcesContent":[null],"names":["Action","constructor","track","keyframes","config","dynamic","this","commit","onfinish","composite","animation","element","animate","finish","bind","commitStyles","ex","cancel","_a","call","step","index","playState","progress","effect","getComputedTiming","prop","apply","_b","_c"],"mappings":"AAGc,MAAOA,EASjB,WAAAC,CAAYC,EAAcC,EAAkDC,EAAqFC,EAA6B,CAAA,GAN9LC,KAAMC,QAAY,EAIlBD,KAAQE,SAAwB,KAG5BF,KAAKG,UAAYL,EAAOK,UACvBL,EAAeK,UAAiC,YAArBL,EAAOK,UAA0B,aAAe,UAC5EH,KAAKI,UAAYR,EAAMS,QAAQC,QAAQT,EAAWC,GAClDE,KAAKD,QAAUA,EACfC,KAAKJ,MAAQA,EAEbI,KAAKI,UAAUF,SAAWF,KAAKO,OAAOC,KAAKR,KAC9C,CAED,MAAAO,SACI,IACQP,KAAKC,QAAQD,KAAKI,UAAUK,cACnC,CAAC,MAAOC,GAAM,CACfV,KAAKI,UAAUO,SAEF,QAAbC,EAAAZ,KAAKE,gBAAQ,IAAAU,GAAAA,EAAAC,KAAAb,KAChB,CAED,IAAAc,CAAKC,aACD,GAAiC,WAA7Bf,KAAKI,UAAUY,UAAwB,OAE3C,MAAMC,WAAWL,EAAAZ,KAAKI,UAAUc,6BAAQC,oBAAoBF,WAAY,EAExE,IAAK,MAAMG,KAAQpB,KAAKD,QACpBC,KAAKJ,MAAMyB,MAAMD,EAAmD,WAA7CE,EAAAtB,KAAKD,SAAQqB,UAAgC,IAAAG,OAAA,EAAAA,EAAAV,KAAAS,EAAGL,EAAUF,GAExF"}
@@ -1,2 +1,2 @@
1
- import{__assign as e}from"tslib";import t from"./clip.js";var o=function(){function o(e,t){void 0===t&&(t=["x","y","sx","sy","borderRadius","backgroundColor","color","rotate","opacity"]),this.element=e,this.include=t,this.computed=getComputedStyle(e),this.data=this.read()}return o.prototype.read=function(){for(var e={},t=0,o=this.include;t<o.length;t++){var i=o[t];e[i]=this.computed[i]}if(this.element instanceof SVGElement)return e;e.sx=this.element.offsetWidth,e.sy=this.element.offsetHeight,e.x=e.sx/2,e.y=e.sy/2;for(var r=this.element;r&&(e.x+=r.offsetLeft,e.y+=r.offsetTop,!(null==(r=r.offsetParent)?void 0:r.dataset.livelyOffsetBoundary)););return e},o.prototype.update=function(){this.data=this.read()},o.prototype.difference=function(o,i){void 0===o&&(o=this.data);for(var r=i.duration,s=void 0===r?.5:r,n=i.easing,a=void 0===n?"ease":n,d=i.reverse,f=void 0!==d&&d,c=this.read(),u=[[1,1],[1,1]],p=[["0px","0px"],["0px","0px"]],l={duration:s,easing:a,reverse:f,composite:"combine"},h=e(e({},l),{composite:"override"}),m=0,v=this.include;m<v.length;m++){var x=v[m];switch(x){case"x":case"y":p[0]["x"==x?0:1]=o[x]-c[x]+"px";break;case"sx":case"sy":u[0]["sx"==x?0:1]=0===c[x]?1:o[x]/c[x];break;default:h[x]=[o[x],c[x]]}}return l.scale=u.map((function(e){return e.join(" ")})),l.translate=p.map((function(e){return e.join(" ")})),[new t(l),new t(h)]},o}();export{o as StyleCache};
1
+ import e from"./clip.js";class t{constructor(e,t=["x","y","sx","sy","borderRadius","backgroundColor","color","rotate","opacity"]){this.element=e,this.include=t,this.computed=getComputedStyle(e),this.data=this.read()}read(){const e={};for(const t of this.include)e[t]=this.computed[t];if(this.element instanceof SVGElement)return e;e.sx=this.element.offsetWidth,e.sy=this.element.offsetHeight,e.x=e.sx/2,e.y=e.sy/2;let t=this.element;for(;t&&(e.x+=t.offsetLeft,e.y+=t.offsetTop,t=t.offsetParent,!(null==t?void 0:t.dataset.livelyOffsetBoundary)););return e}update(){this.data=this.read()}difference(t=this.data,{duration:s=.5,easing:o="ease",reverse:i=!1}){const a=this.read(),r=[[1,1],[1,1]],n=[["0px","0px"],["0px","0px"]],c={duration:s,easing:o,reverse:i,composite:"combine"},d=Object.assign(Object.assign({},c),{composite:"override"});for(const e of this.include)switch(e){case"x":case"y":n[0]["x"==e?0:1]=t[e]-a[e]+"px";break;case"sx":case"sy":r[0]["sx"==e?0:1]=0===a[e]?1:t[e]/a[e];break;default:d[e]=[t[e],a[e]]}return c.scale=r.map((e=>e.join(" "))),c.translate=n.map((e=>e.join(" "))),[new e(c),new e(d)]}}export{t as StyleCache};
2
2
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sources":["../../src/core/cache.ts"],"sourcesContent":[null],"names":["StyleCache","element","include","this","computed","getComputedStyle","data","read","prototype","_i","_a","length","prop","SVGElement","sx","offsetWidth","sy","offsetHeight","x","y","parent","offsetLeft","offsetTop","offsetParent","dataset","livelyOffsetBoundary","update","difference","from","_b","duration","_c","easing","_d","reverse","to","scale","translate","keyframes1","composite","keyframes2","__assign","_e","key","map","val","join","Clip"],"mappings":"0DAeA,IAAAA,EAAA,WAOI,SAAYA,EAAAC,EAAmCC,QAAA,IAAAA,IAAAA,EAA0B,CAAA,IAAK,IAAK,KAAM,KAAM,eAAgB,kBAAmB,QAAS,SAAU,YACjJC,KAAKF,QAAUA,EACfE,KAAKD,QAAUA,EACfC,KAAKC,SAAWC,iBAAiBJ,GACjCE,KAAKG,KAAOH,KAAKI,MACpB,CA0DL,OAxDIP,EAAAQ,UAAAD,KAAA,WAII,IAHA,IAAMD,EAAO,CAAA,EAGMG,EAAA,EAAAC,EAAAP,KAAKD,QAALO,EAAYC,EAAAC,OAAZF,IAAY,CAA1B,IAAMG,EAAIF,EAAAD,GAAkBH,EAAKM,GAAQT,KAAKC,SAASQ,EAAe,CAE3E,GAAIT,KAAKF,mBAAmBY,WAAY,OAAOP,EAC/CA,EAAKQ,GAAKX,KAAKF,QAAQc,YACvBT,EAAKU,GAAKb,KAAKF,QAAQgB,aACvBX,EAAKY,EAAIZ,EAAKQ,GAAK,EACnBR,EAAKa,EAAIb,EAAKU,GAAK,EAGnB,IADA,IAAII,EAA6BjB,KAAKF,QAC/BmB,IACHd,EAAKY,GAAKE,EAAOC,WACjBf,EAAKa,GAAKC,EAAOE,YAGbF,OADJA,EAASA,EAAOG,mBACN,EAANH,EAAQI,QAAQC,yBAGxB,OAAOnB,GAGXN,EAAAQ,UAAAkB,OAAA,WACIvB,KAAKG,KAAOH,KAAKI,QAGrBP,EAAAQ,UAAAmB,WAAA,SAAWC,EAA6BlB,QAA7B,IAAAkB,IAAAA,EAAkBzB,KAAKG,MAQ9B,IARsC,IAAAuB,EAAAnB,EAAAoB,SAAAA,OAAQ,IAAAD,EAAG,GAAGA,EAAEE,WAAAC,OAAS,IAAAD,EAAA,SAAQE,EAAAvB,EAAAwB,QAAAA,OAAO,IAAAD,GAAQA,EAChFE,EAAKhC,KAAKI,OAEV6B,EAAQ,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,IACvBC,EAAY,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,QACnCC,EAA6B,CAAER,SAAQA,EAAEE,OAAMA,EAAEE,QAAOA,EAAEK,UAAW,WACvEC,EAAUC,EAAAA,EAAA,CAAA,EAAwBH,GAAU,CAAEC,UAAW,aAE3C9B,EAAA,EAAAiC,EAAAvC,KAAKD,QAALO,EAAYiC,EAAA/B,OAAZF,IAAc,CAA3B,IAAMkC,EAAGD,EAAAjC,GACV,OAAQkC,GACJ,IAAK,IACL,IAAK,IACDN,EAAU,GAAU,KAAPM,EAAa,EAAI,GAAKf,EAAKe,GAAOR,EAAGQ,GAAO,KACzD,MACJ,IAAK,KACL,IAAK,KACDP,EAAM,GAAU,MAAPO,EAAc,EAAI,GAAiB,IAAZR,EAAGQ,GAAa,EAAIf,EAAKe,GAAOR,EAAGQ,GACnE,MACJ,QAASH,EAAWG,GAAO,CAACf,EAAKe,GAAeR,EAAGQ,IAE1D,CAKD,OAHAL,EAAWF,MAAQA,EAAMQ,KAAI,SAAAC,GAAO,OAAAA,EAAIC,KAAK,IAAI,IACjDR,EAAWD,UAAYA,EAAUO,KAAI,SAAAC,GAAO,OAAAA,EAAIC,KAAK,IAAI,IAElD,CAAC,IAAIC,EAAKT,GAAa,IAAIS,EAAKP,KAG9CxC,CAAD"}
1
+ {"version":3,"file":"cache.js","sources":["../../src/core/cache.ts"],"sourcesContent":[null],"names":["StyleCache","constructor","element","include","this","computed","getComputedStyle","data","read","prop","SVGElement","sx","offsetWidth","sy","offsetHeight","x","y","parent","offsetLeft","offsetTop","offsetParent","dataset","livelyOffsetBoundary","update","difference","from","duration","easing","reverse","to","scale","translate","keyframes1","composite","keyframes2","Object","assign","key","map","val","join","Clip"],"mappings":"+BAeaA,EAOT,WAAAC,CAAYC,EAAmCC,EAAyB,CAAC,IAAK,IAAK,KAAM,KAAM,eAAgB,kBAAmB,QAAS,SAAU,YACjJC,KAAKF,QAAUA,EACfE,KAAKD,QAAUA,EACfC,KAAKC,SAAWC,iBAAiBJ,GACjCE,KAAKG,KAAOH,KAAKI,MACpB,CAED,IAAAA,GACI,MAAMD,EAAO,CAAA,EAGb,IAAK,MAAME,KAAQL,KAAKD,QAASI,EAAKE,GAAQL,KAAKC,SAASI,GAE5D,GAAIL,KAAKF,mBAAmBQ,WAAY,OAAOH,EAC/CA,EAAKI,GAAKP,KAAKF,QAAQU,YACvBL,EAAKM,GAAKT,KAAKF,QAAQY,aACvBP,EAAKQ,EAAIR,EAAKI,GAAK,EACnBJ,EAAKS,EAAIT,EAAKM,GAAK,EAEnB,IAAII,EAA6Bb,KAAKF,QACtC,KAAOe,IACHV,EAAKQ,GAAKE,EAAOC,WACjBX,EAAKS,GAAKC,EAAOE,UAEjBF,EAASA,EAAOG,eACZH,aAAM,EAANA,EAAQI,QAAQC,yBAGxB,OAAOf,CACV,CAED,MAAAgB,GACInB,KAAKG,KAAOH,KAAKI,MACpB,CAED,UAAAgB,CAAWC,EAAkBrB,KAAKG,MAAMmB,SAAEA,EAAW,GAAGC,OAAEA,EAAS,OAAMC,QAAEA,GAAU,IACjF,MAAMC,EAAKzB,KAAKI,OAEVsB,EAAQ,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,IACvBC,EAAY,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,QACnCC,EAA6B,CAAEN,WAAUC,SAAQC,UAASK,UAAW,WACvEC,EAAkCC,OAAAC,OAAAD,OAAAC,OAAA,GAAAJ,IAAYC,UAAW,aAE7D,IAAK,MAAMI,KAAOjC,KAAKD,QACnB,OAAQkC,GACJ,IAAK,IACL,IAAK,IACDN,EAAU,GAAU,KAAPM,EAAa,EAAI,GAAKZ,EAAKY,GAAOR,EAAGQ,GAAO,KACzD,MACJ,IAAK,KACL,IAAK,KACDP,EAAM,GAAU,MAAPO,EAAc,EAAI,GAAiB,IAAZR,EAAGQ,GAAa,EAAIZ,EAAKY,GAAOR,EAAGQ,GACnE,MACJ,QAASH,EAAWG,GAAO,CAACZ,EAAKY,GAAeR,EAAGQ,IAO3D,OAHAL,EAAWF,MAAQA,EAAMQ,KAAIC,GAAOA,EAAIC,KAAK,OAC7CR,EAAWD,UAAYA,EAAUO,KAAIC,GAAOA,EAAIC,KAAK,OAE9C,CAAC,IAAIC,EAAKT,GAAa,IAAIS,EAAKP,GAC1C"}
package/dist/core/clip.js CHANGED
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"tslib";import{isLink as t}from"../hooks/use-link.js";import i from"./action.js";import{normalizeAnimatableKeyframes as s,distributeAnimatableKeyframes as r,merge as o}from"./utils.js";var a=function(){function a(i,a){var n=i.duration,h=void 0===n?1:n,d=i.delay,l=void 0===d?0:d,m=i.repeat,v=void 0===m?1:m,f=i.alternate,p=void 0!==f&&f,c=i.easing,y=void 0===c?"ease":c,u=i.reverse,g=void 0!==u&&u,k=i.composite,j=void 0===k?"none":k,b=e(i,["duration","delay","repeat","alternate","easing","reverse","composite"]);void 0===a&&(a={}),this.dynamic={};var w={};for(var E in b){var O=b[E],A=a[E];if(E="strokeLength"===E?"strokeDashoffset":E,O instanceof Function)t(O)||(this.dynamic[E]=O);else{var q=Array.isArray(O)?O:[O];q.length<2&&void 0!==A&&q.unshift(A),null===q[0]&&(void 0!==A?q[0]=A:q.splice(0,1)),s(q)&&r(E,q,w)}}this.keyframes=Object.values(w),this.initial=o({},a,this.keyframes.length?this.keyframes[0]:{}),delete this.initial.offset,this.isEmpty=!this.keyframes.length&&!Object.keys(this.dynamic).length,this.duration=this.isEmpty?0:h,this.delay=l,this.repeat=v,this.alternate=p,this.easing=y,this.reverse=g,this.composite=j}return a.from=function(e,t){return e instanceof a?e:new a(e||{},t)},a.prototype.unique=function(e){var t=new a({});for(var i in this)this.hasOwnProperty(i)&&(t[i]=i in e?e[i]:this[i]);return t},a.prototype.play=function(e,t){var s=t.composite,r=void 0===s?this.composite:s,o=t.reverse,a=void 0===o?this.reverse:o,n=t.commit,h=void 0===n||n,d=t.delay,l=void 0===d?0:d;if(!this.isEmpty){var m=new i(e,this.keyframes,{duration:1e3*this.duration,delay:1e3*(l+this.delay),iterations:this.repeat,direction:this.alternate?a?"alternate-reverse":"alternate":a?"reverse":"normal",fill:"both",easing:this.easing,composite:r},this.dynamic);m.commit=h,e.push(m)}},a}();export{a as default};
1
+ import{__rest as t}from"tslib";import e from"./action.js";import{isLink as i}from"./link.js";import{normalizeAnimatableKeyframes as s,distributeAnimatableKeyframes as r,merge as n}from"./utils.js";class a{constructor(e,a){var{duration:o=1,delay:h=0,repeat:l=1,alternate:m=!1,easing:c="ease",reverse:f=!1,composite:y="none"}=e,p=t(e,["duration","delay","repeat","alternate","easing","reverse","composite"]);void 0===a&&(a={}),this.dynamic={};const d={};for(let t in p){let e=p[t],n=a[t];if(t="strokeLength"===t?"strokeDashoffset":t,e instanceof Function){i(e)||(this.dynamic[t]=e);continue}const o=Array.isArray(e)?e:[e];o.length<2&&void 0!==n&&o.unshift(n),null===o[0]&&(void 0!==n?o[0]=n:o.splice(0,1)),s(o)&&r(t,o,d)}this.keyframes=Object.values(d),this.initial=n({},a,this.keyframes.length?this.keyframes[0]:{}),delete this.initial.offset,this.isEmpty=!this.keyframes.length&&!Object.keys(this.dynamic).length,this.duration=this.isEmpty?0:o,this.delay=h,this.repeat=l,this.alternate=m,this.easing=c,this.reverse=f,this.composite=y}static from(t,e){return t instanceof a?t:new a(t||{},e)}unique(t){const e=new a({});for(const i in this)this.hasOwnProperty(i)&&(e[i]=i in t?t[i]:this[i]);return e}play(t,{composite:i=this.composite,reverse:s=this.reverse,commit:r=!0,delay:n=0}){if(this.isEmpty)return;const a=new e(t,this.keyframes,{duration:1e3*this.duration,delay:1e3*(n+this.delay),iterations:this.repeat,direction:this.alternate?s?"alternate-reverse":"alternate":s?"reverse":"normal",fill:"both",easing:this.easing,composite:i},this.dynamic);a.commit=r,t.push(a)}}export{a 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","_a","initial","_b","duration","_c","delay","_d","repeat","_e","alternate","_f","easing","_g","reverse","_h","composite","properties","__rest","this","dynamic","keyframes","prop","val","init","Function","isLink","arr","Array","isArray","length","undefined","unshift","splice","normalizeAnimatableKeyframes","distributeAnimatableKeyframes","Object","values","merge","offset","isEmpty","keys","from","data","prototype","unique","config","clip","key","hasOwnProperty","play","track","commit","action","Action","iterations","direction","fill","push"],"mappings":"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"}
1
+ {"version":3,"file":"clip.js","sources":["../../src/core/clip.ts"],"sourcesContent":[null],"names":["Clip","constructor","_a","initial","duration","delay","repeat","alternate","easing","reverse","composite","properties","__rest","this","dynamic","keyframes","prop","val","init","Function","isLink","arr","Array","isArray","length","undefined","unshift","splice","normalizeAnimatableKeyframes","distributeAnimatableKeyframes","Object","values","merge","offset","isEmpty","keys","from","data","unique","config","clip","key","hasOwnProperty","play","track","commit","action","Action","iterations","direction","fill","push"],"mappings":"qMAoCc,MAAOA,EAcjB,WAAAC,CAAYC,EAAiJC,GAAjJ,IAAAC,SAAEA,EAAW,EAACC,MAAEA,EAAQ,EAACC,OAAEA,EAAS,EAACC,UAAEA,GAAY,EAAKC,OAAEA,EAAS,OAAMC,QAAEA,GAAU,EAAKC,UAAEA,EAAY,QAAuCR,EAA5BS,EAAUC,EAAAV,EAA7H,+EAAiJ,IAAAC,IAAAA,EAAgC,CAAA,GAV7LU,KAAOC,QAAsB,GAWzB,MAAMC,EAEF,CAAA,EAEJ,IAAK,IAAIC,KAAQL,EAAY,CACzB,IAAIM,EAAMN,EAAWK,GAAwBE,EAAOf,EAAQa,GAG5D,GAFAA,EAAgB,iBAATA,EAA0B,mBAAqBA,EAElDC,aAAeE,SAAU,CACpBC,EAAOH,KAAMJ,KAAKC,QAAQE,GAAyBC,GACxD,QACH,CAED,MAAMI,EAAMC,MAAMC,QAAQN,GAAOA,EAAM,CAACA,GAEpCI,EAAIG,OAAS,QAAcC,IAATP,GAAoBG,EAAIK,QAAQR,GACvC,OAAXG,EAAI,UAAsBI,IAATP,EAAqBG,EAAI,GAAKH,EAAOG,EAAIM,OAAO,EAAG,IAEnEC,EAA6BP,IAElCQ,EAA8Bb,EAAMK,EAAYN,EACnD,CAEDF,KAAKE,UAAYe,OAAOC,OAAOhB,GAC/BF,KAAKV,QAAU6B,EAAM,CAAE,EAAE7B,EAASU,KAAKE,UAAUS,OAAUX,KAAKE,UAAU,GAAa,CAAE,UAElFF,KAAKV,QAAQ8B,OACpBpB,KAAKqB,SAAWrB,KAAKE,UAAUS,SAAWM,OAAOK,KAAKtB,KAAKC,SAASU,OACpEX,KAAKT,SAAWS,KAAKqB,QAAU,EAAI9B,EACnCS,KAAKR,MAAQA,EACbQ,KAAKP,OAASA,EACdO,KAAKN,UAAYA,EACjBM,KAAKL,OAASA,EACdK,KAAKJ,QAAUA,EACfI,KAAKH,UAAYA,CACpB,CAED,WAAO0B,CAAKC,EAA8BlC,GACtC,OAAOkC,aAAgBrC,EAAOqC,EAAO,IAAIrC,EAAKqC,GAAQ,CAAA,EAAIlC,EAC7D,CAED,MAAAmC,CAAOC,GACH,MAAMC,EAAO,IAAIxC,EAAK,CAAA,GAEtB,IAAK,MAAMyC,KAAO5B,KACVA,KAAK6B,eAAeD,KACnBD,EAAaC,GAAOA,KAAOF,EAASA,EAAOE,GAAgB5B,KAAK4B,IAIzE,OAAOD,CACV,CAED,IAAAG,CAAKC,GAAclC,UAAEA,EAAYG,KAAKH,UAASD,QAAEA,EAAUI,KAAKJ,QAAOoC,OAAEA,GAAS,EAAIxC,MAAEA,EAAQ,IAC5F,GAAIQ,KAAKqB,QAAS,OAElB,MAAMY,EAAS,IAAIC,EAAOH,EAAO/B,KAAKE,UAAW,CAC7CX,SAA0B,IAAhBS,KAAKT,SACfC,MAA8B,KAAtBA,EAAQQ,KAAKR,OACrB2C,WAAYnC,KAAKP,OACjB2C,UAAWpC,KAAKN,UACXE,EAAU,oBAAsB,YAChCA,EAAU,UAAY,SAC3ByC,KAAM,OACN1C,OAAQK,KAAKL,OACbE,aACDG,KAAKC,SAERgC,EAAOD,OAASA,EAEhBD,EAAMO,KAAKL,EACd"}
@@ -0,0 +1,2 @@
1
+ const e=new Set;function n(s,c){let t={value:s,cached:s,subscriptions:new Set};const r=function(e){return e instanceof Function?n(t.value,(n=>e(r(),n))):c?c(e||0):t.value};return r.set=(n,s)=>{t.value=n,e.forEach((n=>{if(!n.key.deref())return e.delete(n);n.observe(s||{})}))},r.subscribe=e=>t.subscriptions.add(e),r.unsubscribe=e=>t.subscriptions.delete(e),e.add({key:new WeakRef(r),observe:function(e){const n=r();n!==t.cached&&(t.cached=n,t.subscriptions.forEach((n=>n(e))))}}),r}function s(e){return void 0!==e.subscribe}export{n as createLink,s as isLink};
2
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sources":["../../src/core/link.ts"],"sourcesContent":[null],"names":["links","Set","createLink","initial","computed","internal","value","cached","subscriptions","Link","arg","Function","index","set","options","forEach","link","key","deref","delete","observe","subscribe","callback","add","unsubscribe","WeakRef","current","subscription","isLink","val","undefined"],"mappings":"AAgBA,MAAMA,EAAQ,IAAIC,IAKF,SAAAC,EAAiBC,EAAYC,GACzC,IAAIC,EAAW,CACXC,MAAOH,EACPI,OAAQJ,EACRK,cAAe,IAAIP,KAGvB,MAAMQ,EAAgB,SAAUC,GAC5B,OAAIA,aAAeC,SAAiBT,EAAWG,EAASC,OAAQM,GAAkBF,EAAID,IAAQG,KAEvFR,EAAWA,EAASM,GAAO,GAAKL,EAASC,KACpD,EA+BA,OA7BAG,EAAKI,IAAM,CAACP,EAAUQ,KAClBT,EAASC,MAAQA,EAEjBN,EAAMe,SAAQC,IACV,IAAKA,EAAKC,IAAIC,QAAS,OAAOlB,EAAMmB,OAAOH,GAE3CA,EAAKI,QAAQN,GAAW,CAAA,EAAG,GAC7B,EAGNL,EAAKY,UAAaC,GAA2BjB,EAASG,cAAce,IAAID,GAExEb,EAAKe,YAAeF,GAA2BjB,EAASG,cAAcW,OAAOG,GAY7EtB,EAAMuB,IAAI,CACNN,IAAK,IAAIQ,QAAQhB,GACjBW,QAZJ,SAAiBN,GACb,MAAMY,EAAUjB,IAEZiB,IAAYrB,EAASE,SACrBF,EAASE,OAASmB,EAElBrB,EAASG,cAAcO,SAAQY,GAAgBA,EAAab,KAEnE,IAOML,CACX,CAEM,SAAUmB,EAAUC,GACtB,YAAoCC,IAAnBD,EAAKR,SAC1B"}
@@ -1,2 +1,2 @@
1
- import{isLink as t}from"../hooks/use-link.js";import i from"./clip.js";import s from"./track.js";import{IndexedMap as e}from"./utils.js";var a=function(){function a(t){var i=t.stagger,s=void 0===i?.1:i,a=t.staggerLimit,r=void 0===a?10:a,o=t.deform,n=void 0===o||o,c=t.cachable,h=t.mountClips;this.index=0,this.paused=!1,this.tracks=new e,this.frame=0,this.connected=!1,this.mounted=!1,this.stagger=s,this.staggerLimit=r-1,this.deform=n,this.cachable=c,this.mountClips=h}return a.prototype.step=function(){cancelAnimationFrame(this.frame),this.tracks.values.forEach((function(t,i){return t.step(i)})),this.frame=requestAnimationFrame(this.step.bind(this))},a.prototype.time=function(t){return t.duration+t.delay+this.stagger*Math.max(Math.min(this.staggerLimit,this.tracks.size-1),0)},a.prototype.port=function(t,s,e){var a;if(!this.paused)for(var r=0;r<this.tracks.size;r++){var o=this.tracks.values[r],n=s(r);e?new i((a={duration:e,easing:"ease"},a[t]=n,a)).play(o,{composite:"override"}):o.apply(t,n)}},a.prototype.connect=function(s){if(!(this.connected||!s||s instanceof i)){for(var e in s){var a=s[e];t(a)&&(a.onchange(this.port.bind(this,e,a)),this.port(e,a,0))}this.connected=!0,this.step()}},a.prototype.transition=function(t,i){void 0===i&&(i={});for(var s=0;s<this.tracks.size;s++)this.tracks.values[s].transition(null==t?void 0:t.tracks.values[s],i)},a.prototype.insert=function(t){if((t instanceof HTMLElement||t instanceof SVGElement)&&!this.tracks.has(t)){var i=new s(t,this.deform,this.cachable);this.tracks.set(t,i),this.mounted&&this.mountClips.forEach((function(t){return t.play(i,{})}))}},a.prototype.add=function(t,i){for(var s=i.immediate,e=void 0!==s&&s,a=i.composite,r=i.reverse,o=i.delay,n=void 0===o?0:o,c=i.commit,h=0;h<this.tracks.size;h++)e&&this.tracks.values[h].clear(),t.play(this.tracks.values[h],{delay:n+Math.min(h,this.staggerLimit)*(this.stagger<0?t.duration/this.tracks.size:1)*Math.abs(this.stagger),composite:a,reverse:r,commit:c})},a.prototype.pause=function(){for(var t=0,i=this.tracks.values;t<i.length;t++){i[t].pause()}this.paused=!0},a.prototype.play=function(){for(var t=0,i=this.tracks.values;t<i.length;t++){i[t].play()}this.paused=!1},a.prototype.cache=function(){for(var t=0,i=this.tracks.values;t<i.length;t++){i[t].cache.update()}},a}();export{a as default};
1
+ import s from"./clip.js";import{isLink as t}from"./link.js";import i from"./track.js";import{IndexedMap as e,merge as a}from"./utils.js";class r{constructor({stagger:s=.1,staggerLimit:t=10,deform:i=!0,cachable:a,mountClips:r}){this.index=0,this.paused=!1,this.tracks=new e,this.frame=0,this.linked=[],this.mounted=!1,this.stagger=s,this.staggerLimit=t-1,this.deform=i,this.cachable=a,this.mountClips=r}step(){cancelAnimationFrame(this.frame),this.tracks.values.forEach(((s,t)=>s.step(t))),this.frame=requestAnimationFrame(this.step.bind(this))}time(s){return s.duration+s.delay+this.stagger*Math.max(Math.min(this.staggerLimit,this.tracks.size-1),0)}receiver(t,i,e){if(!this.paused)for(let r=0;r<this.tracks.size;r++){const h=this.tracks.values[r],c=i(r);e.duration?(a(e,{composite:"override"}),new s(Object.assign(Object.assign({},e),{[t]:c})).play(h,{})):h.apply(t,c)}}link(i){if(!(this.linked.length||!i||i instanceof s)){for(let s in i){const e=i[s];if(t(e)){const t=this.receiver.bind(this,s,e);e.subscribe(t),this.linked.push((()=>e.unsubscribe(t))),t({})}}this.step()}}unlink(){this.linked.forEach((s=>s())),this.linked=[]}transition(s,t={}){for(let i=0;i<this.tracks.size;i++)this.tracks.values[i].transition(null==s?void 0:s.tracks.values[i],t)}insert(s){if((s instanceof HTMLElement||s instanceof SVGElement)&&!this.tracks.has(s)){const t=new i(s,this.deform,this.cachable);this.tracks.set(s,t),this.mounted&&this.mountClips.forEach((s=>s.play(t,{})))}}add(s,{immediate:t=!1,composite:i,reverse:e,delay:a=0,commit:r}){for(let h=0;h<this.tracks.size;h++)t&&this.tracks.values[h].clear(),s.play(this.tracks.values[h],{delay:a+Math.min(h,this.staggerLimit)*(this.stagger<0?s.duration/this.tracks.size:1)*Math.abs(this.stagger),composite:i,reverse:e,commit:r})}pause(){for(const s of this.tracks.values)s.pause();this.paused=!0}play(){for(const s of this.tracks.values)s.play();this.paused=!1}cache(){for(const s of this.tracks.values)s.cache.update()}}export{r as default};
2
2
  //# sourceMappingURL=timeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sources":["../../src/core/timeline.ts"],"sourcesContent":[null],"names":["Timeline","_a","_b","stagger","_c","staggerLimit","_d","deform","cachable","mountClips","this","index","paused","tracks","IndexedMap","frame","connected","mounted","prototype","step","cancelAnimationFrame","values","forEach","track","i","requestAnimationFrame","bind","time","clip","duration","delay","Math","max","min","size","port","prop","link","dt","value","Clip","easing","play","composite","apply","connect","val","isLink","onchange","transition","from","options","insert","element","HTMLElement","SVGElement","has","track_1","Track","set","add","immediate","reverse","commit","clear","abs","pause","_i","length","cache","update"],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sources":["../../src/core/timeline.ts"],"sourcesContent":[null],"names":["Timeline","constructor","stagger","staggerLimit","deform","cachable","mountClips","this","index","paused","tracks","IndexedMap","frame","linked","mounted","step","cancelAnimationFrame","values","forEach","track","i","requestAnimationFrame","bind","time","clip","duration","delay","Math","max","min","size","receiver","prop","link","config","value","merge","composite","Clip","Object","assign","play","apply","length","isLink","subscribe","push","unsubscribe","unlink","transition","from","options","insert","element","HTMLElement","SVGElement","has","Track","set","add","immediate","reverse","commit","clear","abs","pause","cache","update"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{StyleCache as t}from"./cache.js";import{lengthToOffset as e}from"./utils.js";var i=function(){function i(e,i,o){this.playing=0,this.active=[],this.queue=[],this.scale=[1,1],this.element=e,this.deform=i,this.cache=new t(e,o)}return i.prototype.push=function(t){return t.onfinish=this.next.bind(this),this.playing&&"none"===t.composite?(this.queue.push(t),t.animation.pause()):(this.active.push(t),"none"===t.composite&&this.playing++),t},i.prototype.next=function(){this.cache.update(),--this.playing>0||(this.active=this.queue.length?this.queue.splice(0,1):[],this.playing=this.active.length,this.play())},i.prototype.clear=function(t){this.active.forEach((function(e){e.onfinish=null;try{t?e.commit||"combine"===e.composite||e.animation.cancel():e.animation.finish()}catch(t){e.animation.cancel()}})),t||(this.active=[],this.queue=[],this.playing=0)},i.prototype.pause=function(){for(var t=0,e=this.active;t<e.length;t++){e[t].animation.pause()}},i.prototype.play=function(){for(var t=0,e=this.active;t<e.length;t++){e[t].animation.play()}},i.prototype.step=function(t){for(var e=0,i=this.active;e<i.length;e++){i[e].step(t)}this.active.length&&this.correct()},i.prototype.transition=function(t,e){var i=this;this.clear(!0);var o=this.cache.difference(null==t?void 0:t.cache.data,e);this.cache.update(),null==t||t.clear(),null==t||t.cache.update(),o.forEach((function(t){return t.play(i,{commit:!1})}))},i.prototype.apply=function(t,e){this.set(t,e),this.correct()},i.prototype.set=function(t,i){t="strokeLength"===t?"strokeDashoffset":t,this.element.style[t]="strokeDashoffset"===t?e(i):i},i.prototype.decomposeScale=function(){var t=this.cache.computed.scale.split(" "),e=t[0],i=t[1],o=Math.max(parseFloat(e)||1,1e-4);/%$/.test(e)&&(o/=100);var n=i?Math.max(parseFloat(i),1e-4):o;return/%$/.test(i)&&(n/=100),[o,n]},i.prototype.computeBorderRadius=function(t){var e=this;void 0===t&&(t=this.cache.computed.borderRadius);var i=t.split(/\s*\/\s*/);i.length<2&&(i[1]=i[0]);var o=this.scale;return this.scale=this.decomposeScale(),i.map((function(t,i){return t.split(" ").map((function(t){var n;return parseFloat(t)*o[i]/e.scale[i]+((null===(n=t.match(/[^\d\.]+$/))||void 0===n?void 0:n[0])||"px")})).join(" ")})).join("/")},i.prototype.correct=function(){if(!this.deform){this.element.style.borderRadius=this.computeBorderRadius();for(var t=this.decomposeScale(),e=t[0],i=t[1],o=0;o<this.element.children.length;o++){this.element.children[o].style.transform="scale(".concat(1/e,", ").concat(1/i,")")}}},i}();export{i as default};
1
+ import{StyleCache as t}from"./cache.js";import{lengthToOffset as e}from"./utils.js";class i{constructor(e,i,s){this.playing=0,this.active=[],this.queue=[],this.scale=[1,1],this.element=e,this.deform=i,this.cache=new t(e,s)}push(t){return t.onfinish=this.next.bind(this),this.playing&&"none"===t.composite?(this.queue.push(t),t.animation.pause()):(this.active.push(t),"none"===t.composite&&this.playing++),t}next(){this.cache.update(),--this.playing>0||(this.active=this.queue.length?this.queue.splice(0,1):[],this.playing=this.active.length,this.play())}clear(t){this.active.forEach((e=>{e.onfinish=null;try{t?e.commit||"combine"===e.composite||e.animation.cancel():e.animation.finish()}catch(t){e.animation.cancel()}})),t||(this.active=[],this.queue=[],this.playing=0)}pause(){for(const t of this.active)t.animation.pause()}play(){for(const t of this.active)t.animation.play()}step(t){for(const e of this.active)e.step(t);this.active.length&&this.correct()}transition(t,e){this.clear(!0);const i=this.cache.difference(null==t?void 0:t.cache.data,e);this.cache.update(),null==t||t.clear(),null==t||t.cache.update(),i.forEach((t=>t.play(this,{commit:!1})))}apply(t,i){const s="strokeLength"===t;this.element.style[s?"strokeDashoffset":t]=s?e(i):i,this.correct()}decomposeScale(){const[t,e]=this.cache.computed.scale.split(" ");let i=Math.max(parseFloat(t)||1,1e-4);/%$/.test(t)&&(i/=100);let s=e?Math.max(parseFloat(e),1e-4):i;return/%$/.test(e)&&(s/=100),[i,s]}computeBorderRadius(t=this.cache.computed.borderRadius){const e=t.split(/\s*\/\s*/);e.length<2&&(e[1]=e[0]);const i=this.scale;return this.scale=this.decomposeScale(),e.map(((t,e)=>t.split(" ").map((t=>{var s;return parseFloat(t)*i[e]/this.scale[e]+((null===(s=t.match(/[^\d\.]+$/))||void 0===s?void 0:s[0])||"px")})).join(" "))).join("/")}correct(){if(this.deform)return;this.element.style.borderRadius=this.computeBorderRadius();const[t,e]=this.decomposeScale();for(let i=0;i<this.element.children.length;i++){this.element.children[i].style.transform=`scale(${1/t}, ${1/e})`}}}export{i 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","element","deform","cachable","this","playing","active","queue","scale","cache","StyleCache","prototype","push","action","onfinish","next","bind","composite","animation","pause","update","length","splice","play","clear","partial","forEach","commit","cancel","finish","ex","_i","_a","step","index","correct","transition","previous","options","_this","clips","difference","data","clip","apply","prop","val","set","style","lengthToOffset","decomposeScale","computed","split","xString","yString","x","Math","max","parseFloat","test","y","computeBorderRadius","borderRadius","arr","prev","map","axis","i","match","join","children","transform","concat"],"mappings":"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"}
1
+ {"version":3,"file":"track.js","sources":["../../src/core/track.ts"],"sourcesContent":[null],"names":["Track","constructor","element","deform","cachable","this","playing","active","queue","scale","cache","StyleCache","push","action","onfinish","next","bind","composite","animation","pause","update","length","splice","play","clear","partial","forEach","commit","cancel","finish","ex","step","index","correct","transition","previous","options","clips","difference","data","clip","apply","prop","val","isStroke","style","lengthToOffset","decomposeScale","xString","yString","computed","split","x","Math","max","parseFloat","test","y","computeBorderRadius","borderRadius","arr","prev","map","axis","i","_a","match","join","children","transform"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var e=1;e<t.length;e++)for(var r in t[e])r in t[0]&&void 0!==t[0][r]||(t[0][r]=t[e][r]);return t[0]}function n(t,n){for(var e={},r=0,o=n;r<o.length;r++){var i=o[r];e[i]=t[i]}return e}function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return function(n){t.forEach((function(t){t&&"current"in t&&(t.current=n),t instanceof Function&&t(n)}))}}var r=function(t){return 1-parseFloat(t.toString())},o=function(){function t(){this.map=new Map,this.values=[],this.size=0}return t.prototype.has=function(t){return this.map.has(t)},t.prototype.set=function(t,n){this.map.set(t,this.values.push(n)-1),this.size=this.map.size},t}();function i(t,n,e){void 0===e&&(e={});for(var o=function(n,o){var i=1e4*n;i in e||(e[i]={offset:n}),e[i][t]="strokeDashoffset"===t?r(o):o},i=0;i<n.length;i++){var f=n[i],a=f.offset,u=f.value,s=f.after;void 0!==u&&(void 0!==s&&1===a&&(a-=1e-4),o(a,u)),void 0!==s&&o(a=Math.min(a+1e-4,1),s)}return e}function f(t){for(var n,e=0,r=0;r<t.length;r++){var o=t[r],i=t.length<2?1:Math.round(r/(t.length-1)*1e4)/1e4;0===r&&(n=o),o&&"object"==typeof o?"offset"in o||(o.offset=i):(o===n&&e++,t[r]={offset:i,value:null!==o?o:void 0})}return e<2||e!==t.length}export{o as IndexedMap,e as combineRefs,i as distributeAnimatableKeyframes,r as lengthToOffset,t as merge,f as normalizeAnimatableKeyframes,n as pick};
1
+ function t(...t){for(let e=1;e<t.length;e++)for(const n in t[e])n in t[0]&&void 0!==t[0][n]||(t[0][n]=t[e][n]);return t[0]}function e(t,e){const n={};for(const o of e)n[o]=t[o];return n}function n(...t){return e=>{t.forEach((t=>{t&&"current"in t&&(t.current=e),t instanceof Function&&t(e)}))}}const o=t=>1-parseFloat(t.toString());class s{constructor(){this.map=new Map,this.values=[],this.size=0}has(t){return this.map.has(t)}set(t,e){this.map.set(t,this.values.push(e)-1),this.size=this.map.size}}function i(t,e,n={}){const s=(e,s)=>{const i=1e4*e;i in n||(n[i]={offset:e}),n[i][t]="strokeDashoffset"===t?o(s):s};for(let t=0;t<e.length;t++){let{offset:n,value:o,after:i}=e[t];void 0!==o&&(void 0!==i&&1===n&&(n-=1e-4),s(n,o)),void 0!==i&&(n=Math.min(n+1e-4,1),s(n,i))}return n}function r(t){let e,n=0;for(let o=0;o<t.length;o++){let s=t[o],i=t.length<2?1:Math.round(o/(t.length-1)*1e4)/1e4;0===o&&(e=s),s&&"object"==typeof s?"offset"in s||(s.offset=i):(s===e&&n++,t[o]={offset:i,value:null!==s?s:void 0})}return n<2||n!==t.length}export{s as IndexedMap,n as combineRefs,i as distributeAnimatableKeyframes,o as lengthToOffset,t as merge,r as normalizeAnimatableKeyframes,e as pick};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/core/utils.ts"],"sourcesContent":[null],"names":["merge","objects","_i","arguments","length","i","key","undefined","pick","map","keys","picked","keys_1","combineRefs","refs","el","forEach","ref","current","Function","lengthToOffset","val","parseFloat","toString","IndexedMap","this","Map","values","size","prototype","has","set","value","push","distributeAnimatableKeyframes","prop","keyframes","offset","_a","after","Math","min","normalizeAnimatableKeyframes","match","equal","keyframe","round"],"mappings":"SAUgBA,QAA2C,IAAaC,EAAA,GAAAC,EAAA,EAAbA,EAAaC,UAAAC,OAAbF,IAAAD,EAAaC,GAAAC,UAAAD,GACpE,IAAK,IAAIG,EAAI,EAAGA,EAAIJ,EAAQG,OAAQC,IAChC,IAAK,IAAMC,KAAOL,EAAQI,GAClBC,KAAOL,EAAQ,SAA0BM,IAApBN,EAAQ,GAAGK,KAEpCL,EAAQ,GAAGK,GAAOL,EAAQI,GAAGC,IAIrC,OAAOL,EAAQ,EACnB,CAEgB,SAAAO,EAA2DC,EAAQC,GAG/E,IAFA,IAAMC,EAAS,CAAA,MAEGC,EAAAF,EAAAR,EAAAU,EAAAR,OAAAF,IAAI,CAAjB,IAAMI,EAAGM,EAAAV,GAAUS,EAAOL,GAAOG,EAAIH,EAAK,CAE/C,OAAOK,CACX,UAEgBE,QAAY,IAAyBC,EAAA,GAAAZ,EAAA,EAAzBA,EAAyBC,UAAAC,OAAzBF,IAAAY,EAAyBZ,GAAAC,UAAAD,GACjD,OAAO,SAACa,GACJD,EAAKE,SAAQ,SAAAC,GACLA,GAAO,YAAaA,IAAMA,EAAoCC,QAAUH,GACxEE,aAAeE,UAAUF,EAAIF,EACrC,GACJ,CACJ,CAEa,IAAAK,EAAiB,SAACC,GAAa,OAAA,EAAIC,WAAWD,EAAIE,WAAY,EAE3EC,EAAA,WAAA,SAAAA,IAEYC,KAAAhB,IAAsB,IAAIiB,IAClCD,KAAME,OAAQ,GACdF,KAAIG,KAAW,CAalB,CAAD,OAXIJ,EAAGK,UAAAC,IAAH,SAAIxB,GACA,OAAOmB,KAAKhB,IAAIqB,IAAIxB,IAGxBkB,EAAAK,UAAAE,IAAA,SAAIzB,EAAQ0B,GACRP,KAAKhB,IAAIsB,IAAIzB,EAAKmB,KAAKE,OAAOM,KAAKD,GAAS,GAC5CP,KAAKG,KAAOH,KAAKhB,IAAImB,MAK5BJ,CAAD,aAIgBU,EAA8BC,EAAcC,EAAuC3B,QAAA,IAAAA,IAAAA,EAAsC,CAAA,GAQrI,IAPA,IAAMsB,EAAM,SAACM,EAAgBL,GACzB,IAAM1B,EAAe,IAAT+B,EAEN/B,KAAOG,IAAMA,EAAIH,GAAO,CAAE+B,OAAMA,IACtC5B,EAAIH,GAAK6B,GAAiB,qBAATA,EAA8Bf,EAAeY,GAASA,CAC3E,EAES3B,EAAI,EAAGA,EAAI+B,EAAUhC,OAAQC,IAAK,CACnC,IAAAiC,EAA2BF,EAAU/B,GAAnCgC,EAAMC,EAAAD,OAAEL,EAAKM,EAAAN,MAAEO,eAEPhC,IAAVyB,SACczB,IAAVgC,GAAkC,IAAXF,IAAcA,GAAkB,MAC3DN,EAAIM,EAAQL,SAEFzB,IAAVgC,GAEAR,EADAM,EAASG,KAAKC,IAAIJ,EAAS,KAAQ,GACvBE,EAEnB,CAED,OAAO9B,CACX,CAEM,SAAUiC,EAA6BN,GAGzC,IAFA,IAAeO,EAAXC,EAAQ,EAEHvC,EAAI,EAAGA,EAAI+B,EAAUhC,OAAQC,IAAK,CACvC,IAAIwC,EAAWT,EAAU/B,GACrBgC,EAASD,EAAUhC,OAAS,EAAI,EAAIoC,KAAKM,MAAMzC,GAAK+B,EAAUhC,OAAS,GAAK,KAAS,IAC/E,IAANC,IAASsC,EAAQE,GAEjBA,GAAgC,iBAAbA,EACb,WAAYA,IAAWA,EAASR,OAASA,IAE3CQ,IAAaF,GAAOC,IACxBR,EAAU/B,GAAK,CAAEgC,OAAMA,EAAEL,MAAoB,OAAba,EAAoBA,OAAWtC,GAEtE,CAED,OAAOqC,EAAQ,GAAKA,IAAUR,EAAUhC,MAC5C"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/core/utils.ts"],"sourcesContent":[null],"names":["merge","objects","i","length","key","undefined","pick","map","keys","picked","combineRefs","refs","el","forEach","ref","current","Function","lengthToOffset","val","parseFloat","toString","IndexedMap","constructor","this","Map","values","size","has","set","value","push","distributeAnimatableKeyframes","prop","keyframes","offset","after","Math","min","normalizeAnimatableKeyframes","match","equal","keyframe","round"],"mappings":"AAUgB,SAAAA,KAA8CC,GAC1D,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,OAAQD,IAChC,IAAK,MAAME,KAAOH,EAAQC,GAClBE,KAAOH,EAAQ,SAA0BI,IAApBJ,EAAQ,GAAGG,KAEpCH,EAAQ,GAAGG,GAAOH,EAAQC,GAAGE,IAIrC,OAAOH,EAAQ,EACnB,CAEgB,SAAAK,EAA2DC,EAAQC,GAC/E,MAAMC,EAAS,CAAA,EAEf,IAAK,MAAML,KAAOI,EAAMC,EAAOL,GAAOG,EAAIH,GAE1C,OAAOK,CACX,CAEgB,SAAAC,KAAeC,GAC3B,OAAQC,IACJD,EAAKE,SAAQC,IACLA,GAAO,YAAaA,IAAMA,EAA6BC,QAAUH,GACjEE,aAAeE,UAAUF,EAAIF,EAAG,GACtC,CAEV,CAEa,MAAAK,EAAkBC,GAAa,EAAIC,WAAWD,EAAIE,kBAElDC,EAAb,WAAAC,GAEYC,KAAAhB,IAAsB,IAAIiB,IAClCD,KAAME,OAAQ,GACdF,KAAIG,KAAW,CAalB,CAXG,GAAAC,CAAIvB,GACA,OAAOmB,KAAKhB,IAAIoB,IAAIvB,EACvB,CAED,GAAAwB,CAAIxB,EAAQyB,GACRN,KAAKhB,IAAIqB,IAAIxB,EAAKmB,KAAKE,OAAOK,KAAKD,GAAS,GAC5CN,KAAKG,KAAOH,KAAKhB,IAAImB,IACxB,EAQC,SAAUK,EAA8BC,EAAcC,EAAuC1B,EAAoC,CAAA,GACnI,MAAMqB,EAAM,CAACM,EAAgBL,KACzB,MAAMzB,EAAe,IAAT8B,EAEN9B,KAAOG,IAAMA,EAAIH,GAAO,CAAE8B,WAChC3B,EAAIH,GAAK4B,GAAiB,qBAATA,EAA8Bf,EAAeY,GAASA,CAAK,EAGhF,IAAK,IAAI3B,EAAI,EAAGA,EAAI+B,EAAU9B,OAAQD,IAAK,CACvC,IAAIgC,OAAEA,EAAML,MAAEA,EAAKM,MAAEA,GAAUF,EAAU/B,QAE3BG,IAAVwB,SACcxB,IAAV8B,GAAkC,IAAXD,IAAcA,GAAkB,MAC3DN,EAAIM,EAAQL,SAEFxB,IAAV8B,IACAD,EAASE,KAAKC,IAAIH,EAAS,KAAQ,GACnCN,EAAIM,EAAQC,GAEnB,CAED,OAAO5B,CACX,CAEM,SAAU+B,EAA6BL,GACzC,IAAeM,EAAXC,EAAQ,EAEZ,IAAK,IAAItC,EAAI,EAAGA,EAAI+B,EAAU9B,OAAQD,IAAK,CACvC,IAAIuC,EAAWR,EAAU/B,GACrBgC,EAASD,EAAU9B,OAAS,EAAI,EAAIiC,KAAKM,MAAMxC,GAAK+B,EAAU9B,OAAS,GAAK,KAAS,IAC/E,IAAND,IAASqC,EAAQE,GAEjBA,GAAgC,iBAAbA,EACb,WAAYA,IAAWA,EAASP,OAASA,IAE3CO,IAAaF,GAAOC,IACxBP,EAAU/B,GAAK,CAAEgC,SAAQL,MAAoB,OAAbY,EAAoBA,OAAWpC,GAEtE,CAED,OAAOmC,EAAQ,GAAKA,IAAUP,EAAU9B,MAC5C"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useRef as e,useEffect as n}from"react";import r from"./use-link.js";var t;function o(o){var a,i=void 0===o?{}:o,u=i.bands,c=void 0===u?8:u,d=i.minFrequency,s=void 0===d?100:d,l=i.maxFrequency,v=void 0===l?2e3:l,m=i.smoothing,f=void 0===m?.7:m,y=e(new Float32Array(1024)),p=e(),A=e(),F=e(null),h=r(new Array(8).fill(0));function E(){if(p.current){p.current.getFloatFrequencyData(y.current);for(var e=h(),n=Math.floor(s/24e3*1024),r=Math.floor(v/24e3*1024),t=0;t<c;t++){var o=n+(r-n)/c*t,i=Math.floor(o),u=Math.ceil(o),d=o-i,l=y.current[i]*(1-d)+y.current[u]*d;e[t]=Math.max(0,(100+l)/70)}h.set(e,0),a=requestAnimationFrame(E)}}function L(){"suspended"===t.state&&t.resume(),a=requestAnimationFrame(E)}function M(){cancelAnimationFrame(a),h.set(new Array(c).fill(0),.3)}return n((function(){var e=F.current;if(e)return t||(t=new AudioContext),p.current||(p.current=new AnalyserNode(t,{fftSize:2048,smoothingTimeConstant:f})),A.current||(A.current=t.createMediaElementSource(e)),p.current.connect(t.destination),A.current.connect(p.current),e.addEventListener("play",L),e.addEventListener("pause",M),e.addEventListener("ended",M),function(){var n,r;null===(n=p.current)||void 0===n||n.disconnect(),null===(r=A.current)||void 0===r||r.disconnect(),e.removeEventListener("play",L),e.removeEventListener("pause",M),e.removeEventListener("ended",M)}}),[]),[F,h]}export{o as default};
2
+ import{useRef as e,useEffect as n}from"react";import t from"./use-link.js";let r;function o({bands:o=8,minFrequency:a=100,maxFrequency:c=2e3,smoothing:i=.7}={}){const u=e(new Float32Array(1024)),s=e(void 0),l=e(void 0),d=e(null),m=t(new Array(8).fill(0));let f;function v(){if(!s.current)return;s.current.getFloatFrequencyData(u.current);const e=m(),n=Math.floor(a/24e3*1024),t=Math.floor(c/24e3*1024);for(let r=0;r<o;r++){const a=n+(t-n)/o*r,c=Math.floor(a),i=Math.ceil(a),s=a-c,l=u.current[c]*(1-s)+u.current[i]*s;e[r]=Math.max(0,(100+l)/70)}m.set(e),f=requestAnimationFrame(v)}function y(){"suspended"===r.state&&r.resume(),f=requestAnimationFrame(v)}function p(){cancelAnimationFrame(f),m.set(new Array(o).fill(0),{duration:.3})}return n((()=>{const e=d.current;if(e)return r||(r=new AudioContext),s.current||(s.current=new AnalyserNode(r,{fftSize:2048,smoothingTimeConstant:i})),l.current||(l.current=r.createMediaElementSource(e)),s.current.connect(r.destination),l.current.connect(s.current),e.addEventListener("play",y),e.addEventListener("pause",p),e.addEventListener("ended",p),()=>{var n,t;null===(n=s.current)||void 0===n||n.disconnect(),null===(t=l.current)||void 0===t||t.disconnect(),e.removeEventListener("play",y),e.removeEventListener("pause",p),e.removeEventListener("ended",p)}}),[]),[d,m]}export{o as default};
3
3
  //# sourceMappingURL=use-audio.js.map
@@ -1,2 +1,2 @@
1
- import{useRef as n}from"react";function r(n){return void 0!==n.onchange}function t(r){var t=n(new Set),e=n(r);function o(n){t.current.add(n)}function u(n){t.current.delete(n)}function c(n,r){void 0===r&&(r=0),e.current=n,t.current.forEach((function(n){return n(r)}))}return function n(r){void 0===r&&(r=function(n){return n});var t=function(r){return r instanceof Function?n(r):this.transform(e.current,r||0)}.bind({transform:r});return t.onchange=o,t.offchange=u,t.set=c,t}()}export{t as default,r as isLink};
1
+ import{useRef as r}from"react";import{createLink as t}from"../core/link.js";function o(o){return r(t(o)).current}export{o as default};
2
2
  //# sourceMappingURL=use-link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-link.js","sources":["../../src/hooks/use-link.ts"],"sourcesContent":[null],"names":["isLink","val","undefined","onchange","useLink","initial","listeners","useRef","Set","valueRef","callback","current","add","offchange","delete","set","value","transition","forEach","cb","create","transform","link","Function","this","bind"],"mappings":"+BAYM,SAAUA,EAAUC,GACtB,YAAmCC,IAAlBD,EAAKE,QAC1B,CAEwB,SAAAC,EAAiBC,GACrC,IAAMC,EAAYC,EAA4B,IAAIC,KAC5CC,EAAWF,EAAOF,GAExB,SAASF,EAASO,GACdJ,EAAUK,QAAQC,IAAIF,EACzB,CAED,SAASG,EAAUH,GACfJ,EAAUK,QAAQG,OAAOJ,EAC5B,CAED,SAASK,EAAIC,EAAUC,QAAA,IAAAA,IAAAA,EAAc,GACjCR,EAASE,QAAUK,EAEnBV,EAAUK,QAAQO,SAAQ,SAAAC,GAAM,OAAAA,EAAGF,EAAH,GACnC,CAiBD,OAfA,SAASG,EAAOC,QAAA,IAAAA,IAAAA,EAA4B,SAAApB,GAAO,OAAAA,IAE/C,IAAMqB,EAAO,SAAgDD,GACzD,OAAIA,aAAqBE,SAAiBH,EAAOC,GAE1CG,KAAKH,UAAUZ,EAASE,QAASU,GAAa,EACxD,EAACI,KAAK,CAAEJ,UAASA,IAMlB,OAJAC,EAAKnB,SAAWA,EAChBmB,EAAKT,UAAYA,EACjBS,EAAKP,IAAMA,EAEJO,CACV,CAEMF,EACX"}
1
+ {"version":3,"file":"use-link.js","sources":["../../src/hooks/use-link.ts"],"sourcesContent":[null],"names":["useLink","initial","useRef","createLink","current"],"mappings":"4EAGwB,SAAAA,EAAiBC,GAGrC,OAFaC,EAAOC,EAAWF,IAEnBG,OAChB"}
@@ -1,2 +1,2 @@
1
- import{useEffect as e,useLayoutEffect as o}from"react";var r="undefined"==typeof window?e:o;export{r as default};
1
+ import{useEffect as e,useLayoutEffect as o}from"react";const t="undefined"==typeof window?e:o;export{t as default};
2
2
  //# sourceMappingURL=use-mount-effect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mount-effect.js","sources":["../../src/hooks/use-mount-effect.ts"],"sourcesContent":[null],"names":["useMountEffect","window","useEffect","useLayoutEffect"],"mappings":"uDAEA,IAAMA,EAAmC,oBAAXC,OAAyBC,EAAYC"}
1
+ {"version":3,"file":"use-mount-effect.js","sources":["../../src/hooks/use-mount-effect.ts"],"sourcesContent":[null],"names":["useMountEffect","window","useEffect","useLayoutEffect"],"mappings":"uDAEA,MAAMA,EAAmC,oBAAXC,OAAyBC,EAAYC"}
@@ -1,2 +1,2 @@
1
- import{useRef as t,useCallback as r}from"react";function n(){var n=t(null);return[r((function(t){return function(r,e){if(!n.current)return t([0,0],e);var u=n.current.getTotalLength()*r,o=n.current.getPointAtLength(u),c=o.x,a=o.y;return t([c,a],e)}}),[n]),n]}export{n as default};
1
+ import{useRef as t,useCallback as r}from"react";function n(){const n=t(null);return[r((t=>(r,e)=>{if(!n.current)return t([0,0],e);const u=n.current.getTotalLength()*r,{x:o,y:c}=n.current.getPointAtLength(u);return t([o,c],e)}),[n]),n]}export{n as default};
2
2
  //# sourceMappingURL=use-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-path.js","sources":["../../src/hooks/use-path.ts"],"sourcesContent":[null],"names":["usePath","ref","useRef","useCallback","transform","progress","index","current","len","getTotalLength","_a","getPointAtLength","x","y"],"mappings":"gDAEc,SAAUA,IACpB,IAAMC,EAAMC,EAAU,MAatB,MAAO,CAXMC,GAAY,SAACC,GACtB,OAAO,SAACC,EAAkBC,GACtB,IAAKL,EAAIM,QAAS,OAAOH,EAAU,CAAC,EAAG,GAAIE,GAE3C,IAAME,EAAMP,EAAIM,QAAQE,iBAAmBJ,EACrCK,EAAWT,EAAIM,QAAQI,iBAAiBH,GAAtCI,EAACF,EAAAE,EAAEC,MAEX,OAAOT,EAAU,CAACQ,EAAGC,GAAIP,EAC7B,CACJ,GAAG,CAACL,IAEUA,EAClB"}
1
+ {"version":3,"file":"use-path.js","sources":["../../src/hooks/use-path.ts"],"sourcesContent":[null],"names":["usePath","ref","useRef","useCallback","transform","progress","index","current","len","getTotalLength","x","y","getPointAtLength"],"mappings":"gDAEc,SAAUA,IACpB,MAAMC,EAAMC,EAAU,MAatB,MAAO,CAXMC,GAAaC,GACf,CAACC,EAAkBC,KACtB,IAAKL,EAAIM,QAAS,OAAOH,EAAU,CAAC,EAAG,GAAIE,GAE3C,MAAME,EAAMP,EAAIM,QAAQE,iBAAmBJ,GACrCK,EAAEA,EAACC,EAAEA,GAAMV,EAAIM,QAAQK,iBAAiBJ,GAE9C,OAAOJ,EAAU,CAACM,EAAGC,GAAIL,EAAM,GAEpC,CAACL,IAEUA,EAClB"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useState as e,useEffect as r}from"react";function t(){var t=e(!1),n=t[0],a=t[1];return r((function(){var e=function(e){return a(e.matches)},r=matchMedia("(prefers-reduced-motion: reduce)");return r.addEventListener("change",e),a(r.matches),function(){return r.removeEventListener("change",e)}}),[]),n}export{t as default};
2
+ import{useState as e,useEffect as t}from"react";function r(){const[r,n]=e(!1);return t((()=>{const e=e=>n(e.matches),t=matchMedia("(prefers-reduced-motion: reduce)");return t.addEventListener("change",e),n(t.matches),()=>t.removeEventListener("change",e)}),[]),r}export{r as default};
3
3
  //# sourceMappingURL=use-reduced-motion.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import t from"./use-link.js";import e from"./use-mount-effect.js";function r(r){var n=void 0===r?{}:r,o=n.restore,l=void 0===o?0:o,i=n.target,u=t({x:0,y:0,top:0,left:0});return e((function(){var t=(null==i?void 0:i.current)?i.current:window;function e(t){var e=(null==i?void 0:i.current)||document.documentElement,r=e.scrollLeft,n=r/(e.scrollWidth-e.clientWidth||1),o=e.scrollTop,l=o/(e.scrollHeight-e.clientHeight||1);u.set({x:n,y:l,top:o,left:r},t)}e(l);var r=function(){return e()};return t.addEventListener("scroll",r),function(){return t.removeEventListener("scroll",r)}}),[i]),u}export{r as default};
2
+ import t from"./use-link.js";import e from"./use-mount-effect.js";function o({restore:o=0,target:n}={}){const r=t({x:0,y:0,top:0,left:0});return e((()=>{const t=(null==n?void 0:n.current)?n.current:window;function e(t){const e=(null==n?void 0:n.current)||document.documentElement,o=e.scrollLeft,l=o/(e.scrollWidth-e.clientWidth||1),c=e.scrollTop,s=c/(e.scrollHeight-e.clientHeight||1);r.set({x:l,y:s,top:c,left:o},{duration:t})}e(o);const l=()=>e();return t.addEventListener("scroll",l),()=>t.removeEventListener("scroll",l)}),[n]),r}export{o as default};
3
3
  //# sourceMappingURL=use-scroll.js.map
@@ -1,2 +1,3 @@
1
- import{useState as r,useMemo as t}from"react";function n(){var n=r(0),e=n[0],o=n[1];return t((function(){function r(){o(e+1)}return r.called=e,r}),[e])}export{n as default};
1
+ "use client";
2
+ import{useRef as r,useState as t,useMemo as n}from"react";function e(){const e=r(0),[c,o]=t(0);return n((()=>{function r(){o(++e.current)}return r.called=c,r}),[c])}export{e as default};
2
3
  //# sourceMappingURL=use-trigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trigger.js","sources":["../../src/hooks/use-trigger.ts"],"sourcesContent":[null],"names":["useTrigger","_a","useState","state","setState","useMemo","trigger","called"],"mappings":"8CAIc,SAAUA,IACd,IAAAC,EAAoBC,EAAS,GAA5BC,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAYtB,OAVgBI,GAAQ,WACpB,SAASC,IACLF,EAASD,EAAQ,EACpB,CAID,OAFAG,EAAQC,OAASJ,EAEVG,CACX,GAAG,CAACH,GAGR"}
1
+ {"version":3,"file":"use-trigger.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useRef as e}from"react";import n from"./use-link.js";import t from"./use-mount-effect.js";function i(i){void 0===i&&(i=.5);var r=e(null),o=n([-1,-1]);return t((function(){function e(){if(r.current){var e=r.current.getBoundingClientRect(),n=e.x,t=e.y,d=e.width,s=e.height;o.set([(n+d*i)/(window.innerWidth+2*d*(i-.5)),(t+s*i)/(window.innerHeight+2*s*(i-.5))])}}return e(),window.addEventListener("scroll",e),window.addEventListener("resize",e),function(){window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[i]),[o,r]}export{i as default};
2
+ import{useRef as e}from"react";import n from"./use-link.js";import t from"./use-mount-effect.js";function r(r=.5){const i=e(null),o=n([-1,-1]);return t((()=>{function e(){if(!i.current)return;const{x:e,y:n,width:t,height:s}=i.current.getBoundingClientRect();o.set([(e+t*r)/(window.innerWidth+2*t*(r-.5)),(n+s*r)/(window.innerHeight+2*s*(r-.5))])}return e(),window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[r]),[o,i]}export{r as default};
3
3
  //# sourceMappingURL=use-viewport.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useRef as e}from"react";import r from"./use-trigger.js";import t from"./use-viewport.js";import i from"./use-couple.js";function o(o){var s=void 0===o?{}:o,n=s.enter,u=void 0===n?1:n,v=s.exit,c=void 0!==v&&v,m=s.threshold,f=t(void 0===m?.5:m),p=f[0],d=f[1],l=e({visible:!1,enters:!0===u?1/0:+u,exits:!0===c?1/0:+c}),a=r();return i((function(){var e=p(),r=e[0],t=e[1],i=r>0&&r<1&&t>0&&t<1,o=l.current,s=o.visible,n=o.enters,u=o.exits;!s&&i&&n&&(l.current.enters--,a()),s&&!i&&u&&(l.current.exits--,a()),l.current.visible=i}),[p,a]),[a,d]}export{o as default};
2
+ import{useRef as e,useEffect as r}from"react";import t from"./use-trigger.js";import s from"./use-viewport.js";function i({enter:i=1,exit:n=!1,threshold:u=.5}={}){const[o,c]=s(u),b=e({visible:!1,enters:!0===i?1/0:+i,exits:!0===n?1/0:+n}),f=t();return r((()=>{function e(){const[e,r]=o(),t=e>0&&e<1&&r>0&&r<1,{visible:s,enters:i,exits:n}=b.current;!s&&t&&i&&(b.current.enters--,f()),s&&!t&&n&&(b.current.exits--,f()),b.current.visible=t}return o.subscribe(e),()=>o.unsubscribe(e)}),[]),[f,c]}export{i as default};
3
3
  //# sourceMappingURL=use-visible.js.map
package/dist/hooks.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as useLink}from"./hooks/use-link.js";export{default as useTrigger}from"./hooks/use-trigger.js";export{default as useReducedMotion}from"./hooks/use-reduced-motion.js";export{default as useScroll}from"./hooks/use-scroll.js";export{default as usePath}from"./hooks/use-path.js";export{default as useViewport}from"./hooks/use-viewport.js";export{default as useVisible}from"./hooks/use-visible.js";export{default as useAudio}from"./hooks/use-audio.js";export{default as useCouple}from"./hooks/use-couple.js";
1
+ export{default as useLink}from"./hooks/use-link.js";export{default as useTrigger}from"./hooks/use-trigger.js";export{default as useReducedMotion}from"./hooks/use-reduced-motion.js";export{default as useScroll}from"./hooks/use-scroll.js";export{default as usePath}from"./hooks/use-path.js";export{default as useViewport}from"./hooks/use-viewport.js";export{default as useVisible}from"./hooks/use-visible.js";export{default as useAudio}from"./hooks/use-audio.js";
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as r}from"react/jsx-runtime";import{useRef as n,useState as t,useEffect as e,Children as i,isValidElement as u}from"react";import o from"../animatable.js";import a from"../hooks/use-mount-effect.js";function c(r,n){return void 0===n&&(n={}),i.forEach(r,(function(r){var t;if(u(r)){var e=null===(t=r.type)||void 0===t?void 0:t.displayName;"Animatable"!==e&&"Animate"!==e||!("id"in r.props)||(n[r.props.id]=!0),c(r.props.children,n)}})),n}function f(r,n){var t=typeof r,e=typeof n;if(t!==e)return!1;if(u(r))return!(!u(n)||r.key!==n.key)&&f(r.props,n.props);if(Array.isArray(r)){if(!Array.isArray(n)||r.length!==n.length)return!1;for(var i=0;i<r.length;i++)if(!f(r[i],n[i]))return!1;return!0}if("object"===t&&null!==r&&null!==n){var o=Object.keys(r),a=Object.keys(n);if(o.length!==a.length)return!1;if(!o.length)return r.toString()===n.toString();for(i=0;i<o.length;i++)if(!(o[i]in n)||!f(r[o[i]],n[a[i]]))return!1;return!0}return"function"===t&&t===e||r===n}function l(r,n){try{return f(r,n)}catch(r){return!1}}function h(i){var u=i.children,f=i.transition,h=n(null),m=n(c(u)),p=t(u),s=p[0],d=p[1];return e((function(){if(h.current&&!l(s,u)){for(var r=0,n=c(u),t=0,e=h.current.children;t<e.length;t++){var i=e[t];i.current&&!i.current.manual&&i.current.id in m.current&&!(i.current.id in n)&&(r=Math.max(i.current.trigger("unmount"),r))}m.current=n,setTimeout((function(){return d(u)}),1e3*r)}}),[u]),a((function(){var r;if(h.current)for(var n=0,t=h.current.children;n<t.length;n++){var e=t[n];(null===(r=e.current)||void 0===r?void 0:r.timeline.mounted)&&e.current.adaptive&&e.current.timeline.transition(void 0,f)}}),[s]),r(o,{ref:h,cachable:[],passthrough:!0,children:s})}export{h as default};
2
+ import{jsx as r}from"react/jsx-runtime";import{useRef as t,useState as n,useEffect as e,Children as i,isValidElement as o}from"react";import u from"../animatable.js";import c from"../hooks/use-mount-effect.js";function f(r,t={}){return i.forEach(r,(r=>{var n;if(!o(r))return;const e=null===(n=r.type)||void 0===n?void 0:n.displayName;"Animatable"!==e&&"Animate"!==e||!("id"in r.props)||(t[r.props.id]=!0),f(r.props.children,t)})),t}function l(r,t){const n=typeof r,e=typeof t;if(n!==e)return!1;if(o(r))return!(!o(t)||r.key!==t.key)&&l(r.props,t.props);if(Array.isArray(r)){if(!Array.isArray(t)||r.length!==t.length)return!1;for(let n=0;n<r.length;n++)if(!l(r[n],t[n]))return!1;return!0}if("object"===n&&null!==r&&null!==t){const n=Object.keys(r),e=Object.keys(t);if(n.length!==e.length)return!1;if(!n.length)return r.toString()===t.toString();for(let i=0;i<n.length;i++)if(!(n[i]in t)||!l(r[n[i]],t[e[i]]))return!1;return!0}return"function"===n&&n===e||r===t}function a(r,t){try{return l(r,t)}catch(r){return!1}}function s({children:i,transition:o}){const l=t(null),s=t(f(i)),[m,p]=n(i);return e((()=>{if(!l.current||a(m,i))return;let r=0,t=f(i);for(const n of l.current.children)n.current&&!n.current.manual&&n.current.id in s.current&&!(n.current.id in t)&&(r=Math.max(n.current.trigger("unmount"),r));s.current=t,setTimeout((()=>p(i)),1e3*r)}),[i]),c((()=>{var r;if(l.current)for(const t of l.current.children)(null===(r=t.current)||void 0===r?void 0:r.timeline.mounted)&&t.current.adaptive&&t.current.timeline.transition(void 0,o)}),[m]),r(u,{ref:l,cachable:[],passthrough:!0,children:m})}export{s as default};
3
3
  //# sourceMappingURL=layout-group.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{__rest as t,__assign as r}from"tslib";import{jsx as i}from"react/jsx-runtime";import{forwardRef as e,useContext as n,useRef as o,useState as u,useEffect as a}from"react";import m,{AnimatableContext as c}from"../animatable.js";import{combineRefs as l}from"../core/utils.js";import s from"../hooks/use-mount-effect.js";var f={},d=e((function(e,d){var v=e.children,p=e.transition,g=void 0===p?{}:p,h=e.show,b=void 0===h||h,j=e.group,w=t(e,["children","transition","show","group"]),x=n(c),T=o(null),_=u(b),k=_[0],y=_[1],E=u(b),M=E[0],N=E[1];return j=(null==x?void 0:x.group)?"".concat(x.group,"__").concat(j):j,s((function(){if(T.current){var t,r=T.current.timeline;f[j].targets.forEach((function(i){i.mounted&&i!==r&&(t=i)})),b&&!r.mounted&&(f[j].visible=!0,t?r.transition(t,g):T.current.trigger("mount")),N(b)}}),[b]),a((function(){var t;if(T.current){var r=T.current.timeline;if(!b&&r.mounted){if(!f[j].visible){var i=null===(t=T.current)||void 0===t?void 0:t.trigger("unmount");setTimeout((function(){return y(!1)}),1e3*i)}f[j].targets.delete(r)}(b||f[j].visible)&&y(b),setTimeout((function(){return f[j].visible=!1})),r.mounted=b}}),[M]),b||k!==b?i(m,r({},w,{manual:!0,group:j,ref:l((function(t){j in f||(f[j]={targets:new Set,visible:!1}),t&&(f[j].targets.add(t.timeline),T.current=t)}),d),children:v})):null}));d.displayName="Morph";export{d as default};
2
+ import{__rest as t}from"tslib";import{jsx as r}from"react/jsx-runtime";import{use as e,useRef as i,useState as n,useEffect as o}from"react";import u,{AnimatableContext as s}from"../animatable.js";import{combineRefs as m}from"../core/utils.js";import l from"../hooks/use-mount-effect.js";const c={};function a(a){var{children:f,transition:d={},show:g=!0,group:p}=a,v=t(a,["children","transition","show","group"]);const b=e(s),h=i(null),[j,w]=n(g),[x,T]=n(g);return p=(null==b?void 0:b.group)?`${b.group}__${p}`:p,l((()=>{if(!h.current)return;const t=h.current.timeline;let r;c[p].targets.forEach((e=>{e.mounted&&e!==t&&(r=e)})),g&&!t.mounted&&(c[p].visible=!0,r?t.transition(r,d):h.current.trigger("mount")),T(g)}),[g]),o((()=>{var t;if(!h.current)return;const r=h.current.timeline;if(!g&&r.mounted){if(!c[p].visible){const r=null===(t=h.current)||void 0===t?void 0:t.trigger("unmount");setTimeout((()=>w(!1)),1e3*r)}c[p].targets.delete(r)}(g||c[p].visible)&&w(g),setTimeout((()=>c[p].visible=!1)),r.mounted=g}),[x]),g||j!==g?r(u,Object.assign({},v,{manual:!0,group:p,ref:m((t=>{p in c||(c[p]={targets:new Set,visible:!1}),t&&(c[p].targets.add(t.timeline),h.current=t)}),v.ref),children:f})):null}export{a as default};
3
3
  //# sourceMappingURL=morph.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{__rest as r,__assign as t}from"tslib";import{jsx as e}from"react/jsx-runtime";import{forwardRef as i,Children as a}from"react";import n from"../animatable.js";var m=i((function(i,m){var o=i.children,p=i.stagger,s=void 0===p?1:p,g=i.staggerLimit,f=void 0===g?Number.MAX_VALUE:g,l=r(i,["children","stagger","staggerLimit"]);return e(n,t({},l,{ref:m,stagger:-1*s,staggerLimit:f,children:a.map(o,(function(r){return"string"!=typeof r&&"number"!=typeof r?r:r.toString().split("").map((function(r){return e("span",{style:{whiteSpace:" "===r?"pre-wrap":void 0},children:r})}))}))}))}));m.displayName="Typable";export{m as default};
2
+ import{__rest as r}from"tslib";import{jsx as t}from"react/jsx-runtime";import{Children as e}from"react";import i from"../animatable.js";function a(a){var{children:m,stagger:s=1,staggerLimit:g=Number.MAX_VALUE}=a,n=r(a,["children","stagger","staggerLimit"]);return t(i,Object.assign({},n,{stagger:-1*s,staggerLimit:g,children:e.map(m,(r=>"string"!=typeof r&&"number"!=typeof r?r:r.toString().split("").map((r=>t("span",{style:{whiteSpace:" "===r?"pre-wrap":void 0},children:r})))))}))}export{a as default};
3
3
  //# sourceMappingURL=typable.js.map
@@ -8,7 +8,7 @@ export type AnimatableType<T extends string = any> = {
8
8
  play: (animation: T | 'animate', options?: PlayOptions, layer?: number) => number;
9
9
  trigger: (trigger: StaticTrigger, options?: PlayOptions) => number;
10
10
  timeline: Timeline;
11
- children: React.MutableRefObject<AnimatableType | null>[];
11
+ children: React.RefObject<AnimatableType | null>[];
12
12
  inherit: boolean | undefined;
13
13
  adaptive: boolean;
14
14
  manual: boolean;
@@ -32,6 +32,7 @@ type SharedProps<T extends string = any> = {
32
32
  paused?: boolean;
33
33
  };
34
34
  export type AnimatableProps<T extends string = any> = {
35
+ ref?: React.Ref<AnimatableType>;
35
36
  children: React.ReactNode;
36
37
  id?: string;
37
38
  order?: number;
@@ -44,24 +45,9 @@ export type AnimatableProps<T extends string = any> = {
44
45
  } & SharedProps<T>;
45
46
  type AnimatableContext = {
46
47
  index?: number;
47
- add: (child: React.RefObject<AnimatableType>) => void;
48
- remove: (child: React.RefObject<AnimatableType>) => void;
48
+ add: (child: React.RefObject<AnimatableType | null>) => void;
49
+ remove: (child: React.RefObject<AnimatableType | null>) => void;
49
50
  } & SharedProps;
50
51
  export declare const AnimatableContext: import("react").Context<AnimatableContext | null>;
51
- declare function AnimatableBase<T extends string>(props: AnimatableProps<T>, ref: React.ForwardedRef<AnimatableType>): import("react/jsx-runtime").JSX.Element;
52
- declare const Animatable: (<T extends string>(props: {
53
- children: React.ReactNode;
54
- id?: string | undefined;
55
- order?: number | undefined;
56
- inherit?: boolean | undefined;
57
- passthrough?: boolean | undefined;
58
- adaptive?: boolean | undefined;
59
- cachable?: CachableKey[] | undefined;
60
- manual?: boolean | undefined;
61
- onAnimationEnd?: ((animation: "animate" | T) => void) | undefined;
62
- } & SharedProps<T> & {
63
- ref?: import("react").ForwardedRef<AnimatableType<any>> | undefined;
64
- }) => ReturnType<typeof AnimatableBase>) & {
65
- displayName: string;
66
- };
67
- export default Animatable;
52
+ export default function Animatable<T extends string>(props: AnimatableProps<T>): import("react/jsx-runtime").JSX.Element;
53
+ export {};
@@ -1,9 +1,8 @@
1
- /// <reference types="react" />
2
- import { AnimatableProps, AnimatableType } from "./animatable";
1
+ import { AnimatableProps } from "./animatable";
3
2
  import Clip, { ClipProperties } from "./core/clip";
4
- declare const Animate: import("react").ForwardRefExoticComponent<{
5
- children: React.ReactNode;
6
- animations?: (ClipProperties | Clip)[] | undefined;
7
- levels?: number | undefined;
8
- } & Omit<AnimatableProps, "order" | "animate" | "animations"> & import("react").RefAttributes<AnimatableType>>;
9
- export default Animate;
3
+ type AnimateProps = {
4
+ animations?: (ClipProperties | Clip)[];
5
+ levels?: number;
6
+ } & Omit<AnimatableProps, 'animations' | 'animate' | 'order'>;
7
+ export default function Animate({ children, animations, levels, ...props }: AnimateProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { type Link } from "../hooks/use-link";
2
+ import { Link } from "./link";
3
3
  import type Track from "./track";
4
4
  export type Easing = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'step-start' | 'step-end';
5
5
  export type AnimatableKey = keyof React.CSSProperties | 'strokeLength';
@@ -15,7 +15,7 @@ export type AnimatableInitials = React.CSSProperties & {
15
15
  strokeLength?: number | string;
16
16
  };
17
17
  export type CompositeType = 'none' | 'override' | 'combine';
18
- type ClipConfig = {
18
+ export type ClipConfig = {
19
19
  duration?: number;
20
20
  delay?: number;
21
21
  repeat?: number;
@@ -0,0 +1,14 @@
1
+ import { ClipConfig } from "./clip";
2
+ type Computed<P> = (index: number) => P;
3
+ export type Computation<T, P> = (value: T, index: number) => P;
4
+ type LinkCallback = (options: ClipConfig) => void;
5
+ export type Link<T> = {
6
+ (index?: number): T;
7
+ <P>(computation: Computation<T, P>): Link<ReturnType<typeof computation>>;
8
+ set(value: T, options?: ClipConfig): void;
9
+ subscribe(callback: LinkCallback): void;
10
+ unsubscribe(callback: LinkCallback): void;
11
+ };
12
+ export declare function createLink<T, P>(initial: T, computed?: Computed<P>): Link<T>;
13
+ export declare function isLink<T>(val: any): val is Link<T>;
14
+ export {};
@@ -1,4 +1,3 @@
1
- import { type Link } from "../hooks/use-link";
2
1
  import { CachableKey } from "./cache";
3
2
  import Clip, { ClipProperties, CompositeType } from "./clip";
4
3
  import Track, { TransitionOptions } from "./track";
@@ -19,7 +18,7 @@ export default class Timeline {
19
18
  paused: boolean;
20
19
  tracks: IndexedMap<Element, Track>;
21
20
  frame: number;
22
- connected: boolean;
21
+ linked: (() => void)[];
23
22
  mounted: boolean;
24
23
  mountClips: Clip[];
25
24
  constructor({ stagger, staggerLimit, deform, cachable, mountClips }: {
@@ -31,8 +30,9 @@ export default class Timeline {
31
30
  });
32
31
  step(): void;
33
32
  time(clip: Clip): number;
34
- port(prop: string, link: Link<any>, dt: number): void;
35
- connect(clip?: ClipProperties | Clip): void;
33
+ private receiver;
34
+ link(clip?: ClipProperties | Clip): void;
35
+ unlink(): void;
36
36
  transition(from: Timeline | undefined, options?: TransitionOptions): void;
37
37
  insert(element: any): void;
38
38
  add(clip: Clip, { immediate, composite, reverse, delay, commit }: PlayOptions): void;
@@ -23,7 +23,6 @@ export default class Track {
23
23
  step(index: number): void;
24
24
  transition(previous: Track | undefined, options: TransitionOptions): void;
25
25
  apply(prop: string, val: any): void;
26
- set(prop: string, val: any): void;
27
26
  decomposeScale(): [number, number];
28
27
  computeBorderRadius(borderRadius?: string): string;
29
28
  correct(): void;
@@ -16,7 +16,7 @@ export declare function merge<T extends {
16
16
  export declare function pick<T extends {
17
17
  [key: string]: any;
18
18
  }, K extends keyof T>(map: T, keys: K[]): { [key in K]: T[K]; };
19
- export declare function combineRefs(...refs: React.Ref<any>[]): (el: any) => void;
19
+ export declare function combineRefs(...refs: (React.Ref<any> | undefined)[]): (el: any) => void;
20
20
  export declare const lengthToOffset: (val: any) => number;
21
21
  export declare class IndexedMap<K, V> {
22
22
  private map;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { Link } from "./use-link";
2
+ import { Link } from "../core/link";
3
3
  export default function useAudio({ bands, minFrequency, maxFrequency, smoothing }?: {
4
4
  bands?: number | undefined;
5
5
  minFrequency?: number | undefined;
6
6
  maxFrequency?: number | undefined;
7
7
  smoothing?: number | undefined;
8
- }): [React.MutableRefObject<HTMLAudioElement | null>, Link<number[]>];
8
+ }): [React.RefObject<HTMLAudioElement | null>, Link<number[]>];
@@ -1,12 +1 @@
1
- type ChangeListener = (dt: number) => void;
2
- type Transformer<T, P = any> = (val: T, index: number) => P;
3
- export type Link<T> = {
4
- <P = any>(transform: Transformer<T, P>): Link<ReturnType<Transformer<T, P>>>;
5
- (index?: number): T;
6
- onchange: (callback: ChangeListener) => void;
7
- offchange: (callback: ChangeListener) => void;
8
- set: (value: T, transition?: number) => void;
9
- };
10
- export declare function isLink<T>(val: any): val is Link<T>;
11
- export default function useLink<T = any>(initial: T): Link<T>;
12
- export {};
1
+ export default function useLink<T = any>(initial: T): import("../core/link").Link<T>;
@@ -2,7 +2,7 @@
2
2
  export default function useScroll<T extends HTMLElement>({ restore, target }?: {
3
3
  restore?: number;
4
4
  target?: React.RefObject<T>;
5
- }): import("./use-link").Link<{
5
+ }): import("../core/link").Link<{
6
6
  x: number;
7
7
  y: number;
8
8
  top: number;
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { Link } from "./use-link";
2
+ import { Link } from "../core/link";
3
3
  export default function useViewport<T extends Element = any>(threshold?: number): [Link<[number, number]>, React.Ref<T>];
@@ -6,5 +6,4 @@ import usePath from "./hooks/use-path";
6
6
  import useViewport from "./hooks/use-viewport";
7
7
  import useVisible from "./hooks/use-visible";
8
8
  import useAudio from "./hooks/use-audio";
9
- import useCouple from "./hooks/use-couple";
10
- export { useLink, useTrigger, useReducedMotion, useScroll, usePath, useViewport, useVisible, useAudio, useCouple };
9
+ export { useLink, useTrigger, useReducedMotion, useScroll, usePath, useViewport, useVisible, useAudio };
@@ -1,35 +1,10 @@
1
- /// <reference types="react" />
2
- import { AnimatableType } from "../animatable";
1
+ import { AnimatableProps } from "../animatable";
3
2
  import { TransitionOptions } from "../core/track";
4
- declare const Morph: import("react").ForwardRefExoticComponent<{
3
+ type MorphProps = {
5
4
  group: string;
6
- transition?: Omit<TransitionOptions, "reverse"> | undefined;
7
- show?: boolean | undefined;
8
- } & {
9
- children: import("react").ReactNode;
10
- id?: string | undefined;
11
- order?: number | undefined;
12
- inherit?: boolean | undefined;
13
- passthrough?: boolean | undefined;
14
- adaptive?: boolean | undefined;
15
- cachable?: import("../core/cache").CachableKey[] | undefined;
16
- manual?: boolean | undefined;
17
- onAnimationEnd?: ((animation: any) => void) | undefined;
18
- } & {
19
- group?: string | undefined;
20
- animations?: {
21
- [x: string]: import("../core/clip").ClipProperties | import("../animations").Clip;
22
- } | undefined;
23
- triggers?: ({
24
- name?: any;
25
- on: boolean | import("../hooks/use-trigger").Trigger | ("mount" | "unmount");
26
- } & import("../core/timeline").PlayOptions)[] | undefined;
27
- animate?: import("../core/clip").ClipProperties | import("../animations").Clip | undefined;
28
- initial?: import("../core/clip").AnimatableInitials | undefined;
29
- stagger?: number | undefined;
30
- staggerLimit?: number | undefined;
31
- deform?: boolean | undefined;
32
- disabled?: boolean | undefined;
33
- paused?: boolean | undefined;
34
- } & import("react").RefAttributes<AnimatableType>>;
35
- export default Morph;
5
+ transition?: Omit<TransitionOptions, 'reverse'>;
6
+ show?: boolean;
7
+ } & AnimatableProps;
8
+ export default function Morph({ children, transition, // should be able to be inherited
9
+ show, group, ...props }: MorphProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
@@ -1,30 +1,2 @@
1
- /// <reference types="react" />
2
- import { AnimatableType } from "../animatable";
3
- declare const Typable: import("react").ForwardRefExoticComponent<{
4
- children: import("react").ReactNode;
5
- id?: string | undefined;
6
- order?: number | undefined;
7
- inherit?: boolean | undefined;
8
- passthrough?: boolean | undefined;
9
- adaptive?: boolean | undefined;
10
- cachable?: import("../core/cache").CachableKey[] | undefined;
11
- manual?: boolean | undefined;
12
- onAnimationEnd?: ((animation: any) => void) | undefined;
13
- } & {
14
- group?: string | undefined;
15
- animations?: {
16
- [x: string]: import("../core/clip").ClipProperties | import("../animations").Clip;
17
- } | undefined;
18
- triggers?: ({
19
- name?: any;
20
- on: boolean | import("../hooks/use-trigger").Trigger | ("mount" | "unmount");
21
- } & import("../core/timeline").PlayOptions)[] | undefined;
22
- animate?: import("../core/clip").ClipProperties | import("../animations").Clip | undefined;
23
- initial?: import("../core/clip").AnimatableInitials | undefined;
24
- stagger?: number | undefined;
25
- staggerLimit?: number | undefined;
26
- deform?: boolean | undefined;
27
- disabled?: boolean | undefined;
28
- paused?: boolean | undefined;
29
- } & import("react").RefAttributes<AnimatableType>>;
30
- export default Typable;
1
+ import { AnimatableProps } from "../animatable";
2
+ export default function Typable({ children, stagger, staggerLimit, ...props }: AnimatableProps): import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinityfx/lively",
3
- "version": "3.5.3",
3
+ "version": "4.0.0-alpha.1",
4
4
  "type": "module",
5
5
  "description": "Feature complete, lightweight react animation library.",
6
6
  "main": "dist/index.js",
@@ -50,21 +50,22 @@
50
50
  "tslib": "^2.6.2"
51
51
  },
52
52
  "peerDependencies": {
53
- "react": ">=16.0.0",
54
- "react-dom": ">=16.0.0"
53
+ "react": ">=19.0.0",
54
+ "react-dom": ">=19.0.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@rollup/plugin-commonjs": "^25.0.7",
58
58
  "@rollup/plugin-node-resolve": "^15.2.3",
59
59
  "@rollup/plugin-terser": "^0.4.4",
60
60
  "@rollup/plugin-typescript": "^11.1.6",
61
- "@types/react": "^18.2.31",
62
- "react": "^18.2.0",
63
- "react-dom": "^18.2.0",
64
- "rollup": "^4.10.0",
65
- "rollup-plugin-preserve-directives": "^0.4.0",
61
+ "@types/react": "npm:types-react@^19.0.0-beta.1",
62
+ "@types/react-dom": "npm:types-react-dom@^19.0.0-beta.1",
63
+ "react": "^19.0.0-beta-73bcdfbae5-20240502",
64
+ "react-dom": "^19.0.0-beta-73bcdfbae5-20240502",
65
+ "rollup": "^4.17.2",
66
66
  "rollup-plugin-delete": "^2.0.0",
67
- "typescript": "^5.3.3"
67
+ "rollup-plugin-preserve-directives": "^0.4.0",
68
+ "typescript": "^5.4.5"
68
69
  },
69
70
  "sideEffects": false
70
71
  }
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es5",
3
+ "target": "ES2016",
4
4
  "lib": ["dom", "dom.iterable", "esnext"],
5
5
  "jsx": "react-jsx",
6
6
  "module": "esnext",
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{useState as n,useEffect as r}from"react";import o,{isLink as t}from"./use-link.js";function f(f,u){void 0===u&&(u=[]);var c=n(f)[0],e=o(c);return r((function(){var n=function(){return e.set(f())};return n(),u.forEach((function(r){t(r)&&r.onchange(n)})),function(){return u.forEach((function(r){t(r)&&r.offchange(n)}))}}),u),e}export{f as default};
3
- //# sourceMappingURL=use-couple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-couple.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- export default function useCouple<T>(callback: () => T, dependencies?: unknown[]): import("./use-link").Link<T>;