passbolt-styleguide 3.3.3 → 3.4.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/build/css/help.min.css +4 -4
  2. package/build/css/public.min.css +5 -6
  3. package/build/css/themes/default/api_authentication.min.css +3 -3
  4. package/build/css/themes/default/api_cloud.min.css +3 -7
  5. package/build/css/themes/default/api_main.min.css +4 -9
  6. package/build/css/themes/default/api_reports.min.css +4 -9
  7. package/build/css/themes/default/api_webinstaller.min.css +4 -9
  8. package/build/css/themes/default/ext_app.min.css +4 -9
  9. package/build/css/themes/default/ext_authentication.min.css +3 -3
  10. package/build/css/themes/default/ext_external.min.css +3 -3
  11. package/build/css/themes/default/ext_in_form_cta.min.css +9 -0
  12. package/build/css/themes/default/ext_in_form_menu.min.css +9 -0
  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 -9
  16. package/build/css/themes/midgar/api_reports.min.css +4 -9
  17. package/build/css/themes/midgar/ext_app.min.css +4 -9
  18. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  19. package/build/css/themes/midgar/ext_in_form_cta.min.css +9 -0
  20. package/build/css/themes/midgar/ext_in_form_menu.min.css +9 -0
  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-app.js.LICENSE.txt +5 -5
  24. package/build/js/dist/api-recover.js +1 -1
  25. package/build/js/dist/api-recover.js.LICENSE.txt +0 -28
  26. package/build/js/dist/api-setup.js +1 -1
  27. package/build/js/dist/api-setup.js.LICENSE.txt +0 -15
  28. package/build/js/dist/api-triage.js +1 -1
  29. package/build/js/dist/api-triage.js.LICENSE.txt +0 -14
  30. package/build/js/dist/api-vendors.js +1 -1
  31. package/build/js/dist/api-vendors.js.LICENSE.txt +146 -84
  32. package/package.json +31 -26
  33. package/src/img/controls/chevron-down_blue.svg +3 -0
  34. package/src/img/diagrams/functional_overview.png +0 -0
  35. package/src/img/diagrams/functional_overview.svg +4 -0
  36. package/src/img/diagrams/howitworks.svg +2797 -0
  37. package/src/img/diagrams/mobile-transfer.svg +296 -0
  38. package/src/img/diagrams/sequence_diagram_form_authenticate.png +0 -0
  39. package/src/img/diagrams/sequence_diagram_gpg_authenticate.png +0 -0
  40. package/src/img/diagrams/totp.svg +251 -0
  41. package/src/img/illustrations/pin_passbolt.gif +0 -0
  42. package/src/img/illustrations/wave-pin_my_extension.svg +1 -0
  43. package/src/img/logo/icon-32-badge-1.png +0 -0
  44. package/src/img/logo/icon-32-badge-2.png +0 -0
  45. package/src/img/logo/icon-32-badge-3.png +0 -0
  46. package/src/img/logo/icon-32-badge-4.png +0 -0
  47. package/src/img/logo/icon-32-badge-5+.png +0 -0
  48. package/src/img/logo/icon-32-badge-5.png +0 -0
  49. package/src/img/logo/icon-32-signout.png +0 -0
  50. package/src/img/logo/icon-badge-1.svg +1 -0
  51. package/src/img/logo/icon-badge-2.svg +1 -0
  52. package/src/img/logo/icon-badge-3.svg +1 -0
  53. package/src/img/logo/icon-badge-4.svg +1 -0
  54. package/src/img/logo/icon-badge-5+.svg +1 -0
  55. package/src/img/logo/icon-badge-5.svg +1 -0
  56. package/src/img/logo/icon-inactive.svg +1 -0
  57. package/src/img/logo/icon-without-badge.svg +1 -0
  58. package/src/img/third_party/ChromeWebStore_black.svg +1 -0
  59. package/src/img/third_party/ChromeWebStore_white.svg +1 -0
  60. package/src/img/third_party/edge-addon-black.svg +1 -0
  61. package/src/img/third_party/edge-addon-white.svg +1 -0
  62. package/src/locales/de-DE/common.json +820 -0
  63. package/src/locales/en-UK/common.json +86 -20
  64. package/src/locales/fr/common.json +750 -0
  65. package/src/locales/fr-FR/common.json +92 -22
  66. package/src/locales/sv-SE/common.json +820 -0
  67. package/src/react-extension/ExtApp.js +16 -10
  68. package/src/react-extension/ExtBootstrapApp.js +1 -0
  69. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +2 -2
  70. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +2 -2
  71. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +1 -1
  72. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -1
  73. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +22 -8
  74. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +3 -0
  75. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +10 -8
  76. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +21 -19
  77. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +6 -6
  78. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +0 -1
  79. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +1 -1
  80. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
  81. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +5 -8
  82. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +20 -38
  83. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +4 -1
  84. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +4 -4
  85. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +1 -1
  86. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
  87. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +2 -3
  88. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +5 -9
  89. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +34 -32
  90. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +1 -1
  91. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +0 -3
  92. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +1 -1
  93. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.page.js +2 -2
  94. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +1 -1
  95. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +12 -15
  96. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -2
  97. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +1 -1
  98. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +12 -14
  99. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +2 -1
  100. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +12 -15
  101. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +1 -2
  102. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +12 -15
  103. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -19
  104. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +12 -15
  105. package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +12 -15
  106. package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +12 -15
  107. package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +12 -15
  108. package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +12 -15
  109. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +1 -1
  110. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +12 -15
  111. package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +12 -15
  112. package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +12 -15
  113. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +14 -0
  114. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.js +65 -0
  115. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.page.js +38 -0
  116. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +12 -15
  117. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +15 -6
  118. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.js +27 -0
  119. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +12 -15
  120. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.js +107 -0
  121. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +11 -0
  122. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.js +65 -0
  123. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.page.js +73 -0
  124. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +34 -0
  125. package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +8 -11
  126. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +1 -1
  127. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +12 -15
  128. package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +12 -15
  129. package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +12 -15
  130. package/src/react-extension/components/AuthenticationLogin/Login/Login.js +3 -1
  131. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +12 -15
  132. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +2 -1
  133. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.js +1 -1
  134. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +5 -11
  135. package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +5 -1
  136. package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
  137. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.data.js +0 -2
  138. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +4 -5
  139. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.page.js +0 -1
  140. package/src/react-extension/components/Common/Avatar/UserAvatar.js +2 -1
  141. package/src/react-extension/components/Common/Error/ShowErrorDetails/ShowErrorDetails.js +126 -0
  142. package/src/react-extension/components/Common/Icons/AnimatedFeedback.js +58 -0
  143. package/src/react-extension/components/Common/Icons/Icon.js +16 -0
  144. package/src/react-extension/components/Common/Icons/Icon.test.stories.js +78 -0
  145. package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js +4 -0
  146. package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +2 -1
  147. package/src/react-extension/components/Common/Menu/DisplayMainMenu.js +2 -4
  148. package/src/react-extension/components/Common/Navigation/Search/SearchBar.js +1 -1
  149. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +1 -1
  150. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.js +1 -1
  151. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +34 -0
  152. package/src/react-extension/components/Common/Tab/Tab.js +65 -0
  153. package/src/react-extension/components/Common/Tab/Tabs.js +87 -0
  154. package/src/react-extension/components/Resource/CreateResource/CreateResource.js +85 -66
  155. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +80 -1
  156. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +18 -39
  157. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +27 -8
  158. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +70 -4
  159. package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +1 -1
  160. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayDragResource.js +68 -0
  161. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +20 -47
  162. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +4 -1
  163. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +2 -2
  164. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.data.js +1 -7
  165. package/src/react-extension/components/Resource/EditResource/EditResource.js +93 -68
  166. package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +80 -1
  167. package/src/react-extension/components/Resource/EditResource/EditResource.test.js +10 -39
  168. package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +26 -11
  169. package/src/react-extension/components/Resource/ExportResources/ExportResources.js +1 -1
  170. package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +5 -11
  171. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +10 -12
  172. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +5 -11
  173. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js +4 -4
  174. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +0 -1
  175. package/src/react-extension/components/Resource/FilterResourcesByFolders/DisplayDragFolderItem.js +109 -0
  176. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +41 -193
  177. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.data.js +10 -5
  178. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.js +9 -12
  179. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.page.js +6 -2
  180. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +0 -1
  181. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js +83 -58
  182. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.data.js +52 -59
  183. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.js +25 -20
  184. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.page.js +11 -5
  185. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js +1 -1
  186. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js +7 -2
  187. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.test.js +3 -7
  188. package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js +1 -1
  189. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js +1 -1
  190. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.page.js +1 -1
  191. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +0 -1
  192. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js +1 -1
  193. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.data.js +47 -0
  194. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +34 -3
  195. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.page.js +46 -9
  196. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +0 -1
  197. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +124 -4
  198. package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +0 -2
  199. package/src/react-extension/components/Resource/ImportResources/ImportResources.js +6 -5
  200. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +10 -12
  201. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +5 -11
  202. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +3 -3
  203. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.js +3 -3
  204. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +5 -11
  205. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.js +1 -1
  206. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.page.object.js +1 -1
  207. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +8 -14
  208. package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +5 -11
  209. package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +8 -14
  210. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js +9 -8
  211. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.page.js +1 -1
  212. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +8 -15
  213. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +0 -1
  214. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js +1 -1
  215. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +0 -1
  216. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.js +1 -1
  217. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +0 -1
  218. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -2
  219. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +1 -1
  220. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +0 -3
  221. package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +0 -6
  222. package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +0 -5
  223. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +1 -1
  224. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +1 -1
  225. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +0 -7
  226. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +0 -2
  227. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +0 -2
  228. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +0 -2
  229. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.js +150 -0
  230. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +30 -0
  231. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +191 -0
  232. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +73 -0
  233. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +296 -0
  234. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +112 -0
  235. package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +0 -2
  236. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +1 -1
  237. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +1 -1
  238. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +0 -4
  239. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +2 -2
  240. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.test.page.js +1 -1
  241. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js +5 -1
  242. package/src/react-extension/components/Share/ShareDialog.test.page.js +1 -1
  243. package/src/react-extension/components/Share/ShareDialog.test.stories.js +12 -10
  244. package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -9
  245. package/src/react-extension/components/User/CreateUser/CreateUser.js +4 -4
  246. package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +3 -3
  247. package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +3 -1
  248. package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +5 -8
  249. package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +5 -8
  250. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -2
  251. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +1 -1
  252. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -2
  253. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +2 -1
  254. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +6 -0
  255. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
  256. package/src/react-extension/components/User/EditUser/EditUser.js +3 -3
  257. package/src/react-extension/components/User/EditUser/EditUser.test.page.js +2 -2
  258. package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +3 -1
  259. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.js +2 -2
  260. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.js +1 -1
  261. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +5 -8
  262. package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroup.js +1 -1
  263. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.js +1 -1
  264. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +0 -1
  265. package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +0 -2
  266. package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +8 -11
  267. package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +8 -11
  268. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +8 -12
  269. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +1 -1
  270. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +2 -2
  271. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -8
  272. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +5 -8
  273. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +5 -8
  274. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +8 -11
  275. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +8 -11
  276. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +11 -3
  277. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +7 -0
  278. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +1 -1
  279. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +12 -8
  280. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +92 -21
  281. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.data.js +6 -0
  282. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +2 -2
  283. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.page.js +1 -1
  284. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DisplayChangePassphraseIntroduction.js +12 -10
  285. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DownloadRecoveryKit.js +4 -10
  286. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +65 -25
  287. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +6 -0
  288. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +1 -1
  289. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +1 -1
  290. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +14 -13
  291. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -8
  292. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +21 -6
  293. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +5 -8
  294. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.js +1 -1
  295. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +5 -8
  296. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +13 -1
  297. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
  298. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +5 -8
  299. package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +5 -8
  300. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +3 -3
  301. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +5 -8
  302. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +26 -4
  303. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +7 -10
  304. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.js +749 -0
  305. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.data.js +32 -0
  306. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.js +60 -0
  307. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.page.js +110 -0
  308. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +3 -2
  309. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +5 -8
  310. package/src/react-extension/contexts/AdministrationWorkspaceContext.js +2 -2
  311. package/src/react-extension/contexts/ApiAppContext.js +1 -1
  312. package/src/react-extension/contexts/ApiRecoverContext.js +1 -1
  313. package/src/react-extension/contexts/ApiSetupContext.js +1 -1
  314. package/src/react-extension/contexts/AuthenticationContext.js +21 -2
  315. package/src/react-extension/contexts/AuthenticationContext.test.js +40 -0
  316. package/src/react-extension/contexts/DragContext.js +122 -0
  317. package/src/react-extension/contexts/DragContext.test.js +53 -0
  318. package/src/react-extension/contexts/NavigationContext.js +11 -0
  319. package/src/react-extension/contexts/ResourcePasswordGeneratorContext.js +144 -0
  320. package/src/react-extension/contexts/ResourceWorkspaceContext.js +5 -4
  321. package/src/react-extension/contexts/ResourceWorkspaceContext.test.data.js +0 -1
  322. package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +0 -1
  323. package/src/react-extension/contexts/UserWorkspaceContext.js +31 -4
  324. package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +17 -287
  325. package/src/react-extension/lib/Crypto/sha512.js +17 -0
  326. package/src/react-extension/test/fixture/Settings/siteSettings.js +6 -0
  327. package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +42 -7
  328. package/src/react-quickaccess/ExtQuickAccess.js +75 -28
  329. package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +22 -5
  330. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgress.js +41 -0
  331. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +23 -0
  332. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.js +8 -4
  333. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +7 -7
  334. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +10 -6
  335. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +9 -5
  336. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.js +10 -7
  337. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +7 -7
  338. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.js +10 -7
  339. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +7 -7
  340. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.js +10 -7
  341. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +7 -7
  342. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.js +10 -7
  343. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +9 -5
  344. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.js +150 -0
  345. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.data.js +20 -0
  346. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.js +67 -0
  347. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.page.js +109 -0
  348. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.js +189 -0
  349. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.data.js +40 -0
  350. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.js +67 -0
  351. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.page.js +121 -0
  352. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +304 -0
  353. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +102 -0
  354. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.js +76 -0
  355. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.page.js +158 -0
  356. package/src/react-quickaccess/components/Header/Header.js +10 -8
  357. package/src/react-quickaccess/components/Header/Header.test.stories.js +4 -7
  358. package/src/react-quickaccess/components/HomePage/HomePage.js +40 -11
  359. package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +14 -10
  360. package/src/react-quickaccess/components/HomePage/canSuggestUrl.js +8 -3
  361. package/src/react-quickaccess/components/HomePage/canSuggestUrl.test.js +6 -0
  362. package/src/react-quickaccess/components/LoginPage/LoginPage.js +58 -18
  363. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +4 -6
  364. package/src/react-quickaccess/components/ManageQuickAccessMode/ManageQuickAccessMode.js +103 -0
  365. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.js +2 -2
  366. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +4 -6
  367. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +5 -3
  368. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +6 -6
  369. package/src/react-quickaccess/components/PrivateRoute/PrivateRoute.js +1 -0
  370. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +234 -0
  371. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +28 -0
  372. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +44 -0
  373. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +166 -39
  374. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +108 -2
  375. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +28 -25
  376. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +6 -6
  377. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +6 -3
  378. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +5 -3
  379. package/src/react-quickaccess/components/Search/Search.js +13 -1
  380. package/src/react-quickaccess/components/Search/Search.test.stories.js +4 -6
  381. package/src/react-quickaccess/contexts/PrepareResourceContext.js +221 -0
  382. package/src/react-web-integration/AuthLogin/AuthLogin.js +72 -0
  383. package/src/react-web-integration/Autofill/Autofill.js +331 -0
  384. package/src/react-web-integration/BrowserIntegrationBootstrap.js +64 -0
  385. package/src/react-web-integration/Events/Quickaccess/QuickAccessEvent.js +24 -0
  386. package/src/react-web-integration/ExtInFormCallToAction.js +56 -0
  387. package/src/react-web-integration/ExtInFormMenu.js +70 -0
  388. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.js +161 -0
  389. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.data.js +39 -0
  390. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.js +48 -0
  391. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.page.js +42 -0
  392. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +91 -0
  393. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +360 -0
  394. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +198 -0
  395. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenuItem.js +103 -0
  396. package/src/react-web-integration/contexts/AppContext.js +39 -0
  397. package/src/react-web-integration/lib/Dom/DomUtils.js +94 -0
  398. package/src/react-web-integration/lib/InForm/InFormCallToActionField.js +263 -0
  399. package/src/react-web-integration/lib/InForm/InFormCredentialsFormField.js +118 -0
  400. package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +77 -0
  401. package/src/react-web-integration/lib/InForm/InFormManager.js +253 -0
  402. package/src/react-web-integration/lib/InForm/InformManager.test.data.js +46 -0
  403. package/src/react-web-integration/lib/InForm/InformManager.test.js +82 -0
  404. package/src/react-web-integration/lib/InForm/InformManager.test.page.js +116 -0
  405. package/src/react-web-integration/lib/InForm/InformMenuField.js +182 -0
  406. package/src/shared/components/Internationalisation/TranslationProvider.js +145 -0
  407. package/src/shared/lib/Browser/detectBrowserName.js +2 -1
  408. package/src/shared/lib/Secret/SecretComplexity.js +2 -2
  409. package/src/shared/lib/SecretGenerator/PassphraseGenerator.js +112 -0
  410. package/src/shared/lib/SecretGenerator/PassphraseGenerator.test.js +48 -0
  411. package/src/shared/lib/SecretGenerator/PassphraseGeneratorWords.js +7789 -0
  412. package/src/shared/lib/SecretGenerator/PasswordGenerator.js +103 -0
  413. package/src/shared/lib/SecretGenerator/SecretGenerator.js +45 -0
  414. package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.js +190 -0
  415. package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.test.js +95 -0
  416. package/src/shared/lib/Settings/SiteSettings.js +8 -0
  417. package/src/shared/lib/apiClient/apiClient.test.js +1 -1
  418. package/.babelrc +0 -11
  419. package/.editorconfig +0 -13
  420. package/.eslintrc.json +0 -197
  421. package/.gitlab-ci.yml +0 -28
  422. package/.jest.config.json +0 -6
  423. package/.jest.setup.js +0 -8
  424. package/.jest.transform.js +0 -7
  425. package/.storybook/main.js +0 -15
  426. package/.storybook/preview-body.html +0 -5
  427. package/.storybook/preview.js +0 -6
  428. package/Gruntfile.js +0 -199
  429. package/build/css/themes/default/ext_config_debug.min.css +0 -13
  430. package/build/css/themes/default/ext_legacy.min.css +0 -13
  431. package/build/css/themes/midgar/ext_legacy.min.css +0 -13
  432. package/crowdin.yml +0 -4
  433. package/docker-compose-dev.yml +0 -10
  434. package/jest.config.json +0 -6
  435. package/src/img/controls/colorpicker/marker.png +0 -0
  436. package/src/img/controls/colorpicker/mask.png +0 -0
  437. package/src/img/controls/colorpicker/wheel.png +0 -0
  438. package/src/img/controls/overlay-opacity-50.png +0 -0
  439. package/src/img/third_party/ChromeWebStore_black.png +0 -0
  440. package/src/img/third_party/ChromeWebStore_white.png +0 -0
  441. package/src/js/accordion.js +0 -10
  442. package/src/js/autocomplete.js +0 -241
  443. package/src/js/autocomplete.min.js +0 -3
  444. package/src/js/bootstrap-scrollspy.js +0 -172
  445. package/src/js/chosen.jquery.js +0 -1356
  446. package/src/js/colorpicker.js +0 -32
  447. package/src/js/download.js +0 -128
  448. package/src/js/farbtastic.js +0 -345
  449. package/src/js/swiper.min.js +0 -18
  450. package/src/react-quickaccess/components/Internationalisation/TranslationProvider.js +0 -151
  451. package/storybook-static/favicon.ico +0 -0
  452. package/storybook-static/iframe.html +0 -133
  453. package/storybook-static/index.html +0 -47
  454. package/storybook-static/main.2d01924b12554c6c15af.bundle.js +0 -1
  455. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js +0 -3
  456. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -153
  457. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  458. package/storybook-static/runtime~main.6a9b04192e3176eff72a.bundle.js +0 -1
  459. package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js +0 -2
  460. package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  461. package/storybook-static/static/media/chosen-sprite.6768c197.png +0 -0
  462. package/storybook-static/static/media/chosen-sprite@2x.a0b7f3f1.png +0 -0
  463. package/storybook-static/static/media/dot_black.a2c44078.svg +0 -6
  464. package/storybook-static/static/media/dot_red.7b34541d.svg +0 -6
  465. package/storybook-static/static/media/dot_white.f60f7331.svg +0 -6
  466. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  467. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  468. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  469. package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +0 -2671
  470. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  471. package/storybook-static/static/media/infinite-bar.f5327dc3.gif +0 -0
  472. package/storybook-static/static/media/loading_dark.ea474c7f.svg +0 -21
  473. package/storybook-static/static/media/loading_light.061977b5.svg +0 -15
  474. package/storybook-static/static/media/logo.e2b062a5.svg +0 -1
  475. package/storybook-static/static/media/logo_white.cb32e694.svg +0 -1
  476. package/storybook-static/static/media/opensans-bold.a6b4768c.woff +0 -0
  477. package/storybook-static/static/media/opensans-regular.7812bd0b.woff +0 -0
  478. package/storybook-static/static/media/passphrase_intro.37a1ba4e.png +0 -0
  479. package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js +0 -2
  480. package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js.LICENSE.txt +0 -105
  481. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js +0 -3
  482. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -145
  483. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  484. package/webpack-api.config.js +0 -83
  485. package/webpack-ext.config.js +0 -84
