@stackflow/react
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -1,2 +0,2 @@ | ||
var ht=Object.create;var O=Object.defineProperty,Rt=Object.defineProperties,Tt=Object.getOwnPropertyDescriptor,wt=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertyNames,z=Object.getOwnPropertySymbols,Ot=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable;var $=(t,e,o)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,v=(t,e)=>{for(var o in e||(e={}))J.call(e,o)&&$(t,o,e[o]);if(z)for(var o of z(e))bt.call(e,o)&&$(t,o,e[o]);return t},E=(t,e)=>Rt(t,wt(e));var It=(t,e)=>{for(var o in e)O(t,o,{get:e[o],enumerable:!0})},K=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Dt(e))!J.call(t,s)&&s!==o&&O(t,s,{get:()=>e[s],enumerable:!(a=Tt(e,s))||a.enumerable});return t};var d=(t,e,o)=>(o=t!=null?ht(Ot(t)):{},K(e||!t||!t.__esModule?O(o,"default",{value:t,enumerable:!0}):o,t)),Nt=t=>K(O({},"__esModule",{value:!0}),t);var Wt={};It(Wt,{stackflow:()=>Lt,useActions:()=>L,useActivity:()=>Vt,useActivityParams:()=>Bt,useStack:()=>Mt});module.exports=Nt(Wt);var X=require("react");var Q=require("react"),h=(0,Q.createContext)(null);var Vt=()=>(0,X.useContext)(h);var Y=require("react");function Bt(){return(0,Y.useContext)(h).params}var tt=require("react");var Z=require("react"),I=(0,Z.createContext)(null);var Mt=()=>(0,tt.useContext)(I);var S=d(require("react"));var et=require("react"),N=(0,et.createContext)({});var ot=d(require("react"));var rt=({children:t,value:e})=>ot.default.createElement(N.Provider,{value:e},t);var it=d(require("react"));function V(){return it.default.useContext(N)}var C=require("@stackflow/core"),u=d(require("react")),dt=d(require("react-fast-compare"));var nt=d(require("react"));var at=({children:t,value:e})=>nt.default.createElement(h.Provider,{value:e},t);var st=require("@stackflow/core");function b(){return(0,st.id)()}var ct=require("react"),B=(0,ct.createContext)(null);var mt=d(require("react"));var pt=({children:t,value:e})=>mt.default.createElement(B.Provider,{value:e},t);var ft=require("react");function l(){return(0,ft.useContext)(B)}var ut=require("react"),M=(0,ut.createContext)(null);var vt=require("react"),U=(0,vt.createContext)(null);var Ut=1e3,Ft=Ut/60,xt=({transitionDuration:t,initialActivity:e,activities:o,children:a})=>{let s=l(),c=V(),i=(0,u.useMemo)(()=>{let x=new Date().getTime()-t,A=s.reduce((q,G)=>{var _,j;return(j=(_=G.initialPushedEvent)==null?void 0:_.call(G))!=null?j:q},null),P=e?(0,C.makeEvent)("Pushed",{activityId:b(),activityName:e({context:c}),params:{},eventDate:x}):null;A&&P&&console.warn(`Stackflow - Some plugin overrides an "initialActivity" option. The "initialActivity" option you set to "${P.activityName}" in the "stackflow" is ignored.`);let D=A!=null?A:P,Et=Object.keys(o).map(q=>(0,C.makeEvent)("ActivityRegistered",{activityName:q,eventDate:x})),W=[(0,C.makeEvent)("Initialized",{transitionDuration:t,eventDate:x}),...Et];return D&&W.push(D),W},[]),m=(0,u.useMemo)(()=>(0,C.aggregate)(i,new Date().getTime()),[]),[r,n]=(0,u.useState)(()=>m),f=(0,u.useRef)(i),p=(0,u.useRef)(m),k=(0,u.useCallback)(()=>p.current,[p]),w=(0,u.useCallback)((x,A)=>{let P=(0,C.makeEvent)(x,A),D=[...f.current,P];f.current=D,n((0,C.aggregate)(D,new Date().getTime()))},[f,n]);return(0,u.useEffect)(()=>{let x=setInterval(()=>{let A=f.current,P=(0,C.aggregate)(A,new Date().getTime());(0,dt.default)(r,P)||(n(P),p.current=P),P.globalTransitionState==="idle"&&clearInterval(x)},Ft);return()=>{clearInterval(x)}},[f,r,n]),u.default.createElement(U.Provider,{value:r},u.default.createElement(M.Provider,{value:(0,u.useMemo)(()=>({getStack:k,dispatchEvent:w}),[k,w])},a))};var y=d(require("react"));var F=()=>{let t=l(),e=V(),{dispatchEvent:o,getStack:a}=y.default.useContext(M),s=(0,y.useCallback)(r=>{let n=!1,f=()=>{n=!0};return t.forEach(p=>{var k,w,x;switch(r){case"PUSHED":(k=p.onBeforePush)==null||k.call(p,{actions:{dispatchEvent:o,getStack:a,preventDefault:f}});break;case"REPLACED":(w=p.onBeforeReplace)==null||w.call(p,{actions:{dispatchEvent:o,getStack:a,preventDefault:f}});break;case"POPPED":(x=p.onBeforePop)==null||x.call(p,{actions:{dispatchEvent:o,getStack:a,preventDefault:f}});break;default:break}}),{isPrevented:n}},[t,o,a,e]),c=(0,y.useCallback)(({activityId:r,activityName:n,params:f})=>{let{isPrevented:p}=s("PUSHED");p||o("Pushed",{activityId:r,activityName:n,params:f})},[o]),i=(0,y.useCallback)(({activityId:r,activityName:n,params:f})=>{let{isPrevented:p}=s("REPLACED");p||o("Replaced",{activityId:r,activityName:n,params:f})},[o]),m=(0,y.useCallback)(()=>{let{isPrevented:r}=s("POPPED");r||o("Popped",{})},[o]);return(0,y.useMemo)(()=>({dispatchEvent:o,getStack:a,push:c,replace:i,pop:m}),[o,a,c,i,m])};var Pt=d(require("react"));var R=()=>Pt.default.useContext(U);var lt=require("@stackflow/core"),g=require("react");var Ht=()=>{let t=l(),e=R(),o=F(),a=(0,g.useCallback)(i=>{t.forEach(m=>{var r;(r=m.onInit)==null||r.call(m,i)})},[]),s=(0,g.useCallback)(({actions:i,effect:m})=>{switch(m._TAG){case"PUSHED":{t.forEach(r=>{var n;return(n=r.onPushed)==null?void 0:n.call(r,{actions:i,effect:m})});break}case"POPPED":{t.forEach(r=>{var n;return(n=r.onPopped)==null?void 0:n.call(r,{actions:i,effect:m})});break}case"REPLACED":{t.forEach(r=>{var n;return(n=r.onReplaced)==null?void 0:n.call(r,{actions:i,effect:m})});break}case"%SOMETHING_CHANGED%":{t.forEach(r=>{var n;return(n=r.onChanged)==null?void 0:n.call(r,{actions:i,effect:m})});break}default:break}},[]);(0,g.useEffect)(()=>{a==null||a({actions:{dispatchEvent:o.dispatchEvent,getStack:o.getStack}})},[]);let c=(0,g.useRef)(e);return(0,g.useEffect)(()=>{let i=c.current;(i?(0,lt.produceEffects)(i,e):[]).forEach(r=>{s({actions:{dispatchEvent:o.dispatchEvent,getStack:o.getStack},effect:r})}),c.current=v({},e)},[e]),null},Ct=Ht;var T=d(require("react"));var H=d(require("react"));var yt=d(require("react"));var kt=({children:t,value:e})=>yt.default.createElement(I.Provider,{value:e},t);var qt=({activities:t,plugin:e})=>{let o=R(),a=l();return e.render({stack:E(v({},o),{render(s){let c=v(v({},o),s);return{activities:c.activities.map(i=>E(v({},i),{key:i.id,render(m){let r=t[i.name],n=H.default.createElement(r,v({},i.params));return a.forEach(f=>{var p,k;n=(k=(p=f.wrapActivity)==null?void 0:p.call(f,{activity:E(v({},i),{render:()=>n})}))!=null?k:n}),H.default.createElement(kt,{value:c},H.default.createElement(at,{key:i.id,value:v(v({},i),m)},n))}}))}}})})},At=qt;var Gt=({activities:t})=>{let e=R(),o=l(),a=o.filter(c=>!!c.render);(0,T.useEffect)(()=>{a.length===0&&console.warn(`Stackflow - There is no rendering plugin, so "<Stack />" doesn't render anything. If you want to render some UI, use "@stackflow/plugin-renderer-basic" or add another rendering plugin.`)},[a]);let s=T.default.createElement(T.default.Fragment,null,a.map(c=>T.default.createElement(At,{activities:t,key:c.key,plugin:c})));return o.forEach(c=>{var i,m;s=(m=(i=c.wrapStack)==null?void 0:i.call(c,{stack:E(v({},e),{render(){return s}})}))!=null?m:s}),s},gt=Gt;var St=require("react");function L(){let t=F();return(0,St.useMemo)(()=>({push(e,o,a){t.push({activityId:b(),activityName:e,params:o})},replace(e,o,a){t.replace({activityId:b(),activityName:e,params:o})},pop(e){t.pop()}}),[t.push,t.replace,t.pop])}function Lt(t){return{Stack(e){var a;let o=(0,S.useMemo)(()=>{var s;return((s=t.plugins)!=null?s:[]).reduce((c,i)=>[...c,...Array.isArray(i)?i:[i]],[]).map(c=>c({context:e.context}))},[]);return S.default.createElement(rt,{value:(a=e.context)!=null?a:{}},S.default.createElement(pt,{value:o},S.default.createElement(xt,{activities:t.activities,initialActivity:t.initialActivity,transitionDuration:t.transitionDuration},S.default.createElement(gt,{activities:t.activities}),S.default.createElement(Ct,null))))},useFlow:L}} | ||
var wt=Object.create;var O=Object.defineProperty,Dt=Object.defineProperties,Ot=Object.getOwnPropertyDescriptor,bt=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertyNames,J=Object.getOwnPropertySymbols,Mt=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable;var K=(t,e,o)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,v=(t,e)=>{for(var o in e||(e={}))Q.call(e,o)&&K(t,o,e[o]);if(J)for(var o of J(e))Nt.call(e,o)&&K(t,o,e[o]);return t},S=(t,e)=>Dt(t,bt(e));var Vt=(t,e)=>{for(var o in e)O(t,o,{get:e[o],enumerable:!0})},X=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of It(e))!Q.call(t,s)&&s!==o&&O(t,s,{get:()=>e[s],enumerable:!(i=Ot(e,s))||i.enumerable});return t};var d=(t,e,o)=>(o=t!=null?wt(Mt(t)):{},X(e||!t||!t.__esModule?O(o,"default",{value:t,enumerable:!0}):o,t)),Bt=t=>X(O({},"__esModule",{value:!0}),t);var zt={};Vt(zt,{stackflow:()=>jt,useActions:()=>_,useActivity:()=>Ut,useActivityParams:()=>Ft,useStack:()=>Ht});module.exports=Bt(zt);var Z=require("react");var Y=require("react"),R=(0,Y.createContext)(null);var Ut=()=>(0,Z.useContext)(R);var tt=require("react");function Ft(){return(0,tt.useContext)(R).params}var ot=require("react");var et=require("react"),I=(0,et.createContext)(null);var Ht=()=>(0,ot.useContext)(I);var k=d(require("react"));var rt=require("react"),M=(0,rt.createContext)({});var it=d(require("react"));var nt=({children:t,value:e})=>it.default.createElement(M.Provider,{value:e},t);var at=d(require("react"));function N(){return at.default.useContext(M)}var C=require("@stackflow/core"),u=d(require("react")),Pt=d(require("react-fast-compare"));var ct=d(require("react"));var V=require("react"),st=d(require("react-fast-compare"));function B(t){let e=(0,V.useRef)(t),o=e.current,i=(0,st.default)(o,t);return(0,V.useEffect)(()=>{i||(e.current=t)}),i?o:t}var mt=({children:t,value:e})=>ct.default.createElement(R.Provider,{value:B(e)},t);var pt=require("@stackflow/core");function b(){return(0,pt.id)()}var ft=require("react"),U=(0,ft.createContext)(null);var ut=d(require("react"));var vt=({children:t,value:e})=>ut.default.createElement(U.Provider,{value:e},t);var dt=require("react");function P(){return(0,dt.useContext)(U)}var xt=require("react"),F=(0,xt.createContext)(null);var lt=require("react"),H=(0,lt.createContext)(null);var qt=1e3,Gt=qt/60,Ct=({transitionDuration:t,initialActivity:e,activities:o,children:i})=>{let s=P(),m=N(),n=(0,u.useMemo)(()=>{let x=new Date().getTime()-t,g=s.reduce((L,W)=>{var z,$;return($=(z=W.initialPushedEvent)==null?void 0:z.call(W))!=null?$:L},null),l=e?(0,C.makeEvent)("Pushed",{activityId:b(),activityName:e({context:m}),params:{},eventDate:x}):null;g&&l&&console.warn(`Stackflow - Some plugin overrides an "initialActivity" option. The "initialActivity" option you set to "${l.activityName}" in the "stackflow" is ignored.`);let h=g!=null?g:l;h||console.warn("Stackflow - There is no initial activity. If you want to set the initial activity, add the `initialActivity` option of the `stackflow()` function or add a plugin that sets the initial activity. (e.g. `@stackflow/plugin-history-sync`)");let Tt=Object.keys(o).map(L=>(0,C.makeEvent)("ActivityRegistered",{activityName:L,eventDate:x})),j=[(0,C.makeEvent)("Initialized",{transitionDuration:t,eventDate:x}),...Tt];return h&&j.push(h),j},[]),c=(0,u.useMemo)(()=>(0,C.aggregate)(n,new Date().getTime()),[]),[r,a]=(0,u.useState)(()=>c),f=(0,u.useRef)(n),p=(0,u.useRef)(c),A=(0,u.useCallback)(()=>p.current,[p]),D=(0,u.useCallback)((x,g)=>{let l=(0,C.makeEvent)(x,g),h=[...f.current,l];f.current=h,a((0,C.aggregate)(h,new Date().getTime()))},[f,a]);return(0,u.useEffect)(()=>{let x=setInterval(()=>{let g=f.current,l=(0,C.aggregate)(g,new Date().getTime());(0,Pt.default)(r,l)||(a(l),p.current=l),l.globalTransitionState==="idle"&&clearInterval(x)},Gt);return()=>{clearInterval(x)}},[f,r,a]),u.default.createElement(H.Provider,{value:r},u.default.createElement(F.Provider,{value:(0,u.useMemo)(()=>({getStack:A,dispatchEvent:D}),[A,D])},i))};var y=d(require("react"));var q=()=>{let t=P(),e=N(),{dispatchEvent:o,getStack:i}=y.default.useContext(F),s=(0,y.useCallback)(r=>{let a=!1,f=()=>{a=!0};return t.forEach(p=>{var A,D,x;switch(r){case"PUSHED":(A=p.onBeforePush)==null||A.call(p,{actions:{dispatchEvent:o,getStack:i,preventDefault:f}});break;case"REPLACED":(D=p.onBeforeReplace)==null||D.call(p,{actions:{dispatchEvent:o,getStack:i,preventDefault:f}});break;case"POPPED":(x=p.onBeforePop)==null||x.call(p,{actions:{dispatchEvent:o,getStack:i,preventDefault:f}});break;default:break}}),{isPrevented:a}},[t,o,i,e]),m=(0,y.useCallback)(({activityId:r,activityName:a,params:f})=>{let{isPrevented:p}=s("PUSHED");p||o("Pushed",{activityId:r,activityName:a,params:f})},[o]),n=(0,y.useCallback)(({activityId:r,activityName:a,params:f})=>{let{isPrevented:p}=s("REPLACED");p||o("Replaced",{activityId:r,activityName:a,params:f})},[o]),c=(0,y.useCallback)(()=>{let{isPrevented:r}=s("POPPED");r||o("Popped",{})},[o]);return(0,y.useMemo)(()=>({dispatchEvent:o,getStack:i,push:m,replace:n,pop:c}),[o,i,m,n,c])};var yt=d(require("react"));var T=()=>yt.default.useContext(H);var kt=require("@stackflow/core"),E=require("react");var Lt=()=>{let t=P(),e=T(),o=q(),i=(0,E.useCallback)(n=>{t.forEach(c=>{var r;(r=c.onInit)==null||r.call(c,n)})},[]),s=(0,E.useCallback)(({actions:n,effect:c})=>{switch(c._TAG){case"PUSHED":{t.forEach(r=>{var a;return(a=r.onPushed)==null?void 0:a.call(r,{actions:n,effect:c})});break}case"POPPED":{t.forEach(r=>{var a;return(a=r.onPopped)==null?void 0:a.call(r,{actions:n,effect:c})});break}case"REPLACED":{t.forEach(r=>{var a;return(a=r.onReplaced)==null?void 0:a.call(r,{actions:n,effect:c})});break}case"%SOMETHING_CHANGED%":{t.forEach(r=>{var a;return(a=r.onChanged)==null?void 0:a.call(r,{actions:n,effect:c})});break}default:break}},[]);(0,E.useEffect)(()=>{i==null||i({actions:{dispatchEvent:o.dispatchEvent,getStack:o.getStack}})},[]);let m=(0,E.useRef)(e);return(0,E.useEffect)(()=>{let n=m.current;(n?(0,kt.produceEffects)(n,e):[]).forEach(r=>{s({actions:{dispatchEvent:o.dispatchEvent,getStack:o.getStack},effect:r})}),m.current=v({},e)},[e]),null},At=Lt;var w=d(require("react"));var G=d(require("react"));var gt=d(require("react"));var St=({children:t,value:e})=>gt.default.createElement(I.Provider,{value:B(e)},t);var Wt=({activities:t,plugin:e})=>{let o=T(),i=P();return e.render({stack:S(v({},o),{render(s){let m=v(v({},o),s);return{activities:m.activities.map(n=>S(v({},n),{key:n.id,render(c){let r=t[n.name],a=G.default.createElement(r,v({},n.params));return i.forEach(f=>{var p,A;a=(A=(p=f.wrapActivity)==null?void 0:p.call(f,{activity:S(v({},n),{render:()=>a})}))!=null?A:a}),G.default.createElement(St,{value:m},G.default.createElement(mt,{key:n.id,value:v(v({},n),c)},a))}}))}}})})},Et=Wt;var _t=({activities:t})=>{let e=T(),o=P(),i=o.filter(m=>!!m.render);(0,w.useEffect)(()=>{i.length===0&&console.warn(`Stackflow - There is no rendering plugin, so "<Stack />" doesn't render anything. If you want to render some UI, use "@stackflow/plugin-renderer-basic" or add another rendering plugin.`)},[i]);let s=w.default.createElement(w.default.Fragment,null,i.map(m=>w.default.createElement(Et,{activities:t,key:m.key,plugin:m})));return o.forEach(m=>{var n,c;s=(c=(n=m.wrapStack)==null?void 0:n.call(m,{stack:S(v({},e),{render(){return s}})}))!=null?c:s}),s},ht=_t;var Rt=require("react");function _(){let t=q();return(0,Rt.useMemo)(()=>({push(e,o,i){t.push({activityId:b(),activityName:e,params:o})},replace(e,o,i){t.replace({activityId:b(),activityName:e,params:o})},pop(e){t.pop()}}),[t.push,t.replace,t.pop])}function jt(t){let e=Object.entries(t.activities).reduce((o,[i,s])=>S(v({},o),{[i]:k.default.memo(s)}),{});return{Stack(o){var s;let i=(0,k.useMemo)(()=>{var m;return((m=t.plugins)!=null?m:[]).reduce((n,c)=>[...n,...Array.isArray(c)?c:[c]],[]).map(n=>n({context:o.context}))},[]);return k.default.createElement(nt,{value:(s=o.context)!=null?s:{}},k.default.createElement(vt,{value:i},k.default.createElement(Ct,{activities:e,initialActivity:t.initialActivity,transitionDuration:t.transitionDuration},k.default.createElement(ht,{activities:e}),k.default.createElement(At,null))))},useFlow:_}} | ||
//# sourceMappingURL=index.js.map |
@@ -0,1 +1,2 @@ | ||
export * from "./useMemoDeep"; | ||
export * from "./WithRequired"; |
{ | ||
"name": "@stackflow/react", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"license": "Apache-2.0", | ||
@@ -52,3 +52,3 @@ "exports": { | ||
}, | ||
"gitHead": "7fa3ce6d240d2cc8e959cba76f6b21b9fbef8ce9" | ||
"gitHead": "ee9adbd855f8f9819f0c0a62944c7a50f5bef4c1" | ||
} |
@@ -0,1 +1,2 @@ | ||
export * from "./useMemoDeep"; | ||
export * from "./WithRequired"; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
120204
79
1114