passbolt-styleguide 3.3.2 → 3.4.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 (203) hide show
  1. package/build/css/help.min.css +2 -2
  2. package/build/css/public.min.css +2 -2
  3. package/build/css/themes/default/api_authentication.min.css +3 -3
  4. package/build/css/themes/default/api_cloud.min.css +3 -3
  5. package/build/css/themes/default/api_main.min.css +4 -4
  6. package/build/css/themes/default/api_reports.min.css +4 -4
  7. package/build/css/themes/default/api_webinstaller.min.css +3 -3
  8. package/build/css/themes/default/ext_app.min.css +4 -4
  9. package/build/css/themes/default/ext_authentication.min.css +3 -3
  10. package/build/css/themes/default/ext_external.min.css +2 -2
  11. package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
  12. package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
  13. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  14. package/build/css/themes/midgar/api_authentication.min.css +9 -0
  15. package/build/css/themes/midgar/api_main.min.css +4 -4
  16. package/build/css/themes/midgar/api_reports.min.css +4 -4
  17. package/build/css/themes/midgar/ext_app.min.css +4 -4
  18. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  19. package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
  20. package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
  21. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  22. package/build/js/dist/api-app.js +1 -1
  23. package/build/js/dist/api-recover.js +1 -1
  24. package/build/js/dist/api-setup.js +1 -1
  25. package/build/js/dist/api-triage.js +1 -1
  26. package/build/js/dist/api-vendors.js +1 -1
  27. package/build/js/dist/api-vendors.js.LICENSE.txt +40 -4
  28. package/package.json +7 -6
  29. package/src/img/third_party/ChromeWebStore_black.svg +1 -0
  30. package/src/img/third_party/ChromeWebStore_white.svg +1 -0
  31. package/src/img/third_party/edge-addon-black.svg +1 -0
  32. package/src/img/third_party/edge-addon-white.svg +1 -0
  33. package/src/locales/de-DE/common.json +11 -11
  34. package/src/locales/en-UK/common.json +11 -12
  35. package/src/locales/fr/common.json +750 -0
  36. package/src/locales/fr-FR/common.json +11 -11
  37. package/src/locales/sv-SE/common.json +11 -11
  38. package/src/react-extension/ExtApp.js +9 -6
  39. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +1 -1
  40. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +0 -1
  41. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +1 -1
  42. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
  43. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +5 -8
  44. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +1 -1
  45. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +4 -1
  46. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +4 -4
  47. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +1 -1
  48. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
  49. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +2 -3
  50. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +5 -9
  51. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +2 -2
  52. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +0 -3
  53. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +1 -1
  54. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +12 -15
  55. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -2
  56. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +1 -1
  57. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +12 -14
  58. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +12 -15
  59. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +12 -15
  60. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +12 -15
  61. package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +12 -15
  62. package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +12 -15
  63. package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +12 -15
  64. package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +12 -15
  65. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +1 -1
  66. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +12 -15
  67. package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +12 -15
  68. package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +12 -15
  69. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +14 -0
  70. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.js +65 -0
  71. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.page.js +38 -0
  72. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +12 -15
  73. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +15 -6
  74. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.js +27 -0
  75. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +12 -15
  76. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +12 -15
  77. package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +8 -11
  78. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +12 -15
  79. package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +12 -15
  80. package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +12 -15
  81. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +12 -15
  82. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +5 -11
  83. package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +1 -1
  84. package/src/react-extension/components/Common/Error/ShowErrorDetails/ShowErrorDetails.js +1 -1
  85. package/src/react-extension/components/Common/Icons/Icon.test.stories.js +3 -1
  86. package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +2 -1
  87. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +1 -1
  88. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.js +1 -1
  89. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +34 -0
  90. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +14 -4
  91. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayDragResource.js +68 -0
  92. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +9 -42
  93. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +4 -1
  94. package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +5 -11
  95. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +6 -10
  96. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +5 -11
  97. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +0 -1
  98. package/src/react-extension/components/Resource/FilterResourcesByFolders/DisplayDragFolderItem.js +109 -0
  99. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +40 -192
  100. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.data.js +10 -5
  101. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.js +9 -12
  102. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.page.js +5 -1
  103. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +0 -1
  104. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js +83 -58
  105. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.data.js +52 -59
  106. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.js +25 -20
  107. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.page.js +11 -5
  108. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +0 -1
  109. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.data.js +47 -0
  110. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +34 -3
  111. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.page.js +46 -9
  112. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +0 -1
  113. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +124 -4
  114. package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +0 -2
  115. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +6 -10
  116. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +5 -11
  117. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +3 -3
  118. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.js +3 -3
  119. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +5 -11
  120. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +8 -14
  121. package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +5 -11
  122. package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +8 -14
  123. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +8 -15
  124. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +0 -1
  125. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +0 -1
  126. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.js +1 -1
  127. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +0 -1
  128. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +0 -3
  129. package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +0 -6
  130. package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +0 -5
  131. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +0 -7
  132. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +0 -2
  133. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +0 -2
  134. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +0 -2
  135. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +0 -1
  136. package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +0 -2
  137. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +0 -4
  138. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +1 -1
  139. package/src/react-extension/components/Share/ShareDialog.test.stories.js +5 -9
  140. package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -9
  141. package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +3 -1
  142. package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +5 -8
  143. package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +5 -8
  144. package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +3 -1
  145. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +5 -8
  146. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +0 -1
  147. package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +0 -2
  148. package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +8 -11
  149. package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +8 -11
  150. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +8 -12
  151. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -8
  152. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +5 -8
  153. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +5 -8
  154. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +8 -11
  155. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +8 -11
  156. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +5 -8
  157. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +55 -2
  158. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.data.js +6 -0
  159. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +54 -6
  160. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +6 -0
  161. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +1 -1
  162. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -8
  163. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +21 -6
  164. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +5 -8
  165. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +5 -8
  166. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +5 -8
  167. package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +5 -8
  168. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +5 -8
  169. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +7 -10
  170. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +2 -2
  171. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +5 -8
  172. package/src/react-extension/contexts/ApiAppContext.js +1 -1
  173. package/src/react-extension/contexts/ApiRecoverContext.js +1 -1
  174. package/src/react-extension/contexts/ApiSetupContext.js +1 -1
  175. package/src/react-extension/contexts/DragContext.js +122 -0
  176. package/src/react-extension/contexts/DragContext.test.js +53 -0
  177. package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +42 -7
  178. package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +3 -3
  179. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +3 -4
  180. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +6 -6
  181. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +7 -3
  182. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +6 -6
  183. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +6 -6
  184. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +6 -6
  185. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +7 -3
  186. package/src/react-quickaccess/components/Header/Header.test.stories.js +3 -6
  187. package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +13 -9
  188. package/src/react-quickaccess/components/LoginPage/LoginPage.js +41 -5
  189. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +3 -5
  190. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +3 -5
  191. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +5 -5
  192. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +5 -5
  193. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +5 -5
  194. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +4 -2
  195. package/src/react-quickaccess/components/Search/Search.test.stories.js +3 -5
  196. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +6 -2
  197. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +9 -2
  198. package/src/react-web-integration/lib/InForm/InFormCallToActionField.js +3 -3
  199. package/src/react-web-integration/lib/InForm/InFormManager.js +12 -6
  200. package/src/react-web-integration/lib/InForm/InformMenuField.js +1 -1
  201. package/src/shared/lib/Browser/detectBrowserName.js +2 -1
  202. package/src/img/third_party/ChromeWebStore_black.png +0 -0
  203. package/src/img/third_party/ChromeWebStore_white.png +0 -0
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DeleteUserGroup from "./DeleteUserGroup";
7
6
 
