passbolt-styleguide 3.6.2 → 3.7.0-alpha1

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.
Files changed (431) hide show
  1. package/README.md +9 -6
  2. package/build/css/help.min.css +3 -7
  3. package/build/css/public.min.css +3 -16
  4. package/build/css/themes/default/api_authentication.min.css +3 -3
  5. package/build/css/themes/default/api_cloud.min.css +3 -3
  6. package/build/css/themes/default/api_main.min.css +3 -12
  7. package/build/css/themes/default/api_reports.min.css +3 -12
  8. package/build/css/themes/default/api_webinstaller.min.css +3 -12
  9. package/build/css/themes/default/ext_app.min.css +3 -12
  10. package/build/css/themes/default/ext_authentication.min.css +3 -3
  11. package/build/css/themes/default/ext_external.min.css +2 -2
  12. package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
  13. package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
  14. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  15. package/build/css/themes/midgar/api_authentication.min.css +3 -3
  16. package/build/css/themes/midgar/api_main.min.css +3 -12
  17. package/build/css/themes/midgar/api_reports.min.css +3 -12
  18. package/build/css/themes/midgar/ext_app.min.css +3 -12
  19. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  20. package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
  21. package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
  22. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  23. package/build/js/dist/api-account-recovery.js +1 -1
  24. package/build/js/dist/api-app.js +1 -1
  25. package/build/js/dist/api-app.js.LICENSE.txt +25 -1
  26. package/build/js/dist/api-recover.js +1 -1
  27. package/build/js/dist/api-setup.js +1 -1
  28. package/build/js/dist/api-triage.js +1 -1
  29. package/build/js/dist/api-vendors.js +1 -1
  30. package/build/js/dist/api-vendors.js.LICENSE.txt +43 -7
  31. package/i18next-parser.config.js +22 -0
  32. package/package.json +8 -5
  33. package/src/img/og/og_image.png +0 -0
  34. package/src/locales/de-DE/common.json +308 -173
  35. package/src/locales/en-UK/common.json +155 -175
  36. package/src/locales/es-ES/common.json +955 -0
  37. package/src/locales/fr-FR/common.json +308 -174
  38. package/src/locales/ja-JP/common.json +292 -172
  39. package/src/locales/lt-LT/common.json +985 -0
  40. package/src/locales/nl-NL/common.json +329 -194
  41. package/src/locales/pl-PL/common.json +337 -172
  42. package/src/locales/sv-SE/common.json +307 -172
  43. package/src/public-website-sign-in/PublicWebsiteSignInBootstrap.js +25 -0
  44. package/src/public-website-sign-in/lib/SignIn/SignInManager.js +85 -0
  45. package/src/public-website-sign-in/lib/SignIn/SignInManager.test.data.js +45 -0
  46. package/src/public-website-sign-in/lib/SignIn/SignInManager.test.js +59 -0
  47. package/src/public-website-sign-in/lib/SignIn/SignInManager.test.page.js +67 -0
  48. package/src/react-extension/ExtBootstrapAccountRecovery.js +17 -0
  49. package/src/react-extension/ExtBootstrapApp.js +17 -0
  50. package/src/react-extension/ExtBootstrapLogin.js +17 -0
  51. package/src/react-extension/ExtBootstrapRecover.js +17 -0
  52. package/src/react-extension/ExtBootstrapSetup.js +17 -0
  53. package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.stories.js +1 -1
  54. package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.js +1 -9
  55. package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.js +1 -9
  56. package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.js +1 -1
  57. package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.stories.js +1 -1
  58. package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.js +1 -1
  59. package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.stories.js +1 -1
  60. package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +6 -3
  61. package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.data.js +10 -7
  62. package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.stories.js +1 -1
  63. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +2 -15
  64. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.js +2 -12
  65. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +2 -11
  66. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +1 -1
  67. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -1
  68. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +1 -9
  69. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.stories.js +1 -1
  70. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +1 -9
  71. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +1 -1
  72. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +12 -6
  73. package/src/react-extension/components/Administration/DisplayLoadingDialog/DisplayLoadingDialog.js +2 -11
  74. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +6 -6
  75. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +1 -1
  76. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +25 -1
  77. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
  78. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +1 -1
  79. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +1 -1
  80. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +25 -1
  81. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
  82. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +1 -1
  83. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.js +12 -2
  84. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +1 -1
  85. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +1 -1
  86. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +24 -24
  87. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +1 -1
  88. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +1 -1
  89. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.stories.js +1 -1
  90. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +6 -3
  91. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.data.js +20 -5
  92. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.stories.js +1 -1
  93. package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.js +1 -11
  94. package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.stories.js +1 -1
  95. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.js +1 -9
  96. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.stories.js +1 -1
  97. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +90 -46
  98. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +61 -17
  99. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/ImportOrganizationKey.js +1 -1
  100. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.js +1 -9
  101. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +14 -0
  102. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.stories.js +1 -1
  103. package/src/react-extension/components/Announcement/AnnouncementWrapper/AnnouncementWrapper.js +3 -2
  104. package/src/react-extension/components/Announcement/HandleSubscriptionAnnouncement/DisplayExpiredSubscriptionAnnouncement.js +3 -3
  105. package/src/react-extension/components/Announcement/HandleSubscriptionAnnouncement/DisplayGoingToExpireSubscriptionAnnouncement.js +3 -2
  106. package/src/react-extension/components/Announcement/HandleSubscriptionAnnouncement/DisplayInvalidSubscriptionAnnouncement.js +3 -3
  107. package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.js +2 -2
  108. package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.stories.js +1 -1
  109. package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.js +2 -2
  110. package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.stories.js +1 -1
  111. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -12
  112. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +1 -1
  113. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +88 -41
  114. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +1 -1
  115. package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.js +2 -2
  116. package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.stories.js +11 -1
  117. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +2 -2
  118. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +1 -1
  119. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +24 -14
  120. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +2 -2
  121. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +1 -1
  122. package/src/react-extension/components/Authentication/DisplayAlreadyLoggedInError/DisplayAlreadyLoggedInError.js +2 -2
  123. package/src/react-extension/components/Authentication/DisplayAlreadyLoggedInError/DisplayAlreadyLoggedInError.test.stories.js +1 -1
  124. package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.js +2 -2
  125. package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +1 -1
  126. package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.js +2 -2
  127. package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +1 -1
  128. package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.js +2 -2
  129. package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +1 -1
  130. package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.js +3 -3
  131. package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +1 -1
  132. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +2 -2
  133. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +1 -1
  134. package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.js +6 -6
  135. package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +1 -1
  136. package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.js +1 -1
  137. package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +1 -1
  138. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.js +34 -7
  139. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.data.js +2 -1
  140. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.js +20 -1
  141. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.page.js +4 -0
  142. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +1 -1
  143. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +2 -2
  144. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +4 -1
  145. package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.js +2 -2
  146. package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.test.stories.js +1 -1
  147. package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.js +1 -9
  148. package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +1 -1
  149. package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.js +2 -2
  150. package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.stories.js +6 -1
  151. package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.js +2 -2
  152. package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +1 -1
  153. package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.js +2 -2
  154. package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.stories.js +1 -1
  155. package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateAccountRecovery/OrchestrateAccountRecovery.js +2 -2
  156. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +2 -2
  157. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +1 -1
  158. package/src/react-extension/components/AuthenticationLogin/Login/Login.js +1 -9
  159. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +1 -1
  160. package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxFooter.js +2 -2
  161. package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -2
  162. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +1 -1
  163. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +1 -1
  164. package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +3 -2
  165. package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +3 -3
  166. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.stories.js +1 -1
  167. package/src/react-extension/components/Common/ActionFeedback/ShareActionFeedback.js +2 -2
  168. package/src/react-extension/components/Common/Autocomplete/Autocomplete.js +8 -2
  169. package/src/react-extension/components/Common/Avatar/UserAvatar.test.data.js +6 -4
  170. package/src/react-extension/components/Common/Avatar/UserAvatar.test.stories.js +3 -2
  171. package/src/react-extension/components/Common/Button/Button.test.stories.js +5 -5
  172. package/src/react-extension/components/Common/Checkbox/Checkbox.test.stories.js +1 -1
  173. package/src/react-extension/components/Common/ContextualMenu/ContextualMenu.test.stories.js +1 -1
  174. package/src/react-extension/components/Common/ContextualMenu/ContextualMenuWrapper.js +10 -8
  175. package/src/react-extension/components/Common/Dialog/DialogCloseButton/DialogCloseButton.js +2 -1
  176. package/src/react-extension/components/Common/Dialog/DialogWrapper/DialogFooter.test.stories.js +2 -2
  177. package/src/react-extension/components/Common/Dialog/DialogWrapper/DialogWrapper.js +2 -2
  178. package/src/react-extension/components/Common/Dialog/DialogWrapper/DialogWrapper.test.stories.js +1 -1
  179. package/src/react-extension/components/Common/DragInfo/DragInfo.test.stories.js +10 -8
  180. package/src/react-extension/components/Common/Error/NotifyError/NotifyError.js +3 -11
  181. package/src/react-extension/components/Common/Error/NotifyError/NotifyError.test.stories.js +6 -1
  182. package/src/react-extension/components/Common/Footer/Footer.js +3 -13
  183. package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.js +16 -7
  184. package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItemLoading.js +4 -0
  185. package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormCancelButton.js +3 -12
  186. package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js +2 -2
  187. package/src/react-extension/components/Common/Internationalisation/TranslationProvider.js +0 -1
  188. package/src/react-extension/components/Common/Link/Link.test.stories.js +1 -1
  189. package/src/react-extension/components/Common/Loading/LoadingBar/LoadingBar.test.stories.js +1 -1
  190. package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.test.stories.js +1 -1
  191. package/src/react-extension/components/Common/Menu/DisplayMainMenu.js +2 -11
  192. package/src/react-extension/components/Common/Navigation/Search/SearchBar.js +7 -7
  193. package/src/react-extension/components/Common/Navigation/Search/SearchBar.test.stories.js +1 -1
  194. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +2 -11
  195. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +1 -1
  196. package/src/react-extension/components/Common/RadioButton/RadioButton.test.stories.js +1 -1
  197. package/src/react-extension/components/Common/Select/Select.js +44 -12
  198. package/src/react-extension/components/Common/Select/Select.test.stories.js +1 -1
  199. package/src/react-extension/components/Common/Text/Text.test.stories.js +1 -1
  200. package/src/react-extension/components/Common/TextField/TextField.test.stories.js +1 -1
  201. package/src/react-extension/components/Common/Toggle/Toggle.test.stories.js +1 -1
  202. package/src/react-extension/components/Common/Tooltip/Tooltip.test.stories.js +2 -2
  203. package/src/react-extension/components/Internationalisation/ChangeLocale/ChangeLocale.test.page.js +1 -1
  204. package/src/react-extension/components/Resource/CreateResource/CreateResource.js +9 -9
  205. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +1 -1
  206. package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +3 -3
  207. package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.page.js +1 -1
  208. package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.stories.js +1 -1
  209. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +4 -4
  210. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.stories.js +1 -1
  211. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspace.js +1 -9
  212. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMainMenu.js +8 -17
  213. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMainMenu.test.js +2 -2
  214. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMainMenu.test.stories.js +1 -1
  215. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +6 -6
  216. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.stories.js +1 -1
  217. package/src/react-extension/components/Resource/EditResource/EditResource.js +8 -8
  218. package/src/react-extension/components/Resource/EditResource/EditResource.test.stories.js +1 -1
  219. package/src/react-extension/components/Resource/ExportResources/ExportResources.js +9 -10
  220. package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +1 -1
  221. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +1 -1
  222. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +1 -1
  223. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +1 -1
  224. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +2 -11
  225. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +1 -1
  226. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js +2 -11
  227. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js +2 -11
  228. package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js +2 -11
  229. package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.test.stories.js +1 -1
  230. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js +4 -13
  231. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.js +1 -1
  232. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +1 -1
  233. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +1 -1
  234. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +1 -1
  235. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsContextualMenu.js +2 -11
  236. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +2 -11
  237. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsListContextualMenu.js +3 -12
  238. package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +1 -1
  239. package/src/react-extension/components/Resource/ImportResources/ImportResources.test.stories.js +1 -1
  240. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +1 -1
  241. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +1 -1
  242. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +1 -1
  243. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +5 -3
  244. package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.js +1 -1
  245. package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +1 -1
  246. package/src/react-extension/components/ResourceComment/DeleteResourceComment/DeleteComment.js +2 -1
  247. package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.js +1 -9
  248. package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +5 -3
  249. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js +2 -2
  250. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +5 -3
  251. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +3 -3
  252. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +2 -2
  253. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsComment.js +2 -11
  254. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js +2 -10
  255. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +1 -1
  256. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +1 -1
  257. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.test.data.js +1 -1
  258. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsPermission.js +2 -10
  259. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.js +3 -12
  260. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +1 -1
  261. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +1 -1
  262. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +1 -1
  263. package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +1 -1
  264. package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.js +1 -1
  265. package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +1 -1
  266. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +1 -1
  267. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +1 -1
  268. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +1 -1
  269. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +1 -1
  270. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.js +1 -9
  271. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +1 -1
  272. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +1 -1
  273. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.js +10 -7
  274. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +1 -1
  275. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +12 -9
  276. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +1 -1
  277. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +10 -7
  278. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +1 -1
  279. package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.js +2 -2
  280. package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +1 -1
  281. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +1 -1
  282. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +1 -1
  283. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +2 -2
  284. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js +2 -11
  285. package/src/react-extension/components/Share/ShareDialog.js +124 -22
  286. package/src/react-extension/components/Share/ShareDialog.test.data.js +25 -1
  287. package/src/react-extension/components/Share/ShareDialog.test.js +87 -36
  288. package/src/react-extension/components/Share/ShareDialog.test.page.js +1 -1
  289. package/src/react-extension/components/Share/ShareDialog.test.stories.js +1 -1
  290. package/src/react-extension/components/Share/SharePermissionDeleteButton.js +2 -1
  291. package/src/react-extension/components/Share/SharePermissionItem.js +56 -0
  292. package/src/react-extension/components/Share/ShareVariesDetails.js +2 -11
  293. package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.js +1 -1
  294. package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +1 -1
  295. package/src/react-extension/components/User/CreateUser/CreateUser.js +9 -9
  296. package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +1 -1
  297. package/src/react-extension/components/User/DeleteUser/DeleteUser.js +1 -1
  298. package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +1 -1
  299. package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.js +3 -3
  300. package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +1 -1
  301. package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.js +1 -9
  302. package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.test.stories.js +1 -1
  303. package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.js +8 -17
  304. package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.test.stories.js +1 -1
  305. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +3 -3
  306. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.stories.js +1 -1
  307. package/src/react-extension/components/User/DisplayUserWorkspaceMainActions/DisplayUserWorkspaceMainActions.js +8 -17
  308. package/src/react-extension/components/User/DisplayUserWorkspaceMainActions/DisplayUserWorkspaceMainActions.test.js +4 -4
  309. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +1 -1
  310. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.stories.js +1 -1
  311. package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.stories.js +1 -1
  312. package/src/react-extension/components/User/EditUser/EditUser.js +9 -9
  313. package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +1 -1
  314. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +1 -1
  315. package/src/react-extension/components/User/FilterUsersByGroups/DisplayGroupContextualMenu.js +2 -11
  316. package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroup.test.stories.js +1 -1
  317. package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroupContextualMenu.js +2 -11
  318. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.js +3 -12
  319. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +1 -1
  320. package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.js +1 -9
  321. package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +1 -1
  322. package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +3 -3
  323. package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.js +1 -9
  324. package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.data.js +1 -1
  325. package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.stories.js +1 -1
  326. package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.js +1 -9
  327. package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.stories.js +1 -1
  328. package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +1 -1
  329. package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.js +1 -1
  330. package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +22 -83
  331. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +8 -1
  332. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.data.js +20 -2
  333. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.js +25 -1
  334. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +28 -26
  335. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +85 -57
  336. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +21 -6
  337. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +1 -1
  338. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.js +1 -1
  339. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +1 -1
  340. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.js +2 -2
  341. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +1 -1
  342. package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +1 -1
  343. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +1 -1
  344. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.js +4 -13
  345. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +1 -1
  346. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembersGroupMember.js +1 -9
  347. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +132 -151
  348. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -1
  349. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +37 -14
  350. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +5 -2
  351. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroupItem.js +209 -0
  352. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
  353. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DisplayChangePassphraseIntroduction.js +2 -3
  354. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DownloadRecoveryKit.js +2 -2
  355. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +25 -12
  356. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +5 -1
  357. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +7 -0
  358. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +2 -10
  359. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +1 -1
  360. package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.js +1 -1
  361. package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.stories.js +1 -1
  362. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +9 -2
  363. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +58 -35
  364. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.js +1 -1
  365. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +1 -1
  366. package/src/react-extension/components/UserSetting/DisplayUserSettingWorkspaceActions/DisplayUserSettingWorkspaceActions.js +2 -11
  367. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -2
  368. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +1 -1
  369. package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.js +1 -9
  370. package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +1 -1
  371. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +8 -8
  372. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +1 -1
  373. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +4 -13
  374. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +1 -1
  375. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +1 -1
  376. package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.js +14 -1
  377. package/src/react-extension/test/fixture/Settings/siteSettings.js +20 -14
  378. package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +8 -1
  379. package/src/react-quickaccess/ExtQuickAccess.js +23 -9
  380. package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +0 -1
  381. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgress.js +2 -5
  382. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +1 -1
  383. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.js +2 -2
  384. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +1 -1
  385. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +1 -1
  386. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +1 -1
  387. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.js +1 -1
  388. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +1 -1
  389. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.js +1 -1
  390. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +1 -1
  391. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.js +1 -1
  392. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +1 -1
  393. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.js +1 -1
  394. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +1 -1
  395. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.js +2 -3
  396. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -3
  397. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.stories.js +1 -1
  398. package/src/react-quickaccess/components/Header/Header.test.stories.js +1 -1
  399. package/src/react-quickaccess/components/HomePage/HomePage.js +0 -8
  400. package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +1 -1
  401. package/src/react-quickaccess/components/LoginPage/LoginPage.js +1 -9
  402. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +1 -1
  403. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.js +1 -1
  404. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +1 -1
  405. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +5 -5
  406. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +1 -1
  407. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +1 -1
  408. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +1 -1
  409. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +4 -4
  410. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +1 -1
  411. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -3
  412. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +1 -1
  413. package/src/react-quickaccess/components/Search/Search.js +5 -5
  414. package/src/react-quickaccess/components/Search/Search.test.stories.js +1 -1
  415. package/src/react-web-integration/BrowserIntegrationBootstrap.js +0 -17
  416. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +1 -1
  417. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +2 -2
  418. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +1 -1
  419. package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +11 -1
  420. package/src/react-web-integration/lib/InForm/InformManager.test.data.js +60 -0
  421. package/src/react-web-integration/lib/InForm/InformManager.test.js +151 -6
  422. package/src/react-web-integration/lib/InForm/InformManager.test.page.js +39 -0
  423. package/src/shared/components/Icons/Icon.test.stories.js +1 -1
  424. package/src/shared/components/Password/Password.js +2 -1
  425. package/src/shared/components/Password/Password.test.page.js +4 -1
  426. package/src/shared/components/Password/Password.test.stories.js +1 -1
  427. package/src/shared/components/PasswordComplexity/PasswordComplexity.js +2 -2
  428. package/src/shared/components/PasswordComplexity/PasswordComplexity.test.stories.js +5 -5
  429. package/src/stories/assets/intro/hero.png +0 -0
  430. package/src/stories/assets/intro/intro.css +47 -0
  431. package/test/jest.setup.js +2 -0