@@ -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 MockPort from "../../../test/mock/MockPort";
7
6
  import DisplayUserDetailsGroups from "./DisplayUserDetailsGroups";
8
7
 
@@ -1362,17 +1361,15 @@ const context = {
1362
1361
 
1363
1362
 
1364
1363
  const Template = args =>
1365
- <MockTranslationProvider>
1366
- <AppContext.Provider value={context}>
1367
- <div className="panel aside">
1368
- <div className="detailed-information">
1369
- <MemoryRouter initialEntries={['/']}>
1370
- <Route component={routerProps => <DisplayUserDetailsGroups {...args} {...routerProps}/>}></Route>
1371
- </MemoryRouter>
1372
- </div>
1364
+ <AppContext.Provider value={context}>
1365
+ <div className="panel aside">
1366
+ <div className="detailed-information">
1367
+ <MemoryRouter initialEntries={['/']}>
1368
+ <Route component={routerProps => <DisplayUserDetailsGroups {...args} {...routerProps}/>}></Route>
1369
+ </MemoryRouter>
1373
1370
  </div>
1374
- </AppContext.Provider>
1375
- </MockTranslationProvider>;
1371
+ </div>
1372
+ </AppContext.Provider>;
1376
1373
 
1377
1374
  Template.propTypes = {
1378
1375
  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 DisplayUserDetailsInformation from "./DisplayUserDetailsInformation";
7
6
  import MockPort from "../../../test/mock/MockPort";
8
7
 
@@ -31,17 +30,15 @@ const context = {
31
30
 
32
31
 
33
32
  const Template = args =>
34
- <MockTranslationProvider>
35
- <AppContext.Provider value={context}>
36
- <div className="panel aside">
37
- <div className="detailed-information">
38
- <MemoryRouter initialEntries={['/']}>
39
- <Route component={routerProps => <DisplayUserDetailsInformation {...args} {...routerProps}/>}></Route>
40
- </MemoryRouter>
41
- </div>
33
+ <AppContext.Provider value={context}>
34
+ <div className="panel aside">
35
+ <div className="detailed-information">
36
+ <MemoryRouter initialEntries={['/']}>
37
+ <Route component={routerProps => <DisplayUserDetailsInformation {...args} {...routerProps}/>}></Route>
38
+ </MemoryRouter>
42
39
  </div>
43
- </AppContext.Provider>
44
- </MockTranslationProvider>;
40
+ </div>
41
+ </AppContext.Provider>;
45
42
 
46
43
  Template.propTypes = {
47
44
  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 DisplayUserDetailsPublicKey from "./DisplayUserDetailsPublicKey";
7
6
 
8
7
 
@@ -35,19 +34,16 @@ const context = {
35
34
  };
36
35
 
37
36
 
38
-
39
37
  const Template = args =>
40
- <MockTranslationProvider>
41
- <AppContext.Provider value={context}>
42
- <div className="panel aside">
43
- <div className="detailed-information">
44
- <MemoryRouter initialEntries={['/']}>
45
- <Route component={routerProps => <DisplayUserDetailsPublicKey {...args} {...routerProps}/>}></Route>
46
- </MemoryRouter>
47
- </div>
38
+ <AppContext.Provider value={context}>
39
+ <div className="panel aside">
40
+ <div className="detailed-information">
41
+ <MemoryRouter initialEntries={['/']}>
42
+ <Route component={routerProps => <DisplayUserDetailsPublicKey {...args} {...routerProps}/>}></Route>
43
+ </MemoryRouter>
48
44
  </div>
49
- </AppContext.Provider>
50
- </MockTranslationProvider>;
45
+ </div>
46
+ </AppContext.Provider>;
51
47
 
52
48
  Template.propTypes = {
53
49
  context: PropTypes.object,
@@ -453,7 +453,7 @@ class CreateUserGroup extends Component {
453
453
  onKeyUp={this.handleNameInputKeyUp} onChange={this.handleInputChange}
454
454
  disabled={this.state.processing} ref={this.nameInputRef}/>
455
455
  {this.state.nameError &&
456
- <div className="name error message">{this.state.nameError}</div>
456
+ <div className="name error-message">{this.state.nameError}</div>
457
457
  }
458
458
  </div>
459
459
 
@@ -119,7 +119,7 @@ class CreateGroupPageObject {
119
119
  * Returns the name error mesage input element
120
120
  */
121
121
  get nameErrorMessage() {
122
- return this._container.querySelector('.name.error.message');
122
+ return this._container.querySelector('.name.error-message');
123
123
  }
124
124
 
125
125
  /**
@@ -140,7 +140,7 @@ class CreateGroupPageObject {
140
140
  * Returns the error message element
141
141
  */
142
142
  get errorMessage() {
143
- return this._container.querySelector('.message.error').textContent;
143
+ return this._container.querySelector('.error-message').textContent;
144
144
  }
145
145
 
146
146
  /**
@@ -4,7 +4,6 @@ import AppContext from "../../../contexts/AppContext";
4
4
  import PropTypes from "prop-types";
5
5
  import CreateUserGroup from "./CreateUserGroup";
6
6
  import {mockGpgKey, mockUsers} from "./CreateUserGroup.test.data";
7
- import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
8
7
 
9
8
 
10
9
  export default {
@@ -33,13 +32,11 @@ const context = {
33
32
 
34
33
 
35
34
  const Template = args =>
36
- <MockTranslationProvider>
37
- <AppContext.Provider value={context}>
38
- <MemoryRouter initialEntries={['/']}>
39
- <Route component={routerProps => <CreateUserGroup {...args} {...routerProps}/>}></Route>
40
- </MemoryRouter>
41
- </AppContext.Provider>
42
- </MockTranslationProvider>;
35
+ <AppContext.Provider value={context}>
36
+ <MemoryRouter initialEntries={['/']}>
37
+ <Route component={routerProps => <CreateUserGroup {...args} {...routerProps}/>}></Route>
38
+ </MemoryRouter>
39
+ </AppContext.Provider>;
43
40
 
44
41
  Template.propTypes = {
45
42
  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 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,
@@ -199,6 +199,14 @@ class EditUserGroup extends Component {
199
199
  return !this.isProcessing;
200
200
  }
201
201
 
202
+ /**
203
+ * Is the logged in user admin
204
+ * @returns {boolean}
205
+ */
206
+ isLoggedInUserAdmin() {
207
+ return this.props.context.loggedInUser && this.props.context.loggedInUser.role.name === 'admin';
208
+ }
209
+
202
210
  /**
203
211
  * Returns true if there are some changes on the group members
204
212
  * @type {boolean}
@@ -694,14 +702,14 @@ class EditUserGroup extends Component {
694
702
  type="text"
695
703
  placeholder={this.translate("group name")}
696
704
  onChange={this.handleNameChange}
697
- disabled={!this.areActionsAllowed}/>
705
+ disabled={!this.areActionsAllowed || !this.isLoggedInUserAdmin()}/>
698
706
  {this.hasErrors("name", "empty") &&
699
- <div className="name error message">
707
+ <div className="name error-message">
700
708
  <Trans>A name is required.</Trans>
701
709
  </div>
702
710
  }
703
711
  {this.hasErrors("name", "alreadyExists") &&
704
- <div className="name error message">
712
+ <div className="name error-message">
705
713
  <Trans>The group name already exists.</Trans>
706
714
  </div>
707
715
  }
@@ -74,6 +74,13 @@ export function defaultProps() {
74
74
  export const mockUsers = [{
75
75
  "id": "8e3874ae-4b40-590b-968a-418f704b9d9a",
76
76
  "role_id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
77
+ "role": {
78
+ "created": "2012-07-04T13:39:25+00:00",
79
+ "description": "Logged in user",
80
+ "id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
81
+ "modified": "2012-07-04T13:39:25+00:00",
82
+ "name": "admin"
83
+ },
77
84
  "username": "carol@passbolt.com",
78
85
  "active": true,
79
86
  "deleted": false,
@@ -65,7 +65,7 @@ export default class EditUserGroupTestPage {
65
65
  * Returns the group name error message if exists
66
66
  */
67
67
  get groupNameErrorMessage() {
68
- return this._page.container.querySelector('.name.error.message').textContent;
68
+ return this._page.container.querySelector('.name.error-message').textContent;
69
69
  }
70
70
 
71
71
  get hasNoManager() {
@@ -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
 
@@ -27,19 +26,24 @@ const context = {
27
26
  user_id: "640ebc06-5ec1-5322-a1ae-6120ed2f3a74",
28
27
  first_name: "Carol",
29
28
  last_name: "Shaw"
29
+ },
30
+ role: {
31
+ created: "2012-07-04T13:39:25+00:00",
32
+ description: "Logged in user",
33
+ id: "a58de6d3-f52c-5080-b79b-a601a647ac85",
34
+ modified: "2012-07-04T13:39:25+00:00",
35
+ name: "admin"
30
36
  }
31
37
  }
32
38
  };
33
39
 
34
40
 
35
41
  const Template = args =>
36
- <MockTranslationProvider>
37
- <AppContext.Provider value={context}>
38
- <MemoryRouter initialEntries={['/']}>
39
- <Route component={routerProps => <EditUserGroup {...args} {...routerProps}/>}></Route>
40
- </MemoryRouter>
41
- </AppContext.Provider>
42
- </MockTranslationProvider>;
42
+ <AppContext.Provider value={context}>
43
+ <MemoryRouter initialEntries={['/']}>
44
+ <Route component={routerProps => <EditUserGroup {...args} {...routerProps}/>}></Route>
45
+ </MemoryRouter>
46
+ </AppContext.Provider>;
43
47
 
44
48
  Template.propTypes = {
45
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
@@ -149,10 +195,7 @@ class ConfirmPassphrase extends React.Component {
149
195
  */
150
196
  IsValidPassphrase() {
151
197
  const passphrase = this.state.passphrase;
152
- if (passphrase.trim() === '') {
153
- return false;
154
- }
155
- return true;
198
+ return passphrase.trim() !== '';
156
199
  }
157
200
 
158
201
  /**
@@ -182,43 +225,70 @@ class ConfirmPassphrase extends React.Component {
182
225
  return (
183
226
  <div className="grid grid-responsive-12 profile-passphrase">
184
227
  <div className="row">
185
- <div className="col6">
228
+ <div className="col7">
186
229
  <form className="enter-passphrase" onSubmit={this.handleSubmit}>
187
230
  <h3><Trans>Please enter your passphrase to continue</Trans></h3>
188
231
  <div className="form-content">
189
232
  <div className={`input text password required ${this.state.passphraseError ? "error" : ""}`}>
190
233
  <label htmlFor="passphrase-input"><Trans>Passphrase</Trans></label>
191
- <input id="passphrase-input" type={`${this.state.isObfuscated ? "password" : "text"}`} name="passphrase" placeholder={this.translate('Passphrase')} required="required"
192
- ref={this.passphraseInputRef} className={`required ${this.state.passphraseError ? "error" : ""}`} autoFocus={true}
193
- value={this.state.passphrase} onChange={this.handleInputChange} disabled={this.hasAllInputDisabled()} />
234
+ <input
235
+ id="passphrase-input"
236
+ type={`${this.state.isObfuscated ? "password" : "text"}`}
237
+ name="passphrase" placeholder={this.translate('Passphrase')}
238
+ required="required"
239
+ ref={this.passphraseInputRef}
240
+ className={`required ${this.state.passphraseError ? "error" : ""}`}
241
+ autoFocus={true}
242
+ value={this.state.passphrase}
243
+ style={this.passphraseInputStyle}
244
+ onChange={this.handleInputChange}
245
+ onFocus={this.handleFocusPassphrase}
246
+ onBlur={this.handleBlurPassphrase}
247
+ disabled={this.hasAllInputDisabled()}
248
+ autoComplete="off"
249
+ />
194
250
  <a
195
251
  className={`password-view button-icon button button-toggle ${this.state.isObfuscated ? "" : "selected"}`}
196
252
  role="button"
197
253
  onClick={this.handleToggleObfuscate}>
198
254
  <Icon name="eye-open"/>
199
- <span className="visually-hidden">view</span>
255
+ <span className="visually-hidden"><Trans>View</Trans></span>
200
256
  </a>
257
+ <span className="security-token" style={this.securityTokenStyle}>
258
+ {this.securityTokenCode}
259
+ </span>
201
260
  {this.state.passphraseError &&
202
- <div className="input text">
203
- <div className="message error">{this.state.passphraseError}</div>
204
- </div>
261
+ <div className="error-message">{this.state.passphraseError}</div>
262
+ }
263
+ {!this.state.passphraseError &&
264
+ <div className="help-message">You need to enter your current passphrase.</div>
205
265
  }
206
266
  </div>
207
267
  </div>
208
268
  <div className="submit-wrapper">
209
- <button className="button big" type="button" disabled={this.hasAllInputDisabled()} onClick={this.handleCancel}>
269
+ <button
270
+ className="button cancel medium"
271
+ type="button"
272
+ disabled={this.hasAllInputDisabled()}
273
+ onClick={this.handleCancel}>
210
274
  <Trans>Cancel</Trans>
211
275
  </button>
212
- <FormSubmitButton big={true} disabled={this.mustBeDisabled()} processing={this.state.processing} value={this.translate('Verify')}/>
276
+ <FormSubmitButton
277
+ primary={true} medium={true}
278
+ disabled={this.mustBeDisabled()}
279
+ processing={this.state.processing}
280
+ value={this.translate('Verify')}/>
213
281
  </div>
214
282
  </form>
215
283
  </div>
216
- <div className="col4 last passphrase-help">
217
- <h3><Trans>What if I forgot my passphrase?</Trans></h3>
218
- <p><Trans>Unfortunately you need your passphrase in order to continue. If you forgot it, please contact your administrator.</Trans></p>
219
- <a className="button big" href="https://help.passbolt.com/faq/start/passphrase-recovery" target="_blank" rel="noopener noreferrer">
220
- <span><Trans>Learn more</Trans></span>
221
- </a>
284
+ <div className="col4 last">
285
+ <div className="sidebar-help">
286
+ <h3><Trans>What if I forgot my passphrase?</Trans></h3>
287
+ <p><Trans>Unfortunately you need your passphrase in order to continue. If you forgot it, please contact your administrator.</Trans></p>
288
+ <a className="button" href="https://help.passbolt.com/faq/start/passphrase-recovery" target="_blank" rel="noopener noreferrer">
289
+ <span><Trans>Learn more</Trans></span>
290
+ </a>
291
+ </div>
222
292
  </div>
223
293
  </div>
224
294
  </div>
@@ -227,9 +297,10 @@ class ConfirmPassphrase extends React.Component {
227
297
  }
228
298
 
229
299
  ConfirmPassphrase.propTypes = {
300
+ context: PropTypes.any, // The application context
230
301
  userSettingsContext: PropTypes.object, // The user settings context
231
302
  dialogContext: PropTypes.any, // The dialog context
232
303
  t: PropTypes.func, // The translation function
233
304
  };
234
305
 
235
- 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()
@@ -71,14 +71,14 @@ describe("As LU I should see the user confirm passphrase page", () => {
71
71
  await waitFor(() => {
72
72
  expect(page.passphrase.getAttribute("disabled")).not.toBeNull();
73
73
  expect(page.verifyButton.getAttribute("disabled")).not.toBeNull();
74
- expect(page.verifyButton.className).toBe('button primary disabled processing big');
74
+ expect(page.verifyButton.className).toBe('button primary disabled processing medium');
75
75
  expect(page.cancelButton.getAttribute("disabled")).not.toBeNull();
76
76
  });
77
77
  });
78
78
 
79
79
  it('As LU I shouldn’t be able to submit the form if there is an invalid field', async() => {
80
80
  expect(page.verifyButton.getAttribute("disabled")).not.toBeNull();
81
- expect(page.verifyButton.className).toBe('button primary disabled big');
81
+ expect(page.verifyButton.className).toBe('button primary disabled medium');
82
82
 
83
83
  // Fill the form
84
84
  page.insertPassphrase("passphrase");
@@ -55,7 +55,7 @@ export default class ConfirmPassphrasePage {
55
55
  * Returns the passphrase error message element
56
56
  */
57
57
  get passphraseErrorMessage() {
58
- return this._page.container.querySelector('.message.error').innerHTML;
58
+ return this._page.container.querySelector('.error-message').innerHTML;
59
59
  }
60
60
 
61
61
  /**