@descope/vue-sdk 0.0.0-next-3794e020-20240125 → 0.0.0-next-d7dcfa5a-20240205

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/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),s=require("@descope/web-component"),t=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(s),n=r(t);const i=Symbol("$descope"),u={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-3794e020-20240125"},a="undefined"!=typeof window,l=()=>{const s=e.inject(i);if(!s)throw Error("Missing Descope context, make sure you are using the Descope plugin");return s},c=()=>l().sdk,d=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var p=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error"],setup(s,{emit:t}){const r=s;o.default.sdkConfigOverrides={baseHeaders:u};const{projectId:n,baseUrl:i}=l().options,a=c(),p=e.computed((()=>r.form?JSON.stringify(r.form):"")),f=e.computed((()=>r.client?JSON.stringify(r.client):"")),m=async e=>{await(a.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},v=e=>t("error",e);return(t,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(n),"base-url":e.unref(i),"flow-id":s.flowId,"^theme":s.theme,"^locale":s.locale,"^tenant":s.tenant,"^debug":s.debug,"^telemetryKey":s.telemetryKey,"redirect-url":s.redirectUrl,"auto-focus":s.autoFocus,".errorTransformer":s.errorTransformer,"^form":e.unref(p),"^client":e.unref(f),onSuccess:m,onError:v},null,40,d)]))}});p.__file="src/Descope.vue";const f=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let m;const v=e=>{const s=n.default({...e,persistTokens:a,autoRefresh:a});return m=s,s};m=v({projectId:"temp pid"});const y=()=>a?m?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),g=f(((e=y(),s)=>m?.getJwtPermissions(e,s))),h=f(((e=y(),s)=>m?.getJwtRoles(e,s))),S=e.ref(null);let w;var k={install:function(s,t){const r=v({...t,persistTokens:!0,autoRefresh:!0,baseHeaders:u});w=r;const o=e.ref(null),n=e.ref(""),a=e.ref(null),l=e.ref(null);r.onSessionTokenChange((e=>{n.value=e})),r.onUserChange((e=>{l.value=e}));const c=async()=>{o.value=!0,await r.refresh(),o.value=!1},d=e.computed((()=>null===o.value)),p=e.computed((()=>null===a.value));S.value=()=>new Promise(((s,t)=>{!n.value&&d.value&&c().catch(t),e.watch((()=>o.value),(()=>!o.value&&s(!!e.unref(n))),{immediate:!0})})),s.provide(i,{session:{fetchSession:c,isLoading:e.readonly(o),session:e.readonly(n),isFetchSessionWasNeverCalled:d},user:{fetchUser:async()=>{a.value=!0,await r.me(),a.value=!1},isLoading:e.readonly(a),user:e.readonly(l),isFetchUserWasNeverCalled:p},sdk:r,options:t})}};exports.Descope=p,exports.default=k,exports.getJwtPermissions=g,exports.getJwtRoles=h,exports.getRefreshToken=()=>a?m?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>w,exports.getSessionToken=y,exports.routeGuard=()=>e.unref(S)?.(),exports.useDescope=c,exports.useSession=()=>{const{session:s}=l();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e.computed((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e.computed((()=>!!s.session.value))}},exports.useUser=()=>{const{user:s,session:t}=l(),r=()=>{!s.user.value&&t.session.value&&s.fetchUser()};return r(),e.watch(t.session,r),{isLoading:e.computed((()=>s.isLoading.value||s.isFetchUserWasNeverCalled.value)),user:s.user}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),s=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/user-management-widget");var o=r(t),n=r(s);const a=Symbol("$descope"),u={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-d7dcfa5a-20240205"},i="undefined"!=typeof window,l=()=>{const t=e.inject(a);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},c=()=>l().options,d=()=>l().sdk,p=e=>(...t)=>{let s;try{s=e(...t)}catch(e){console.error(e)}return s};let f;const m=e=>{const t=n.default({...e,persistTokens:i,autoRefresh:i});return f=t,t};f=m({projectId:"temp pid"});const g=()=>i?f?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),v=p(((e=g(),t)=>f?.getJwtPermissions(e,t))),y=p(((e=g(),t)=>f?.getJwtRoles(e,t))),h=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var S=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error"],setup(t,{emit:s}){const r=t;o.default.sdkConfigOverrides={baseHeaders:u,persistTokens:!1,hooks:{get beforeRequest(){return f.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:n,baseUrl:a}=c(),i=d(),l=e.computed((()=>r.form?JSON.stringify(r.form):"")),p=e.computed((()=>r.client?JSON.stringify(r.client):"")),m=async e=>{await(i.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),s("success",e)},g=e=>s("error",e);return(s,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(n),"base-url":e.unref(a),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,".errorTransformer":t.errorTransformer,"^form":e.unref(l),"^client":e.unref(p),onSuccess:m,onError:g},null,40,h)]))}});S.__file="src/Descope.vue";const b=["project-id","base-url","^theme","^tenant","^debug"];var k=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:s,baseUrl:r}=c();return(o,n)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-user-management-widget",{"project-id":e.unref(s),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug},null,8,b)]))}});k.__file="src/UserManagement.vue";const w=e.ref(null);let x;var j={install:function(t,s){const r=m({...s,persistTokens:!0,autoRefresh:!0,baseHeaders:u});x=r;const o=e.ref(null),n=e.ref(""),i=e.ref(null),l=e.ref(null);r.onSessionTokenChange((e=>{n.value=e})),r.onUserChange((e=>{l.value=e}));const c=async()=>{o.value=!0,await r.refresh(),o.value=!1},d=e.computed((()=>null===o.value)),p=e.computed((()=>null===i.value));w.value=()=>new Promise(((t,s)=>{!n.value&&d.value&&c().catch(s),e.watch((()=>o.value),(()=>!o.value&&t(!!e.unref(n))),{immediate:!0})})),t.provide(a,{session:{fetchSession:c,isLoading:e.readonly(o),session:e.readonly(n),isFetchSessionWasNeverCalled:d},user:{fetchUser:async()=>{i.value=!0,await r.me(),i.value=!1},isLoading:e.readonly(i),user:e.readonly(l),isFetchUserWasNeverCalled:p},sdk:r,options:s})}};exports.Descope=S,exports.UserManagement=k,exports.default=j,exports.getJwtPermissions=v,exports.getJwtRoles=y,exports.getRefreshToken=()=>i?f?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>x,exports.getSessionToken=g,exports.routeGuard=()=>e.unref(w)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=l();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e.computed((()=>!!t.session.value))}},exports.useUser=()=>{const{user:t,session:s}=l(),r=()=>{!t.user.value&&s.session.value&&t.fetchUser()};return r(),e.watch(s.session,r),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}};
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { App } from 'vue';
3
3
  import * as _descope_core_js_sdk from '@descope/core-js-sdk';
