@descope/react-sdk
Advanced tools
Comparing version 0.0.52-alpha.19 to 0.0.52-alpha.20
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@descope/web-js-sdk"),t=require("react");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/web-component");var o=s(e),r=s(t);const n=r.default.createContext(void 0),u=({projectId:e,baseUrl:s,children:u})=>{const[a,l]=t.useState({}),[c,d]=t.useState(""),i=t.useMemo((()=>{if(e)return o.default({projectId:e,baseUrl:s,hooks:{beforeRequest:e=>{const t=e;return t.headers={...t.headers,"x-descope-sdk-name":"react","x-descope-sdk-version":"0.0.52-alpha.19"},t}}})}),[e,s]);t.useEffect((()=>{if(!i)return;const e=i.onSessionTokenChange(d),t=i.onUserChange(l);return()=>{e?.(),t?.()}}),[i]);const f=t.useMemo((()=>({sdk:i,projectId:e,baseUrl:s,user:a,sessionToken:c,setUser:l,setSessionToken:d})),[c,a,e,s]);return r.default.createElement(n.Provider,{value:f},u)};u.defaultProps={baseUrl:"",children:void 0};const a=r.default.forwardRef((({flowId:e,onSuccess:s,onError:o,tenant:u,theme:a},l)=>{const c=t.useRef();t.useImperativeHandle(l,(()=>c.current));const{projectId:d,baseUrl:i,setUser:f,setSessionToken:p}=r.default.useContext(n),h=t.useCallback((e=>{f(e.detail?.user);const t=e.detail?.sessionJwt;p(t),s&&s(e)}),[f,p,s]);return t.useEffect((()=>{const e=c.current;return e?.addEventListener("success",h),o&&e?.addEventListener("error",o),()=>{o&&e?.removeEventListener("error",o),e?.removeEventListener("success",h)}}),[c,o,h]),r.default.createElement("descope-wc",{"project-id":d,"flow-id":e,"base-url":i,ref:c,tenant:u,theme:a})}));a.defaultProps={onError:void 0,onSuccess:void 0};const l=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)};exports.AuthProvider=u,exports.Descope=a,exports.SignInFlow=e=>r.default.createElement(a,{...e,flowId:"sign-in"}),exports.SignUpFlow=e=>r.default.createElement(a,{...e,flowId:"sign-up"}),exports.SignUpOrInFlow=e=>r.default.createElement(a,{...e,flowId:"sign-up-or-in"}),exports.useAuth=()=>{const e=r.default.useContext(n);if(!e)throw Error("You can only use 'useAuth' in the context of <AuthProvider />");const{user:s,sessionToken:o,sdk:u}=e,a=t.useCallback(l(u?.logoutAll),[u]),c=t.useCallback(l(u?.logout),[u]),d=t.useCallback(l(u?.me),[u]),i=t.useCallback(l(u?.getJwtPermissions),[u]),f=t.useCallback(l(u?.getJwtRoles),[u]);return t.useMemo((()=>({authenticated:!!o,user:s,sessionToken:o,logoutAll:a,logout:c,me:d,getJwtPermissions:i,getJwtRoles:f})),[s,o,u])}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@descope/web-js-sdk"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=r(e),n=r(t);const u=n.default.createContext(void 0),a=({projectId:e,baseUrl:r,children:o})=>{const[a,l]=t.useState({}),[c,i]=t.useState(""),d=t.useMemo((()=>{if(e)return s.default({projectId:e,baseUrl:r,hooks:{beforeRequest:e=>{const t=e;return t.headers={...t.headers,"x-descope-sdk-name":"react","x-descope-sdk-version":"0.0.52-alpha.20"},t}}})}),[e,r]);t.useEffect((()=>{if(!d)return;const e=d.onSessionTokenChange(i),t=d.onUserChange(l);return()=>{e?.(),t?.()}}),[d]);const f=t.useMemo((()=>({sdk:d,projectId:e,baseUrl:r,user:a,sessionToken:c,setUser:l,setSessionToken:i})),[c,a,e,r]);return n.default.createElement(u.Provider,{value:f},o)};a.defaultProps={baseUrl:"",children:void 0};const l=t.lazy((async()=>(await Promise.resolve().then((function(){return o(require("@descope/web-component"))})),{default:({projectId:e,flowId:t,baseUrl:r,innerRef:o,tenant:s,theme:u})=>n.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,ref:o,tenant:s,theme:u})}))),c=n.default.forwardRef((({flowId:e,onSuccess:r,onError:o,tenant:s,theme:a},c)=>{const[i,d]=t.useState(null);t.useImperativeHandle(c,(()=>i));const{projectId:f,baseUrl:p,setUser:m,setSessionToken:b}=n.default.useContext(u),h=t.useCallback((e=>{m(e.detail?.user);const t=e.detail?.sessionJwt;b(t),r&&r(e)}),[m,b,r]);return t.useEffect((()=>{const e=i;return e?.addEventListener("success",h),o&&e?.addEventListener("error",o),()=>{o&&e?.removeEventListener("error",o),e?.removeEventListener("success",h)}}),[i,o,h]),n.default.createElement(t.Suspense,null,n.default.createElement(l,{projectId:f,flowId:e,baseUrl:p,innerRef:d,tenant:s,theme:a}))}));c.defaultProps={onError:void 0,onSuccess:void 0};const i=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)};exports.AuthProvider=a,exports.Descope=c,exports.SignInFlow=e=>n.default.createElement(c,{...e,flowId:"sign-in"}),exports.SignUpFlow=e=>n.default.createElement(c,{...e,flowId:"sign-up"}),exports.SignUpOrInFlow=e=>n.default.createElement(c,{...e,flowId:"sign-up-or-in"}),exports.useAuth=()=>{const e=n.default.useContext(u);if(!e)throw Error("You can only use 'useAuth' in the context of <AuthProvider />");const{user:r,sessionToken:o,sdk:s}=e,a=t.useCallback(i(s?.logoutAll),[s]),l=t.useCallback(i(s?.logout),[s]),c=t.useCallback(i(s?.me),[s]),d=t.useCallback(i(s?.getJwtPermissions),[s]),f=t.useCallback(i(s?.getJwtRoles),[s]);return t.useMemo((()=>({authenticated:!!o,user:r,sessionToken:o,logoutAll:a,logout:l,me:c,getJwtPermissions:d,getJwtRoles:f})),[r,o,s])}; | ||
//# sourceMappingURL=index.cjs.js.map |
@@ -1,2 +0,2 @@ | ||
import e from"@descope/web-js-sdk";import t,{useState as o,useMemo as r,useEffect as s,useRef as n,useImperativeHandle as c,useCallback as i}from"react";import"@descope/web-component";const u=t.createContext(void 0),d=({projectId:n,baseUrl:c,children:i})=>{const[d,a]=o({}),[l,p]=o(""),m=r((()=>{if(n)return e({projectId:n,baseUrl:c,hooks:{beforeRequest:e=>{const t=e;return t.headers={...t.headers,"x-descope-sdk-name":"react","x-descope-sdk-version":"0.0.52-alpha.19"},t}}})}),[n,c]);s((()=>{if(!m)return;const e=m.onSessionTokenChange(p),t=m.onUserChange(a);return()=>{e?.(),t?.()}}),[m]);const f=r((()=>({sdk:m,projectId:n,baseUrl:c,user:d,sessionToken:l,setUser:a,setSessionToken:p})),[l,d,n,c]);return t.createElement(u.Provider,{value:f},i)};d.defaultProps={baseUrl:"",children:void 0};const a=t.forwardRef((({flowId:e,onSuccess:o,onError:r,tenant:d,theme:a},l)=>{const p=n();c(l,(()=>p.current));const{projectId:m,baseUrl:f,setUser:h,setSessionToken:w}=t.useContext(u),v=i((e=>{h(e.detail?.user);const t=e.detail?.sessionJwt;w(t),o&&o(e)}),[h,w,o]);return s((()=>{const e=p.current;return e?.addEventListener("success",v),r&&e?.addEventListener("error",r),()=>{r&&e?.removeEventListener("error",r),e?.removeEventListener("success",v)}}),[p,r,v]),t.createElement("descope-wc",{"project-id":m,"flow-id":e,"base-url":f,ref:p,tenant:d,theme:a})}));a.defaultProps={onError:void 0,onSuccess:void 0};const l=e=>t.createElement(a,{...e,flowId:"sign-in"}),p=e=>t.createElement(a,{...e,flowId:"sign-up"}),m=e=>t.createElement(a,{...e,flowId:"sign-up-or-in"}),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)},h=()=>{const e=t.useContext(u);if(!e)throw Error("You can only use 'useAuth' in the context of <AuthProvider />");const{user:o,sessionToken:s,sdk:n}=e,c=i(f(n?.logoutAll),[n]),d=i(f(n?.logout),[n]),a=i(f(n?.me),[n]),l=i(f(n?.getJwtPermissions),[n]),p=i(f(n?.getJwtRoles),[n]);return r((()=>({authenticated:!!s,user:o,sessionToken:s,logoutAll:c,logout:d,me:a,getJwtPermissions:l,getJwtRoles:p})),[o,s,n])};export{d as AuthProvider,a as Descope,l as SignInFlow,p as SignUpFlow,m as SignUpOrInFlow,h as useAuth}; | ||
import e from"@descope/web-js-sdk";import t,{useState as o,useMemo as r,useEffect as s,lazy as n,useImperativeHandle as c,useCallback as i,Suspense as a}from"react";const l=t.createContext(void 0),d=({projectId:n,baseUrl:c,children:i})=>{const[a,d]=o({}),[u,p]=o(""),f=r((()=>{if(n)return e({projectId:n,baseUrl:c,hooks:{beforeRequest:e=>{const t=e;return t.headers={...t.headers,"x-descope-sdk-name":"react","x-descope-sdk-version":"0.0.52-alpha.20"},t}}})}),[n,c]);s((()=>{if(!f)return;const e=f.onSessionTokenChange(p),t=f.onUserChange(d);return()=>{e?.(),t?.()}}),[f]);const m=r((()=>({sdk:f,projectId:n,baseUrl:c,user:a,sessionToken:u,setUser:d,setSessionToken:p})),[u,a,n,c]);return t.createElement(l.Provider,{value:m},i)};d.defaultProps={baseUrl:"",children:void 0};const u=n((async()=>(await import("@descope/web-component"),{default:({projectId:e,flowId:o,baseUrl:r,innerRef:s,tenant:n,theme:c})=>t.createElement("descope-wc",{"project-id":e,"flow-id":o,"base-url":r,ref:s,tenant:n,theme:c})}))),p=t.forwardRef((({flowId:e,onSuccess:r,onError:n,tenant:d,theme:p},f)=>{const[m,h]=o(null);c(f,(()=>m));const{projectId:w,baseUrl:v,setUser:E,setSessionToken:k}=t.useContext(l),g=i((e=>{E(e.detail?.user);const t=e.detail?.sessionJwt;k(t),r&&r(e)}),[E,k,r]);return s((()=>{const e=m;return e?.addEventListener("success",g),n&&e?.addEventListener("error",n),()=>{n&&e?.removeEventListener("error",n),e?.removeEventListener("success",g)}}),[m,n,g]),t.createElement(a,null,t.createElement(u,{projectId:w,flowId:e,baseUrl:v,innerRef:h,tenant:d,theme:p}))}));p.defaultProps={onError:void 0,onSuccess:void 0};const f=e=>t.createElement(p,{...e,flowId:"sign-in"}),m=e=>t.createElement(p,{...e,flowId:"sign-up"}),h=e=>t.createElement(p,{...e,flowId:"sign-up-or-in"}),w=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)},v=()=>{const e=t.useContext(l);if(!e)throw Error("You can only use 'useAuth' in the context of <AuthProvider />");const{user:o,sessionToken:s,sdk:n}=e,c=i(w(n?.logoutAll),[n]),a=i(w(n?.logout),[n]),d=i(w(n?.me),[n]),u=i(w(n?.getJwtPermissions),[n]),p=i(w(n?.getJwtRoles),[n]);return r((()=>({authenticated:!!s,user:o,sessionToken:s,logoutAll:c,logout:a,me:d,getJwtPermissions:u,getJwtRoles:p})),[o,s,n])};export{d as AuthProvider,p as Descope,f as SignInFlow,m as SignUpFlow,h as SignUpOrInFlow,v as useAuth}; | ||
//# sourceMappingURL=index.esm.js.map |
{ | ||
"name": "@descope/react-sdk", | ||
"version": "0.0.52-alpha.19", | ||
"version": "0.0.52-alpha.20", | ||
"main": "dist/cjs/index.cjs.js", | ||
@@ -5,0 +5,0 @@ "module": "dist/index.esm.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
37136
98