passbolt-styleguide 3.3.3 → 3.4.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 +4 -4
- package/build/css/public.min.css +5 -6
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -7
- package/build/css/themes/default/api_main.min.css +4 -9
- package/build/css/themes/default/api_reports.min.css +4 -9
- package/build/css/themes/default/api_webinstaller.min.css +4 -9
- package/build/css/themes/default/ext_app.min.css +4 -9
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +3 -3
- package/build/css/themes/default/ext_in_form_cta.min.css +9 -0
- package/build/css/themes/default/ext_in_form_menu.min.css +9 -0
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +9 -0
- package/build/css/themes/midgar/api_main.min.css +4 -9
- package/build/css/themes/midgar/api_reports.min.css +4 -9
- package/build/css/themes/midgar/ext_app.min.css +4 -9
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +9 -0
- package/build/css/themes/midgar/ext_in_form_menu.min.css +9 -0
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +5 -5
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-recover.js.LICENSE.txt +0 -28
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-setup.js.LICENSE.txt +0 -15
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-triage.js.LICENSE.txt +0 -14
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +146 -84
- package/package.json +31 -26
- package/src/img/controls/chevron-down_blue.svg +3 -0
- package/src/img/diagrams/functional_overview.png +0 -0
- package/src/img/diagrams/functional_overview.svg +4 -0
- package/src/img/diagrams/howitworks.svg +2797 -0
- package/src/img/diagrams/mobile-transfer.svg +296 -0
- package/src/img/diagrams/sequence_diagram_form_authenticate.png +0 -0
- package/src/img/diagrams/sequence_diagram_gpg_authenticate.png +0 -0
- package/src/img/diagrams/totp.svg +251 -0
- package/src/img/illustrations/pin_passbolt.gif +0 -0
- package/src/img/illustrations/wave-pin_my_extension.svg +1 -0
- package/src/img/logo/icon-32-badge-1.png +0 -0
- package/src/img/logo/icon-32-badge-2.png +0 -0
- package/src/img/logo/icon-32-badge-3.png +0 -0
- package/src/img/logo/icon-32-badge-4.png +0 -0
- package/src/img/logo/icon-32-badge-5+.png +0 -0
- package/src/img/logo/icon-32-badge-5.png +0 -0
- package/src/img/logo/icon-32-signout.png +0 -0
- package/src/img/logo/icon-badge-1.svg +1 -0
- package/src/img/logo/icon-badge-2.svg +1 -0
- package/src/img/logo/icon-badge-3.svg +1 -0
- package/src/img/logo/icon-badge-4.svg +1 -0
- package/src/img/logo/icon-badge-5+.svg +1 -0
- package/src/img/logo/icon-badge-5.svg +1 -0
- package/src/img/logo/icon-inactive.svg +1 -0
- package/src/img/logo/icon-without-badge.svg +1 -0
- package/src/img/third_party/ChromeWebStore_black.svg +1 -0
- package/src/img/third_party/ChromeWebStore_white.svg +1 -0
- package/src/img/third_party/edge-addon-black.svg +1 -0
- package/src/img/third_party/edge-addon-white.svg +1 -0
- package/src/locales/de-DE/common.json +820 -0
- package/src/locales/en-UK/common.json +86 -20
- package/src/locales/fr/common.json +750 -0
- package/src/locales/fr-FR/common.json +92 -22
- package/src/locales/sv-SE/common.json +820 -0
- package/src/react-extension/ExtApp.js +16 -10
- package/src/react-extension/ExtBootstrapApp.js +1 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +2 -2
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +2 -2
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +1 -1
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +22 -8
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +3 -0
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +10 -8
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +21 -19
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +6 -6
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +0 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +1 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +5 -8
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +20 -38
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +4 -1
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +4 -4
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +1 -1
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +2 -3
- package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +5 -9
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +34 -32
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +0 -3
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +1 -1
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.page.js +2 -2
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +1 -1
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -2
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +1 -1
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +12 -14
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +2 -1
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +1 -2
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -19
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +1 -1
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +14 -0
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.js +65 -0
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.page.js +38 -0
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +15 -6
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.js +27 -0
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.js +107 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +11 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.js +65 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.page.js +73 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +34 -0
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +8 -11
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +1 -1
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +3 -1
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +2 -1
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.js +1 -1
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +5 -11
- package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +5 -1
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.data.js +0 -2
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +4 -5
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.page.js +0 -1
- package/src/react-extension/components/Common/Avatar/UserAvatar.js +2 -1
- package/src/react-extension/components/Common/Error/ShowErrorDetails/ShowErrorDetails.js +126 -0
- package/src/react-extension/components/Common/Icons/AnimatedFeedback.js +58 -0
- package/src/react-extension/components/Common/Icons/Icon.js +16 -0
- package/src/react-extension/components/Common/Icons/Icon.test.stories.js +78 -0
- package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js +4 -0
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +2 -1
- package/src/react-extension/components/Common/Menu/DisplayMainMenu.js +2 -4
- package/src/react-extension/components/Common/Navigation/Search/SearchBar.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +34 -0
- package/src/react-extension/components/Common/Tab/Tab.js +65 -0
- package/src/react-extension/components/Common/Tab/Tabs.js +87 -0
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +85 -66
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +80 -1
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +18 -39
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +27 -8
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +70 -4
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +1 -1
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayDragResource.js +68 -0
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +20 -47
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +4 -1
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +2 -2
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.data.js +1 -7
- package/src/react-extension/components/Resource/EditResource/EditResource.js +93 -68
- package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +80 -1
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +10 -39
- package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +26 -11
- package/src/react-extension/components/Resource/ExportResources/ExportResources.js +1 -1
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +5 -11
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +10 -12
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +5 -11
- package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js +4 -4
- package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/DisplayDragFolderItem.js +109 -0
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +41 -193
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.data.js +10 -5
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.js +9 -12
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.page.js +6 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js +83 -58
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.data.js +52 -59
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.js +25 -20
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.page.js +11 -5
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js +7 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.test.js +3 -7
- package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.page.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.data.js +47 -0
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +34 -3
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.page.js +46 -9
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +124 -4
- package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +0 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResources.js +6 -5
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +10 -12
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +5 -11
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +3 -3
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.js +3 -3
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +5 -11
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.js +1 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.page.object.js +1 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +8 -14
- package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +5 -11
- package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +8 -14
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js +9 -8
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.page.js +1 -1
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +8 -15
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +0 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +0 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +0 -1
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +1 -1
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +0 -3
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +0 -6
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +0 -5
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +1 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +1 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +0 -7
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +0 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +0 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +0 -2
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.js +150 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +30 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +191 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +73 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +296 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +112 -0
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +0 -2
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +0 -4
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +2 -2
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.test.page.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js +5 -1
- package/src/react-extension/components/Share/ShareDialog.test.page.js +1 -1
- package/src/react-extension/components/Share/ShareDialog.test.stories.js +12 -10
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -9
- package/src/react-extension/components/User/CreateUser/CreateUser.js +4 -4
- package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +3 -3
- package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +3 -1
- package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +5 -8
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +5 -8
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -2
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +1 -1
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -2
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +2 -1
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +6 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
- package/src/react-extension/components/User/EditUser/EditUser.js +3 -3
- package/src/react-extension/components/User/EditUser/EditUser.test.page.js +2 -2
- package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +3 -1
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.js +2 -2
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.js +1 -1
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +5 -8
- package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroup.js +1 -1
- package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.js +1 -1
- package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +0 -1
- package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +0 -2
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +8 -11
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +8 -11
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +8 -12
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +1 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +2 -2
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +8 -11
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +8 -11
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +11 -3
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +7 -0
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +1 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +12 -8
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +92 -21
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.data.js +6 -0
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +2 -2
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.page.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DisplayChangePassphraseIntroduction.js +12 -10
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DownloadRecoveryKit.js +4 -10
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +65 -25
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +6 -0
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +14 -13
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +21 -6
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +13 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +3 -3
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +26 -4
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +7 -10
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.js +749 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.data.js +32 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.js +60 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.page.js +110 -0
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +3 -2
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +5 -8
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +2 -2
- package/src/react-extension/contexts/ApiAppContext.js +1 -1
- package/src/react-extension/contexts/ApiRecoverContext.js +1 -1
- package/src/react-extension/contexts/ApiSetupContext.js +1 -1
- package/src/react-extension/contexts/AuthenticationContext.js +21 -2
- package/src/react-extension/contexts/AuthenticationContext.test.js +40 -0
- package/src/react-extension/contexts/DragContext.js +122 -0
- package/src/react-extension/contexts/DragContext.test.js +53 -0
- package/src/react-extension/contexts/NavigationContext.js +11 -0
- package/src/react-extension/contexts/ResourcePasswordGeneratorContext.js +144 -0
- package/src/react-extension/contexts/ResourceWorkspaceContext.js +5 -4
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.data.js +0 -1
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +0 -1
- package/src/react-extension/contexts/UserWorkspaceContext.js +31 -4
- package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +17 -287
- package/src/react-extension/lib/Crypto/sha512.js +17 -0
- package/src/react-extension/test/fixture/Settings/siteSettings.js +6 -0
- package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +42 -7
- package/src/react-quickaccess/ExtQuickAccess.js +75 -28
- package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +22 -5
- package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgress.js +41 -0
- package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +23 -0
- package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.js +8 -4
- package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +10 -6
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +9 -5
- package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +9 -5
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.js +150 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.data.js +20 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.js +67 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.page.js +109 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.js +189 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.data.js +40 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.js +67 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.page.js +121 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +304 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +102 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.js +76 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.page.js +158 -0
- package/src/react-quickaccess/components/Header/Header.js +10 -8
- package/src/react-quickaccess/components/Header/Header.test.stories.js +4 -7
- package/src/react-quickaccess/components/HomePage/HomePage.js +40 -11
- package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +14 -10
- package/src/react-quickaccess/components/HomePage/canSuggestUrl.js +8 -3
- package/src/react-quickaccess/components/HomePage/canSuggestUrl.test.js +6 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +58 -18
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +4 -6
- package/src/react-quickaccess/components/ManageQuickAccessMode/ManageQuickAccessMode.js +103 -0
- package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.js +2 -2
- package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +4 -6
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +5 -3
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +6 -6
- package/src/react-quickaccess/components/PrivateRoute/PrivateRoute.js +1 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +234 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +28 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +44 -0
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +166 -39
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +108 -2
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +28 -25
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +6 -6
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +6 -3
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +5 -3
- package/src/react-quickaccess/components/Search/Search.js +13 -1
- package/src/react-quickaccess/components/Search/Search.test.stories.js +4 -6
- package/src/react-quickaccess/contexts/PrepareResourceContext.js +221 -0
- package/src/react-web-integration/AuthLogin/AuthLogin.js +72 -0
- package/src/react-web-integration/Autofill/Autofill.js +331 -0
- package/src/react-web-integration/BrowserIntegrationBootstrap.js +64 -0
- package/src/react-web-integration/Events/Quickaccess/QuickAccessEvent.js +24 -0
- package/src/react-web-integration/ExtInFormCallToAction.js +56 -0
- package/src/react-web-integration/ExtInFormMenu.js +70 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.js +161 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.data.js +39 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.js +48 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.page.js +42 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +91 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +360 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +198 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenuItem.js +103 -0
- package/src/react-web-integration/contexts/AppContext.js +39 -0
- package/src/react-web-integration/lib/Dom/DomUtils.js +94 -0
- package/src/react-web-integration/lib/InForm/InFormCallToActionField.js +263 -0
- package/src/react-web-integration/lib/InForm/InFormCredentialsFormField.js +118 -0
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +77 -0
- package/src/react-web-integration/lib/InForm/InFormManager.js +253 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.data.js +46 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.js +82 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.page.js +116 -0
- package/src/react-web-integration/lib/InForm/InformMenuField.js +182 -0
- package/src/shared/components/Internationalisation/TranslationProvider.js +145 -0
- package/src/shared/lib/Browser/detectBrowserName.js +2 -1
- package/src/shared/lib/Secret/SecretComplexity.js +2 -2
- package/src/shared/lib/SecretGenerator/PassphraseGenerator.js +112 -0
- package/src/shared/lib/SecretGenerator/PassphraseGenerator.test.js +48 -0
- package/src/shared/lib/SecretGenerator/PassphraseGeneratorWords.js +7789 -0
- package/src/shared/lib/SecretGenerator/PasswordGenerator.js +103 -0
- package/src/shared/lib/SecretGenerator/SecretGenerator.js +45 -0
- package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.js +190 -0
- package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.test.js +95 -0
- package/src/shared/lib/Settings/SiteSettings.js +8 -0
- package/src/shared/lib/apiClient/apiClient.test.js +1 -1
- package/.babelrc +0 -11
- package/.editorconfig +0 -13
- package/.eslintrc.json +0 -197
- package/.gitlab-ci.yml +0 -28
- package/.jest.config.json +0 -6
- package/.jest.setup.js +0 -8
- package/.jest.transform.js +0 -7
- package/.storybook/main.js +0 -15
- package/.storybook/preview-body.html +0 -5
- package/.storybook/preview.js +0 -6
- package/Gruntfile.js +0 -199
- package/build/css/themes/default/ext_config_debug.min.css +0 -13
- package/build/css/themes/default/ext_legacy.min.css +0 -13
- package/build/css/themes/midgar/ext_legacy.min.css +0 -13
- package/crowdin.yml +0 -4
- package/docker-compose-dev.yml +0 -10
- package/jest.config.json +0 -6
- package/src/img/controls/colorpicker/marker.png +0 -0
- package/src/img/controls/colorpicker/mask.png +0 -0
- package/src/img/controls/colorpicker/wheel.png +0 -0
- package/src/img/controls/overlay-opacity-50.png +0 -0
- package/src/img/third_party/ChromeWebStore_black.png +0 -0
- package/src/img/third_party/ChromeWebStore_white.png +0 -0
- package/src/js/accordion.js +0 -10
- package/src/js/autocomplete.js +0 -241
- package/src/js/autocomplete.min.js +0 -3
- package/src/js/bootstrap-scrollspy.js +0 -172
- package/src/js/chosen.jquery.js +0 -1356
- package/src/js/colorpicker.js +0 -32
- package/src/js/download.js +0 -128
- package/src/js/farbtastic.js +0 -345
- package/src/js/swiper.min.js +0 -18
- package/src/react-quickaccess/components/Internationalisation/TranslationProvider.js +0 -151
- package/storybook-static/favicon.ico +0 -0
- package/storybook-static/iframe.html +0 -133
- package/storybook-static/index.html +0 -47
- package/storybook-static/main.2d01924b12554c6c15af.bundle.js +0 -1
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js +0 -3
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -153
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/storybook-static/runtime~main.6a9b04192e3176eff72a.bundle.js +0 -1
- package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js +0 -2
- package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/storybook-static/static/media/chosen-sprite.6768c197.png +0 -0
- package/storybook-static/static/media/chosen-sprite@2x.a0b7f3f1.png +0 -0
- package/storybook-static/static/media/dot_black.a2c44078.svg +0 -6
- package/storybook-static/static/media/dot_red.7b34541d.svg +0 -6
- package/storybook-static/static/media/dot_white.f60f7331.svg +0 -6
- package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
- package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
- package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
- package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +0 -2671
- package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
- package/storybook-static/static/media/infinite-bar.f5327dc3.gif +0 -0
- package/storybook-static/static/media/loading_dark.ea474c7f.svg +0 -21
- package/storybook-static/static/media/loading_light.061977b5.svg +0 -15
- package/storybook-static/static/media/logo.e2b062a5.svg +0 -1
- package/storybook-static/static/media/logo_white.cb32e694.svg +0 -1
- package/storybook-static/static/media/opensans-bold.a6b4768c.woff +0 -0
- package/storybook-static/static/media/opensans-regular.7812bd0b.woff +0 -0
- package/storybook-static/static/media/passphrase_intro.37a1ba4e.png +0 -0
- package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js +0 -2
- package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js.LICENSE.txt +0 -105
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js +0 -3
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -145
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/webpack-api.config.js +0 -83
- package/webpack-ext.config.js +0 -84
|
@@ -23,6 +23,7 @@ import DisplayActionFeedbacks from "./components/Common/ActionFeedback/DisplayAc
|
|
|
23
23
|
import DialogContextProvider from "./contexts/DialogContext";
|
|
24
24
|
import ManageDialogs from "./components/Common/Dialog/ManageDialogs/ManageDialogs";
|
|
25
25
|
import ResourceWorkspaceContextProvider from "./contexts/ResourceWorkspaceContext";
|
|
26
|
+
import ResourcePasswordGeneratorContextProvider from "./contexts/ResourcePasswordGeneratorContext";
|
|
26
27
|
import UserWorkspaceContextProvider from "./contexts/UserWorkspaceContext";
|
|
27
28
|
import ContextualMenuContextProvider from "./contexts/ContextualMenuContext";
|
|
28
29
|
import ManageContextualMenu from "./components/Common/ContextualMenu/ManageContextualMenu";
|
|
@@ -54,6 +55,7 @@ import HandleFolderMoveStrategyEvents
|
|
|
54
55
|
import HandleProgressEvents from "./components/Common/Progress/HandleProgressEvents/HandleProgressEvents";
|
|
55
56
|
import HandleErrorEvents from "./components/Common/Error/HandleErrorEvents/HandleErrorEvents";
|
|
56
57
|
import DisplayResourcesWorkspace from "./components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspace";
|
|
58
|
+
import DragContextProvider from "./contexts/DragContext";
|
|
57
59
|
|
|
58
60
|
/**
|
|
59
61
|
* The passbolt application served by the browser extension.
|
|
@@ -114,17 +116,21 @@ class ExtApp extends Component {
|
|
|
114
116
|
"/app/passwords",
|
|
115
117
|
]}>
|
|
116
118
|
<ResourceWorkspaceContextProvider>
|
|
117
|
-
<
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
<
|
|
122
|
-
<div className="
|
|
123
|
-
<
|
|
119
|
+
<ResourcePasswordGeneratorContextProvider>
|
|
120
|
+
<ManageDialogs/>
|
|
121
|
+
<ManageContextualMenu/>
|
|
122
|
+
<ManageAnnouncements/>
|
|
123
|
+
<DragContextProvider>
|
|
124
|
+
<div id="container" className="page password">
|
|
125
|
+
<div id="app" className="app ready" tabIndex="1000">
|
|
126
|
+
<div className="header first">
|
|
127
|
+
<DisplayMainMenu/>
|
|
128
|
+
</div>
|
|
129
|
+
<DisplayResourcesWorkspace onMenuItemClick={this.handleWorkspaceSelect}/>
|
|
130
|
+
</div>
|
|
124
131
|
</div>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
</div>
|
|
132
|
+
</DragContextProvider>
|
|
133
|
+
</ResourcePasswordGeneratorContextProvider>
|
|
128
134
|
</ResourceWorkspaceContextProvider>
|
|
129
135
|
</Route>
|
|
130
136
|
{/* Users workspace */}
|
|
@@ -171,7 +171,7 @@ class DisplayAdministrationMenu extends React.Component {
|
|
|
171
171
|
*/
|
|
172
172
|
render() {
|
|
173
173
|
return (
|
|
174
|
-
<div className="navigation
|
|
174
|
+
<div className="navigation-secondary navigation-administration">
|
|
175
175
|
<ul id="administration_menu" className="clearfix menu ready">
|
|
176
176
|
{this.isMfaEnabled &&
|
|
177
177
|
<li id="mfa_menu">
|
|
@@ -209,7 +209,7 @@ class DisplayAdministrationMenu extends React.Component {
|
|
|
209
209
|
<div className={`row ${this.isInternationalizationSelected() ? "selected" : ""}`}>
|
|
210
210
|
<div className="main-cell-wrapper">
|
|
211
211
|
<div className="main-cell">
|
|
212
|
-
<a onClick={this.handleInternationalizationClick}><span><Trans>
|
|
212
|
+
<a onClick={this.handleInternationalizationClick}><span><Trans>Internationalisation</Trans></span></a>
|
|
213
213
|
</div>
|
|
214
214
|
</div>
|
|
215
215
|
</div>
|
|
@@ -69,12 +69,12 @@ describe("As AD I can see the administration menu", () => {
|
|
|
69
69
|
expect(props.navigationContext.onGoToAdministrationSubscriptionRequested).toHaveBeenCalled();
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
it('As AD I should be able to go to
|
|
72
|
+
it('As AD I should be able to go to internationalisation', async() => {
|
|
73
73
|
const props = defaultProps(AdministrationWorkspaceMenuTypes.INTERNATIONALIZATION); // The props to pass
|
|
74
74
|
page = new DisplayAdministrationMenuPage(context, props);
|
|
75
75
|
expect(page.exists()).toBeTruthy();
|
|
76
76
|
await page.goToInternationalization();
|
|
77
|
-
expect(page.menuSelected).toBe('
|
|
77
|
+
expect(page.menuSelected).toBe('Internationalisation');
|
|
78
78
|
expect(props.navigationContext.onGoToAdministrationInternationalizationRequested).toHaveBeenCalled();
|
|
79
79
|
});
|
|
80
80
|
});
|
|
@@ -58,7 +58,7 @@ class DisplayAdministrationWorkspaceBreadcrumb extends Component {
|
|
|
58
58
|
case AdministrationWorkspaceMenuTypes.SUBSCRIPTION:
|
|
59
59
|
return this.translate("Subscription");
|
|
60
60
|
case AdministrationWorkspaceMenuTypes.INTERNATIONALIZATION:
|
|
61
|
-
return this.translate("
|
|
61
|
+
return this.translate("Internationalisation");
|
|
62
62
|
default:
|
|
63
63
|
return "";
|
|
64
64
|
}
|
|
@@ -81,7 +81,7 @@ describe("As AD I can see a Breadcrumb", () => {
|
|
|
81
81
|
page = new DisplayAdministrationWorkspaceBreadcrumbPage(context, props);
|
|
82
82
|
expect(page.count).toBe(3);
|
|
83
83
|
expect(page.item(1)).toBe("Administration");
|
|
84
|
-
expect(page.item(2)).toBe("
|
|
84
|
+
expect(page.item(2)).toBe("Internationalisation");
|
|
85
85
|
expect(page.item(3)).toBe("Settings");
|
|
86
86
|
});
|
|
87
87
|
});
|
|
@@ -17,6 +17,7 @@ import {withActionFeedback} from "../../../../react-extension/contexts/ActionFee
|
|
|
17
17
|
import Icon from "../../Common/Icons/Icon";
|
|
18
18
|
import {withAdministrationWorkspace} from "../../../contexts/AdministrationWorkspaceContext";
|
|
19
19
|
import {Trans, withTranslation} from "react-i18next";
|
|
20
|
+
import {withAppContext} from "../../../contexts/AppContext";
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* This component allows to display the email notifications for the administration
|
|
@@ -321,6 +322,14 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
321
322
|
return this.state.hasFileConfigSetting;
|
|
322
323
|
}
|
|
323
324
|
|
|
325
|
+
/**
|
|
326
|
+
* Can use folders
|
|
327
|
+
* @returns {*}
|
|
328
|
+
*/
|
|
329
|
+
canUseFolders() {
|
|
330
|
+
return this.props.context.siteSettings.canIUse("folders");
|
|
331
|
+
}
|
|
332
|
+
|
|
324
333
|
/**
|
|
325
334
|
* Get the translate function
|
|
326
335
|
* @returns {function(...[*]=)}
|
|
@@ -384,6 +393,7 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
384
393
|
<label className="toggle-switch-button" htmlFor="send-password-share-toggle-button"/>
|
|
385
394
|
</span>
|
|
386
395
|
</div>
|
|
396
|
+
{this.canUseFolders() &&
|
|
387
397
|
<div className="col6 last">
|
|
388
398
|
<label><Trans>Folders</Trans></label>
|
|
389
399
|
<span className="input toggle-switch form-element">
|
|
@@ -411,6 +421,7 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
411
421
|
<label className="toggle-switch-button" htmlFor="send-folder-share-toggle-button"/>
|
|
412
422
|
</span>
|
|
413
423
|
</div>
|
|
424
|
+
}
|
|
414
425
|
<div className="row">
|
|
415
426
|
</div>
|
|
416
427
|
<div className="col6 last">
|
|
@@ -427,7 +438,7 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
427
438
|
<div className="col6">
|
|
428
439
|
<label><Trans>Group membership</Trans></label>
|
|
429
440
|
<span className="input toggle-switch form-element">
|
|
430
|
-
<label htmlFor="send-group-delete-toggle-button"><Trans>When a group is deleted, notify the users who were
|
|
441
|
+
<label htmlFor="send-group-delete-toggle-button"><Trans>When a group is deleted, notify the users who were members of it.</Trans></label>
|
|
431
442
|
<input type="checkbox" className="toggle-switch-checkbox checkbox" name="groupDelete" disabled={this.hasAllInputDisabled()}
|
|
432
443
|
onChange={this.handleInputChange} checked={this.state.groupDelete} id="send-group-delete-toggle-button"/>
|
|
433
444
|
<label className="toggle-switch-button" htmlFor="send-group-delete-toggle-button"/>
|
|
@@ -517,12 +528,14 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
517
528
|
</form>
|
|
518
529
|
</div>
|
|
519
530
|
<div className="col4 last">
|
|
520
|
-
<
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
<
|
|
524
|
-
|
|
525
|
-
|
|
531
|
+
<div className="sidebar-help">
|
|
532
|
+
<h3><Trans>Need some help?</Trans></h3>
|
|
533
|
+
<p><Trans>For more information about email notification, checkout the dedicated page on the help website.</Trans></p>
|
|
534
|
+
<a className="button" href="https://help.passbolt.com/configure/notification/email" target="_blank" rel="noopener noreferrer">
|
|
535
|
+
<Icon name="life-ring"/>
|
|
536
|
+
<span><Trans>Read the documentation</Trans></span>
|
|
537
|
+
</a>
|
|
538
|
+
</div>
|
|
526
539
|
</div>
|
|
527
540
|
</div>
|
|
528
541
|
);
|
|
@@ -530,9 +543,10 @@ class DisplayEmailNotificationsAdministration extends React.Component {
|
|
|
530
543
|
}
|
|
531
544
|
|
|
532
545
|
DisplayEmailNotificationsAdministration.propTypes = {
|
|
546
|
+
context: PropTypes.any, // The application context
|
|
533
547
|
administrationWorkspaceContext: PropTypes.object, // The administration workspace context
|
|
534
548
|
actionFeedbackContext: PropTypes.any, // The action feedback context
|
|
535
549
|
t: PropTypes.func, // The translation function
|
|
536
550
|
};
|
|
537
551
|
|
|
538
|
-
export default withActionFeedback(withAdministrationWorkspace(withTranslation('common')(DisplayEmailNotificationsAdministration)));
|
|
552
|
+
export default withAppContext(withActionFeedback(withAdministrationWorkspace(withTranslation('common')(DisplayEmailNotificationsAdministration))));
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import SiteSettings from "../../../../shared/lib/Settings/SiteSettings";
|
|
2
|
+
import siteSettingsFixture from "../../../test/fixture/Settings/siteSettings";
|
|
1
3
|
|
|
2
4
|
/**
|
|
3
5
|
* Returns the default app context for the unit test
|
|
@@ -6,6 +8,7 @@
|
|
|
6
8
|
*/
|
|
7
9
|
export function defaultAppContext(appContext) {
|
|
8
10
|
const defaultAppContext = {
|
|
11
|
+
siteSettings: new SiteSettings(siteSettingsFixture)
|
|
9
12
|
};
|
|
10
13
|
return Object.assign(defaultAppContext, appContext || {});
|
|
11
14
|
}
|
|
@@ -190,12 +190,12 @@ class DisplayInternationalizationAdministration extends React.Component {
|
|
|
190
190
|
render() {
|
|
191
191
|
return (
|
|
192
192
|
<div className="row">
|
|
193
|
-
<div className="internationalisation-settings
|
|
193
|
+
<div className="internationalisation-settings col7">
|
|
194
194
|
<h3><Trans>Internationalisation</Trans></h3>
|
|
195
195
|
<form className="form">
|
|
196
196
|
<div className="input select locale">
|
|
197
197
|
<label htmlFor="app-locale-input"><Trans>Language</Trans></label>
|
|
198
|
-
<select className="
|
|
198
|
+
<select className="medium" id="locale-input" name="locale" value={this.state.locale} onChange={this.handleInputChange}>
|
|
199
199
|
{this.supportedLocales.map(supportedLocale =>
|
|
200
200
|
<option key={supportedLocale.locale} value={supportedLocale.locale}>
|
|
201
201
|
{supportedLocale.label}
|
|
@@ -207,12 +207,14 @@ class DisplayInternationalizationAdministration extends React.Component {
|
|
|
207
207
|
</form>
|
|
208
208
|
</div>
|
|
209
209
|
<div className="col4 last">
|
|
210
|
-
<
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
<
|
|
214
|
-
|
|
215
|
-
|
|
210
|
+
<div className="sidebar-help">
|
|
211
|
+
<h3><Trans>Want to contribute?</Trans></h3>
|
|
212
|
+
<p><Trans>Your language is missing or you discovered an error in the translation, help us to improve passbolt.</Trans></p>
|
|
213
|
+
<a className="button" href="https://help.passbolt.com/contribute/translation" target="_blank" rel="noopener noreferrer">
|
|
214
|
+
<Icon name="heart-o"/>
|
|
215
|
+
<span><Trans>Contribute</Trans></span>
|
|
216
|
+
</a>
|
|
217
|
+
</div>
|
|
216
218
|
</div>
|
|
217
219
|
</div>
|
|
218
220
|
);
|
|
@@ -409,7 +409,7 @@ class DisplayMfaAdministration extends React.Component {
|
|
|
409
409
|
render() {
|
|
410
410
|
return (
|
|
411
411
|
<div className="row">
|
|
412
|
-
<div className="mfa-settings
|
|
412
|
+
<div className="mfa-settings col7">
|
|
413
413
|
<form className="form ready">
|
|
414
414
|
<div className="provider-section totp">
|
|
415
415
|
<h3>
|
|
@@ -451,20 +451,20 @@ class DisplayMfaAdministration extends React.Component {
|
|
|
451
451
|
<Trans>The Yubikey provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.</Trans>
|
|
452
452
|
</p>
|
|
453
453
|
<div className="form-content">
|
|
454
|
-
<div className=
|
|
454
|
+
<div className={`input text required ${this.state.yubikeyClientIdentifierError ? "error" : ""}`}>
|
|
455
455
|
<label><Trans>Client identifier</Trans></label>
|
|
456
456
|
<input id="yubikeyClientIdentifier" type="text" name="yubikeyClientIdentifier" required="required" className="required fluid form-element ready" placeholder="123456789"
|
|
457
457
|
onChange={this.handleInputChange} value={this.state.yubikeyClientIdentifier} disabled={this.hasAllInputDisabled()}/>
|
|
458
458
|
{this.state.yubikeyClientIdentifierError &&
|
|
459
|
-
<div className="yubikey_client_identifier message
|
|
459
|
+
<div className="yubikey_client_identifier error-message">{this.state.yubikeyClientIdentifierError}</div>
|
|
460
460
|
}
|
|
461
461
|
</div>
|
|
462
|
-
<div className=
|
|
462
|
+
<div className={`input text required ${this.state.yubikeySecretKeyError ? "error" : ""}`}>
|
|
463
463
|
<label><Trans>Secret key</Trans></label>
|
|
464
464
|
<input id="yubikeySecretKey" name="yubikeySecretKey" required="required" className="required fluid form-element" placeholder="**********" type="password"
|
|
465
465
|
onChange={this.handleInputChange} value={this.state.yubikeySecretKey} disabled={this.hasAllInputDisabled()}/>
|
|
466
466
|
{this.state.yubikeySecretKeyError &&
|
|
467
|
-
<div className="yubikey_secret_key message
|
|
467
|
+
<div className="yubikey_secret_key error-message">{this.state.yubikeySecretKeyError}</div>
|
|
468
468
|
}
|
|
469
469
|
</div>
|
|
470
470
|
</div>
|
|
@@ -491,38 +491,38 @@ class DisplayMfaAdministration extends React.Component {
|
|
|
491
491
|
<Trans>The Duo provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.</Trans>
|
|
492
492
|
</p>
|
|
493
493
|
<div className="form-content">
|
|
494
|
-
<div className=
|
|
494
|
+
<div className={`input text required ${this.state.duoHostnameError ? "error" : ""}`}>
|
|
495
495
|
<label><Trans>Hostname</Trans></label>
|
|
496
496
|
<input id="duoHostname" type="text" name="duoHostname" required="required" className="required fluid form-element ready"
|
|
497
497
|
placeholder="api-24zlkn4.duosecurity.com" value={this.state.duoHostname}
|
|
498
498
|
onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
|
|
499
499
|
{this.state.duoHostnameError &&
|
|
500
|
-
<div className="duo_hostname message
|
|
500
|
+
<div className="duo_hostname error-message">{this.state.duoHostnameError}</div>
|
|
501
501
|
}
|
|
502
502
|
</div>
|
|
503
|
-
<div className=
|
|
503
|
+
<div className={`input text required ${this.state.duoIntegrationKeyError ? "error" : ""}`}>
|
|
504
504
|
<label><Trans>Integration key</Trans></label>
|
|
505
505
|
<input id="duoIntegrationKey" type="text" name="duoIntegrationKey" required="required" className="required fluid form-element ready"
|
|
506
506
|
placeholder="HASJKDSQJO213123KQSLDF" value={this.state.duoIntegrationKey}
|
|
507
507
|
onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
|
|
508
508
|
{this.state.duoIntegrationKeyError &&
|
|
509
|
-
<div className="duo_integration_key message
|
|
509
|
+
<div className="duo_integration_key error-message">{this.state.duoIntegrationKeyError}</div>
|
|
510
510
|
}
|
|
511
511
|
</div>
|
|
512
|
-
<div className=
|
|
512
|
+
<div className={`input text required ${this.state.duoSaltError ? "error" : ""}`}>
|
|
513
513
|
<label><Trans>Salt</Trans></label>
|
|
514
514
|
<input id="duoSalt" name="duoSalt" required="required" className="required fluid form-element ready" placeholder="**********" type="password"
|
|
515
515
|
value={this.state.duoSalt} onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
|
|
516
516
|
{this.state.duoSaltError &&
|
|
517
|
-
<div className="duo_salt message
|
|
517
|
+
<div className="duo_salt error-message">{this.state.duoSaltError}</div>
|
|
518
518
|
}
|
|
519
519
|
</div>
|
|
520
|
-
<div className=
|
|
520
|
+
<div className={`input text required ${this.state.duoSecretKeyError ? "error" : ""}`}>
|
|
521
521
|
<label><Trans>Secret key</Trans></label>
|
|
522
522
|
<input id="duoSecretKey" name="duoSecretKey" required="required" className="required fluid form-element ready" placeholder="**********" type="password"
|
|
523
523
|
value={this.state.duoSecretKey} onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
|
|
524
524
|
{this.state.duoSecretKeyError &&
|
|
525
|
-
<div className="duo_secret_key message
|
|
525
|
+
<div className="duo_secret_key error-message">{this.state.duoSecretKeyError}</div>
|
|
526
526
|
}
|
|
527
527
|
</div>
|
|
528
528
|
</div>
|
|
@@ -532,12 +532,14 @@ class DisplayMfaAdministration extends React.Component {
|
|
|
532
532
|
</form>
|
|
533
533
|
</div>
|
|
534
534
|
<div className="col4 last">
|
|
535
|
-
<
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
<
|
|
539
|
-
|
|
540
|
-
|
|
535
|
+
<div className="sidebar-help">
|
|
536
|
+
<h3><Trans>Need help?</Trans></h3>
|
|
537
|
+
<p><Trans>Check out our Multi Factor Authentication configuration guide.</Trans></p>
|
|
538
|
+
<a className="button" href="https://help.passbolt.com/configure" target="_blank" rel="noopener noreferrer">
|
|
539
|
+
<Icon name="life-ring"/>
|
|
540
|
+
<span><Trans>Read the documentation</Trans></span>
|
|
541
|
+
</a>
|
|
542
|
+
</div>
|
|
541
543
|
</div>
|
|
542
544
|
</div>
|
|
543
545
|
);
|
|
@@ -120,42 +120,42 @@ export default class DisplayMfaAdministrationPage {
|
|
|
120
120
|
* Returns the yubikey client identifier error mesage input element
|
|
121
121
|
*/
|
|
122
122
|
get yubikeyClientIdentifierErrorMessage() {
|
|
123
|
-
return this._page.container.querySelector('.yubikey_client_identifier.error
|
|
123
|
+
return this._page.container.querySelector('.yubikey_client_identifier.error-message').textContent;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
127
|
* Returns the yubikey client identifier error mesage input element
|
|
128
128
|
*/
|
|
129
129
|
get yubikeySecretKeyErrorMessage() {
|
|
130
|
-
return this._page.container.querySelector('.yubikey_secret_key.error
|
|
130
|
+
return this._page.container.querySelector('.yubikey_secret_key.error-message').textContent;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* Returns the duo hostname error mesage input element
|
|
135
135
|
*/
|
|
136
136
|
get duoHostnameErrorMessage() {
|
|
137
|
-
return this._page.container.querySelector('.duo_hostname.error
|
|
137
|
+
return this._page.container.querySelector('.duo_hostname.error-message').textContent;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Returns the duo integration key error mesage input element
|
|
142
142
|
*/
|
|
143
143
|
get duoIntegrationKeyErrorMessage() {
|
|
144
|
-
return this._page.container.querySelector('.duo_integration_key.error
|
|
144
|
+
return this._page.container.querySelector('.duo_integration_key.error-message').textContent;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
* Returns the duo salt error mesage input element
|
|
149
149
|
*/
|
|
150
150
|
get duoSaltErrorMessage() {
|
|
151
|
-
return this._page.container.querySelector('.duo_salt.error
|
|
151
|
+
return this._page.container.querySelector('.duo_salt.error-message').textContent;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* Returns the duo secret key error mesage input element
|
|
156
156
|
*/
|
|
157
157
|
get duoSecretKeyErrorMessage() {
|
|
158
|
-
return this._page.container.querySelector('.duo_secret_key.error
|
|
158
|
+
return this._page.container.querySelector('.duo_secret_key.error-message').textContent;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
/**
|
|
@@ -289,7 +289,7 @@ class DisplaySimulateSynchronizeUserDirectoryAdministration extends Component {
|
|
|
289
289
|
onClose={this.handleClose} disabled={this.isLoading()}>
|
|
290
290
|
<div className="form-content" onSubmit={this.handleFormSubmit}>
|
|
291
291
|
<p>
|
|
292
|
-
<strong><Trans>The operation was
|
|
292
|
+
<strong><Trans>The operation was successful.</Trans></strong>
|
|
293
293
|
</p>
|
|
294
294
|
<p></p>
|
|
295
295
|
{this.hasSuccessResource() &&
|
|
@@ -42,7 +42,7 @@ describe("See the simulate synchronize user directory administration dialog", ()
|
|
|
42
42
|
it('As AD I should see The full report in the dialog for my simulate synchronize report', async() => {
|
|
43
43
|
expect(page.title.hyperlink.textContent).toBe("Synchronize simulation report");
|
|
44
44
|
expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.exists()).toBeTruthy();
|
|
45
|
-
expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.resourceSynchronize).toBe(' 2
|
|
45
|
+
expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.resourceSynchronize).toBe(' 2 users and 60 groups will be synchronized. ');
|
|
46
46
|
expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.error).toBe('Some resources will not be synchronized and will require your attention, see the full report.');
|
|
47
47
|
expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.noResource).toBeNull();
|
|
48
48
|
await page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.click(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.fullReport);
|
|
@@ -4,7 +4,6 @@ import AppContext from "../../../contexts/AppContext";
|
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import DisplaySimulateSynchronizeUserDirectoryAdministration
|
|
6
6
|
from "./DisplaySimulateSynchronizeUserDirectoryAdministration";
|
|
7
|
-
import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
|
|
8
7
|
|
|
9
8
|
export default {
|
|
10
9
|
title: 'Passbolt/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration',
|
|
@@ -15,13 +14,11 @@ const context = {};
|
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
const Template = args =>
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
</AppContext.Provider>
|
|
24
|
-
</MockTranslationProvider>;
|
|
17
|
+
<AppContext.Provider value={context}>
|
|
18
|
+
<MemoryRouter initialEntries={['/']}>
|
|
19
|
+
<Route component={routerProps => <DisplaySimulateSynchronizeUserDirectoryAdministration {...args} {...routerProps}/>}></Route>
|
|
20
|
+
</MemoryRouter>
|
|
21
|
+
</AppContext.Provider>;
|
|
25
22
|
|
|
26
23
|
Template.propTypes = {
|
|
27
24
|
context: PropTypes.object,
|
|
@@ -21,6 +21,7 @@ import {withDialog} from "../../../../react-extension/contexts/DialogContext";
|
|
|
21
21
|
import EditSubscriptionKey from "../EditSubscriptionKey/EditSubscriptionKey";
|
|
22
22
|
import {withNavigationContext} from "../../../contexts/NavigationContext";
|
|
23
23
|
import Icon from "../../Common/Icons/Icon";
|
|
24
|
+
import AnimatedFeedback from "../../Common/Icons/AnimatedFeedback";
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* This component allows to display the subscription key for the administration
|
|
@@ -316,37 +317,16 @@ class DisplaySubscriptionKey extends React.Component {
|
|
|
316
317
|
{!this.isLoading() &&
|
|
317
318
|
<div className="subscription-key col8">
|
|
318
319
|
<h3><Trans>Subscription key details</Trans></h3>
|
|
319
|
-
<div className="
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
{this.hasInvalidSubscription() &&
|
|
331
|
-
<svg id="errorAnimation" className="animated" xmlns="http://www.w3.org/2000/svg" width="170"
|
|
332
|
-
height="170" viewBox="0 0 70 70">
|
|
333
|
-
<circle id="errorAnimationCircle" cx="35" cy="35" r="24" stroke="#000000" strokeWidth="3"
|
|
334
|
-
strokeLinecap="round" fill="transparent"/>
|
|
335
|
-
<polyline id="errorAnimationCross" stroke="#000000" strokeWidth="3" points="26 26 44 44"
|
|
336
|
-
linecap="round" fill="transparent"/>
|
|
337
|
-
<polyline id="errorAnimationCross" stroke="#000000" strokeWidth="3" points="44 26 26 44"
|
|
338
|
-
linecap="round" fill="transparent"/>
|
|
339
|
-
</svg>
|
|
340
|
-
}
|
|
341
|
-
{this.hasValidSubscription() && this.hasSubscriptionKeyGoingToExpire() &&
|
|
342
|
-
<svg id="warningAnimation" className="animated" xmlns="http://www.w3.org/2000/svg" width="170"
|
|
343
|
-
height="170" viewBox="0 0 70 70">
|
|
344
|
-
<polyline id="warningAnimation" className="round" stroke="#000000" strokeWidth="3" points="35 9 10 55 60 55 35 9" linecap="round" fill="transparent"></polyline>
|
|
345
|
-
<polyline id="warningAnimation" stroke="#000000" strokeWidth="3" points="35 23 35 42" linecap="square" fill="transparent"></polyline>
|
|
346
|
-
<polyline id="warningAnimation" stroke="#000000" strokeWidth="3" points="35 50 35 50" linecap="square" fill="transparent"></polyline>
|
|
347
|
-
</svg>
|
|
348
|
-
}
|
|
349
|
-
</div>
|
|
320
|
+
<div className="feedback-card">
|
|
321
|
+
{this.hasValidSubscription() && !this.hasSubscriptionKeyGoingToExpire() &&
|
|
322
|
+
<AnimatedFeedback name="success" />
|
|
323
|
+
}
|
|
324
|
+
{this.hasInvalidSubscription() &&
|
|
325
|
+
<AnimatedFeedback name="warning" />
|
|
326
|
+
}
|
|
327
|
+
{this.hasValidSubscription() && this.hasSubscriptionKeyGoingToExpire() &&
|
|
328
|
+
<AnimatedFeedback name="error" />
|
|
329
|
+
}
|
|
350
330
|
<div className="subscription-information">
|
|
351
331
|
{!this.hasSubscriptionKey() &&
|
|
352
332
|
<>
|
|
@@ -383,7 +363,7 @@ class DisplaySubscriptionKey extends React.Component {
|
|
|
383
363
|
<span
|
|
384
364
|
className={`label ${this.hasLimitUsersExceeded() ? "error" : ""}`}><Trans>Users limit:</Trans></span>
|
|
385
365
|
<span
|
|
386
|
-
className={`value ${this.hasLimitUsersExceeded() ? "error" : ""}`}>{this.state.users} (<Trans>
|
|
366
|
+
className={`value ${this.hasLimitUsersExceeded() ? "error" : ""}`}>{this.state.users} (<Trans>currently:</Trans> {this.state.activeUsers})</span>
|
|
387
367
|
</li>
|
|
388
368
|
<li className="created">
|
|
389
369
|
<span className="label"><Trans>Valid from:</Trans></span>
|
|
@@ -418,12 +398,14 @@ class DisplaySubscriptionKey extends React.Component {
|
|
|
418
398
|
}
|
|
419
399
|
{!this.isLoading() &&
|
|
420
400
|
<div className="col4 last">
|
|
421
|
-
<
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
<
|
|
425
|
-
|
|
426
|
-
|
|
401
|
+
<div className="sidebar-help">
|
|
402
|
+
<h3><Trans>Need help?</Trans></h3>
|
|
403
|
+
<p><Trans>For any change or question related to your passbolt subscription, kindly contact our sales team.</Trans></p>
|
|
404
|
+
<a className="button" target="_blank" rel="noopener noreferrer" href="https://www.passbolt.com/contact">
|
|
405
|
+
<Icon name="envelope"/>
|
|
406
|
+
<span><Trans>Contact Sales</Trans></span>
|
|
407
|
+
</a>
|
|
408
|
+
</div>
|
|
427
409
|
</div>
|
|
428
410
|
}
|
|
429
411
|
</div>
|
|
@@ -40,13 +40,16 @@ export function formatDate(date) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
const expiredDate = new Date();
|
|
44
|
+
expiredDate.setMonth(expiredDate.getMonth() + 3);
|
|
45
|
+
|
|
43
46
|
export const mockSubscription = {
|
|
44
47
|
"customer_id": "1n6BPvHRWfizhmARz",
|
|
45
48
|
"subscription_id": "1n6BPvHRWfizhmARz",
|
|
46
49
|
"users": 5,
|
|
47
50
|
"email": "ada@passbolt.com",
|
|
48
51
|
"created": "2020-12-01",
|
|
49
|
-
"expiry":
|
|
52
|
+
"expiry": formatDate(expiredDate.toISOString()),
|
|
50
53
|
"data": "data"
|
|
51
54
|
};
|
|
52
55
|
|
|
@@ -61,7 +61,7 @@ describe("As AD I should see the subscription", () => {
|
|
|
61
61
|
expect(page.customerId).toBe(mockSubscription.customer_id);
|
|
62
62
|
expect(page.subscriptionId).toBe(mockSubscription.subscription_id);
|
|
63
63
|
expect(page.email).toBe(mockSubscription.email);
|
|
64
|
-
expect(page.users).toBe(`${mockSubscription.users} (
|
|
64
|
+
expect(page.users).toBe(`${mockSubscription.users} (currently: ${mockUsers.length})`);
|
|
65
65
|
expect(page.created).toBe(`${formatDate(mockSubscription.created)}`);
|
|
66
66
|
expect(page.expiry).toBe(`${formatDate(mockSubscription.expiry)} (${DateTime.fromISO(mockSubscription.expiry).toRelative()})`);
|
|
67
67
|
expect(page.help).toBeTruthy();
|
|
@@ -81,7 +81,7 @@ describe("As AD I should see the subscription", () => {
|
|
|
81
81
|
expect(page.customerId).toBe(mockSubscriptionUsersExceeded.customer_id);
|
|
82
82
|
expect(page.subscriptionId).toBe(mockSubscriptionUsersExceeded.subscription_id);
|
|
83
83
|
expect(page.email).toBe(mockSubscriptionUsersExceeded.email);
|
|
84
|
-
expect(page.users).toBe(`${mockSubscriptionUsersExceeded.users} (
|
|
84
|
+
expect(page.users).toBe(`${mockSubscriptionUsersExceeded.users} (currently: ${mockUsers.length})`);
|
|
85
85
|
expect(page.created).toBe(`${formatDate(mockSubscriptionUsersExceeded.created)}`);
|
|
86
86
|
expect(page.expiry).toBe(`${formatDate(mockSubscriptionUsersExceeded.expiry)} (${DateTime.fromISO(mockSubscriptionUsersExceeded.expiry).toRelative()})`);
|
|
87
87
|
|
|
@@ -102,7 +102,7 @@ describe("As AD I should see the subscription", () => {
|
|
|
102
102
|
expect(page.customerId).toBe(mockSubscriptionExpired.customer_id);
|
|
103
103
|
expect(page.subscriptionId).toBe(mockSubscriptionExpired.subscription_id);
|
|
104
104
|
expect(page.email).toBe(mockSubscriptionExpired.email);
|
|
105
|
-
expect(page.users).toBe(`${mockSubscriptionExpired.users} (
|
|
105
|
+
expect(page.users).toBe(`${mockSubscriptionExpired.users} (currently: ${mockUsers.length})`);
|
|
106
106
|
expect(page.created).toBe(`${formatDate(mockSubscriptionExpired.created)}`);
|
|
107
107
|
expect(page.expiry).toBe(`${formatDate(mockSubscriptionExpired.expiry)} (expired ${DateTime.fromISO(mockSubscriptionExpired.expiry).toRelative()})`);
|
|
108
108
|
|
|
@@ -183,7 +183,7 @@ describe("As AD I should see the subscription", () => {
|
|
|
183
183
|
expect(page.customerId).toBe(mockSubscriptionUpdated.customer_id);
|
|
184
184
|
expect(page.subscriptionId).toBe(mockSubscriptionUpdated.subscription_id);
|
|
185
185
|
expect(page.email).toBe(mockSubscriptionUpdated.email);
|
|
186
|
-
expect(page.users).toBe(`${mockSubscriptionUpdated.users} (
|
|
186
|
+
expect(page.users).toBe(`${mockSubscriptionUpdated.users} (currently: ${mockUsers.length})`);
|
|
187
187
|
expect(page.created).toBe(`${formatDate(mockSubscriptionUpdated.created)}`);
|
|
188
188
|
expect(page.expiry).toBe(`${formatDate(mockSubscriptionUpdated.expiry)} (${DateTime.fromISO(mockSubscriptionUpdated.expiry).toRelative()})`);
|
|
189
189
|
expect(propsUpdated.administrationWorkspaceContext.onResetActionsSettings).toHaveBeenCalled();
|
|
@@ -287,7 +287,7 @@ class DisplaySynchronizeUserDirectoryAdministration extends Component {
|
|
|
287
287
|
onClose={this.handleClose} disabled={this.isLoading()}>
|
|
288
288
|
<div className="form-content" onSubmit={this.handleFormSubmit}>
|
|
289
289
|
<p>
|
|
290
|
-
<strong><Trans>The operation was
|
|
290
|
+
<strong><Trans>The operation was successful.</Trans></strong>
|
|
291
291
|
</p>
|
|
292
292
|
<p></p>
|
|
293
293
|
{this.hasSuccessResource() &&
|