@frontegg/vue 3.0.21 → 3.0.22

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/helpers.d.ts CHANGED
@@ -7,3 +7,9 @@ export declare const defaultGetterGenerator: (prop: string) => (state: AuthState
7
7
  export declare const generateStoreBindingBySlices: (vueInstance: any, subState: string, slices: string[], obj: any, fallbackGetter: any) => any;
8
8
  export declare const objectMappers: (subState: string, obj: any, fallbackGetter: any) => () => {};
9
9
  export declare const simpleMappers: (subState: string, props: any, getter: any) => () => {};
10
+ /**
11
+ * vue-router base name was changed in v4 from `base` to `history.base`
12
+ * @param router VueRouter v3 or v4
13
+ * @returns router base name
14
+ */
15
+ export declare const getRouterBaseName: (router?: VueRouter | undefined) => string | undefined;
package/dist/index.js CHANGED
@@ -105,7 +105,7 @@ class StoreHolder {
105
105
  }
106
106
 
107
107
  const setupOnRedirectTo = (router, routes) => {
108
- const baseName = router.options.base || '';
108
+ const baseName = getRouterBaseName(router) || '';
109
109
  StoreHolder.setBasename(baseName);
110
110
 
111
111
  const onRedirectTo = (_path, opts) => {
@@ -190,6 +190,17 @@ const objectMappers = (subState, obj, fallbackGetter) => function () {
190
190
  [prop]: directCallOrFallback(vueInstance, obj[prop], fallbackGetter, state)
191
191
  }), {});
192
192
  };
193
+ /**
194
+ * vue-router base name was changed in v4 from `base` to `history.base`
195
+ * @param router VueRouter v3 or v4
196
+ * @returns router base name
197
+ */
198
+
199
+ const getRouterBaseName = router => {
200
+ var _a, _b;
201
+
202
+ return (_a = router === null || router === void 0 ? void 0 : router.options.base) !== null && _a !== void 0 ? _a : (_b = (router === null || router === void 0 ? void 0 : router.options).history) === null || _b === void 0 ? void 0 : _b.base;
203
+ };
193
204
 