@@ -15,7 +15,7 @@
15
15
  import React from "react";
16
16
  import PropTypes from "prop-types";
17
17
  import Icon from "../../../../../shared/components/Icons/Icon";
18
- import {Trans, withTranslation} from "react-i18next";
18
+ import {Trans} from "react-i18next";
19
19
  import {withAdminAccountRecovery} from "../../../../contexts/AdminAccountRecoveryContext";
20
20
  import {AccountRecoveryUserContextProvider} from "../../../../contexts/AccountRecoveryUserContext";
21
21
  import {withWorkflow} from "../../../../contexts/WorkflowContext";
@@ -90,15 +90,6 @@ class DisplayAdministrationWorkspaceActions extends React.Component {
90
90
  return this.props.adminAccountRecoveryContext.hasPolicyChanges();
91
91
  }
92
92
 
93
-
94
- /**
95
- * Get the translate function
96
- * @returns {function(...[*]=)}
97
- */
98
- get translate() {
99
- return this.props.t;
100
- }
101
-
102
93
  /**
103
94
  * Render the component
104
95
  * @returns {JSX}
@@ -132,7 +123,6 @@ class DisplayAdministrationWorkspaceActions extends React.Component {
132
123
  DisplayAdministrationWorkspaceActions.propTypes = {
133
124
  adminAccountRecoveryContext: PropTypes.object, // The admin account recovery context
134
125
  workflowContext: PropTypes.any, // the workflow context
135
- t: PropTypes.func, // The translation function
136
126
  };
137
127
 
138
- export default withWorkflow(withAdminAccountRecovery(withTranslation('common')(DisplayAdministrationWorkspaceActions)));
128
+ export default withWorkflow(withAdminAccountRecovery(DisplayAdministrationWorkspaceActions));
@@ -24,7 +24,7 @@ import DisplaySimulateSynchronizeUserDirectoryAdministration
24
24
  import {withDialog} from "../../../contexts/DialogContext";
25
25
  import DisplaySynchronizeUserDirectoryAdministration
26
26
  from "../DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration";
27
- import {Trans, withTranslation} from "react-i18next";
27
+ import {Trans} from "react-i18next";
28
28
 
29
29
  /**
30
30
  * This component is a container of multiple actions applicable on setting
@@ -141,14 +141,6 @@ class DisplayAdministrationWorkspaceActions extends React.Component {
141
141
  return AdministrationWorkspaceMenuTypes.SUBSCRIPTION === this.props.administrationWorkspaceContext.selectedAdministration;
142
142
  }
143
143
 
144
- /**
145
- * Get the translate function
146
- * @returns {function(...[*]=)}
147
- */
148
- get translate() {
149
- return this.props.t;
150
- }
151
-
152
144
  /**
153
145
  * Render the component
154
146
  * @returns {JSX}
@@ -208,7 +200,6 @@ class DisplayAdministrationWorkspaceActions extends React.Component {
208
200
  DisplayAdministrationWorkspaceActions.propTypes = {
209
201
  administrationWorkspaceContext: PropTypes.object, // The administration workspace context
210
202
  dialogContext: PropTypes.any, // The dialog context
211
- t: PropTypes.func, // The translation function
212
203
  };
213
204
 
214
- export default withDialog(withAdministrationWorkspace(withTranslation('common')(DisplayAdministrationWorkspaceActions)));
205
+ export default withDialog(withAdministrationWorkspace(DisplayAdministrationWorkspaceActions));
@@ -50,7 +50,7 @@ class DisplayAdministrationWorkspaceBreadcrumb extends Component {
50
50
  getLastBreadcrumbItemName() {
51
51
  switch (this.props.administrationWorkspaceContext.selectedAdministration) {
52
52
  case AdministrationWorkspaceMenuTypes.MFA:
53
- return this.translate("Multi factor authentication");
53
+ return this.translate("Multi Factor Authentication");
54
54
  case AdministrationWorkspaceMenuTypes.USER_DIRECTORY:
55
55
  return this.translate("Users Directory");
56
56
  case AdministrationWorkspaceMenuTypes.EMAIL_NOTIFICATION:
@@ -45,7 +45,7 @@ describe("As AD I can see a Breadcrumb", () => {
45
45
  page = new DisplayAdministrationWorkspaceBreadcrumbPage(context, props);
46
46
  expect(page.count).toBe(3);
47
47
  expect(page.item(1)).toBe("Administration");
48
- expect(page.item(2)).toBe("Multi factor authentication");
48
+ expect(page.item(2)).toBe("Multi Factor Authentication");
49
49
  expect(page.item(3)).toBe("Settings");
50
50
  });
51
51
 
@@ -321,7 +321,7 @@ class DisplayEmailNotificationsAdministration extends React.Component {
321
321
  * Handle save operation success.
322
322
  */
