@frontegg/vue 2.0.36 → 2.0.37-alpha.5288253399

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.
@@ -1,5 +1,5 @@
1
1
  import { FronteggAuthService } from './service';
2
- import { AcceptInvitationState, ActivateAccountState, ApiTokensState, AuthState, ForgotPasswordState, LoginState, MFAState, ProfileState, SecurityPolicyState, SignUpState, SocialLoginState, SSOState, TeamState } from '@frontegg/redux-store';
2
+ import { AcceptInvitationState, ActivateAccountState, ApiTokensState, AuthState, ForgotPasswordState, LoginState, MFAState, ProfileState, SecurityPolicyState, SignUpState, SocialLoginState, SSOState, TeamState, EntitlementsState } from '@frontegg/redux-store';
3
3
  import VueRouter from 'vue-router';
4
4
  import { TenantsState } from '@frontegg/redux-store';
5
5
  export declare type AuthPluginOptions = {
@@ -17,6 +17,9 @@ declare module 'vue/types/vue' {
17
17
  mapAuthState: () => {
18
18
  authState: AuthState;
19
19
  };
20
+ mapEntitlementsState: () => {
21
+ entitlements: EntitlementsState['entitlements'];
22
+ };
20
23
  mapLoginState: () => {
21
24
  loginState: LoginState;
22
25
  };
@@ -1,7 +1,8 @@
1
- import { AcceptInvitationActions, ActivateAccountActions, ApiTokensActions, ForgotPasswordActions, LoginActions, MfaActions, ProfileActions, SecurityPolicyActions, SignUpActions, SocialLoginActions, SSOActions, TeamActions, TenantsActions, AuthActions } from '@frontegg/redux-store';
1
+ import { AcceptInvitationActions, ActivateAccountActions, ApiTokensActions, ForgotPasswordActions, LoginActions, MfaActions, ProfileActions, SecurityPolicyActions, SignUpActions, SocialLoginActions, SSOActions, TeamActions, TenantsActions, AuthActions, Entitlements } from '@frontegg/redux-store';
2
2
  import { AuthState, EnhancedStore } from '@frontegg/redux-store';
3
3
  import { FronteggAuthService } from './service';
4
4
  export declare const mapAuthState: (_this: any) => () => {};
5
+ export declare const mapEntitlementsState: (_this: any) => () => {};
5
6
  export declare const mapLoginState: (_this: any) => () => {};
6
7
  export declare const mapAcceptInvitationState: (_this: any) => () => {};
7
8
  export declare const mapActivateAccountState: (_this: any) => () => {};
@@ -19,7 +20,7 @@ export declare const connectMapState: (_this: any) => void;
19
20
  declare type MapLoginActions = LoginActions & {
20
21
  loginWithRedirect: LoginActions['requestHostedLoginAuthorize'];
21
22
  };
22
- export declare const mapAuthActions: <K extends "requestHostedLoginAuthorize" | "setState" | "resetState" | "setUser" | "setLoginState" | "resetLoginState" | "requestAuthorize" | "requestAuthorizeSSR" | "handleHostedLoginCallback" | "afterAuthNavigation" | "preLogin" | "postLogin" | "login" | "loginWithMfa" | "recoverMfa" | "logout" | "silentLogout" | "checkIfAllowToRememberMfaDevice" | "changePhoneNumberWithVerification" | "verifyChangePhoneNumber" | "quickSmsPasswordlessPreLogin" | "passwordlessPreLogin" | "passwordlessPostLogin" | "verifyInviteToken" | "webAuthnPrelogin" | "webAuthnPostLogin" | "webAuthnCreateNewDeviceSession" | "webAuthnVerifyNewDeviceSession" | "getUserIP" | "preEnrollMFAWebAuthnForLogin" | "enrollMFAWebAuthnForLogin" | "enrollMFAAuthenticatorAppForLogin" | "preEnrollMFASMSForLogin" | "enrollMFASMSForLogin" | "preVerifyMFAWebAuthnForLogin" | "verifyMFAWebAuthnForLogin" | "preVerifyMFASMSForLogin" | "verifyMFASMSForLogin" | "setSocialLoginsState" | "resetSocialLoginsState" | "loadSocialLoginsConfiguration" | "loadSocialLoginsConfigurationV2" | "loginViaSocialLogin" | "setSocialLoginError" | "setActivateState" | "resetActivateState" | "setActivateStrategyState" | "activateAccount" | "preActivateAccount" | "resendActivationEmail" | "getActivateAccountStrategy" | "setImpersonateState" | "resetImpersonateState" | "impersonate" | "setAcceptInvitationState" | "resetAcceptInvitationState" | "acceptInvitation" | "setForgotPasswordState" | "resetForgotPasswordState" | "forgotPassword" | "resetPassword" | "loadPasswordConfig" | "setResetPhoneNumberState" | "resetResetPhoneNumberState" | "resetPhoneNumber" | "verifyResetPhoneNumber" | "changePhoneNumber" | "setSignUpState" | "resetSignUpState" | "signUpUser" | "resetSignUpStateSoft" | "setProfileState" | "resetProfileState" | "loadProfile" | "saveProfile" | "changePassword" | "setCustomLoginState" | "resetCustomLoginState" | "loadTenantMetadata" | "updateTenantMetadata" | "loadSSOConfigurationsV2" | "saveSSOConfigurationV2" | "updateSSOConfiguration" | "deleteSSOConfiguration" | "deleteSSODomain" | "saveSSODomain" | "validateSSODomainV2" | "setSSODefaultRoles" | "setSSOGroups" | "updateSSOGroups" | "saveSSOConfigurationByMetadata" | "updateSSOConfigurationByMetadata" | "saveSSOConfigurationByData" | "saveSSOConfigurationByUrl" | "setSSOLoader" | "setSSOError" | "setSSOState" | "resetSSOState" | "loadSSOConfigurations" | "loadSSOAuthorizationRoles" | "saveSSOConfigurations" | "saveSSOConfigurationsFile" | "saveSSOConfigurationsFileWithCallback" | "validateSSODomain" | "updateSSOAuthorizationRoles" | "deleteSamlGroup" | "createSamlGroup" | "oidcPostlogin" | "setMfaState" | "resetMfaState" | "enrollMfa" | "getMFADevices" | "getMFAStrategies" | "verifyMfa" | "verifyMfaAfterForce" | "disableMfa" | "preDisableMfaSms" | "disableMfaSms" | "preEnrollMfaSms" | "enrollMfaSms" | "preEnrollMfaWebAuthn" | "enrollMfaWebAuthn" | "preDisableMfaWebAuthn" | "disableMfaWebAuthn" | "setTeamLoader" | "setTeamError" | "setTeamState" | "resetTeamState" | "loadUsers" | "loadAllSubTenantsUsers" | "loadRoles" | "addUsersBulk" | "addUser" | "addUserToSubTenants" | "setUserRolesForSubTenants" | "updateUser" | "deleteUser" | "deleteUserFromSubTenants" | "lockUser" | "resendActivationLink" | "resendInvitationLink" | "resendInvitationEmail" | "resendInvitationLinkToAllSubTenants" | "getInvitationLink" | "createInvitationLink" | "updateInvitationLink" | "deleteInvitationLink" | "openAddUserDialog" | "closeAddUserDialog" | "openDeleteUserDialog" | "closeDeleteUserDialog" | "openLockUserDialog" | "closeLockUserDialog" | "setUsersGroupsLoader" | "setUsersGroupsError" | "setGroupsState" | "resetUsersGroupsState" | "loadGroups" | "getGroupById" | "createGroup" | "updateGroup" | "deleteGroup" | "addRolesToGroup" | "deleteRolesFromGroup" | "addUsersToGroup" | "deleteUsersFromGroup" | "getGroupConfiguration" | "updateGroupConfiguration" | "getTeamUsers" | "setGroupsDialogsState" | "resetGroupsDialogsState" | "openAddGroupDialog" | "openAddMembersToGroupDialog" | "openEditGroupDialog" | "openDeleteGroupDialog" | "openDeleteMemberFromGroupDialog" | "closeAddGroupDialog" | "closeAddMembersToGroupDialog" | "closeEditGroupDialog" | "closeDeleteGroupDialog" | "closeDeleteMemberFromGroupDialog" | "setApiTokensLoader" | "setApiTokensError" | "setApiTokensState" | "resetApiTokensState" | "loadApiTokens" | "loadUserApiTokens" | "loadTenantApiTokens" | "initApiTokensData" | "addTenantApiToken" | "addUserApiToken" | "deleteUserApiToken" | "deleteTenantApiToken" | "setSecurityPolicyState" | "setSecurityPolicyGlobalState" | "setSecurityPolicyPublicState" | "setSecurityPolicyMfaState" | "setSecurityPolicyVendorMfaState" | "setSecurityPolicyLockoutState" | "setSecurityPolicyVendorLockoutState" | "setSecurityPolicyCaptchaState" | "setSecurityPolicyPasswordHistoryState" | "setSecurityPolicyVendorPasswordHistoryState" | "resetSecurityPolicyState" | "setSecurityPolicyPasswordState" | "setSecurityPolicyAuthStrategyPublicState" | "loadSecurityPolicy" | "loadPublicSecurityPolicy" | "loadVendorPasswordConfig" | "loadSecurityPolicyMfa" | "loadSecurityPolicyVendorMfa" | "saveSecurityPolicyMfa" | "loadSecurityPolicyLockout" | "loadSecurityPolicyVendorLockout" | "saveSecurityPolicyLockout" | "loadSecurityPolicyCaptcha" | "loadSecurityPolicyPasswordHistory" | "loadSecurityPolicyVendorPasswordHistory" | "saveSecurityPolicyPasswordHistory" | "loadPublicAuthStrategiesPolicy" | "setAccountSettingsState" | "resetAccountSettingsState" | "loadAccountSettings" | "saveAccountSettings" | "setTenantsState" | "resetTenantsState" | "switchTenant" | "loadTenants" | "loadSubTenants" | "loadSubTenantsTree" | "setRolesState" | "resetRolesState" | "loadRolesAndPermissions" | "addRole" | "updateRole" | "deleteRole" | "attachPermissionsToRole" | "attachPermissionToRoles" | "loadUserSessions" | "loadCurrentUserSession" | "setSessionsState" | "resetSessionsState" | "deleteUserSession" | "deleteAllUserSessions" | "revokeUserSessions" | "setRestrictionsState" | "setIpRestrictionsState" | "loadIpRestrictions" | "saveIpRestriction" | "saveIpRestrictionsConfig" | "deleteIpRestriction" | "checkIfUserIpValid" | "addCurrentUserIpAndActivate" | "setEmailDomainRestrictionsState" | "loadEmailDomainRestrictions" | "saveEmailDomainRestriction" | "saveEmailDomainRestrictionsConfig" | "deleteEmailDomainRestriction" | "setProvisioningState" | "resetProvisioningState" | "loadProvisionConnections" | "createProvisionConnection" | "deleteProvisionConnection" | "updateProvisionConnection" | "setPasskeysState" | "resetPasskeysState" | "loadWebAuthnDevices" | "deleteWebAuthnDevice" | "setAllAccountsLoader" | "setAllAccountsError" | "setAllAccountsState" | "resetAllAccountsState" | "loadAccounts" | "searchAccounts" | "updateSubAccountAccessForUser" | "createSubAccount" | "updateSubAccount" | "deleteSubAccount" | "updateSubAccountSettings" | "getAccountSettings" | "addUsersToAccount" | "getAccountUsers" | "deleteUsersFromAccount" | "setUserRolesForSubAccount" | "getUserJwtForSubAccount" | "getParentAccounts" | "setAllAccountDialogsState" | "resetAllAccountDialogsState" | "openCreateSubAccountDialog" | "closeCreateSubAccountDialog" | "openUpdateSubAccountDialog" | "closeUpdateSubAccountDialog" | "openDeleteSubAccountDialog" | "closeDeleteSubAccountDialog" | "openAddUsersToAccountDialog" | "closeAddUsersToAccountDialog" | "openDeleteUserFromAccountDialog" | "closeDeleteUserFromAccountDialog" | "openEditUserRolesDialog" | "closeEditUserRolesDialog" | "setEntitlementsState" | "loadEntitlements">(action: K) => AuthActions[K];
23
+ export declare const mapAuthActions: <K extends "requestHostedLoginAuthorize" | "setState" | "resetState" | "setUser" | "setLoginState" | "resetLoginState" | "requestAuthorize" | "requestAuthorizeSSR" | "handleHostedLoginCallback" | "afterAuthNavigation" | "preLogin" | "postLogin" | "login" | "loginWithMfa" | "recoverMfa" | "logout" | "silentLogout" | "checkIfAllowToRememberMfaDevice" | "changePhoneNumberWithVerification" | "verifyChangePhoneNumber" | "quickSmsPasswordlessPreLogin" | "passwordlessPreLogin" | "passwordlessPostLogin" | "verifyInviteToken" | "webAuthnPrelogin" | "webAuthnPostLogin" | "webAuthnCreateNewDeviceSession" | "webAuthnVerifyNewDeviceSession" | "getUserIP" | "preEnrollMFAWebAuthnForLogin" | "enrollMFAWebAuthnForLogin" | "enrollMFAAuthenticatorAppForLogin" | "preEnrollMFASMSForLogin" | "enrollMFASMSForLogin" | "preVerifyMFAWebAuthnForLogin" | "verifyMFAWebAuthnForLogin" | "preVerifyMFASMSForLogin" | "verifyMFASMSForLogin" | "setSocialLoginsState" | "resetSocialLoginsState" | "loadSocialLoginsConfiguration" | "loadSocialLoginsConfigurationV2" | "loginViaSocialLogin" | "setSocialLoginError" | "setActivateState" | "resetActivateState" | "setActivateStrategyState" | "activateAccount" | "preActivateAccount" | "resendActivationEmail" | "getActivateAccountStrategy" | "setImpersonateState" | "resetImpersonateState" | "impersonate" | "setAcceptInvitationState" | "resetAcceptInvitationState" | "acceptInvitation" | "setForgotPasswordState" | "resetForgotPasswordState" | "forgotPassword" | "resetPassword" | "loadPasswordConfig" | "setResetPhoneNumberState" | "resetResetPhoneNumberState" | "resetPhoneNumber" | "verifyResetPhoneNumber" | "changePhoneNumber" | "setSignUpState" | "resetSignUpState" | "signUpUser" | "resetSignUpStateSoft" | "setProfileState" | "resetProfileState" | "loadProfile" | "saveProfile" | "changePassword" | "setCustomLoginState" | "resetCustomLoginState" | "loadTenantMetadata" | "updateTenantMetadata" | "loadSSOConfigurationsV2" | "saveSSOConfigurationV2" | "updateSSOConfiguration" | "deleteSSOConfiguration" | "deleteSSODomain" | "saveSSODomain" | "validateSSODomainV2" | "setSSODefaultRoles" | "setSSOGroups" | "updateSSOGroups" | "saveSSOConfigurationByMetadata" | "updateSSOConfigurationByMetadata" | "saveSSOConfigurationByData" | "saveSSOConfigurationByUrl" | "setSSOLoader" | "setSSOError" | "setSSOState" | "resetSSOState" | "loadSSOConfigurations" | "loadSSOAuthorizationRoles" | "saveSSOConfigurations" | "saveSSOConfigurationsFile" | "saveSSOConfigurationsFileWithCallback" | "validateSSODomain" | "updateSSOAuthorizationRoles" | "deleteSamlGroup" | "createSamlGroup" | "oidcPostlogin" | "setMfaState" | "resetMfaState" | "enrollMfa" | "getMFADevices" | "getMFAStrategies" | "verifyMfa" | "verifyMfaAfterForce" | "disableMfa" | "preDisableMfaSms" | "disableMfaSms" | "preEnrollMfaSms" | "enrollMfaSms" | "preEnrollMfaWebAuthn" | "enrollMfaWebAuthn" | "preDisableMfaWebAuthn" | "disableMfaWebAuthn" | "setTeamLoader" | "setTeamError" | "setTeamState" | "resetTeamState" | "loadUsers" | "loadAllSubTenantsUsers" | "loadRoles" | "addUsersBulk" | "addUser" | "addUserToSubTenants" | "setUserRolesForSubTenants" | "updateUser" | "deleteUser" | "deleteUserFromSubTenants" | "lockUser" | "resendActivationLink" | "resendInvitationLink" | "resendInvitationEmail" | "resendInvitationLinkToAllSubTenants" | "getInvitationLink" | "createInvitationLink" | "updateInvitationLink" | "deleteInvitationLink" | "openAddUserDialog" | "closeAddUserDialog" | "openDeleteUserDialog" | "closeDeleteUserDialog" | "openLockUserDialog" | "closeLockUserDialog" | "setUsersGroupsLoader" | "setUsersGroupsError" | "setGroupsState" | "resetUsersGroupsState" | "loadGroups" | "getGroupById" | "createGroup" | "updateGroup" | "deleteGroup" | "addRolesToGroup" | "deleteRolesFromGroup" | "addUsersToGroup" | "deleteUsersFromGroup" | "getGroupConfiguration" | "updateGroupConfiguration" | "getTeamUsers" | "setGroupsDialogsState" | "resetGroupsDialogsState" | "openAddGroupDialog" | "openAddMembersToGroupDialog" | "openEditGroupDialog" | "openDeleteGroupDialog" | "openDeleteMemberFromGroupDialog" | "closeAddGroupDialog" | "closeAddMembersToGroupDialog" | "closeEditGroupDialog" | "closeDeleteGroupDialog" | "closeDeleteMemberFromGroupDialog" | "setApiTokensLoader" | "setApiTokensError" | "setApiTokensState" | "resetApiTokensState" | "loadApiTokens" | "loadUserApiTokens" | "loadTenantApiTokens" | "initApiTokensData" | "addTenantApiToken" | "addUserApiToken" | "deleteUserApiToken" | "deleteTenantApiToken" | "setSecurityPolicyState" | "setSecurityPolicyGlobalState" | "setSecurityPolicyPublicState" | "setSecurityPolicyMfaState" | "setSecurityPolicyVendorMfaState" | "setSecurityPolicyLockoutState" | "setSecurityPolicyVendorLockoutState" | "setSecurityPolicyCaptchaState" | "setSecurityPolicyPasswordHistoryState" | "setSecurityPolicyVendorPasswordHistoryState" | "resetSecurityPolicyState" | "setSecurityPolicyPasswordState" | "setSecurityPolicyAuthStrategyPublicState" | "loadSecurityPolicy" | "loadPublicSecurityPolicy" | "loadVendorPasswordConfig" | "loadSecurityPolicyMfa" | "loadSecurityPolicyVendorMfa" | "saveSecurityPolicyMfa" | "loadSecurityPolicyLockout" | "loadSecurityPolicyVendorLockout" | "saveSecurityPolicyLockout" | "loadSecurityPolicyCaptcha" | "loadSecurityPolicyPasswordHistory" | "loadSecurityPolicyVendorPasswordHistory" | "saveSecurityPolicyPasswordHistory" | "loadPublicAuthStrategiesPolicy" | "setAccountSettingsState" | "resetAccountSettingsState" | "loadAccountSettings" | "saveAccountSettings" | "setTenantsState" | "resetTenantsState" | "switchTenant" | "loadTenants" | "loadSubTenants" | "loadSubTenantsTree" | "setRolesState" | "resetRolesState" | "loadRolesAndPermissions" | "addRole" | "updateRole" | "deleteRole" | "attachPermissionsToRole" | "attachPermissionToRoles" | "loadUserSessions" | "loadCurrentUserSession" | "setSessionsState" | "resetSessionsState" | "deleteUserSession" | "deleteAllUserSessions" | "revokeUserSessions" | "setRestrictionsState" | "setIpRestrictionsState" | "loadIpRestrictions" | "saveIpRestriction" | "saveIpRestrictionsConfig" | "deleteIpRestriction" | "checkIfUserIpValid" | "addCurrentUserIpAndActivate" | "setEmailDomainRestrictionsState" | "loadEmailDomainRestrictions" | "saveEmailDomainRestriction" | "saveEmailDomainRestrictionsConfig" | "deleteEmailDomainRestriction" | "setProvisioningState" | "resetProvisioningState" | "loadProvisionConnections" | "createProvisionConnection" | "deleteProvisionConnection" | "updateProvisionConnection" | "setPasskeysState" | "resetPasskeysState" | "loadWebAuthnDevices" | "deleteWebAuthnDevice" | "setAllAccountsLoader" | "setAllAccountsError" | "setAllAccountsState" | "setSelectedAccountState" | "resetAllAccountsState" | "loadAccounts" | "searchAccounts" | "updateSubAccountAccessForUser" | "createSubAccount" | "updateSubAccount" | "deleteSubAccount" | "updateSubAccountSettings" | "addUsersToAccount" | "getAccountUsers" | "deleteUsersFromAccount" | "setUserRolesForSubAccount" | "getUserJwtForSubAccount" | "setSelectedSubAccountData" | "setAllAccountDialogsState" | "resetAllAccountDialogsState" | "openCreateSubAccountDialog" | "closeCreateSubAccountDialog" | "openUpdateSubAccountDialog" | "closeUpdateSubAccountDialog" | "openDeleteSubAccountDialog" | "closeDeleteSubAccountDialog" | "openAddUsersToAccountDialog" | "closeAddUsersToAccountDialog" | "openDeleteUserFromAccountDialog" | "closeDeleteUserFromAccountDialog" | "openEditUserRolesDialog" | "closeEditUserRolesDialog" | "setEntitlementsState" | "loadEntitlements">(action: K) => AuthActions[K];
23
24
  export declare const mapLoginActions: <K extends "requestHostedLoginAuthorize" | "setLoginState" | "resetLoginState" | "requestAuthorize" | "requestAuthorizeSSR" | "handleHostedLoginCallback" | "afterAuthNavigation" | "preLogin" | "postLogin" | "login" | "loginWithMfa" | "recoverMfa" | "logout" | "silentLogout" | "checkIfAllowToRememberMfaDevice" | "changePhoneNumberWithVerification" | "verifyChangePhoneNumber" | "quickSmsPasswordlessPreLogin" | "passwordlessPreLogin" | "passwordlessPostLogin" | "verifyInviteToken" | "webAuthnPrelogin" | "webAuthnPostLogin" | "webAuthnCreateNewDeviceSession" | "webAuthnVerifyNewDeviceSession" | "getUserIP" | "preEnrollMFAWebAuthnForLogin" | "enrollMFAWebAuthnForLogin" | "enrollMFAAuthenticatorAppForLogin" | "preEnrollMFASMSForLogin" | "enrollMFASMSForLogin" | "preVerifyMFAWebAuthnForLogin" | "verifyMFAWebAuthnForLogin" | "preVerifyMFASMSForLogin" | "verifyMFASMSForLogin" | "loginWithRedirect">(action: K) => MapLoginActions[K];
24
25
  export declare const mapAcceptInvitationActions: <K extends "setAcceptInvitationState" | "resetAcceptInvitationState" | "acceptInvitation">(action: K) => {
25
26
  setAcceptInvitationState: (state: Partial<import("@frontegg/redux-store").AcceptInvitationState>) => void;
@@ -292,6 +293,11 @@ export declare const connectFronteggStoreV3: (store: EnhancedStore) => {
292
293
  unsubscribe: import("redux").Unsubscribe;
293
294
  };
294
295
  export declare const useFronteggLoaded: () => boolean;
296
+ /**
297
+ @param keys The requested entitlement keys
298
+ @returns Entitlements contain state data for every key (inc if entitled)
299
+ */
300
+ export declare const useEntitlements: (keys: string[]) => Entitlements;
295
301
  export declare const useUnsubscribeFronteggStore: () => () => void;
296
302
  export declare const useAuthState: () => AuthState;
297
303
  export declare const useFronteggStore: () => any;
@@ -5,6 +5,7 @@ export declare const FRONTEGG_UNSUBSCRIBE = "FRONTEGG_UNSUBSCRIBE";
5
5
  export declare const FRONTEGG_LOADER_UNSUBSCRIBE = "FRONTEGG_LOADER_UNSUBSCRIBE";
6
6
  export declare const fronteggLoadedKey: unique symbol;
7
7
  export declare const authStateKey: unique symbol;
8
+ export declare const entitlementsStateKey: unique symbol;
8
9
  export declare const unsubscribeFronteggStoreKey: unique symbol;
9
10
  export declare const fronteggAuthKey: unique symbol;
10
11
  export declare const routerKey: unique symbol;
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { PluginOptions } from './interfaces';
3
3
  import { AdminPortal } from '@frontegg/js';
4
4
  import { ContextHolder } from '@frontegg/rest-api';
5
5
  export * from './types';
6
- export { mapAuthActions, mapLoginActions, mapAcceptInvitationActions, mapActivateAccountActions, mapApiTokensActions, mapForgotPasswordActions, mapMfaActions, mapProfileActions, mapSecurityPolicyActions, mapSignupActions, mapSocialLoginActions, mapSsoActions, mapTeamActions, useAuthState, useUnsubscribeFronteggStore, useFronteggLoaded, useFrontegg, useFronteggAuthGuard, } from './auth/mapAuthState';
6
+ export { mapAuthActions, mapLoginActions, mapAcceptInvitationActions, mapActivateAccountActions, mapApiTokensActions, mapForgotPasswordActions, mapMfaActions, mapProfileActions, mapSecurityPolicyActions, mapSignupActions, mapSocialLoginActions, mapSsoActions, mapTeamActions, useAuthState, useUnsubscribeFronteggStore, useEntitlements, useFronteggLoaded, useFrontegg, useFronteggAuthGuard, } from './auth/mapAuthState';
7
7
  export * from './auth/interfaces';
8
8
  export * from './auth/guards';
9
9
  declare const Frontegg: PluginObject<PluginOptions> | any;
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as Vue from 'vue';
2
- import { inject, onBeforeUnmount, onMounted, onUpdated, reactive, ref } from 'vue';
2
+ import { inject, computed, onBeforeUnmount, onMounted, onUpdated, reactive, ref } from 'vue';
3
3
  import { ContextHolder, FronteggFrameworks } from '@frontegg/rest-api';
4
4
  export { ContextHolder } from '@frontegg/rest-api';
5
5
  import set from 'set-value';
6
- import { isAuthRoute, authInitialState, loginActions, socialLoginsActions, activateAccountActions, acceptInvitationActions, forgotPasswordActions, signUpActions, profileActions, ssoActions, mfaActions, teamActions, apiTokensActions, securityPolicyActions, tenantsActions, bindActionCreators, authActions } from '@frontegg/redux-store';
6
+ import { isAuthRoute, authInitialState, loginActions, socialLoginsActions, activateAccountActions, acceptInvitationActions, forgotPasswordActions, signUpActions, profileActions, ssoActions, mfaActions, teamActions, apiTokensActions, securityPolicyActions, tenantsActions, bindActionCreators, authActions, getEntitlements } from '@frontegg/redux-store';
7
7
  import get from 'get-value';
8
8
  import { initialize, AdminPortal } from '@frontegg/js';
9
9
  export { AdminPortal } from '@frontegg/js';
@@ -324,6 +324,7 @@ const mapSubState = (statePrefix, propertyName) => function () {
324
324
  };
325
325
 
326
326
  const mapAuthState = _this => mapSubState('auth', 'authState').bind(_this);
327
+ const mapEntitlementsState = _this => mapSubState('auth.entitlementsState.entitlements', 'entitlements').bind(_this);
327
328
  const mapLoginState = _this => mapSubState('auth.loginState').bind(_this);
328
329
  const mapAcceptInvitationState = _this => mapSubState('auth.acceptInvitationState').bind(_this);
329
330
  const mapActivateAccountState = _this => mapSubState('auth.activateState').bind(_this);
@@ -340,6 +341,7 @@ const mapTenantsState = _this => mapSubState('auth.tenantsState').bind(_this);
340
341
  const connectMapState = _this => {
341
342
  Object.assign(_this, {
342
343
  mapAuthState: mapAuthState(_this),
344
+ mapEntitlementsState: mapEntitlementsState(_this),
343
345
  mapLoginState: mapLoginState(_this),
344
346
  mapAcceptInvitationState: mapAcceptInvitationState(_this),
345
347
  mapActivateAccountState: mapActivateAccountState(_this),
@@ -397,6 +399,25 @@ const useFronteggLoaded = () => {
397
399
  const fronteggLoaded = inject(fronteggLoadedKey);
398
400
  return fronteggLoaded;
399
401
  };
402
+ /**
403
+ @param keys The requested entitlement keys
404
+ @returns Entitlements contain state data for every key (inc if entitled)
405
+ */
406
+
407
+ const useEntitlements = keys => {
408
+ const authState = inject(authStateKey);
409
+ return computed(() => {
410
+ var _a;
411
+
412
+ return getEntitlements(((_a = authState.entitlementsState) === null || _a === void 0 ? void 0 : _a.entitlements) || {}, keys).reduce((entitlementsResult, {
413
+ isEntitled
414
+ }, i) => Object.assign(Object.assign({}, entitlementsResult), {
415
+ [keys[i]]: {
416
+ isEntitled
417
+ }
418
+ }), {});
419
+ });
420
+ };
400
421
  const useUnsubscribeFronteggStore = () => {
401
422
  const unsubscribeFronteggStore = inject(unsubscribeFronteggStoreKey);
402
423
  return unsubscribeFronteggStore;
@@ -720,7 +741,10 @@ const Frontegg = {
720
741
  beforeCreate() {
721
742
  setStoreKey(this, store);
722
743
  this.fronteggAuth = Vue.fronteggAuth;
723
- this.loginWithRedirect = loginWithRedirect.bind(this);
744
+ this.loginWithRedirect = loginWithRedirect.bind(this); // _entitlements was added for to make the computed property reactive, then it will get updated
745
+
746
+ this.getEntitlements = (_entitlements, keys) => fronteggApp.getEntitlements(keys);
747
+
724
748
  connectMapState(this);
725
749
  },
726
750
 
@@ -767,4 +791,4 @@ const openAdminPortal = () => AdminPortal.show();
767
791
 
768
792
  const closeAdminPortal = () => AdminPortal.hide();
769
793
 
770
- export { Frontegg, closeAdminPortal, isAuthenticatedGuard, mapAcceptInvitationActions, mapActivateAccountActions, mapApiTokensActions, mapAuthActions, mapForgotPasswordActions, mapLoginActions, mapMfaActions, mapProfileActions, mapSecurityPolicyActions, mapSignupActions, mapSocialLoginActions, mapSsoActions, mapTeamActions, openAdminPortal, useAuthState, useFrontegg, useFronteggAuthGuard, useFronteggLoaded, useUnsubscribeFronteggStore };
794
+ export { Frontegg, closeAdminPortal, isAuthenticatedGuard, mapAcceptInvitationActions, mapActivateAccountActions, mapApiTokensActions, mapAuthActions, mapForgotPasswordActions, mapLoginActions, mapMfaActions, mapProfileActions, mapSecurityPolicyActions, mapSignupActions, mapSocialLoginActions, mapSsoActions, mapTeamActions, openAdminPortal, useAuthState, useEntitlements, useFrontegg, useFronteggAuthGuard, useFronteggLoaded, useUnsubscribeFronteggStore };
package/dist/index.min.js CHANGED
@@ -1,4 +1,4 @@
1
- var FronteggCore=function(t,e,n,r,o,i,u){"use strict";function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function c(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var s=c(e),f=a(r),l=a(i);function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e,n){return e&&g(t.prototype,e),n&&g(t,n),t}function v(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(t,e)||b(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}
1
+ var FronteggCore=function(t,e,n,r,o,i,u){"use strict";function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function s(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var c=s(e),l=a(r),f=a(i);function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e,n){return e&&g(t.prototype,e),n&&g(t,n),t}function v(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(t,e)||b(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -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 S(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 o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n}var y=Symbol("fronteggLoade"),m=Symbol("authState"),O=Symbol("unsubscribeFronteggStore"),j=Symbol("fronteggAuth"),R=Symbol("router"),I=Symbol("fronteggOptions"),E=Symbol("fronteggStore"),P=function(t,e){var n;return t.FRONTEGG_STORE_KEY=null!==(n=t.FRONTEGG_STORE_KEY)&&void 0!==n?n:e},T=function(t){return t.FRONTEGG_STORE_KEY},w=function(t){return t.FRONTEGG_REDUX_BINDINGS},U=function(){function t(){d(this,t)}return h(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}(),L=function(t){return function(e){return l.default(e,t)}},k=function(t,e,n){return function(){var r,o=this,i=Object.keys(e),u=l.default(T(o).getState(),t),a=function(t,e,n,r,o){return n.reduce((function(n,i){return Object.assign({},n,v({},e,Object.assign(Object.assign({},n[e]),v({},i,function(t,e,n){return"function"==typeof e?e.bind(t):n(e)}(t,r[i],o)))))}),w(t)||{})}(o,t,i,e,n);return r=a,o.FRONTEGG_REDUX_BINDINGS=r,i.reduce((function(t,r){return Object.assign({},t,v({},r,function(t,e,n,r){return"function"==typeof e?e.call(t,r):n(e)(r)}(o,e[r],n,u)))}),{})}},_=function(){function t(){d(this,t)}return h(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,i=S(e,["router"]);this.state=o.authInitialState,this.userRef=void 0,this.init=function(t,e){n.store=e,Object.entries({loginActions:o.loginActions,socialLoginsActions:o.socialLoginsActions,activateAccountActions:o.activateAccountActions,acceptInvitationActions:o.acceptInvitationActions,forgotPasswordActions:o.forgotPasswordActions,signUpActions:o.signUpActions,profileActions:o.profileActions,ssoActions:o.ssoActions,mfaActions:o.mfaActions,teamActions:o.teamActions,apiTokensActions:o.apiTokensActions,securityPolicyActions:o.securityPolicyActions,tenantsActions:o.tenantsActions}).forEach((function(t){var e=p(t,2),r=e[0],i=e[1];Object.assign(n,v({},r,o.bindActionCreators(i,n.store.dispatch)))}));var r=o.bindActionCreators(o.authActions,n.store.dispatch);_.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._routes=Object.assign(Object.assign({},o.authInitialState.routes),i.routes),this.router=r}return h(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}(),F=function(t,e){return function(){var n=v({},null!=e?e:t.substring("auth.".length),(function(t){return t}));return k(t,n,L).bind(this)()}},N=function(t){return F("auth","authState").bind(t)},C=function(t){return F("auth.loginState").bind(t)},B=function(t){return F("auth.acceptInvitationState").bind(t)},x=function(t){return F("auth.activateState").bind(t)},H=function(t){return F("auth.apiTokensState").bind(t)},z=function(t){return F("auth.forgotPasswordState").bind(t)},q=function(t){return F("auth.mfaState").bind(t)},D=function(t){return F("auth.profileState").bind(t)},W=function(t){return F("auth.securityPolicyState").bind(t)},M=function(t){return F("auth.signUpState").bind(t)},V=function(t){return F("auth.socialLoginState").bind(t)},$=function(t){return F("auth.ssoState").bind(t)},K=function(t){return F("auth.teamState").bind(t)},Y=function(t){return F("auth.tenantsState").bind(t)},X=function(t){Object.assign(t,{mapAuthState:N(t),mapLoginState:C(t),mapAcceptInvitationState:B(t),mapActivateAccountState:x(t),mapApiTokensState:H(t),mapForgotPasswordState:z(t),mapMfaState:q(t),mapProfileState:D(t),mapSecurityPolicyState:W(t),mapSignUpState:M(t),mapSocialLoginState:V(t),mapSsoState:$(t),mapTeamState:K(t),mapTenantsState:Y(t)})},Q=function(t){return function(){return _.getAction(t).apply(void 0,arguments)}},J=function(){return e.inject(y)},Z=function(){return e.inject(O)},tt=function(){return e.inject(m)},et=function(){return e.inject(E)},nt=function(){return e.inject(j)},rt="2.0.36",ot=null,it={install:function(t,r){var i,a,c=null!=r?r:{},d=c.router,g=S(c,["router"]),h=(null!=r?r:{}).contextOptions;if(null==h)throw Error("contextOptions must be passed to Vue.use(Frontegg, { /* OPTIONS */ })");h.requestCredentials=null!==(i=h.requestCredentials)&&void 0!==i?i:"include",h.metadataHeaders={framework:n.FronteggFrameworks.Vuejs,fronteggSdkVersion:"@frontegg/vuejs@".concat(rt)},n.ContextHolder.setContext(h);var v,A=!1,L=!1,k="3"===t.version.charAt(0);k&&(v=e.ref(!1));var _=new Set,F=d&&function(t,e){var r=t.options.base||"";U.setBasename(r);var i=function(n,i){var u=n;u.startsWith(r)&&"/"!==r&&(u=u.substring(r.length-1)),((null==i?void 0:i.preserveQueryParams)||o.isAuthRoute(u,e))&&(u="".concat(u).concat(window.location.search)),(null==i?void 0:i.refresh)?window.location.href=u:(null==i?void 0:i.replace)?t.replace(u):t.push(u)};return n.ContextHolder.setOnRedirectTo(i),i}(d,null===(a=null==r?void 0:r.authOptions)||void 0===a?void 0:a.routes),N=(ot=u.initialize(Object.assign(Object.assign({},g),{onRedirectTo:F,basename:null==d?void 0:d.options.base}))).store;U.setStore(N),t.$fronteggApp=ot,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 C=function(){var e=(t.fronteggPlugins||[]).reduce((function(t,e){return t&&!e.loading}),!0);if(e!==L){L=e,k&&(v.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,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}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 i,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,i=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}(_);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 o=function(){e?e(t,n,r):r()};if(L)o();else var i=setInterval((function(){C(),L&&(clearInterval(i),o())}),1)}}));var B,x=setInterval((function(){C(),L&&clearInterval(x)}),10),H=function(e){var n,o;if(e.authorizedContent&&(n=e.$route.path,o=t.fronteggAuth.routes,!Object.values(o).filter((function(t){return t!=o.authenticatedUrl})).includes(n))&&(!t.fronteggAuth.loading&&!t.fronteggAuth.isAuthenticated))if(null==r?void 0:r.hostedLoginBox)t.fronteggAuth.loginActions.requestHostedLoginAuthorize();else{var i=t.fronteggAuth.routes.loginUrl;e.$router.push(i)}};function z(){this.$route.path.startsWith(t.fronteggAuth.routes.hostedLoginRedirectUrl)||(N.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.fronteggAuth.loginActions.requestHostedLoginAuthorize())}if(A||(B=t,A=!0,(t.fronteggPlugins||[]).forEach((function(t){return t.init(g,N)})),P(B,N),B.fronteggAuth=t.fronteggAuth,X(B)),k){t.provide(y,v);var q=function(t){var n=t.getState(),r=e.reactive(Object.assign({},n.auth)),o=t.subscribe((function(){var e=t.getState().auth;Object.entries(e).forEach((function(t){var n=p(t,2),o=n[0],i=n[1];r[o]!==e[o]&&(r[o]=i)}))}));return{authState:r,unsubscribe:o}}(N),D=q.authState,W=q.unsubscribe,M=e.reactive(Object.assign({},t.fronteggAuth));t.provide(m,D),t.provide(O,W),t.provide(j,M),t.provide(R,d),t.provide(I,r),t.provide(E,N)}t.mixin({data:function(){return{fronteggLoaded:L}},beforeCreate:function(){P(this,N),this.fronteggAuth=t.fronteggAuth,this.loginWithRedirect=z.bind(this),X(this)},updated:function(){H(this)},mounted:function(){H(this)},created:function(){var t,e;w(this)&&function(t,e){t.FRONTEGG_UNSUBSCRIBE=e}(this,N.subscribe((t=this,e=w(this),function(){var n=T(t).getState();Object.keys(e).forEach((function(r){Object.keys(e[r]).forEach((function(o){var i=e[r][o];if(i){var u,a=i(l.default(n,r)),c=Object.assign({},s);c.default&&(u=2),c.version&&"3"===c.version[0]&&(u=3),3===u&&f.default(t.$data,o,a),2===u&&f.default(t._data,o,a)}}))}))}))),function(t,e){t.FRONTEGG_LOADER_UNSUBSCRIBE=e}(this,function(t){var e=function(){t.fronteggLoaded=L};return _.add(e),function(){return _.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=it,t.closeAdminPortal=function(){return u.AdminPortal.hide()},t.isAuthenticatedGuard=function(t,e,n){var r,o,i=function(){var e,r=U.getStore().getState().auth;if(r.isAuthenticated)n();else{var o=null!==(e=U.getBasename())&&void 0!==e?e:"",i=o.endsWith("/")?o.substring(0,o.length-1):"";localStorage.setItem("FRONTEGG_AFTER_AUTH_REDIRECT_URL","".concat(i).concat(t.fullPath)),n({path:r.routes.loginUrl,replace:!0})}},u=null===(o=null===(r=U.getStore())||void 0===r?void 0:r.getState())||void 0===o?void 0:o.auth;if(!u||(null==u?void 0:u.isLoading))var a=setInterval((function(){var t,e;(u=null===(e=null===(t=U.getStore())||void 0===t?void 0:t.getState())||void 0===e?void 0:e.auth)&&!(null==u?void 0:u.isLoading)&&(clearInterval(a),i())}),1);else i()},t.mapAcceptInvitationActions=function(t){return Q(t)},t.mapActivateAccountActions=function(t){return Q(t)},t.mapApiTokensActions=function(t){return Q(t)},t.mapAuthActions=function(t){return Q(t)},t.mapForgotPasswordActions=function(t){return Q(t)},t.mapLoginActions=function(t){return Q("loginWithRedirect"===t?"requestHostedLoginAuthorize":t)},t.mapMfaActions=function(t){return Q(t)},t.mapProfileActions=function(t){return Q(t)},t.mapSecurityPolicyActions=function(t){return Q(t)},t.mapSignupActions=function(t){return Q(t)},t.mapSocialLoginActions=function(t){return Q(t)},t.mapSsoActions=function(t){return Q(t)},t.mapTeamActions=function(t){return Q(t)},t.openAdminPortal=function(){return u.AdminPortal.show()},t.useAuthState=tt,t.useFrontegg=function(){var t=J(),n=Z(),r=tt(),o=nt(),i=et();return e.onBeforeUnmount((function(){n()})),{fronteggLoaded:t,authState:r,fronteggAuth:o,loginWithRedirect:function(){var t;(null===(t=o.router)||void 0===t?void 0:t.currentRoute.path.startsWith(r.routes.hostedLoginRedirectUrl))||(i.dispatch({type:"auth/setState",payload:{isLoading:!0}}),o.loginActions.requestHostedLoginAuthorize())}}},t.useFronteggAuthGuard=function(){var t=nt(),n=e.inject(I),r=tt(),o=e.inject(R),i=et(),u=function(){var e,u,a;u=null===(e=t.router)||void 0===e?void 0:e.currentRoute.path,a=r.routes,Object.values(a).filter((function(t){return t!==a.authenticatedUrl})).includes(u)||r.isAuthenticated||r.isLoading||(n.hostedLoginBox?(i.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.loginActions.requestHostedLoginAuthorize()):o.push(r.routes.loginUrl))};e.onMounted(u),e.onUpdated(u)},t.useFronteggLoaded=J,t.useUnsubscribeFronteggStore=Z,Object.defineProperty(t,"__esModule",{value:!0}),t}({},Vue,fronteggRestApi,setValue,fronteggReduxStore,getValue,js);
16
+ function S(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 o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n}var m=Symbol("fronteggLoade"),y=Symbol("authState"),O=Symbol("unsubscribeFronteggStore"),j=Symbol("fronteggAuth"),R=Symbol("router"),E=Symbol("fronteggOptions"),I=Symbol("fronteggStore"),P=function(t,e){var n;return t.FRONTEGG_STORE_KEY=null!==(n=t.FRONTEGG_STORE_KEY)&&void 0!==n?n:e},T=function(t){return t.FRONTEGG_STORE_KEY},w=function(t){return t.FRONTEGG_REDUX_BINDINGS},U=function(){function t(){d(this,t)}return h(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}(),L=function(t){return function(e){return f.default(e,t)}},k=function(t,e,n){return function(){var r,o=this,i=Object.keys(e),u=f.default(T(o).getState(),t),a=function(t,e,n,r,o){return n.reduce((function(n,i){return Object.assign({},n,v({},e,Object.assign(Object.assign({},n[e]),v({},i,function(t,e,n){return"function"==typeof e?e.bind(t):n(e)}(t,r[i],o)))))}),w(t)||{})}(o,t,i,e,n);return r=a,o.FRONTEGG_REDUX_BINDINGS=r,i.reduce((function(t,r){return Object.assign({},t,v({},r,function(t,e,n,r){return"function"==typeof e?e.call(t,r):n(e)(r)}(o,e[r],n,u)))}),{})}},_=function(){function t(){d(this,t)}return h(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,i=S(e,["router"]);this.state=o.authInitialState,this.userRef=void 0,this.init=function(t,e){n.store=e,Object.entries({loginActions:o.loginActions,socialLoginsActions:o.socialLoginsActions,activateAccountActions:o.activateAccountActions,acceptInvitationActions:o.acceptInvitationActions,forgotPasswordActions:o.forgotPasswordActions,signUpActions:o.signUpActions,profileActions:o.profileActions,ssoActions:o.ssoActions,mfaActions:o.mfaActions,teamActions:o.teamActions,apiTokensActions:o.apiTokensActions,securityPolicyActions:o.securityPolicyActions,tenantsActions:o.tenantsActions}).forEach((function(t){var e=p(t,2),r=e[0],i=e[1];Object.assign(n,v({},r,o.bindActionCreators(i,n.store.dispatch)))}));var r=o.bindActionCreators(o.authActions,n.store.dispatch);_.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._routes=Object.assign(Object.assign({},o.authInitialState.routes),i.routes),this.router=r}return h(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}(),F=function(t,e){return function(){var n=v({},null!=e?e:t.substring("auth.".length),(function(t){return t}));return k(t,n,L).bind(this)()}},N=function(t){return F("auth","authState").bind(t)},C=function(t){return F("auth.entitlementsState.entitlements","entitlements").bind(t)},B=function(t){return F("auth.loginState").bind(t)},x=function(t){return F("auth.acceptInvitationState").bind(t)},H=function(t){return F("auth.activateState").bind(t)},z=function(t){return F("auth.apiTokensState").bind(t)},q=function(t){return F("auth.forgotPasswordState").bind(t)},D=function(t){return F("auth.mfaState").bind(t)},W=function(t){return F("auth.profileState").bind(t)},M=function(t){return F("auth.securityPolicyState").bind(t)},V=function(t){return F("auth.signUpState").bind(t)},$=function(t){return F("auth.socialLoginState").bind(t)},K=function(t){return F("auth.ssoState").bind(t)},Y=function(t){return F("auth.teamState").bind(t)},X=function(t){return F("auth.tenantsState").bind(t)},Q=function(t){Object.assign(t,{mapAuthState:N(t),mapEntitlementsState:C(t),mapLoginState:B(t),mapAcceptInvitationState:x(t),mapActivateAccountState:H(t),mapApiTokensState:z(t),mapForgotPasswordState:q(t),mapMfaState:D(t),mapProfileState:W(t),mapSecurityPolicyState:M(t),mapSignUpState:V(t),mapSocialLoginState:$(t),mapSsoState:K(t),mapTeamState:Y(t),mapTenantsState:X(t)})},J=function(t){return function(){return _.getAction(t).apply(void 0,arguments)}},Z=function(){return e.inject(m)},tt=function(){return e.inject(O)},et=function(){return e.inject(y)},nt=function(){return e.inject(I)},rt=function(){return e.inject(j)},ot="2.0.36",it=null,ut={install:function(t,r){var i,a,s=null!=r?r:{},d=s.router,g=S(s,["router"]),h=(null!=r?r:{}).contextOptions;if(null==h)throw Error("contextOptions must be passed to Vue.use(Frontegg, { /* OPTIONS */ })");h.requestCredentials=null!==(i=h.requestCredentials)&&void 0!==i?i:"include",h.metadataHeaders={framework:n.FronteggFrameworks.Vuejs,fronteggSdkVersion:"@frontegg/vuejs@".concat(ot)},n.ContextHolder.setContext(h);var v,A=!1,L=!1,k="3"===t.version.charAt(0);k&&(v=e.ref(!1));var _=new Set,F=d&&function(t,e){var r=t.options.base||"";U.setBasename(r);var i=function(n,i){var u=n;u.startsWith(r)&&"/"!==r&&(u=u.substring(r.length-1)),((null==i?void 0:i.preserveQueryParams)||o.isAuthRoute(u,e))&&(u="".concat(u).concat(window.location.search)),(null==i?void 0:i.refresh)?window.location.href=u:(null==i?void 0:i.replace)?t.replace(u):t.push(u)};return n.ContextHolder.setOnRedirectTo(i),i}(d,null===(a=null==r?void 0:r.authOptions)||void 0===a?void 0:a.routes),N=(it=u.initialize(Object.assign(Object.assign({},g),{onRedirectTo:F,basename:null==d?void 0:d.options.base}))).store;U.setStore(N),t.$fronteggApp=it,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 C=function(){var e=(t.fronteggPlugins||[]).reduce((function(t,e){return t&&!e.loading}),!0);if(e!==L){L=e,k&&(v.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,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}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 i,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,i=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}(_);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 o=function(){e?e(t,n,r):r()};if(L)o();else var i=setInterval((function(){C(),L&&(clearInterval(i),o())}),1)}}));var B,x=setInterval((function(){C(),L&&clearInterval(x)}),10),H=function(e){var n,o;if(e.authorizedContent&&(n=e.$route.path,o=t.fronteggAuth.routes,!Object.values(o).filter((function(t){return t!=o.authenticatedUrl})).includes(n))&&(!t.fronteggAuth.loading&&!t.fronteggAuth.isAuthenticated))if(null==r?void 0:r.hostedLoginBox)t.fronteggAuth.loginActions.requestHostedLoginAuthorize();else{var i=t.fronteggAuth.routes.loginUrl;e.$router.push(i)}};function z(){this.$route.path.startsWith(t.fronteggAuth.routes.hostedLoginRedirectUrl)||(N.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.fronteggAuth.loginActions.requestHostedLoginAuthorize())}if(A||(B=t,A=!0,(t.fronteggPlugins||[]).forEach((function(t){return t.init(g,N)})),P(B,N),B.fronteggAuth=t.fronteggAuth,Q(B)),k){t.provide(m,v);var q=function(t){var n=t.getState(),r=e.reactive(Object.assign({},n.auth)),o=t.subscribe((function(){var e=t.getState().auth;Object.entries(e).forEach((function(t){var n=p(t,2),o=n[0],i=n[1];r[o]!==e[o]&&(r[o]=i)}))}));return{authState:r,unsubscribe:o}}(N),D=q.authState,W=q.unsubscribe,M=e.reactive(Object.assign({},t.fronteggAuth));t.provide(y,D),t.provide(O,W),t.provide(j,M),t.provide(R,d),t.provide(E,r),t.provide(I,N)}t.mixin({data:function(){return{fronteggLoaded:L}},beforeCreate:function(){P(this,N),this.fronteggAuth=t.fronteggAuth,this.loginWithRedirect=z.bind(this),this.getEntitlements=function(t,e){return it.getEntitlements(e)},Q(this)},updated:function(){H(this)},mounted:function(){H(this)},created:function(){var t,e;w(this)&&function(t,e){t.FRONTEGG_UNSUBSCRIBE=e}(this,N.subscribe((t=this,e=w(this),function(){var n=T(t).getState();Object.keys(e).forEach((function(r){Object.keys(e[r]).forEach((function(o){var i=e[r][o];if(i){var u,a=i(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,o,a),2===u&&l.default(t._data,o,a)}}))}))}))),function(t,e){t.FRONTEGG_LOADER_UNSUBSCRIBE=e}(this,function(t){var e=function(){t.fronteggLoaded=L};return _.add(e),function(){return _.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=ut,t.closeAdminPortal=function(){return u.AdminPortal.hide()},t.isAuthenticatedGuard=function(t,e,n){var r,o,i=function(){var e,r=U.getStore().getState().auth;if(r.isAuthenticated)n();else{var o=null!==(e=U.getBasename())&&void 0!==e?e:"",i=o.endsWith("/")?o.substring(0,o.length-1):"";localStorage.setItem("FRONTEGG_AFTER_AUTH_REDIRECT_URL","".concat(i).concat(t.fullPath)),n({path:r.routes.loginUrl,replace:!0})}},u=null===(o=null===(r=U.getStore())||void 0===r?void 0:r.getState())||void 0===o?void 0:o.auth;if(!u||(null==u?void 0:u.isLoading))var a=setInterval((function(){var t,e;(u=null===(e=null===(t=U.getStore())||void 0===t?void 0:t.getState())||void 0===e?void 0:e.auth)&&!(null==u?void 0:u.isLoading)&&(clearInterval(a),i())}),1);else i()},t.mapAcceptInvitationActions=function(t){return J(t)},t.mapActivateAccountActions=function(t){return J(t)},t.mapApiTokensActions=function(t){return J(t)},t.mapAuthActions=function(t){return J(t)},t.mapForgotPasswordActions=function(t){return J(t)},t.mapLoginActions=function(t){return J("loginWithRedirect"===t?"requestHostedLoginAuthorize":t)},t.mapMfaActions=function(t){return J(t)},t.mapProfileActions=function(t){return J(t)},t.mapSecurityPolicyActions=function(t){return J(t)},t.mapSignupActions=function(t){return J(t)},t.mapSocialLoginActions=function(t){return J(t)},t.mapSsoActions=function(t){return J(t)},t.mapTeamActions=function(t){return J(t)},t.openAdminPortal=function(){return u.AdminPortal.show()},t.useAuthState=et,t.useEntitlements=function(t){var n=e.inject(y);return e.computed((function(){var e;return o.getEntitlements((null===(e=n.entitlementsState)||void 0===e?void 0:e.entitlements)||{},t).reduce((function(e,n,r){var o=n.isEntitled;return Object.assign(Object.assign({},e),v({},t[r],{isEntitled:o}))}),{})}))},t.useFrontegg=function(){var t=Z(),n=tt(),r=et(),o=rt(),i=nt();return e.onBeforeUnmount((function(){n()})),{fronteggLoaded:t,authState:r,fronteggAuth:o,loginWithRedirect:function(){var t;(null===(t=o.router)||void 0===t?void 0:t.currentRoute.path.startsWith(r.routes.hostedLoginRedirectUrl))||(i.dispatch({type:"auth/setState",payload:{isLoading:!0}}),o.loginActions.requestHostedLoginAuthorize())}}},t.useFronteggAuthGuard=function(){var t=rt(),n=e.inject(E),r=et(),o=e.inject(R),i=nt(),u=function(){var e,u,a;u=null===(e=t.router)||void 0===e?void 0:e.currentRoute.path,a=r.routes,Object.values(a).filter((function(t){return t!==a.authenticatedUrl})).includes(u)||r.isAuthenticated||r.isLoading||(n.hostedLoginBox?(i.dispatch({type:"auth/setState",payload:{isLoading:!0}}),t.loginActions.requestHostedLoginAuthorize()):o.push(r.routes.loginUrl))};e.onMounted(u),e.onUpdated(u)},t.useFronteggLoaded=Z,t.useUnsubscribeFronteggStore=tt,Object.defineProperty(t,"__esModule",{value:!0}),t}({},Vue,fronteggRestApi,setValue,fronteggReduxStore,getValue,js);
package/dist/index.ssr.js CHANGED
@@ -502,6 +502,9 @@ var objectMappers = function objectMappers(subState, obj, fallbackGetter) {
502
502
  var mapAuthState = function mapAuthState(_this) {
503
503
  return mapSubState('auth', 'authState').bind(_this);
504
504
  };
505
+ var mapEntitlementsState = function mapEntitlementsState(_this) {
506
+ return mapSubState('auth.entitlementsState.entitlements', 'entitlements').bind(_this);
507
+ };
505
508
  var mapLoginState = function mapLoginState(_this) {
506
509
  return mapSubState('auth.loginState').bind(_this);
507
510
  };
@@ -544,6 +547,7 @@ var mapTenantsState = function mapTenantsState(_this) {
544
547
  var connectMapState = function connectMapState(_this) {
545
548
  Object.assign(_this, {
546
549
  mapAuthState: mapAuthState(_this),
550
+ mapEntitlementsState: mapEntitlementsState(_this),
547
551
  mapLoginState: mapLoginState(_this),
548
552
  mapAcceptInvitationState: mapAcceptInvitationState(_this),
549
553
  mapActivateAccountState: mapActivateAccountState(_this),
@@ -633,6 +637,24 @@ var useFronteggLoaded = function useFronteggLoaded() {
633
637
  var fronteggLoaded = Vue.inject(fronteggLoadedKey);
634
638
  return fronteggLoaded;
635
639
  };
640
+ /**
641
+ @param keys The requested entitlement keys
642
+ @returns Entitlements contain state data for every key (inc if entitled)
643
+ */
644
+
645
+ var useEntitlements = function useEntitlements(keys) {
646
+ var authState = Vue.inject(authStateKey);
647
+ return Vue.computed(function () {
648
+ var _a;
649
+
650
+ return reduxStore.getEntitlements(((_a = authState.entitlementsState) === null || _a === void 0 ? void 0 : _a.entitlements) || {}, keys).reduce(function (entitlementsResult, _ref3, i) {
651
+ var isEntitled = _ref3.isEntitled;
652
+ return Object.assign(Object.assign({}, entitlementsResult), _defineProperty({}, keys[i], {
653
+ isEntitled: isEntitled
654
+ }));
655
+ }, {});
656
+ });
657
+ };
636
658
  var useUnsubscribeFronteggStore = function useUnsubscribeFronteggStore() {
637
659
  var unsubscribeFronteggStore = Vue.inject(unsubscribeFronteggStoreKey);
638
660
  return unsubscribeFronteggStore;
@@ -963,7 +985,12 @@ var Frontegg = {
963
985
  beforeCreate: function beforeCreate() {
964
986
  setStoreKey(this, store);
965
987
  this.fronteggAuth = Vue$1.fronteggAuth;
966
- this.loginWithRedirect = loginWithRedirect.bind(this);
988
+ this.loginWithRedirect = loginWithRedirect.bind(this); // _entitlements was added for to make the computed property reactive, then it will get updated
989
+
990
+ this.getEntitlements = function (_entitlements, keys) {
991
+ return fronteggApp.getEntitlements(keys);
992
+ };
993
+
967
994
  connectMapState(this);
968
995
  },
969
996
  updated: function updated() {
@@ -1006,4 +1033,4 @@ var openAdminPortal = function openAdminPortal() {
1006
1033
 
1007
1034
  var closeAdminPortal = function closeAdminPortal() {
1008
1035
  return js.AdminPortal.hide();
1009
- };Object.defineProperty(exports,'ContextHolder',{enumerable:true,get:function(){return restApi.ContextHolder;}});Object.defineProperty(exports,'AdminPortal',{enumerable:true,get:function(){return js.AdminPortal;}});exports.Frontegg=Frontegg;exports.closeAdminPortal=closeAdminPortal;exports.isAuthenticatedGuard=isAuthenticatedGuard;exports.mapAcceptInvitationActions=mapAcceptInvitationActions;exports.mapActivateAccountActions=mapActivateAccountActions;exports.mapApiTokensActions=mapApiTokensActions;exports.mapAuthActions=mapAuthActions;exports.mapForgotPasswordActions=mapForgotPasswordActions;exports.mapLoginActions=mapLoginActions;exports.mapMfaActions=mapMfaActions;exports.mapProfileActions=mapProfileActions;exports.mapSecurityPolicyActions=mapSecurityPolicyActions;exports.mapSignupActions=mapSignupActions;exports.mapSocialLoginActions=mapSocialLoginActions;exports.mapSsoActions=mapSsoActions;exports.mapTeamActions=mapTeamActions;exports.openAdminPortal=openAdminPortal;exports.useAuthState=useAuthState;exports.useFrontegg=useFrontegg;exports.useFronteggAuthGuard=useFronteggAuthGuard;exports.useFronteggLoaded=useFronteggLoaded;exports.useUnsubscribeFronteggStore=useUnsubscribeFronteggStore;
1036
+ };Object.defineProperty(exports,'ContextHolder',{enumerable:true,get:function(){return restApi.ContextHolder;}});Object.defineProperty(exports,'AdminPortal',{enumerable:true,get:function(){return js.AdminPortal;}});exports.Frontegg=Frontegg;exports.closeAdminPortal=closeAdminPortal;exports.isAuthenticatedGuard=isAuthenticatedGuard;exports.mapAcceptInvitationActions=mapAcceptInvitationActions;exports.mapActivateAccountActions=mapActivateAccountActions;exports.mapApiTokensActions=mapApiTokensActions;exports.mapAuthActions=mapAuthActions;exports.mapForgotPasswordActions=mapForgotPasswordActions;exports.mapLoginActions=mapLoginActions;exports.mapMfaActions=mapMfaActions;exports.mapProfileActions=mapProfileActions;exports.mapSecurityPolicyActions=mapSecurityPolicyActions;exports.mapSignupActions=mapSignupActions;exports.mapSocialLoginActions=mapSocialLoginActions;exports.mapSsoActions=mapSsoActions;exports.mapTeamActions=mapTeamActions;exports.openAdminPortal=openAdminPortal;exports.useAuthState=useAuthState;exports.useEntitlements=useEntitlements;exports.useFrontegg=useFrontegg;exports.useFronteggAuthGuard=useFronteggAuthGuard;exports.useFronteggLoaded=useFronteggLoaded;exports.useUnsubscribeFronteggStore=useUnsubscribeFronteggStore;
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { EnhancedStore } from '@reduxjs/toolkit';
2
2
  import { Unsubscribe } from 'redux';
3
+ import { Entitlements } from '@frontegg/redux-store';
3
4
  import { FronteggPluginService } from './interfaces';
4
5
  declare module 'vue/types/vue' {
5
6
  interface VueConstructor {
@@ -14,5 +15,11 @@ declare module 'vue/types/vue' {
14
15
  _data?: any;
15
16
  fronteggLoaded: boolean;
16
17
  loginWithRedirect: () => void;
18
+ /**
19
+ @param _entitlements
20
+ @param keys The requested entitlement keys
21
+ @returns Entitlements contain true/false for every key (state of is key entitled)
22
+ */
23
+ getEntitlements: (_entitlements: any, keys: string[]) => Entitlements;
17
24
  }
18
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontegg/vue",
3
- "version": "2.0.36",
3
+ "version": "2.0.37-alpha.5288253399",
4
4
  "description": "",
5
5
  "main": "dist/index.ssr.js",
6
6
  "browser": "dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "build:unpkg": "cross-env NODE_ENV=production rollup --config rollup.config.js --format iife"
23
23
  },
24
24
  "dependencies": {
25
- "@frontegg/js": "6.104.0",
25
+ "@frontegg/js": "6.107.0",
26
26
  "get-value": "^3.0.1",
27
27
  "set-value": "^4.0.1"
28
28
  },
@@ -61,4 +61,4 @@
61
61
  "engines": {
62
62
  "node": ">=12"
63
63
  }
64
- }
64
+ }