@descope/react-sdk 0.0.52-alpha.22 → 0.0.52-alpha.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.
@@ -1,2 +1,2 @@
1
- "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.22"},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:b,setSessionToken:m}=n.default.useContext(u),h=t.useCallback((e=>{b(e.detail?.user);const t=e.detail?.sessionJwt;m(t),r&&r(e)}),[b,m,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,{fallback: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])};
1
+ "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.23"},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:b,setSessionToken:m}=n.default.useContext(u),h=t.useCallback((e=>{b(e.detail?.user);const t=e.detail?.sessionJwt;m(t),r&&r(e)}),[b,m,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,{fallback: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])};
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- 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,f]=o(""),p=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.22"},t}}})}),[n,c]);s((()=>{if(!p)return;const e=p.onSessionTokenChange(f),t=p.onUserChange(d);return()=>{e?.(),t?.()}}),[p]);const m=r((()=>({sdk:p,projectId:n,baseUrl:c,user:a,sessionToken:u,setUser:d,setSessionToken:f})),[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})}))),f=t.forwardRef((({flowId:e,onSuccess:r,onError:n,tenant:d,theme:f},p)=>{const[m,h]=o(null);c(p,(()=>m));const{projectId:w,baseUrl:k,setUser:v,setSessionToken:E}=t.useContext(l),g=i((e=>{v(e.detail?.user);const t=e.detail?.sessionJwt;E(t),r&&r(e)}),[v,E,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,{fallback:null},t.createElement(u,{projectId:w,flowId:e,baseUrl:k,innerRef:h,tenant:d,theme:f}))}));f.defaultProps={onError:void 0,onSuccess:void 0};const p=e=>t.createElement(f,{...e,flowId:"sign-in"}),m=e=>t.createElement(f,{...e,flowId:"sign-up"}),h=e=>t.createElement(f,{...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)},k=()=>{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]),f=i(w(n?.getJwtRoles),[n]);return r((()=>({authenticated:!!s,user:o,sessionToken:s,logoutAll:c,logout:a,me:d,getJwtPermissions:u,getJwtRoles:f})),[o,s,n])};export{d as AuthProvider,f as Descope,p as SignInFlow,m as SignUpFlow,h as SignUpOrInFlow,k as useAuth};
1
+ 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,f]=o(""),p=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.23"},t}}})}),[n,c]);s((()=>{if(!p)return;const e=p.onSessionTokenChange(f),t=p.onUserChange(d);return()=>{e?.(),t?.()}}),[p]);const m=r((()=>({sdk:p,projectId:n,baseUrl:c,user:a,sessionToken:u,setUser:d,setSessionToken:f})),[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})}))),f=t.forwardRef((({flowId:e,onSuccess:r,onError:n,tenant:d,theme:f},p)=>{const[m,h]=o(null);c(p,(()=>m));const{projectId:w,baseUrl:k,setUser:v,setSessionToken:E}=t.useContext(l),g=i((e=>{v(e.detail?.user);const t=e.detail?.sessionJwt;E(t),r&&r(e)}),[v,E,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,{fallback:null},t.createElement(u,{projectId:w,flowId:e,baseUrl:k,innerRef:h,tenant:d,theme:f}))}));f.defaultProps={onError:void 0,onSuccess:void 0};const p=e=>t.createElement(f,{...e,flowId:"sign-in"}),m=e=>t.createElement(f,{...e,flowId:"sign-up"}),h=e=>t.createElement(f,{...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)},k=()=>{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]),f=i(w(n?.getJwtRoles),[n]);return r((()=>({authenticated:!!s,user:o,sessionToken:s,logoutAll:c,logout:a,me:d,getJwtPermissions:u,getJwtRoles:f})),[o,s,n])};export{d as AuthProvider,f as Descope,p as SignInFlow,m as SignUpFlow,h as SignUpOrInFlow,k as useAuth};
2
2
  //# sourceMappingURL=index.esm.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/react-sdk",
3
- "version": "0.0.52-alpha.22",
3
+ "version": "0.0.52-alpha.23",
4
4
  "main": "dist/cjs/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@descope/web-component": "0.1.0-alpha.16",
22
+ "@descope/web-component": "0.1.0-alpha.17",
23
23
  "react-router-dom": "6.4.3"
24
24
  },
25
25
  "devDependencies": {
@@ -56,7 +56,7 @@
56
56
  "eslint-plugin-prefer-arrow": "1.2.3",
57
57
  "eslint-plugin-prettier": "4.2.1",
58
58
  "eslint-plugin-promise": "6.1.1",
59
- "eslint-plugin-react": "7.31.10",
59
+ "eslint-plugin-react": "7.31.11",
60
60
  "eslint-plugin-react-hooks": "4.6.0",
61
61
  "eslint-plugin-testing-library": "5.9.1",
62
62
  "husky": "^8.0.1",