@descope/vue-sdk 2.0.5 → 2.0.7

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/README.md CHANGED
@@ -247,6 +247,8 @@ Run the following command in the root of the project to build and run the exampl
247
247
  npm i && npm start
248
248
  ```
249
249
 
250
+ Open your browser and navigate to [http://localhost:3000](http://localhost:3000).
251
+
250
252
  ### Example Optional Env Variables
251
253
 
252
254
  See the following table for customization environment variables for the example app:
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
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":"2.0.5"},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","ready"],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),v=e=>s("ready",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,onReady:v},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 R={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=R,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}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),r=require("@descope/web-js-sdk");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget");var s=n(t),o=n(r);const a=Symbol("$descope"),i={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.0.7"},u="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},d=()=>l().options,c=()=>l().sdk,p=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let g;const m=e=>{const t=o.default({...e,persistTokens:u,autoRefresh:u});return g=t,t};g=m({projectId:"temp pid"});const f=()=>u?g?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),y=p(((e=f(),t)=>g?.getJwtPermissions(e,t))),v=p(((e=f(),t)=>g?.getJwtRoles(e,t))),h=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var w=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","ready"],setup(t,{emit:r}){const n=t;s.default.sdkConfigOverrides={baseHeaders:i,persistTokens:!1,hooks:{get beforeRequest(){return g.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:o,baseUrl:a}=d(),u=c(),l=e.computed((()=>n.form?JSON.stringify(n.form):"")),p=e.computed((()=>n.client?JSON.stringify(n.client):"")),m=async e=>{await(u.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),r("success",e)},f=e=>r("error",e),y=e=>r("ready",e);return(r,n)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(o),"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:f,onReady:y},null,40,h)]))}});w.__file="src/Descope.vue";const b=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var S=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n}=d();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-user-management-widget",{"project-id":e.unref(r),"base-url":e.unref(n),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,b)]))}});S.__file="src/UserManagement.vue";const k=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var j=e.defineComponent({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n}=d();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-role-management-widget",{"project-id":e.unref(r),"base-url":e.unref(n),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,k)]))}});j.__file="src/RoleManagement.vue";const x=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var _=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n}=d();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-access-key-management-widget",{"project-id":e.unref(r),"base-url":e.unref(n),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,x)]))}});_.__file="src/AccessKeyManagement.vue";const q=e.ref(null);let R;var U={install:function(t,r){const n=m({...r,persistTokens:!0,autoRefresh:!0,baseHeaders:i});R=n;const s=e.ref(null),o=e.ref(""),u=e.ref(null),l=e.ref(null);n.onSessionTokenChange((e=>{o.value=e})),n.onUserChange((e=>{l.value=e}));const d=async()=>{s.value=!0,await n.refresh(),s.value=!1},c=e.computed((()=>null===s.value)),p=e.computed((()=>null===u.value));q.value=()=>new Promise(((t,r)=>{!o.value&&c.value&&d().catch(r),e.watch((()=>s.value),(()=>!s.value&&t(!!e.unref(o))),{immediate:!0})})),t.provide(a,{session:{fetchSession:d,isLoading:e.readonly(s),session:e.readonly(o),isFetchSessionWasNeverCalled:c},user:{fetchUser:async()=>{u.value=!0,await n.me(),u.value=!1},isLoading:e.readonly(u),user:e.readonly(l),isFetchUserWasNeverCalled:p},sdk:n,options:r})}};exports.AccessKeyManagement=_,exports.Descope=w,exports.RoleManagement=j,exports.UserManagement=S,exports.default=U,exports.getJwtPermissions=y,exports.getJwtRoles=v,exports.getRefreshToken=()=>u?g?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),exports.getSdk=()=>R,exports.getSessionToken=f,exports.routeGuard=()=>e.unref(q)?.(),exports.useDescope=c,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:r}=l(),n=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return n(),e.watch(r.session,n),{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$2: vue.DefineComponent<{
5
+ declare const _default$4: vue.DefineComponent<{
6
6
  flowId: {
7
7
  type: StringConstructor;
8
8
  required: true;
@@ -83,11 +83,87 @@ declare const _default$2: vue.DefineComponent<{
83
83
  autoFocus: boolean;
84
84
  }>;
85
85
 
86
+ declare const _default$3: vue.DefineComponent<{
87
+ tenant: {
88
+ type: StringConstructor;
89
+ required: true;
90
+ };
91
+ widgetId: {
92
+ type: StringConstructor;
93
+ required: true;
94
+ };
95
+ theme: {
96
+ type: StringConstructor;
97
+ };
98
+ debug: {
99
+ type: BooleanConstructor;
100
+ };
101
+ }, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
102
+ [key: string]: any;
103
+ }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
104
+ tenant: {
105
+ type: StringConstructor;
106
+ required: true;
107
+ };
108
+ widgetId: {
109
+ type: StringConstructor;
110
+ required: true;
111
+ };
112
+ theme: {
113
+ type: StringConstructor;
114
+ };
115
+ debug: {
116
+ type: BooleanConstructor;
117
+ };
118
+ }>>, {
119
+ debug: boolean;
120
+ }>;
121
+
122
+ declare const _default$2: vue.DefineComponent<{
123
+ tenant: {
124
+ type: StringConstructor;
125
+ required: true;
126
+ };
127
+ widgetId: {
128
+ type: StringConstructor;
129
+ required: true;
130
+ };
131
+ theme: {
132
+ type: StringConstructor;
133
+ };
134
+ debug: {
135
+ type: BooleanConstructor;
136
+ };
137
+ }, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
138
+ [key: string]: any;
139
+ }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
140
+ tenant: {
141
+ type: StringConstructor;
142
+ required: true;
143
+ };
144
+ widgetId: {
145
+ type: StringConstructor;
146
+ required: true;
147
+ };
148
+ theme: {
149
+ type: StringConstructor;
150
+ };
151
+ debug: {
152
+ type: BooleanConstructor;
153
+ };
154
+ }>>, {
155
+ debug: boolean;
156
+ }>;
157
+
86
158
  declare const _default$1: vue.DefineComponent<{
87
159
  tenant: {
88
160
  type: StringConstructor;
89
161
  required: true;
90
162
  };
163
+ widgetId: {
164
+ type: StringConstructor;
165
+ required: true;
166
+ };
91
167
  theme: {
92
168
  type: StringConstructor;
93
169
  };
@@ -101,6 +177,10 @@ declare const _default$1: vue.DefineComponent<{
101
177
  type: StringConstructor;
102
178
  required: true;
103
179
  };
180
+ widgetId: {
181
+ type: StringConstructor;
182
+ required: true;
183
+ };
104
184
  theme: {
105
185
  type: StringConstructor;
106
186
  };
@@ -2950,5 +3030,5 @@ declare const getRefreshToken: () => string;
2950
3030
  declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
2951
3031
  declare const getJwtRoles: (token?: any, tenant?: string) => string[];
2952
3032
 
2953
- export { _default$2 as Descope, _default$1 as UserManagement, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, routeGuard, useDescope, useSession, useUser };
3033
+ export { _default$1 as AccessKeyManagement, _default$4 as Descope, _default$2 as RoleManagement, _default$3 as UserManagement, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, routeGuard, useDescope, useSession, useUser };
2954
3034
  //# 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 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":"2.0.5"},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))}},b=()=>{const{user:t,session:r}=f(),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:g,autoRefresh:g});return w=s,s};w=k({projectId:"temp pid"});const R=()=>g?w?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),U=()=>g?w?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),T=S(((e=R(),s)=>w?.getJwtPermissions(e,s))),j=S(((e=R(),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","ready"],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=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),b=e=>t("ready",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(g),onSuccess:f,onError:h,onReady:b},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 D=()=>O;var I={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 g=async()=>{n.value=!0,await o.refresh(),n.value=!1},f=e((()=>null===n.value)),v=e((()=>null===c.value));q.value=()=>new Promise(((e,t)=>{!a.value&&f.value&&g().catch(t),s((()=>n.value),(()=>!n.value&&e(!!i(a))),{immediate:!0})})),t.provide(p,{session:{fetchSession:g,isLoading:u(n),session:u(a),isFetchSessionWasNeverCalled:f},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,I as default,T as getJwtPermissions,j as getJwtRoles,U as getRefreshToken,D as getSdk,R as getSessionToken,L as routeGuard,y as useDescope,h as useSession,b as useUser};
1
+ import{computed as e,watch as t,inject as s,defineComponent as n,openBlock as r,createElementBlock as o,createElementVNode as a,unref as i,ref as l,readonly as d}from"vue";import u from"@descope/web-component";import c from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";const p=Symbol("$descope"),g={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.0.7"},m="undefined"!=typeof window,y=()=>{const e=s(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},f=()=>y().options,v=()=>y().sdk,h=()=>{const{session:t}=y();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e((()=>!!t.session.value))}},b=()=>{const{user:s,session:n}=y(),r=()=>{!s.user.value&&n.session.value&&s.fetchUser()};return r(),t(n.session,r),{isLoading:e((()=>s.isLoading.value||s.isFetchUserWasNeverCalled.value)),user:s.user}},w=e=>(...t)=>{let s;try{s=e(...t)}catch(e){console.error(e)}return s};let S;const k=e=>{const t=c({...e,persistTokens:m,autoRefresh:m});return S=t,t};S=k({projectId:"temp pid"});const j=()=>m?S?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),_=()=>m?S?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),R=w(((e=j(),t)=>S?.getJwtPermissions(e,t))),U=w(((e=j(),t)=>S?.getJwtRoles(e,t))),I=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var q=n({__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","ready"],setup(t,{emit:s}){const n=t;u.sdkConfigOverrides={baseHeaders:g,persistTokens:!1,hooks:{get beforeRequest(){return S.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:l,baseUrl:d}=f(),c=v(),p=e((()=>n.form?JSON.stringify(n.form):"")),m=e((()=>n.client?JSON.stringify(n.client):"")),y=async e=>{await(c.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),s("success",e)},h=e=>s("error",e),b=e=>s("ready",e);return(e,s)=>(r(),o("div",null,[a("descope-wc",{"project-id":i(l),"base-url":i(d),"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":i(p),"^client":i(m),onSuccess:y,onError:h,onReady:b},null,40,I)]))}});q.__file="src/Descope.vue";const T=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var C=n({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:s}=f();return(n,l)=>(r(),o("div",null,[a("descope-user-management-widget",{"project-id":i(t),"base-url":i(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,T)]))}});C.__file="src/UserManagement.vue";const M=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var F=n({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:s}=f();return(n,l)=>(r(),o("div",null,[a("descope-role-management-widget",{"project-id":i(t),"base-url":i(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,M)]))}});F.__file="src/RoleManagement.vue";const N=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var K=n({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:s}=f();return(n,l)=>(r(),o("div",null,[a("descope-access-key-management-widget",{"project-id":i(t),"base-url":i(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,N)]))}});K.__file="src/AccessKeyManagement.vue";const L=l(null),O=()=>i(L)?.();let B;const D=()=>B;var J={install:function(s,n){const r=k({...n,persistTokens:!0,autoRefresh:!0,baseHeaders:g});B=r;const o=l(null),a=l(""),u=l(null),c=l(null);r.onSessionTokenChange((e=>{a.value=e})),r.onUserChange((e=>{c.value=e}));const m=async()=>{o.value=!0,await r.refresh(),o.value=!1},y=e((()=>null===o.value)),f=e((()=>null===u.value));L.value=()=>new Promise(((e,s)=>{!a.value&&y.value&&m().catch(s),t((()=>o.value),(()=>!o.value&&e(!!i(a))),{immediate:!0})})),s.provide(p,{session:{fetchSession:m,isLoading:d(o),session:d(a),isFetchSessionWasNeverCalled:y},user:{fetchUser:async()=>{u.value=!0,await r.me(),u.value=!1},isLoading:d(u),user:d(c),isFetchUserWasNeverCalled:f},sdk:r,options:n})}};export{K as AccessKeyManagement,q as Descope,F as RoleManagement,C as UserManagement,J as default,R as getJwtPermissions,U as getJwtRoles,_ as getRefreshToken,D as getSdk,j as getSessionToken,O as routeGuard,v as useDescope,h 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": "2.0.5",
3
+ "version": "2.0.7",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "type": "module",
@@ -20,7 +20,7 @@
20
20
  "dist"
21
21
  ],
22
22
  "scripts": {
23
- "start": "vue-cli-service serve",
23
+ "start": "vue-cli-service serve --port 3000",
24
24
  "build": "rollup -m -c rollup.config.js",
25
25
  "test": "vue-cli-service test:unit",
26
26
  "lint": "vue-cli-service lint",
@@ -37,8 +37,10 @@
37
37
  ]
38
38
  },
39
39
  "dependencies": {
40
- "@descope/user-management-widget": "0.0.9",
41
- "@descope/web-component": "3.8.2"
40
+ "@descope/user-management-widget": "0.4.23",
41
+ "@descope/role-management-widget": "0.1.22",
42
+ "@descope/access-key-management-widget": "0.1.22",
43
+ "@descope/web-component": "3.8.29"
42
44
  },
43
45
  "peerDependencies": {
44
46
  "vue": ">=3"