323
323
  async handleSaveSuccess() {
324
- await this.props.actionFeedbackContext.displaySuccess(this.translate("The email notification settings were updated."));
324
+ await this.props.actionFeedbackContext.displaySuccess(this.props.t("The email notification settings were updated."));
325
325
  this.setState({processing: false});
326
326
  }
327
327
 
@@ -390,14 +390,6 @@ class DisplayEmailNotificationsAdministration extends React.Component {
390
390
  return this.props.context.siteSettings.canIUse("accountRecovery");
391
391
  }
392
392
 
393
- /**
394
- * Get the translate function
395
- * @returns {function(...[*]=)}
396
- */
397
- get translate() {
398
- return this.props.t;
399
- }
400
-
401
393
  /**
402
394
  * Render the component
403
395
  * @returns {JSX}
@@ -19,7 +19,7 @@ import PropTypes from "prop-types";
19
19
  import DisplayEmailNotificationsAdministration from "./DisplayEmailNotificationsAdministration";
20
20
 
21
21
  export default {
22
- title: 'Passbolt/Administration/DisplayEmailNotificationsAdministration',
22
+ title: 'Passbolt Component/Administration/DisplayEmailNotificationsAdministration',
23
23
  component: DisplayEmailNotificationsAdministration
24
24
  };
25
25
 
@@ -131,7 +131,7 @@ class DisplayInternationalizationAdministration extends React.Component {
131
131
  */
