passbolt-styleguide 3.5.2 → 3.6.0-alpha2
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/build/css/help.min.css +3 -3
- package/build/css/public.min.css +4 -4
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -3
- package/build/css/themes/default/api_main.min.css +4 -4
- package/build/css/themes/default/api_reports.min.css +4 -4
- package/build/css/themes/default/api_webinstaller.min.css +3 -3
- package/build/css/themes/default/ext_app.min.css +4 -4
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +2 -2
- package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +3 -3
- package/build/css/themes/midgar/api_main.min.css +4 -4
- package/build/css/themes/midgar/api_reports.min.css +4 -4
- package/build/css/themes/midgar/ext_app.min.css +4 -4
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/js/dist/api-account-recovery.js +2 -0
- package/build/js/dist/api-account-recovery.js.LICENSE.txt +107 -0
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +73 -1
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +159 -15
- package/jest.config.json +13 -0
- package/package.json +26 -21
- package/src/locales/en-UK/common.json +140 -4
- package/src/react-extension/ApiAccountRecovery.entry.js +25 -0
- package/src/react-extension/ApiAccountRecovery.js +233 -0
- package/src/react-extension/ApiApp.js +50 -43
- package/src/react-extension/ExtApp.js +129 -105
- package/src/react-extension/ExtAuthenticationAccountRecovery.js +173 -0
- package/src/react-extension/ExtAuthenticationLogin.js +35 -33
- package/src/react-extension/ExtAuthenticationRecover.js +23 -35
- package/src/react-extension/ExtAuthenticationSetup.js +24 -46
- package/src/react-extension/ExtBootstrapAccountRecovery.js +75 -0
- package/src/react-extension/ExtBootstrapApp.js +4 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.js +114 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.data.js +27 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.js +72 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.page.js +74 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.stories.js +51 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.js +80 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.data.js +60 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.js +110 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.page.js +40 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.js +96 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.data.js +63 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.js +88 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.page.js +37 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.js +214 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.data.js +49 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.js +98 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.page.js +37 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.js +316 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.data.js +55 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.js +132 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.page.js +70 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.stories.js +104 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.js +286 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.data.js +51 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.js +77 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.page.js +119 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.stories.js +36 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.js +15 -2
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +5 -1
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +45 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +23 -3
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +254 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.data.js +153 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.js +109 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.page.js +174 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.stories.js +43 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +36 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +2 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +12 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.js +138 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.data.js +46 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.js +51 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.page.js +93 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +2 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +105 -2
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.stories.js +104 -0
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +2 -4
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.js +10 -3
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.js +180 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.data.js +47 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.js +64 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.page.js +35 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +435 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.data.js +186 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +100 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.page.js +159 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.stories.js +64 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.js +535 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.data.js +31 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.js +155 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.page.js +124 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.stories.js +41 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.js +108 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.js +48 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.page.js +82 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.stories.js +51 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +471 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +181 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/ImportOrganizationKey.js +289 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/ImportOrganizationKey.test.js +188 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.js +121 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +262 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.stories.js +50 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.js +73 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.data.js +41 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.js +48 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.page.js +64 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.stories.js +40 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.js +36 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.js +37 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.page.js +55 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.stories.js +39 -0
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +3 -3
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.page.js +0 -1
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +33 -23
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +18 -30
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +110 -47
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +33 -10
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +36 -19
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.js +191 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.data.js +90 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.js +92 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.page.js +109 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.stories.js +60 -0
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +5 -29
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.data.js +17 -18
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.js +48 -25
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.page.js +16 -9
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +20 -16
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +40 -36
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +18 -14
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +189 -103
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +50 -11
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +31 -19
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.js +0 -9
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.js +1 -1
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/{DisplayBrowserNotSupportedPage.js → DisplayBrowserNotSupported.test.page.js} +2 -5
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.js +0 -9
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.data.js +36 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.js +34 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.page.js +49 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +23 -15
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.js +0 -9
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.js +1 -1
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/{DisplayRequireInvitationErrorPage.js → DisplayRequireInvitationError.test.page.js} +0 -3
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.js +91 -10
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.data.js +56 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.js +46 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.page.js +79 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +48 -15
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +12 -53
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.data.js +16 -16
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.js +10 -13
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.page.js +16 -6
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.data.js +17 -3
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.page.js +0 -1
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.data.js +28 -11
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +21 -16
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +17 -3
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.js +56 -19
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.data.js +25 -17
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.js +204 -58
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.page.js +43 -7
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +31 -19
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +0 -9
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.data.js +17 -3
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +62 -18
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.js → IntroduceExtension/IntroduceExtension.js} +8 -19
- package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.test.data.js +24 -0
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.test.js → IntroduceExtension/IntroduceExtension.test.js} +16 -6
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.test.page.js → IntroduceExtension/IntroduceExtension.test.page.js} +3 -4
- package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.test.stories.js +39 -0
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.data.js +27 -9
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.js +2 -8
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.page.js +4 -9
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +23 -14
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.js +70 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.data.js +25 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.js +49 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.page.js +74 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.stories.js +40 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.js +41 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.data.js +36 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.js +35 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.page.js +50 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +41 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.js +42 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.js +43 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.page.js +62 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.stories.js +40 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateAccountRecovery/InsertAccountRecoveryIframe.js +64 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateAccountRecovery/OrchestrateAccountRecovery.js +84 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateApiAccountRecovery/OrchestrateApiAccountRecovery.js +66 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +8 -22
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.data.js +25 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.js +52 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.page.js +82 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +23 -16
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +156 -145
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +67 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +157 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +155 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +32 -27
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxFooter.js +48 -0
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +90 -0
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +12 -3
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +1 -1
- package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +90 -82
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +80 -87
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +8 -3
- package/src/react-extension/components/Common/Avatar/UserAvatar.js +6 -1
- package/src/react-extension/components/Common/Avatar/UserAvatar.test.data.js +27 -0
- package/src/react-extension/components/Common/Avatar/UserAvatar.test.stories.js +47 -0
- package/src/react-extension/components/Common/Dialog/ManageDialogs/ManageDialogs.js +7 -2
- package/src/react-extension/components/Common/Error/HandleErrorEvents/HandleErrorEvents.js +2 -3
- package/src/react-extension/components/Common/Error/NotifyError/NotifyError.js +78 -15
- package/src/react-extension/components/Common/Icons/Icon.js +7 -0
- package/src/react-extension/components/Common/Internationalisation/TranslationProvider.js +1 -0
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +15 -2
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.test.stories.js +49 -0
- package/src/react-extension/components/Common/Route/HandleApplicationFirstLoadRoute.js +77 -0
- package/src/react-extension/components/Common/Route/HandleRouteFallback.js +14 -46
- package/src/react-extension/components/Common/Tab/Tabs.js +3 -1
- package/src/react-extension/components/Common/Workflow/ManageWorkflows/ManageWorkflows.js +72 -0
- package/src/react-extension/components/InsertAppIframe.js +12 -6
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +2 -4
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +2 -2
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +17 -2
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +19 -3
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +2 -4
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.js +20 -6
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.stories.js +12 -0
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.stories.js +107 -6
- package/src/react-extension/components/Resource/EditResource/EditResource.js +2 -4
- package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +2 -2
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +3 -0
- package/src/react-extension/components/Resource/EditResource/EditResource.test.stories.js +18 -4
- package/src/react-extension/components/Resource/ExportResources/ExportResources.js +5 -7
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.js +9 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +4 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +5 -7
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.js +8 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +4 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +24 -8
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +2 -4
- package/src/react-extension/components/Resource/ImportResources/ImportResources.js +2 -4
- package/src/react-extension/components/Resource/ImportResources/ImportResources.test.js +10 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +4 -6
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.js +9 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +9 -1
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +4 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +19 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +15 -3
- package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +8 -3
- package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +9 -8
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +6 -3
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.test.data.js +11 -0
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.test.js +11 -4
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +11 -10
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +16 -5
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +13 -0
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.js +8 -10
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.js +12 -5
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +4 -1
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.js +2 -5
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +6 -2
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +15 -4
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +10 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +4 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.js +2 -3
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +3 -1
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +3 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +2 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +1 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +2 -3
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +7 -3
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.js +2 -4
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +6 -2
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +2 -4
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +6 -2
- package/src/react-extension/components/Share/ShareDialog.js +2 -4
- package/src/react-extension/components/Share/ShareDialog.test.js +14 -3
- package/src/react-extension/components/Share/ShareDialog.test.stories.js +5 -3
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.js +4 -6
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.js +6 -2
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.js +2 -4
- package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +14 -3
- package/src/react-extension/components/User/DeleteUser/DeleteUser.js +2 -4
- package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +9 -2
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.js +2 -4
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +7 -1
- package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.js +79 -0
- package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.test.stories.js +32 -0
- package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.js +13 -3
- package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.test.stories.js +7 -9
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.js +5 -1
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.test.data.js +18 -9
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.test.js +2 -2
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +48 -6
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.data.js +16 -1
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.js +14 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +8 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.stories.js +55 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +33 -13
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +16 -3
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.stories.js +38 -0
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +46 -10
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.data.js +21 -6
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.js +38 -5
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.page.js +10 -0
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.stories.js +53 -0
- package/src/react-extension/components/User/EditUser/EditUser.js +2 -4
- package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +8 -1
- package/src/react-extension/components/User/FilterUsersByGroups/DisplayGroupContextualMenu.js +2 -4
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.js +98 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.data.js +56 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.js +54 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.page.js +37 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +36 -3
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.js +234 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.data.js +125 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.js +150 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.page.js +113 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.stories.js +142 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.js +467 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.data.js +167 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.js +106 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.page.js +101 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.stories.js +143 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.js +5 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +1 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -1
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +8 -1
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.js +2 -4
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +8 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.test.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +2 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +13 -2
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +5 -2
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +11 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.js +11 -3
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -1
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.js +240 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.data.js +53 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.js +110 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.page.js +85 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.stories.js +65 -0
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +3 -4
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +16 -2
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.js +2 -4
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +18 -12
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +2 -4
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +17 -3
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +29 -0
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +5 -0
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +2 -4
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +10 -3
- package/src/react-extension/contexts/AccountRecoveryUserContext.js +223 -0
- package/src/react-extension/contexts/AccountRecoveryUserContext.test.data.js +55 -0
- package/src/react-extension/contexts/AccountRecoveryUserContext.test.js +58 -0
- package/src/react-extension/contexts/ActionFeedbackContext.test.data.js +28 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.js +211 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.test.data.js +66 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.test.js +229 -0
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +27 -0
- package/src/react-extension/contexts/ApiAccountRecoveryContext.js +148 -0
- package/src/react-extension/contexts/ApiRecoverContext.js +14 -15
- package/src/react-extension/contexts/ApiSetupContext.js +8 -8
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.js +282 -0
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.test.data.js +51 -0
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.test.js +231 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +264 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +79 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +234 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.js +325 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.test.data.js +63 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.test.js +379 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +339 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.test.data.js +63 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.test.js +364 -0
- package/src/react-extension/contexts/DialogContext.test.data.js +27 -0
- package/src/react-extension/contexts/ExtAppContext.js +0 -6
- package/src/react-extension/contexts/ExtAppContext.test.data.js +50 -0
- package/src/react-extension/contexts/NavigationContext.js +26 -2
- package/src/react-extension/contexts/ResourceWorkspaceContext.js +9 -2
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +10 -1
- package/src/react-extension/contexts/UserSettingsContext.js +1 -2
- package/src/react-extension/contexts/UserWorkspaceContext.js +35 -10
- package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +13 -0
- package/src/react-extension/contexts/UserWorkspaceContext.test.page.js +6 -1
- package/src/react-extension/contexts/WorkflowContext.js +89 -0
- package/src/react-extension/contexts/WorkflowContext.test.data.js +27 -0
- package/src/react-extension/lib/Error/GpgKeyError.js +22 -0
- package/src/react-extension/lib/Error/InvalidMasterPasswordError.js +23 -0
- package/src/react-extension/lib/Error/ServerKeyChangedError.js +22 -0
- package/src/react-extension/test/fixture/Settings/siteSettings.js +4 -0
- package/src/react-extension/test/fixture/Settings/userSettings.js +1 -1
- package/src/react-extension/test/mock/MockPort.js +2 -2
- package/src/react-extension/test/mock/MockStorage.js +0 -2
- package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +2 -1
- package/src/react-extension/test/mock/components/React/mockSetState.js +22 -0
- package/src/react-quickaccess/ExtQuickAccess.js +10 -1
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +1 -1
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +6 -10
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +6 -10
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +2 -6
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +1 -0
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +17 -3
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +5 -3
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +31 -2
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +1 -1
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +32 -3
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +6 -3
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +29 -19
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.data.js +2 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +12 -9
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +1 -1
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +127 -164
- package/src/react-web-integration/lib/Dom/DomUtils.js +23 -1
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +7 -1
- package/src/react-web-integration/lib/InForm/InFormManager.js +24 -14
- package/src/react-web-integration/lib/InForm/InformManager.test.data.js +80 -2
- package/src/react-web-integration/lib/InForm/InformManager.test.js +147 -7
- package/src/react-web-integration/lib/InForm/InformManager.test.page.js +16 -2
- package/src/shared/lib/Error/EntityValidationError.js +81 -0
- package/src/shared/lib/apiClient/apiClient.test.js +1 -1
- package/src/shared/services/accountRecovery/ApiAppAccountRecoveryUserService.js +78 -0
- package/src/shared/services/accountRecovery/ExtAppAccountRecoveryUserService.js +24 -0
- package/test/jest.setup.js +8 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +0 -97
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +0 -33
- package/src/react-extension/components/Authentication/CheckPassphrase/GenerateKeyOnPassphraseLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/CheckPassphrase/HelpOnPassphraseLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/CheckPassphrase/HelpOnPrivateKeyLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/ImportGpgKey/GenerateKeySecondaryAction.js +0 -40
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +0 -11
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +0 -34
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.js +0 -87
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +0 -33
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginInProgress.js +0 -49
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +0 -33
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLogin.js +0 -102
- package/src/react-extension/components/Internationalisation/ChangeLocale/ChangeExtAuthenticationLocale.js +0 -63
- package/src/react-extension/contexts/AuthenticationContext.js +0 -467
- package/src/react-extension/contexts/AuthenticationContext.test.data.js +0 -15
- package/src/react-extension/contexts/AuthenticationContext.test.js +0 -252
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.6.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {fireEvent, render, waitFor} from "@testing-library/react";
|
|
16
|
+
import React from "react";
|
|
17
|
+
import DisplayAdministrationAccountRecoveryActions from "./DisplayAdministrationAccountRecoveryActions";
|
|
18
|
+
import MockTranslationProvider from "../../../../test/mock/components/Internationalisation/MockTranslationProvider";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The DisplayAdministrationAccountRecoveryActions component represented as a page
|
|
22
|
+
*/
|
|
23
|
+
export default class DisplayAdministrationAccountRecoveryActionsPage {
|
|
24
|
+
/**
|
|
25
|
+
* Default constructor
|
|
26
|
+
* @param props Props to attach
|
|
27
|
+
*/
|
|
28
|
+
constructor(props) {
|
|
29
|
+
this._page = render(
|
|
30
|
+
<MockTranslationProvider>
|
|
31
|
+
<DisplayAdministrationAccountRecoveryActions {...props}/>
|
|
32
|
+
</MockTranslationProvider>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Returns the workspace action
|
|
38
|
+
*/
|
|
39
|
+
get workspaceAction() {
|
|
40
|
+
return this._page.container.querySelector('.actions');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Returns the number of actions
|
|
45
|
+
*/
|
|
46
|
+
get count() {
|
|
47
|
+
return this._page.container.querySelectorAll('li').length;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Returns the save button
|
|
52
|
+
*/
|
|
53
|
+
get saveButton() {
|
|
54
|
+
return this._page.container.querySelectorAll('li a')[0];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Returns the reset button
|
|
59
|
+
*/
|
|
60
|
+
get resetButton() {
|
|
61
|
+
return this._page.container.querySelectorAll('li a')[1];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Returns true if the page object exists in the container
|
|
66
|
+
*/
|
|
67
|
+
exists() {
|
|
68
|
+
return this.workspaceAction !== null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Click on the element */
|
|
72
|
+
async click(element) {
|
|
73
|
+
const leftClick = {button: 0};
|
|
74
|
+
fireEvent.click(element, leftClick);
|
|
75
|
+
await waitFor(() => {
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** Click on the save element */
|
|
80
|
+
async save() {
|
|
81
|
+
await this.click(this.saveButton);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Click on the reset element */
|
|
85
|
+
async reset() {
|
|
86
|
+
await this.click(this.resetButton);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
@@ -59,6 +59,8 @@ class DisplayAdministrationWorkspaceBreadcrumb extends Component {
|
|
|
59
59
|
return this.translate("Subscription");
|
|
60
60
|
case AdministrationWorkspaceMenuTypes.INTERNATIONALIZATION:
|
|
61
61
|
return this.translate("Internationalisation");
|
|
62
|
+
case AdministrationWorkspaceMenuTypes.ACCOUNT_RECOVERY:
|
|
63
|
+
return this.translate("Account Recovery");
|
|
62
64
|
default:
|
|
63
65
|
return "";
|
|
64
66
|
}
|
|
@@ -84,4 +84,13 @@ describe("As AD I can see a Breadcrumb", () => {
|
|
|
84
84
|
expect(page.item(2)).toBe("Internationalisation");
|
|
85
85
|
expect(page.item(3)).toBe("Settings");
|
|
86
86
|
});
|
|
87
|
+
|
|
88
|
+
it('As AD I should see a breadcrumb for account recovery', () => {
|
|
89
|
+
const props = defaultProps(AdministrationWorkspaceMenuTypes.ACCOUNT_RECOVERY); // The props to pass
|
|
90
|
+
page = new DisplayAdministrationWorkspaceBreadcrumbPage(context, props);
|
|
91
|
+
expect(page.count).toBe(3);
|
|
92
|
+
expect(page.item(1)).toBe("Administration");
|
|
93
|
+
expect(page.item(2)).toBe("Account Recovery");
|
|
94
|
+
expect(page.item(3)).toBe("Settings");
|
|
95
|
+
});
|
|
87
96
|
});
|
|
@@ -77,7 +77,17 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
77
77
|
showUri: true, // show uri in email
|
|
78
78
|
showUsername: true, // show username in email
|
|
79
79
|
// Comments
|
|
80
|
-
showComment: true, // show comment in email
|
|
80
|
+
showComment: true, // show comment in email,
|
|
81
|
+
// Account Recovery
|
|
82
|
+
|
|
83
|
+
accountRecoveryRequestAdmin: true, //send email to the admins when a user did an account recovery request
|
|
84
|
+
accountRecoveryRequestGuessing: true, //send email to the admin when a suspicious attempt to recovery a key is made
|
|
85
|
+
accountRecoveryRequestCreatedAmin: true, //send email to the admin when when an account recovery response has been created
|
|
86
|
+
accountRecoveryRequestCreatedAllAdmins: true, //send email to all admins when an account recovery response has been created
|
|
87
|
+
accountRecoveryRequestPolicyUpdate: true, //send email to the admins when the account recovery organization policy has been updated
|
|
88
|
+
accountRecoveryRequestUser: true, //send email to the user when an account recovery request has been made
|
|
89
|
+
accountRecoveryRequestUserApproved: true, //send email to the user when the account recovery request has been approved
|
|
90
|
+
accountRecoveryRequestUserRejected: true, //send email to the user when the account recovery request has been rejected
|
|
81
91
|
};
|
|
82
92
|
}
|
|
83
93
|
|
|
@@ -155,6 +165,16 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
155
165
|
// Comments
|
|
156
166
|
const showComment = body.show_comment;
|
|
157
167
|
|
|
168
|
+
// Account recovery
|
|
169
|
+
const accountRecoveryRequestUser = body.send_accountRecovery_request_user;
|
|
170
|
+
const accountRecoveryRequestAdmin = body.send_accountRecovery_request_admin;
|
|
171
|
+
const accountRecoveryRequestGuessing = body.send_accountRecovery_request_guessing;
|
|
172
|
+
const accountRecoveryRequestUserApproved = body.send_accountRecovery_response_user_approved;
|
|
173
|
+
const accountRecoveryRequestUserRejected = body.send_accountRecovery_response_user_rejected;
|
|
174
|
+
const accountRecoveryRequestCreatedAmin = body.send_accountRecovery_response_created_admin;
|
|
175
|
+
const accountRecoveryRequestCreatedAllAdmins = body.send_accountRecovery_response_created_allAdmins;
|
|
176
|
+
const accountRecoveryRequestPolicyUpdate = body.send_accountRecovery_policy_update;
|
|
177
|
+
|
|
158
178
|
this.setState({
|
|
159
179
|
loading: false,
|
|
160
180
|
hasDatabaseSetting,
|
|
@@ -179,7 +199,15 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
179
199
|
showSecret,
|
|
180
200
|
showUri,
|
|
181
201
|
showUsername,
|
|
182
|
-
showComment
|
|
202
|
+
showComment,
|
|
203
|
+
accountRecoveryRequestUser,
|
|
204
|
+
accountRecoveryRequestAdmin,
|
|
205
|
+
accountRecoveryRequestGuessing,
|
|
206
|
+
accountRecoveryRequestUserApproved,
|
|
207
|
+
accountRecoveryRequestUserRejected,
|
|
208
|
+
accountRecoveryRequestCreatedAmin,
|
|
209
|
+
accountRecoveryRequestCreatedAllAdmins,
|
|
210
|
+
accountRecoveryRequestPolicyUpdate,
|
|
183
211
|
});
|
|
184
212
|
}
|
|
185
213
|
|
|
@@ -255,6 +283,14 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
255
283
|
send_group_manager_update: this.state.groupManagerUpdate,
|
|
256
284
|
send_user_create: this.state.userCreate,
|
|
257
285
|
send_user_recover: this.state.userRecover,
|
|
286
|
+
send_accountRecovery_request_user: this.state.accountRecoveryRequestUser,
|
|
287
|
+
send_accountRecovery_request_admin: this.state.accountRecoveryRequestAdmin,
|
|
288
|
+
send_accountRecovery_request_guessing: this.state.accountRecoveryRequestGuessing,
|
|
289
|
+
send_accountRecovery_response_user_approved: this.state.accountRecoveryRequestUserApproved,
|
|
290
|
+
send_accountRecovery_response_user_rejected: this.state.accountRecoveryRequestUserRejected,
|
|
291
|
+
send_accountRecovery_response_created_admin: this.state.accountRecoveryRequestCreatedAmin,
|
|
292
|
+
send_accountRecovery_response_created_allAdmins: this.state.accountRecoveryRequestCreatedAllAdmins,
|
|
293
|
+
send_accountRecovery_policy_update: this.state.accountRecoveryRequestPolicyUpdate,
|
|
258
294
|
show_description: this.state.showDescription,
|
|
259
295
|
show_secret: this.state.showSecret,
|
|
260
296
|
show_uri: this.state.showUri,
|
|
@@ -330,6 +366,14 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
330
366
|
return this.props.context.siteSettings.canIUse("folders");
|
|
331
367
|
}
|
|
332
368
|
|
|
369
|
+
/**
|
|
370
|
+
* Can use folders
|
|
371
|
+
* @returns {*}
|
|
372
|
+
*/
|
|
373
|
+
canUseAccountRecovery() {
|
|
374
|
+
return this.props.context.siteSettings.canIUse("accountRecovery");
|
|
375
|
+
}
|
|
376
|
+
|
|
333
377
|
/**
|
|
334
378
|
* Get the translate function
|
|
335
379
|
* @returns {function(...[*]=)}
|
|
@@ -485,6 +529,65 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
485
529
|
</span>
|
|
486
530
|
</div>
|
|
487
531
|
</div>
|
|
532
|
+
{this.canUseAccountRecovery() &&
|
|
533
|
+
<div className="row">
|
|
534
|
+
<h3><Trans>Account recovery</Trans></h3>
|
|
535
|
+
<div className="col6">
|
|
536
|
+
<label><Trans>Admin</Trans></label>
|
|
537
|
+
<span className="input toggle-switch form-element">
|
|
538
|
+
<label htmlFor="account-recovery-request-admin-toggle-button"><Trans>When an account recovery is requested, notify the administrators</Trans></label>
|
|
539
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestAdmin" disabled={this.hasAllInputDisabled()}
|
|
540
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestAdmin} id="account-recovery-request-admin-toggle-button"/>
|
|
541
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-request-admin-toggle-button"/>
|
|
542
|
+
</span>
|
|
543
|
+
<span className="input toggle-switch form-element ready">
|
|
544
|
+
<label htmlFor="account-recovery-request-guessing-toggle-button"><Trans>When a suspicious attempt to guess for an existing account recovery request is made, notify the administrators?</Trans></label>
|
|
545
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestGuessing" disabled={this.hasAllInputDisabled()}
|
|
546
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestGuessing} id="account-recovery-request-guessing-toggle-button"/>
|
|
547
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-request-guessing-toggle-button"/>
|
|
548
|
+
</span>
|
|
549
|
+
<span className="input toggle-switch form-element">
|
|
550
|
+
<label htmlFor="account-recovery-policy-update-toggle-button"><Trans>When an account recovery policy is updated, notify the administrators</Trans></label>
|
|
551
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestPolicyUpdate" disabled={this.hasAllInputDisabled()}
|
|
552
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestPolicyUpdate} id="account-recovery-policy-update-toggle-button"/>
|
|
553
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-policy-update-toggle-button"/>
|
|
554
|
+
</span>
|
|
555
|
+
<span className="input toggle-switch form-element">
|
|
556
|
+
<label htmlFor="account-recovery-response-created-admin-toggle-button"><Trans>When an administrator answered to an account recovery request, notify the administrator</Trans></label>
|
|
557
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestCreatedAmin" disabled={this.hasAllInputDisabled()}
|
|
558
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestCreatedAmin} id="account-recovery-response-created-admin-toggle-button"/>
|
|
559
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-response-created-admin-toggle-button"/>
|
|
560
|
+
</span>
|
|
561
|
+
<span className="input toggle-switch form-element">
|
|
562
|
+
<label htmlFor="account-recovery-response-created-all-admin-toggle-button"><Trans>When an administrator answered to an account recovery request, notify all the administrators</Trans></label>
|
|
563
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestCreatedAllAdmins" disabled={this.hasAllInputDisabled()}
|
|
564
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestCreatedAllAdmins} id="account-recovery-response-created-all-admin-toggle-button"/>
|
|
565
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-response-created-all-admin-toggle-button"/>
|
|
566
|
+
</span>
|
|
567
|
+
</div>
|
|
568
|
+
<div className="col6 last">
|
|
569
|
+
<label><Trans>User</Trans></label>
|
|
570
|
+
<span className="input toggle-switch form-element">
|
|
571
|
+
<label htmlFor="account-recovery-request-user-toggle-button"><Trans>When an account recovery is requested, notify the user</Trans></label>
|
|
572
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestUser" disabled={this.hasAllInputDisabled()}
|
|
573
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestUser} id="account-recovery-request-user-toggle-button"/>
|
|
574
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-request-user-toggle-button"/>
|
|
575
|
+
</span>
|
|
576
|
+
<span className="input toggle-switch form-element">
|
|
577
|
+
<label htmlFor="account-recovery-response-user-approved-toggle-button"><Trans>When an account recovery is approved, notify the user</Trans></label>
|
|
578
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestUserApproved" disabled={this.hasAllInputDisabled()}
|
|
579
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestUserApproved} id="account-recovery-response-user-approved-toggle-button"/>
|
|
580
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-response-user-approved-toggle-button"/>
|
|
581
|
+
</span>
|
|
582
|
+
<span className="input toggle-switch form-element">
|
|
583
|
+
<label htmlFor="account-recovery-response-user-rejected-toggle-button"><Trans>When an account recovery is rejected, notify the user</Trans></label>
|
|
584
|
+
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="accountRecoveryRequestUserRejected" disabled={this.hasAllInputDisabled()}
|
|
585
|
+
onChange={this.handleInputChange} checked={this.state.accountRecoveryRequestUserRejected} id="account-recovery-response-user-rejected-toggle-button"/>
|
|
586
|
+
<label className="toggle-switch-button" htmlFor="account-recovery-response-user-rejected-toggle-button"/>
|
|
587
|
+
</span>
|
|
588
|
+
</div>
|
|
589
|
+
</div>
|
|
590
|
+
}
|
|
488
591
|
<div className="row">
|
|
489
592
|
<h3><Trans>Email content visibility</Trans></h3>
|
|
490
593
|
<p><Trans>In this section you can adjust the composition of the emails, e.g. which information will be included in the notification.</Trans></p>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.6.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {MemoryRouter, Route} from "react-router-dom";
|
|
16
|
+
import React from "react";
|
|
17
|
+
import AppContext from "../../../contexts/AppContext";
|
|
18
|
+
import PropTypes from "prop-types";
|
|
19
|
+
import DisplayEmailNotificationsAdministration from "./DisplayEmailNotificationsAdministration";
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
title: 'Passbolt/Administration/DisplayEmailNotificationsAdministration',
|
|
23
|
+
component: DisplayEmailNotificationsAdministration
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const Template = ({context, ...args}) =>
|
|
27
|
+
<AppContext.Provider value={context}>
|
|
28
|
+
<MemoryRouter initialEntries={['/']}>
|
|
29
|
+
<div className="panel middle">
|
|
30
|
+
<div className="workspace-main">
|
|
31
|
+
<div className="grid grid-responsive-12">
|
|
32
|
+
<Route component={routerProps => <DisplayEmailNotificationsAdministration {...args} {...routerProps}/>}></Route>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</MemoryRouter>
|
|
37
|
+
</AppContext.Provider>;
|
|
38
|
+
|
|
39
|
+
Template.propTypes = {
|
|
40
|
+
context: PropTypes.object,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const administrationWorkspaceContext = {
|
|
44
|
+
onGetEmailNotificationsRequested: () => ({
|
|
45
|
+
body: {
|
|
46
|
+
sources_database: true,
|
|
47
|
+
sources_file: true,
|
|
48
|
+
send_password_create: true,
|
|
49
|
+
send_password_share: true,
|
|
50
|
+
send_password_update: true,
|
|
51
|
+
send_password_delete: true,
|
|
52
|
+
send_folder_create: true,
|
|
53
|
+
send_folder_update: true,
|
|
54
|
+
send_folder_delete: true,
|
|
55
|
+
send_folder_share: true,
|
|
56
|
+
send_comment_add: true,
|
|
57
|
+
send_group_delete: true,
|
|
58
|
+
send_group_user_add: true,
|
|
59
|
+
send_group_user_delete: true,
|
|
60
|
+
send_group_user_update: true,
|
|
61
|
+
send_group_manager_update: true,
|
|
62
|
+
send_user_create: true,
|
|
63
|
+
send_user_recover: true,
|
|
64
|
+
show_description: true,
|
|
65
|
+
show_secret: true,
|
|
66
|
+
show_uri: true,
|
|
67
|
+
show_username: true,
|
|
68
|
+
show_comment: true,
|
|
69
|
+
send_account_recovery_impossible_admin: true,
|
|
70
|
+
send_account_recovery_initiated: true,
|
|
71
|
+
send_account_recovery_processed: true,
|
|
72
|
+
send_account_recovery_policy_changed: true,
|
|
73
|
+
send_account_recovery_impossible_user: true,
|
|
74
|
+
send_account_recovery_approved: true,
|
|
75
|
+
send_account_recovery_rejected: true,
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
must: {
|
|
79
|
+
save: true
|
|
80
|
+
},
|
|
81
|
+
can: {
|
|
82
|
+
save: true
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const AllNotifications = Template.bind({});
|
|
87
|
+
AllNotifications.args = {
|
|
88
|
+
context: {
|
|
89
|
+
siteSettings: {
|
|
90
|
+
canIUse: () => true
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
administrationWorkspaceContext: administrationWorkspaceContext
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export const AllNotificationsForCE = Template.bind({});
|
|
97
|
+
AllNotificationsForCE.args = {
|
|
98
|
+
context: {
|
|
99
|
+
siteSettings: {
|
|
100
|
+
canIUse: () => false
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
administrationWorkspaceContext: administrationWorkspaceContext
|
|
104
|
+
};
|
package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js
CHANGED
|
@@ -212,11 +212,9 @@ class EditSubscriptionKey extends Component {
|
|
|
212
212
|
// Unexpected error occurred.
|
|
213
213
|
console.error(error);
|
|
214
214
|
const errorDialogProps = {
|
|
215
|
-
|
|
216
|
-
message: error.message
|
|
215
|
+
error: error
|
|
217
216
|
};
|
|
218
|
-
this.props.
|
|
219
|
-
this.props.dialogContext.open(NotifyError);
|
|
217
|
+
this.props.dialogContext.open(NotifyError, errorDialogProps);
|
|
220
218
|
}
|
|
221
219
|
}
|
|
222
220
|
|
|
@@ -21,6 +21,7 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
21
21
|
it('As AD I should be able to paste my subscription key', async() => {
|
|
22
22
|
const expectedPrivateKey = 'Some subscription key';
|
|
23
23
|
await page.fill(expectedPrivateKey);
|
|
24
|
+
expect.assertions(1);
|
|
24
25
|
expect(page.subscriptionKey).toBe(expectedPrivateKey);
|
|
25
26
|
});
|
|
26
27
|
|
|
@@ -35,6 +36,7 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
35
36
|
};
|
|
36
37
|
await page.fill("some subscription key");
|
|
37
38
|
await page.updateKey(inProgressFn);
|
|
39
|
+
expect.assertions(5);
|
|
38
40
|
expect(props.administrationWorkspaceContext.onUpdateSubscriptionKeyRequested).toHaveBeenCalled();
|
|
39
41
|
expect(verifyResolve).toBeDefined();
|
|
40
42
|
});
|
|
@@ -47,6 +49,7 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
47
49
|
expect(page.saveButtonIsProcessing).toBeTruthy();
|
|
48
50
|
verifyResolve();
|
|
49
51
|
};
|
|
52
|
+
expect.assertions(5);
|
|
50
53
|
await page.fill("some subscription key");
|
|
51
54
|
await page.updateKey(inProgressFn);
|
|
52
55
|
expect(props.administrationWorkspaceContext.onUpdateSubscriptionKeyRequested).toHaveBeenCalled();
|
|
@@ -58,6 +61,7 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
58
61
|
const emptyPrivateKey = ' ';
|
|
59
62
|
await page.fill(emptyPrivateKey);
|
|
60
63
|
await page.updateKey();
|
|
64
|
+
expect.assertions(2);
|
|
61
65
|
expect(page.hasSubscriptionKeyError).toBeTruthy();
|
|
62
66
|
expect(page.subscriptionKeyErrorMessage).toBe("A subscription key is required.");
|
|
63
67
|
});
|
|
@@ -67,6 +71,7 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
67
71
|
jest.spyOn(props.administrationWorkspaceContext, 'onUpdateSubscriptionKeyRequested').mockImplementationOnce(() => Promise.reject(expectedError));
|
|
68
72
|
await page.fill('Some subscription key');
|
|
69
73
|
await page.updateKey();
|
|
74
|
+
expect.assertions(2);
|
|
70
75
|
expect(page.hasSubscriptionKeyError).toBeTruthy();
|
|
71
76
|
expect(page.subscriptionKeyErrorMessage).toBe("The key is invalid.");
|
|
72
77
|
});
|
|
@@ -76,16 +81,18 @@ describe("As AD I should edit the subscription key", () => {
|
|
|
76
81
|
jest.spyOn(props.administrationWorkspaceContext, 'onUpdateSubscriptionKeyRequested').mockImplementationOnce(() => Promise.reject(expectedError));
|
|
77
82
|
await page.fill('Some subscription key');
|
|
78
83
|
await page.updateKey();
|
|
84
|
+
expect.assertions(2);
|
|
79
85
|
expect(page.hasSubscriptionKeyError).toBeTruthy();
|
|
80
86
|
expect(page.subscriptionKeyErrorMessage).toBe("The subscription key is invalid.");
|
|
81
87
|
});
|
|
82
88
|
|
|
83
89
|
it('As AD I should see an error if the submission failed for an unexpected reason', async() => {
|
|
84
|
-
const
|
|
85
|
-
jest.spyOn(props.administrationWorkspaceContext, 'onUpdateSubscriptionKeyRequested').mockImplementationOnce(() => Promise.reject(
|
|
90
|
+
const error = new Error('Some error');
|
|
91
|
+
jest.spyOn(props.administrationWorkspaceContext, 'onUpdateSubscriptionKeyRequested').mockImplementationOnce(() => Promise.reject(error));
|
|
86
92
|
jest.spyOn(props.dialogContext, 'open').mockImplementationOnce(jest.fn());
|
|
87
93
|
await page.fill('Some subscription key');
|
|
88
94
|
await page.updateKey();
|
|
89
|
-
expect
|
|
95
|
+
expect.assertions(1);
|
|
96
|
+
expect(props.dialogContext.open).toBeCalledWith(NotifyError, {error: error});
|
|
90
97
|
});
|
|
91
98
|
});
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.6.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import React from "react";
|
|
16
|
+
import {withTranslation} from "react-i18next";
|
|
17
|
+
import PropTypes from "prop-types";
|
|
18
|
+
import {withAdminAccountRecovery} from "../../../contexts/AdminAccountRecoveryContext";
|
|
19
|
+
import {withDialog} from "../../../contexts/DialogContext";
|
|
20
|
+
import ProvideAccountRecoveryOrganizationKey from "../ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey";
|
|
21
|
+
import ConfirmSaveAccountRecoverySettings from "../ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings";
|
|
22
|
+
import {withActionFeedback} from "../../../contexts/ActionFeedbackContext";
|
|
23
|
+
import {withAppContext} from "../../../contexts/AppContext";
|
|
24
|
+
import NotifyError from "../../Common/Error/NotifyError/NotifyError";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* This component handle the account recovery organization policy save.
|
|
28
|
+
*/
|
|
29
|
+
class HandleSaveAccountRecoveryOrganizationPolicyWorkflow extends React.Component {
|
|
30
|
+
/**
|
|
31
|
+
* Default constructor
|
|
32
|
+
*/
|
|
33
|
+
constructor(props) {
|
|
34
|
+
super(props);
|
|
35
|
+
this.bindCallbacks();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* ComponentDidMount
|
|
40
|
+
* Invoked immediately after component is inserted into the tree
|
|
41
|
+
* @return {void}
|
|
42
|
+
*/
|
|
43
|
+
componentDidMount() {
|
|
44
|
+
this.displayConfirmSummaryDialog();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Bind callbacks methods
|
|
49
|
+
*/
|
|
50
|
+
bindCallbacks() {
|
|
51
|
+
this.handleCloseDialog = this.handleCloseDialog.bind(this);
|
|
52
|
+
this.handleConfirmSave = this.handleConfirmSave.bind(this);
|
|
53
|
+
this.handleSave = this.handleSave.bind(this);
|
|
54
|
+
this.handleError = this.handleError.bind(this);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Display the confirmation summary dialog
|
|
59
|
+
* @returns {Promise<void>}
|
|
60
|
+
*/
|
|
61
|
+
async displayConfirmSummaryDialog() {
|
|
62
|
+
this.props.dialogContext.open(ConfirmSaveAccountRecoverySettings, {
|
|
63
|
+
policy: this.props.adminAccountRecoveryContext.policyChanges?.policy,
|
|
64
|
+
keyInfo: await this.getNewOrganizationKeyInfo(),
|
|
65
|
+
onClose: this.handleCloseDialog,
|
|
66
|
+
onSubmit: this.handleConfirmSave
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Get the new organization public key info.
|
|
72
|
+
* @returns {Promise<null|object>}
|
|
73
|
+
*/
|
|
74
|
+
getNewOrganizationKeyInfo() {
|
|
75
|
+
const organizationKey = this.props.adminAccountRecoveryContext.policyChanges?.publicKey;
|
|
76
|
+
if (organizationKey) {
|
|
77
|
+
return this.props.adminAccountRecoveryContext.getKeyInfo(organizationKey);
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Display the capture account recovery organization key dialog dialog
|
|
84
|
+
* @returns {Promise<void>}
|
|
85
|
+
*/
|
|
86
|
+
displayProvideAccountRecoveryOrganizationKeyDialog() {
|
|
87
|
+
this.props.dialogContext.open(ProvideAccountRecoveryOrganizationKey, {
|
|
88
|
+
onClose: this.handleCloseDialog,
|
|
89
|
+
onSubmit: this.handleSave,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Whenever the user close a dialog, stop the workflow.
|
|
95
|
+
*/
|
|
96
|
+
handleCloseDialog() {
|
|
97
|
+
this.props.onStop();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Handle the confirmation.
|
|
102
|
+
* @return {Promise<void>}
|
|
103
|
+
*/
|
|
104
|
+
async handleConfirmSave() {
|
|
105
|
+
const hasKey = Boolean(this.props.adminAccountRecoveryContext.currentPolicy?.account_recovery_organization_public_key);
|
|
106
|
+
if (hasKey) {
|
|
107
|
+
this.displayProvideAccountRecoveryOrganizationKeyDialog();
|
|
108
|
+
} else {
|
|
109
|
+
await this.handleSave();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Handle the actual registration of the new ORK.
|
|
115
|
+
* @param {Object|null} privateGpgKeyDto the private ORK given by the admin if any.
|
|
116
|
+
*/
|
|
117
|
+
async handleSave(privateGpgKeyDto = null) {
|
|
118
|
+
try {
|
|
119
|
+
await this.props.adminAccountRecoveryContext.save(privateGpgKeyDto);
|
|
120
|
+
await this.props.actionFeedbackContext.displaySuccess(this.translate("The organization recovery policy has been updated successfully"));
|
|
121
|
+
this.props.onStop();
|
|
122
|
+
} catch (error) {
|
|
123
|
+
this.handleError(error);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Handle error
|
|
129
|
+
* @param error
|
|
130
|
+
*/
|
|
131
|
+
handleError(error) {
|
|
132
|
+
const dialogControlledErrors = [
|
|
133
|
+
"UserAbortsOperationError",
|
|
134
|
+
"WrongOrganizationRecoveryKeyError",
|
|
135
|
+
"InvalidMasterPasswordError",
|
|
136
|
+
"BadSignatureMessageGpgKeyError",
|
|
137
|
+
"GpgKeyError"
|
|
138
|
+
];
|
|
139
|
+
// If the error is controlled by the dialogs, throw it to let the dialogs handle it.
|
|
140
|
+
if (dialogControlledErrors.includes(error.name)) {
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (error.name === "PassboltApiFetchError" && error?.data?.body?.account_recovery_organization_public_key?.fingerprint?.isNotAccountRecoveryOrganizationPublicKeyFingerprintRule) {
|
|
145
|
+
this.props.dialogContext.open(NotifyError, {error: new Error(this.translate("The new organization recovery key should not be a formerly used organization recovery key."))});
|
|
146
|
+
} else {
|
|
147
|
+
// Handle unexpected error.
|
|
148
|
+
this.props.dialogContext.open(NotifyError, {error});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
this.props.onStop();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Get the translate function
|
|
156
|
+
* @returns {function(...[*]=)}
|
|
157
|
+
*/
|
|
158
|
+
get translate() {
|
|
159
|
+
return this.props.t;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Renders the component
|
|
164
|
+
* @returns {JSX.Element}
|
|
165
|
+
*/
|
|
166
|
+
render() {
|
|
167
|
+
return <></>;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
HandleSaveAccountRecoveryOrganizationPolicyWorkflow.propTypes = {
|
|
172
|
+
dialogContext: PropTypes.any, // The dialog context
|
|
173
|
+
adminAccountRecoveryContext: PropTypes.any, // the admin account recovery context
|
|
174
|
+
actionFeedbackContext: PropTypes.object, // the admin action feedback context
|
|
175
|
+
context: PropTypes.object, // the app context,
|
|
176
|
+
onStop: PropTypes.func.isRequired, // The callback to stop the workflow
|
|
177
|
+
t: PropTypes.func // the translation function
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export default withAppContext(withDialog(withActionFeedback(withAdminAccountRecovery(withTranslation("common")(HandleSaveAccountRecoveryOrganizationPolicyWorkflow)))));
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.6.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {defaultAdminAccountRecoveryContext} from "../../../contexts/AdminAccountRecoveryContext.test.data";
|
|
16
|
+
import {defaultDialogContext} from "../../../contexts/DialogContext.test.data";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Default props
|
|
20
|
+
* @param {Object} props The override
|
|
21
|
+
* @returns {object}
|
|
22
|
+
*/
|
|
23
|
+
export function defaultProps(props = {}) {
|
|
24
|
+
const _props = {
|
|
25
|
+
adminAccountRecoveryContext: defaultAdminAccountRecoveryContext(props?.adminAccountRecoveryContext),
|
|
26
|
+
dialogContext: defaultDialogContext(props?.dialogContext),
|
|
27
|
+
};
|
|
28
|
+
delete props?.adminAccountRecoveryContext; // Treated in the default
|
|
29
|
+
delete props?.dialogContext; // Treated in the default
|
|
30
|
+
return Object.assign(_props, props);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Has policy changes props
|
|
35
|
+
* @param {Object} props The override
|
|
36
|
+
* @returns {object}
|
|
37
|
+
*/
|
|
38
|
+
export function hasPolicyChangesProps(props = {}) {
|
|
39
|
+
const _props = {
|
|
40
|
+
adminAccountRecoveryContext: {
|
|
41
|
+
policyChanges: {
|
|
42
|
+
policy: "opt-in"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
return defaultProps(Object.assign(_props, props));
|
|
47
|
+
}
|