@descope/react-sdk 2.0.14 → 2.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -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 u=s.default.createContext(void 0),a=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},i={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.
|
|
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 u=s.default.createContext(void 0),a=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},i={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.15"},c="undefined"!=typeof window;let d;const f=e=>{const t=o.default(Object.assign(Object.assign({},e),{persistTokens:c,autoRefresh:c}));return d=t,t};d=f({projectId:"temp pid"});const g=()=>c?null==d?void 0:d.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),p=()=>c?null==d?void 0:d.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),m=l(((e=g(),t)=>null==d?void 0:d.getJwtPermissions(e,t))),b=l(((e=g(),t)=>null==d?void 0:d.getJwtRoles(e,t)));const h=e.lazy((async()=>((await Promise.resolve().then((function(){return n(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:i,persistTokens:!1,hooks:{get beforeRequest(){return d.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:e,flowId:t,baseUrl:r,innerRef:n,tenant:o,theme:u,locale:a,debug:l,redirectUrl:i,client:c,form:d,autoFocus:f})=>s.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,ref:n,tenant:o,theme:u,locale:a,debug:l,client:c,form:d,"redirect-url":i,"auto-focus":f})}))),w=s.default.forwardRef((({flowId:t,onSuccess:r,onError:n,onReady:o,logger:a,tenant:l,theme:i,locale:c,debug:d,client:f,form:g,telemetryKey:p,redirectUrl:m,autoFocus:b,errorTransformer:w},v)=>{const[E,k]=e.useState(null);e.useImperativeHandle(v,(()=>E));const{projectId:I,baseUrl:y,sdk:j}=s.default.useContext(u),S=e.useCallback((async e=>{await j.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=E;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)}}),[E,n,S]),e.useEffect((()=>{const e=E;return null==e||e.addEventListener("success",S),()=>{null==e||e.removeEventListener("success",S)}}),[E,S]),e.useEffect((()=>{const e=E;return n&&(null==e||e.addEventListener("error",n)),()=>{n&&(null==e||e.removeEventListener("error",n))}}),[E,n]),e.useEffect((()=>{const e=E;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[E,o]),e.useEffect((()=>{E&&(E.errorTransformer=w)}),[E,w]),e.useEffect((()=>{E&&a&&(E.logger=a)}),[E,a]);const{form:U,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(h,{projectId:I,flowId:t,baseUrl:y,innerRef:k,tenant:l,theme:i,locale:c,debug:d,form:U,client:R,telemetryKey:p,redirectUrl:m,autoFocus:b})))})),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:u,debug:a})=>s.default.createElement("descope-user-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:u,tenant:n,debug:a,ref:r})}))),E=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:a},l)=>{const[i,c]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:d,baseUrl:f}=s.default.useContext(u);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(v,{projectId:d,widgetId:a,baseUrl:f,innerRef:c,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:u,debug:a})=>s.default.createElement("descope-role-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:u,tenant:n,debug:a,ref:r})}))),I=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:a},l)=>{const[i,c]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:d,baseUrl:f}=s.default.useContext(u);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(k,{projectId:d,widgetId:a,baseUrl:f,innerRef:c,tenant:r,theme:n,debug:o}))})),y=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:u,debug:a})=>s.default.createElement("descope-access-key-management-widget",{"project-id":e,"widget-id":o,"base-url":t,theme:u,tenant:n,debug:a,ref:r})}))),j=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:a},l)=>{const[i,c]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:d,baseUrl:f}=s.default.useContext(u);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(y,{projectId:d,widgetId:a,baseUrl:f,innerRef:c,tenant:r,theme:n,debug:o}))}));var S=()=>{const t=e.useContext(u);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const U=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,R={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],R);if("function"==typeof e[t])return()=>{throw Error(U("function"))};throw Error(U("attribute"))}};exports.AccessKeyManagement=j,exports.AuthProvider=({projectId:t,baseUrl:r="",sessionTokenViaCookie:n=!1,children:o})=>{const[l,c]=e.useState(),[d,g]=e.useState(),[p,m]=e.useState(!1),[b,h]=e.useState(!1),w=(({projectId:t,baseUrl:r,sessionTokenViaCookie:n})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:n,baseHeaders:i,persistToken:!0,autoRefresh:!0})}),[t,r,n]))({projectId:t,baseUrl:r,sessionTokenViaCookie:n});e.useEffect((()=>{if(w){const e=w.onSessionTokenChange(g),t=w.onUserChange(c);return()=>{e(),t()}}}),[w]);const v=e.useRef(!1),E=e.useCallback((()=>{v.current||(v.current=!0,h(!0),a(null==w?void 0:w.refresh)().then((()=>{h(!1)})))}),[w]),k=e.useCallback((()=>{m(!0),a(w.me)().then((()=>{m(!1)}))}),[w]),I=e.useMemo((()=>({fetchUser:k,user:l,isUserLoading:p,fetchSession:E,session:d,isSessionLoading:b,isSessionFetched:v.current,projectId:t,baseUrl:r,setUser:c,setSession:g,sdk:w})),[k,l,p,E,d,b,v.current,t,r,c,g,w]);return s.default.createElement(u.Provider,{value:I},o)},exports.Descope=w,exports.RoleManagement=I,exports.SignInFlow=e=>s.default.createElement(w,Object.assign({},e,{flowId:"sign-in"})),exports.SignUpFlow=e=>s.default.createElement(w,Object.assign({},e,{flowId:"sign-up"})),exports.SignUpOrInFlow=e=>s.default.createElement(w,Object.assign({},e,{flowId:"sign-up-or-in"})),exports.UserManagement=E,exports.baseHeaders=i,exports.getJwtPermissions=m,exports.getJwtRoles=b,exports.getRefreshToken=p,exports.getSessionToken=g,exports.refresh=(e=p())=>null==d?void 0:d.refresh(e),exports.useDescope=()=>{const{sdk:t}=S();return e.useMemo((()=>t||new Proxy(f({projectId:"dummy"}),R)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:n,isSessionFetched:s}=S(),o=e.useRef(r);e.useMemo((()=>{o.current=r}),[r]);const u=!t&&!r;return e.useMemo((()=>{u&&!s&&(o.current=!0)}),[s]),e.useEffect((()=>{u&&n()}),[n]),{isSessionLoading:o.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:n,session:s}=S(),[o,u]=e.useState(!1),a=e.useRef(n),l=e.useMemo((()=>!t&&!n&&s&&!o),[r,s,o]);return e.useMemo((()=>{a.current=n}),[n]),e.useMemo((()=>{l&&(a.current=!0)}),[l]),e.useEffect((()=>{l&&(u(!0),r())}),[l]),{isUserLoading:a.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 o,useCallback as s,lazy as i,useImperativeHandle as a,Suspense as c,useContext as l}from"react";import d from"@descope/web-js-sdk";const u=e.createContext(void 0),f=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)},g=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.
|
|
1
|
+
import e,{useMemo as t,useState as r,useEffect as n,useRef as o,useCallback as s,lazy as i,useImperativeHandle as a,Suspense as c,useContext as l}from"react";import d from"@descope/web-js-sdk";const u=e.createContext(void 0),f=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)},g=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.15"},p="undefined"!=typeof window;let b;const h=e=>{const t=d(Object.assign(Object.assign({},e),{persistTokens:p,autoRefresh:p}));return b=t,t};b=h({projectId:"temp pid"});const w=()=>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"),""),I=g(((e=w(),t)=>null==b?void 0:b.getJwtPermissions(e,t))),E=g(((e=w(),t)=>null==b?void 0:b.getJwtRoles(e,t))),v=(e=k())=>null==b?void 0:b.refresh(e);const j=({projectId:i,baseUrl:a="",sessionTokenViaCookie:c=!1,children:l})=>{const[d,g]=r(),[p,b]=r(),[w,k]=r(!1),[I,E]=r(!1),v=(({projectId:e,baseUrl:r,sessionTokenViaCookie:n})=>t((()=>{if(e)return h({projectId:e,baseUrl:r,sessionTokenViaCookie:n,baseHeaders:m,persistToken:!0,autoRefresh:!0})}),[e,r,n]))({projectId:i,baseUrl:a,sessionTokenViaCookie:c});n((()=>{if(v){const e=v.onSessionTokenChange(b),t=v.onUserChange(g);return()=>{e(),t()}}}),[v]);const j=o(!1),y=s((()=>{j.current||(j.current=!0,E(!0),f(null==v?void 0:v.refresh)().then((()=>{E(!1)})))}),[v]),U=s((()=>{k(!0),f(v.me)().then((()=>{k(!1)}))}),[v]),R=t((()=>({fetchUser:U,user:d,isUserLoading:w,fetchSession:y,session:p,isSessionLoading:I,isSessionFetched:j.current,projectId:i,baseUrl:a,setUser:g,setSession:b,sdk:v})),[U,d,w,y,p,I,j.current,i,a,g,b,v]);return e.createElement(u.Provider,{value:R},l)},y=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:o,tenant:s,theme:i,locale:a,debug:c,redirectUrl:l,client:d,form:u,autoFocus:f})=>e.createElement("descope-wc",{"project-id":t,"flow-id":r,"base-url":n,ref:o,tenant:s,theme:i,locale:a,debug:c,client:d,form:u,"redirect-url":l,"auto-focus":f})}))),U=e.forwardRef((({flowId:o,onSuccess:i,onError:l,onReady:d,logger:f,tenant:g,theme:m,locale:p,debug:b,client:h,form:w,telemetryKey:k,redirectUrl:I,autoFocus:E,errorTransformer:v},j)=>{const[U,R]=r(null);a(j,(()=>U));const{projectId:L,baseUrl:S,sdk:C}=e.useContext(u),T=s((async e=>{await C.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),i&&i(e)}),[i]);n((()=>{const e=U;return null==e||e.addEventListener("success",T),l&&(null==e||e.addEventListener("error",l)),d&&(null==e||e.addEventListener("ready",d)),()=>{l&&(null==e||e.removeEventListener("error",l)),d&&(null==e||e.removeEventListener("ready",d)),null==e||e.removeEventListener("success",T)}}),[U,l,T]),n((()=>{const e=U;return null==e||e.addEventListener("success",T),()=>{null==e||e.removeEventListener("success",T)}}),[U,T]),n((()=>{const e=U;return l&&(null==e||e.addEventListener("error",l)),()=>{l&&(null==e||e.removeEventListener("error",l))}}),[U,l]),n((()=>{const e=U;return d&&(null==e||e.addEventListener("ready",d)),()=>{d&&(null==e||e.removeEventListener("error",d))}}),[U,d]),n((()=>{U&&(U.errorTransformer=v)}),[U,v]),n((()=>{U&&f&&(U.logger=f)}),[U,f]);const{form:x,client:O}=t((()=>({form:JSON.stringify(w||{}),client:JSON.stringify(h||{})})),[w,h]);return e.createElement("form",null,e.createElement(c,{fallback:null},e.createElement(y,{projectId:L,flowId:o,baseUrl:S,innerRef:R,tenant:g,theme:m,locale:p,debug:b,form:x,client:O,telemetryKey:k,redirectUrl:I,autoFocus:E})))})),R=t=>e.createElement(U,Object.assign({},t,{flowId:"sign-in"})),L=t=>e.createElement(U,Object.assign({},t,{flowId:"sign-up"})),S=t=>e.createElement(U,Object.assign({},t,{flowId:"sign-up-or-in"})),C=i((async()=>(await import("@descope/user-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:o,widgetId:s,theme:i,debug:a})=>e.createElement("descope-user-management-widget",{"project-id":t,"widget-id":s,"base-url":r,theme:i,tenant:o,debug:a,ref:n})}))),T=e.forwardRef((({logger:t,tenant:o,theme:s,debug:i,widgetId:l},d)=>{const[f,g]=r(null);a(d,(()=>f));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{f&&t&&(f.logger=t)}),[f,t]),e.createElement(c,{fallback:null},e.createElement(C,{projectId:m,widgetId:l,baseUrl:p,innerRef:g,tenant:o,theme:s,debug:i}))})),x=i((async()=>(await import("@descope/role-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:o,widgetId:s,theme:i,debug:a})=>e.createElement("descope-role-management-widget",{"project-id":t,"widget-id":s,"base-url":r,theme:i,tenant:o,debug:a,ref:n})}))),O=e.forwardRef((({logger:t,tenant:o,theme:s,debug:i,widgetId:l},d)=>{const[f,g]=r(null);a(d,(()=>f));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{f&&t&&(f.logger=t)}),[f,t]),e.createElement(c,{fallback:null},e.createElement(x,{projectId:m,widgetId:l,baseUrl:p,innerRef:g,tenant:o,theme:s,debug:i}))})),P=i((async()=>(await import("@descope/access-key-management-widget"),{default:({projectId:t,baseUrl:r,innerRef:n,tenant:o,widgetId:s,theme:i,debug:a})=>e.createElement("descope-access-key-management-widget",{"project-id":t,"widget-id":s,"base-url":r,theme:i,tenant:o,debug:a,ref:n})}))),F=e.forwardRef((({logger:t,tenant:o,theme:s,debug:i,widgetId:l},d)=>{const[f,g]=r(null);a(d,(()=>f));const{projectId:m,baseUrl:p}=e.useContext(u);return n((()=>{f&&t&&(f.logger=t)}),[f,t]),e.createElement(c,{fallback:null},e.createElement(P,{projectId:m,widgetId:l,baseUrl:p,innerRef:g,tenant:o,theme:s,debug:i}))}));var J=()=>{const e=l(u);if(!e)throw Error("You can only use this hook in the context of <AuthProvider />");return e};const q=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,A={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],A);if("function"==typeof e[t])return()=>{throw Error(q("function"))};throw Error(q("attribute"))}},V=()=>{const{sdk:e}=J();return t((()=>e||new Proxy(h({projectId:"dummy"}),A)),[e])},N=()=>{const{session:e,isSessionLoading:r,fetchSession:s,isSessionFetched:i}=J(),a=o(r);t((()=>{a.current=r}),[r]);const c=!e&&!r;return t((()=>{c&&!i&&(a.current=!0)}),[i]),n((()=>{c&&s()}),[s]),{isSessionLoading:a.current,sessionToken:e,isAuthenticated:!!e}},Y=()=>{const{user:e,fetchUser:s,isUserLoading:i,session:a}=J(),[c,l]=r(!1),d=o(i),u=t((()=>!e&&!i&&a&&!c),[s,a,c]);return t((()=>{d.current=i}),[i]),t((()=>{u&&(d.current=!0)}),[u]),n((()=>{u&&(l(!0),s())}),[u]),{isUserLoading:d.current,user:e}};export{F as AccessKeyManagement,j as AuthProvider,U as Descope,O as RoleManagement,R as SignInFlow,L as SignUpFlow,S as SignUpOrInFlow,T as UserManagement,m as baseHeaders,I as getJwtPermissions,E as getJwtRoles,k as getRefreshToken,w as getSessionToken,v as refresh,V as useDescope,N as useSession,Y as useUser};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|