@descope/react-sdk 2.0.29 → 2.0.30

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=r(e),o=r(t);const a=s.default.createContext(void 0),u=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},l=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},d={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.29"},i="undefined"!=typeof window;let c;const f=e=>{const t=o.default(Object.assign({persistTokens:i,autoRefresh:i},e));return c=t,t},g=()=>f({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});c=g();const p=()=>i?null==c?void 0:c.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),m=()=>i?null==c?void 0:c.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),b=l(((e=p(),t)=>null==c?void 0:c.getJwtPermissions(e,t))),h=l(((e=p(),t)=>null==c?void 0:c.getJwtRoles(e,t)));const w=e.lazy((async()=>((await Promise.resolve().then((function(){return n(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:d,persistTokens:!1,hooks:{get beforeRequest(){return c.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:e,flowId:t,baseUrl:r,innerRef:n,tenant:o,theme:a,locale:u,debug:l,redirectUrl:d,client:i,form:c,autoFocus:f})=>s.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,ref:n,tenant:o,theme:a,locale:u,debug:l,client:i,form:c,"redirect-url":d,"auto-focus":f})}))),E=s.default.forwardRef((({flowId:t,onSuccess:r,onError:n,onReady:o,logger:u,tenant:l,theme:d,locale:i,debug:c,client:f,form:g,telemetryKey:p,redirectUrl:m,autoFocus:b,errorTransformer:h},E)=>{const[v,I]=e.useState(null);e.useImperativeHandle(E,(()=>v));const{projectId:k,baseUrl:U,storeLastAuthenticatedUser:j,sdk:y}=s.default.useContext(a),S=e.useCallback((async e=>{await y.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=v;return null==e||e.addEventListener("success",S),n&&(null==e||e.addEventListener("error",n)),o&&(null==e||e.addEventListener("ready",o)),()=>{n&&(null==e||e.removeEventListener("error",n)),o&&(null==e||e.removeEventListener("ready",o)),null==e||e.removeEventListener("success",S)}}),[v,n,S]),e.useEffect((()=>{const e=v;return null==e||e.addEventListener("success",S),()=>{null==e||e.removeEventListener("success",S)}}),[v,S]),e.useEffect((()=>{const e=v;return n&&(null==e||e.addEventListener("error",n)),()=>{n&&(null==e||e.removeEventListener("error",n))}}),[v,n]),e.useEffect((()=>{const e=v;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[v,o]),e.useEffect((()=>{v&&(v.errorTransformer=h)}),[v,h]),e.useEffect((()=>{v&&u&&(v.logger=u)}),[v,u]);const{form:x,client:R}=e.useMemo((()=>({form:JSON.stringify(g||{}),client:JSON.stringify(f||{})})),[g,f]);return s.default.createElement("form",null,s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(w,{projectId:k,flowId:t,baseUrl:U,innerRef:I,tenant:l,theme:d,locale:i,debug:c,form:x,client:R,telemetryKey:p,redirectUrl:m,autoFocus:b,storeLastAuthenticatedUser:j})))})),v=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/user-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-user-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),I=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(v,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),k=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/role-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-role-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),U=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(k,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),j=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/access-key-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-access-key-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),y=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(j,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),S=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/audit-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-audit-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),x=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(S,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),R=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/user-profile-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,widgetId:n,theme:o,debug:a})=>s.default.createElement("descope-user-profile-widget",{"project-id":e,"widget-id":n,"base-url":t,theme:o,debug:a,ref:r})}))),L=s.default.forwardRef((({logger:t,theme:r,debug:n,widgetId:o,onLogout:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),e.useEffect((()=>{if(d&&u)return d.addEventListener("logout",u),()=>d.removeEventListener("logout",u)}),[d,u]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(R,{projectId:c,widgetId:o,baseUrl:f,innerRef:i,theme:r,debug:n}))}));var T=()=>{const t=e.useContext(a);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const C=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,P={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],P);if("function"==typeof e[t])return()=>{throw Error(C("function"))};throw Error(C("attribute"))}};exports.AccessKeyManagement=y,exports.AuditManagement=x,exports.AuthProvider=({projectId:t,baseUrl:r="",sessionTokenViaCookie:n=!1,persistTokens:o=!0,storeLastAuthenticatedUser:l=!0,children:i})=>{const[c,g]=e.useState(),[p,m]=e.useState(),[b,h]=e.useState(!1),[w,E]=e.useState(!1),v=(({projectId:t,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:d,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[t,r,s]))({projectId:t,baseUrl:r,persistTokens:o,sessionTokenViaCookie:n,storeLastAuthenticatedUser:l});e.useEffect((()=>{if(v){const e=v.onSessionTokenChange(m),t=v.onUserChange(g);return()=>{e(),t()}}}),[v]);const I=e.useRef(!1),k=e.useCallback((()=>{I.current||(I.current=!0,E(!0),u(null==v?void 0:v.refresh)().then((()=>{E(!1)})))}),[v]),U=e.useCallback((()=>{h(!0),u(v.me)().then((()=>{h(!1)}))}),[v]),j=e.useMemo((()=>({fetchUser:U,user:c,isUserLoading:b,fetchSession:k,session:p,isSessionLoading:w,isSessionFetched:I.current,projectId:t,baseUrl:r,storeLastAuthenticatedUser:l,setUser:g,setSession:m,sdk:v})),[U,c,b,k,p,w,I.current,t,r,g,m,v]);return s.default.createElement(a.Provider,{value:j},i)},exports.Descope=E,exports.RoleManagement=U,exports.SignInFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-in"})),exports.SignUpFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-up"})),exports.SignUpOrInFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-up-or-in"})),exports.UserManagement=I,exports.UserProfile=L,exports.baseHeaders=d,exports.getJwtPermissions=b,exports.getJwtRoles=h,exports.getRefreshToken=m,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=m())=>null==c?void 0:c.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>null==c?void 0:c.isJwtExpired(e),exports.refresh=(e=m())=>null==c?void 0:c.refresh(e),exports.useDescope=()=>{const{sdk:t}=T();return e.useMemo((()=>t||new Proxy(g(),P)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:n,isSessionFetched:s}=T(),o=e.useRef(r);e.useMemo((()=>{o.current=r}),[r]);const a=!t&&!r;return e.useMemo((()=>{a&&!s&&(o.current=!0)}),[s]),e.useEffect((()=>{a&&n()}),[n]),{isSessionLoading:o.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:n,session:s}=T(),[o,a]=e.useState(!1),u=e.useRef(n),l=e.useMemo((()=>!t&&!n&&s&&!o),[r,s,o]);return e.useMemo((()=>{u.current=n}),[n]),e.useMemo((()=>{l&&(u.current=!0)}),[l]),e.useEffect((()=>{l&&(a(!0),r())}),[l]),{isUserLoading:u.current,user:t}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=r(e),o=r(t);const a=s.default.createContext(void 0),u=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},l=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},d={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.30"},i="undefined"!=typeof window;let c;const f=e=>{const t=o.default(Object.assign({persistTokens:i,autoRefresh:i},e));return c=t,t},g=()=>f({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});c=g();const p=()=>i?null==c?void 0:c.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),m=()=>i?null==c?void 0:c.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),b=l(((e=p(),t)=>null==c?void 0:c.getJwtPermissions(e,t))),h=l(((e=p(),t)=>null==c?void 0:c.getJwtRoles(e,t)));const w=e.lazy((async()=>((await Promise.resolve().then((function(){return n(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:d,persistTokens:!1,hooks:{get beforeRequest(){return c.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:e,flowId:t,baseUrl:r,innerRef:n,tenant:o,theme:a,locale:u,debug:l,redirectUrl:d,client:i,form:c,autoFocus:f})=>s.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,ref:n,tenant:o,theme:a,locale:u,debug:l,client:i,form:c,"redirect-url":d,"auto-focus":f})}))),E=s.default.forwardRef((({flowId:t,onSuccess:r,onError:n,onReady:o,logger:u,tenant:l,theme:d,locale:i,debug:c,client:f,form:g,telemetryKey:p,redirectUrl:m,autoFocus:b,errorTransformer:h},E)=>{const[v,I]=e.useState(null);e.useImperativeHandle(E,(()=>v));const{projectId:k,baseUrl:U,storeLastAuthenticatedUser:j,sdk:y}=s.default.useContext(a),S=e.useCallback((async e=>{await y.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=v;return null==e||e.addEventListener("success",S),n&&(null==e||e.addEventListener("error",n)),o&&(null==e||e.addEventListener("ready",o)),()=>{n&&(null==e||e.removeEventListener("error",n)),o&&(null==e||e.removeEventListener("ready",o)),null==e||e.removeEventListener("success",S)}}),[v,n,S]),e.useEffect((()=>{const e=v;return null==e||e.addEventListener("success",S),()=>{null==e||e.removeEventListener("success",S)}}),[v,S]),e.useEffect((()=>{const e=v;return n&&(null==e||e.addEventListener("error",n)),()=>{n&&(null==e||e.removeEventListener("error",n))}}),[v,n]),e.useEffect((()=>{const e=v;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[v,o]),e.useEffect((()=>{v&&(v.errorTransformer=h)}),[v,h]),e.useEffect((()=>{v&&u&&(v.logger=u)}),[v,u]);const{form:x,client:R}=e.useMemo((()=>({form:JSON.stringify(g||{}),client:JSON.stringify(f||{})})),[g,f]);return s.default.createElement("form",null,s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(w,{projectId:k,flowId:t,baseUrl:U,innerRef:I,tenant:l,theme:d,locale:i,debug:c,form:x,client:R,telemetryKey:p,redirectUrl:m,autoFocus:b,storeLastAuthenticatedUser:j})))})),v=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/user-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-user-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),I=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(v,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),k=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/role-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-role-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),U=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(k,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),j=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/access-key-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-access-key-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),y=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(j,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),S=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/audit-management-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,tenant:n,widgetId:o,theme:a,debug:u})=>s.default.createElement("descope-audit-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:a,tenant:n,debug:u,ref:r})}))),x=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(S,{projectId:c,widgetId:u,baseUrl:f,innerRef:i,tenant:r,theme:n,debug:o}))})),R=e.lazy((async()=>(await Promise.resolve().then((function(){return n(require("@descope/user-profile-widget"))})),{default:({projectId:e,baseUrl:t,innerRef:r,widgetId:n,theme:o,debug:a})=>s.default.createElement("descope-user-profile-widget",{"project-id":e,"widget-id":n,"base-url":t,theme:o,debug:a,ref:r})}))),L=s.default.forwardRef((({logger:t,theme:r,debug:n,widgetId:o,onLogout:u},l)=>{const[d,i]=e.useState(null);e.useImperativeHandle(l,(()=>d));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{d&&t&&(d.logger=t)}),[d,t]),e.useEffect((()=>{if(d&&u)return d.addEventListener("logout",u),()=>d.removeEventListener("logout",u)}),[d,u]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(R,{projectId:c,widgetId:o,baseUrl:f,innerRef:i,theme:r,debug:n}))}));var T=()=>{const t=e.useContext(a);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const C=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,P={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],P);if("function"==typeof e[t])return()=>{throw Error(C("function"))};throw Error(C("attribute"))}};exports.AccessKeyManagement=y,exports.AuditManagement=x,exports.AuthProvider=({projectId:t,baseUrl:r="",sessionTokenViaCookie:n=!1,persistTokens:o=!0,storeLastAuthenticatedUser:l=!0,children:i})=>{const[c,g]=e.useState(),[p,m]=e.useState(),[b,h]=e.useState(!1),[w,E]=e.useState(!1),v=(({projectId:t,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:d,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[t,r,s]))({projectId:t,baseUrl:r,persistTokens:o,sessionTokenViaCookie:n,storeLastAuthenticatedUser:l});e.useEffect((()=>{if(v){const e=v.onSessionTokenChange(m),t=v.onUserChange(g);return()=>{e(),t()}}}),[v]);const I=e.useRef(!1),k=e.useCallback((()=>{I.current||(I.current=!0,E(!0),u(null==v?void 0:v.refresh)().then((()=>{E(!1)})))}),[v]),U=e.useCallback((()=>{h(!0),u(v.me)().then((()=>{h(!1)}))}),[v]),j=e.useMemo((()=>({fetchUser:U,user:c,isUserLoading:b,fetchSession:k,session:p,isSessionLoading:w,isSessionFetched:I.current,projectId:t,baseUrl:r,storeLastAuthenticatedUser:l,setUser:g,setSession:m,sdk:v})),[U,c,b,k,p,w,I.current,t,r,g,m,v]);return s.default.createElement(a.Provider,{value:j},i)},exports.Descope=E,exports.RoleManagement=U,exports.SignInFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-in"})),exports.SignUpFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-up"})),exports.SignUpOrInFlow=e=>s.default.createElement(E,Object.assign({},e,{flowId:"sign-up-or-in"})),exports.UserManagement=I,exports.UserProfile=L,exports.baseHeaders=d,exports.getJwtPermissions=b,exports.getJwtRoles=h,exports.getRefreshToken=m,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=m())=>null==c?void 0:c.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>null==c?void 0:c.isJwtExpired(e),exports.refresh=(e=m())=>null==c?void 0:c.refresh(e),exports.useDescope=()=>{const{sdk:t}=T();return e.useMemo((()=>t||new Proxy(g(),P)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:n,isSessionFetched:s}=T(),o=e.useRef(r);e.useMemo((()=>{o.current=r}),[r]);const a=!t&&!r;return e.useMemo((()=>{a&&!s&&(o.current=!0)}),[s]),e.useEffect((()=>{a&&n()}),[n]),{isSessionLoading:o.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:n,session:s}=T(),[o,a]=e.useState(!1),u=e.useRef(n),l=e.useMemo((()=>!t&&!n&&s&&!o),[r,s,o]);return e.useMemo((()=>{u.current=n}),[n]),e.useMemo((()=>{l&&(u.current=!0)}),[l]),e.useEffect((()=>{l&&(a(!0),r())}),[l]),{isUserLoading:u.current,user:t}};
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useMemo as t,useState as r,useEffect as n,useRef as s,useCallback as o,lazy as i,useImperativeHandle as a,Suspense as d,useContext as l}from"react";import c from"@descope/web-js-sdk";const u=e.createContext(void 0),g=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},f=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},m={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.29"},p="undefined"!=typeof window;let b;const h=e=>{const t=c(Object.assign({persistTokens:p,autoRefresh:p},e));return b=t,t},w=()=>h({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});b=w();const I=()=>p?null==b?void 0:b.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),k=()=>p?null==b?void 0:b.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),E=(e=I())=>null==b?void 0:b.isJwtExpired(e),U=(e=k())=>null==b?void 0:b.isJwtExpired(e),j=f(((e=I(),t)=>null==b?void 0:b.getJwtPermissions(e,t))),v=f(((e=I(),t)=>null==b?void 0:b.getJwtRoles(e,t))),y=(e=k())=>null==b?void 0:b.refresh(e);const R=({projectId:i,baseUrl:a="",sessionTokenViaCookie:d=!1,persistTokens:l=!0,storeLastAuthenticatedUser:c=!0,children:f})=>{const[p,b]=r(),[w,I]=r(),[k,E]=r(!1),[U,j]=r(!1),v=(({projectId:e,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>t((()=>{if(e)return h({projectId:e,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:m,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[e,r,s]))({projectId:i,baseUrl:a,persistTokens:l,sessionTokenViaCookie:d,storeLastAuthenticatedUser:c});n((()=>{if(v){const e=v.onSessionTokenChange(I),t=v.onUserChange(b);return()=>{e(),t()}}}),[v]);const y=s(!1),R=o((()=>{y.current||(y.current=!0,j(!0),g(null==v?void 0:v.refresh)().then((()=>{j(!1)})))}),[v]),L=o((()=>{E(!0),g(v.me)().then((()=>{E(!1)}))}),[v]),S=t((()=>({fetchUser:L,user:p,isUserLoading:k,fetchSession:R,session:w,isSessionLoading:U,isSessionFetched:y.current,projectId:i,baseUrl:a,storeLastAuthenticatedUser:c,setUser:b,setSession:I,sdk:v})),[L,p,k,R,w,U,y.current,i,a,b,I,v]);return e.createElement(u.Provider,{value:S},f)},L=i((async()=>((await import("@descope/web-component")).default.sdkConfigOverrides={baseHeaders:m,persistTokens:!1,hooks:{get beforeRequest(){return b.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:t,flowId:r,baseUrl:n,innerRef:s,tenant:o,theme:i,locale:a,debug:d,redirectUrl:l,client:c,form:u,autoFocus:g})=>e.createElement("descope-wc",{"project-id":t,"flow-id":r,"base-url":n,ref:s,tenant:o,theme:i,locale:a,debug:d,client:c,form:u,"redirect-url":l,"auto-focus":g})}))),S=e.forwardRef((({flowId:s,onSuccess:i,onError:l,onReady:c,logger:g,tenant:f,theme:m,locale:p,debug:b,client:h,form:w,telemetryKey:I,redirectUrl:k,autoFocus:E,errorTransformer:U},j)=>{const[v,y]=r(null);a(j,(()=>v));const{projectId:R,baseUrl:S,storeLastAuthenticatedUser:C,sdk:T}=e.useContext(u),x=o((async e=>{await T.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),i&&i(e)}),[i]);n((()=>{const e=v;return null==e||e.addEventListener("success",x),l&&(null==e||e.addEventListener("error",l)),c&&(null==e||e.addEventListener("ready",c)),()=>{l&&(null==e||e.removeEventListener("error",l)),c&&(null==e||e.removeEventListener("ready",c)),null==e||e.removeEventListener("success",x)}}),[v,l,x]),n((()=>{const e=v;return null==e||e.addEventListener("success",x),()=>{null==e||e.removeEventListener("success",x)}}),[v,x]),n((()=>{const e=v;return l&&(null==e||e.addEventListener("error",l)),()=>{l&&(null==e||e.removeEventListener("error",l))}}),[v,l]),n((()=>{const e=v;return c&&(null==e||e.addEventListener("ready",c)),()=>{c&&(null==e||e.removeEventListener("error",c))}}),[v,c]),n((()=>{v&&(v.errorTransformer=U)}),[v,U]),n((()=>{v&&g&&(v.logger=g)}),[v,g]);const{form:A,client:O}=t((()=>({form:JSON.stringify(w||{}),client:JSON.stringify(h||{})})),[w,h]);return e.createElement("form",null,e.createElement(d,{fallback:null},e.createElement(L,{projectId:R,flowId:s,baseUrl:S,innerRef:y,tenant:f,theme:m,locale:p,debug:b,form:A,client:O,telemetryKey:I,redirectUrl:k,autoFocus:E,storeLastAuthenticatedUser:C})))})),C=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-in"})),T=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-up"})),x=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-up-or-in"})),A=i((async()=>(await import("@descope/user-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-user-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),O=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(A,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),J=i((async()=>(await import("@descope/role-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-role-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),P=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(J,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),F=i((async()=>(await import("@descope/access-key-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-access-key-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),q=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(F,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),V=i((async()=>(await import("@descope/audit-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-audit-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),N=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(V,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),Y=i((async()=>(await import("@descope/user-profile-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,widgetId:s,theme:o,debug:i})=>e.createElement("descope-user-profile-widget",{"project-id":t,"widget-id":s,"base-url":r,theme:o,debug:i,ref:n})}))),z=e.forwardRef((({logger:t,theme:s,debug:o,widgetId:i,onLogout:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),n((()=>{if(g&&l)return g.addEventListener("logout",l),()=>g.removeEventListener("logout",l)}),[g,l]),e.createElement(d,{fallback:null},e.createElement(Y,{projectId:m,widgetId:i,baseUrl:p,innerRef:f,theme:s,debug:o}))}));var G=()=>{const e=l(u);if(!e)throw Error("You can only use this hook in the context of <AuthProvider />");return e};const H=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,K={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],K);if("function"==typeof e[t])return()=>{throw Error(H("function"))};throw Error(H("attribute"))}},M=()=>{const{sdk:e}=G();return t((()=>e||new Proxy(w(),K)),[e])},$=()=>{const{session:e,isSessionLoading:r,fetchSession:o,isSessionFetched:i}=G(),a=s(r);t((()=>{a.current=r}),[r]);const d=!e&&!r;return t((()=>{d&&!i&&(a.current=!0)}),[i]),n((()=>{d&&o()}),[o]),{isSessionLoading:a.current,sessionToken:e,isAuthenticated:!!e}},B=()=>{const{user:e,fetchUser:o,isUserLoading:i,session:a}=G(),[d,l]=r(!1),c=s(i),u=t((()=>!e&&!i&&a&&!d),[o,a,d]);return t((()=>{c.current=i}),[i]),t((()=>{u&&(c.current=!0)}),[u]),n((()=>{u&&(l(!0),o())}),[u]),{isUserLoading:c.current,user:e}};export{q as AccessKeyManagement,N as AuditManagement,R as AuthProvider,S as Descope,P as RoleManagement,C as SignInFlow,T as SignUpFlow,x as SignUpOrInFlow,O as UserManagement,z as UserProfile,m as baseHeaders,j as getJwtPermissions,v as getJwtRoles,k as getRefreshToken,I as getSessionToken,U as isRefreshTokenExpired,E as isSessionTokenExpired,y as refresh,M as useDescope,$ as useSession,B as useUser};
1
+ import e,{useMemo as t,useState as r,useEffect as n,useRef as s,useCallback as o,lazy as i,useImperativeHandle as a,Suspense as d,useContext as l}from"react";import c from"@descope/web-js-sdk";const u=e.createContext(void 0),g=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},f=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},m={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.30"},p="undefined"!=typeof window;let b;const h=e=>{const t=c(Object.assign({persistTokens:p,autoRefresh:p},e));return b=t,t},w=()=>h({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});b=w();const I=()=>p?null==b?void 0:b.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),k=()=>p?null==b?void 0:b.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),E=(e=I())=>null==b?void 0:b.isJwtExpired(e),U=(e=k())=>null==b?void 0:b.isJwtExpired(e),j=f(((e=I(),t)=>null==b?void 0:b.getJwtPermissions(e,t))),v=f(((e=I(),t)=>null==b?void 0:b.getJwtRoles(e,t))),y=(e=k())=>null==b?void 0:b.refresh(e);const R=({projectId:i,baseUrl:a="",sessionTokenViaCookie:d=!1,persistTokens:l=!0,storeLastAuthenticatedUser:c=!0,children:f})=>{const[p,b]=r(),[w,I]=r(),[k,E]=r(!1),[U,j]=r(!1),v=(({projectId:e,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>t((()=>{if(e)return h({projectId:e,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:m,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[e,r,s]))({projectId:i,baseUrl:a,persistTokens:l,sessionTokenViaCookie:d,storeLastAuthenticatedUser:c});n((()=>{if(v){const e=v.onSessionTokenChange(I),t=v.onUserChange(b);return()=>{e(),t()}}}),[v]);const y=s(!1),R=o((()=>{y.current||(y.current=!0,j(!0),g(null==v?void 0:v.refresh)().then((()=>{j(!1)})))}),[v]),L=o((()=>{E(!0),g(v.me)().then((()=>{E(!1)}))}),[v]),S=t((()=>({fetchUser:L,user:p,isUserLoading:k,fetchSession:R,session:w,isSessionLoading:U,isSessionFetched:y.current,projectId:i,baseUrl:a,storeLastAuthenticatedUser:c,setUser:b,setSession:I,sdk:v})),[L,p,k,R,w,U,y.current,i,a,b,I,v]);return e.createElement(u.Provider,{value:S},f)},L=i((async()=>((await import("@descope/web-component")).default.sdkConfigOverrides={baseHeaders:m,persistTokens:!1,hooks:{get beforeRequest(){return b.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:t,flowId:r,baseUrl:n,innerRef:s,tenant:o,theme:i,locale:a,debug:d,redirectUrl:l,client:c,form:u,autoFocus:g})=>e.createElement("descope-wc",{"project-id":t,"flow-id":r,"base-url":n,ref:s,tenant:o,theme:i,locale:a,debug:d,client:c,form:u,"redirect-url":l,"auto-focus":g})}))),S=e.forwardRef((({flowId:s,onSuccess:i,onError:l,onReady:c,logger:g,tenant:f,theme:m,locale:p,debug:b,client:h,form:w,telemetryKey:I,redirectUrl:k,autoFocus:E,errorTransformer:U},j)=>{const[v,y]=r(null);a(j,(()=>v));const{projectId:R,baseUrl:S,storeLastAuthenticatedUser:C,sdk:T}=e.useContext(u),x=o((async e=>{await T.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),i&&i(e)}),[i]);n((()=>{const e=v;return null==e||e.addEventListener("success",x),l&&(null==e||e.addEventListener("error",l)),c&&(null==e||e.addEventListener("ready",c)),()=>{l&&(null==e||e.removeEventListener("error",l)),c&&(null==e||e.removeEventListener("ready",c)),null==e||e.removeEventListener("success",x)}}),[v,l,x]),n((()=>{const e=v;return null==e||e.addEventListener("success",x),()=>{null==e||e.removeEventListener("success",x)}}),[v,x]),n((()=>{const e=v;return l&&(null==e||e.addEventListener("error",l)),()=>{l&&(null==e||e.removeEventListener("error",l))}}),[v,l]),n((()=>{const e=v;return c&&(null==e||e.addEventListener("ready",c)),()=>{c&&(null==e||e.removeEventListener("error",c))}}),[v,c]),n((()=>{v&&(v.errorTransformer=U)}),[v,U]),n((()=>{v&&g&&(v.logger=g)}),[v,g]);const{form:A,client:O}=t((()=>({form:JSON.stringify(w||{}),client:JSON.stringify(h||{})})),[w,h]);return e.createElement("form",null,e.createElement(d,{fallback:null},e.createElement(L,{projectId:R,flowId:s,baseUrl:S,innerRef:y,tenant:f,theme:m,locale:p,debug:b,form:A,client:O,telemetryKey:I,redirectUrl:k,autoFocus:E,storeLastAuthenticatedUser:C})))})),C=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-in"})),T=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-up"})),x=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-up-or-in"})),A=i((async()=>(await import("@descope/user-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-user-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),O=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(A,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),J=i((async()=>(await import("@descope/role-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-role-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),P=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(J,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),F=i((async()=>(await import("@descope/access-key-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-access-key-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),q=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(F,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),V=i((async()=>(await import("@descope/audit-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:s,widgetId:o,theme:i,debug:a})=>e.createElement("descope-audit-management-widget",{"project-id":t,"widget-id":o,"base-url":r,theme:i,tenant:s,debug:a,ref:n})}))),N=e.forwardRef((({logger:t,tenant:s,theme:o,debug:i,widgetId:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),e.createElement(d,{fallback:null},e.createElement(V,{projectId:m,widgetId:l,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))})),Y=i((async()=>(await import("@descope/user-profile-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,widgetId:s,theme:o,debug:i})=>e.createElement("descope-user-profile-widget",{"project-id":t,"widget-id":s,"base-url":r,theme:o,debug:i,ref:n})}))),z=e.forwardRef((({logger:t,theme:s,debug:o,widgetId:i,onLogout:l},c)=>{const[g,f]=r(null);a(c,(()=>g));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{g&&t&&(g.logger=t)}),[g,t]),n((()=>{if(g&&l)return g.addEventListener("logout",l),()=>g.removeEventListener("logout",l)}),[g,l]),e.createElement(d,{fallback:null},e.createElement(Y,{projectId:m,widgetId:i,baseUrl:p,innerRef:f,theme:s,debug:o}))}));var G=()=>{const e=l(u);if(!e)throw Error("You can only use this hook in the context of <AuthProvider />");return e};const H=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,K={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],K);if("function"==typeof e[t])return()=>{throw Error(H("function"))};throw Error(H("attribute"))}},M=()=>{const{sdk:e}=G();return t((()=>e||new Proxy(w(),K)),[e])},$=()=>{const{session:e,isSessionLoading:r,fetchSession:o,isSessionFetched:i}=G(),a=s(r);t((()=>{a.current=r}),[r]);const d=!e&&!r;return t((()=>{d&&!i&&(a.current=!0)}),[i]),n((()=>{d&&o()}),[o]),{isSessionLoading:a.current,sessionToken:e,isAuthenticated:!!e}},B=()=>{const{user:e,fetchUser:o,isUserLoading:i,session:a}=G(),[d,l]=r(!1),c=s(i),u=t((()=>!e&&!i&&a&&!d),[o,a,d]);return t((()=>{c.current=i}),[i]),t((()=>{u&&(c.current=!0)}),[u]),n((()=>{u&&(l(!0),o())}),[u]),{isUserLoading:c.current,user:e}};export{q as AccessKeyManagement,N as AuditManagement,R as AuthProvider,S as Descope,P as RoleManagement,C as SignInFlow,T as SignUpFlow,x as SignUpOrInFlow,O as UserManagement,z as UserProfile,m as baseHeaders,j as getJwtPermissions,v as getJwtRoles,k as getRefreshToken,I as getSessionToken,U as isRefreshTokenExpired,E as isSessionTokenExpired,y as refresh,M as useDescope,$ as useSession,B as useUser};
2
2
  //# sourceMappingURL=index.esm.js.map