194
205
  class ActionsHolder {
195
206
  static getInstance() {
@@ -570,7 +581,7 @@ const useFronteggAuthGuard = options => {
570
581
  };
571
582
 
572
583
  var sdkVersion = {
573
- version: '3.0.21'
584
+ version: '3.0.22'
574
585
  };
575
586
 
576
587
  var name = "vue";
@@ -926,7 +937,7 @@ const Frontegg = {
926
937
  const onRedirectTo = router && setupOnRedirectTo(router, (_b = options === null || options === void 0 ? void 0 : options.authOptions) === null || _b === void 0 ? void 0 : _b.routes);
927
938
  fronteggApp = initialize(Object.assign(Object.assign({}, rest), {
928
939
  onRedirectTo,
929
- basename: router === null || router === void 0 ? void 0 : router.options.base
940
+ basename: getRouterBaseName(router)
930
941
  }));
931
942
  const store = fronteggApp.store;
932
943
  StoreHolder.setStore(store); // @ts-ignore
package/dist/index.min.js CHANGED
@@ -13,4 +13,4 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  ***************************************************************************** */
16
- function m(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var S=Symbol("fronteggLoade"),y=Symbol("authState"),O=Symbol("unsubscribeFronteggStore"),E=Symbol("fronteggAuth"),R=Symbol("loadEntitlements"),j=Symbol("router"),I=Symbol("fronteggOptions"),U=Symbol("fronteggStore"),T=Symbol("stepUp"),P=function(t,e){var n;return t.FRONTEGG_STORE_KEY=null!==(n=t.FRONTEGG_STORE_KEY)&&void 0!==n?n:e},w=function(t){return t.FRONTEGG_STORE_KEY},F=function(t){return t.FRONTEGG_REDUX_BINDINGS},L=function(){function t(){d(this,t)}return v(t,null,[{key:"getInstance",value:function(){return t.instance||(t.instance=new t),t.instance}},{key:"setStore",value:function(e){t.getInstance().store=e}},{key:"getStore",value:function(){return t.getInstance().store}},{key:"setBasename",value:function(e){t.getInstance().baseName=e}},{key:"getBasename",value:function(){return t.getInstance().baseName}}]),t}(),_=function(t){return function(e){return f.default(e,t)}},k=function(t,e,n){return function(){var r,i=this,o=Object.keys(e),u=f.default(w(i).getState(),t),a=function(t,e,n,r,i){return n.reduce((function(n,o){return Object.assign({},n,h({},e,Object.assign(Object.assign({},n[e]),h({},o,function(t,e,n){return"function"==typeof e?e.bind(t):n(e)}(t,r[o],i)))))}),F(t)||{})}(i,t,o,e,n);return r=a,i.FRONTEGG_REDUX_BINDINGS=r,o.reduce((function(t,r){return Object.assign({},t,h({},r,function(t,e,n,r){return"function"==typeof e?e.call(t,r):n(e)(r)}(i,e[r],n,u)))}),{})}},N=function(){function t(){d(this,t)}return v(t,null,[{key:"getInstance",value:function(){return t.instance||(t.instance=new t),t.instance}},{key:"setActions",value:function(e){t.getInstance().actions=e}},{key:"getAction",value:function(e){return t.getInstance().actions[e]}}]),t}(),G=function(){function t(e){var n=this;d(this,t);var r=e.router,o=m(e,["router"]);this.state=i.authInitialState,this.userRef=void 0,this.init=function(t,e){n.store=e,Object.entries({loginActions:i.loginActions,socialLoginsActions:i.socialLoginsActions,activateAccountActions:i.activateAccountActions,acceptInvitationActions:i.acceptInvitationActions,forgotPasswordActions:i.forgotPasswordActions,signUpActions:i.signUpActions,profileActions:i.profileActions,ssoActions:i.ssoActions,mfaActions:i.mfaActions,teamActions:i.teamActions,apiTokensActions:i.apiTokensActions,securityPolicyActions:i.securityPolicyActions,tenantsActions:i.tenantsActions}).forEach((function(t){var e=p(t,2),r=e[0],o=e[1];Object.assign(n,h({},r,i.bindActionCreators(o,n.store.dispatch)))}));var r=i.bindActionCreators(i.authActions,n.store.dispatch);N.setActions(r),t.hostedLoginBox||n.store.subscribe(n.storeSubscriber)},this.storeSubscriber=function(){n.state=n.store.getState().auth;var t=!1;n.state.user!==n.userRef&&(n.userRef=n.state.user,t=!0),n.state.isAuthenticated!==n.isAuthenticatedRef&&(n.isAuthenticatedRef=n.state.isAuthenticated,t=!0),n.userRef&&n.state.isAuthenticated?t&&n.accessTokenUpdater():clearInterval(n.accessTokenUpdaterRef)},this.accessTokenUpdater=function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(n.accessTokenUpdaterRef&&clearInterval(n.accessTokenUpdaterRef),e)n.loginActions.requestAuthorize(!0);else if(n.isAuthenticated){var r=1e3*((null===(t=n.user)||void 0===t?void 0:t.expiresIn)||20)*.8;n.accessTokenUpdaterRef=setInterval(n.loginActions.requestAuthorize,r)}},this.getCurrentRoute=function(){var t,e,r,i,o,u,a,s,c,l,f="/";return(null===(e=null===(t=n.router)||void 0===t?void 0:t.currentRoute)||void 0===e?void 0:e.path)&&(f=null===(i=null===(r=n.router)||void 0===r?void 0:r.currentRoute)||void 0===i?void 0:i.path),(null===(a=null===(u=null===(o=n.router)||void 0===o?void 0:o.currentRoute)||void 0===u?void 0:u.value)||void 0===a?void 0:a.fullPath)&&(f=null===(l=null===(c=null===(s=n.router)||void 0===s?void 0:s.currentRoute)||void 0===c?void 0:c.value)||void 0===l?void 0:l.fullPath),f},this.isAuthRoutes=function(t){var e=new URL(t,window.location.origin).pathname;return Object.values(n.routes).filter((function(t){return t!=n.routes.authenticatedUrl})).includes(e)},this._routes=Object.assign(Object.assign({},i.authInitialState.routes),o.routes),this.router=r}return v(t,[{key:"loading",get:function(){var t,e;return null===(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.isLoading)||void 0===e||e}},{key:"routes",get:function(){var t,e;return null!==(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.routes)&&void 0!==e?e:this._routes}},{key:"isAuthenticated",get:function(){var t,e;return null!==(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.isAuthenticated)&&void 0!==e&&e}},{key:"user",get:function(){var t;return null===(t=this.store)||void 0===t?void 0:t.getState().auth.user}}]),t}(),C=function(t,e){return function(){var n=h({},null!=e?e:t.substring("auth.".length),(function(t){return t}));return k(t,n,_).bind(this)()}},x=function(t){return C("auth","authState").bind(t)},B=function(t){return C("auth.loginState").bind(t)},H=function(t){return C("auth.acceptInvitationState").bind(t)},D=function(t){return C("auth.activateState").bind(t)},V=function(t){return C("auth.apiTokensState").bind(t)},z=function(t){return C("auth.forgotPasswordState").bind(t)},q=function(t){return C("auth.mfaState").bind(t)},M=function(t){return C("auth.profileState").bind(t)},W=function(t){return C("auth.securityPolicyState").bind(t)},$=function(t){return C("auth.signUpState").bind(t)},K=function(t){return C("auth.socialLoginState").bind(t)},Y=function(t){return C("auth.ssoState").bind(t)},X=function(t){return C("auth.teamState").bind(t)},Q=function(t){return C("auth.tenantsState").bind(t)},J=function(t){Object.assign(t,{mapAuthState:x(t),mapLoginState:B(t),mapAcceptInvitationState:H(t),mapActivateAccountState:D(t),mapApiTokensState:V(t),mapForgotPasswordState:z(t),mapMfaState:q(t),mapProfileState:M(t),mapSecurityPolicyState:W(t),mapSignUpState:$(t),mapSocialLoginState:K(t),mapSsoState:Y(t),mapTeamState:X(t),mapTenantsState:Q(t)})},Z=function(t){return function(){return N.getAction(t).apply(void 0,arguments)}},tt=function(){return e.inject(S)},et=function(){return e.inject(y)},nt=function(){return e.inject(U)},rt=function(){return e.inject(E)},it="3.0.21",ot="2.6.12",ut=function(){var t,e;return p((t=[n.USE_ENTITLEMENTS_V2_ENDPOINT_FF],e=nt().appName,n.FeatureFlags.getFeatureFlags(t,e)),1)[0]},at=function(t){var n=e.inject(y).user;return{entitlements:null==n?void 0:n.entitlements,attributes:{custom:t,jwt:n},isV2:ut()}},st=null,ct={install:function(t,r){var o,a,s=null!=r?r:{},d=s.router,g=m(s,["router"]),v=(null!=r?r:{}).contextOptions;if(null==v)throw Error("contextOptions must be passed to Vue.use(Frontegg, { /* OPTIONS */ })");v.requestCredentials=null!==(o=v.requestCredentials)&&void 0!==o?o:"include",v.metadataHeaders={framework:"".concat(n.FronteggFrameworks.Vuejs,"@").concat(ot),fronteggSdkVersion:"@frontegg/vuejs@".concat(it)},n.ContextHolder.setContext(v);var h,A=!1,_=!1,k="3"===t.version.charAt(0);k&&(h=e.ref(!1));var N=new Set,C=d&&function(t,e){var r=t.options.base||"";L.setBasename(r);var o=function(n,o){var u=n;u.startsWith(r)&&"/"!==r&&(u=u.substring(r.length-1)),((null==o?void 0:o.preserveQueryParams)||i.isAuthRoute(u,e))&&(u="".concat(u).concat(window.location.search)),(null==o?void 0:o.refresh)?window.location.href=u:(null==o?void 0:o.replace)?t.replace(u):t.push(u)};return n.ContextHolder.setOnRedirectTo(o),o}(d,null===(a=null==r?void 0:r.authOptions)||void 0===a?void 0:a.routes),x=(st=u.initialize(Object.assign(Object.assign({},g),{onRedirectTo:C,basename:null==d?void 0:d.options.base}))).store;L.setStore(x),t.$fronteggApp=st,t.fronteggAuth||(t.fronteggAuth=new G({router:d}),function(t,e){var n;t.fronteggPlugins=null!==(n=t.fronteggPlugins)&&void 0!==n?n:[],t.fronteggPlugins.push(e)}(t,t.fronteggAuth));var B=function(){var e=(t.fronteggPlugins||[]).reduce((function(t,e){return t&&!e.loading}),!0);if(e!==_){_=e,k&&(h.value=e);var n,r=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=b(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,a=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return u=t.done,t},e:function(t){a=!0,o=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw o}}}}(N);try{for(r.s();!(n=r.n()).done;){(0,n.value)()}}catch(t){r.e(t)}finally{r.f()}}};null==d||d.getRoutes().map((function(t){var e=t.beforeEnter;t.beforeEnter=function(t,n,r){var i=function(){e?e(t,n,r):r()};if(_)i();else var o=setInterval((function(){B(),_&&(clearInterval(o),i())}),1)}}));var H,D=setInterval((function(){B(),_&&clearInterval(D)}),10),V=function(e){if(e.authorizedContent&&!t.fronteggAuth.isAuthRoutes(e.$route.path)&&!t.fronteggAuth.loading&&!t.fronteggAuth.isAuthenticated)if(null==r?void 0:r.hostedLoginBox)t.fronteggAuth.loginActions.requestHostedLoginAuthorize();else{var n=t.fronteggAuth.routes.loginUrl;e.$router.push(n)}};function z(){this.$route.path.startsWith(t.fronteggAuth.routes.hostedLoginRedirectUrl)||(x.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.fronteggAuth.loginActions.requestHostedLoginAuthorize())}A||(H=t,A=!0,(t.fronteggPlugins||[]).forEach((function(t){return t.init(g,x)})),P(H,x),H.fronteggAuth=t.fronteggAuth,J(H));var q=st.loadEntitlements.bind(st),M=st.stepUp.bind(st);if(k){t.provide(S,h);var W=function(t){var n=t.getState();if(t.subscribed)return{authState:t.previousAuthState,unsubscribe:t.previousUnsubscribe};var r=e.reactive(Object.assign({},n.auth)),i=t.subscribe((function(){t.subscribed=!0;var e=t.getState().auth;Object.entries(e).forEach((function(t){var n=p(t,2),i=n[0],o=n[1];r[i]!==e[i]&&(r[i]=o)}))})),o=function(){t.subscribed=!1,i()};return t.previousAuthState=r,t.previousUnsubscribe=o,{authState:r,unsubscribe:o}}(x),$=W.authState,K=W.unsubscribe,Y=e.reactive(Object.assign({},t.fronteggAuth));t.provide(y,$),t.provide(O,K),t.provide(E,Y),t.provide(j,d),t.provide(I,r),t.provide(U,x),t.provide(R,q),t.provide(T,M)}t.mixin({data:function(){return{fronteggLoaded:_}},beforeCreate:function(){P(this,x),this.fronteggAuth=t.fronteggAuth,this.loginWithRedirect=z.bind(this),this.getFeatureEntitlements=function(t,e,n){return st.getFeatureEntitlements(e,n)},this.getPermissionEntitlements=function(t,e,n){return st.getPermissionEntitlements(e,n)},this.getEntitlements=function(t,e,n){return st.getEntitlements(e,n)},this.loadEntitlements=q,this.isSteppedUp=function(t){return st.isSteppedUp()},J(this)},updated:function(){V(this)},mounted:function(){V(this)},created:function(){var t,e;F(this)&&function(t,e){t.FRONTEGG_UNSUBSCRIBE=e}(this,x.subscribe((t=this,e=F(this),function(){var n=w(t).getState();Object.keys(e).forEach((function(r){Object.keys(e[r]).forEach((function(i){var o=e[r][i];if(o){var u,a=o(f.default(n,r)),s=Object.assign({},c);s.default&&(u=2),s.version&&"3"===s.version[0]&&(u=3),3===u&&l.default(t.$data,i,a),2===u&&l.default(t._data,i,a)}}))}))}))),function(t,e){t.FRONTEGG_LOADER_UNSUBSCRIBE=e}(this,function(t){var e=function(){t.fronteggLoaded=_};return N.add(e),function(){return N.delete(e)}}(this))},beforeDestroy:function(){!function(t){var e;null===(e=t.FRONTEGG_UNSUBSCRIBE)||void 0===e||e.call(t)}(this),function(t){var e;null===(e=t.FRONTEGG_LOADER_UNSUBSCRIBE)||void 0===e||e.call(t)}(this)}})}};return Object.defineProperty(t,"ContextHolder",{enumerable:!0,get:function(){return n.ContextHolder}}),Object.defineProperty(t,"AdminPortal",{enumerable:!0,get:function(){return u.AdminPortal}}),t.Frontegg=ct,t.closeAdminPortal=function(){return u.AdminPortal.hide()},t.isAuthenticatedGuard=function(t,e,n){var r,i,o=function(){var e,r=L.getStore().getState().auth;if(r.isAuthenticated)n();else{var i=null!==(e=L.getBasename())&&void 0!==e?e:"",o=i.endsWith("/")?i.substring(0,i.length-1):"";localStorage.setItem("FRONTEGG_AFTER_AUTH_REDIRECT_URL","".concat(o).concat(t.fullPath)),n({path:r.routes.loginUrl,replace:!0})}},u=null===(i=null===(r=L.getStore())||void 0===r?void 0:r.getState())||void 0===i?void 0:i.auth;if(!u||(null==u?void 0:u.isLoading))var a=setInterval((function(){var t,e;(u=null===(e=null===(t=L.getStore())||void 0===t?void 0:t.getState())||void 0===e?void 0:e.auth)&&!(null==u?void 0:u.isLoading)&&(clearInterval(a),o())}),1);else o()},t.mapAcceptInvitationActions=function(t){return Z(t)},t.mapActivateAccountActions=function(t){return Z(t)},t.mapApiTokensActions=function(t){return Z(t)},t.mapAuthActions=function(t){return Z(t)},t.mapForgotPasswordActions=function(t){return Z(t)},t.mapLoginActions=function(t){return Z("loginWithRedirect"===t?"requestHostedLoginAuthorize":t)},t.mapMfaActions=function(t){return Z(t)},t.mapProfileActions=function(t){return Z(t)},t.mapSecurityPolicyActions=function(t){return Z(t)},t.mapSignupActions=function(t){return Z(t)},t.mapSocialLoginActions=function(t){return Z(t)},t.mapSsoActions=function(t){return Z(t)},t.mapTeamActions=function(t){return Z(t)},t.openAdminPortal=function(){return u.AdminPortal.show()},t.useAuthState=et,t.useEntitlements=function(t,n){return e.computed((function(){var e=at(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getEntitlements(r,t,o,u)}))},t.useFeatureEntitlements=function(t,n){return e.computed((function(){var e=at(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getFeatureEntitlements(r,t,o,u)}))},t.useFrontegg=function(){var t=tt(),n=et(),r=rt(),o=e.inject(R),u=e.inject(T),a=nt();return{fronteggLoaded:t,authState:n,fronteggAuth:r,loginWithRedirect:function(){var t;r.getCurrentRoute().startsWith(null!==(t=n.routes.hostedLoginRedirectUrl)&&void 0!==t?t:i.defaultFronteggRoutes.hostedLoginRedirectUrl)||(a.dispatch({type:"auth/setState",payload:{isLoading:!0}}),r.loginActions.requestHostedLoginAuthorize())},loadEntitlements:o,stepUp:u}},t.useFronteggAuthGuard=function(t){var n=(null!=t?t:{}).redirectUrl,r=rt(),o=e.inject(I),u=et(),a=e.inject(j),s=nt(),c=function(){var t=r.getCurrentRoute();r.isAuthRoutes(t)||u.isAuthenticated||u.isLoading||(o.hostedLoginBox?(s.dispatch({type:"auth/setState",payload:{isLoading:!0}}),n&&localStorage.setItem(i.FRONTEGG_AFTER_AUTH_REDIRECT_URL,n),r.loginActions.requestHostedLoginAuthorize()):a.push(u.routes.loginUrl))};e.onMounted(c),e.onUpdated(c)},t.useFronteggLoaded=tt,t.useIsSteppedUp=function(t){return e.computed((function(){var n=e.inject(y).user;return i.isSteppedUp(n,t)}))},t.usePermissionEntitlements=function(t,n){return e.computed((function(){var e=at(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getPermissionEntitlements(r,t,o,u)}))},t.useUnsubscribeFronteggStore=function(){return e.inject(O)},Object.defineProperty(t,"__esModule",{value:!0}),t}({},Vue,fronteggRestApi,setValue,fronteggReduxStore,getValue,js);
16
+ function m(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var S=Symbol("fronteggLoade"),y=Symbol("authState"),O=Symbol("unsubscribeFronteggStore"),E=Symbol("fronteggAuth"),R=Symbol("loadEntitlements"),j=Symbol("router"),I=Symbol("fronteggOptions"),U=Symbol("fronteggStore"),T=Symbol("stepUp"),P=function(t,e){var n;return t.FRONTEGG_STORE_KEY=null!==(n=t.FRONTEGG_STORE_KEY)&&void 0!==n?n:e},w=function(t){return t.FRONTEGG_STORE_KEY},F=function(t){return t.FRONTEGG_REDUX_BINDINGS},L=function(){function t(){d(this,t)}return v(t,null,[{key:"getInstance",value:function(){return t.instance||(t.instance=new t),t.instance}},{key:"setStore",value:function(e){t.getInstance().store=e}},{key:"getStore",value:function(){return t.getInstance().store}},{key:"setBasename",value:function(e){t.getInstance().baseName=e}},{key:"getBasename",value:function(){return t.getInstance().baseName}}]),t}(),_=function(t){return function(e){return f.default(e,t)}},k=function(t,e,n){return function(){var r,i=this,o=Object.keys(e),u=f.default(w(i).getState(),t),a=function(t,e,n,r,i){return n.reduce((function(n,o){return Object.assign({},n,h({},e,Object.assign(Object.assign({},n[e]),h({},o,function(t,e,n){return"function"==typeof e?e.bind(t):n(e)}(t,r[o],i)))))}),F(t)||{})}(i,t,o,e,n);return r=a,i.FRONTEGG_REDUX_BINDINGS=r,o.reduce((function(t,r){return Object.assign({},t,h({},r,function(t,e,n,r){return"function"==typeof e?e.call(t,r):n(e)(r)}(i,e[r],n,u)))}),{})}},N=function(t){var e,n;return null!==(e=null==t?void 0:t.options.base)&&void 0!==e?e:null===(n=(null==t?void 0:t.options).history)||void 0===n?void 0:n.base},G=function(){function t(){d(this,t)}return v(t,null,[{key:"getInstance",value:function(){return t.instance||(t.instance=new t),t.instance}},{key:"setActions",value:function(e){t.getInstance().actions=e}},{key:"getAction",value:function(e){return t.getInstance().actions[e]}}]),t}(),C=function(){function t(e){var n=this;d(this,t);var r=e.router,o=m(e,["router"]);this.state=i.authInitialState,this.userRef=void 0,this.init=function(t,e){n.store=e,Object.entries({loginActions:i.loginActions,socialLoginsActions:i.socialLoginsActions,activateAccountActions:i.activateAccountActions,acceptInvitationActions:i.acceptInvitationActions,forgotPasswordActions:i.forgotPasswordActions,signUpActions:i.signUpActions,profileActions:i.profileActions,ssoActions:i.ssoActions,mfaActions:i.mfaActions,teamActions:i.teamActions,apiTokensActions:i.apiTokensActions,securityPolicyActions:i.securityPolicyActions,tenantsActions:i.tenantsActions}).forEach((function(t){var e=p(t,2),r=e[0],o=e[1];Object.assign(n,h({},r,i.bindActionCreators(o,n.store.dispatch)))}));var r=i.bindActionCreators(i.authActions,n.store.dispatch);G.setActions(r),t.hostedLoginBox||n.store.subscribe(n.storeSubscriber)},this.storeSubscriber=function(){n.state=n.store.getState().auth;var t=!1;n.state.user!==n.userRef&&(n.userRef=n.state.user,t=!0),n.state.isAuthenticated!==n.isAuthenticatedRef&&(n.isAuthenticatedRef=n.state.isAuthenticated,t=!0),n.userRef&&n.state.isAuthenticated?t&&n.accessTokenUpdater():clearInterval(n.accessTokenUpdaterRef)},this.accessTokenUpdater=function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(n.accessTokenUpdaterRef&&clearInterval(n.accessTokenUpdaterRef),e)n.loginActions.requestAuthorize(!0);else if(n.isAuthenticated){var r=1e3*((null===(t=n.user)||void 0===t?void 0:t.expiresIn)||20)*.8;n.accessTokenUpdaterRef=setInterval(n.loginActions.requestAuthorize,r)}},this.getCurrentRoute=function(){var t,e,r,i,o,u,a,s,c,l,f="/";return(null===(e=null===(t=n.router)||void 0===t?void 0:t.currentRoute)||void 0===e?void 0:e.path)&&(f=null===(i=null===(r=n.router)||void 0===r?void 0:r.currentRoute)||void 0===i?void 0:i.path),(null===(a=null===(u=null===(o=n.router)||void 0===o?void 0:o.currentRoute)||void 0===u?void 0:u.value)||void 0===a?void 0:a.fullPath)&&(f=null===(l=null===(c=null===(s=n.router)||void 0===s?void 0:s.currentRoute)||void 0===c?void 0:c.value)||void 0===l?void 0:l.fullPath),f},this.isAuthRoutes=function(t){var e=new URL(t,window.location.origin).pathname;return Object.values(n.routes).filter((function(t){return t!=n.routes.authenticatedUrl})).includes(e)},this._routes=Object.assign(Object.assign({},i.authInitialState.routes),o.routes),this.router=r}return v(t,[{key:"loading",get:function(){var t,e;return null===(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.isLoading)||void 0===e||e}},{key:"routes",get:function(){var t,e;return null!==(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.routes)&&void 0!==e?e:this._routes}},{key:"isAuthenticated",get:function(){var t,e;return null!==(e=null===(t=this.store)||void 0===t?void 0:t.getState().auth.isAuthenticated)&&void 0!==e&&e}},{key:"user",get:function(){var t;return null===(t=this.store)||void 0===t?void 0:t.getState().auth.user}}]),t}(),x=function(t,e){return function(){var n=h({},null!=e?e:t.substring("auth.".length),(function(t){return t}));return k(t,n,_).bind(this)()}},B=function(t){return x("auth","authState").bind(t)},H=function(t){return x("auth.loginState").bind(t)},D=function(t){return x("auth.acceptInvitationState").bind(t)},V=function(t){return x("auth.activateState").bind(t)},z=function(t){return x("auth.apiTokensState").bind(t)},q=function(t){return x("auth.forgotPasswordState").bind(t)},M=function(t){return x("auth.mfaState").bind(t)},W=function(t){return x("auth.profileState").bind(t)},$=function(t){return x("auth.securityPolicyState").bind(t)},K=function(t){return x("auth.signUpState").bind(t)},Y=function(t){return x("auth.socialLoginState").bind(t)},X=function(t){return x("auth.ssoState").bind(t)},Q=function(t){return x("auth.teamState").bind(t)},J=function(t){return x("auth.tenantsState").bind(t)},Z=function(t){Object.assign(t,{mapAuthState:B(t),mapLoginState:H(t),mapAcceptInvitationState:D(t),mapActivateAccountState:V(t),mapApiTokensState:z(t),mapForgotPasswordState:q(t),mapMfaState:M(t),mapProfileState:W(t),mapSecurityPolicyState:$(t),mapSignUpState:K(t),mapSocialLoginState:Y(t),mapSsoState:X(t),mapTeamState:Q(t),mapTenantsState:J(t)})},tt=function(t){return function(){return G.getAction(t).apply(void 0,arguments)}},et=function(){return e.inject(S)},nt=function(){return e.inject(y)},rt=function(){return e.inject(U)},it=function(){return e.inject(E)},ot="3.0.22",ut="2.6.12",at=function(){var t,e;return p((t=[n.USE_ENTITLEMENTS_V2_ENDPOINT_FF],e=rt().appName,n.FeatureFlags.getFeatureFlags(t,e)),1)[0]},st=function(t){var n=e.inject(y).user;return{entitlements:null==n?void 0:n.entitlements,attributes:{custom:t,jwt:n},isV2:at()}},ct=null,lt={install:function(t,r){var o,a,s=null!=r?r:{},d=s.router,g=m(s,["router"]),v=(null!=r?r:{}).contextOptions;if(null==v)throw Error("contextOptions must be passed to Vue.use(Frontegg, { /* OPTIONS */ })");v.requestCredentials=null!==(o=v.requestCredentials)&&void 0!==o?o:"include",v.metadataHeaders={framework:"".concat(n.FronteggFrameworks.Vuejs,"@").concat(ut),fronteggSdkVersion:"@frontegg/vuejs@".concat(ot)},n.ContextHolder.setContext(v);var h,A=!1,_=!1,k="3"===t.version.charAt(0);k&&(h=e.ref(!1));var G=new Set,x=d&&function(t,e){var r=N(t)||"";L.setBasename(r);var o=function(n,o){var u=n;u.startsWith(r)&&"/"!==r&&(u=u.substring(r.length-1)),((null==o?void 0:o.preserveQueryParams)||i.isAuthRoute(u,e))&&(u="".concat(u).concat(window.location.search)),(null==o?void 0:o.refresh)?window.location.href=u:(null==o?void 0:o.replace)?t.replace(u):t.push(u)};return n.ContextHolder.setOnRedirectTo(o),o}(d,null===(a=null==r?void 0:r.authOptions)||void 0===a?void 0:a.routes),B=(ct=u.initialize(Object.assign(Object.assign({},g),{onRedirectTo:x,basename:N(d)}))).store;L.setStore(B),t.$fronteggApp=ct,t.fronteggAuth||(t.fronteggAuth=new C({router:d}),function(t,e){var n;t.fronteggPlugins=null!==(n=t.fronteggPlugins)&&void 0!==n?n:[],t.fronteggPlugins.push(e)}(t,t.fronteggAuth));var H=function(){var e=(t.fronteggPlugins||[]).reduce((function(t,e){return t&&!e.loading}),!0);if(e!==_){_=e,k&&(h.value=e);var n,r=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=b(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,a=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return u=t.done,t},e:function(t){a=!0,o=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw o}}}}(G);try{for(r.s();!(n=r.n()).done;){(0,n.value)()}}catch(t){r.e(t)}finally{r.f()}}};null==d||d.getRoutes().map((function(t){var e=t.beforeEnter;t.beforeEnter=function(t,n,r){var i=function(){e?e(t,n,r):r()};if(_)i();else var o=setInterval((function(){H(),_&&(clearInterval(o),i())}),1)}}));var D,V=setInterval((function(){H(),_&&clearInterval(V)}),10),z=function(e){if(e.authorizedContent&&!t.fronteggAuth.isAuthRoutes(e.$route.path)&&!t.fronteggAuth.loading&&!t.fronteggAuth.isAuthenticated)if(null==r?void 0:r.hostedLoginBox)t.fronteggAuth.loginActions.requestHostedLoginAuthorize();else{var n=t.fronteggAuth.routes.loginUrl;e.$router.push(n)}};function q(){this.$route.path.startsWith(t.fronteggAuth.routes.hostedLoginRedirectUrl)||(B.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.fronteggAuth.loginActions.requestHostedLoginAuthorize())}A||(D=t,A=!0,(t.fronteggPlugins||[]).forEach((function(t){return t.init(g,B)})),P(D,B),D.fronteggAuth=t.fronteggAuth,Z(D));var M=ct.loadEntitlements.bind(ct),W=ct.stepUp.bind(ct);if(k){t.provide(S,h);var $=function(t){var n=t.getState();if(t.subscribed)return{authState:t.previousAuthState,unsubscribe:t.previousUnsubscribe};var r=e.reactive(Object.assign({},n.auth)),i=t.subscribe((function(){t.subscribed=!0;var e=t.getState().auth;Object.entries(e).forEach((function(t){var n=p(t,2),i=n[0],o=n[1];r[i]!==e[i]&&(r[i]=o)}))})),o=function(){t.subscribed=!1,i()};return t.previousAuthState=r,t.previousUnsubscribe=o,{authState:r,unsubscribe:o}}(B),K=$.authState,Y=$.unsubscribe,X=e.reactive(Object.assign({},t.fronteggAuth));t.provide(y,K),t.provide(O,Y),t.provide(E,X),t.provide(j,d),t.provide(I,r),t.provide(U,B),t.provide(R,M),t.provide(T,W)}t.mixin({data:function(){return{fronteggLoaded:_}},beforeCreate:function(){P(this,B),this.fronteggAuth=t.fronteggAuth,this.loginWithRedirect=q.bind(this),this.getFeatureEntitlements=function(t,e,n){return ct.getFeatureEntitlements(e,n)},this.getPermissionEntitlements=function(t,e,n){return ct.getPermissionEntitlements(e,n)},this.getEntitlements=function(t,e,n){return ct.getEntitlements(e,n)},this.loadEntitlements=M,this.isSteppedUp=function(t){return ct.isSteppedUp()},Z(this)},updated:function(){z(this)},mounted:function(){z(this)},created:function(){var t,e;F(this)&&function(t,e){t.FRONTEGG_UNSUBSCRIBE=e}(this,B.subscribe((t=this,e=F(this),function(){var n=w(t).getState();Object.keys(e).forEach((function(r){Object.keys(e[r]).forEach((function(i){var o=e[r][i];if(o){var u,a=o(f.default(n,r)),s=Object.assign({},c);s.default&&(u=2),s.version&&"3"===s.version[0]&&(u=3),3===u&&l.default(t.$data,i,a),2===u&&l.default(t._data,i,a)}}))}))}))),function(t,e){t.FRONTEGG_LOADER_UNSUBSCRIBE=e}(this,function(t){var e=function(){t.fronteggLoaded=_};return G.add(e),function(){return G.delete(e)}}(this))},beforeDestroy:function(){!function(t){var e;null===(e=t.FRONTEGG_UNSUBSCRIBE)||void 0===e||e.call(t)}(this),function(t){var e;null===(e=t.FRONTEGG_LOADER_UNSUBSCRIBE)||void 0===e||e.call(t)}(this)}})}};return Object.defineProperty(t,"ContextHolder",{enumerable:!0,get:function(){return n.ContextHolder}}),Object.defineProperty(t,"AdminPortal",{enumerable:!0,get:function(){return u.AdminPortal}}),t.Frontegg=lt,t.closeAdminPortal=function(){return u.AdminPortal.hide()},t.isAuthenticatedGuard=function(t,e,n){var r,i,o=function(){var e,r=L.getStore().getState().auth;if(r.isAuthenticated)n();else{var i=null!==(e=L.getBasename())&&void 0!==e?e:"",o=i.endsWith("/")?i.substring(0,i.length-1):"";localStorage.setItem("FRONTEGG_AFTER_AUTH_REDIRECT_URL","".concat(o).concat(t.fullPath)),n({path:r.routes.loginUrl,replace:!0})}},u=null===(i=null===(r=L.getStore())||void 0===r?void 0:r.getState())||void 0===i?void 0:i.auth;if(!u||(null==u?void 0:u.isLoading))var a=setInterval((function(){var t,e;(u=null===(e=null===(t=L.getStore())||void 0===t?void 0:t.getState())||void 0===e?void 0:e.auth)&&!(null==u?void 0:u.isLoading)&&(clearInterval(a),o())}),1);else o()},t.mapAcceptInvitationActions=function(t){return tt(t)},t.mapActivateAccountActions=function(t){return tt(t)},t.mapApiTokensActions=function(t){return tt(t)},t.mapAuthActions=function(t){return tt(t)},t.mapForgotPasswordActions=function(t){return tt(t)},t.mapLoginActions=function(t){return tt("loginWithRedirect"===t?"requestHostedLoginAuthorize":t)},t.mapMfaActions=function(t){return tt(t)},t.mapProfileActions=function(t){return tt(t)},t.mapSecurityPolicyActions=function(t){return tt(t)},t.mapSignupActions=function(t){return tt(t)},t.mapSocialLoginActions=function(t){return tt(t)},t.mapSsoActions=function(t){return tt(t)},t.mapTeamActions=function(t){return tt(t)},t.openAdminPortal=function(){return u.AdminPortal.show()},t.useAuthState=nt,t.useEntitlements=function(t,n){return e.computed((function(){var e=st(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getEntitlements(r,t,o,u)}))},t.useFeatureEntitlements=function(t,n){return e.computed((function(){var e=st(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getFeatureEntitlements(r,t,o,u)}))},t.useFrontegg=function(){var t=et(),n=nt(),r=it(),o=e.inject(R),u=e.inject(T),a=rt();return{fronteggLoaded:t,authState:n,fronteggAuth:r,loginWithRedirect:function(){var t;r.getCurrentRoute().startsWith(null!==(t=n.routes.hostedLoginRedirectUrl)&&void 0!==t?t:i.defaultFronteggRoutes.hostedLoginRedirectUrl)||(a.dispatch({type:"auth/setState",payload:{isLoading:!0}}),r.loginActions.requestHostedLoginAuthorize())},loadEntitlements:o,stepUp:u}},t.useFronteggAuthGuard=function(t){var n=(null!=t?t:{}).redirectUrl,r=it(),o=e.inject(I),u=nt(),a=e.inject(j),s=rt(),c=function(){var t=r.getCurrentRoute();r.isAuthRoutes(t)||u.isAuthenticated||u.isLoading||(o.hostedLoginBox?(s.dispatch({type:"auth/setState",payload:{isLoading:!0}}),n&&localStorage.setItem(i.FRONTEGG_AFTER_AUTH_REDIRECT_URL,n),r.loginActions.requestHostedLoginAuthorize()):a.push(u.routes.loginUrl))};e.onMounted(c),e.onUpdated(c)},t.useFronteggLoaded=et,t.useIsSteppedUp=function(t){return e.computed((function(){var n=e.inject(y).user;return i.isSteppedUp(n,t)}))},t.usePermissionEntitlements=function(t,n){return e.computed((function(){var e=st(n),r=e.entitlements,o=e.attributes,u=e.isV2;return i.getPermissionEntitlements(r,t,o,u)}))},t.useUnsubscribeFronteggStore=function(){return e.inject(O)},Object.defineProperty(t,"__esModule",{value:!0}),t}({},Vue,fronteggRestApi,setValue,fronteggReduxStore,getValue,js);
package/dist/index.ssr.js CHANGED
@@ -257,7 +257,7 @@ var registerFronteggPlugin = function registerFronteggPlugin(Vue, plugin) {
257
257
 
258
258
  return StoreHolder;
259
259
  }();var setupOnRedirectTo = function setupOnRedirectTo(router, routes) {
260
- var baseName = router.options.base || '';
260
+ var baseName = getRouterBaseName(router) || '';
261
261
  StoreHolder.setBasename(baseName);
262
262
 
263
263
  var onRedirectTo = function onRedirectTo(_path, opts) {
@@ -347,6 +347,17 @@ var objectMappers = function objectMappers(subState, obj, fallbackGetter) {
347
347
  return Object.assign({}, result, _defineProperty({}, prop, directCallOrFallback(vueInstance, obj[prop], fallbackGetter, state)));
348
348
  }, {});
349
349
  };
350
+ };
351
+ /**
352
+ * vue-router base name was changed in v4 from `base` to `history.base`
353
+ * @param router VueRouter v3 or v4
354
+ * @returns router base name
355
+ */
356
+
357
+ var getRouterBaseName = function getRouterBaseName(router) {
358
+ var _a, _b;
359
+
360
+ return (_a = router === null || router === void 0 ? void 0 : router.options.base) !== null && _a !== void 0 ? _a : (_b = (router === null || router === void 0 ? void 0 : router.options).history) === null || _b === void 0 ? void 0 : _b.base;
350
361
  };var ActionsHolder = /*#__PURE__*/function () {
351
362
  function ActionsHolder() {
352
363
  _classCallCheck(this, ActionsHolder);
@@ -806,7 +817,7 @@ var useFronteggAuthGuard = function useFronteggAuthGuard(options) {
806
817
  Vue.onMounted(checkGuard);
807
818
  Vue.onUpdated(checkGuard);
808
819
  };var sdkVersion = {
809
- version: '3.0.21'
820
+ version: '3.0.22'
810
821
  };var name = "vue";
811
822
  var version = "2.6.12";
812
823
  var description = "Reactive, component-oriented view layer for modern web interfaces.";
@@ -1155,7 +1166,7 @@ var Frontegg = {
1155
1166
  var onRedirectTo = router && setupOnRedirectTo(router, (_b = options === null || options === void 0 ? void 0 : options.authOptions) === null || _b === void 0 ? void 0 : _b.routes);
1156
1167
  fronteggApp = js.initialize(Object.assign(Object.assign({}, rest), {
1157
1168
  onRedirectTo: onRedirectTo,
1158
- basename: router === null || router === void 0 ? void 0 : router.options.base
1169
+ basename: getRouterBaseName(router)
1159
1170
  }));
1160
1171
  var store = fronteggApp.store;
1161
1172
  StoreHolder.setStore(store); // @ts-ignore
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontegg/vue",
3
- "version": "3.0.21",
3
+ "version": "3.0.22",
4
4
  "description": "",
5
5
  "main": "dist/index.ssr.js",
6
6
  "browser": "dist/index.js",