@descope/vue-sdk 3.1.3 → 3.1.5

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"),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":"3.1.3"},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,l=()=>a().sdk,d=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,autoRefresh:o,...e});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=d(((e=p(),t)=>u?.getJwtPermissions(e,t))),y=d(((e=p(),t)=>u?.getJwtRoles(e,t))),b=d(((e=p())=>u?.getCurrentTenant(e)));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},sendSessionToken:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},themeOverride:{type:Object},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean},popupOrigin:{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:d,baseUrl:c,baseStaticUrl:p,storeLastAuthenticatedUser:g,baseCdnUrl:m,customStorage:y}=i(),b=l(),f=e.computed((()=>o.form?JSON.stringify(o.form):"")),v=e.computed((()=>o.client?JSON.stringify(o.client):"")),S=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(d),"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,"therme-override":r.themeOverride,"validate-on-blur":r.validateOnBlur,"restart-on-error":r.restartOnError,"send-session-token":r.sendSessionToken,"store-last-authenticated-user":e.unref(g),".customStorage":e.unref(y),".errorTransformer":r.errorTransformer,".onScreenUpdate":r.onScreenUpdate,"^form":f.value,"^client":v.value,"^nonce":r.nonce,"^dismiss-screen-error-on-input":r.dismissScreenErrorOnInput,"^popup-origin":r.popupOrigin,onSuccess:S,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","therme-override","validate-on-blur","restart-on-error","send-session-token","store-last-authenticated-user",".customStorage",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input","^popup-origin"])])}}});f.__file="src/Descope.vue";var v=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-user-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});v.__file="src/UserManagement.vue";var S=e.defineComponent({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-role-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-cdn-url":e.unref(l),"base-static-url":e.unref(a),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});S.__file="src/RoleManagement.vue";var h=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-access-key-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-audit-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});w.__file="src/AuditManagement.vue";var k=e.defineComponent({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["logout","ready"],setup(t,{emit:r}){const s=e.inject(n),o=r,a=e=>{s?.resetAuth(),o("logout",e)},l=e=>o("ready",e),{projectId:d,baseUrl:u,baseStaticUrl:c,baseCdnUrl:p}=i();return(r,n)=>{const s=e.resolveComponent("descope-user-profile-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{"project-id":e.unref(d),"base-url":e.unref(u),"base-static-url":e.unref(c),"base-cdn-url":e.unref(p),"^theme":t.theme,"^locale":t.locale,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onLogout:a,onReady:l},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});k.__file="src/UserProfile.vue";var U=e.defineComponent({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-applications-portal-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});U.__file="src/ApplicationsPortal.vue";const I=e.ref(null);let C;var _={install:function(t,r){const o=c({persistTokens:!0,autoRefresh:!0,...r,baseHeaders:s});C=o;const a=e.ref(null),i=e.ref(""),l=e.ref(),d=e.ref(!1),u=e.ref(null),p=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onClaimsChange((e=>{l.value=e})),o.onIsAuthenticatedChange((e=>{d.value=e})),o.onUserChange((e=>{p.value=e}));const g=async e=>{"undefined"!=typeof window&&window.descopeBridge||(a.value=!0,await o.refresh(void 0,e),a.value=!1)},m=e.computed((()=>null===a.value)),y=e.computed((()=>null===u.value));I.value=()=>new Promise(((t,r)=>{!d.value&&m.value&&g().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(d))),{immediate:!0})})),t.provide(n,{session:{fetchSession:g,isLoading:e.readonly(a),session:e.readonly(i),claims:e.readonly(l),isAuthenticated:e.readonly(d),isFetchSessionWasNeverCalled:m},user:{fetchUser:async()=>{u.value=!0,await o.me(),u.value=!1},isLoading:e.readonly(u),user:e.readonly(p),isFetchUserWasNeverCalled:y},sdk:o,options:r,resetAuth:function(){i.value="",d.value=!1,p.value=null}})}};exports.AccessKeyManagement=h,exports.ApplicationsPortal=U,exports.AuditManagement=w,exports.Descope=f,exports.RoleManagement=S,exports.UserManagement=v,exports.UserProfile=k,exports.default=_,exports.getCurrentTenant=b,exports.getJwtPermissions=m,exports.getJwtRoles=y,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(I)?.(),exports.useDescope=l,exports.useSession=()=>{const{session:t}=a();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(!0),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,claims:t.claims,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":"3.1.5"},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,l=()=>a().sdk,d=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,autoRefresh:o,...e});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=d(((e=p(),t)=>u?.getJwtPermissions(e,t))),y=d(((e=p(),t)=>u?.getJwtRoles(e,t))),b=d(((e=p())=>u?.getCurrentTenant(e)));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},sendSessionToken:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},themeOverride:{type:Object},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean},popupOrigin:{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:d,baseUrl:c,baseStaticUrl:p,storeLastAuthenticatedUser:g,baseCdnUrl:m,customStorage:y}=i(),b=l(),f=e.computed((()=>o.form?JSON.stringify(o.form):"")),v=e.computed((()=>o.client?JSON.stringify(o.client):"")),S=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(d),"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,"therme-override":r.themeOverride,"validate-on-blur":r.validateOnBlur,"restart-on-error":r.restartOnError,"send-session-token":r.sendSessionToken,"store-last-authenticated-user":e.unref(g),".customStorage":e.unref(y),".errorTransformer":r.errorTransformer,".onScreenUpdate":r.onScreenUpdate,"^form":f.value,"^client":v.value,"^nonce":r.nonce,"^dismiss-screen-error-on-input":r.dismissScreenErrorOnInput,"^popup-origin":r.popupOrigin,onSuccess:S,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","therme-override","validate-on-blur","restart-on-error","send-session-token","store-last-authenticated-user",".customStorage",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input","^popup-origin"])])}}});f.__file="src/Descope.vue";var v=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-user-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});v.__file="src/UserManagement.vue";var S=e.defineComponent({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-role-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-cdn-url":e.unref(l),"base-static-url":e.unref(a),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});S.__file="src/RoleManagement.vue";var h=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-access-key-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-audit-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});w.__file="src/AuditManagement.vue";var k=e.defineComponent({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["logout","ready"],setup(t,{emit:r}){const s=e.inject(n),o=r,a=e=>{s?.resetAuth(),o("logout",e)},l=e=>o("ready",e),{projectId:d,baseUrl:u,baseStaticUrl:c,baseCdnUrl:p}=i();return(r,n)=>{const s=e.resolveComponent("descope-user-profile-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{"project-id":e.unref(d),"base-url":e.unref(u),"base-static-url":e.unref(c),"base-cdn-url":e.unref(p),"^theme":t.theme,"^locale":t.locale,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onLogout:a,onReady:l},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});k.__file="src/UserProfile.vue";var U=e.defineComponent({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(t,{emit:r}){const n=r,{projectId:s,baseUrl:o,baseStaticUrl:a,baseCdnUrl:l}=i(),d=e=>n("ready",e);return(r,n)=>{const i=e.resolveComponent("descope-applications-portal-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(s),"base-url":e.unref(o),"base-static-url":e.unref(a),"base-cdn-url":e.unref(l),"^theme":t.theme,"^locale":t.locale,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId,onReady:d},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});U.__file="src/ApplicationsPortal.vue";const I=e.ref(null);let C;var _={install:function(t,r){const o=c({persistTokens:!0,autoRefresh:!0,...r,baseHeaders:s});C=o;const a=e.ref(null),i=e.ref(""),l=e.ref(),d=e.ref(!1),u=e.ref(null),p=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onClaimsChange((e=>{l.value=e})),o.onIsAuthenticatedChange((e=>{d.value=e})),o.onUserChange((e=>{p.value=e}));const g=async e=>{"undefined"!=typeof window&&window.descopeBridge||(a.value=!0,await o.refresh(void 0,e),a.value=!1)},m=e.computed((()=>null===a.value)),y=e.computed((()=>null===u.value));I.value=()=>new Promise(((t,r)=>{!d.value&&m.value&&g().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(d))),{immediate:!0})})),t.provide(n,{session:{fetchSession:g,isLoading:e.readonly(a),session:e.readonly(i),claims:e.readonly(l),isAuthenticated:e.readonly(d),isFetchSessionWasNeverCalled:m},user:{fetchUser:async()=>{u.value=!0,await o.me(),u.value=!1},isLoading:e.readonly(u),user:e.readonly(p),isFetchUserWasNeverCalled:y},sdk:o,options:r,resetAuth:function(){i.value="",d.value=!1,p.value=null}})}};exports.AccessKeyManagement=h,exports.ApplicationsPortal=U,exports.AuditManagement=w,exports.Descope=f,exports.RoleManagement=S,exports.UserManagement=v,exports.UserProfile=k,exports.default=_,exports.getCurrentTenant=b,exports.getJwtPermissions=m,exports.getJwtRoles=y,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(I)?.(),exports.useDescope=l,exports.useSession=()=>{const{session:t}=a();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(!0),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,claims:t.claims,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
@@ -458,6 +458,15 @@ declare const useDescope: () => (((({
458
458
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
459
459
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
460
460
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
461
+ event: (executionId: string, events: {
462
+ id: string;
463
+ field: string;
464
+ rule: string;
465
+ message: string;
466
+ screenId: string;
467
+ screenName: string;
468
+ ts: number;
469
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
461
470
  };
462
471
  webauthn: {
463
472
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -1177,6 +1186,15 @@ declare const useDescope: () => (((({
1177
1186
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
1178
1187
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
1179
1188
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1189
+ event: (executionId: string, events: {
1190
+ id: string;
1191
+ field: string;
1192
+ rule: string;
1193
+ message: string;
1194
+ screenId: string;
1195
+ screenName: string;
1196
+ ts: number;
1197
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
1180
1198
  };
1181
1199
  webauthn: {
1182
1200
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -1896,6 +1914,15 @@ declare const useDescope: () => (((({
1896
1914
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
1897
1915
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
1898
1916
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1917
+ event: (executionId: string, events: {
1918
+ id: string;
1919
+ field: string;
1920
+ rule: string;
1921
+ message: string;
1922
+ screenId: string;
1923
+ screenName: string;
1924
+ ts: number;
1925
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
1899
1926
  };
1900
1927
  webauthn: {
1901
1928
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -2625,6 +2652,15 @@ declare const useDescope: () => (((({
2625
2652
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
2626
2653
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
2627
2654
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
2655
+ event: (executionId: string, events: {
2656
+ id: string;
2657
+ field: string;
2658
+ rule: string;
2659
+ message: string;
2660
+ screenId: string;
2661
+ screenName: string;
2662
+ ts: number;
2663
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
2628
2664
  };
2629
2665
  webauthn: {
2630
2666
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -3344,6 +3380,15 @@ declare const useDescope: () => (((({
3344
3380
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
3345
3381
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
3346
3382
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
3383
+ event: (executionId: string, events: {
3384
+ id: string;
3385
+ field: string;
3386
+ rule: string;
3387
+ message: string;
3388
+ screenId: string;
3389
+ screenName: string;
3390
+ ts: number;
3391
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
3347
3392
  };
3348
3393
  webauthn: {
3349
3394
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -4063,6 +4108,15 @@ declare const useDescope: () => (((({
4063
4108
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
4064
4109
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
4065
4110
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
4111
+ event: (executionId: string, events: {
4112
+ id: string;
4113
+ field: string;
4114
+ rule: string;
4115
+ message: string;
4116
+ screenId: string;
4117
+ screenName: string;
4118
+ ts: number;
4119
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
4066
4120
  };
4067
4121
  webauthn: {
4068
4122
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -4814,6 +4868,15 @@ declare const getSdk: () => (((({
4814
4868
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
4815
4869
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
4816
4870
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
4871
+ event: (executionId: string, events: {
4872
+ id: string;
4873
+ field: string;
4874
+ rule: string;
4875
+ message: string;
4876
+ screenId: string;
4877
+ screenName: string;
4878
+ ts: number;
4879
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
4817
4880
  };
4818
4881
  webauthn: {
4819
4882
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -5533,6 +5596,15 @@ declare const getSdk: () => (((({
5533
5596
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
5534
5597
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
5535
5598
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
5599
+ event: (executionId: string, events: {
5600
+ id: string;
5601
+ field: string;
5602
+ rule: string;
5603
+ message: string;
5604
+ screenId: string;
5605
+ screenName: string;
5606
+ ts: number;
5607
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
5536
5608
  };
5537
5609
  webauthn: {
5538
5610
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -6252,6 +6324,15 @@ declare const getSdk: () => (((({
6252
6324
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
6253
6325
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
6254
6326
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
6327
+ event: (executionId: string, events: {
6328
+ id: string;
6329
+ field: string;
6330
+ rule: string;
6331
+ message: string;
6332
+ screenId: string;
6333
+ screenName: string;
6334
+ ts: number;
6335
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
6255
6336
  };
6256
6337
  webauthn: {
6257
6338
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -6981,6 +7062,15 @@ declare const getSdk: () => (((({
6981
7062
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
6982
7063
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
6983
7064
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
7065
+ event: (executionId: string, events: {
7066
+ id: string;
7067
+ field: string;
7068
+ rule: string;
7069
+ message: string;
7070
+ screenId: string;
7071
+ screenName: string;
7072
+ ts: number;
7073
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
6984
7074
  };
6985
7075
  webauthn: {
6986
7076
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -7700,6 +7790,15 @@ declare const getSdk: () => (((({
7700
7790
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
7701
7791
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
7702
7792
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
7793
+ event: (executionId: string, events: {
7794
+ id: string;
7795
+ field: string;
7796
+ rule: string;
7797
+ message: string;
7798
+ screenId: string;
7799
+ screenName: string;
7800
+ ts: number;
7801
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
7703
7802
  };
7704
7803
  webauthn: {
7705
7804
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -8419,6 +8518,15 @@ declare const getSdk: () => (((({
8419
8518
  next: (executionId: string, stepId: string, interactionId: string, version?: number, componentsVersion?: string, input?: {
8420
8519
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any[])[])[])[])[])[])[])[])[])[])[];
8421
8520
  }, isCustomScreen?: any, options?: _descope_core_js_sdk.FlowNextOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
8521
+ event: (executionId: string, events: {
8522
+ id: string;
8523
+ field: string;
8524
+ rule: string;
8525
+ message: string;
8526
+ screenId: string;
8527
+ screenName: string;
8528
+ ts: number;
8529
+ }[], keepalive?: boolean) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
8422
8530
  };
8423
8531
  webauthn: {
8424
8532
  signUp: ((identifier: string, name: string, passkeyOptions?: _descope_core_js_sdk.PasskeyOptions) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
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 l,withCtx as d,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 y=Symbol("$descope"),b={"x-descope-sdk-name":"vue","x-descope-sdk-version":"3.1.3"},S="undefined"!=typeof window,h=()=>{const e=r(y);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>h().options,w=()=>h().sdk,f=()=>{const{session:t}=h();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(!0),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,claims:t.claims,isAuthenticated:t.isAuthenticated}},U=()=>{const{user:r,session:s}=h(),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:S,storeLastAuthenticatedUser:S,autoRefresh:S,...e});return _=t,t};_=j({projectId:"temp pid"});const k=()=>S?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>S?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),R=(e=k())=>_?.isJwtExpired(e),A=(e=C())=>_?.isJwtExpired(e),O=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),q=I(((e=k(),t)=>_?.getJwtRoles(e,t))),B=I(((e=k())=>_?.getCurrentTenant(e)));var T=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},sendSessionToken:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},themeOverride:{type:Object},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean},popupOrigin:{type:String}},emits:["success","error","ready"],setup(t,{emit:r}){(customElements?.get("descope-wc")||g).sdkConfigOverrides={baseHeaders:b,persistTokens:!1,hooks:{get beforeRequest(){return _.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const s=t,c=r,{projectId:p,baseUrl:m,baseStaticUrl:y,storeLastAuthenticatedUser:S,baseCdnUrl:h,customStorage:f}=v(),U=w(),I=e((()=>s.form?JSON.stringify(s.form):"")),j=e((()=>s.client?JSON.stringify(s.client):"")),k=async e=>{await(U.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),c("success",e)},C=e=>c("error",e),R=e=>c("ready",e);return(e,r)=>{const s=n("descope-wc");return a(),i("div",null,[o(s,{"project-id":l(p),"base-url":l(m),"base-static-url":l(y),"base-cdn-url":l(h),"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,"therme-override":t.themeOverride,"validate-on-blur":t.validateOnBlur,"restart-on-error":t.restartOnError,"send-session-token":t.sendSessionToken,"store-last-authenticated-user":l(S),".customStorage":l(f),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":I.value,"^client":j.value,"^nonce":t.nonce,"^dismiss-screen-error-on-input":t.dismissScreenErrorOnInput,"^popup-origin":t.popupOrigin,onSuccess:k,onError:C,onReady:R},{default:d((()=>[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","therme-override","validate-on-blur","restart-on-error","send-session-token","store-last-authenticated-user",".customStorage",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input","^popup-origin"])])}}});T.__file="src/Descope.vue";var M=s({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-user-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});M.__file="src/UserManagement.vue";var E=s({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-role-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-cdn-url":l(c),"base-static-url":l(u),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^locale","^tenant","^debug","widget-id","style-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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-access-key-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-audit-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["logout","ready"],setup(e,{emit:t}){const s=r(y),d=t,u=e=>{s?.resetAuth(),d("logout",e)},c=e=>d("ready",e),{projectId:p,baseUrl:g,baseStaticUrl:m,baseCdnUrl:b}=v();return(t,r)=>{const s=n("descope-user-profile-widget");return a(),i("div",null,[o(s,{"project-id":l(p),"base-url":l(g),"base-static-url":l(m),"base-cdn-url":l(b),"^theme":e.theme,"^locale":e.locale,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onLogout:u,onReady:c},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});N.__file="src/UserProfile.vue";var P=s({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-applications-portal-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});P.__file="src/ApplicationsPortal.vue";const J=c(null),K=()=>l(J)?.();let x;const D=()=>x;var W={install:function(r,s){const n=j({persistTokens:!0,autoRefresh:!0,...s,baseHeaders:b});x=n;const a=c(null),i=c(""),o=c(),d=c(!1),u=c(null),g=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onClaimsChange((e=>{o.value=e})),n.onIsAuthenticatedChange((e=>{d.value=e})),n.onUserChange((e=>{g.value=e}));const m=async e=>{"undefined"!=typeof window&&window.descopeBridge||(a.value=!0,await n.refresh(void 0,e),a.value=!1)},S=e((()=>null===a.value)),h=e((()=>null===u.value));J.value=()=>new Promise(((e,r)=>{!d.value&&S.value&&m().catch(r),t((()=>a.value),(()=>!a.value&&e(!!l(d))),{immediate:!0})})),r.provide(y,{session:{fetchSession:m,isLoading:p(a),session:p(i),claims:p(o),isAuthenticated:p(d),isFetchSessionWasNeverCalled:S},user:{fetchUser:async()=>{u.value=!0,await n.me(),u.value=!1},isLoading:p(u),user:p(g),isFetchUserWasNeverCalled:h},sdk:n,options:s,resetAuth:function(){i.value="",d.value=!1,g.value=null}})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,T as Descope,E as RoleManagement,M as UserManagement,N as UserProfile,W as default,B as getCurrentTenant,O as getJwtPermissions,q as getJwtRoles,C as getRefreshToken,D as getSdk,k as getSessionToken,A as isRefreshTokenExpired,R as isSessionTokenExpired,K as routeGuard,w as useDescope,f 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 l,withCtx as d,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 y=Symbol("$descope"),b={"x-descope-sdk-name":"vue","x-descope-sdk-version":"3.1.5"},S="undefined"!=typeof window,h=()=>{const e=r(y);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},v=()=>h().options,w=()=>h().sdk,f=()=>{const{session:t}=h();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(!0),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,claims:t.claims,isAuthenticated:t.isAuthenticated}},U=()=>{const{user:r,session:s}=h(),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:S,storeLastAuthenticatedUser:S,autoRefresh:S,...e});return _=t,t};_=j({projectId:"temp pid"});const k=()=>S?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>S?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),R=(e=k())=>_?.isJwtExpired(e),A=(e=C())=>_?.isJwtExpired(e),O=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),q=I(((e=k(),t)=>_?.getJwtRoles(e,t))),B=I(((e=k())=>_?.getCurrentTenant(e)));var T=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},sendSessionToken:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},themeOverride:{type:Object},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean},popupOrigin:{type:String}},emits:["success","error","ready"],setup(t,{emit:r}){(customElements?.get("descope-wc")||g).sdkConfigOverrides={baseHeaders:b,persistTokens:!1,hooks:{get beforeRequest(){return _.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const s=t,c=r,{projectId:p,baseUrl:m,baseStaticUrl:y,storeLastAuthenticatedUser:S,baseCdnUrl:h,customStorage:f}=v(),U=w(),I=e((()=>s.form?JSON.stringify(s.form):"")),j=e((()=>s.client?JSON.stringify(s.client):"")),k=async e=>{await(U.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),c("success",e)},C=e=>c("error",e),R=e=>c("ready",e);return(e,r)=>{const s=n("descope-wc");return a(),i("div",null,[o(s,{"project-id":l(p),"base-url":l(m),"base-static-url":l(y),"base-cdn-url":l(h),"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,"therme-override":t.themeOverride,"validate-on-blur":t.validateOnBlur,"restart-on-error":t.restartOnError,"send-session-token":t.sendSessionToken,"store-last-authenticated-user":l(S),".customStorage":l(f),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":I.value,"^client":j.value,"^nonce":t.nonce,"^dismiss-screen-error-on-input":t.dismissScreenErrorOnInput,"^popup-origin":t.popupOrigin,onSuccess:k,onError:C,onReady:R},{default:d((()=>[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","therme-override","validate-on-blur","restart-on-error","send-session-token","store-last-authenticated-user",".customStorage",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input","^popup-origin"])])}}});T.__file="src/Descope.vue";var M=s({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-user-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^tenant","^debug","widget-id","style-id"])])}}});M.__file="src/UserManagement.vue";var E=s({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-role-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-cdn-url":l(c),"base-static-url":l(u),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^locale","^tenant","^debug","widget-id","style-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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-access-key-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-audit-management-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^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},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["logout","ready"],setup(e,{emit:t}){const s=r(y),d=t,u=e=>{s?.resetAuth(),d("logout",e)},c=e=>d("ready",e),{projectId:p,baseUrl:g,baseStaticUrl:m,baseCdnUrl:b}=v();return(t,r)=>{const s=n("descope-user-profile-widget");return a(),i("div",null,[o(s,{"project-id":l(p),"base-url":l(g),"base-static-url":l(m),"base-cdn-url":l(b),"^theme":e.theme,"^locale":e.locale,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onLogout:u,onReady:c},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});N.__file="src/UserProfile.vue";var P=s({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},locale:{type:String},styleId:{type:String},debug:{type:Boolean}},emits:["ready"],setup(e,{emit:t}){const r=t,{projectId:s,baseUrl:d,baseStaticUrl:u,baseCdnUrl:c}=v(),p=e=>r("ready",e);return(t,r)=>{const g=n("descope-applications-portal-widget");return a(),i("div",null,[o(g,{"project-id":l(s),"base-url":l(d),"base-static-url":l(u),"base-cdn-url":l(c),"^theme":e.theme,"^locale":e.locale,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId,onReady:p},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^locale","^debug","widget-id","style-id"])])}}});P.__file="src/ApplicationsPortal.vue";const J=c(null),K=()=>l(J)?.();let x;const D=()=>x;var W={install:function(r,s){const n=j({persistTokens:!0,autoRefresh:!0,...s,baseHeaders:b});x=n;const a=c(null),i=c(""),o=c(),d=c(!1),u=c(null),g=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onClaimsChange((e=>{o.value=e})),n.onIsAuthenticatedChange((e=>{d.value=e})),n.onUserChange((e=>{g.value=e}));const m=async e=>{"undefined"!=typeof window&&window.descopeBridge||(a.value=!0,await n.refresh(void 0,e),a.value=!1)},S=e((()=>null===a.value)),h=e((()=>null===u.value));J.value=()=>new Promise(((e,r)=>{!d.value&&S.value&&m().catch(r),t((()=>a.value),(()=>!a.value&&e(!!l(d))),{immediate:!0})})),r.provide(y,{session:{fetchSession:m,isLoading:p(a),session:p(i),claims:p(o),isAuthenticated:p(d),isFetchSessionWasNeverCalled:S},user:{fetchUser:async()=>{u.value=!0,await n.me(),u.value=!1},isLoading:p(u),user:p(g),isFetchUserWasNeverCalled:h},sdk:n,options:s,resetAuth:function(){i.value="",d.value=!1,g.value=null}})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,T as Descope,E as RoleManagement,M as UserManagement,N as UserProfile,W as default,B as getCurrentTenant,O as getJwtPermissions,q as getJwtRoles,C as getRefreshToken,D as getSdk,k as getSessionToken,A as isRefreshTokenExpired,R as isSessionTokenExpired,K as routeGuard,w 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": "3.1.3",
3
+ "version": "3.1.5",
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.10.3",
29
- "@descope/role-management-widget": "0.10.3",
30
- "@descope/web-component": "4.3.3",
31
- "@descope/user-profile-widget": "0.18.3",
32
- "@descope/user-management-widget": "0.19.2",
33
- "@descope/core-js-sdk": "2.71.0",
34
- "@descope/web-js-sdk": "1.53.0",
35
- "@descope/audit-management-widget": "0.9.3",
36
- "@descope/applications-portal-widget": "0.9.3"
28
+ "@descope/access-key-management-widget": "0.10.4",
29
+ "@descope/audit-management-widget": "0.9.4",
30
+ "@descope/role-management-widget": "0.10.4",
31
+ "@descope/user-management-widget": "0.20.0",
32
+ "@descope/user-profile-widget": "0.19.0",
33
+ "@descope/applications-portal-widget": "0.9.4",
34
+ "@descope/web-js-sdk": "1.53.1",
35
+ "@descope/web-component": "4.4.0",
36
+ "@descope/core-js-sdk": "2.72.0"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "vue": ">=3"