@descope/vue-sdk 2.5.1 → 2.7.0

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
@@ -55,6 +55,8 @@ app.mount('#app');
55
55
  <!-- form="{ email: 'test@domain.com' }" form is an object the initial form context that is used in screens inputs in the flow execution. Used to inject predifined input values on flow start such as custom inputs, custom attrbiutes and other inputs. Keys passed can be accessed in flows actions, conditions and screens prefixed with "form.". NOTE: form is not required. If not provided, 'form' context key will be empty before user input. -->
56
56
  <!-- client="{ version: '1.2.3' }" client is an object the initial client context in the flow execution. Keys passed can be accessed in flows actions and conditions prefixed with "client.". NOTE: client is not required. If not provided, context key will be empty. -->
57
57
  <!-- styleId="my-awesome-style" Use a custom style name or keep empty to use the default style. -->
58
+ <!-- nonce="rAnd0m" Set a CSP nonce that will be used for style and script tags -->
59
+ <!-- dismissScreenErrorOnInput=true Clear screen error message on user input -->
58
60
  </template>
59
61
 
60
62
  <script setup>
@@ -253,6 +255,7 @@ You can also use the following functions to assist with various actions managing
253
255
  `isRefreshTokenExpired(token = getRefreshToken())` - Check whether the current refresh token is expired. Provide a refresh token if is not persisted.
254
256
  `getJwtRoles(token = getSessionToken(), tenant = '')` - Get current roles from an existing session token. Provide tenant id for specific tenant roles.
255
257
  `getJwtPermissions(token = getSessionToken(), tenant = '')` - Fet current permissions from an existing session token. Provide tenant id for specific tenant permissions.
258
+ `getCurrentTenant(token = getSessionToken())` - Get current tenant id from an existing session token (from the `dct` claim).
256
259
 
257
260
  ### Refresh token lifecycle