132
132
  async handleSaveSuccess() {
133
133
  this.props.context.onRefreshLocaleRequested(this.state.locale);
134
- await this.props.actionFeedbackContext.displaySuccess(this.translate("The internationalization settings were updated."));
134
+ await this.props.actionFeedbackContext.displaySuccess(this.props.t("The internationalization settings were updated."));
135
135
  this.setState({processing: false});
136
136
  }
137
137
 
@@ -179,14 +179,6 @@ class DisplayInternationalizationAdministration extends React.Component {
179
179
  return [];
180
180
  }
181
181
 
182
- /**
183
- * Get the translate function
184
- * @returns {function(...[*]=)}
185
- */
186
- get translate() {
187
- return this.props.t;
188
- }
189
-
190
182
  /**
191
183
  * Render the component
192
184
  * @returns {JSX}
@@ -93,6 +93,6 @@ export default class DisplayInternationalizationAdministrationPage {
93
93
  /** select the french language */
94
94
  async selectLanguageFr() {
95
95
  await this.click(this.locale);
96
- await this.click(this.getLocaleList(2));
96
+ await this.click(this.getLocaleList(3));
97
97
  }
98
98
  }
@@ -17,7 +17,7 @@ import PropTypes from "prop-types";
17
17
  import DisplayInternationalizationAdministration from "./DisplayInternationalizationAdministration";
