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
|
@@ -22,25 +22,25 @@ import {
|
|
|
22
22
|
domElementLoginWithAutocompleteAttributeUsername,
|
|
23
23
|
domElementLoginWithClassEmail,
|
|
24
24
|
domElementLoginWithClassUsername,
|
|
25
|
-
domElementLoginWithIdAttributeEmail,
|
|
25
|
+
domElementLoginWithIdAttributeEmail, domElementLoginWithIdAttributeLogin,
|
|
26
26
|
domElementLoginWithIdAttributeUsername,
|
|
27
|
-
domElementLoginWithNameAttributeEmail,
|
|
27
|
+
domElementLoginWithNameAttributeEmail, domElementLoginWithNameAttributeLogin,
|
|
28
28
|
domElementLoginWithNameAttributeUsername,
|
|
29
29
|
domElementLoginWithNoTypeAndAutocompleteAttributeEmail,
|
|
30
30
|
domElementLoginWithNoTypeAndAutocompleteAttributeUsername,
|
|
31
31
|
domElementLoginWithNoTypeAndClassEmail,
|
|
32
32
|
domElementLoginWithNoTypeAndClassUsername,
|
|
33
|
-
domElementLoginWithNoTypeAndIdAttributeEmail,
|
|
33
|
+
domElementLoginWithNoTypeAndIdAttributeEmail, domElementLoginWithNoTypeAndIdAttributeLogin,
|
|
34
34
|
domElementLoginWithNoTypeAndIdAttributeUsername,
|
|
35
|
-
domElementLoginWithNoTypeAndNameAttributeEmail,
|
|
36
|
-
domElementLoginWithNoTypeAndNameAttributeUsername,
|
|
35
|
+
domElementLoginWithNoTypeAndNameAttributeEmail, domElementLoginWithNoTypeAndNameAttributeLogin,
|
|
36
|
+
domElementLoginWithNoTypeAndNameAttributeUsername, domElementLoginWithNoTypeAndPlaceHolderAttributeE_mail,
|
|
37
37
|
domElementLoginWithNoTypeAndPlaceHolderAttributeEmail,
|
|
38
|
-
domElementLoginWithNoTypeAndPlaceHolderAttributeUsername,
|
|
38
|
+
domElementLoginWithNoTypeAndPlaceHolderAttributeUsername, domElementLoginWithPlaceHolderAttributeE_mail,
|
|
39
39
|
domElementLoginWithPlaceHolderAttributeEmail,
|
|
40
40
|
domElementLoginWithPlaceHolderAttributeUsername,
|
|
41
41
|
domElementLoginWithSubmitButton,
|
|
42
42
|
domElementOnlyPassword,
|
|
43
|
-
domElementOnlyUsername,
|
|
43
|
+
domElementOnlyUsername, domElementWithMultipleLogin,
|
|
44
44
|
domElementWithNoUsernamePassword,
|
|
45
45
|
initializeWindow
|
|
46
46
|
} from "./InformManager.test.data";
|
|
@@ -97,6 +97,25 @@ describe("InformManager", () => {
|
|
|
97
97
|
expect(informManager.iframesLength).toBe(2);
|
|
98
98
|
});
|
|
99
99
|
|
|
100
|
+
it("As LU I should see the inform call to action on form with name attribute login", async() => {
|
|
101
|
+
// Set up document body
|
|
102
|
+
document.body.innerHTML = domElementLoginWithNameAttributeLogin; // The Dom
|
|
103
|
+
const informManager = new InformManagerPage();
|
|
104
|
+
expect(informManager.iframesLength).toBe(0);
|
|
105
|
+
await informManager.focusOnUsername();
|
|
106
|
+
expect(informManager.iframesLength).toBe(1);
|
|
107
|
+
await informManager.mouseOverOnPassword();
|
|
108
|
+
expect(informManager.iframesLength).toBe(2);
|
|
109
|
+
await informManager.blurOnUsername();
|
|
110
|
+
expect(informManager.iframesLength).toBe(1);
|
|
111
|
+
await informManager.blurOnPassword();
|
|
112
|
+
expect(informManager.iframesLength).toBe(0);
|
|
113
|
+
await informManager.focusOnPassword();
|
|
114
|
+
expect(informManager.iframesLength).toBe(1);
|
|
115
|
+
await informManager.mouseOverOnUsername();
|
|
116
|
+
expect(informManager.iframesLength).toBe(2);
|
|
117
|
+
});
|
|
118
|
+
|
|
100
119
|
it("As LU I should see the inform call to action on form with no type and name attribute username", async() => {
|
|
101
120
|
// Set up document body
|
|
102
121
|
document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeUsername; // The Dom
|
|
@@ -135,6 +154,25 @@ describe("InformManager", () => {
|
|
|
135
154
|
expect(informManager.iframesLength).toBe(2);
|
|
136
155
|
});
|
|
137
156
|
|
|
157
|
+
it("As LU I should see the inform call to action on form with no type name attribute login", async() => {
|
|
158
|
+
// Set up document body
|
|
159
|
+
document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeLogin; // The Dom
|
|
160
|
+
const informManager = new InformManagerPage();
|
|
161
|
+
expect(informManager.iframesLength).toBe(0);
|
|
162
|
+
await informManager.focusOnUsername();
|
|
163
|
+
expect(informManager.iframesLength).toBe(1);
|
|
164
|
+
await informManager.mouseOverOnPassword();
|
|
165
|
+
expect(informManager.iframesLength).toBe(2);
|
|
166
|
+
await informManager.blurOnUsername();
|
|
167
|
+
expect(informManager.iframesLength).toBe(1);
|
|
168
|
+
await informManager.blurOnPassword();
|
|
169
|
+
expect(informManager.iframesLength).toBe(0);
|
|
170
|
+
await informManager.focusOnPassword();
|
|
171
|
+
expect(informManager.iframesLength).toBe(1);
|
|
172
|
+
await informManager.mouseOverOnUsername();
|
|
173
|
+
expect(informManager.iframesLength).toBe(2);
|
|
174
|
+
});
|
|
175
|
+
|
|
138
176
|
it("As LU I should see the inform call to action on form with id attribute username", async() => {
|
|
139
177
|
// Set up document body
|
|
140
178
|
document.body.innerHTML = domElementLoginWithIdAttributeUsername; // The Dom
|
|
@@ -173,6 +211,25 @@ describe("InformManager", () => {
|
|
|
173
211
|
expect(informManager.iframesLength).toBe(2);
|
|
174
212
|
});
|
|
175
213
|
|
|
214
|
+
it("As LU I should see the inform call to action on form with id attribute login", async() => {
|
|
215
|
+
// Set up document body
|
|
216
|
+
document.body.innerHTML = domElementLoginWithIdAttributeLogin; // The Dom
|
|
217
|
+
const informManager = new InformManagerPage();
|
|
218
|
+
expect(informManager.iframesLength).toBe(0);
|
|
219
|
+
await informManager.focusOnUsername();
|
|
220
|
+
expect(informManager.iframesLength).toBe(1);
|
|
221
|
+
await informManager.mouseOverOnPassword();
|
|
222
|
+
expect(informManager.iframesLength).toBe(2);
|
|
223
|
+
await informManager.blurOnUsername();
|
|
224
|
+
expect(informManager.iframesLength).toBe(1);
|
|
225
|
+
await informManager.blurOnPassword();
|
|
226
|
+
expect(informManager.iframesLength).toBe(0);
|
|
227
|
+
await informManager.focusOnPassword();
|
|
228
|
+
expect(informManager.iframesLength).toBe(1);
|
|
229
|
+
await informManager.mouseOverOnUsername();
|
|
230
|
+
expect(informManager.iframesLength).toBe(2);
|
|
231
|
+
});
|
|
232
|
+
|
|
176
233
|
it("As LU I should see the inform call to action on form with no type and id attribute username", async() => {
|
|
177
234
|
// Set up document body
|
|
178
235
|
document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeUsername; // The Dom
|
|
@@ -211,6 +268,25 @@ describe("InformManager", () => {
|
|
|
211
268
|
expect(informManager.iframesLength).toBe(2);
|
|
212
269
|
});
|
|
213
270
|
|
|
271
|
+
it("As LU I should see the inform call to action on form with no type and id attribute login", async() => {
|
|
272
|
+
// Set up document body
|
|
273
|
+
document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeLogin; // The Dom
|
|
274
|
+
const informManager = new InformManagerPage();
|
|
275
|
+
expect(informManager.iframesLength).toBe(0);
|
|
276
|
+
await informManager.focusOnUsername();
|
|
277
|
+
expect(informManager.iframesLength).toBe(1);
|
|
278
|
+
await informManager.mouseOverOnPassword();
|
|
279
|
+
expect(informManager.iframesLength).toBe(2);
|
|
280
|
+
await informManager.blurOnUsername();
|
|
281
|
+
expect(informManager.iframesLength).toBe(1);
|
|
282
|
+
await informManager.blurOnPassword();
|
|
283
|
+
expect(informManager.iframesLength).toBe(0);
|
|
284
|
+
await informManager.focusOnPassword();
|
|
285
|
+
expect(informManager.iframesLength).toBe(1);
|
|
286
|
+
await informManager.mouseOverOnUsername();
|
|
287
|
+
expect(informManager.iframesLength).toBe(2);
|
|
288
|
+
});
|
|
289
|
+
|
|
214
290
|
it("As LU I should see the inform call to action on form with autocomplete attribute username", async() => {
|
|
215
291
|
// Set up document body
|
|
216
292
|
document.body.innerHTML = domElementLoginWithAutocompleteAttributeUsername; // The Dom
|
|
@@ -325,6 +401,25 @@ describe("InformManager", () => {
|
|
|
325
401
|
expect(informManager.iframesLength).toBe(2);
|
|
326
402
|
});
|
|
327
403
|
|
|
404
|
+
it("As LU I should see the inform call to action on form with placeholder attribute e-mail", async() => {
|
|
405
|
+
// Set up document body
|
|
406
|
+
document.body.innerHTML = domElementLoginWithPlaceHolderAttributeE_mail; // The Dom
|
|
407
|
+
const informManager = new InformManagerPage();
|
|
408
|
+
expect(informManager.iframesLength).toBe(0);
|
|
409
|
+
await informManager.focusOnUsername();
|
|
410
|
+
expect(informManager.iframesLength).toBe(1);
|
|
411
|
+
await informManager.mouseOverOnPassword();
|
|
412
|
+
expect(informManager.iframesLength).toBe(2);
|
|
413
|
+
await informManager.blurOnUsername();
|
|
414
|
+
expect(informManager.iframesLength).toBe(1);
|
|
415
|
+
await informManager.blurOnPassword();
|
|
416
|
+
expect(informManager.iframesLength).toBe(0);
|
|
417
|
+
await informManager.focusOnPassword();
|
|
418
|
+
expect(informManager.iframesLength).toBe(1);
|
|
419
|
+
await informManager.mouseOverOnUsername();
|
|
420
|
+
expect(informManager.iframesLength).toBe(2);
|
|
421
|
+
});
|
|
422
|
+
|
|
328
423
|
it("As LU I should see the inform call to action on form with no type and placeholder attribute username", async() => {
|
|
329
424
|
// Set up document body
|
|
330
425
|
document.body.innerHTML = domElementLoginWithNoTypeAndPlaceHolderAttributeUsername; // The Dom
|
|
@@ -363,6 +458,25 @@ describe("InformManager", () => {
|
|
|
363
458
|
expect(informManager.iframesLength).toBe(2);
|
|
364
459
|
});
|
|
365
460
|
|
|
461
|
+
it("As LU I should see the inform call to action on form with no type and placeholder attribute e-mail", async() => {
|
|
462
|
+
// Set up document body
|
|
463
|
+
document.body.innerHTML = domElementLoginWithNoTypeAndPlaceHolderAttributeE_mail; // The Dom
|
|
464
|
+
const informManager = new InformManagerPage();
|
|
465
|
+
expect(informManager.iframesLength).toBe(0);
|
|
466
|
+
await informManager.focusOnUsername();
|
|
467
|
+
expect(informManager.iframesLength).toBe(1);
|
|
468
|
+
await informManager.mouseOverOnPassword();
|
|
469
|
+
expect(informManager.iframesLength).toBe(2);
|
|
470
|
+
await informManager.blurOnUsername();
|
|
471
|
+
expect(informManager.iframesLength).toBe(1);
|
|
472
|
+
await informManager.blurOnPassword();
|
|
473
|
+
expect(informManager.iframesLength).toBe(0);
|
|
474
|
+
await informManager.focusOnPassword();
|
|
475
|
+
expect(informManager.iframesLength).toBe(1);
|
|
476
|
+
await informManager.mouseOverOnUsername();
|
|
477
|
+
expect(informManager.iframesLength).toBe(2);
|
|
478
|
+
});
|
|
479
|
+
|
|
366
480
|
it("As LU I should see the inform call to action on form with class username", async() => {
|
|
367
481
|
// Set up document body
|
|
368
482
|
document.body.innerHTML = domElementLoginWithClassUsername; // The Dom
|
|
@@ -485,6 +599,32 @@ describe("InformManager", () => {
|
|
|
485
599
|
expect(informManager.username.value).toBe('test');
|
|
486
600
|
});
|
|
487
601
|
|
|
602
|
+
it("As LU I should see the inform call to action when I clicked on it and autofill only fields in the same parent container", async() => {
|
|
603
|
+
// Set up document body
|
|
604
|
+
document.body.innerHTML = domElementWithMultipleLogin; // The Dom
|
|
605
|
+
const informManager = new InformManagerPage();
|
|
606
|
+
expect(informManager.iframesLength).toBe(0);
|
|
607
|
+
await informManager.focusOnUsername();
|
|
608
|
+
expect(informManager.iframesLength).toBe(1);
|
|
609
|
+
await informManager.clickOnInformCallToAction();
|
|
610
|
+
expect(informManager.iframesLength).toBe(1);
|
|
611
|
+
await informManager.blurOnUsername();
|
|
612
|
+
expect(informManager.iframesLength).toBe(0);
|
|
613
|
+
await informManager.focusOnPassword();
|
|
614
|
+
expect(informManager.iframesLength).toBe(1);
|
|
615
|
+
await informManager.clickOnInformCallToAction(2);
|
|
616
|
+
expect(informManager.iframesLength).toBe(1);
|
|
617
|
+
await informManager.blurOnPassword();
|
|
618
|
+
expect(informManager.iframesLength).toBe(0);
|
|
619
|
+
await informManager.autofillCredentials('test', 'password');
|
|
620
|
+
expect(informManager.usernames[0].value).toBe('');
|
|
621
|
+
expect(informManager.passwords[0].value).toBe('');
|
|
622
|
+
expect(informManager.usernames[1].value).toBe('test');
|
|
623
|
+
expect(informManager.passwords[1].value).toBe('password');
|
|
624
|
+
expect(informManager.usernames[2].value).toBe('');
|
|
625
|
+
expect(informManager.passwords[2].value).toBe('');
|
|
626
|
+
});
|
|
627
|
+
|
|
488
628
|
it("As LU I should auto save a form", async() => {
|
|
489
629
|
// Set up document body
|
|
490
630
|
document.body.innerHTML = domElementLoginWithSubmitButton; // The Dom
|
|
@@ -39,6 +39,13 @@ export default class InformManagerPage {
|
|
|
39
39
|
return document.querySelector(InFormFieldSelector.USERNAME_FIELD_SELECTOR);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Returns the usernames element
|
|
44
|
+
*/
|
|
45
|
+
get usernames() {
|
|
46
|
+
return document.querySelectorAll(InFormFieldSelector.USERNAME_FIELD_SELECTOR);
|
|
47
|
+
}
|
|
48
|
+
|
|
42
49
|
/**
|
|
43
50
|
* Returns the password element
|
|
44
51
|
*/
|
|
@@ -46,6 +53,13 @@ export default class InformManagerPage {
|
|
|
46
53
|
return document.querySelector(InFormFieldSelector.PASSWORD_FIELD_SELECTOR);
|
|
47
54
|
}
|
|
48
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Returns the passwords element
|
|
58
|
+
*/
|
|
59
|
+
get passwords() {
|
|
60
|
+
return document.querySelectorAll(InFormFieldSelector.PASSWORD_FIELD_SELECTOR);
|
|
61
|
+
}
|
|
62
|
+
|
|
49
63
|
/**
|
|
50
64
|
* Returns the search element
|
|
51
65
|
*/
|
|
@@ -125,8 +139,8 @@ export default class InformManagerPage {
|
|
|
125
139
|
await waitFor(() => {});
|
|
126
140
|
}
|
|
127
141
|
|
|
128
|
-
async clickOnInformCallToAction() {
|
|
129
|
-
InFormManager.lastCallToActionFieldClicked = InFormManager.callToActionFields[
|
|
142
|
+
async clickOnInformCallToAction(index = 1) {
|
|
143
|
+
InFormManager.lastCallToActionFieldClicked = InFormManager.callToActionFields[index - 1];
|
|
130
144
|
await waitFor(() => {});
|
|
131
145
|
}
|
|
132
146
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 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) 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 2.13.0
|
|
13
|
+
*/
|
|
14
|
+
class EntityValidationError extends Error {
|
|
15
|
+
/**
|
|
16
|
+
* EntityValidationError constructor
|
|
17
|
+
*
|
|
18
|
+
* @param {string} message
|
|
19
|
+
*/
|
|
20
|
+
constructor(message) {
|
|
21
|
+
message = message || 'Entity validation error.';
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'EntityValidationError';
|
|
24
|
+
this.details = {};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Add a given an error for a given property and rule
|
|
29
|
+
*
|
|
30
|
+
* @param {string} property example: name
|
|
31
|
+
* @param {string} rule example: required
|
|
32
|
+
* @param {string} message example: the name is required
|
|
33
|
+
*/
|
|
34
|
+
addError(property, rule, message) {
|
|
35
|
+
if (typeof property !== 'string') {
|
|
36
|
+
throw new TypeError('EntityValidationError addError property should be a string.');
|
|
37
|
+
}
|
|
38
|
+
if (typeof rule !== 'string') {
|
|
39
|
+
throw new TypeError('EntityValidationError addError rule should be a string.');
|
|
40
|
+
}
|
|
41
|
+
if (typeof message !== 'string') {
|
|
42
|
+
throw new TypeError('EntityValidationError addError message should be a string.');
|
|
43
|
+
}
|
|
44
|
+
if (!Object.prototype.hasOwnProperty.call(this.details, property)) {
|
|
45
|
+
this.details[property] = {};
|
|
46
|
+
}
|
|
47
|
+
this.details[property][rule] = message;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Return true if a property has any error or error for the provided rule
|
|
52
|
+
*
|
|
53
|
+
* @param {string} property
|
|
54
|
+
* @param {string} [rule] optional example: required
|
|
55
|
+
* @returns {boolean} true if a given property as an error
|
|
56
|
+
*/
|
|
57
|
+
hasError(property, rule) {
|
|
58
|
+
if (typeof property !== 'string') {
|
|
59
|
+
throw new TypeError('EntityValidationError hasError property should be a string.');
|
|
60
|
+
}
|
|
61
|
+
const hasError = (this.details && Object.prototype.hasOwnProperty.call(this.details, property));
|
|
62
|
+
if (!rule) {
|
|
63
|
+
return hasError;
|
|
64
|
+
}
|
|
65
|
+
if (typeof rule !== 'string') {
|
|
66
|
+
throw new TypeError('EntityValidationError hasError rule should be a string.');
|
|
67
|
+
}
|
|
68
|
+
return Object.prototype.hasOwnProperty.call(this.details[property], rule);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Return true if some error details are present
|
|
73
|
+
*
|
|
74
|
+
* @returns {boolean}
|
|
75
|
+
*/
|
|
76
|
+
hasErrors() {
|
|
77
|
+
return (Object.keys(this.details).length > 0);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default EntityValidationError;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import {ApiClient} from "./apiClient";
|
|
15
15
|
import {ApiClientOptions} from "./apiClientOptions";
|
|
16
|
-
import fetch from '
|
|
16
|
+
import fetch from 'cross-fetch';
|
|
17
17
|
import PassboltServiceUnavailableError from "../Error/PassboltServiceUnavailableError";
|
|
18
18
|
|
|
19
19
|
// Reset the modules before each test.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2020 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) 2020 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 {ApiClient} from "../../lib/apiClient/apiClient";
|
|
16
|
+
import {ApiClientOptions} from "../../lib/apiClient/apiClientOptions";
|
|
17
|
+
|
|
18
|
+
export default class ApiAppAccountRecoveryUserService {
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
this.baseUrl = this.getBaseUrl();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getOrganizationAccountRecoverySettings() {
|
|
25
|
+
const apiClientOptions = this.getApiClientOptions().setResourceName("account-recovery/organization-policies");
|
|
26
|
+
const apiClient = new ApiClient(apiClientOptions);
|
|
27
|
+
const accountRecoverySettings = await apiClient.findAll();
|
|
28
|
+
return accountRecoverySettings.body;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get the application base url
|
|
33
|
+
* @return {string}
|
|
34
|
+
*/
|
|
35
|
+
getBaseUrl() {
|
|
36
|
+
const baseElement = document.getElementsByTagName('base') && document.getElementsByTagName('base')[0];
|
|
37
|
+
if (baseElement) {
|
|
38
|
+
return baseElement.attributes.href.value.replace(/\/*$/g, '');
|
|
39
|
+
}
|
|
40
|
+
console.error("Unable to retrieve the page base tag");
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Get the API client options
|
|
46
|
+
* @returns {ApiClientOptions}
|
|
47
|
+
*/
|
|
48
|
+
getApiClientOptions() {
|
|
49
|
+
return new ApiClientOptions()
|
|
50
|
+
.setBaseUrl(this.baseUrl)
|
|
51
|
+
.setCsrfToken(this.getCsrfToken());
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Get csrf token
|
|
56
|
+
* @returns {string}
|
|
57
|
+
*/
|
|
58
|
+
getCsrfToken() {
|
|
59
|
+
const cookieString = document.cookie;
|
|
60
|
+
if (!cookieString) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const cookieArray = cookieString.split('; ');
|
|
64
|
+
if (!cookieArray) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
const csrfCookie = cookieArray.find(row => row.startsWith('csrfToken'));
|
|
68
|
+
if (!csrfCookie) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const csrfToken = csrfCookie.split('=');
|
|
72
|
+
if (csrfToken && csrfToken.length === 2) {
|
|
73
|
+
return csrfToken[1];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2020 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) 2020 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
|
+
export default class ExtAppAccountRecoveryUserService {
|
|
16
|
+
|
|
17
|
+
constructor(port) {
|
|
18
|
+
this.port = port;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async getOrganizationAccountRecoverySettings() {
|
|
22
|
+
return await this.port.request('passbolt.account-recovery.get-organization-policy');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Passbolt ~ Open source password manager for teams
|
|
3
|
-
* Copyright (c) 2020 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) 2020 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.0.0
|
|
13
|
-
*/
|
|
14
|
-
import React, {Component} from "react";
|
|
15
|
-
import PropTypes from "prop-types";
|
|
16
|
-
import {withAppContext} from "../../../contexts/AppContext";
|
|
17
|
-
import {
|
|
18
|
-
AuthenticationContextProcess,
|
|
19
|
-
withAuthenticationContext
|
|
20
|
-
} from "../../../contexts/AuthenticationContext";
|
|
21
|
-
import {Trans, withTranslation} from "react-i18next";
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* This component propose to help the use who lost his gpg key or passphrase
|
|
25
|
-
*/
|
|
26
|
-
class AskForAuthenticationHelp extends Component {
|
|
27
|
-
/**
|
|
28
|
-
* Default contrustor
|
|
29
|
-
*/
|
|
30
|
-
constructor(props) {
|
|
31
|
-
super(props);
|
|
32
|
-
this.bindEventHandlers();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Handle component event handlers
|
|
38
|
-
*/
|
|
39
|
-
bindEventHandlers() {
|
|
40
|
-
this.onGoToImportGpgKeyRequested = this.onGoToImportGpgKeyRequested.bind(this);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* When the user wants to enter its credentials again
|
|
45
|
-
*/
|
|
46
|
-
onGoToImportGpgKeyRequested() {
|
|
47
|
-
if (this.props.authenticationContext.process === AuthenticationContextProcess.SETUP) {
|
|
48
|
-
this.props.authenticationContext.onGoToImportGpgKeyRequested();
|
|
49
|
-
} else {
|
|
50
|
-
this.props.authenticationContext.onInitializeRecoverRequested();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Get the translate function
|
|
56
|
-
* @returns {function(...[*]=)}
|
|
57
|
-
*/
|
|
58
|
-
get translate() {
|
|
59
|
-
return this.props.t;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Render the component
|
|
64
|
-
* @returns {JSX.Element}
|
|
65
|
-
*/
|
|
66
|
-
render() {
|
|
67
|
-
return (
|
|
68
|
-
<div className="ask-for-authentication-help">
|
|
69
|
-
<h1><Trans>Sorry... maybe an administrator can help?</Trans></h1>
|
|
70
|
-
<p>
|
|
71
|
-
<Trans>Both the private key and passphrase are required to perform an account recovery.</Trans> <Trans>If you do not have access, you can request a new account from the administrator.</Trans>
|
|
72
|
-
</p>
|
|
73
|
-
<div className="form-actions">
|
|
74
|
-
<a
|
|
75
|
-
href={`${this.props.context.trustedDomain}/users/recover`}
|
|
76
|
-
className="button primary big full-width"
|
|
77
|
-
role="button"
|
|
78
|
-
target="_parent"
|
|
79
|
-
rel="noopener noreferrer">
|
|
80
|
-
<Trans>Request new account</Trans>
|
|
81
|
-
</a>
|
|
82
|
-
<a onClick={this.onGoToImportGpgKeyRequested}>
|
|
83
|
-
<Trans>I want to try again.</Trans>
|
|
84
|
-
</a>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
AskForAuthenticationHelp.propTypes = {
|
|
92
|
-
context: PropTypes.object, // The application context
|
|
93
|
-
authenticationContext: PropTypes.any, // The authentication context
|
|
94
|
-
t: PropTypes.func, // The translation function
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
export default withAppContext(withAuthenticationContext(withTranslation('common')(AskForAuthenticationHelp)));
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {MemoryRouter, Route} from "react-router-dom";
|
|
3
|
-
import {AuthenticationContext} from "../../../contexts/AuthenticationContext";
|
|
4
|
-
import AskForAuthenticationHelp from "./AskForAuthenticationHelp";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Passbolt/Authentication/AskForAuthenticationHelp',
|
|
9
|
-
component: AskForAuthenticationHelp
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const context = {
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const Template = args =>
|
|
16
|
-
<AuthenticationContext.Provider value={context}>
|
|
17
|
-
<div id="container" className="container page login">
|
|
18
|
-
<div className="content">
|
|
19
|
-
<div className="login-form">
|
|
20
|
-
<MemoryRouter initialEntries={['/']}>
|
|
21
|
-
<Route component={routerProps => <AskForAuthenticationHelp {...args} {...routerProps}/>}></Route>
|
|
22
|
-
</MemoryRouter>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</AuthenticationContext.Provider>;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export const Initial = Template.bind({});
|
|
30
|
-
|
|
31
|
-
Initial.parameters = {
|
|
32
|
-
css: "ext_authentication"
|
|
33
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Passbolt ~ Open source password manager for teams
|
|
3
|
-
* Copyright (c) 2020 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) 2020 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.0.0
|
|
13
|
-
*/
|
|
14
|
-
import React, {Component} from "react";
|
|
15
|
-
import {withAuthenticationContext} from "../../../contexts/AuthenticationContext";
|
|
16
|
-
import {Trans, withTranslation} from "react-i18next";
|
|
17
|
-
import PropTypes from "prop-types";
|
|
18
|
-
|
|
19
|
-
class GenerateKeyOnPassphraseLostSecondaryAction extends Component {
|
|
20
|
-
/**
|
|
21
|
-
* Get the translate function
|
|
22
|
-
* @returns {function(...[*]=)}
|
|
23
|
-
*/
|
|
24
|
-
get translate() {
|
|
25
|
-
return this.props.t;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
render() {
|
|
29
|
-
return (
|
|
30
|
-
<a onClick={this.props.authenticationContext.onGoToGenerateGpgKeyRequested}>
|
|
31
|
-
<Trans>I lost my passphrase, generate a new private key.</Trans>
|
|
32
|
-
</a>
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
GenerateKeyOnPassphraseLostSecondaryAction.propTypes = {
|
|
38
|
-
authenticationContext: PropTypes.any, // The authentication context
|
|
39
|
-
t: PropTypes.func, // The translation function
|
|
40
|
-
};
|
|
41
|
-
export default withAuthenticationContext(withTranslation('common')(GenerateKeyOnPassphraseLostSecondaryAction));
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Passbolt ~ Open source password manager for teams
|
|
3
|
-
* Copyright (c) 2020 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) 2020 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.0.0
|
|
13
|
-
*/
|
|
14
|
-
import React, {Component} from "react";
|
|
15
|
-
import {withAuthenticationContext} from "../../../contexts/AuthenticationContext";
|
|
16
|
-
import {Trans, withTranslation} from "react-i18next";
|
|
17
|
-
import PropTypes from "prop-types";
|
|
18
|
-
|
|
19
|
-
class HelpOnPassphraseLostSecondaryAction extends Component {
|
|
20
|
-
/**
|
|
21
|
-
* Get the translate function
|
|
22
|
-
* @returns {function(...[*]=)}
|
|
23
|
-
*/
|
|
24
|
-
get translate() {
|
|
25
|
-
return this.props.t;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
render() {
|
|
29
|
-
return (
|
|
30
|
-
<a onClick={this.props.authenticationContext.onPassphraseLost}>
|
|
31
|
-
<Trans>Help, I lost my passphrase.</Trans>
|
|
32
|
-
</a>
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
HelpOnPassphraseLostSecondaryAction.propTypes = {
|
|
38
|
-
authenticationContext: PropTypes.any, // The authentication context
|
|
39
|
-
t: PropTypes.func, // The translation function
|
|
40
|
-
};
|
|
41
|
-
export default withAuthenticationContext(withTranslation('common')(HelpOnPassphraseLostSecondaryAction));
|