@descope/react-sdk 2.0.21 → 2.0.23
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/README.md +11 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -411,10 +411,21 @@ The widget lets you:
|
|
|
411
411
|
```js
|
|
412
412
|
import { AccessKeyManagement } from '@descope/react-sdk';
|
|
413
413
|
...
|
|
414
|
+
{
|
|
415
|
+
/* admin view: manage all tenant users' access keys */
|
|
416
|
+
}
|
|
414
417
|
<AccessKeyManagement
|
|
415
418
|
widgetId="access-key-management-widget"
|
|
416
419
|
tenant="tenant-id"
|
|
417
420
|
/>
|
|
421
|
+
|
|
422
|
+
{
|
|
423
|
+
/* user view: mange access key for the logged-in tenant's user */
|
|
424
|
+
}
|
|
425
|
+
<AccessKeyManagement
|
|
426
|
+
widgetId="user-access-key-management-widget"
|
|
427
|
+
tenant="tenant-id"
|
|
428
|
+
/>
|
|
418
429
|
```
|
|
419
430
|
|
|
420
431
|
Example:
|
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 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)},i=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},l={"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 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)},i=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},l={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.23"},d="undefined"!=typeof window;let c;const f=e=>{const t=o.default(Object.assign({persistTokens:d,autoRefresh:d},e));return c=t,t},p=()=>f({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});c=p();const g=()=>d?null==c?void 0:c.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),m=()=>d?null==c?void 0:c.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),b=i(((e=g(),t)=>null==c?void 0:c.getJwtPermissions(e,t))),h=i(((e=g(),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:l,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:i,redirectUrl:l,client:d,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:i,client:d,form:c,"redirect-url":l,"auto-focus":f})}))),E=s.default.forwardRef((({flowId:t,onSuccess:r,onError:n,onReady:o,logger:u,tenant:i,theme:l,locale:d,debug:c,client:f,form:p,telemetryKey:g,redirectUrl:m,autoFocus:b,errorTransformer:h},E)=>{const[k,v]=e.useState(null);e.useImperativeHandle(E,(()=>k));const{projectId:I,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=k;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)}}),[k,n,S]),e.useEffect((()=>{const e=k;return null==e||e.addEventListener("success",S),()=>{null==e||e.removeEventListener("success",S)}}),[k,S]),e.useEffect((()=>{const e=k;return n&&(null==e||e.addEventListener("error",n)),()=>{n&&(null==e||e.removeEventListener("error",n))}}),[k,n]),e.useEffect((()=>{const e=k;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[k,o]),e.useEffect((()=>{k&&(k.errorTransformer=h)}),[k,h]),e.useEffect((()=>{k&&u&&(k.logger=u)}),[k,u]);const{form:x,client:R}=e.useMemo((()=>({form:JSON.stringify(p||{}),client:JSON.stringify(f||{})})),[p,f]);return s.default.createElement("form",null,s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(w,{projectId:I,flowId:t,baseUrl:U,innerRef:v,tenant:i,theme:l,locale:d,debug:c,form:x,client:R,telemetryKey:g,redirectUrl:m,autoFocus:b,storeLastAuthenticatedUser:j})))})),k=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})}))),v=s.default.forwardRef((({logger:t,tenant:r,theme:n,debug:o,widgetId:u},i)=>{const[l,d]=e.useState(null);e.useImperativeHandle(i,(()=>l));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{l&&t&&(l.logger=t)}),[l,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(k,{projectId:c,widgetId:u,baseUrl:f,innerRef:d,tenant:r,theme:n,debug:o}))})),I=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},i)=>{const[l,d]=e.useState(null);e.useImperativeHandle(i,(()=>l));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{l&&t&&(l.logger=t)}),[l,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(I,{projectId:c,widgetId:u,baseUrl:f,innerRef:d,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},i)=>{const[l,d]=e.useState(null);e.useImperativeHandle(i,(()=>l));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{l&&t&&(l.logger=t)}),[l,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(j,{projectId:c,widgetId:u,baseUrl:f,innerRef:d,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},i)=>{const[l,d]=e.useState(null);e.useImperativeHandle(i,(()=>l));const{projectId:c,baseUrl:f}=s.default.useContext(a);return e.useEffect((()=>{l&&t&&(l.logger=t)}),[l,t]),s.default.createElement(e.Suspense,{fallback:null},s.default.createElement(S,{projectId:c,widgetId:u,baseUrl:f,innerRef:d,tenant:r,theme:n,debug:o}))}));var R=()=>{const t=e.useContext(a);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const L=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,T={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],T);if("function"==typeof e[t])return()=>{throw Error(L("function"))};throw Error(L("attribute"))}};exports.AccessKeyManagement=y,exports.AuditManagement=x,exports.AuthProvider=({projectId:t,baseUrl:r="",sessionTokenViaCookie:n=!1,persistTokens:o=!0,storeLastAuthenticatedUser:i=!0,children:d})=>{const[c,p]=e.useState(),[g,m]=e.useState(),[b,h]=e.useState(!1),[w,E]=e.useState(!1),k=(({projectId:t,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:l,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[t,r,s]))({projectId:t,baseUrl:r,persistTokens:o,sessionTokenViaCookie:n,storeLastAuthenticatedUser:i});e.useEffect((()=>{if(k){const e=k.onSessionTokenChange(m),t=k.onUserChange(p);return()=>{e(),t()}}}),[k]);const v=e.useRef(!1),I=e.useCallback((()=>{v.current||(v.current=!0,E(!0),u(null==k?void 0:k.refresh)().then((()=>{E(!1)})))}),[k]),U=e.useCallback((()=>{h(!0),u(k.me)().then((()=>{h(!1)}))}),[k]),j=e.useMemo((()=>({fetchUser:U,user:c,isUserLoading:b,fetchSession:I,session:g,isSessionLoading:w,isSessionFetched:v.current,projectId:t,baseUrl:r,storeLastAuthenticatedUser:i,setUser:p,setSession:m,sdk:k})),[U,c,b,I,g,w,v.current,t,r,p,m,k]);return s.default.createElement(a.Provider,{value:j},d)},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=v,exports.baseHeaders=l,exports.getJwtPermissions=b,exports.getJwtRoles=h,exports.getRefreshToken=m,exports.getSessionToken=g,exports.isRefreshTokenExpired=(e=m())=>null==c?void 0:c.isJwtExpired(e),exports.isSessionTokenExpired=(e=g())=>null==c?void 0:c.isJwtExpired(e),exports.refresh=(e=m())=>null==c?void 0:c.refresh(e),exports.useDescope=()=>{const{sdk:t}=R();return e.useMemo((()=>t||new Proxy(p(),T)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:n,isSessionFetched:s}=R(),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}=R(),[o,a]=e.useState(!1),u=e.useRef(n),i=e.useMemo((()=>!t&&!n&&s&&!o),[r,s,o]);return e.useMemo((()=>{u.current=n}),[n]),e.useMemo((()=>{i&&(u.current=!0)}),[i]),e.useEffect((()=>{i&&(a(!0),r())}),[i]),{isUserLoading:u.current,user:t}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -519,7 +519,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
519
519
|
}) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
520
520
|
pendingRef: string;
|
|
521
521
|
redirectUrl: string;
|
|
522
|
-
|
|
522
|
+
image: string;
|
|
523
523
|
}>>;
|
|
524
524
|
signUp: (loginId?: string, user?: {
|
|
525
525
|
email?: string;
|
|
@@ -536,12 +536,12 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
536
536
|
}) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
537
537
|
pendingRef: string;
|
|
538
538
|
redirectUrl: string;
|
|
539
|
-
|
|
539
|
+
image: string;
|
|
540
540
|
}>>;
|
|
541
541
|
signIn: (loginId?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
542
542
|
pendingRef: string;
|
|
543
543
|
redirectUrl: string;
|
|
544
|
-
|
|
544
|
+
image: string;
|
|
545
545
|
}>>;
|
|
546
546
|
waitForSession: (pendingRef: string, config?: {
|
|
547
547
|
pollingIntervalMs: number;
|
|
@@ -1075,7 +1075,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
1075
1075
|
}) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
1076
1076
|
pendingRef: string;
|
|
1077
1077
|
redirectUrl: string;
|
|
1078
|
-
|
|
1078
|
+
image: string;
|
|
1079
1079
|
}>>;
|
|
1080
1080
|
signUp: (loginId?: string, user?: {
|
|
1081
1081
|
email?: string;
|
|
@@ -1092,12 +1092,12 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
1092
1092
|
}) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
1093
1093
|
pendingRef: string;
|
|
1094
1094
|
redirectUrl: string;
|
|
1095
|
-
|
|
1095
|
+
image: string;
|
|
1096
1096
|
}>>;
|
|
1097
1097
|
signIn: (loginId?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
1098
1098
|
pendingRef: string;
|
|
1099
1099
|
redirectUrl: string;
|
|
1100
|
-
|
|
1100
|
+
image: string;
|
|
1101
1101
|
}>>;
|
|
1102
1102
|
waitForSession: (pendingRef: string, config?: {
|
|
1103
1103
|
pollingIntervalMs: number;
|
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 c}from"react";import l 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.
|
|
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 c}from"react";import l 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.23"},p="undefined"!=typeof window;let h;const b=e=>{const t=l(Object.assign({persistTokens:p,autoRefresh:p},e));return h=t,t},w=()=>b({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});h=w();const k=()=>p?null==h?void 0:h.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),I=()=>p?null==h?void 0:h.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),E=(e=k())=>null==h?void 0:h.isJwtExpired(e),U=(e=I())=>null==h?void 0:h.isJwtExpired(e),v=f(((e=k(),t)=>null==h?void 0:h.getJwtPermissions(e,t))),j=f(((e=k(),t)=>null==h?void 0:h.getJwtRoles(e,t))),y=(e=I())=>null==h?void 0:h.refresh(e);const R=({projectId:i,baseUrl:a="",sessionTokenViaCookie:d=!1,persistTokens:c=!0,storeLastAuthenticatedUser:l=!0,children:f})=>{const[p,h]=r(),[w,k]=r(),[I,E]=r(!1),[U,v]=r(!1),j=(({projectId:e,baseUrl:r,persistTokens:n,sessionTokenViaCookie:s,storeLastAuthenticatedUser:o})=>t((()=>{if(e)return b({projectId:e,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:m,persistTokens:n,storeLastAuthenticatedUser:o,autoRefresh:!0})}),[e,r,s]))({projectId:i,baseUrl:a,persistTokens:c,sessionTokenViaCookie:d,storeLastAuthenticatedUser:l});n((()=>{if(j){const e=j.onSessionTokenChange(k),t=j.onUserChange(h);return()=>{e(),t()}}}),[j]);const y=s(!1),R=o((()=>{y.current||(y.current=!0,v(!0),g(null==j?void 0:j.refresh)().then((()=>{v(!1)})))}),[j]),L=o((()=>{E(!0),g(j.me)().then((()=>{E(!1)}))}),[j]),S=t((()=>({fetchUser:L,user:p,isUserLoading:I,fetchSession:R,session:w,isSessionLoading:U,isSessionFetched:y.current,projectId:i,baseUrl:a,storeLastAuthenticatedUser:l,setUser:h,setSession:k,sdk:j})),[L,p,I,R,w,U,y.current,i,a,h,k,j]);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 h.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:t,flowId:r,baseUrl:n,innerRef:s,tenant:o,theme:i,locale:a,debug:d,redirectUrl:c,client:l,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:l,form:u,"redirect-url":c,"auto-focus":g})}))),S=e.forwardRef((({flowId:s,onSuccess:i,onError:c,onReady:l,logger:g,tenant:f,theme:m,locale:p,debug:h,client:b,form:w,telemetryKey:k,redirectUrl:I,autoFocus:E,errorTransformer:U},v)=>{const[j,y]=r(null);a(v,(()=>j));const{projectId:R,baseUrl:S,storeLastAuthenticatedUser:T,sdk:C}=e.useContext(u),x=o((async e=>{await C.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),i&&i(e)}),[i]);n((()=>{const e=j;return null==e||e.addEventListener("success",x),c&&(null==e||e.addEventListener("error",c)),l&&(null==e||e.addEventListener("ready",l)),()=>{c&&(null==e||e.removeEventListener("error",c)),l&&(null==e||e.removeEventListener("ready",l)),null==e||e.removeEventListener("success",x)}}),[j,c,x]),n((()=>{const e=j;return null==e||e.addEventListener("success",x),()=>{null==e||e.removeEventListener("success",x)}}),[j,x]),n((()=>{const e=j;return c&&(null==e||e.addEventListener("error",c)),()=>{c&&(null==e||e.removeEventListener("error",c))}}),[j,c]),n((()=>{const e=j;return l&&(null==e||e.addEventListener("ready",l)),()=>{l&&(null==e||e.removeEventListener("error",l))}}),[j,l]),n((()=>{j&&(j.errorTransformer=U)}),[j,U]),n((()=>{j&&g&&(j.logger=g)}),[j,g]);const{form:A,client:O}=t((()=>({form:JSON.stringify(w||{}),client:JSON.stringify(b||{})})),[w,b]);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:h,form:A,client:O,telemetryKey:k,redirectUrl:I,autoFocus:E,storeLastAuthenticatedUser:T})))})),T=t=>e.createElement(S,Object.assign({},t,{flowId:"sign-in"})),C=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:c},l)=>{const[g,f]=r(null);a(l,(()=>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:c,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:c},l)=>{const[g,f]=r(null);a(l,(()=>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:c,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:c},l)=>{const[g,f]=r(null);a(l,(()=>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:c,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:c},l)=>{const[g,f]=r(null);a(l,(()=>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:c,baseUrl:p,innerRef:f,tenant:s,theme:o,debug:i}))}));var Y=()=>{const e=c(u);if(!e)throw Error("You can only use this hook in the context of <AuthProvider />");return e};const z=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,G={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],G);if("function"==typeof e[t])return()=>{throw Error(z("function"))};throw Error(z("attribute"))}},H=()=>{const{sdk:e}=Y();return t((()=>e||new Proxy(w(),G)),[e])},K=()=>{const{session:e,isSessionLoading:r,fetchSession:o,isSessionFetched:i}=Y(),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}},M=()=>{const{user:e,fetchUser:o,isUserLoading:i,session:a}=Y(),[d,c]=r(!1),l=s(i),u=t((()=>!e&&!i&&a&&!d),[o,a,d]);return t((()=>{l.current=i}),[i]),t((()=>{u&&(l.current=!0)}),[u]),n((()=>{u&&(c(!0),o())}),[u]),{isUserLoading:l.current,user:e}};export{q as AccessKeyManagement,N as AuditManagement,R as AuthProvider,S as Descope,P as RoleManagement,T as SignInFlow,C as SignUpFlow,x as SignUpOrInFlow,O as UserManagement,m as baseHeaders,v as getJwtPermissions,j as getJwtRoles,I as getRefreshToken,k as getSessionToken,U as isRefreshTokenExpired,E as isSessionTokenExpired,y as refresh,H as useDescope,K as useSession,M as useUser};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|