@descope/vue-sdk 0.0.0-next-3794e020-20240125 → 0.0.0-next-2c01b28a-20240204

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");require("@descope/user-management-widget");var s=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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-2c01b28a-20240204"},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=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var f=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};const{projectId:n,baseUrl:a}=c(),i=d(),l=e.computed((()=>r.form?JSON.stringify(r.form):"")),f=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(f),onSuccess:m,onError:g},null,40,p)]))}});f.__file="src/Descope.vue";const m=["project-id","base-url","^theme","^tenant","^debug"];var g=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,m)]))}});g.__file="src/UserManagement.vue";const v=e=>(...t)=>{let s;try{s=e(...t)}catch(e){console.error(e)}return s};let y;const h=e=>{const t=n.default({...e,persistTokens:i,autoRefresh:i});return y=t,t};y=h({projectId:"temp pid"});const S=()=>i?y?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),w=v(((e=S(),t)=>y?.getJwtPermissions(e,t))),b=v(((e=S(),t)=>y?.getJwtRoles(e,t))),k=e.ref(null);let x;var j={install:function(t,s){const r=h({...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));k.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=f,exports.UserManagement=g,exports.default=j,exports.getJwtPermissions=w,exports.getJwtRoles=b,exports.getRefreshToken=()=>i?y?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>x,exports.getSessionToken=S,exports.routeGuard=()=>e.unref(k)?.(),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 n,createElementBlock as o,createElementVNode as a,unref as i,ref as l,readonly as u}from"vue";import c from"@descope/web-component";import"@descope/user-management-widget";import d from"@descope/web-js-sdk";const p=Symbol("$descope"),m={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-2c01b28a-20240204"},g="undefined"!=typeof window,f=()=>{const e=t(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>f().options,y=()=>f().sdk,h=()=>{const{session:s}=f();return s.isFetchSessionWasNeverCalled.value&&s.fetchSession(),{isLoading:e((()=>s.isLoading.value||s.isFetchSessionWasNeverCalled.value)),sessionToken:s.session,isAuthenticated:e((()=>!!s.session.value))}},S=()=>{const{user:t,session:r}=f(),n=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return n(),s(r.session,n),{isLoading:e((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}},b=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var w=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};const{projectId:l,baseUrl:u}=v(),d=y(),p=e((()=>r.form?JSON.stringify(r.form):"")),g=e((()=>r.client?JSON.stringify(r.client):"")),f=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),t("success",e)},h=e=>t("error",e);return(e,t)=>(n(),o("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(g),onSuccess:f,onError:h},null,40,b)]))}});w.__file="src/Descope.vue";const k=["project-id","base-url","^theme","^tenant","^debug"];var U=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)=>(n(),o("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,k)]))}});U.__file="src/UserManagement.vue";const j=e=>(...s)=>{let t;try{t=e(...s)}catch(e){console.error(e)}return t};let T;const C=e=>{const s=d({...e,persistTokens:g,autoRefresh:g});return T=s,s};T=C({projectId:"temp pid"});const F=()=>g?T?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),N=()=>g?T?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),R=j(((e=F(),s)=>T?.getJwtPermissions(e,s))),_=j(((e=F(),s)=>T?.getJwtRoles(e,s))),L=l(null),O=()=>i(L)?.();let x;const D=()=>x;var I={install:function(t,r){const n=C({...r,persistTokens:!0,autoRefresh:!0,baseHeaders:m});x=n;const o=l(null),a=l(""),c=l(null),d=l(null);n.onSessionTokenChange((e=>{a.value=e})),n.onUserChange((e=>{d.value=e}));const g=async()=>{o.value=!0,await n.refresh(),o.value=!1},f=e((()=>null===o.value)),v=e((()=>null===c.value));L.value=()=>new Promise(((e,t)=>{!a.value&&f.value&&g().catch(t),s((()=>o.value),(()=>!o.value&&e(!!i(a))),{immediate:!0})})),t.provide(p,{session:{fetchSession:g,isLoading:u(o),session:u(a),isFetchSessionWasNeverCalled:f},user:{fetchUser:async()=>{c.value=!0,await n.me(),c.value=!1},isLoading:u(c),user:u(d),isFetchUserWasNeverCalled:v},sdk:n,options:r})}};export{w as Descope,U as UserManagement,I as default,R as getJwtPermissions,_ as getJwtRoles,N as getRefreshToken,D as getSdk,F as getSessionToken,O as routeGuard,y as useDescope,h as useSession,S 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-2c01b28a-20240204",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "type": "module",
@@ -37,6 +37,7 @@
37
37
  ]
38
38
  },
39
39
  "dependencies": {
40
+ "@descope/user-management-widget": "0.0.7",
40
41
  "@descope/web-component": "3.7.0"
41
42
  },
42
43
  "peerDependencies": {