4
4
 
5
- declare const _default$1: vue.DefineComponent<{
5
+ declare const _default$2: vue.DefineComponent<{
6
6
  flowId: {
7
7
  type: StringConstructor;
8
8
  required: true;
@@ -82,6 +82,34 @@ declare const _default$1: vue.DefineComponent<{
82
82
  autoFocus: boolean;
83
83
  }>;
84
84
 
85
+ declare const _default$1: vue.DefineComponent<{
86
+ tenant: {
87
+ type: StringConstructor;
88
+ required: true;
89
+ };
90
+ theme: {
91
+ type: StringConstructor;
92
+ };
93
+ debug: {
94
+ type: BooleanConstructor;
95
+ };
96
+ }, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
97
+ [key: string]: any;
98
+ }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
99
+ tenant: {
100
+ type: StringConstructor;
101
+ required: true;
102
+ };
103
+ theme: {
104
+ type: StringConstructor;
105
+ };
106
+ debug: {
107
+ type: BooleanConstructor;
108
+ };
109
+ }>>, {
110
+ debug: boolean;
111
+ }>;
112
+
85
113
  type Options = {
86
114
  projectId: string;
87
115
  baseUrl?: string;
@@ -2921,5 +2949,5 @@ declare const getRefreshToken: () => string;
2921
2949
  declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
2922
2950
  declare const getJwtRoles: (token?: any, tenant?: string) => string[];
2923
2951
 
2924
- export { _default$1 as Descope, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, routeGuard, useDescope, useSession, useUser };
2952
+ export { _default$2 as Descope, _default$1 as UserManagement, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, routeGuard, useDescope, useSession, useUser };
2925
2953
  //# sourceMappingURL=index.d.ts.map
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{computed as e,watch as s,inject as t,defineComponent as o,openBlock as r,createElementBlock as n,createElementVNode as i,unref as a,ref as l,readonly as c}from"vue";import u from"@descope/web-component";import d from"@descope/web-js-sdk";const p=Symbol("$descope"),f={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-3794e020-20240125"},m="undefined"!=typeof window,v=()=>{const e=t(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},g=()=>v().sdk,y=()=>{const{session:s}=v();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e((()=>!!s.session.value))}},h=()=>{const{user:t,session:o}=v(),r=()=>{!t.user.value&&o.session.value&&t.fetchUser()};return r(),s(o.session,r),{isLoading:e((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}},S=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var w=o({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error"],setup(s,{emit:t}){const o=s;u.sdkConfigOverrides={baseHeaders:f};const{projectId:l,baseUrl:c}=v().options,d=g(),p=e((()=>o.form?JSON.stringify(o.form):"")),m=e((()=>o.client?JSON.stringify(o.client):"")),y=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},h=e=>t("error",e);return(e,t)=>(r(),n("div",null,[i("descope-wc",{"project-id":a(l),"base-url":a(c),"flow-id":s.flowId,"^theme":s.theme,"^locale":s.locale,"^tenant":s.tenant,"^debug":s.debug,"^telemetryKey":s.telemetryKey,"redirect-url":s.redirectUrl,"auto-focus":s.autoFocus,".errorTransformer":s.errorTransformer,"^form":a(p),"^client":a(m),onSuccess:y,onError:h},null,40,S)]))}});w.__file="src/Descope.vue";const k=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let b;const T=e=>{const s=d({...e,persistTokens:m,autoRefresh:m});return b=s,s};b=T({projectId:"temp pid"});const C=()=>m?b?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),F=()=>m?b?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),N=k(((e=C(),s)=>b?.getJwtPermissions(e,s))),R=k(((e=C(),s)=>b?.getJwtRoles(e,s))),U=l(null),j=()=>a(U)?.();let L;const O=()=>L;var x={install:function(t,o){const r=T({...o,persistTokens:!0,autoRefresh:!0,baseHeaders:f});L=r;const n=l(null),i=l(""),u=l(null),d=l(null);r.onSessionTokenChange((e=>{i.value=e})),r.onUserChange((e=>{d.value=e}));const m=async()=>{n.value=!0,await r.refresh(),n.value=!1},v=e((()=>null===n.value)),g=e((()=>null===u.value));U.value=()=>new Promise(((e,t)=>{!i.value&&v.value&&m().catch(t),s((()=>n.value),(()=>!n.value&&e(!!a(i))),{immediate:!0})})),t.provide(p,{session:{fetchSession:m,isLoading:c(n),session:c(i),isFetchSessionWasNeverCalled:v},user:{fetchUser:async()=>{u.value=!0,await r.me(),u.value=!1},isLoading:c(u),user:c(d),isFetchUserWasNeverCalled:g},sdk:r,options:o})}};export{w as Descope,x as default,N as getJwtPermissions,R as getJwtRoles,F as getRefreshToken,O as getSdk,C as getSessionToken,j as routeGuard,g as useDescope,y as useSession,h as useUser};
1
+ import{computed as e,watch as s,inject as t,defineComponent as r,openBlock as o,createElementBlock as n,createElementVNode as a,unref as i,ref as l,readonly as u}from"vue";import c from"@descope/web-component";import d from"@descope/web-js-sdk";import"@descope/user-management-widget";const p=Symbol("$descope"),m={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-d7dcfa5a-20240205"},f="undefined"!=typeof window,g=()=>{const e=t(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>g().options,h=()=>g().sdk,y=()=>{const{session:s}=g();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e((()=>!!s.session.value))}},b=()=>{const{user:t,session:r}=g(),o=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return o(),s(r.session,o),{isLoading:e((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}},S=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let w;const k=e=>{const s=d({...e,persistTokens:f,autoRefresh:f});return w=s,s};w=k({projectId:"temp pid"});const U=()=>f?w?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),R=()=>f?w?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),T=S(((e=U(),s)=>w?.getJwtPermissions(e,s))),j=S(((e=U(),s)=>w?.getJwtRoles(e,s))),C=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var F=r({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error"],setup(s,{emit:t}){const r=s;c.sdkConfigOverrides={baseHeaders:m,persistTokens:!1,hooks:{get beforeRequest(){return w.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:l,baseUrl:u}=v(),d=h(),p=e((()=>r.form?JSON.stringify(r.form):"")),f=e((()=>r.client?JSON.stringify(r.client):"")),g=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},y=e=>t("error",e);return(e,t)=>(o(),n("div",null,[a("descope-wc",{"project-id":i(l),"base-url":i(u),"flow-id":s.flowId,"^theme":s.theme,"^locale":s.locale,"^tenant":s.tenant,"^debug":s.debug,"^telemetryKey":s.telemetryKey,"redirect-url":s.redirectUrl,"auto-focus":s.autoFocus,".errorTransformer":s.errorTransformer,"^form":i(p),"^client":i(f),onSuccess:g,onError:y},null,40,C)]))}});F.__file="src/Descope.vue";const N=["project-id","base-url","^theme","^tenant","^debug"];var _=r({__name:"UserManagement",props:{tenant:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:s,baseUrl:t}=v();return(r,l)=>(o(),n("div",null,[a("descope-user-management-widget",{"project-id":i(s),"base-url":i(t),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug},null,8,N)]))}});_.__file="src/UserManagement.vue";const q=l(null),L=()=>i(q)?.();let O;const x=()=>O;var D={install:function(t,r){const o=k({...r,persistTokens:!0,autoRefresh:!0,baseHeaders:m});O=o;const n=l(null),a=l(""),c=l(null),d=l(null);o.onSessionTokenChange((e=>{a.value=e})),o.onUserChange((e=>{d.value=e}));const f=async()=>{n.value=!0,await o.refresh(),n.value=!1},g=e((()=>null===n.value)),v=e((()=>null===c.value));q.value=()=>new Promise(((e,t)=>{!a.value&&g.value&&f().catch(t),s((()=>n.value),(()=>!n.value&&e(!!i(a))),{immediate:!0})})),t.provide(p,{session:{fetchSession:f,isLoading:u(n),session:u(a),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{c.value=!0,await o.me(),c.value=!1},isLoading:u(c),user:u(d),isFetchUserWasNeverCalled:v},sdk:o,options:r})}};export{F as Descope,_ as UserManagement,D as default,T as getJwtPermissions,j as getJwtRoles,R as getRefreshToken,x as getSdk,U as getSessionToken,L as routeGuard,h as useDescope,y as useSession,b as useUser};
2
2
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/vue-sdk",
3
- "version": "0.0.0-next-3794e020-20240125",
3
+ "version": "0.0.0-next-d7dcfa5a-20240205",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "type": "module",
@@ -37,7 +37,8 @@
37
37
  ]
38
38
  },
39
39
  "dependencies": {
40
- "@descope/web-component": "3.7.0"
40
+ "@descope/user-management-widget": "0.0.7",
41
+ "@descope/web-component": "3.7.6"
41
42
  },
42
43
  "peerDependencies": {
43
44
  "vue": ">=3"