@descope/react-sdk 2.0.48 → 2.0.50
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/dts/src/components/AccessKeyManagement.d.ts +9 -0
- package/dist/dts/src/components/AuditManagement.d.ts +9 -0
- package/dist/dts/src/components/AuthProvider/AuthProvider.d.ts +13 -0
- package/dist/dts/src/components/AuthProvider/index.d.ts +1 -0
- package/dist/dts/src/components/AuthProvider/useSdk.d.ts +4 -0
- package/dist/dts/src/components/DefaultFlows.d.ts +5 -0
- package/dist/dts/src/components/Descope.d.ts +4 -0
- package/dist/dts/src/components/RoleManagement.d.ts +9 -0
- package/dist/dts/src/components/UserManagement.d.ts +9 -0
- package/dist/dts/src/components/UserProfile.d.ts +11 -0
- package/dist/dts/src/constants.d.ts +5 -0
- package/dist/dts/src/hooks/Context.d.ts +4 -0
- package/dist/dts/src/hooks/useContext.d.ts +2 -0
- package/dist/dts/src/hooks/useDescope.d.ts +3 -0
- package/dist/dts/src/hooks/useSession.d.ts +6 -0
- package/dist/dts/src/hooks/useUser.d.ts +5 -0
- package/dist/dts/src/index.d.ts +14 -0
- package/dist/dts/src/sdk.d.ts +3543 -0
- package/dist/dts/src/types.d.ts +92 -0
- package/dist/dts/src/utils.d.ts +7 -0
- 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 +27 -27
- /package/dist/{examples → dts/examples}/app/App.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/Home.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/Login.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/ManageAccessKeys.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/ManageAudit.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/ManageRoles.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/ManageUsers.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/MyUserProfile.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/StepUp.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/api.d.ts +0 -0
- /package/dist/{examples → dts/examples}/app/index.d.ts +0 -0
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 s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("@descope/core-js-sdk");var n=r(e),o=r(t);const a=n.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},i={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.48"},d="undefined"!=typeof window;let c;const f=e=>{const t=o.default(Object.assign({persistTokens:d,autoRefresh:d},e));return c=t,t},g=()=>f({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});c=g();const p=()=>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=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 s(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:i,persistTokens:!1,hooks:{get beforeRequest(){return c.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:e,flowId:t,baseUrl:r,baseStaticUrl:s,innerRef:o,tenant:a,theme:u,locale:l,debug:i,redirectUrl:d,client:c,form:f,autoFocus:g,validateOnBlur:p})=>n.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,"base-static-url":s,ref:o,tenant:a,theme:u,locale:l,debug:i,client:c,form:f,"redirect-url":d,"auto-focus":g,"validate-on-blur":p})}))),U=n.default.forwardRef((({flowId:t,onSuccess:r,onError:s,onReady:o,logger:u,tenant:l,theme:i,locale:d,debug:c,client:f,form:g,telemetryKey:p,redirectUrl:m,autoFocus:b,validateOnBlur:h,errorTransformer:U},E)=>{const[S,k]=e.useState(null);e.useImperativeHandle(E,(()=>S));const{projectId:v,baseUrl:I,baseStaticUrl:j,storeLastAuthenticatedUser:y,keepLastAuthenticatedUserAfterLogout:L,sdk:x}=n.default.useContext(a),R=e.useCallback((async e=>{await x.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=S;return null==e||e.addEventListener("success",R),s&&(null==e||e.addEventListener("error",s)),o&&(null==e||e.addEventListener("ready",o)),()=>{s&&(null==e||e.removeEventListener("error",s)),o&&(null==e||e.removeEventListener("ready",o)),null==e||e.removeEventListener("success",R)}}),[S,s,R]),e.useEffect((()=>{const e=S;return null==e||e.addEventListener("success",R),()=>{null==e||e.removeEventListener("success",R)}}),[S,R]),e.useEffect((()=>{const e=S;return s&&(null==e||e.addEventListener("error",s)),()=>{s&&(null==e||e.removeEventListener("error",s))}}),[S,s]),e.useEffect((()=>{const e=S;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[S,o]),e.useEffect((()=>{S&&(S.errorTransformer=U)}),[S,U]),e.useEffect((()=>{S&&u&&(S.logger=u)}),[S,u]);const{form:A,client:T}=e.useMemo((()=>({form:JSON.stringify(g||{}),client:JSON.stringify(f||{})})),[g,f]);return n.default.createElement("form",null,n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(w,{projectId:v,flowId:t,baseUrl:I,baseStaticUrl:j,innerRef:k,tenant:l,theme:i,locale:d,debug:c,form:A,client:T,telemetryKey:p,redirectUrl:m,autoFocus:b,validateOnBlur:h,storeLastAuthenticatedUser:y,keepLastAuthenticatedUserAfterLogout:L})))})),E=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/user-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-user-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),S=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(E,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),k=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/role-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-role-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),v=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(k,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),I=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/access-key-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-access-key-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),j=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(I,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),y=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/audit-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-audit-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),L=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(y,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),x=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/user-profile-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,widgetId:o,theme:a,debug:u})=>n.default.createElement("descope-user-profile-widget",{"project-id":e,"widget-id":o,"base-url":t,"base-static-url":r,theme:a,debug:u,ref:s})}))),R=n.default.forwardRef((({logger:t,theme:r,debug:s,widgetId:o,onLogout:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),e.useEffect((()=>{if(i&&u)return i.addEventListener("logout",u),()=>i.removeEventListener("logout",u)}),[i,u]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(x,{projectId:c,widgetId:o,baseUrl:f,baseStaticUrl:g,innerRef:d,theme:r,debug:s}))}));var A=()=>{const t=e.useContext(a);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const T=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,C={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],C);if("function"==typeof e[t])return()=>{throw Error(T("function"))};throw Error(T("attribute"))}};exports.AccessKeyManagement=j,exports.AuditManagement=L,exports.AuthProvider=({projectId:t,baseUrl:r="",baseStaticUrl:s="",sessionTokenViaCookie:o=!1,persistTokens:l=!0,storeLastAuthenticatedUser:d=!0,keepLastAuthenticatedUserAfterLogout:c=!1,children:g})=>{const[p,m]=e.useState(),[b,h]=e.useState(),[w,U]=e.useState(!1),[E,S]=e.useState(!1),k=(({projectId:t,baseUrl:r,persistTokens:s,sessionTokenViaCookie:n,storeLastAuthenticatedUser:o,keepLastAuthenticatedUserAfterLogout:a})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:n,baseHeaders:i,persistTokens:s,storeLastAuthenticatedUser:o,keepLastAuthenticatedUserAfterLogout:a,autoRefresh:!0})}),[t,r,n]))({projectId:t,baseUrl:r,persistTokens:l,sessionTokenViaCookie:o,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:c});e.useEffect((()=>{if(k){const e=k.onSessionTokenChange(h),t=k.onUserChange(m);return()=>{e(),t()}}}),[k]);const v=e.useRef(!1),I=e.useCallback((()=>{v.current||(v.current=!0,S(!0),u(null==k?void 0:k.refresh)().then((()=>{S(!1)})))}),[k]),j=e.useCallback((()=>{U(!0),u(k.me)().then((()=>{U(!1)}))}),[k]),y=e.useMemo((()=>({fetchUser:j,user:p,isUserLoading:w,fetchSession:I,session:b,isSessionLoading:E,isSessionFetched:v.current,projectId:t,baseUrl:r,baseStaticUrl:s,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:c,setUser:m,setSession:h,sdk:k})),[j,p,w,I,b,E,v.current,t,r,s,m,h,k]);return n.default.createElement(a.Provider,{value:y},g)},exports.Descope=U,exports.RoleManagement=v,exports.SignInFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-in"})),exports.SignUpFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-up"})),exports.SignUpOrInFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-up-or-in"})),exports.UserManagement=S,exports.UserProfile=R,exports.baseHeaders=i,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}=A();return e.useMemo((()=>t||new Proxy(g(),C)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:s,isSessionFetched:n}=A(),o=e.useRef(r);e.useMemo((()=>{o.current=r}),[r]);const a=!t&&!r;return e.useMemo((()=>{a&&!n&&(o.current=!0)}),[n]),e.useEffect((()=>{a&&s()}),[s]),{isSessionLoading:o.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:s,session:n}=A(),[o,a]=e.useState(!1),u=e.useRef(s),l=e.useMemo((()=>!t&&!s&&n&&!o),[r,n,o]);return e.useMemo((()=>{u.current=s}),[s]),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 s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("@descope/core-js-sdk");var n=r(e),o=r(t);const a=n.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},i={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.50"},d="undefined"!=typeof window;let c;const f=e=>{const t=o.default(Object.assign({persistTokens:d,autoRefresh:d},e));return c=t,t},g=()=>f({projectId:"temp pid",persistTokens:!1,autoRefresh:!1,storeLastAuthenticatedUser:!1});c=g();const p=()=>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=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 s(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:i,persistTokens:!1,hooks:{get beforeRequest(){return c.httpClient.hooks.beforeRequest},set beforeRequest(e){}}},{default:({projectId:e,flowId:t,baseUrl:r,baseStaticUrl:s,innerRef:o,tenant:a,theme:u,locale:l,debug:i,redirectUrl:d,client:c,form:f,autoFocus:g,validateOnBlur:p})=>n.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,"base-static-url":s,ref:o,tenant:a,theme:u,locale:l,debug:i,client:c,form:f,"redirect-url":d,"auto-focus":g,"validate-on-blur":p})}))),U=n.default.forwardRef((({flowId:t,onSuccess:r,onError:s,onReady:o,logger:u,tenant:l,theme:i,locale:d,debug:c,client:f,form:g,telemetryKey:p,redirectUrl:m,autoFocus:b,validateOnBlur:h,errorTransformer:U},E)=>{const[S,k]=e.useState(null);e.useImperativeHandle(E,(()=>S));const{projectId:v,baseUrl:I,baseStaticUrl:j,storeLastAuthenticatedUser:y,keepLastAuthenticatedUserAfterLogout:L,sdk:x}=n.default.useContext(a),R=e.useCallback((async e=>{await x.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=S;return null==e||e.addEventListener("success",R),s&&(null==e||e.addEventListener("error",s)),o&&(null==e||e.addEventListener("ready",o)),()=>{s&&(null==e||e.removeEventListener("error",s)),o&&(null==e||e.removeEventListener("ready",o)),null==e||e.removeEventListener("success",R)}}),[S,s,R]),e.useEffect((()=>{const e=S;return null==e||e.addEventListener("success",R),()=>{null==e||e.removeEventListener("success",R)}}),[S,R]),e.useEffect((()=>{const e=S;return s&&(null==e||e.addEventListener("error",s)),()=>{s&&(null==e||e.removeEventListener("error",s))}}),[S,s]),e.useEffect((()=>{const e=S;return o&&(null==e||e.addEventListener("ready",o)),()=>{o&&(null==e||e.removeEventListener("error",o))}}),[S,o]),e.useEffect((()=>{S&&(S.errorTransformer=U)}),[S,U]),e.useEffect((()=>{S&&u&&(S.logger=u)}),[S,u]);const{form:A,client:T}=e.useMemo((()=>({form:JSON.stringify(g||{}),client:JSON.stringify(f||{})})),[g,f]);return n.default.createElement("form",null,n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(w,{projectId:v,flowId:t,baseUrl:I,baseStaticUrl:j,innerRef:k,tenant:l,theme:i,locale:d,debug:c,form:A,client:T,telemetryKey:p,redirectUrl:m,autoFocus:b,validateOnBlur:h,storeLastAuthenticatedUser:y,keepLastAuthenticatedUserAfterLogout:L})))})),E=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/user-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-user-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),S=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(E,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),k=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/role-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-role-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),v=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(k,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),I=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/access-key-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-access-key-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),j=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(I,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),y=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/audit-management-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,tenant:o,widgetId:a,theme:u,debug:l})=>n.default.createElement("descope-audit-management-widget",{"project-id":e,"widget-id":a,"base-url":t,"base-static-url":r,theme:u,tenant:o,debug:l,ref:s})}))),L=n.default.forwardRef((({logger:t,tenant:r,theme:s,debug:o,widgetId:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(y,{projectId:c,widgetId:u,baseUrl:f,baseStaticUrl:g,innerRef:d,tenant:r,theme:s,debug:o}))})),x=e.lazy((async()=>(await Promise.resolve().then((function(){return s(require("@descope/user-profile-widget"))})),{default:({projectId:e,baseUrl:t,baseStaticUrl:r,innerRef:s,widgetId:o,theme:a,debug:u})=>n.default.createElement("descope-user-profile-widget",{"project-id":e,"widget-id":o,"base-url":t,"base-static-url":r,theme:a,debug:u,ref:s})}))),R=n.default.forwardRef((({logger:t,theme:r,debug:s,widgetId:o,onLogout:u},l)=>{const[i,d]=e.useState(null);e.useImperativeHandle(l,(()=>i));const{projectId:c,baseUrl:f,baseStaticUrl:g}=n.default.useContext(a);return e.useEffect((()=>{i&&t&&(i.logger=t)}),[i,t]),e.useEffect((()=>{if(i&&u)return i.addEventListener("logout",u),()=>i.removeEventListener("logout",u)}),[i,u]),n.default.createElement(e.Suspense,{fallback:null},n.default.createElement(x,{projectId:c,widgetId:o,baseUrl:f,baseStaticUrl:g,innerRef:d,theme:r,debug:s}))}));var A=()=>{const t=e.useContext(a);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const T=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,C={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],C);if("function"==typeof e[t])return()=>{throw Error(T("function"))};throw Error(T("attribute"))}};exports.AccessKeyManagement=j,exports.AuditManagement=L,exports.AuthProvider=({projectId:t,baseUrl:r="",baseStaticUrl:s="",sessionTokenViaCookie:o=!1,persistTokens:l=!0,storeLastAuthenticatedUser:d=!0,keepLastAuthenticatedUserAfterLogout:c=!1,children:g})=>{const[p,m]=e.useState(),[b,h]=e.useState(),[w,U]=e.useState(!1),[E,S]=e.useState(!1),k=(({projectId:t,baseUrl:r,persistTokens:s,sessionTokenViaCookie:n,storeLastAuthenticatedUser:o,keepLastAuthenticatedUserAfterLogout:a})=>e.useMemo((()=>{if(t)return f({projectId:t,baseUrl:r,sessionTokenViaCookie:n,baseHeaders:i,persistTokens:s,storeLastAuthenticatedUser:o,keepLastAuthenticatedUserAfterLogout:a,autoRefresh:!0})}),[t,r,n]))({projectId:t,baseUrl:r,persistTokens:l,sessionTokenViaCookie:o,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:c});e.useEffect((()=>{if(k){const e=k.onSessionTokenChange(h),t=k.onUserChange(m);return()=>{e(),t()}}}),[k]);const v=e.useRef(!1),I=e.useCallback((()=>{v.current||(v.current=!0,S(!0),u(null==k?void 0:k.refresh)().then((()=>{S(!1)})))}),[k]),j=e.useCallback((()=>{U(!0),u(k.me)().then((()=>{U(!1)}))}),[k]),y=e.useMemo((()=>({fetchUser:j,user:p,isUserLoading:w,fetchSession:I,session:b,isSessionLoading:E,isSessionFetched:v.current,projectId:t,baseUrl:r,baseStaticUrl:s,storeLastAuthenticatedUser:d,keepLastAuthenticatedUserAfterLogout:c,setUser:m,setSession:h,sdk:k})),[j,p,w,I,b,E,v.current,t,r,s,m,h,k]);return n.default.createElement(a.Provider,{value:y},g)},exports.Descope=U,exports.RoleManagement=v,exports.SignInFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-in"})),exports.SignUpFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-up"})),exports.SignUpOrInFlow=e=>n.default.createElement(U,Object.assign({},e,{flowId:"sign-up-or-in"})),exports.UserManagement=S,exports.UserProfile=R,exports.baseHeaders=i,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}=A();return e.useMemo((()=>t||new Proxy(g(),C)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:s,isSessionFetched:n}=A(),o=e.useRef(r);e.useMemo((()=>{o.current=r}),[r]);const a=!t&&!r;return e.useMemo((()=>{a&&!n&&(o.current=!0)}),[n]),e.useEffect((()=>{a&&s()}),[s]),{isSessionLoading:o.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:s,session:n}=A(),[o,a]=e.useState(!1),u=e.useRef(s),l=e.useMemo((()=>!t&&!s&&n&&!o),[r,n,o]);return e.useMemo((()=>{u.current=s}),[s]),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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const AccessKeyManagement: React.ForwardRefExoticComponent<{
|
|
3
|
+
logger?: import("@descope/web-component").ILogger;
|
|
4
|
+
tenant: string;
|
|
5
|
+
widgetId: string;
|
|
6
|
+
theme?: import("@descope/web-component").ThemeOptions;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
export default AccessKeyManagement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const AuditManagement: React.ForwardRefExoticComponent<{
|
|
3
|
+
logger?: import("@descope/web-component").ILogger;
|
|
4
|
+
tenant: string;
|
|
5
|
+
widgetId: string;
|
|
6
|
+
theme?: import("@descope/web-component").ThemeOptions;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
export default AuditManagement;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
interface IAuthProviderProps {
|
|
3
|
+
projectId: string;
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
baseStaticUrl?: string;
|
|
6
|
+
persistTokens?: boolean;
|
|
7
|
+
sessionTokenViaCookie?: boolean;
|
|
8
|
+
storeLastAuthenticatedUser?: boolean;
|
|
9
|
+
keepLastAuthenticatedUserAfterLogout?: boolean;
|
|
10
|
+
children?: JSX.Element;
|
|
11
|
+
}
|
|
12
|
+
declare const AuthProvider: FC<IAuthProviderProps>;
|
|
13
|
+
export default AuthProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './AuthProvider';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import createSdk from '../../sdk';
|
|
2
|
+
type Config = Pick<Parameters<typeof createSdk>[0], 'projectId' | 'baseUrl' | 'persistTokens' | 'sessionTokenViaCookie' | 'storeLastAuthenticatedUser' | 'keepLastAuthenticatedUserAfterLogout'>;
|
|
3
|
+
declare const _default: ({ projectId, baseUrl, persistTokens, sessionTokenViaCookie, storeLastAuthenticatedUser, keepLastAuthenticatedUserAfterLogout, }: Config) => ReturnType<typeof createSdk>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DefaultFlowProps } from '../types';
|
|
3
|
+
export declare const SignInFlow: (props: DefaultFlowProps) => React.JSX.Element;
|
|
4
|
+
export declare const SignUpFlow: (props: DefaultFlowProps) => React.JSX.Element;
|
|
5
|
+
export declare const SignUpOrInFlow: (props: DefaultFlowProps) => React.JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const RoleManagement: React.ForwardRefExoticComponent<{
|
|
3
|
+
logger?: import("@descope/web-component").ILogger;
|
|
4
|
+
tenant: string;
|
|
5
|
+
widgetId: string;
|
|
6
|
+
theme?: import("@descope/web-component").ThemeOptions;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
export default RoleManagement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const UserManagement: React.ForwardRefExoticComponent<{
|
|
3
|
+
logger?: import("@descope/web-component").ILogger;
|
|
4
|
+
tenant: string;
|
|
5
|
+
widgetId: string;
|
|
6
|
+
theme?: import("@descope/web-component").ThemeOptions;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
export default UserManagement;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const UserProfile: React.ForwardRefExoticComponent<Omit<{
|
|
3
|
+
logger?: import("@descope/web-component").ILogger;
|
|
4
|
+
tenant: string;
|
|
5
|
+
widgetId: string;
|
|
6
|
+
theme?: import("@descope/web-component").ThemeOptions;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
}, "tenant"> & {
|
|
9
|
+
onLogout?: (e: CustomEvent<any>) => void;
|
|
10
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
11
|
+
export default UserProfile;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default as AuthProvider } from './components/AuthProvider';
|
|
2
|
+
export { SignInFlow, SignUpFlow, SignUpOrInFlow, } from './components/DefaultFlows';
|
|
3
|
+
export { default as Descope } from './components/Descope';
|
|
4
|
+
export { default as UserManagement } from './components/UserManagement';
|
|
5
|
+
export { default as RoleManagement } from './components/RoleManagement';
|
|
6
|
+
export { default as AccessKeyManagement } from './components/AccessKeyManagement';
|
|
7
|
+
export { default as AuditManagement } from './components/AuditManagement';
|
|
8
|
+
export { default as UserProfile } from './components/UserProfile';
|
|
9
|
+
export { default as useDescope } from './hooks/useDescope';
|
|
10
|
+
export { default as useSession } from './hooks/useSession';
|
|
11
|
+
export { default as useUser } from './hooks/useUser';
|
|
12
|
+
export { getJwtPermissions, getJwtRoles, refresh, getRefreshToken, getSessionToken, isSessionTokenExpired, isRefreshTokenExpired, } from './sdk';
|
|
13
|
+
export { baseHeaders } from './constants';
|
|
14
|
+
export type { ILogger } from './types';
|