@stackflow/react
Advanced tools
Comparing version 0.19.1 to 0.19.2-alpha.1
@@ -8,2 +8,3 @@ export * from "./activity/ActivityComponentType"; | ||
export * from "./useActions"; | ||
export * from "./useActiveEffect"; | ||
export * from "./useStepActions"; |
@@ -1,2 +0,2 @@ | ||
"use strict";var ht=Object.create;var R=Object.defineProperty,Rt=Object.defineProperties,wt=Object.getOwnPropertyDescriptor,Et=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,bt=Object.getPrototypeOf,tt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable;var _=(t,e,i)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,u=(t,e)=>{for(var i in e||(e={}))tt.call(e,i)&&_(t,i,e[i]);if(Z)for(var i of Z(e))Ut.call(e,i)&&_(t,i,e[i]);return t},y=(t,e)=>Rt(t,Et(e));var Ot=(t,e)=>{for(var i in e)R(t,i,{get:e[i],enumerable:!0})},et=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of It(e))!tt.call(t,s)&&s!==i&&R(t,s,{get:()=>e[s],enumerable:!(n=wt(e,s))||n.enumerable});return t};var m=(t,e,i)=>(i=t!=null?ht(bt(t)):{},et(e||!t||!t.__esModule?R(i,"default",{value:t,enumerable:!0}):i,t)),Dt=t=>et(R({},"__esModule",{value:!0}),t);var jt={};Ot(jt,{stackflow:()=>Wt,useActions:()=>H,useActivity:()=>Mt,useActivityParams:()=>Nt,useStack:()=>Bt,useStepActions:()=>J});module.exports=Dt(jt);var nt=require("react");var b=m(require("react"));function it(){let t={value:null};function e(){return t.value}function i(n){t.value=n}return[e,i]}var E=require("react"),ot=m(require("react-fast-compare"));function I(t){let e=(0,E.useRef)(t),i=e.current,n=(0,ot.default)(i,t);return(0,E.useEffect)(()=>{n||(e.current=t)}),n?i:t}var w=(0,b.createContext)(null),rt=({children:t,value:e})=>b.default.createElement(w.Provider,{value:I(e)},t);var Mt=()=>(0,nt.useContext)(w);var at=require("react");function Nt(){return(0,at.useContext)(w).params}var ct=require("react");var U=m(require("react"));var W=(0,U.createContext)(null),st=({children:t,value:e})=>U.default.createElement(W.Provider,{value:I(e)},t);var Bt=()=>(0,ct.useContext)(W);var P=require("@stackflow/core"),l=m(require("react"));var pt=require("@stackflow/core");function d(){return(0,pt.id)()}var mt=require("@stackflow/core");function k(){return(0,mt.id)()}var C=m(require("react"));var lt=m(require("react")),ut,ft=(ut=lt.default.useDeferredValue)!=null?ut:t=>t;var x=m(require("react")),vt,dt=(vt=x.default.useSyncExternalStore)!=null?vt:(t,e)=>{let[i,n]=(0,x.useState)(()=>e());return(0,x.useEffect)(()=>t(()=>{n(()=>e())})),i};var j=(0,C.createContext)(null),$=(0,C.createContext)(null),yt=({coreStore:t,children:e})=>{let i=dt(t.subscribe,t.actions.getStack,t.actions.getStack),n=ft(i);return C.default.createElement($.Provider,{value:n},C.default.createElement(j.Provider,{value:t.actions},e))};var St=m(require("react"));var O=()=>St.default.useContext(j);var Pt=m(require("react"));var D=()=>Pt.default.useContext($);var g=m(require("react"));var B=m(require("react"));var M=m(require("react")),z=(0,M.createContext)(null),At=({children:t,value:e})=>M.default.createElement(z.Provider,{value:e},t);var kt=require("react");function N(){return(0,kt.useContext)(z)}var Ft=({activityComponentMap:t,plugin:e})=>{let i=D(),n=N();return e.render({stack:y(u({},i),{render(s){let p=u(u({},i),s);return{activities:p.activities.map(c=>y(u({},c),{key:c.id,render(f){let V=t[c.name],S=B.default.createElement(V,{params:c.params});return n.forEach(o=>{var r,a;S=(a=(r=o.wrapActivity)==null?void 0:r.call(o,{activity:y(u({},c),{render:()=>S})}))!=null?a:S}),B.default.createElement(st,{value:p},B.default.createElement(rt,{key:c.id,value:u(u({},c),f)},S))}}))}}})})},xt=Ft;var Kt=({activityComponentMap:t})=>{let e=D(),i=N(),n=i.filter(p=>!!p.render);(0,g.useEffect)(()=>{n.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.`)},[n]);let s=g.default.createElement(g.default.Fragment,null,n.map(p=>g.default.createElement(xt,{key:p.key,activityComponentMap:t,plugin:p})));return i.forEach(p=>{var c,f;s=(f=(c=p.wrapStack)==null?void 0:c.call(p,{stack:y(u({},e),{render(){return s}})}))!=null?f:s}),s},Ct=Kt;var F=m(require("react"));function G(t){return t?t.animate===void 0||t.animate==null?{skipActiveState:!1}:{skipActiveState:!t.animate}:{skipActiveState:!1}}var gt,Vt=(gt=F.default.useTransition)!=null?gt:()=>[!1,t=>t()];function H(){let t=O(),[e,i]=Vt();return(0,F.useMemo)(()=>({pending:e,push(n,s,p){let c=d();return t.push({activityId:c,activityName:n,activityParams:s,skipEnterActiveState:G(p).skipActiveState}),{activityId:c}},replace(n,s,p){var f;let c=d();return t.replace({activityId:(f=p==null?void 0:p.activityId)!=null?f:d(),activityName:n,activityParams:s,skipEnterActiveState:G(p).skipActiveState}),{activityId:c}},pop(n){t.pop({skipExitActiveState:G(n).skipActiveState})}}),[t.push,t.replace,t.pop,e,i])}var K=m(require("react"));var Tt,qt=(Tt=K.default.useTransition)!=null?Tt:()=>[!1,t=>t()],J=()=>{let t=O(),[e,i]=qt();return(0,K.useMemo)(()=>({pending:e,stepPush(n){let s=k();t.stepPush({stepId:s,stepParams:n})},stepReplace(n){let s=k();t.stepReplace({stepId:s,stepParams:n})},stepPop(){t.stepPop({})}}),[t.stepPush,t.stepReplace,t.stepPop,e,i])};function L(t){return t?t.animate===void 0||t.animate==null?{skipActiveState:!1}:{skipActiveState:!t.animate}:{skipActiveState:!1}}function Wt(t){var S;typeof window!="undefined"&&window.document.documentElement.style.setProperty("--stackflow-transition-duration",`${t.transitionDuration}ms`);let e=((S=t.plugins)!=null?S:[]).flat(1/0).map(o=>o),i=e.map(o=>o()),n=Object.entries(t.activities).reduce((o,[r,a])=>y(u({},o),{[r]:"component"in a?l.default.memo(a.component):l.default.memo(a)}),{}),s=()=>new Date().getTime()-t.transitionDuration*2,p=(0,P.makeCoreStore)({initialEvents:[(0,P.makeEvent)("Initialized",{transitionDuration:t.transitionDuration,eventDate:s()}),...Object.entries(t.activities).map(([o,r])=>(0,P.makeEvent)("ActivityRegistered",u({activityName:o,eventDate:s()},"component"in r?{activityParamsSchema:r.paramsSchema}:null)))],plugins:[]}),[c,f]=it(),V=o=>{let r=(0,l.useMemo)(()=>{let a=t.initialActivity?[(0,P.makeEvent)("Pushed",{activityId:d(),activityName:t.initialActivity(),activityParams:{},eventDate:s(),skipEnterActiveState:!1})]:[],v=i.reduce((h,q)=>{var Q,X,Y;return(Y=(X=q.overrideInitialEvents)==null?void 0:X.call(q,{initialEvents:h,initialContext:(Q=o.initialContext)!=null?Q:{}}))!=null?Y:h},a);v.length>0&&a.length>0&&v!==a&&console.warn(`Stackflow - Some plugin overrides an "initialActivity" option. The "initialActivity" option you set to "${a[0].activityName}" in the "stackflow" is ignored.`),v.length===0&&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 T=(0,P.makeCoreStore)({initialEvents:[...p.pullEvents(),...v],plugins:e});return f(T),T},[]);return(0,l.useEffect)(()=>{r.init()},[r]),l.default.createElement(At,{value:i},l.default.createElement(yt,{coreStore:r},l.default.createElement(Ct,{activityComponentMap:n})))};return{activities:t.activities,Stack:V,useFlow:H,useStepFlow:J,addActivity(o){if(c()){console.warn("Stackflow - `addActivity()` API cannot be called after a `<Stack />` component has been rendered");return}n[o.name]=l.default.memo(o.component),p.actions.dispatchEvent("ActivityRegistered",{activityName:o.name,activityParamsSchema:o.paramsSchema,eventDate:s()})},addPlugin(o){if(c()){console.warn("Stackflow - `addPlugin()` API cannot be called after a `<Stack />` component has been rendered");return}[o].flat(1/0).map(r=>r).forEach(r=>{e.push(r),i.push(r())})},actions:{getStack(){var o,r;return(r=(o=c())==null?void 0:o.actions.getStack())!=null?r:p.actions.getStack()},dispatchEvent(o,r){var a;return(a=c())==null?void 0:a.actions.dispatchEvent(o,r)},push(o,r,a){var A;let v=d();return(A=c())==null||A.actions.push({activityId:v,activityName:o,activityParams:r,skipEnterActiveState:L(a).skipActiveState}),{activityId:v}},replace(o,r,a){var A,T,h;let v=(A=a==null?void 0:a.activityId)!=null?A:d();return(h=c())==null||h.actions.replace({activityId:(T=a==null?void 0:a.activityId)!=null?T:d(),activityName:o,activityParams:r,skipEnterActiveState:L(a).skipActiveState}),{activityId:v}},pop(o){var r;return(r=c())==null?void 0:r.actions.pop({skipExitActiveState:L(o).skipActiveState})},stepPush(o){var a;let r=k();return(a=c())==null?void 0:a.actions.stepPush({stepId:r,stepParams:o})},stepReplace(o){var a;let r=k();return(a=c())==null?void 0:a.actions.stepReplace({stepId:r,stepParams:o})},stepPop(){var o;return(o=c())==null?void 0:o.actions.stepPop({})}}}} | ||
"use strict";var wt=Object.create;var R=Object.defineProperty,Et=Object.defineProperties,It=Object.getOwnPropertyDescriptor,bt=Object.getOwnPropertyDescriptors,Ut=Object.getOwnPropertyNames,_=Object.getOwnPropertySymbols,Ot=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;var tt=(t,e,o)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,u=(t,e)=>{for(var o in e||(e={}))et.call(e,o)&&tt(t,o,e[o]);if(_)for(var o of _(e))Dt.call(e,o)&&tt(t,o,e[o]);return t},y=(t,e)=>Et(t,bt(e));var Mt=(t,e)=>{for(var o in e)R(t,o,{get:e[o],enumerable:!0})},ot=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ut(e))!et.call(t,s)&&s!==o&&R(t,s,{get:()=>e[s],enumerable:!(n=It(e,s))||n.enumerable});return t};var m=(t,e,o)=>(o=t!=null?wt(Ot(t)):{},ot(e||!t||!t.__esModule?R(o,"default",{value:t,enumerable:!0}):o,t)),Nt=t=>ot(R({},"__esModule",{value:!0}),t);var zt={};Mt(zt,{stackflow:()=>jt,useActions:()=>J,useActiveEffect:()=>$t,useActivity:()=>W,useActivityParams:()=>Bt,useStack:()=>Ft,useStepActions:()=>L});module.exports=Nt(zt);var at=require("react");var b=m(require("react"));function it(){let t={value:null};function e(){return t.value}function o(n){t.value=n}return[e,o]}var E=require("react"),rt=m(require("react-fast-compare"));function I(t){let e=(0,E.useRef)(t),o=e.current,n=(0,rt.default)(o,t);return(0,E.useEffect)(()=>{n||(e.current=t)}),n?o:t}var w=(0,b.createContext)(null),nt=({children:t,value:e})=>b.default.createElement(w.Provider,{value:I(e)},t);var W=()=>(0,at.useContext)(w);var st=require("react");function Bt(){return(0,st.useContext)(w).params}var pt=require("react");var U=m(require("react"));var j=(0,U.createContext)(null),ct=({children:t,value:e})=>U.default.createElement(j.Provider,{value:I(e)},t);var Ft=()=>(0,pt.useContext)(j);var A=require("@stackflow/core"),l=m(require("react"));var mt=require("@stackflow/core");function d(){return(0,mt.id)()}var ut=require("@stackflow/core");function k(){return(0,ut.id)()}var C=m(require("react"));var ft=m(require("react")),lt,vt=(lt=ft.default.useDeferredValue)!=null?lt:t=>t;var x=m(require("react")),dt,yt=(dt=x.default.useSyncExternalStore)!=null?dt:(t,e)=>{let[o,n]=(0,x.useState)(()=>e());return(0,x.useEffect)(()=>t(()=>{n(()=>e())})),o};var $=(0,C.createContext)(null),z=(0,C.createContext)(null),St=({coreStore:t,children:e})=>{let o=yt(t.subscribe,t.actions.getStack,t.actions.getStack),n=vt(o);return C.default.createElement(z.Provider,{value:n},C.default.createElement($.Provider,{value:t.actions},e))};var At=m(require("react"));var O=()=>At.default.useContext($);var Pt=m(require("react"));var D=()=>Pt.default.useContext(z);var g=m(require("react"));var B=m(require("react"));var M=m(require("react")),G=(0,M.createContext)(null),kt=({children:t,value:e})=>M.default.createElement(G.Provider,{value:e},t);var xt=require("react");function N(){return(0,xt.useContext)(G)}var Kt=({activityComponentMap:t,plugin:e})=>{let o=D(),n=N();return e.render({stack:y(u({},o),{render(s){let p=u(u({},o),s);return{activities:p.activities.map(c=>y(u({},c),{key:c.id,render(f){let V=t[c.name],S=B.default.createElement(V,{params:c.params});return n.forEach(i=>{var r,a;S=(a=(r=i.wrapActivity)==null?void 0:r.call(i,{activity:y(u({},c),{render:()=>S})}))!=null?a:S}),B.default.createElement(ct,{value:p},B.default.createElement(nt,{key:c.id,value:u(u({},c),f)},S))}}))}}})})},Ct=Kt;var Vt=({activityComponentMap:t})=>{let e=D(),o=N(),n=o.filter(p=>!!p.render);(0,g.useEffect)(()=>{n.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.`)},[n]);let s=g.default.createElement(g.default.Fragment,null,n.map(p=>g.default.createElement(Ct,{key:p.key,activityComponentMap:t,plugin:p})));return o.forEach(p=>{var c,f;s=(f=(c=p.wrapStack)==null?void 0:c.call(p,{stack:y(u({},e),{render(){return s}})}))!=null?f:s}),s},gt=Vt;var F=m(require("react"));function H(t){return t?t.animate===void 0||t.animate==null?{skipActiveState:!1}:{skipActiveState:!t.animate}:{skipActiveState:!1}}var Tt,qt=(Tt=F.default.useTransition)!=null?Tt:()=>[!1,t=>t()];function J(){let t=O(),[e,o]=qt();return(0,F.useMemo)(()=>({pending:e,push(n,s,p){let c=d();return t.push({activityId:c,activityName:n,activityParams:s,skipEnterActiveState:H(p).skipActiveState}),{activityId:c}},replace(n,s,p){var f;let c=d();return t.replace({activityId:(f=p==null?void 0:p.activityId)!=null?f:d(),activityName:n,activityParams:s,skipEnterActiveState:H(p).skipActiveState}),{activityId:c}},pop(n){t.pop({skipExitActiveState:H(n).skipActiveState})}}),[t.push,t.replace,t.pop,e,o])}var K=m(require("react"));var ht,Wt=(ht=K.default.useTransition)!=null?ht:()=>[!1,t=>t()],L=()=>{let t=O(),[e,o]=Wt();return(0,K.useMemo)(()=>({pending:e,stepPush(n){let s=k();t.stepPush({stepId:s,stepParams:n})},stepReplace(n){let s=k();t.stepReplace({stepId:s,stepParams:n})},stepPop(){t.stepPop({})}}),[t.stepPush,t.stepReplace,t.stepPop,e,o])};function Q(t){return t?t.animate===void 0||t.animate==null?{skipActiveState:!1}:{skipActiveState:!t.animate}:{skipActiveState:!1}}function jt(t){var S;typeof window!="undefined"&&window.document.documentElement.style.setProperty("--stackflow-transition-duration",`${t.transitionDuration}ms`);let e=((S=t.plugins)!=null?S:[]).flat(1/0).map(i=>i),o=e.map(i=>i()),n=Object.entries(t.activities).reduce((i,[r,a])=>y(u({},i),{[r]:"component"in a?l.default.memo(a.component):l.default.memo(a)}),{}),s=()=>new Date().getTime()-t.transitionDuration*2,p=(0,A.makeCoreStore)({initialEvents:[(0,A.makeEvent)("Initialized",{transitionDuration:t.transitionDuration,eventDate:s()}),...Object.entries(t.activities).map(([i,r])=>(0,A.makeEvent)("ActivityRegistered",u({activityName:i,eventDate:s()},"component"in r?{activityParamsSchema:r.paramsSchema}:null)))],plugins:[]}),[c,f]=it(),V=i=>{let r=(0,l.useMemo)(()=>{let a=t.initialActivity?[(0,A.makeEvent)("Pushed",{activityId:d(),activityName:t.initialActivity(),activityParams:{},eventDate:s(),skipEnterActiveState:!1})]:[],v=o.reduce((h,q)=>{var X,Y,Z;return(Z=(Y=q.overrideInitialEvents)==null?void 0:Y.call(q,{initialEvents:h,initialContext:(X=i.initialContext)!=null?X:{}}))!=null?Z:h},a);v.length>0&&a.length>0&&v!==a&&console.warn(`Stackflow - Some plugin overrides an "initialActivity" option. The "initialActivity" option you set to "${a[0].activityName}" in the "stackflow" is ignored.`),v.length===0&&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 T=(0,A.makeCoreStore)({initialEvents:[...p.pullEvents(),...v],plugins:e});return f(T),T},[]);return(0,l.useEffect)(()=>{r.init()},[r]),l.default.createElement(kt,{value:o},l.default.createElement(St,{coreStore:r},l.default.createElement(gt,{activityComponentMap:n})))};return{activities:t.activities,Stack:V,useFlow:J,useStepFlow:L,addActivity(i){if(c()){console.warn("Stackflow - `addActivity()` API cannot be called after a `<Stack />` component has been rendered");return}n[i.name]=l.default.memo(i.component),p.actions.dispatchEvent("ActivityRegistered",{activityName:i.name,activityParamsSchema:i.paramsSchema,eventDate:s()})},addPlugin(i){if(c()){console.warn("Stackflow - `addPlugin()` API cannot be called after a `<Stack />` component has been rendered");return}[i].flat(1/0).map(r=>r).forEach(r=>{e.push(r),o.push(r())})},actions:{getStack(){var i,r;return(r=(i=c())==null?void 0:i.actions.getStack())!=null?r:p.actions.getStack()},dispatchEvent(i,r){var a;return(a=c())==null?void 0:a.actions.dispatchEvent(i,r)},push(i,r,a){var P;let v=d();return(P=c())==null||P.actions.push({activityId:v,activityName:i,activityParams:r,skipEnterActiveState:Q(a).skipActiveState}),{activityId:v}},replace(i,r,a){var P,T,h;let v=(P=a==null?void 0:a.activityId)!=null?P:d();return(h=c())==null||h.actions.replace({activityId:(T=a==null?void 0:a.activityId)!=null?T:d(),activityName:i,activityParams:r,skipEnterActiveState:Q(a).skipActiveState}),{activityId:v}},pop(i){var r;return(r=c())==null?void 0:r.actions.pop({skipExitActiveState:Q(i).skipActiveState})},stepPush(i){var a;let r=k();return(a=c())==null?void 0:a.actions.stepPush({stepId:r,stepParams:i})},stepReplace(i){var a;let r=k();return(a=c())==null?void 0:a.actions.stepReplace({stepId:r,stepParams:i})},stepPop(){var i;return(i=c())==null?void 0:i.actions.stepPop({})}}}}var Rt=require("react");var $t=t=>{let{isActive:e}=W();(0,Rt.useEffect)(()=>{if(e)return t()},[e])}; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@stackflow/react", | ||
"version": "0.19.1", | ||
"version": "0.19.2-alpha.1", | ||
"license": "MIT", | ||
@@ -63,4 +63,3 @@ "exports": { | ||
] | ||
}, | ||
"gitHead": "df19f81f54e4f7b5299461c4c27e80e5c121ab1c" | ||
} | ||
} |
@@ -8,2 +8,3 @@ export * from "./activity/ActivityComponentType"; | ||
export * from "./useActions"; | ||
export * from "./useActiveEffect"; | ||
export * from "./useStepActions"; |
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
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
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
131318
83
1238
1