18
18
 
19
19
  export default {
20
- title: 'Passbolt/Administration/DisplayInternationalizationAdministration',
20
+ title: 'Passbolt Component/Administration/DisplayInternationalizationAdministration',
21
21
  component: DisplayInternationalizationAdministration
22
22
  };
23
23
 
@@ -45,21 +45,27 @@ Initial.args = {
45
45
  }, {
46
46
  locale: "en-UK",
47
47
  label: "English"
48
+ }, {
49
+ locale: "es-ES",
50
+ label: "Español"
48
51
  }, {
49
52
  locale: "fr-FR",
50
- "label": "Français"
53
+ label: "Français"
51
54
  }, {
52
55
  locale: "ja-JP",
53
- "label": "日本語"
56
+ label: "日本語"
57
+ }, {
58
+ locale: "lt-LT",
59
+ label: "Lietuvių"
54
60
  }, {
55
61
  locale: "nl-NL",
56
- "label": "Nederlands"
62
+ label: "Nederlands"
57
63
  }, {
58
64
  locale: "pl-PL",
59
- "label": "Polski"
65
+ label: "Polski"
60
66
  }, {
61
67
  locale: "sv-SE",
62
- "label": "Svenska"
68
+ label: "Svenska"
63
69
  }
64
70
  ]