258
261
 
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"),r=require("@descope/web-js-sdk");require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget"),require("@descope/audit-management-widget"),require("@descope/user-profile-widget"),require("@descope/applications-portal-widget");const n=Symbol("$descope"),s={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.5.1"},o="undefined"!=typeof window,a=()=>{const t=e.inject(n);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},i=()=>a().options,d=()=>a().sdk,l=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let u;const c=e=>{const t=r({persistTokens:o,storeLastAuthenticatedUser:o,...e,autoRefresh:o});return u=t,t};u=c({projectId:"temp pid"});const p=()=>o?u?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),g=()=>o?u?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),m=l(((e=p(),t)=>u?.getJwtPermissions(e,t))),b=l(((e=p(),t)=>u?.getJwtRoles(e,t)));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||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String}},emits:["success","error","ready"],setup(r,{emit:n}){(customElements?.get("descope-wc")||t).sdkConfigOverrides={baseHeaders:s,persistTokens:!1,hooks:{get beforeRequest(){return u.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const o=r,a=n,{projectId:l,baseUrl:c,baseStaticUrl:p,storeLastAuthenticatedUser:g,baseCdnUrl:m}=i(),b=d(),f=e.computed((()=>o.form?JSON.stringify(o.form):"")),y=e.computed((()=>o.client?JSON.stringify(o.client):"")),v=async e=>{await(b.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),a("success",e)},h=e=>a("error",e),w=e=>a("ready",e);return(t,n)=>{const s=e.resolveComponent("descope-wc");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{"project-id":e.unref(l),"base-url":e.unref(c),"base-static-url":e.unref(p),"base-cdn-url":e.unref(m),"flow-id":r.flowId,"^theme":r.theme,"^locale":r.locale,"^tenant":r.tenant,"^debug":r.debug,"^telemetryKey":r.telemetryKey,"redirect-url":r.redirectUrl,"auto-focus":r.autoFocus,"style-id":r.styleId,"validate-on-blur":r.validateOnBlur,"restart-on-error":r.restartOnError,"store-last-authenticated-user":e.unref(g),".errorTransformer":r.errorTransformer,".onScreenUpdate":r.onScreenUpdate,"^form":f.value,"^client":y.value,onSuccess:v,onError:h,onReady:w},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client"])])}}});f.__file="src/Descope.vue";var y=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,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-user-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});y.__file="src/UserManagement.vue";var v=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,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-role-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-cdn-url":e.unref(o),"base-static-url":e.unref(s),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});v.__file="src/RoleManagement.vue";var h=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-access-key-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});h.__file="src/AccessKeyManagement.vue";var w=e.defineComponent({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-audit-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});w.__file="src/AuditManagement.vue";var S=e.defineComponent({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(t,{emit:r}){const n=r,s=e=>n("logout",e),{projectId:o,baseUrl:a,baseStaticUrl:d,baseCdnUrl:l}=i();return(r,n)=>{const i=e.resolveComponent("descope-user-profile-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(o),"base-url":e.unref(a),"base-static-url":e.unref(d),"base-cdn-url":e.unref(l),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});S.__file="src/UserProfile.vue";var U=e.defineComponent({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-applications-portal-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});U.__file="src/ApplicationsPortal.vue";const k=e.ref(null);let C;var I={install:function(t,r){const o=c({persistTokens:!0,...r,autoRefresh:!0,baseHeaders:s});C=o;const a=e.ref(null),i=e.ref(""),d=e.ref(!1),l=e.ref(null),u=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onIsAuthenticatedChange((e=>{d.value=e})),o.onUserChange((e=>{u.value=e}));const p=async()=>{a.value=!0,await o.refresh(),a.value=!1},g=e.computed((()=>null===a.value)),m=e.computed((()=>null===l.value));k.value=()=>new Promise(((t,r)=>{!d.value&&g.value&&p().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(d))),{immediate:!0})})),t.provide(n,{session:{fetchSession:p,isLoading:e.readonly(a),session:e.readonly(i),isAuthenticated:e.readonly(d),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{l.value=!0,await o.me(),l.value=!1},isLoading:e.readonly(l),user:e.readonly(u),isFetchUserWasNeverCalled:m},sdk:o,options:r})}};exports.AccessKeyManagement=h,exports.ApplicationsPortal=U,exports.AuditManagement=w,exports.Descope=f,exports.RoleManagement=v,exports.UserManagement=y,exports.UserProfile=S,exports.default=I,exports.getJwtPermissions=m,exports.getJwtRoles=b,exports.getRefreshToken=g,exports.getSdk=()=>C,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=g())=>u?.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>u?.isJwtExpired(e),exports.routeGuard=()=>e.unref(k)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=a();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},exports.useUser=()=>{const{user:t,session:r}=a(),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}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),r=require("@descope/web-js-sdk");require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget"),require("@descope/audit-management-widget"),require("@descope/user-profile-widget"),require("@descope/applications-portal-widget");const n=Symbol("$descope"),s={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.7.0"},o="undefined"!=typeof window,a=()=>{const t=e.inject(n);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},i=()=>a().options,d=()=>a().sdk,u=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let l;const c=e=>{const t=r({persistTokens:o,storeLastAuthenticatedUser:o,...e,autoRefresh:o});return l=t,t};l=c({projectId:"temp pid"});const p=()=>o?l?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),g=()=>o?l?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),m=u(((e=p(),t)=>l?.getJwtPermissions(e,t))),b=u(((e=p(),t)=>l?.getJwtRoles(e,t))),f=u(((e=p())=>l?.getCurrentTenant(e)));var y=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||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean}},emits:["success","error","ready"],setup(r,{emit:n}){(customElements?.get("descope-wc")||t).sdkConfigOverrides={baseHeaders:s,persistTokens:!1,hooks:{get beforeRequest(){return l.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const o=r,a=n,{projectId:u,baseUrl:c,baseStaticUrl:p,storeLastAuthenticatedUser:g,baseCdnUrl:m}=i(),b=d(),f=e.computed((()=>o.form?JSON.stringify(o.form):"")),y=e.computed((()=>o.client?JSON.stringify(o.client):"")),v=async e=>{await(b.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),a("success",e)},h=e=>a("error",e),w=e=>a("ready",e);return(t,n)=>{const s=e.resolveComponent("descope-wc");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{"project-id":e.unref(u),"base-url":e.unref(c),"base-static-url":e.unref(p),"base-cdn-url":e.unref(m),"flow-id":r.flowId,"^theme":r.theme,"^locale":r.locale,"^tenant":r.tenant,"^debug":r.debug,"^telemetryKey":r.telemetryKey,"redirect-url":r.redirectUrl,"auto-focus":r.autoFocus,"style-id":r.styleId,"validate-on-blur":r.validateOnBlur,"restart-on-error":r.restartOnError,"store-last-authenticated-user":e.unref(g),".errorTransformer":r.errorTransformer,".onScreenUpdate":r.onScreenUpdate,"^form":f.value,"^client":y.value,"^nonce":r.nonce,"^dismiss-screen-error-on-input":r.dismissScreenErrorOnInput,onSuccess:v,onError:h,onReady:w},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input"])])}}});y.__file="src/Descope.vue";var v=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,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-user-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});v.__file="src/UserManagement.vue";var h=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,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-role-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-cdn-url":e.unref(o),"base-static-url":e.unref(s),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});h.__file="src/RoleManagement.vue";var w=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-access-key-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});w.__file="src/AccessKeyManagement.vue";var S=e.defineComponent({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-audit-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});S.__file="src/AuditManagement.vue";var U=e.defineComponent({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(t,{emit:r}){const n=r,s=e=>n("logout",e),{projectId:o,baseUrl:a,baseStaticUrl:d,baseCdnUrl:u}=i();return(r,n)=>{const i=e.resolveComponent("descope-user-profile-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(o),"base-url":e.unref(a),"base-static-url":e.unref(d),"base-cdn-url":e.unref(u),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});U.__file="src/UserProfile.vue";var k=e.defineComponent({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-applications-portal-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});k.__file="src/ApplicationsPortal.vue";const C=e.ref(null);let I;var _={install:function(t,r){const o=c({persistTokens:!0,...r,autoRefresh:!0,baseHeaders:s});I=o;const a=e.ref(null),i=e.ref(""),d=e.ref(!1),u=e.ref(null),l=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onIsAuthenticatedChange((e=>{d.value=e})),o.onUserChange((e=>{l.value=e}));const p=async()=>{a.value=!0,await o.refresh(),a.value=!1},g=e.computed((()=>null===a.value)),m=e.computed((()=>null===u.value));C.value=()=>new Promise(((t,r)=>{!d.value&&g.value&&p().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(d))),{immediate:!0})})),t.provide(n,{session:{fetchSession:p,isLoading:e.readonly(a),session:e.readonly(i),isAuthenticated:e.readonly(d),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{u.value=!0,await o.me(),u.value=!1},isLoading:e.readonly(u),user:e.readonly(l),isFetchUserWasNeverCalled:m},sdk:o,options:r})}};exports.AccessKeyManagement=w,exports.ApplicationsPortal=k,exports.AuditManagement=S,exports.Descope=y,exports.RoleManagement=h,exports.UserManagement=v,exports.UserProfile=U,exports.default=_,exports.getCurrentTenant=f,exports.getJwtPermissions=m,exports.getJwtRoles=b,exports.getRefreshToken=g,exports.getSdk=()=>I,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=g())=>l?.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>l?.isJwtExpired(e),exports.routeGuard=()=>e.unref(C)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=a();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},exports.useUser=()=>{const{user:t,session:r}=a(),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
@@ -50,6 +50,12 @@ declare const _default$7: vue.DefineComponent<{
50
50
  styleId: {
51
51
  type: StringConstructor;
52
52
  };
53
+ nonce: {
54
+ type: StringConstructor;
55
+ };
56
+ dismissScreenErrorOnInput: {
57
+ type: BooleanConstructor;
58
+ };
53
59
  }, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
54
60
  [key: string]: any;
55
61
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, ("success" | "error" | "ready")[], "success" | "error" | "ready", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
@@ -99,6 +105,12 @@ declare const _default$7: vue.DefineComponent<{
99
105
  styleId: {
100
106
  type: StringConstructor;
101
107
  };
108
+ nonce: {
109
+ type: StringConstructor;
110
+ };
111
+ dismissScreenErrorOnInput: {
112
+ type: BooleanConstructor;
113
+ };
102
114
  }>> & {
103
115
  onSuccess?: (...args: any[]) => any;
104
116
  onError?: (...args: any[]) => any;
@@ -107,6 +119,7 @@ declare const _default$7: vue.DefineComponent<{
107
119
  debug: boolean;
108
120
  validateOnBlur: boolean;
109
121
  restartOnError: boolean;
122
+ dismissScreenErrorOnInput: boolean;
110
123
  }, {}>;
111
124
 
112
125
  declare const _default$6: vue.DefineComponent<{
@@ -906,6 +919,7 @@ declare const useDescope: () => ((({
906
919
  getTenants: (token: string) => string[];
907
920
  getJwtPermissions: (token: string, tenant?: string) => string[];
908
921
  getJwtRoles: (token: string, tenant?: string) => string[];
922
+ getCurrentTenant: (token: string) => string;
909
923
  httpClient: {
910
924
  get: (path: string, config?: {
911
925
  headers?: HeadersInit;
@@ -1516,6 +1530,7 @@ declare const useDescope: () => ((({
1516
1530
  getTenants: (token: string) => string[];
1517
1531
  getJwtPermissions: (token: string, tenant?: string) => string[];
1518
1532
  getJwtRoles: (token: string, tenant?: string) => string[];
1533
+ getCurrentTenant: (token: string) => string;
1519
1534
  httpClient: {
1520
1535
  get: (path: string, config?: {
1521
1536
  headers?: HeadersInit;
@@ -2133,6 +2148,7 @@ declare const useDescope: () => ((({
2133
2148
  getTenants: (token: string) => string[];
2134
2149
  getJwtPermissions: (token: string, tenant?: string) => string[];
2135
2150
  getJwtRoles: (token: string, tenant?: string) => string[];
2151
+ getCurrentTenant: (token: string) => string;
2136
2152
  httpClient: {
2137
2153
  get: (path: string, config?: {
2138
2154
  headers?: HeadersInit;
@@ -2743,6 +2759,7 @@ declare const useDescope: () => ((({
2743
2759
  getTenants: (token: string) => string[];
2744
2760
  getJwtPermissions: (token: string, tenant?: string) => string[];
2745
2761
  getJwtRoles: (token: string, tenant?: string) => string[];
2762
+ getCurrentTenant: (token: string) => string;
2746
2763
  httpClient: {
2747
2764
  get: (path: string, config?: {
2748
2765
  headers?: HeadersInit;
@@ -3380,6 +3397,7 @@ declare const getSdk: () => ((({
3380
3397
  getTenants: (token: string) => string[];
3381
3398
  getJwtPermissions: (token: string, tenant?: string) => string[];
3382
3399
  getJwtRoles: (token: string, tenant?: string) => string[];
3400
+ getCurrentTenant: (token: string) => string;
3383
3401
  httpClient: {
3384
3402
  get: (path: string, config?: {
3385
3403
  headers?: HeadersInit;
@@ -3990,6 +4008,7 @@ declare const getSdk: () => ((({
3990
4008
  getTenants: (token: string) => string[];
3991
4009
  getJwtPermissions: (token: string, tenant?: string) => string[];
3992
4010
  getJwtRoles: (token: string, tenant?: string) => string[];
4011
+ getCurrentTenant: (token: string) => string;
3993
4012
  httpClient: {
3994
4013
  get: (path: string, config?: {
3995
4014
  headers?: HeadersInit;
@@ -4607,6 +4626,7 @@ declare const getSdk: () => ((({
4607
4626
  getTenants: (token: string) => string[];
4608
4627
  getJwtPermissions: (token: string, tenant?: string) => string[];
4609
4628
  getJwtRoles: (token: string, tenant?: string) => string[];
4629
+ getCurrentTenant: (token: string) => string;
4610
4630
  httpClient: {
4611
4631
  get: (path: string, config?: {
4612
4632
  headers?: HeadersInit;
@@ -5217,6 +5237,7 @@ declare const getSdk: () => ((({
5217
5237
  getTenants: (token: string) => string[];
5218
5238
  getJwtPermissions: (token: string, tenant?: string) => string[];
5219
5239
  getJwtRoles: (token: string, tenant?: string) => string[];
5240
+ getCurrentTenant: (token: string) => string;
5220
5241
  httpClient: {
5221
5242
  get: (path: string, config?: {
5222
5243
  headers?: HeadersInit;
@@ -5283,5 +5304,6 @@ declare const isSessionTokenExpired: (token?: string) => boolean;
5283
5304
  declare const isRefreshTokenExpired: (token?: string) => boolean;
5284
5305
  declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
5285
5306
  declare const getJwtRoles: (token?: any, tenant?: string) => string[];
5307
+ declare const getCurrentTenant: (token?: any) => string;
5286
5308
 
5287
- export { _default$4 as AccessKeyManagement, _default$1 as ApplicationsPortal, _default$3 as AuditManagement, _default$7 as Descope, _default$5 as RoleManagement, _default$6 as UserManagement, _default$2 as UserProfile, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, isRefreshTokenExpired, isSessionTokenExpired, routeGuard, useDescope, useSession, useUser };
5309
+ export { _default$4 as AccessKeyManagement, _default$1 as ApplicationsPortal, _default$3 as AuditManagement, _default$7 as Descope, _default$5 as RoleManagement, _default$6 as UserManagement, _default$2 as UserProfile, _default as default, getCurrentTenant, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, isRefreshTokenExpired, isSessionTokenExpired, routeGuard, useDescope, useSession, useUser };
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{computed as e,watch as t,inject as r,defineComponent as s,resolveComponent as n,openBlock as a,createElementBlock as i,createVNode as o,unref as d,withCtx as l,renderSlot as u,ref as c,readonly as p}from"vue";import g from"@descope/web-component";import m from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";import"@descope/audit-management-widget";import"@descope/user-profile-widget";import"@descope/applications-portal-widget";const b=Symbol("$descope"),y={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.5.1"},h="undefined"!=typeof window,v=()=>{const e=r(b);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},w=()=>v().options,f=()=>v().sdk,S=()=>{const{session:t}=v();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},U=()=>{const{user:r,session:s}=v(),n=()=>{!r.user.value&&s.session.value&&r.fetchUser()};return n(),t(s.session,n),{isLoading:e((()=>r.isLoading.value||r.isFetchUserWasNeverCalled.value)),user:r.user}},I=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let _;const j=e=>{const t=m({persistTokens:h,storeLastAuthenticatedUser:h,...e,autoRefresh:h});return _=t,t};_=j({projectId:"temp pid"});const k=()=>h?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>h?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),q=(e=k())=>_?.isJwtExpired(e),A=(e=C())=>_?.isJwtExpired(e),R=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),M=I(((e=k(),t)=>_?.getJwtRoles(e,t)));var B=s({__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||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String}},emits:["success","error","ready"],setup(t,{emit:r}){(customElements?.get("descope-wc")||g).sdkConfigOverrides={baseHeaders:y,persistTokens:!1,hooks:{get beforeRequest(){return _.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const s=t,c=r,{projectId:p,baseUrl:m,baseStaticUrl:b,storeLastAuthenticatedUser:h,baseCdnUrl:v}=w(),S=f(),U=e((()=>s.form?JSON.stringify(s.form):"")),I=e((()=>s.client?JSON.stringify(s.client):"")),j=async e=>{await(S.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),c("success",e)},k=e=>c("error",e),C=e=>c("ready",e);return(e,r)=>{const s=n("descope-wc");return a(),i("div",null,[o(s,{"project-id":d(p),"base-url":d(m),"base-static-url":d(b),"base-cdn-url":d(v),"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,"style-id":t.styleId,"validate-on-blur":t.validateOnBlur,"restart-on-error":t.restartOnError,"store-last-authenticated-user":d(h),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":U.value,"^client":I.value,onSuccess:j,onError:k,onReady:C},{default:l((()=>[u(e.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client"])])}}});B.__file="src/Descope.vue";var T=s({__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:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-user-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});T.__file="src/UserManagement.vue";var O=s({__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:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-role-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-cdn-url":d(l),"base-static-url":d(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});O.__file="src/RoleManagement.vue";var F=s({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-access-key-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});F.__file="src/AccessKeyManagement.vue";var L=s({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-audit-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});L.__file="src/AuditManagement.vue";var N=s({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(e,{emit:t}){const r=t,s=e=>r("logout",e),{projectId:l,baseUrl:u,baseStaticUrl:c,baseCdnUrl:p}=w();return(t,r)=>{const g=n("descope-user-profile-widget");return a(),i("div",null,[o(g,{"project-id":d(l),"base-url":d(u),"base-static-url":d(c),"base-cdn-url":d(p),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});N.__file="src/UserProfile.vue";var P=s({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-applications-portal-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});P.__file="src/ApplicationsPortal.vue";const E=c(null),J=()=>d(E)?.();let K;const x=()=>K;var D={install:function(r,s){const n=j({persistTokens:!0,...s,autoRefresh:!0,baseHeaders:y});K=n;const a=c(null),i=c(""),o=c(!1),l=c(null),u=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onIsAuthenticatedChange((e=>{o.value=e})),n.onUserChange((e=>{u.value=e}));const g=async()=>{a.value=!0,await n.refresh(),a.value=!1},m=e((()=>null===a.value)),h=e((()=>null===l.value));E.value=()=>new Promise(((e,r)=>{!o.value&&m.value&&g().catch(r),t((()=>a.value),(()=>!a.value&&e(!!d(o))),{immediate:!0})})),r.provide(b,{session:{fetchSession:g,isLoading:p(a),session:p(i),isAuthenticated:p(o),isFetchSessionWasNeverCalled:m},user:{fetchUser:async()=>{l.value=!0,await n.me(),l.value=!1},isLoading:p(l),user:p(u),isFetchUserWasNeverCalled:h},sdk:n,options:s})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,B as Descope,O as RoleManagement,T as UserManagement,N as UserProfile,D as default,R as getJwtPermissions,M as getJwtRoles,C as getRefreshToken,x as getSdk,k as getSessionToken,A as isRefreshTokenExpired,q as isSessionTokenExpired,J as routeGuard,f as useDescope,S as useSession,U as useUser};
1
+ import{computed as e,watch as t,inject as r,defineComponent as s,resolveComponent as n,openBlock as a,createElementBlock as i,createVNode as o,unref as d,withCtx as l,renderSlot as u,ref as c,readonly as p}from"vue";import g from"@descope/web-component";import m from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";import"@descope/audit-management-widget";import"@descope/user-profile-widget";import"@descope/applications-portal-widget";const b=Symbol("$descope"),y={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.7.0"},h="undefined"!=typeof window,v=()=>{const e=r(b);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},w=()=>v().options,S=()=>v().sdk,f=()=>{const{session:t}=v();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},U=()=>{const{user:r,session:s}=v(),n=()=>{!r.user.value&&s.session.value&&r.fetchUser()};return n(),t(s.session,n),{isLoading:e((()=>r.isLoading.value||r.isFetchUserWasNeverCalled.value)),user:r.user}},I=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let _;const j=e=>{const t=m({persistTokens:h,storeLastAuthenticatedUser:h,...e,autoRefresh:h});return _=t,t};_=j({projectId:"temp pid"});const k=()=>h?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>h?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),q=(e=k())=>_?.isJwtExpired(e),A=(e=C())=>_?.isJwtExpired(e),R=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),B=I(((e=k(),t)=>_?.getJwtRoles(e,t))),M=I(((e=k())=>_?.getCurrentTenant(e)));var O=s({__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||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean}},emits:["success","error","ready"],setup(t,{emit:r}){(customElements?.get("descope-wc")||g).sdkConfigOverrides={baseHeaders:y,persistTokens:!1,hooks:{get beforeRequest(){return _.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const s=t,c=r,{projectId:p,baseUrl:m,baseStaticUrl:b,storeLastAuthenticatedUser:h,baseCdnUrl:v}=w(),f=S(),U=e((()=>s.form?JSON.stringify(s.form):"")),I=e((()=>s.client?JSON.stringify(s.client):"")),j=async e=>{await(f.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),c("success",e)},k=e=>c("error",e),C=e=>c("ready",e);return(e,r)=>{const s=n("descope-wc");return a(),i("div",null,[o(s,{"project-id":d(p),"base-url":d(m),"base-static-url":d(b),"base-cdn-url":d(v),"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,"style-id":t.styleId,"validate-on-blur":t.validateOnBlur,"restart-on-error":t.restartOnError,"store-last-authenticated-user":d(h),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":U.value,"^client":I.value,"^nonce":t.nonce,"^dismiss-screen-error-on-input":t.dismissScreenErrorOnInput,onSuccess:j,onError:k,onReady:C},{default:l((()=>[u(e.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input"])])}}});O.__file="src/Descope.vue";var T=s({__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:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-user-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});T.__file="src/UserManagement.vue";var E=s({__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:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-role-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-cdn-url":d(l),"base-static-url":d(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});E.__file="src/RoleManagement.vue";var F=s({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-access-key-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});F.__file="src/AccessKeyManagement.vue";var L=s({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-audit-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});L.__file="src/AuditManagement.vue";var N=s({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(e,{emit:t}){const r=t,s=e=>r("logout",e),{projectId:l,baseUrl:u,baseStaticUrl:c,baseCdnUrl:p}=w();return(t,r)=>{const g=n("descope-user-profile-widget");return a(),i("div",null,[o(g,{"project-id":d(l),"base-url":d(u),"base-static-url":d(c),"base-cdn-url":d(p),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});N.__file="src/UserProfile.vue";var P=s({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-applications-portal-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});P.__file="src/ApplicationsPortal.vue";const J=c(null),K=()=>d(J)?.();let x;const D=()=>x;var W={install:function(r,s){const n=j({persistTokens:!0,...s,autoRefresh:!0,baseHeaders:y});x=n;const a=c(null),i=c(""),o=c(!1),l=c(null),u=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onIsAuthenticatedChange((e=>{o.value=e})),n.onUserChange((e=>{u.value=e}));const g=async()=>{a.value=!0,await n.refresh(),a.value=!1},m=e((()=>null===a.value)),h=e((()=>null===l.value));J.value=()=>new Promise(((e,r)=>{!o.value&&m.value&&g().catch(r),t((()=>a.value),(()=>!a.value&&e(!!d(o))),{immediate:!0})})),r.provide(b,{session:{fetchSession:g,isLoading:p(a),session:p(i),isAuthenticated:p(o),isFetchSessionWasNeverCalled:m},user:{fetchUser:async()=>{l.value=!0,await n.me(),l.value=!1},isLoading:p(l),user:p(u),isFetchUserWasNeverCalled:h},sdk:n,options:s})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,O as Descope,E as RoleManagement,T as UserManagement,N as UserProfile,W as default,M as getCurrentTenant,R as getJwtPermissions,B as getJwtRoles,C as getRefreshToken,D as getSdk,k as getSessionToken,A as isRefreshTokenExpired,q as isSessionTokenExpired,K as routeGuard,S as useDescope,f as useSession,U 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.5.1",
3
+ "version": "2.7.0",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "type": "module",
@@ -25,15 +25,15 @@
25
25
  ]
26
26
  },
27
27
  "dependencies": {
28
- "@descope/access-key-management-widget": "0.4.3",
29
- "@descope/audit-management-widget": "0.4.3",
30
- "@descope/role-management-widget": "0.3.3",
31
- "@descope/user-management-widget": "0.7.3",
32
- "@descope/user-profile-widget": "0.3.4",
33
- "@descope/applications-portal-widget": "0.3.3",
34
- "@descope/web-component": "3.38.1",
35
- "@descope/core-js-sdk": "2.37.0",
36
- "@descope/web-js-sdk": "1.26.1"
28
+ "@descope/access-key-management-widget": "0.4.5",
29
+ "@descope/audit-management-widget": "0.4.5",
30
+ "@descope/user-management-widget": "0.7.5",
31
+ "@descope/user-profile-widget": "0.4.0",
32
+ "@descope/role-management-widget": "0.3.5",
33
+ "@descope/applications-portal-widget": "0.3.5",
34
+ "@descope/web-js-sdk": "1.26.2",
35
+ "@descope/core-js-sdk": "2.38.0",
36
+ "@descope/web-component": "3.39.0"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "vue": ">=3"