8
7
 
@@ -21,13 +20,11 @@ const context = {
21
20
 
22
21
 
23
22
  const Template = args =>
24
- <MockTranslationProvider>
25
- <AppContext.Provider value={context}>
26
- <MemoryRouter initialEntries={['/']}>
27
- <Route component={routerProps => <DeleteUserGroup {...args} {...routerProps}/>}></Route>
28
- </MemoryRouter>
29
- </AppContext.Provider>
30
- </MockTranslationProvider>;
23
+ <AppContext.Provider value={context}>
24
+ <MemoryRouter initialEntries={['/']}>
25
+ <Route component={routerProps => <DeleteUserGroup {...args} {...routerProps}/>}></Route>
26
+ </MemoryRouter>
27
+ </AppContext.Provider>;
31
28
 
32
29
  Template.propTypes = {
33
30
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DeleteUserGroupWithConflicts from "./DeleteUserGroupWithConflicts";
7
6
  import {mockGroups, mockResources, mockUsers} from "./DeleteUserGroupWithConflicts.test.data";
8
7
 
@@ -29,13 +28,11 @@ const context = {
29
28
 
30
29
 
31
30
  const Template = args =>
32
- <MockTranslationProvider>
33
- <AppContext.Provider value={context}>
34
- <MemoryRouter initialEntries={['/']}>
35
- <Route component={routerProps => <DeleteUserGroupWithConflicts {...args} {...routerProps}/>}></Route>
36
- </MemoryRouter>
37
- </AppContext.Provider>
38
- </MockTranslationProvider>;
31
+ <AppContext.Provider value={context}>
32
+ <MemoryRouter initialEntries={['/']}>
33
+ <Route component={routerProps => <DeleteUserGroupWithConflicts {...args} {...routerProps}/>}></Route>
34
+ </MemoryRouter>
35
+ </AppContext.Provider>;
39
36
 
40
37
  Template.propTypes = {
41
38
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DisplayUserGroupDetailsInformation from "./DisplayUserGroupDetailsInformation";
7
6
  import {defaultAppContext} from "./DisplayUserGroupDetailsInformation.test.data";
8
7
 
@@ -18,17 +17,15 @@ const context = {
18
17
 
19
18
 
20
19
  const Template = args =>
21
- <MockTranslationProvider>
22
- <AppContext.Provider value={context}>
23
- <div className="panel aside">
24
- <div className="detailed-information">
25
- <MemoryRouter initialEntries={['/']}>
26
- <Route component={routerProps => <DisplayUserGroupDetailsInformation {...args} {...routerProps}/>}></Route>
27
- </MemoryRouter>
28
- </div>
20
+ <AppContext.Provider value={context}>
21
+ <div className="panel aside">
22
+ <div className="detailed-information">
23
+ <MemoryRouter initialEntries={['/']}>
24
+ <Route component={routerProps => <DisplayUserGroupDetailsInformation {...args} {...routerProps}/>}></Route>
25
+ </MemoryRouter>
29
26
  </div>
30
- </AppContext.Provider>
31
- </MockTranslationProvider>;
27
+ </div>
28
+ </AppContext.Provider>;
32
29
 
33
30
  Template.propTypes = {
34
31
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import {defaultAppContext} from "./DisplayUserGroupDetailsMembers.test.data";
7
6
  import DisplayUserGroupDetailsMembers from "./DisplayUserGroupDetailsMembers";
8
7
 
@@ -15,17 +14,15 @@ export default {
15
14
  const context = defaultAppContext();
16
15
 
17
16
  const Template = args =>
18
- <MockTranslationProvider>
19
- <AppContext.Provider value={context}>
20
- <div className="panel aside">
21
- <div className="detailed-information">
22
- <MemoryRouter initialEntries={['/']}>
23
- <Route component={routerProps => <DisplayUserGroupDetailsMembers {...args} {...routerProps}/>}></Route>
24
- </MemoryRouter>
25
- </div>
17
+ <AppContext.Provider value={context}>
18
+ <div className="panel aside">
19
+ <div className="detailed-information">
20
+ <MemoryRouter initialEntries={['/']}>
21
+ <Route component={routerProps => <DisplayUserGroupDetailsMembers {...args} {...routerProps}/>}></Route>
22
+ </MemoryRouter>
26
23
  </div>
27
- </AppContext.Provider>
28
- </MockTranslationProvider>;
24
+ </div>
25
+ </AppContext.Provider>;
29
26
 
30
27
  Template.propTypes = {
31
28
  context: PropTypes.object,
@@ -3,7 +3,6 @@ import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
5
  import {defaultProps, mockGpgKey, mockUsers} from "./EditUserGroup.test.data";
6
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
7
6
  import EditUserGroup from "./EditUserGroup";
8
7
 
9
8
 
@@ -40,13 +39,11 @@ const context = {
40
39
 
41
40
 
42
41
  const Template = args =>
43
- <MockTranslationProvider>
44
- <AppContext.Provider value={context}>
45
- <MemoryRouter initialEntries={['/']}>
46
- <Route component={routerProps => <EditUserGroup {...args} {...routerProps}/>}></Route>
47
- </MemoryRouter>
48
- </AppContext.Provider>
49
- </MockTranslationProvider>;
42
+ <AppContext.Provider value={context}>
43
+ <MemoryRouter initialEntries={['/']}>
44
+ <Route component={routerProps => <EditUserGroup {...args} {...routerProps}/>}></Route>
45
+ </MemoryRouter>
46
+ </AppContext.Provider>;
50
47
 
51
48
  Template.propTypes = {
52
49
  context: PropTypes.object,
@@ -21,6 +21,7 @@ import NotifyError from "../../Common/Error/NotifyError/NotifyError";
21
21
  import {withDialog} from "../../../contexts/DialogContext";
22
22
  import Icon from "../../Common/Icons/Icon";
23
23
  import {Trans, withTranslation} from "react-i18next";
24
+ import {withAppContext} from "../../../contexts/AppContext";
24
25
 
25
26
  /**
26
27
  * This component displays the user confirm passphrase information
@@ -46,6 +47,7 @@ class ConfirmPassphrase extends React.Component {
46
47
  passphrase: "", // The passphrase input
47
48
  passphraseError: null, // The passphrase error input
48
49
  isObfuscated: true, // True if the passphrase should not be visible
50
+ hasPassphraseFocus: false, // The password input has focus
49
51
  };
50
52
  }
51
53
 
@@ -55,6 +57,8 @@ class ConfirmPassphrase extends React.Component {
55
57
  bindCallbacks() {
56
58
  this.handleInputChange = this.handleInputChange.bind(this);
57
59
  this.handleToggleObfuscate = this.handleToggleObfuscate.bind(this);
60
+ this.handleFocusPassphrase = this.handleFocusPassphrase.bind(this);
61
+ this.handleBlurPassphrase = this.handleBlurPassphrase.bind(this);
58
62
  this.handleSubmit = this.handleSubmit.bind(this);
59
63
  this.handleCancel = this.handleCancel.bind(this);
60
64
  }
@@ -99,6 +103,48 @@ class ConfirmPassphrase extends React.Component {
99
103
  this.setState({isObfuscated: !this.state.isObfuscated});
100
104
  }
101
105
 
106
+ /**
107
+ * Returns the security token code of the suer
108
+ */
109
+ get securityTokenCode() {
110
+ return this.props.context.userSettings.getSecurityTokenCode();
111
+ }
112
+
113
+ /**
114
+ * Returns the style of the security token (color and text color)
115
+ */
116
+ get securityTokenStyle() {
117
+ const {userSettings} = this.props.context;
118
+ const inverseStyle = {background: userSettings.getSecurityTokenTextColor(), color: userSettings.getSecurityTokenBackgroundColor()};
119
+ const fullStyle = {background: userSettings.getSecurityTokenBackgroundColor(), color: userSettings.getSecurityTokenTextColor()};
120
+ return this.state.hasPassphraseFocus ? inverseStyle : fullStyle;
121
+ }
122
+
123
+ /**
124
+ * Get the passphrase input style.
125
+ * @return {Object}
126
+ */
127
+ get passphraseInputStyle() {
128
+ const {userSettings} = this.props.context;
129
+ const emptyStyle = {background: "", color: ""};
130
+ const fullStyle = {background: userSettings.getSecurityTokenBackgroundColor(), color: userSettings.getSecurityTokenTextColor()};
131
+ return this.state.hasPassphraseFocus ? fullStyle : emptyStyle;
132
+ }
133
+
134
+ /**
135
+ * Whenever the user focus on the passphrase input
136
+ */
137
+ handleFocusPassphrase() {
138
+ this.setState({hasPassphraseFocus: true});
139
+ }
140
+
141
+ /**
142
+ * Whenever the user blurs on the passphrase input
143
+ */
144
+ handleBlurPassphrase() {
145
+ this.setState({hasPassphraseFocus: false});
146
+ }
147
+
102
148
  /**
103
149
  * Whenever the user submits the passphrase
104
150
  * @param event A form submit event
@@ -179,7 +225,7 @@ class ConfirmPassphrase extends React.Component {
179
225
  return (
180
226
  <div className="grid grid-responsive-12 profile-passphrase">
181
227
  <div className="row">
182
- <div className="col6">
228
+ <div className="col7">
183
229
  <form className="enter-passphrase" onSubmit={this.handleSubmit}>
184
230
  <h3><Trans>Please enter your passphrase to continue</Trans></h3>
185
231
  <div className="form-content">
@@ -194,7 +240,10 @@ class ConfirmPassphrase extends React.Component {
194
240
  className={`required ${this.state.passphraseError ? "error" : ""}`}
195
241
  autoFocus={true}
196
242
  value={this.state.passphrase}
243
+ style={this.passphraseInputStyle}
197
244
  onChange={this.handleInputChange}
245
+ onFocus={this.handleFocusPassphrase}
246
+ onBlur={this.handleBlurPassphrase}
198
247
  disabled={this.hasAllInputDisabled()}
199
248
  autoComplete="off"
200
249
  />
@@ -205,6 +254,9 @@ class ConfirmPassphrase extends React.Component {
205
254
  <Icon name="eye-open"/>
206
255
  <span className="visually-hidden"><Trans>View</Trans></span>
207
256
  </a>
257
+ <span className="security-token" style={this.securityTokenStyle}>
258
+ {this.securityTokenCode}
259
+ </span>
208
260
  {this.state.passphraseError &&
209
261
  <div className="error-message">{this.state.passphraseError}</div>
210
262
  }
@@ -245,9 +297,10 @@ class ConfirmPassphrase extends React.Component {
245
297
  }
246
298
 
247
299
  ConfirmPassphrase.propTypes = {
300
+ context: PropTypes.any, // The application context
248
301
  userSettingsContext: PropTypes.object, // The user settings context
249
302
  dialogContext: PropTypes.any, // The dialog context
250
303
  t: PropTypes.func, // The translation function
251
304
  };
252
305
 
253
- export default withDialog(withUserSettings(withTranslation('common')(ConfirmPassphrase)));
306
+ export default withAppContext(withDialog(withUserSettings(withTranslation('common')(ConfirmPassphrase))));
@@ -1,9 +1,15 @@
1
+ import UserSettings from "../../../../shared/lib/Settings/UserSettings";
2
+ import userSettingsFixture from "../../../test/fixture/Settings/userSettings";
3
+
1
4
  /**
2
5
  * Default props
3
6
  * @returns {object}
4
7
  */
5
8
  export function defaultProps() {
6
9
  const props = {
10
+ context: {
11
+ userSettings: new UserSettings(userSettingsFixture)
12
+ },
7
13
  userSettingsContext: {
8
14
  onCheckProvidePassphraseRequested: jest.fn(),
9
15
  onGoToIntroductionPassphraseRequested: jest.fn()
@@ -24,6 +24,7 @@ import debounce from "debounce-promise";
24
24
  import SecurityComplexity from "../../../../shared/lib/Secret/SecretComplexity";
25
25
  import SecretComplexity from "../../../../shared/lib/Secret/SecretComplexity";
26
26
  import {Trans, withTranslation} from "react-i18next";
27
+ import {withAppContext} from "../../../contexts/AppContext";
27
28
 
28
29
  /**
29
30
  * This component displays the user choose passphrase information
@@ -102,6 +103,8 @@ class EnterNewPassphrase extends React.Component {
102
103
  bindEventHandlers() {
103
104
  this.handlePassphraseChange = this.handlePassphraseChange.bind(this);
104
105
  this.handleToggleObfuscate = this.handleToggleObfuscate.bind(this);
106
+ this.handleFocusPassphrase = this.handleFocusPassphrase.bind(this);
107
+ this.handleBlurPassphrase = this.handleBlurPassphrase.bind(this);
105
108
  this.handleCancel = this.handleCancel.bind(this);
106
109
  this.handleSubmit = this.handleSubmit.bind(this);
107
110
  }
@@ -180,6 +183,48 @@ class EnterNewPassphrase extends React.Component {
180
183
  };
181
184
  }
182
185
 
186
+ /**
187
+ * Returns the security token code of the suer
188
+ */
189
+ get securityTokenCode() {
190
+ return this.props.context.userSettings.getSecurityTokenCode();
191
+ }
192
+
193
+ /**
194
+ * Returns the style of the security token (color and text color)
195
+ */
196
+ get securityTokenStyle() {
197
+ const {userSettings} = this.props.context;
198
+ const inverseStyle = {background: userSettings.getSecurityTokenTextColor(), color: userSettings.getSecurityTokenBackgroundColor()};
199
+ const fullStyle = {background: userSettings.getSecurityTokenBackgroundColor(), color: userSettings.getSecurityTokenTextColor()};
200
+ return this.state.hasPassphraseFocus ? inverseStyle : fullStyle;
201
+ }
202
+
203
+ /**
204
+ * Get the passphrase input style.
205
+ * @return {Object}
206
+ */
207
+ get passphraseInputStyle() {
208
+ const {userSettings} = this.props.context;
209
+ const emptyStyle = {background: "", color: ""};
210
+ const fullStyle = {background: userSettings.getSecurityTokenBackgroundColor(), color: userSettings.getSecurityTokenTextColor()};
211
+ return this.state.hasPassphraseFocus ? fullStyle : emptyStyle;
212
+ }
213
+
214
+ /**
215
+ * Whenever the user focus on the passphrase input
216
+ */
217
+ handleFocusPassphrase() {
218
+ this.setState({hasPassphraseFocus: true});
219
+ }
220
+
221
+ /**
222
+ * Whenever the user blurs on the passphrase input
223
+ */
224
+ handleBlurPassphrase() {
225
+ this.setState({hasPassphraseFocus: false});
226
+ }
227
+
183
228
  /**
184
229
  * Evaluate if the passphrase is in dictionary
185
230
  * @param passphrase The passphrase to evaluate
@@ -244,7 +289,7 @@ class EnterNewPassphrase extends React.Component {
244
289
  return (
245
290
  <div className="grid grid-responsive-12 profile-passphrase">
246
291
  <div className="row">
247
- <div className="col6">
292
+ <div className="col7">
248
293
  <form className="enter-passphrase" onSubmit={this.handleSubmit}>
249
294
  <h3><Trans>Please enter a new passphrase</Trans></h3>
250
295
  <div className="form-content">
@@ -254,7 +299,10 @@ class EnterNewPassphrase extends React.Component {
254
299
  type={this.state.isObfuscated ? "password" : "text"}
255
300
  ref={this.passphraseInput}
256
301
  value={this.state.passphrase}
302
+ style={this.passphraseInputStyle}
257
303
  onChange={this.handlePassphraseChange}
304
+ onFocus={this.handleFocusPassphrase}
305
+ onBlur={this.handleBlurPassphrase}
258
306
  disabled={!this.areActionsAllowed}
259
307
  autoFocus={true}
260
308
  autoComplete="off"/>
@@ -265,13 +313,15 @@ class EnterNewPassphrase extends React.Component {
265
313
  <Icon name="eye-open"/>
266
314
  <span className="visually-hidden">view</span>
267
315
  </a>
316
+ <span className="security-token" style={this.securityTokenStyle}>
317
+ {this.securityTokenCode}
318
+ </span>
268
319
  <div className="password-complexity">
269
320
  <span className="progress">
270
321
  <span className={`progress-bar ${this.state.passphraseStrength.id}`}/>
271
322
  </span>
272
323
  </div>
273
324
  </div>
274
-
275
325
  <div className="password-hints">
276
326
  <ul>
277
327
  <li className={this.state.hintClassNames.enoughLength}>
@@ -305,9 +355,6 @@ class EnterNewPassphrase extends React.Component {
305
355
  <h3><Trans>Tips for choosing a good passphrase</Trans></h3>
306
356
  <p><Trans>Make sure your passphrase is hard to guess but also that is long enough. For example you can use your favorite lyric from a song,
307
357
  grab the first couple of characters from the words in your favorite line.</Trans></p>
308
- <a className="button">
309
- <span><Trans>Learn more</Trans></span>
310
- </a>
311
358
  </div>
312
359
  </div>
313
360
  </div>
@@ -317,9 +364,10 @@ class EnterNewPassphrase extends React.Component {
317
364
  }
318
365
 
319
366
  EnterNewPassphrase.propTypes = {
367
+ context: PropTypes.any, // The application context
320
368
  userSettingsContext: PropTypes.object, // The user settings context
321
369
  dialogContext: PropTypes.any, // The dialog context
322
370
  t: PropTypes.func, // The translation function
323
371
  };
324
372
 
325
- export default withDialog(withUserSettings(withTranslation('common')(EnterNewPassphrase)));
373
+ export default withAppContext(withDialog(withUserSettings(withTranslation('common')(EnterNewPassphrase))));
@@ -2,8 +2,14 @@
2
2
  * Default props
3
3
  * @returns {object}
4
4
  */
5
+ import UserSettings from "../../../../shared/lib/Settings/UserSettings";
6
+ import userSettingsFixture from "../../../test/fixture/Settings/userSettings";
7
+
5
8
  export function defaultProps() {
6
9
  const props = {
10
+ context: {
11
+ userSettings: new UserSettings(userSettingsFixture)
12
+ },
7
13
  userSettingsContext: {
8
14
  onUpdatePassphraseRequested: jest.fn(),
9
15
  onGoToIntroductionPassphraseRequested: jest.fn(),
@@ -379,7 +379,7 @@ class ChangeUserSecurityToken extends Component {
379
379
  <p>
380
380
  <Trans>This security token will be displayed when your passphrase is requested,
381
381
  so you can verify quickly the form is coming from passbolt.</Trans>&nbsp;
382
- <Trans>This will help protect you from phishing attack</Trans>
382
+ <Trans>This will help protect you from phishing attacks</Trans>
383
383
  </p>
384
384
  </div>
385
385
  </div>
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import ChangeUserSecurityToken from "./ChangeUserSecurityToken";
7
6
 
8
7
 
@@ -20,13 +19,11 @@ const context = {
20
19
 
21
20
 
22
21
  const Template = args =>
23
- <MockTranslationProvider>
24
- <AppContext.Provider value={context}>
25
- <MemoryRouter initialEntries={['/']}>
26
- <Route component={routerProps => <ChangeUserSecurityToken {...args} {...routerProps}/>}></Route>
27
- </MemoryRouter>
28
- </AppContext.Provider>
29
- </MockTranslationProvider>;
22
+ <AppContext.Provider value={context}>
23
+ <MemoryRouter initialEntries={['/']}>
24
+ <Route component={routerProps => <ChangeUserSecurityToken {...args} {...routerProps}/>}></Route>
25
+ </MemoryRouter>
26
+ </AppContext.Provider>;
30
27
 
31
28
  Template.propTypes = {
32
29
  context: PropTypes.object,
@@ -94,13 +94,14 @@ class DisplayUserGpgInformation extends React.Component {
94
94
  // format the gpgkey info.
95
95
  const keyId = gpgkeyInfo.keyId;
96
96
  const type = this.gpgkeyType[gpgkeyInfo.algorithm];
97
+ const uIds = gpgkeyInfo.userIds;
97
98
  const created = this.formatDate(gpgkeyInfo.created);
98
99
  const expires = gpgkeyInfo.expires === "Never" ? "Never" : this.formatDate(gpgkeyInfo.expires);
99
100
  const armoredKey = gpgkeyInfo.key;
100
101
  const fingerprint = gpgkeyInfo.fingerprint;
101
102
  const length = gpgkeyInfo.length;
102
103
 
103
- return {keyId, type, created, expires, armoredKey, fingerprint, length};
104
+ return {keyId, type, uIds, created, expires, armoredKey, fingerprint, length};
104
105
  }
105
106
 
106
107
  /**
@@ -154,11 +155,25 @@ class DisplayUserGpgInformation extends React.Component {
154
155
  }
155
156
 
156
157
  /**
157
- * Get the user fullname
158
+ * Get fingerprint
159
+ * @returns {JSX.Element}
160
+ */
161
+ get fingerprint() {
162
+ let fingerprint = this.gpgKeyInfo.fingerprint;
163
+ if (fingerprint) {
164
+ fingerprint = fingerprint.toUpperCase().replace(/.{4}(?=.)/g, '$& ');
165
+ fingerprint = <>{fingerprint.substr(0, 24)}<br/>{fingerprint.substr(25)}</>;
166
+ }
167
+ return fingerprint;
168
+ }
169
+
170
+ /**
171
+ * Get the first uID of the GPG key
158
172
  * @returns {string}
159
173
  */
160
- get userFullname() {
161
- return this.user ? `${this.user.profile.first_name} ${this.user.profile.last_name}` : "";
174
+ get uId() {
175
+ const uId = this.gpgKeyInfo.uIds && this.gpgKeyInfo.uIds[0];
176
+ return uId ? `${uId.name} <${uId.email}>` : "";
162
177
  }
163
178
 
164
179
  /**
@@ -198,11 +213,11 @@ class DisplayUserGpgInformation extends React.Component {
198
213
  </tr>
199
214
  <tr>
200
215
  <td><Trans>Uid</Trans></td>
201
- <td className="uid">{this.userFullname}</td>
216
+ <td className="uid">{this.uId}</td>
202
217
  </tr>
203
218
  <tr>
204
219
  <td><Trans>Fingerprint</Trans></td>
205
- <td className="fingerprint">{this.gpgKeyInfo.fingerprint}</td>
220
+ <td className="fingerprint">{this.fingerprint}</td>
206
221
  </tr>
207
222
  <tr>
208
223
  <td><Trans>Created</Trans></td>
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DisplayUserGpgInformation from "./DisplayUserGpgInformation";
7
6
 
8
7
 
@@ -47,13 +46,11 @@ const context = {
47
46
 
48
47
 
49
48
  const Template = args =>
50
- <MockTranslationProvider>
51
- <AppContext.Provider value={context}>
52
- <MemoryRouter initialEntries={['/']}>
53
- <Route component={routerProps => <DisplayUserGpgInformation {...args} {...routerProps}/>}></Route>
54
- </MemoryRouter>
55
- </AppContext.Provider>
56
- </MockTranslationProvider>;
49
+ <AppContext.Provider value={context}>
50
+ <MemoryRouter initialEntries={['/']}>
51
+ <Route component={routerProps => <DisplayUserGpgInformation {...args} {...routerProps}/>}></Route>
52
+ </MemoryRouter>
53
+ </AppContext.Provider>;
57
54
 
58
55
  Template.propTypes = {
59
56
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DisplayUserProfile from "./DisplayUserProfile";
7
6
 
8
7
 
@@ -50,13 +49,11 @@ const context = {
50
49
 
51
50
 
52
51
  const Template = args =>
53
- <MockTranslationProvider>
54
- <AppContext.Provider value={context}>
55
- <MemoryRouter initialEntries={['/']}>
56
- <Route component={routerProps => <DisplayUserProfile {...args} {...routerProps}/>}></Route>
57
- </MemoryRouter>
58
- </AppContext.Provider>
59
- </MockTranslationProvider>;
52
+ <AppContext.Provider value={context}>
53
+ <MemoryRouter initialEntries={['/']}>
54
+ <Route component={routerProps => <DisplayUserProfile {...args} {...routerProps}/>}></Route>
55
+ </MemoryRouter>
56
+ </AppContext.Provider>;
60
57
 
61
58
  Template.propTypes = {
62
59
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DisplayUserSettingsWorkspaceBreadcrumb from "./DisplayUserSettingsWorkspaceBreadcrumb";
7
6
 
8
7
 
@@ -44,13 +43,11 @@ const context = {
44
43
 
45
44
 
46
45
  const Template = args =>
47
- <MockTranslationProvider>
48
- <AppContext.Provider value={context}>
49
- <MemoryRouter initialEntries={['/profile']}>
50
- <Route component={routerProps => <DisplayUserSettingsWorkspaceBreadcrumb {...args} {...routerProps}/>}></Route>
51
- </MemoryRouter>
52
- </AppContext.Provider>
53
- </MockTranslationProvider>;
46
+ <AppContext.Provider value={context}>
47
+ <MemoryRouter initialEntries={['/profile']}>
48
+ <Route component={routerProps => <DisplayUserSettingsWorkspaceBreadcrumb {...args} {...routerProps}/>}></Route>
49
+ </MemoryRouter>
50
+ </AppContext.Provider>;
54
51
 
55
52
  Template.propTypes = {
56
53
  context: PropTypes.object,
@@ -2,7 +2,6 @@ import {MemoryRouter, Route} from "react-router-dom";
2
2
  import React from "react";
3
3
  import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
6
5
  import DisplayUserTheme from "./DisplayUserTheme";
7
6
 
8
7
 
@@ -31,13 +30,11 @@ const context = {
31
30
 
32
31
 
33
32
  const Template = args =>
34
- <MockTranslationProvider>
35
- <AppContext.Provider value={context}>
36
- <MemoryRouter initialEntries={['/']}>
37
- <Route component={routerProps => <DisplayUserTheme {...args} {...routerProps}/>}></Route>
38
- </MemoryRouter>
39
- </AppContext.Provider>
40
- </MockTranslationProvider>;
33
+ <AppContext.Provider value={context}>
34
+ <MemoryRouter initialEntries={['/']}>
35
+ <Route component={routerProps => <DisplayUserTheme {...args} {...routerProps}/>}></Route>
36
+ </MemoryRouter>
37
+ </AppContext.Provider>;
41
38
 
42
39
  Template.propTypes = {
43
40
  context: PropTypes.object,