65
71
  }
@@ -14,7 +14,7 @@
14
14
  import React, {Component} from "react";
15
15
  import PropTypes from "prop-types";
16
16
  import DialogWrapper from "../../Common/Dialog/DialogWrapper/DialogWrapper";
17
- import {Trans, withTranslation} from "react-i18next";
17
+ import {Trans} from "react-i18next";
18
18
  import Icon from "../../../../shared/components/Icons/Icon";
19
19
 
20
20
  class DisplayLoadingDialog extends Component {
@@ -89,14 +89,6 @@ class DisplayLoadingDialog extends Component {
89
89
  this.props.onClose();
90
90
  }
91
91
 
92
- /**
93
- * Get the translate function
94
- * @returns {function(...[*]=)}
95
- */
96
- get translate() {
97
- return this.props.t;
98
- }
99
-
100
92
  /**
101
93
  * Render
102
94
  * @returns {JSX}
@@ -127,7 +119,6 @@ class DisplayLoadingDialog extends Component {
127
119
  DisplayLoadingDialog.propTypes = {
128
120
  onClose: PropTypes.func,
129
121
  title: PropTypes.string,
130
- t: PropTypes.func, // The translation function
131
122
  };
132
123
 
133
- export default withTranslation('common')(DisplayLoadingDialog);
124
+ export default DisplayLoadingDialog;
@@ -446,7 +446,7 @@ class DisplayMfaAdministration extends React.Component {
446
446
  <p className="description">
447
447
  <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>
448
448
  </p>
449
- <div className={`input text required ${this.state.yubikeyClientIdentifierError ? "error" : ""}`}>
449
+ <div className={`input text required ${this.state.yubikeyClientIdentifierError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
450
450
  <label><Trans>Client identifier</Trans></label>
451
451
  <input id="yubikeyClientIdentifier" type="text" name="yubikeyClientIdentifier" required="required" className="required fluid form-element ready" placeholder="123456789"
452
452
  onChange={this.handleInputChange} value={this.state.yubikeyClientIdentifier} disabled={this.hasAllInputDisabled()}/>
@@ -454,7 +454,7 @@ class DisplayMfaAdministration extends React.Component {
454
454
  <div className="yubikey_client_identifier error-message">{this.state.yubikeyClientIdentifierError}</div>
455
455
  }
456
456
  </div>
457
- <div className={`input text required ${this.state.yubikeySecretKeyError ? "error" : ""}`}>
457
+ <div className={`input text required ${this.state.yubikeySecretKeyError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
458
458
  <label><Trans>Secret key</Trans></label>
459
459
  <input id="yubikeySecretKey" name="yubikeySecretKey" required="required" className="required fluid form-element" placeholder="**********" type="password"
460
460
  onChange={this.handleInputChange} value={this.state.yubikeySecretKey} disabled={this.hasAllInputDisabled()}/>
@@ -481,7 +481,7 @@ class DisplayMfaAdministration extends React.Component {
481
481
  <p className="description enabled">
482
482
  <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>
483
483
  </p>
484
- <div className={`input text required ${this.state.duoHostnameError ? "error" : ""}`}>
484
+ <div className={`input text required ${this.state.duoHostnameError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
485
485
  <label><Trans>Hostname</Trans></label>
486
486
  <input id="duoHostname" type="text" name="duoHostname" required="required" className="required fluid form-element ready"
487
487
  placeholder="api-24zlkn4.duosecurity.com" value={this.state.duoHostname}
@@ -490,7 +490,7 @@ class DisplayMfaAdministration extends React.Component {
490
490
  <div className="duo_hostname error-message">{this.state.duoHostnameError}</div>
491
491
  }
492
492
  </div>
493
- <div className={`input text required ${this.state.duoIntegrationKeyError ? "error" : ""}`}>
493
+ <div className={`input text required ${this.state.duoIntegrationKeyError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
494
494
  <label><Trans>Integration key</Trans></label>
495
495
  <input id="duoIntegrationKey" type="text" name="duoIntegrationKey" required="required" className="required fluid form-element ready"
496
496
  placeholder="HASJKDSQJO213123KQSLDF" value={this.state.duoIntegrationKey}
@@ -499,7 +499,7 @@ class DisplayMfaAdministration extends React.Component {
499
499
  <div className="duo_integration_key error-message">{this.state.duoIntegrationKeyError}</div>
500
500
  }
501
501
  </div>
502
- <div className={`input text required ${this.state.duoSaltError ? "error" : ""}`}>
502
+ <div className={`input text required ${this.state.duoSaltError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
503
503
  <label><Trans>Salt</Trans></label>
504
504
  <input id="duoSalt" name="duoSalt" required="required" className="required fluid form-element ready" placeholder="**********" type="password"
505
505
  value={this.state.duoSalt} onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
@@ -507,7 +507,7 @@ class DisplayMfaAdministration extends React.Component {
507
507
  <div className="duo_salt error-message">{this.state.duoSaltError}</div>
508
508
  }
509
509
  </div>
510
- <div className={`input text required ${this.state.duoSecretKeyError ? "error" : ""}`}>
510
+ <div className={`input text required ${this.state.duoSecretKeyError ? "error" : ""} ${this.hasAllInputDisabled() ? 'disabled' : ''}`}>
511
511
  <label><Trans>Secret key</Trans></label>
512
512
  <input id="duoSecretKey" name="duoSecretKey" required="required" className="required fluid form-element ready" placeholder="**********" type="password"
513
513
  value={this.state.duoSecretKey} onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()}/>
@@ -4,7 +4,7 @@ import DisplayMfaAdministration from "./DisplayMfaAdministration";
4
4
 
5
5
 
6
6
  export default {
7
- title: 'Passbolt/Administration/DisplayMfaAdministration',
7
+ title: 'Passbolt Component/Administration/DisplayMfaAdministration',
8
8
  component: DisplayMfaAdministration
9
9
  };
10
10
 
@@ -191,6 +191,22 @@ class DisplaySimulateSynchronizeUserDirectoryAdministration extends Component {
191
191
  return this.usersSuccess.length > 0 || this.groupsSuccess.length > 0;
192
192
  }
193
193
 
194
+ /**
195
+ * Has success user resource
196
+ * @returns {boolean}
197
+ */
198
+ hasSuccessUserResource() {
199
+ return this.usersSuccess.length > 0;
200
+ }
201
+
202
+ /**
203
+ * Has success resource
204
+ * @returns {boolean}
205
+ */
206
+ hasSuccessGroupResource() {
207
+ return this.groupsSuccess.length > 0;
208
+ }
209
+
194
210
  /**
195
211
  * Has error or ignore resource
196
212
  * @returns {boolean}
@@ -289,7 +305,15 @@ class DisplaySimulateSynchronizeUserDirectoryAdministration extends Component {
289
305
  </p>
290
306
  <p></p>
291
307
  {this.hasSuccessResource() &&
292
- <p id="resources-synchronize"> {this.translate("{{users}} and {{groups}} will be synchronized.", {users: this.translate("{{count}} user", {count: this.usersSuccess.length}), groups: this.translate("{{count}} group", {count: this.groupsSuccess.length})})} </p>
308
+ <p id="resources-synchronize">
309
+ {this.hasSuccessUserResource() &&
310
+ <>{this.translate("{{count}} user will be synchronized.", {count: this.usersSuccess.length})}</>
311
+ }
312
+ {this.hasSuccessUserResource() && this.hasSuccessGroupResource() && <br/>}
313
+ {this.hasSuccessGroupResource() &&
314
+ <>{this.translate("{{count}} group will be synchronized.", {count: this.groupsSuccess.length})}</>
315
+ }
316
+ </p>
293
317
  }
294
318
  {!this.hasSuccessResource() &&
295
319
  <p id="no-resources"> <Trans>No resources will be synchronized.</Trans> </p>
@@ -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 users and 60 groups will be synchronized. ');
45
+ expect(page.displaySimulateSynchronizeUserDirectoryAdministrationDialog.resourceSynchronize).toBe('2 users will be synchronized.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);
@@ -6,7 +6,7 @@ import DisplaySimulateSynchronizeUserDirectoryAdministration
6
6
  from "./DisplaySimulateSynchronizeUserDirectoryAdministration";
7
7
 
8
8
  export default {
9
- title: 'Passbolt/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration',
9
+ title: 'Passbolt Component/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration',
10
10
  component: DisplaySimulateSynchronizeUserDirectoryAdministration
11
11
  };
12
12
 
@@ -9,7 +9,7 @@ import {
9
9
 
10
10
 
11
11
  export default {
12
- title: 'Passbolt/Administration/DisplaySubscriptionKey',
12
+ title: 'Passbolt Component/Administration/DisplaySubscriptionKey',
13
13
  component: DisplaySubscriptionKey
14
14
  };
15
15
 
@@ -189,6 +189,22 @@ class DisplaySynchronizeUserDirectoryAdministration extends Component {
189
189
  return this.usersSuccess.length > 0 || this.groupsSuccess.length > 0;
190
190
  }
191
191
 
192
+ /**
193
+ * Has success user resource
194
+ * @returns {boolean}
195
+ */
196
+ hasSuccessUserResource() {
197
+ return this.usersSuccess.length > 0;
198
+ }
199
+
200
+ /**
201
+ * Has success resource
202
+ * @returns {boolean}
203
+ */
204
+ hasSuccessGroupResource() {
205
+ return this.groupsSuccess.length > 0;
206
+ }
207
+
192
208
  /**
193
209
  * Has error or ignore resource
194
210
  * @returns {boolean}
@@ -287,7 +303,15 @@ class DisplaySynchronizeUserDirectoryAdministration extends Component {
287
303
  </p>
288
304
  <p></p>
289
305
  {this.hasSuccessResource() &&
290
- <p id="resources-synchronize"> {this.translate("{{users}} and {{groups}} have been synchronized.", {users: this.translate("{{count}} user", {count: this.usersSuccess.length}), groups: this.translate("{{count}} group", {count: this.groupsSuccess.length})})} </p>
306
+ <p id="resources-synchronize">
307
+ {this.hasSuccessUserResource() &&
308
+ <>{this.translate("{{count}} user has been synchronized.", {count: this.usersSuccess.length})}</>
309
+ }
310
+ {this.hasSuccessUserResource() && this.hasSuccessGroupResource() && <br/>}
311
+ {this.hasSuccessGroupResource() &&
312
+ <>{this.translate("{{count}} group has been synchronized.", {count: this.groupsSuccess.length})}</>
313
+ }
314
+ </p>
291
315
  }
292
316
  {!this.hasSuccessResource() &&
293
317
  <p id="no-resources"> <Trans>No resources have been synchronized.</Trans> </p>
@@ -42,7 +42,7 @@ describe("See the synchronize user directory administration dialog", () => {
42
42
  it('As AD I should see The full report in the dialog for my synchronize report', async() => {
43
43
  expect(page.title.hyperlink.textContent).toBe("Synchronize report");
44
44
  expect(page.displaySynchronizeUserDirectoryAdministrationDialog.exists()).toBeTruthy();
45
- expect(page.displaySynchronizeUserDirectoryAdministrationDialog.resourceSynchronize).toBe(' 2 users and 60 groups have been synchronized. ');
45
+ expect(page.displaySynchronizeUserDirectoryAdministrationDialog.resourceSynchronize).toBe('2 users have been synchronized.60 groups have been synchronized.');
46
46
  expect(page.displaySynchronizeUserDirectoryAdministrationDialog.error).toBe('Some resources will not be synchronized and will require your attention, see the full report.');
47
47
  expect(page.displaySynchronizeUserDirectoryAdministrationDialog.noResource).toBeNull();
48
48
  await page.displaySynchronizeUserDirectoryAdministrationDialog.click(page.displaySynchronizeUserDirectoryAdministrationDialog.fullReport);
@@ -6,7 +6,7 @@ import DisplaySynchronizeUserDirectoryAdministration from "./DisplaySynchronizeU
6
6
 
7
7
 
8
8
  export default {
9
- title: 'Passbolt/Administration/DisplaySynchronizeUserDirectoryAdministration',
9
+ title: 'Passbolt Component/Administration/DisplaySynchronizeUserDirectoryAdministration',
10
10
  component: DisplaySynchronizeUserDirectoryAdministration
11
11
  };
12
12
 
@@ -157,7 +157,7 @@ class DisplayTestUserDirectoryAdministration extends Component {
157
157
  */
158
158
  render() {
159
159
  return (
160
- <DialogWrapper className='ldap-test-settings-dialog' title="Test settings report"
160
+ <DialogWrapper className='ldap-test-settings-dialog' title={this.translate("Test settings report")}
161
161
  onClose={this.handleClose} disabled={this.hasAllInputDisabled()}>
162
162
  <div className="form-content">
163
163
  <p>
@@ -168,7 +168,17 @@ class DisplayTestUserDirectoryAdministration extends Component {
168
168
  <p></p>
169
169
  <div className="ldap-test-settings-report">
170
170
  <p>
171
- {this.translate("{{users}} and {{groups}} have been found.", {users: this.translate("{{count}} user", {count: this.users.length}), groups: this.translate("{{count}} group", {count: this.groups.length})})}
171
+ {this.users.length > 0 &&
172
+ <>
173
+ {this.translate("{{count}} user has been found.", {count: this.users.length})}
174
+ </>
175
+ }
176
+ {this.users.length > 0 && this.groups.length > 0 && <br/>}
177
+ {this.groups.length > 0 &&
178
+ <>
179
+ {this.translate("{{count}} group has been found.", {count: this.groups.length})}
180
+ </>
181
+ }
172
182
  </p>
173
183
  <div className={`accordion directory-list ${this.state.openListGroupsUsers ? "" : "closed"}`}>
174
184
  <div className="accordion-header" onClick={this.handleListGroupsUsersClicked}>
@@ -46,7 +46,7 @@ describe("See the test user directory administration Dialog", () => {
46
46
  it('As AD I should see the number of user(s) and group(s) founds on the LDAP server in the dialog for my Test settings report', async() => {
47
47
  expect(page.title.hyperlink.textContent).toBe("Test settings report");
48
48
  expect(page.displayTestUserDirectoryAdministrationDialog.exists()).toBeTruthy();
49
- expect(page.displayTestUserDirectoryAdministrationDialog.usersAndGroupsFound).toBe('12 users and 58 groups have been found.');
49
+ expect(page.displayTestUserDirectoryAdministrationDialog.usersAndGroupsFound).toBe('12 users have been found.58 groups have been found.');
50
50
  await page.displayTestUserDirectoryAdministrationDialog.click(page.displayTestUserDirectoryAdministrationDialog.buttonOk);
51
51
  expect(props.onClose).toBeCalled();
52
52
  });
@@ -6,7 +6,7 @@ import DisplayTestUserDirectoryAdministration from "./DisplayTestUserDirectoryAd
6
6
 
7
7
 
8
8
  export default {
9
- title: 'Passbolt/Administration/DisplayTestUserDirectoryAdministration',
9
+ title: 'Passbolt Component/Administration/DisplayTestUserDirectoryAdministration',
10
10
  component: DisplayTestUserDirectoryAdministration
11
11
  };
12
12