passbolt-styleguide 3.3.3 → 3.4.0-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/css/help.min.css +4 -4
- package/build/css/public.min.css +5 -6
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -7
- package/build/css/themes/default/api_main.min.css +4 -9
- package/build/css/themes/default/api_reports.min.css +4 -9
- package/build/css/themes/default/api_webinstaller.min.css +4 -9
- package/build/css/themes/default/ext_app.min.css +4 -9
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +3 -3
- package/build/css/themes/default/ext_in_form_cta.min.css +9 -0
- package/build/css/themes/default/ext_in_form_menu.min.css +9 -0
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +9 -0
- package/build/css/themes/midgar/api_main.min.css +4 -9
- package/build/css/themes/midgar/api_reports.min.css +4 -9
- package/build/css/themes/midgar/ext_app.min.css +4 -9
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +9 -0
- package/build/css/themes/midgar/ext_in_form_menu.min.css +9 -0
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +5 -5
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-recover.js.LICENSE.txt +0 -28
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-setup.js.LICENSE.txt +0 -15
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-triage.js.LICENSE.txt +0 -14
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +146 -84
- package/package.json +31 -26
- package/src/img/controls/chevron-down_blue.svg +3 -0
- package/src/img/diagrams/functional_overview.png +0 -0
- package/src/img/diagrams/functional_overview.svg +4 -0
- package/src/img/diagrams/howitworks.svg +2797 -0
- package/src/img/diagrams/mobile-transfer.svg +296 -0
- package/src/img/diagrams/sequence_diagram_form_authenticate.png +0 -0
- package/src/img/diagrams/sequence_diagram_gpg_authenticate.png +0 -0
- package/src/img/diagrams/totp.svg +251 -0
- package/src/img/illustrations/pin_passbolt.gif +0 -0
- package/src/img/illustrations/wave-pin_my_extension.svg +1 -0
- package/src/img/logo/icon-32-badge-1.png +0 -0
- package/src/img/logo/icon-32-badge-2.png +0 -0
- package/src/img/logo/icon-32-badge-3.png +0 -0
- package/src/img/logo/icon-32-badge-4.png +0 -0
- package/src/img/logo/icon-32-badge-5+.png +0 -0
- package/src/img/logo/icon-32-badge-5.png +0 -0
- package/src/img/logo/icon-32-signout.png +0 -0
- package/src/img/logo/icon-badge-1.svg +1 -0
- package/src/img/logo/icon-badge-2.svg +1 -0
- package/src/img/logo/icon-badge-3.svg +1 -0
- package/src/img/logo/icon-badge-4.svg +1 -0
- package/src/img/logo/icon-badge-5+.svg +1 -0
- package/src/img/logo/icon-badge-5.svg +1 -0
- package/src/img/logo/icon-inactive.svg +1 -0
- package/src/img/logo/icon-without-badge.svg +1 -0
- package/src/img/third_party/ChromeWebStore_black.svg +1 -0
- package/src/img/third_party/ChromeWebStore_white.svg +1 -0
- package/src/img/third_party/edge-addon-black.svg +1 -0
- package/src/img/third_party/edge-addon-white.svg +1 -0
- package/src/locales/de-DE/common.json +820 -0
- package/src/locales/en-UK/common.json +86 -20
- package/src/locales/fr/common.json +750 -0
- package/src/locales/fr-FR/common.json +92 -22
- package/src/locales/sv-SE/common.json +820 -0
- package/src/react-extension/ExtApp.js +16 -10
- package/src/react-extension/ExtBootstrapApp.js +1 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +2 -2
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +2 -2
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +1 -1
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +22 -8
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +3 -0
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +10 -8
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +21 -19
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +6 -6
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +0 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +1 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +5 -8
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +20 -38
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +4 -1
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +4 -4
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +1 -1
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +2 -3
- package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +5 -9
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +34 -32
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +1 -1
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +0 -3
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +1 -1
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.page.js +2 -2
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +1 -1
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -2
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +1 -1
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +12 -14
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +2 -1
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +1 -2
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -19
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +1 -1
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +14 -0
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.js +65 -0
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.page.js +38 -0
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +15 -6
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.js +27 -0
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +12 -15
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.js +107 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +11 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.js +65 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.page.js +73 -0
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +34 -0
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +8 -11
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +1 -1
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +3 -1
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +12 -15
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +2 -1
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.js +1 -1
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +5 -11
- package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +5 -1
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.data.js +0 -2
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +4 -5
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.page.js +0 -1
- package/src/react-extension/components/Common/Avatar/UserAvatar.js +2 -1
- package/src/react-extension/components/Common/Error/ShowErrorDetails/ShowErrorDetails.js +126 -0
- package/src/react-extension/components/Common/Icons/AnimatedFeedback.js +58 -0
- package/src/react-extension/components/Common/Icons/Icon.js +16 -0
- package/src/react-extension/components/Common/Icons/Icon.test.stories.js +78 -0
- package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js +4 -0
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +2 -1
- package/src/react-extension/components/Common/Menu/DisplayMainMenu.js +2 -4
- package/src/react-extension/components/Common/Navigation/Search/SearchBar.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.js +1 -1
- package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +34 -0
- package/src/react-extension/components/Common/Tab/Tab.js +65 -0
- package/src/react-extension/components/Common/Tab/Tabs.js +87 -0
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +85 -66
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +80 -1
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +18 -39
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +27 -8
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +70 -4
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +1 -1
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayDragResource.js +68 -0
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +20 -47
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +4 -1
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +2 -2
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.data.js +1 -7
- package/src/react-extension/components/Resource/EditResource/EditResource.js +93 -68
- package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +80 -1
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +10 -39
- package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +26 -11
- package/src/react-extension/components/Resource/ExportResources/ExportResources.js +1 -1
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +5 -11
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +10 -12
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +5 -11
- package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js +4 -4
- package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/DisplayDragFolderItem.js +109 -0
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +41 -193
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.data.js +10 -5
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.js +9 -12
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.page.js +6 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js +83 -58
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.data.js +52 -59
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.js +25 -20
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.page.js +11 -5
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js +7 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.test.js +3 -7
- package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.page.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js +1 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.data.js +47 -0
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +34 -3
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.page.js +46 -9
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +0 -1
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +124 -4
- package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +0 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResources.js +6 -5
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +10 -12
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +5 -11
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +3 -3
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.js +3 -3
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +5 -11
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.js +1 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.page.object.js +1 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +8 -14
- package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +5 -11
- package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +8 -14
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js +9 -8
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.page.js +1 -1
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +8 -15
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +0 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +0 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +0 -1
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +1 -1
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +0 -3
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +0 -6
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +0 -5
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +1 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +1 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +0 -7
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +0 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +0 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +0 -2
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.js +150 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +30 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +191 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +73 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +296 -0
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +112 -0
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +0 -2
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +0 -4
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +2 -2
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.test.page.js +1 -1
- package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js +5 -1
- package/src/react-extension/components/Share/ShareDialog.test.page.js +1 -1
- package/src/react-extension/components/Share/ShareDialog.test.stories.js +12 -10
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -9
- package/src/react-extension/components/User/CreateUser/CreateUser.js +4 -4
- package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +3 -3
- package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +3 -1
- package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +5 -8
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +5 -8
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -2
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +1 -1
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -2
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +2 -1
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +6 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
- package/src/react-extension/components/User/EditUser/EditUser.js +3 -3
- package/src/react-extension/components/User/EditUser/EditUser.test.page.js +2 -2
- package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +3 -1
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.js +2 -2
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.js +1 -1
- package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +5 -8
- package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroup.js +1 -1
- package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.js +1 -1
- package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +0 -1
- package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +0 -2
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +8 -11
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +8 -11
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +8 -12
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +1 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +2 -2
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +5 -8
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +8 -11
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +8 -11
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +11 -3
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +7 -0
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +1 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +12 -8
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +92 -21
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.data.js +6 -0
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +2 -2
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.page.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DisplayChangePassphraseIntroduction.js +12 -10
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DownloadRecoveryKit.js +4 -10
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +65 -25
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +6 -0
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +14 -13
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +21 -6
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +13 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +3 -3
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +5 -8
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +26 -4
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +7 -10
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.js +749 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.data.js +32 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.js +60 -0
- package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.page.js +110 -0
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +3 -2
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +5 -8
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +2 -2
- package/src/react-extension/contexts/ApiAppContext.js +1 -1
- package/src/react-extension/contexts/ApiRecoverContext.js +1 -1
- package/src/react-extension/contexts/ApiSetupContext.js +1 -1
- package/src/react-extension/contexts/AuthenticationContext.js +21 -2
- package/src/react-extension/contexts/AuthenticationContext.test.js +40 -0
- package/src/react-extension/contexts/DragContext.js +122 -0
- package/src/react-extension/contexts/DragContext.test.js +53 -0
- package/src/react-extension/contexts/NavigationContext.js +11 -0
- package/src/react-extension/contexts/ResourcePasswordGeneratorContext.js +144 -0
- package/src/react-extension/contexts/ResourceWorkspaceContext.js +5 -4
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.data.js +0 -1
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +0 -1
- package/src/react-extension/contexts/UserWorkspaceContext.js +31 -4
- package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +17 -287
- package/src/react-extension/lib/Crypto/sha512.js +17 -0
- package/src/react-extension/test/fixture/Settings/siteSettings.js +6 -0
- package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +42 -7
- package/src/react-quickaccess/ExtQuickAccess.js +75 -28
- package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +22 -5
- package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgress.js +41 -0
- package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +23 -0
- package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.js +8 -4
- package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +10 -6
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +9 -5
- package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +7 -7
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.js +10 -7
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +9 -5
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.js +150 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.data.js +20 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.js +67 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.page.js +109 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.js +189 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.data.js +40 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.js +67 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.page.js +121 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +304 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +102 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.js +76 -0
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.page.js +158 -0
- package/src/react-quickaccess/components/Header/Header.js +10 -8
- package/src/react-quickaccess/components/Header/Header.test.stories.js +4 -7
- package/src/react-quickaccess/components/HomePage/HomePage.js +40 -11
- package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +14 -10
- package/src/react-quickaccess/components/HomePage/canSuggestUrl.js +8 -3
- package/src/react-quickaccess/components/HomePage/canSuggestUrl.test.js +6 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +58 -18
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +4 -6
- package/src/react-quickaccess/components/ManageQuickAccessMode/ManageQuickAccessMode.js +103 -0
- package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.js +2 -2
- package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +4 -6
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +5 -3
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +6 -6
- package/src/react-quickaccess/components/PrivateRoute/PrivateRoute.js +1 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +234 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +28 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +44 -0
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +166 -39
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +108 -2
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +28 -25
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +6 -6
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +6 -3
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +5 -3
- package/src/react-quickaccess/components/Search/Search.js +13 -1
- package/src/react-quickaccess/components/Search/Search.test.stories.js +4 -6
- package/src/react-quickaccess/contexts/PrepareResourceContext.js +221 -0
- package/src/react-web-integration/AuthLogin/AuthLogin.js +72 -0
- package/src/react-web-integration/Autofill/Autofill.js +331 -0
- package/src/react-web-integration/BrowserIntegrationBootstrap.js +64 -0
- package/src/react-web-integration/Events/Quickaccess/QuickAccessEvent.js +24 -0
- package/src/react-web-integration/ExtInFormCallToAction.js +56 -0
- package/src/react-web-integration/ExtInFormMenu.js +70 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.js +161 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.data.js +39 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.js +48 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.page.js +42 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +91 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +360 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +198 -0
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenuItem.js +103 -0
- package/src/react-web-integration/contexts/AppContext.js +39 -0
- package/src/react-web-integration/lib/Dom/DomUtils.js +94 -0
- package/src/react-web-integration/lib/InForm/InFormCallToActionField.js +263 -0
- package/src/react-web-integration/lib/InForm/InFormCredentialsFormField.js +118 -0
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +77 -0
- package/src/react-web-integration/lib/InForm/InFormManager.js +253 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.data.js +46 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.js +82 -0
- package/src/react-web-integration/lib/InForm/InformManager.test.page.js +116 -0
- package/src/react-web-integration/lib/InForm/InformMenuField.js +182 -0
- package/src/shared/components/Internationalisation/TranslationProvider.js +145 -0
- package/src/shared/lib/Browser/detectBrowserName.js +2 -1
- package/src/shared/lib/Secret/SecretComplexity.js +2 -2
- package/src/shared/lib/SecretGenerator/PassphraseGenerator.js +112 -0
- package/src/shared/lib/SecretGenerator/PassphraseGenerator.test.js +48 -0
- package/src/shared/lib/SecretGenerator/PassphraseGeneratorWords.js +7789 -0
- package/src/shared/lib/SecretGenerator/PasswordGenerator.js +103 -0
- package/src/shared/lib/SecretGenerator/SecretGenerator.js +45 -0
- package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.js +190 -0
- package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.test.js +95 -0
- package/src/shared/lib/Settings/SiteSettings.js +8 -0
- package/src/shared/lib/apiClient/apiClient.test.js +1 -1
- package/.babelrc +0 -11
- package/.editorconfig +0 -13
- package/.eslintrc.json +0 -197
- package/.gitlab-ci.yml +0 -28
- package/.jest.config.json +0 -6
- package/.jest.setup.js +0 -8
- package/.jest.transform.js +0 -7
- package/.storybook/main.js +0 -15
- package/.storybook/preview-body.html +0 -5
- package/.storybook/preview.js +0 -6
- package/Gruntfile.js +0 -199
- package/build/css/themes/default/ext_config_debug.min.css +0 -13
- package/build/css/themes/default/ext_legacy.min.css +0 -13
- package/build/css/themes/midgar/ext_legacy.min.css +0 -13
- package/crowdin.yml +0 -4
- package/docker-compose-dev.yml +0 -10
- package/jest.config.json +0 -6
- package/src/img/controls/colorpicker/marker.png +0 -0
- package/src/img/controls/colorpicker/mask.png +0 -0
- package/src/img/controls/colorpicker/wheel.png +0 -0
- package/src/img/controls/overlay-opacity-50.png +0 -0
- package/src/img/third_party/ChromeWebStore_black.png +0 -0
- package/src/img/third_party/ChromeWebStore_white.png +0 -0
- package/src/js/accordion.js +0 -10
- package/src/js/autocomplete.js +0 -241
- package/src/js/autocomplete.min.js +0 -3
- package/src/js/bootstrap-scrollspy.js +0 -172
- package/src/js/chosen.jquery.js +0 -1356
- package/src/js/colorpicker.js +0 -32
- package/src/js/download.js +0 -128
- package/src/js/farbtastic.js +0 -345
- package/src/js/swiper.min.js +0 -18
- package/src/react-quickaccess/components/Internationalisation/TranslationProvider.js +0 -151
- package/storybook-static/favicon.ico +0 -0
- package/storybook-static/iframe.html +0 -133
- package/storybook-static/index.html +0 -47
- package/storybook-static/main.2d01924b12554c6c15af.bundle.js +0 -1
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js +0 -3
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -153
- package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/storybook-static/runtime~main.6a9b04192e3176eff72a.bundle.js +0 -1
- package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js +0 -2
- package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/storybook-static/static/media/chosen-sprite.6768c197.png +0 -0
- package/storybook-static/static/media/chosen-sprite@2x.a0b7f3f1.png +0 -0
- package/storybook-static/static/media/dot_black.a2c44078.svg +0 -6
- package/storybook-static/static/media/dot_red.7b34541d.svg +0 -6
- package/storybook-static/static/media/dot_white.f60f7331.svg +0 -6
- package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
- package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
- package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
- package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +0 -2671
- package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
- package/storybook-static/static/media/infinite-bar.f5327dc3.gif +0 -0
- package/storybook-static/static/media/loading_dark.ea474c7f.svg +0 -21
- package/storybook-static/static/media/loading_light.061977b5.svg +0 -15
- package/storybook-static/static/media/logo.e2b062a5.svg +0 -1
- package/storybook-static/static/media/logo_white.cb32e694.svg +0 -1
- package/storybook-static/static/media/opensans-bold.a6b4768c.woff +0 -0
- package/storybook-static/static/media/opensans-regular.7812bd0b.woff +0 -0
- package/storybook-static/static/media/passphrase_intro.37a1ba4e.png +0 -0
- package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js +0 -2
- package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js.LICENSE.txt +0 -105
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js +0 -3
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -145
- package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
- package/webpack-api.config.js +0 -83
- package/webpack-ext.config.js +0 -84
package/build/js/dist/api-app.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see api-app.js.LICENSE.txt */
|
|
2
|
-
(()=>{"use strict";var e,t,n,r={6223:(e,t,n)=>{var r=n(7294),s=n(3935),a=n(6610),i=n(5991),o=n(379),c=n(6070),l=n(7608),u=n(2122),h=n(8927),p=n(2137),d=n(7757),m=n.n(d),f=n(5697),y=n.n(f),v=n(2045);function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var b=r.createContext({feedbacks:[],displaySuccess:function(){},displayError:function(){},remove:function(){}}),E=function(e){(0,o.Z)(l,e);var t,n,s,c=g(l);function l(e){var t;return(0,a.Z)(this,l),(t=c.call(this,e)).state=t.defaultState,t}return(0,i.Z)(l,[{key:"defaultState",get:function(){return{feedbacks:[],displaySuccess:this.displaySuccess.bind(this),displayError:this.displayError.bind(this),remove:this.remove.bind(this)}}},{key:"displaySuccess",value:(s=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({feedbacks:[].concat((0,h.Z)(this.state.feedbacks),[{id:(0,v.Z)(),type:"success",message:t}])});case 2:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"displayError",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({feedbacks:[].concat((0,h.Z)(this.state.feedbacks),[{id:(0,v.Z)(),type:"error",message:t}])});case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"remove",value:(t=(0,p.Z)(m().mark((function e(t){var n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return t.id!==e.id},e.next=3,this.setState({feedbacks:this.state.feedbacks.filter(n)});case 3:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){return r.createElement(b.Provider,{value:this.state},this.props.children)}}]),l}(r.Component);function k(e){return function(t){(0,o.Z)(s,t);var n=g(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(b.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({actionFeedbackContext:n},t.props))}))}}]),s}(r.Component)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}E.displayName="ActionFeedbackContextProvider",E.propTypes={children:y().any};var x=r.createContext({dialogs:[],open:function(){},close:function(){}}),C=function(e){(0,o.Z)(n,e);var t=w(n);function n(e){var r;return(0,a.Z)(this,n),(r=t.call(this,e)).state=r.defaultState,r}return(0,i.Z)(n,[{key:"defaultState",get:function(){var e,t=this;return{dialogs:[],open:function(e,n){var r=(0,v.Z)();return t.setState({dialogs:[].concat((0,h.Z)(t.state.dialogs),[{key:r,Dialog:e,DialogProps:n}])}),r},close:(e=(0,p.Z)(m().mark((function e(n){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.setState({dialogs:t.state.dialogs.filter((function(e){return n!==e.key}))});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})}}},{key:"render",value:function(){return r.createElement(x.Provider,{value:this.state},this.props.children)}}]),n}(r.Component);function S(e){return function(t){(0,o.Z)(s,t);var n=w(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(x.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({dialogContext:n},t.props))}))}}]),s}(r.Component)}function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}C.displayName="DialogContextProvider",C.propTypes={children:y().any};var N=r.createContext({ContextualMenu:null,show:function(){},hide:function(){}}),Z=function(e){(0,o.Z)(n,e);var t=R(n);function n(e){var r;return(0,a.Z)(this,n),(r=t.call(this,e)).state=r.defaultState,r}return(0,i.Z)(n,[{key:"defaultState",get:function(){var e=this;return{contextualMenus:[],show:function(t,n){return e.setState({contextualMenus:[].concat((0,h.Z)(e.state.contextualMenus),[{ContextualMenuComponent:t,componentProps:n}])})},hide:function(t){return e.setState({contextualMenus:e.state.contextualMenus.filter((function(e,n){return n!==t}))})}}}},{key:"render",value:function(){return r.createElement(N.Provider,{value:this.state},this.props.children)}}]),n}(r.Component);Z.displayName="ContextualMenuContextProvider",Z.propTypes={children:y().any};var T=n(9116),q=n(5145);var U=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state=t.defaultState,t.bindCallbacks(),t}return(0,i.Z)(u,[{key:"defaultState",get:function(){return{shouldRender:!0,isPersisted:!1,timeoutId:null}}},{key:"componentDidMount",value:function(){this.displayWithTimer(this.props.displayTimeInMs)}},{key:"componentDidUpdate",value:function(e){var t=e&&e.feedback.id!==this.props.feedback.id,n=e&&this.props.displayTimeInMs&&e.displayTimeInMs!==this.props.displayTimeInMs;t?(this.setState({shouldRender:!0}),this.displayWithTimer(this.props.displayTimeInMs)):n&&this.updateTimer(this.props.displayTimeInMs)}},{key:"componentWillUnmount",value:function(){this.state.timeoutId&&clearTimeout(this.state.timeoutId)}},{key:"bindCallbacks",value:function(){this.persist=this.persist.bind(this),this.displayWithTimer=this.displayWithTimer.bind(this),this.close=this.close.bind(this)}},{key:"displayWithTimer",value:function(e){this.state.timeoutId&&clearTimeout(this.state.timeoutId);var t=setTimeout(this.close,e),n=Date.now();this.setState({timeoutId:t,time:n})}},{key:"updateTimer",value:function(e){var t=e-(Date.now()-this.state.time);t>0?this.displayWithTimer(t):(clearTimeout(this.state.timeoutId),this.close())}},{key:"persist",value:function(){this.state.timeoutId&&!this.state.isPersisted&&(clearTimeout(this.state.timeoutId),this.setState({isPersisted:!0}))}},{key:"close",value:function(){this.setState({shouldRender:!1}),setTimeout(this.props.onClose,u.DEFAULT_WAIT_TO_CLOSE_TIME_IN_MS)}},{key:"render",value:function(){return r.createElement(r.Fragment,null,r.createElement("div",{className:"notification",onMouseOver:this.persist,onMouseLeave:this.displayWithTimer,onClick:this.close},r.createElement("div",{className:"message animated ".concat(this.state.shouldRender?"fadeInUp":"fadeOutUp"," warning")},r.createElement("span",{className:"content"},r.createElement("strong",null,"success"===this.props.feedback.type&&r.createElement(r.Fragment,null,r.createElement(T.c,null,"Success"),": "),"error"===this.props.feedback.type&&r.createElement(r.Fragment,null,r.createElement(T.c,null,"Error"),": ")),this.props.feedback.message))))}}],[{key:"DEFAULT_WAIT_TO_CLOSE_TIME_IN_MS",get:function(){return 500}}]),u}(r.Component);U.propTypes={feedback:y().object,onClose:y().func,displayTimeInMs:y().number};const A=(0,q.Z)("common")(U);var D=function(e){(0,o.Z)(h,e);var t,n,s,u=(n=h,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function h(e){var t;return(0,a.Z)(this,h),(t=u.call(this,e)).bindCallbacks(),t}return(0,i.Z)(h,[{key:"bindCallbacks",value:function(){this.close=this.close.bind(this)}},{key:"feedbackToDisplay",get:function(){return this.props.actionFeedbackContext.feedbacks[0]}},{key:"length",get:function(){return this.props.actionFeedbackContext.feedbacks.length}},{key:"hasFeedbacks",get:function(){return this.length>0}},{key:"close",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.remove(t);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){var e=this,t=this.length>1?h.DEFAULT_DISPLAY_MIN_TIME_IN_MS:h.DEFAULT_DISPLAY_TIME_IN_MS;return r.createElement(r.Fragment,null,this.hasFeedbacks&&r.createElement("div",{className:"notification-container"},r.createElement(A,{feedback:this.feedbackToDisplay,onClose:function(){return e.close(e.feedbackToDisplay)},displayTimeInMs:t})))}}],[{key:"DEFAULT_DISPLAY_TIME_IN_MS",get:function(){return 5e3}},{key:"DEFAULT_DISPLAY_MIN_TIME_IN_MS",get:function(){return 1200}}]),h}(r.Component);D.propTypes={actionFeedbackContext:y().any};const I=k(D);var P=n(3727),O=n(5977),_=n(6156);var M=r.createContext({user:null,users:null,roles:null,rememberMeOptions:{},resources:null,resource:null,shareResources:null,selectedResources:null,selectedUser:null,folders:null,resourceCommentId:null,mustRefreshComments:!1,siteSettings:null,userSettings:null,onCheckIsAuthenticatedRequested:null});function B(e){return function(t){(0,o.Z)(p,t);var n,s,h=(n=p,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function p(){return(0,a.Z)(this,p),h.apply(this,arguments)}return(0,i.Z)(p,[{key:"render",value:function(){var t=this;return r.createElement(M.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({context:n},t.props))}))}}]),p}(r.Component)}const z=M;function G(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var F=r.createContext({counter:[],add:function(){},remove:function(){}});(function(e){(0,o.Z)(n,e);var t=G(n);function n(e){var r;return(0,a.Z)(this,n),(r=t.call(this,e)).state=r.defaultState,r}return(0,i.Z)(n,[{key:"defaultState",get:function(){var e=this;return{counter:0,add:function(){e.setState({counter:e.state.counter+1})},remove:function(){e.setState({counter:Math.min(e.state.counter-1,0)})}}}},{key:"render",value:function(){return r.createElement(F.Provider,{value:this.state},this.props.children)}}]),n}(r.Component)).propTypes={children:y().any};var L=n(4699),K=n(5366);const W=function(e){(0,o.Z)(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function s(e,t){var n;return(0,a.Z)(this,s),(n=r.call(this,e)).name="PassboltApiFetchError",n.data=t||{},n}return s}((0,K.Z)(Error));const j=function(e){(0,o.Z)(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function s(){var e;return(0,a.Z)(this,s),(e=r.call(this,"An internal error occurred. The server response could not be parsed. Please contact your administrator.")).name="PassboltBadResponseError",e}return s}((0,K.Z)(Error));const H=function(e){(0,o.Z)(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,a.Z)(this,s),e=e||"The service is unavailable",(t=r.call(this,e)).name="PassboltServiceUnavailableError",t}return s}((0,K.Z)(Error));function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?V(Object(n),!0).forEach((function(t){(0,_.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $=function(){function e(t){if((0,a.Z)(this,e),this.options=t,!this.options.getBaseUrl())throw new TypeError("ApiClient constructor error: baseUrl is required.");if(!this.options.getResourceName())throw new TypeError("ApiClient constructor error: resourceName is required.");try{var n=this.options.getBaseUrl().toString();n.endsWith("/")&&(n=n.slice(0,-1)),this.baseUrl="".concat(n,"/").concat(this.options.getResourceName()),this.baseUrl=new URL(this.baseUrl)}catch(e){throw new TypeError("ApiClient constructor error: b.")}this.apiVersion="api-version=v2"}var t,n,r,s,o,c;return(0,i.Z)(e,[{key:"getDefaultHeaders",value:function(){return{Accept:"application/json","content-type":"application/json"}}},{key:"buildFetchOptions",value:function(){return{credentials:"include",headers:Y(Y({},this.getDefaultHeaders()),this.options.getHeaders())}}},{key:"get",value:(c=(0,p.Z)(m().mark((function e(t,n){var r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.assertValidId(t),r=this.buildUrl("".concat(this.baseUrl,"/").concat(t),n||{}),e.abrupt("return",this.fetchAndHandleResponse("GET",r));case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"delete",value:(o=(0,p.Z)(m().mark((function e(t,n,r,s){var a,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.assertValidId(t),void 0===s&&(s=!1),a=s?this.buildUrl("".concat(this.baseUrl,"/").concat(t,"/dry-run"),r||{}):this.buildUrl("".concat(this.baseUrl,"/").concat(t),r||{}),i=null,n&&(i=this.buildBody(n)),e.abrupt("return",this.fetchAndHandleResponse("DELETE",a,i));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return o.apply(this,arguments)})},{key:"findAll",value:(s=(0,p.Z)(m().mark((function e(t){var n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.buildUrl(this.baseUrl.toString(),t||{}),e.next=3,this.fetchAndHandleResponse("GET",n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"create",value:(r=(0,p.Z)(m().mark((function e(t,n){var r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.buildUrl(this.baseUrl.toString(),n||{}),s=this.buildBody(t),e.abrupt("return",this.fetchAndHandleResponse("POST",r,s));case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:"update",value:(n=(0,p.Z)(m().mark((function e(t,n,r,s){var a,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.assertValidId(t),void 0===s&&(s=!1),a=s?this.buildUrl("".concat(this.baseUrl,"/").concat(t,"/dry-run"),r||{}):this.buildUrl("".concat(this.baseUrl,"/").concat(t),r||{}),i=null,n&&(i=this.buildBody(n)),e.abrupt("return",this.fetchAndHandleResponse("PUT",a,i));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t,r,s){return n.apply(this,arguments)})},{key:"assertValidId",value:function(e){if(!e)throw new TypeError("ApiClient.assertValidId error: id cannot be empty");if("string"!=typeof e)throw new TypeError("ApiClient.assertValidId error: id should be a string")}},{key:"assertMethod",value:function(e){"string"!=typeof e&&new TypeError("ApiClient.assertValidMethod method should be a string."),["GET","POST","PUT","DELETE"].indexOf(e)<0&&new TypeError("ApiClient.assertValidMethod error: method ".concat(e," is not supported."))}},{key:"assertUrl",value:function(e){if(!e)throw new TypeError("ApliClient.assertUrl error: url is required.");if(!(e instanceof URL))throw new TypeError("ApliClient.assertUrl error: url should be a valid URL object.")}},{key:"assertBody",value:function(e){"string"!=typeof e&&new TypeError("ApiClient.assertBody error: body should be a string.")}},{key:"buildBody",value:function(e){return JSON.stringify(e)}},{key:"buildUrl",value:function(e,t){if("string"!=typeof e)throw new TypeError("ApiClient.buildUrl error: url should be a string.");var n=new URL("".concat(e,".json?").concat(this.apiVersion));t=t||{};for(var r=function(){var e=(0,L.Z)(a[s],2),t=e[0],r=e[1];if("string"!=typeof t)throw new TypeError("ApiClient.buildUrl error: urlOptions key should be a string.");if("string"==typeof r)n.searchParams.append(t,r);else{if(!Array.isArray(r))throw new TypeError("ApiClient.buildUrl error: urlOptions value should be a string or array.");r.forEach((function(e){n.searchParams.append(t,e)}))}},s=0,a=Object.entries(t);s<a.length;s++)r();return n}},{key:"fetchAndHandleResponse",value:(t=(0,p.Z)(m().mark((function e(t,n,r,s){var a,i,o,c;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.assertUrl(n),this.assertMethod(t),r&&this.assertBody(r),(o=Y(Y({},this.buildFetchOptions()),s)).method=t,r&&(o.body=r),e.prev=6,e.next=9,fetch(n.toString(),o);case 9:a=e.sent,e.next=15;break;case 12:throw e.prev=12,e.t0=e.catch(6),new H(e.t0.message);case 15:return e.prev=15,e.next=18,a.json();case 18:i=e.sent,e.next=24;break;case 21:throw e.prev=21,e.t1=e.catch(15),new j;case 24:if(a.ok){e.next=27;break}throw c=i.header.message,new W(c,{code:a.status,body:i.body});case 27:return e.abrupt("return",i);case 28:case"end":return e.stop()}}),e,this,[[6,12],[15,21]])}))),function(e,n,r,s){return t.apply(this,arguments)})}]),e}();function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){(0,_.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function X(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var ee=r.createContext({selectedAdministration:null,can:{save:!1,test:!1,synchronize:!1},must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},onGetMfaRequested:function(){},onSaveMfaRequested:function(){},onGetUsersDirectoryRequested:function(){},onUpdateUsersDirectoryRequested:function(){},onDeleteUsersDirectoryRequested:function(){},onTestUsersDirectoryRequested:function(){},onGetSimulateSynchronizeUsersDirectoryRequested:function(){},onGetSynchronizeUsersDirectoryRequested:function(){},onGetUsersRequested:function(){},onGetEmailNotificationsRequested:function(){},onSaveEmailNotificationsRequested:function(){},onUpdateSubscriptionKeyRequested:function(){},onSaveLocaleRequested:function(){},onSaveEnabled:function(){},onMustSaveSettings:function(){},onTestEnabled:function(){},onMustTestSettings:function(){},onSynchronizeEnabled:function(){},onMustSynchronizeSettings:function(){},onMustEditSubscriptionKey:function(){},onMustRefreshSubscriptionKey:function(){},onResetActionsSettings:function(){}}),te=function(e){(0,o.Z)(D,e);var t,n,s,c,l,u,h,d,f,y,v,g,b,E,k,w,x,C,S,R,N,Z,T,q,U,A=X(D);function D(e){var t;return(0,a.Z)(this,D),(t=A.call(this,e)).state=t.defaultState,t}return(0,i.Z)(D,[{key:"defaultState",get:function(){return{selectedAdministration:ae.NONE,can:{save:!1,test:!1,synchronize:!1},must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},onGetMfaRequested:this.onGetMfaRequested.bind(this),onSaveMfaRequested:this.onSaveMfaRequested.bind(this),onGetUsersDirectoryRequested:this.onGetUsersDirectoryRequested.bind(this),onUpdateUsersDirectoryRequested:this.onUpdateUsersDirectoryRequested.bind(this),onDeleteUsersDirectoryRequested:this.onDeleteUsersDirectoryRequested.bind(this),onTestUsersDirectoryRequested:this.onTestUsersDirectoryRequested.bind(this),onGetSimulateSynchronizeUsersDirectoryRequested:this.onGetSimulateSynchronizeUsersDirectoryRequested.bind(this),onGetSynchronizeUsersDirectoryRequested:this.onGetSynchronizeUsersDirectoryRequested.bind(this),onGetUsersRequested:this.onGetUsersRequested.bind(this),onGetEmailNotificationsRequested:this.onGetEmailNotificationsRequested.bind(this),onSaveEmailNotificationsRequested:this.onSaveEmailNotificationsRequested.bind(this),onUpdateSubscriptionKeyRequested:this.onUpdateSubscriptionKeyRequested.bind(this),onSaveLocaleRequested:this.onSaveLocaleRequested.bind(this),onSaveEnabled:this.handleSaveEnabled.bind(this),onMustSaveSettings:this.handleMustSaveSettings.bind(this),onTestEnabled:this.handleTestEnabled.bind(this),onMustTestSettings:this.handleMustTestSettings.bind(this),onSynchronizeEnabled:this.handleSynchronizeEnabled.bind(this),onMustSynchronizeSettings:this.handleMustSynchronizeSettings.bind(this),onMustEditSubscriptionKey:this.handleMustEditSubscriptionKey.bind(this),onMustRefreshSubscriptionKey:this.handleMustRefreshSubscriptionKey.bind(this),onResetActionsSettings:this.handleResetActionsSettings.bind(this)}}},{key:"componentDidMount",value:function(){this.handleAdministrationMenuRouteChange()}},{key:"componentDidUpdate",value:(U=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleRouteChange(t.location);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return U.apply(this,arguments)})},{key:"handleSaveEnabled",value:(q=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({can:Q(Q({},this.state.can),{},{save:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return q.apply(this,arguments)})},{key:"handleMustSaveSettings",value:(T=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({must:Q(Q({},this.state.must),{},{save:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"handleTestEnabled",value:(Z=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({can:Q(Q({},this.state.can),{},{test:t})});case 2:case"end":return e.stop()}}),e,this)}))),function(e){return Z.apply(this,arguments)})},{key:"handleMustTestSettings",value:(N=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({must:Q(Q({},this.state.must),{},{test:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return N.apply(this,arguments)})},{key:"handleSynchronizeEnabled",value:(R=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({can:Q(Q({},this.state.can),{},{synchronize:t})});case 2:case"end":return e.stop()}}),e,this)}))),function(e){return R.apply(this,arguments)})},{key:"handleMustSynchronizeSettings",value:(S=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({must:Q(Q({},this.state.must),{},{synchronize:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return S.apply(this,arguments)})},{key:"handleMustEditSubscriptionKey",value:(C=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({must:Q(Q({},this.state.must),{},{editSubscriptionKey:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return C.apply(this,arguments)})},{key:"handleMustRefreshSubscriptionKey",value:(x=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({must:Q(Q({},this.state.must),{},{refreshSubscriptionKey:!0})});case 2:case"end":return e.stop()}}),e,this)}))),function(){return x.apply(this,arguments)})},{key:"handleResetActionsSettings",value:(w=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},e.next=3,this.setState({must:t});case 3:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{key:"handleRouteChange",value:(k=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.location.key===t.key){e.next=4;break}return e.next=4,this.handleAdministrationMenuRouteChange();case 4:case"end":return e.stop()}}),e,this)}))),function(e){return k.apply(this,arguments)})},{key:"handleAdministrationMenuRouteChange",value:(E=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.location.pathname.includes("mfa"),n=this.props.location.pathname.includes("users-directory"),r=this.props.location.pathname.includes("email-notification"),s=this.props.location.pathname.includes("subscription"),a=this.props.location.pathname.includes("internationalization"),i={save:!1,test:!1,synchronize:!1},o={save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},t?c=ae.MFA:n?c=ae.USER_DIRECTORY:r?c=ae.EMAIL_NOTIFICATION:s?c=ae.SUBSCRIPTION:a&&(c=ae.INTERNATIONALIZATION),e.next=10,this.setState({selectedAdministration:c,can:i,must:o});case 10:case"end":return e.stop()}}),e,this)}))),function(){return E.apply(this,arguments)})},{key:"onGetMfaRequested",value:(b=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("mfa/settings"),n=new $(t),e.abrupt("return",n.findAll());case 3:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"onSaveMfaRequested",value:(g=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props.context.getApiClientOptions().setResourceName("mfa/settings"),r=new $(n),e.next=4,r.create(t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return g.apply(this,arguments)})},{key:"onGetUsersDirectoryRequested",value:(v=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("directorysync/settings"),n=new $(t),e.abrupt("return",n.findAll());case 3:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"onUpdateUsersDirectoryRequested",value:(y=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props.context.getApiClientOptions().setResourceName("directorysync"),r=new $(n),e.abrupt("return",r.update("settings",t));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"onDeleteUsersDirectoryRequested",value:(f=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("directorysync"),n=new $(t),e.abrupt("return",n.delete("settings"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"onTestUsersDirectoryRequested",value:(d=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props.context.getApiClientOptions().setResourceName("directorysync/settings/test"),r=new $(n),e.abrupt("return",r.create(t));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"onGetSimulateSynchronizeUsersDirectoryRequested",value:(h=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("directorysync"),n=new $(t),e.abrupt("return",n.get("synchronize/dry-run"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"onGetSynchronizeUsersDirectoryRequested",value:(u=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("directorysync"),n=new $(t),e.abrupt("return",n.get("synchronize"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"onGetUsersRequested",value:(l=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("users"),n=new $(t),e.abrupt("return",n.findAll());case 3:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"onGetEmailNotificationsRequested",value:(c=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.context.getApiClientOptions().setResourceName("settings/emails/notifications"),n=new $(t),e.abrupt("return",n.findAll());case 3:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"onSaveEmailNotificationsRequested",value:(s=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props.context.getApiClientOptions().setResourceName("settings/emails/notifications"),r=new $(n),e.next=4,r.create(t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"onUpdateSubscriptionKeyRequested",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.props.context.port.request("passbolt.subscription.update",t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"onSaveLocaleRequested",value:(t=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props.context.getApiClientOptions().setResourceName("locale/settings"),r=new $(n),e.abrupt("return",r.create({value:t}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){return r.createElement(ee.Provider,{value:this.state},this.props.children)}}]),D}(r.Component);te.displayName="AdministrationWorkspaceContextProvider",te.propTypes={context:y().object,children:y().any,location:y().object,match:y().object,history:y().object,loadingContext:y().object};const ne=(0,O.EN)(B((re=te,function(e){(0,o.Z)(n,e);var t=G(n);function n(){return(0,a.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"render",value:function(){var e=this;return r.createElement(F.Consumer,null,(function(t){return r.createElement(re,(0,u.Z)({loadingContext:t},e.props))}))}}]),n}(r.Component))));var re;function se(e){return function(t){(0,o.Z)(s,t);var n=X(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(ee.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({administrationWorkspaceContext:n},t.props))}))}}]),s}(r.Component)}var ae={NONE:"NONE",MFA:"MFA",USER_DIRECTORY:"USER-DIRECTORY",EMAIL_NOTIFICATION:"EMAIL-NOTIFICATION",SUBSCRIPTION:"SUBSCRIPTION",INTERNATIONALIZATION:"INTERNATIONALIZATION"};var ie=function(e){(0,o.Z)(d,e);var t,n,s,h=(n=d,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),(t=h.call(this,e)).bindCallback(),t}return(0,i.Z)(d,[{key:"bindCallback",value:function(){this.close=this.close.bind(this)}},{key:"close",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.props.dialogContext.close(t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){var e=this;return r.createElement(r.Fragment,null,this.props.dialogContext.dialogs.map((function(t){var n=t.key,s=t.Dialog,a=t.DialogProps;return r.createElement(s,(0,u.Z)({key:n,onClose:function(){return e.close(n)}},a))})),this.props.children)}}]),d}(r.Component);ie.propTypes={dialogContext:y().any,children:y().any};const oe=S(ie);var ce=function(e){(0,o.Z)(h,e);var t,n,s=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function h(e){var t;return(0,a.Z)(this,h),(t=s.call(this,e)).createRefs(),t.bindCallback(),t}return(0,i.Z)(h,[{key:"bindCallback",value:function(){this.handleHide=this.handleHide.bind(this)}},{key:"createRefs",value:function(){this.elementRef=r.createRef()}},{key:"handleHide",value:function(e){this.props.contextualMenuContext.hide(e)}},{key:"render",value:function(){var e=this;return r.createElement("div",{ref:this.elementRef},this.props.contextualMenuContext.contextualMenus.map((function(t,n){return r.createElement(t.ContextualMenuComponent,(0,u.Z)({key:n,hide:function(){return e.handleHide(n)}},t.componentProps))})))}}]),h}(r.Component);ce.propTypes={contextualMenuContext:y().any};const le=function(e){return function(t){(0,o.Z)(s,t);var n=R(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(N.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({contextualMenuContext:n},t.props))}))}}]),s}(r.Component)}(ce);function ue(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var he=r.createContext({onGoToAdministrationRequested:function(){},onGoToAdministrationMfaRequested:function(){},onGoToAdministrationUsersDirectoryRequested:function(){},onGoToAdministrationEmailNotificationsRequested:function(){},onGoToAdministrationSubscriptionRequested:function(){},onGoToPasswordsRequested:function(){},onGoToUsersRequested:function(){},onGoToUserSettingsProfileRequested:function(){},onGoToUserSettingsPassphraseRequested:function(){},onGoToUserSettingsSecurityTokenRequested:function(){},onGoToUserSettingsThemeRequested:function(){},onGoToUserSettingsMfaRequested:function(){},onGoToUserSettingsKeysRequested:function(){},onGoToNewTab:function(){}}),pe=function(e){(0,o.Z)(x,e);var t,n,s,c,l,u,h,d,f,y,v,g,b,E,k,w=ue(x);function x(e){var t;return(0,a.Z)(this,x),(t=w.call(this,e)).state=t.defaultState,t}return(0,i.Z)(x,[{key:"defaultState",get:function(){return{onGoToNewTab:this.onGoToNewTab.bind(this),onGoToAdministrationRequested:this.onGoToAdministrationRequested.bind(this),onGoToAdministrationMfaRequested:this.onGoToAdministrationMfaRequested.bind(this),onGoToAdministrationUsersDirectoryRequested:this.onGoToAdministrationUsersDirectoryRequested.bind(this),onGoToAdministrationEmailNotificationsRequested:this.onGoToAdministrationEmailNotificationsRequested.bind(this),onGoToAdministrationSubscriptionRequested:this.onGoToAdministrationSubscriptionRequested.bind(this),onGoToAdministrationInternationalizationRequested:this.onGoToAdministrationInternationalizationRequested.bind(this),onGoToPasswordsRequested:this.onGoToPasswordsRequested.bind(this),onGoToUsersRequested:this.onGoToUsersRequested.bind(this),onGoToUserSettingsProfileRequested:this.onGoToUserSettingsProfileRequested.bind(this),onGoToUserSettingsPassphraseRequested:this.onGoToUserSettingsPassphraseRequested.bind(this),onGoToUserSettingsSecurityTokenRequested:this.onGoToUserSettingsSecurityTokenRequested.bind(this),onGoToUserSettingsThemeRequested:this.onGoToUserSettingsThemeRequested.bind(this),onGoToUserSettingsMfaRequested:this.onGoToUserSettingsMfaRequested.bind(this),onGoToUserSettingsKeysRequested:this.onGoToUserSettingsKeysRequested.bind(this)}}},{key:"goTo",value:(k=(0,p.Z)(m().mark((function e(t,n){var r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t!==this.props.context.name){e.next=5;break}return e.next=3,this.props.history.push({pathname:n});case 3:e.next=8;break;case 5:r=this.props.context.userSettings?this.props.context.userSettings.getTrustedDomain():this.props.context.trustedDomain,s="".concat(r).concat(n),window.open(s,"_parent","noopener,noreferrer");case 8:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"onGoToNewTab",value:function(e){window.open(e,"_blank","noopener,noreferrer")}},{key:"onGoToAdministrationRequested",value:(E=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="/app/administration/email-notification",this.isMfaEnabled?t="/app/administration/mfa":this.isUserDirectoryEnabled&&(t="/app/administration/users-directory"),e.next=4,this.goTo("api",t);case 4:case"end":return e.stop()}}),e,this)}))),function(){return E.apply(this,arguments)})},{key:"onGoToAdministrationMfaRequested",value:(b=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("api","/app/administration/mfa");case 2:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"onGoToAdministrationUsersDirectoryRequested",value:(g=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("api","/app/administration/users-directory");case 2:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"onGoToAdministrationEmailNotificationsRequested",value:(v=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("api","/app/administration/email-notification");case 2:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"onGoToAdministrationSubscriptionRequested",value:(y=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/administration/subscription");case 2:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"onGoToAdministrationInternationalizationRequested",value:(f=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("api","/app/administration/internationalization");case 2:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"isMfaEnabled",get:function(){var e=this.props.context.siteSettings;return e&&e.canIUse("multiFactorAuthentication")}},{key:"isUserDirectoryEnabled",get:function(){var e=this.props.context.siteSettings;return e&&e.canIUse("directorySync")}},{key:"onGoToPasswordsRequested",value:(d=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/passwords");case 2:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"onGoToUsersRequested",value:(h=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/users");case 2:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"onGoToUserSettingsProfileRequested",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/settings/profile");case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"onGoToUserSettingsPassphraseRequested",value:(l=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/settings/passphrase");case 2:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"onGoToUserSettingsSecurityTokenRequested",value:(c=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/settings/security-token");case 2:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"onGoToUserSettingsThemeRequested",value:(s=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/settings/theme");case 2:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"onGoToUserSettingsMfaRequested",value:(n=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("api","/app/settings/mfa");case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"onGoToUserSettingsKeysRequested",value:(t=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.goTo("browser-extension","/app/settings/keys");case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"render",value:function(){return r.createElement(he.Provider,{value:this.state},this.props.children)}}]),x}(r.Component);pe.displayName="NavigationContextProvider",pe.propTypes={context:y().object,children:y().any,location:y().object,match:y().object,history:y().object};const de=(0,O.EN)(B(pe));function me(e){return function(t){(0,o.Z)(s,t);var n=ue(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(he.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({navigationContext:n},t.props))}))}}]),s}(r.Component)}var fe=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"isSelected",value:function(e){var t=!1;return"passwords"===e?t=/^\/app\/(passwords|folders)/.test(this.props.location.pathname):"users"===e?t=/^\/app\/(users|groups)/.test(this.props.location.pathname):"administration"===e&&(t=/^\/app\/administration/.test(this.props.location.pathname)),t}},{key:"isLoggedInUserAdmin",value:function(){return this.props.context.loggedInUser&&"admin"===this.props.context.loggedInUser.role.name}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("nav",null,r.createElement("div",{className:"primary navigation top"},r.createElement("ul",{className:"left"},r.createElement("li",{key:"password"},r.createElement("div",{className:"row ".concat(this.isSelected("passwords")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToPasswordsRequested,role:"button"},r.createElement("span",null,r.createElement(T.c,null,"passwords"))))))),r.createElement("li",{key:"users"},r.createElement("div",{className:"row ".concat(this.isSelected("users")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUsersRequested,role:"button"},r.createElement("span",null,r.createElement(T.c,null,"users"))))))),this.isLoggedInUserAdmin()&&r.createElement("li",{key:"administration"},r.createElement("div",{className:"row ".concat(this.isSelected("administration")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationRequested,role:"button"},r.createElement("span",null,r.createElement(T.c,null,"administration"))))))),r.createElement("li",{key:"help"},r.createElement("div",{className:"row"},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{href:"https://help.passbolt.com",role:"button",target:"_blank",rel:"noopener noreferrer"},r.createElement("span",null,r.createElement(T.c,null,"help")))))))),r.createElement("ul",{className:"right"},r.createElement("li",{key:"logout"},r.createElement("div",{className:"row"},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{role:"button",onClick:this.props.context.onLogoutRequested},r.createElement("span",null,r.createElement(T.c,null,"sign out"))))))))))}}]),u}(r.Component);fe.propTypes={context:y().object,navigationContext:y().any,history:y().object,location:y().object,t:y().func};const ye=B((0,O.EN)(me((0,q.Z)("common")(fe))));const ve=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement("div",{className:"col1"},r.createElement("div",{className:"logo no-img"},r.createElement("h1",null,r.createElement("span",null,"Passbolt"))))}}]),u}(r.Component);var ge=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state=t.getDefaultState(),t.bindCallbacks(),t}return(0,i.Z)(u,[{key:"getDefaultState",value:function(){return{error:!1}}},{key:"bindCallbacks",value:function(){this.handleError=this.handleError.bind(this)}},{key:"propsHasUrl",value:function(){return this.props.user&&this.props.user.profile&&this.props.user.profile.avatar&&this.props.user.profile.avatar.url&&this.props.user.profile.avatar.url.medium}},{key:"propsUrlHasProtocol",value:function(){return this.props.user.profile.avatar.url.medium.startsWith("https://")}},{key:"formatUrl",value:function(e){return"".concat(this.props.baseUrl,"/").concat(e)}},{key:"getDefaultAvatarUrl",value:function(){return"".concat(this.props.baseUrl,"/img/avatar/user.png")}},{key:"getAvatarSrc",value:function(){return!this.state.error&&this.propsHasUrl()?this.propsUrlHasProtocol()?this.props.user.profile.avatar.url.medium:this.formatUrl(this.props.user.profile.avatar.url.medium):this.getDefaultAvatarUrl()}},{key:"handleError",value:function(){console.error("Could not load avatar image url: ".concat(this.getAvatarSrc())),this.setState({error:!0})}},{key:"getAltText",value:function(){return this.props.user&&this.props.user.first_name&&this.props.user.last_name?"Avatar of user ".concat(this.props.user.first_name," ").concat(this.props.user.last_name,"."):"..."}},{key:"render",value:function(){return r.createElement("div",{className:this.props.className},!this.state.error&&r.createElement("img",{src:this.getAvatarSrc(),onError:this.handleError,alt:this.getAltText()}),this.state.error&&r.createElement("img",{src:this.getDefaultAvatarUrl(),alt:this.getAltText()}))}}]),u}(r.Component);ge.defaultProps={className:"avatar user-avatar"},ge.propTypes={baseUrl:y().string,user:y().object,className:y().string};const be=ge;var Ee=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"getClassName",value:function(){var e="svg-icon ".concat(this.props.name);return this.props.big&&(e+=" icon-only"),this.props.baseline&&(e+=" baseline"),e}},{key:"render",value:function(){return r.createElement("span",{className:this.getClassName(),onClick:this.props.onClick},"ban"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1440 893q0-161-87-295l-754 753q137 89 297 89 111 0 211.5-43.5t173.5-116.5 116-174.5 43-212.5zm-999 299l755-754q-135-91-300-91-148 0-273 73t-198 199-73 274q0 162 89 299zm1223-299q0 157-61 300t-163.5 246-245 164-298.5 61-298.5-61-245-164-163.5-246-61-300 61-299.5 163.5-245.5 245-164 298.5-61 298.5 61 245 164 163.5 245.5 61 299.5z"})),"camera"===this.props.name&&r.createElement("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1024 672q119 0 203.5 84.5t84.5 203.5-84.5 203.5-203.5 84.5-203.5-84.5-84.5-203.5 84.5-203.5 203.5-84.5zm704-416q106 0 181 75t75 181v896q0 106-75 181t-181 75h-1408q-106 0-181-75t-75-181v-896q0-106 75-181t181-75h224l51-136q19-49 69.5-84.5t103.5-35.5h512q53 0 103.5 35.5t69.5 84.5l51 136h224zm-704 1152q185 0 316.5-131.5t131.5-316.5-131.5-316.5-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5z"})),"caret-right"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1152 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z"})),"caret-down"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"})),"caret-up"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"})),"chevron-left"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1427 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z"})),"chevron-right"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"})),"close"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"})),"close-circle"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"copy-to-clipboard"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z"})),"download"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1344 1344q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h465l135 136q58 56 136 56t136-56l136-136h464q40 0 68 28t28 68zm-325-569q17 41-14 70l-448 448q-18 19-45 19t-45-19l-448-448q-31-29-14-70 17-39 59-39h256v-448q0-26 19-45t45-19h256q26 0 45 19t19 45v448h256q42 0 59 39z"})),"edit"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M888 1184l116-116-152-152-116 116v56h96v96h56zm440-720q-16-16-33 1l-350 350q-17 17-1 33t33-1l350-350q17-17 1-33zm80 594v190q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-14 14-32 8-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-126q0-13 9-22l64-64q15-15 35-7t20 29zm-96-738l288 288-672 672h-288v-288zm444 132l-92 92-288-288 92-92q28-28 68-28t68 28l152 152q28 28 28 68t-28 68z"})),"envelope"===this.props.name&&r.createElement("svg",{width:"512",height:"512",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{fill:"currentColor",d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"})," "),"eye-open"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"})),"eye-close"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M555 1335l78-141q-87-63-136-159t-49-203q0-121 61-225-229 117-381 353 167 258 427 375zm389-759q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm363-191q0 7-1 9-106 189-316 567t-315 566l-49 89q-10 16-28 16-12 0-134-70-16-10-16-28 0-12 44-87-143-65-263.5-173t-208.5-245q-20-31-20-69t20-69q153-235 380-371t496-136q89 0 180 17l54-97q10-16 28-16 5 0 18 6t31 15.5 33 18.5 31.5 18.5 19.5 11.5q16 10 16 27zm37 447q0 139-79 253.5t-209 164.5l280-502q8 45 8 84zm448 128q0 35-20 69-39 64-109 145-150 172-347.5 267t-419.5 95l74-132q212-18 392.5-137t301.5-307q-115-179-282-294l63-112q95 64 182.5 153t144.5 184q20 34 20 69z"})),"external-link"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1408 928v-480q0-26-19-45t-45-19h-480q-42 0-59 39-17 41 14 70l144 144-534 534q-19 19-19 45t19 45l102 102q19 19 45 19t45-19l534-534 144 144q18 19 45 19 12 0 25-5 39-17 39-59zm256-512v960q0 119-84.5 203.5t-203.5 84.5h-960q-119 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5 84.5t84.5 203.5z"})),"folder"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"})),"folder-shared"===this.props.name&&r.createElement("svg",{viewBox:"2 2 20 20",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z"})),"heart"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M896 1664q-26 0-44-18l-624-602q-10-8-27.5-26t-55.5-65.5-68-97.5-53.5-121-23.5-138q0-220 127-344t351-124q62 0 126.5 21.5t120 58 95.5 68.5 76 68q36-36 76-68t95.5-68.5 120-58 126.5-21.5q224 0 351 124t127 344q0 221-229 450l-623 600q-18 18-44 18z"})),"heart-o"===this.props.name&&r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},r.createElement("path",{d:"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"})),"heartbeat"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1280 1024h305q-5 6-10 10.5t-9 7.5l-3 4-623 600q-18 18-44 18t-44-18l-624-602q-5-2-21-20h369q22 0 39.5-13.5t22.5-34.5l70-281 190 667q6 20 23 33t39 13q21 0 38-13t23-33l146-485 56 112q18 35 57 35zm512-428q0 145-103 300h-369l-111-221q-8-17-25.5-27t-36.5-8q-45 5-56 46l-129 430-196-686q-6-20-23.5-33t-39.5-13-39 13.5-22 34.5l-116 464h-423q-103-155-103-300 0-220 127-344t351-124q62 0 126.5 21.5t120 58 95.5 68.5 76 68q36-36 76-68t95.5-68.5 120-58 126.5-21.5q224 0 351 124t127 344z"})),"info-circle"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"key"===this.props.name&&r.createElement("svg",{width:"512",height:"512",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},r.createElement("path",{fill:"currentColor",d:"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"})),"link"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1520 1216q0-40-28-68l-208-208q-28-28-68-28-42 0-72 32 3 3 19 18.5t21.5 21.5 15 19 13 25.5 3.5 27.5q0 40-28 68t-68 28q-15 0-27.5-3.5t-25.5-13-19-15-21.5-21.5-18.5-19q-33 31-33 73 0 40 28 68l206 207q27 27 68 27 40 0 68-26l147-146q28-28 28-67zm-703-705q0-40-28-68l-206-207q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l208 208q27 27 68 27 42 0 72-31-3-3-19-18.5t-21.5-21.5-15-19-13-25.5-3.5-27.5q0-40 28-68t68-28q15 0 27.5 3.5t25.5 13 19 15 21.5 21.5 18.5 19q33-31 33-73zm895 705q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-206-207q-83-83-83-203 0-123 88-209l-88-88q-86 88-208 88-120 0-204-84l-208-208q-84-84-84-204t85-203l147-146q83-83 203-83 121 0 204 85l206 207q83 83 83 203 0 123-88 209l88 88q86-88 208-88 120 0 204 84l208 208q84 84 84 204z"})),"lock"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"})),"lock-open"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1376 768q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-320q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45q0-106-75-181t-181-75-181 75-75 181v320h736z"})),"magic-wand"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1254 581l293-293-107-107-293 293zm447-293q0 27-18 45l-1286 1286q-18 18-45 18t-45-18l-198-198q-18-18-18-45t18-45l1286-1286q18-18 45-18t45 18l198 198q18 18 18 45zm-1351-190l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm350 162l196 60-196 60-60 196-60-196-196-60 196-60 60-196zm930 478l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm-640-640l98 30-98 30-30 98-30-98-98-30 98-30 30-98z"})),"plus-circle"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"plus-square"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"})),"filter"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"})),"life-ring"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z"})),"plug"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 384 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z"})),"printer"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M448 1536h896v-256h-896v256zm0-640h896v-384h-160q-40 0-68-28t-28-68v-160h-640v640zm1152 64q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128 0v416q0 13-9.5 22.5t-22.5 9.5h-224v160q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-224q-13 0-22.5-9.5t-9.5-22.5v-416q0-79 56.5-135.5t135.5-56.5h64v-544q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v256h64q79 0 135.5 56.5t56.5 135.5z"})),"refresh"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"})),"question-circle"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"search"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"})),"share"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-453-185-242 295q-18 23-49 23-13 0-22-4-19-7-30.5-23.5t-11.5-36.5v-349l864-1059-1069 925-395-162q-37-14-40-55-2-40 32-59l1664-960q15-9 32-9 20 0 36 11z"})),"star"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1728 647q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5t-30.5 14.5q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5t-10.5-35.5q0-6 2-20l86-500-364-354q-25-27-25-48 0-37 56-46l502-73 225-455q19-41 49-41t49 41l225 455 502 73q56 9 56 46z"})),"save"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"})),"trash"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"})),"upload"===this.props.name&&r.createElement("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1344 864q0-14-9-23l-352-352q-9-9-23-9t-23 9l-351 351q-10 12-10 24 0 14 9 23t23 9h224v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5v-352h224q13 0 22.5-9.5t9.5-22.5zm640 288q0 159-112.5 271.5t-271.5 112.5h-1088q-185 0-316.5-131.5t-131.5-316.5q0-130 70-240t188-165q-2-30-2-43 0-212 150-362t362-150q156 0 285.5 87t188.5 231q71-62 166-62 106 0 181 75t75 181q0 76-41 138 130 31 213.5 135.5t83.5 238.5z"})),"upload-a"===this.props.name&&r.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"upload",className:"svg-inline--fa fa-upload fa-w-16",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},r.createElement("path",{fill:"currentColor",d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"})),"user"===this.props.name&&r.createElement("svg",{width:"448",height:"512",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{fill:"currentColor",d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z",className:""})),"users"===this.props.name&&r.createElement("svg",{width:"640",height:"512",viewBox:"0 0 640 512",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{fill:"currentColor",d:"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"})),"warning"===this.props.name&&r.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"})))}}]),u}(r.Component);Ee.defaultProps={big:!1,baseline:!1,onClick:function(){}},Ee.propTypes={name:y().string,big:y().bool,baseline:y().bool,onClick:y().func};const ke=Ee;var we=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state=t.getDefaultState(),t.bindCallbacks(),t.createRefs(),t}return(0,i.Z)(u,[{key:"getDefaultState",value:function(){return{open:!1,loading:!0}}},{key:"bindCallbacks",value:function(){this.handleDocumentClickEvent=this.handleDocumentClickEvent.bind(this),this.handleDocumentContextualMenuEvent=this.handleDocumentContextualMenuEvent.bind(this),this.handleDocumentDragStartEvent=this.handleDocumentDragStartEvent.bind(this),this.handleToggleMenuClick=this.handleToggleMenuClick.bind(this),this.handleProfileClick=this.handleProfileClick.bind(this),this.handleThemeClick=this.handleThemeClick.bind(this),this.handleLogoutClick=this.handleLogoutClick.bind(this)}},{key:"componentDidMount",value:function(){document.addEventListener("click",this.handleDocumentClickEvent),document.addEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.addEventListener("dragstart",this.handleDocumentDragStartEvent)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.handleDocumentClickEvent),document.removeEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.removeEventListener("dragstart",this.handleDocumentDragStartEvent)}},{key:"createRefs",value:function(){this.userBadgeMenuRef=r.createRef()}},{key:"canIUseThemeCapability",get:function(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("accountSettings")}},{key:"handleDocumentClickEvent",value:function(e){this.userBadgeMenuRef.current.contains(e.target)||this.closeUserBadgeMenu()}},{key:"handleDocumentContextualMenuEvent",value:function(e){this.userBadgeMenuRef.current.contains(e.target)||this.closeUserBadgeMenu()}},{key:"handleDocumentDragStartEvent",value:function(){this.closeUserBadgeMenu()}},{key:"closeUserBadgeMenu",value:function(){this.setState({open:!1})}},{key:"getUserFullName",value:function(){return this.props.user&&this.props.user.profile?"".concat(this.props.user.profile.first_name," ").concat(this.props.user.profile.last_name):"..."}},{key:"getUserUsername",value:function(){return this.props.user&&this.props.user.username?"".concat(this.props.user.username):"..."}},{key:"handleToggleMenuClick",value:function(e){e.preventDefault();var t=!this.state.open;this.setState({open:t})}},{key:"handleProfileClick",value:function(){this.props.navigationContext.onGoToUserSettingsProfileRequested(),this.closeUserBadgeMenu()}},{key:"handleThemeClick",value:function(){this.props.navigationContext.onGoToUserSettingsThemeRequested(),this.closeUserBadgeMenu()}},{key:"handleLogoutClick",value:function(){this.props.context.onLogoutRequested(),this.closeUserBadgeMenu()}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"col3 profile-wrapper"},r.createElement("div",{className:"user profile dropdown",ref:this.userBadgeMenuRef},r.createElement("div",{onClick:this.handleToggleMenuClick},r.createElement("div",{className:"center-cell-wrapper"},r.createElement("div",{className:"details center-cell"},r.createElement("span",{className:"name"},this.getUserFullName()),r.createElement("span",{className:"email"},this.getUserUsername()))),r.createElement(be,{user:this.props.user,className:"picture left-cell",baseUrl:this.props.baseUrl}),r.createElement("div",{className:"more right-cell"},r.createElement("a",{role:"button"},r.createElement(ke,{name:"caret-down"}),r.createElement("span",null,r.createElement(T.c,null,"more"))))),this.state.open&&r.createElement("ul",{className:"dropdown-content right visible"},r.createElement("li",{key:"profile"},r.createElement("div",{className:"row"},r.createElement("a",{role:"button",tabIndex:"1",onClick:this.handleProfileClick},r.createElement("span",null,r.createElement(T.c,null,"Profile"))))),this.canIUseThemeCapability&&r.createElement("li",{key:"theme"},r.createElement("div",{className:"row"},r.createElement("a",{role:"button",tabIndex:"2",onClick:this.handleThemeClick},r.createElement("span",null,r.createElement(T.c,null,"Theme"))))),r.createElement("li",{key:"logout"},r.createElement("div",{className:"row"},r.createElement("a",{role:"button",tabIndex:"3",onClick:this.handleLogoutClick},r.createElement("span",null,r.createElement(T.c,null,"Sign out"))))))))}}]),u}(r.Component);we.propTypes={context:y().object,navigationContext:y().any,baseUrl:y().string,user:y().object,t:y().func};const xe=B(me((0,q.Z)("common")(we)));var Ce=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"isMfaEnabled",get:function(){var e=this.props.context.siteSettings;return e&&e.canIUse("multiFactorAuthentication")}},{key:"isUserDirectoryEnabled",get:function(){var e=this.props.context.siteSettings;return e&&e.canIUse("directorySync")}},{key:"canIUseEE",get:function(){var e=this.props.context.siteSettings;return e&&e.canIUse("ee")}},{key:"canIUseLocale",get:function(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("locale")}},{key:"bindCallbacks",value:function(){this.handleMfaClick=this.handleMfaClick.bind(this),this.handleUserDirectoryClick=this.handleUserDirectoryClick.bind(this),this.handleEmailNotificationsClick=this.handleEmailNotificationsClick.bind(this),this.handleSubscriptionClick=this.handleSubscriptionClick.bind(this),this.handleInternationalizationClick=this.handleInternationalizationClick.bind(this)}},{key:"handleMfaClick",value:function(){this.props.navigationContext.onGoToAdministrationMfaRequested()}},{key:"handleUserDirectoryClick",value:function(){this.props.navigationContext.onGoToAdministrationUsersDirectoryRequested()}},{key:"handleEmailNotificationsClick",value:function(){this.props.navigationContext.onGoToAdministrationEmailNotificationsRequested()}},{key:"handleSubscriptionClick",value:function(){this.props.navigationContext.onGoToAdministrationSubscriptionRequested()}},{key:"handleInternationalizationClick",value:function(){this.props.navigationContext.onGoToAdministrationInternationalizationRequested()}},{key:"isMfaSelected",value:function(){return ae.MFA===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isUserDirectorySelected",value:function(){return ae.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isEmailNotificationsSelected",value:function(){return ae.EMAIL_NOTIFICATION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isSubscriptionSelected",value:function(){return ae.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isInternationalizationSelected",value:function(){return ae.INTERNATIONALIZATION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"navigation first"},r.createElement("ul",{id:"administration_menu",className:"clearfix menu ready"},this.isMfaEnabled&&r.createElement("li",{id:"mfa_menu"},r.createElement("div",{className:"row ".concat(this.isMfaSelected()?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.handleMfaClick},r.createElement("span",null,r.createElement(T.c,null,"Multi Factor Authentication"))))))),this.isUserDirectoryEnabled&&r.createElement("li",{id:"user_directory_menu"},r.createElement("div",{className:"row ".concat(this.isUserDirectorySelected()?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.handleUserDirectoryClick},r.createElement("span",null,r.createElement(T.c,null,"Users Directory"))))))),r.createElement("li",{id:"email_notification_menu"},r.createElement("div",{className:"row ".concat(this.isEmailNotificationsSelected()?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.handleEmailNotificationsClick},r.createElement("span",null,r.createElement(T.c,null,"Email Notifications"))))))),this.canIUseLocale&&r.createElement("li",{id:"internationalization_menu"},r.createElement("div",{className:"row ".concat(this.isInternationalizationSelected()?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.handleInternationalizationClick},r.createElement("span",null,r.createElement(T.c,null,"Internationalization"))))))),this.canIUseEE&&r.createElement("li",{id:"subscription_menu"},r.createElement("div",{className:"row ".concat(this.isSubscriptionSelected()?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.handleSubscriptionClick},r.createElement("span",null,r.createElement(T.c,null,"Subscription")))))))))}}]),u}(r.Component);Ce.propTypes={context:y().object,administrationWorkspaceContext:y().object,history:y().object,navigationContext:y().any,t:y().func};const Se=(0,O.EN)(B(me(se((0,q.Z)("common")(Ce)))));var Re=n(648),Ne=n.n(Re);var Ze=function(e){(0,o.Z)(S,e);var t,n,s,u,h,d,f,y,v,g,b,E,k,w,x,C=(w=S,x=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(w);if(x){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function S(e){var t;return(0,a.Z)(this,S),(t=C.call(this,e)).state=t.defaultState,t.bindCallbacks(),t}return(0,i.Z)(S,[{key:"defaultState",get:function(){return{loading:!0,processing:!1,totpProviderToggle:!0,yubikeyToggle:!1,yubikeyClientIdentifier:"",yubikeyClientIdentifierError:null,yubikeySecretKey:"",yubikeySecretKeyError:null,duoToggle:!1,duoHostname:"",duoHostnameError:null,duoIntegrationKey:"",duoIntegrationKeyError:null,duoSalt:"",duoSaltError:null,duoSecretKey:"",duoSecretKeyError:null}}},{key:"componentDidMount",value:(k=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.findAllMfaSettings();case 1:case"end":return e.stop()}}),e,this)}))),function(){return k.apply(this,arguments)})},{key:"componentDidUpdate",value:(E=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleMustSave(t.administrationWorkspaceContext.must.save);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"bindCallbacks",value:function(){this.handleInputChange=this.handleInputChange.bind(this)}},{key:"handleMustSave",value:(b=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.administrationWorkspaceContext.must.save===t||!this.props.administrationWorkspaceContext.must.save){e.next=5;break}return e.next=4,this.handleFormSubmit();case 4:this.props.administrationWorkspaceContext.onResetActionsSettings();case 5:case"end":return e.stop()}}),e,this)}))),function(e){return b.apply(this,arguments)})},{key:"findAllMfaSettings",value:(g=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c,l,u,h,p;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.administrationWorkspaceContext.onGetMfaRequested();case 2:t=e.sent,n=t.body,r=n.providers,s=r.includes("totp"),a=r.includes("yubikey"),i="",o="",a&&(i=n.yubikey.clientId,o=n.yubikey.secretKey),c=r.includes("duo"),l="",u="",h="",p="",c&&(l=n.duo.hostName,u=n.duo.integrationKey,h=n.duo.salt,p=n.duo.secretKey),this.setState({loading:!1,totpProviderToggle:s,yubikeyToggle:a,yubikeyClientIdentifier:i,yubikeySecretKey:o,duoToggle:c,duoHostname:l,duoIntegrationKey:u,duoSalt:h,duoSecretKey:p});case 17:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"handleInputChange",value:function(e){var t=e.target,n="checkbox"===t.type?t.checked:t.value,r=t.name;this.setState((0,_.Z)({},r,n)),this.handleEnabledSaveButton()}},{key:"handleEnabledSaveButton",value:function(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}},{key:"hasAllInputDisabled",value:function(){return this.state.processing||this.state.loading}},{key:"isOtpProviderChecked",value:function(){return this.state.totpProviderToggle}},{key:"isYubikeyChecked",value:function(){return this.state.yubikeyToggle}},{key:"isDuoChecked",value:function(){return this.state.duoToggle}},{key:"validate",value:(v=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([this.validateYubikeyInput(),this.validateDuoInput()]);case 2:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"validateYubikeyInput",value:(y=(0,p.Z)(m().mark((function e(){var t,n,r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=null,n=null,this.isYubikeyChecked()&&((r=this.state.yubikeyClientIdentifier.trim()).length?Ne()("^[0-9]{1,64}$").test(r)||(t=this.translate("The client identifier should be an integer.")):t=this.translate("A client identifier is required."),(s=this.state.yubikeySecretKey.trim()).length?Ne()("^[a-zA-Z0-9\\/=+]{10,128}$").test(s)||(n=this.translate("This secret key is not valid.")):n=this.translate("A secret key is required.")),e.abrupt("return",this.setState({yubikeyClientIdentifierError:t,yubikeySecretKeyError:n}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"validateDuoInput",value:(f=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=null,n=null,r=null,s=null,this.isDuoChecked()&&((a=this.state.duoHostname.trim()).length?Ne()("^api-[a-fA-F0-9]{8,16}\\.duosecurity\\.com$").test(a)||(t=this.translate("This is not a valid hostname.")):t=this.translate("A hostname is required."),(i=this.state.duoIntegrationKey.trim()).length?Ne()("^[a-zA-Z0-9]{16,32}$").test(i)||(n=this.translate("This is not a valid integration key.")):n=this.translate("An integration key is required."),(o=this.state.duoSalt.trim()).length?Ne()("^.{40,128}$").test(o)||(r=this.translate("The salt should be between 40 and 128 characters in length.")):r=this.translate("A salt is required."),(c=this.state.duoSecretKey.trim()).length?Ne()("^[a-zA-Z0-9]{32,128}$").test(c)||(s=this.translate("This is not a valid secret key.")):s=this.translate("A secret key is required.")),e.abrupt("return",this.setState({duoHostnameError:t,duoIntegrationKeyError:n,duoSaltError:r,duoSecretKeyError:s}));case 6:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"hasValidationError",value:function(){return this.hasYubikeyError()||this.hasDuoError()}},{key:"hasYubikeyError",value:function(){return null!==this.state.yubikeyClientIdentifierError||null!==this.state.yubikeySecretKeyError}},{key:"hasDuoError",value:function(){return null!==this.state.duoHostnameError||null!==this.state.duoIntegrationKeyError||null!==this.state.duoSaltError||null!==this.state.duoSecretKeyError}},{key:"handleFormSubmit",value:(d=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state.processing){e.next=20;break}return e.next=3,this.toggleProcessing();case 3:return e.next=5,this.validate();case 5:if(!this.hasValidationError()){e.next=9;break}return e.next=8,this.toggleProcessing();case 8:return e.abrupt("return");case 9:return e.prev=9,e.next=12,this.saveMfa();case 12:return e.next=14,this.handleSaveSuccess();case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e.catch(9),e.next=20,this.handleSaveError(e.t0);case 20:case"end":return e.stop()}}),e,this,[[9,16]])}))),function(){return d.apply(this,arguments)})},{key:"saveMfa",value:(h=(0,p.Z)(m().mark((function e(){var t,n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],this.state.totpProviderToggle&&t.push("totp"),n=null,this.state.yubikeyToggle&&(t.push("yubikey"),n={clientId:this.state.yubikeyClientIdentifier,secretKey:this.state.yubikeySecretKey}),r=null,this.state.duoToggle&&(t.push("duo"),r={hostName:this.state.duoHostname,integrationKey:this.state.duoIntegrationKey,salt:this.state.duoSalt,secretKey:this.state.duoSecretKey}),e.next=8,this.props.administrationWorkspaceContext.onSaveMfaRequested({providers:t,yubikey:n,duo:r});case 8:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"handleSaveSuccess",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The multi factor authentication settings for the organization were updated."));case 2:this.setState({processing:!1});case 3:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"handleSaveError",value:(s=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("UserAbortsOperationError"!==t.name){e.next=4;break}this.setState({processing:!1}),e.next=8;break;case 4:return console.error(t),e.next=7,this.handleError(t);case 7:this.setState({processing:!1});case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"handleError",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displayError(t.message);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"toggleProcessing",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.state.processing,e.abrupt("return",this.setState({processing:!t}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"row"},r.createElement("div",{className:"mfa-settings col8"},r.createElement("form",{className:"form ready"},r.createElement("div",{className:"provider-section totp"},r.createElement("h3",null,r.createElement("span",{className:"input toggle-switch form-element ready"},r.createElement("input",{id:"totp-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"totpProviderToggle",onChange:this.handleInputChange,checked:this.state.totpProviderToggle,disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"totp-provider-toggle-button"})),r.createElement("label",null,r.createElement(T.c,null,"Time-based One Time Password"))),!this.isOtpProviderChecked()&&r.createElement("p",{className:"description"},r.createElement(T.c,null,"The Time-based One Time Password provider is disabled for all users.")),this.isOtpProviderChecked()&&r.createElement("p",{className:"description"},r.createElement(T.c,null,"The Time-based One Time Password provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication."))),r.createElement("div",{className:"provider-section yubikey"},r.createElement("h3",null,r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("input",{id:"yubikey-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"yubikeyToggle",onChange:this.handleInputChange,checked:this.state.yubikeyToggle,disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"yubikey-provider-toggle-button"})),r.createElement("label",null,"Yubikey")),!this.isYubikeyChecked()&&r.createElement("p",{className:"description"},r.createElement(T.c,null,"The Yubikey provider is disabled for all users.")),this.isYubikeyChecked()&&r.createElement("div",null,r.createElement("p",{className:"description"},r.createElement(T.c,null,"The Yubikey provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.")),r.createElement("div",{className:"form-content"},r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Client identifier")),r.createElement("input",{id:"yubikeyClientIdentifier",type:"text",name:"yubikeyClientIdentifier",required:"required",className:"required fluid form-element ready",placeholder:"123456789",onChange:this.handleInputChange,value:this.state.yubikeyClientIdentifier,disabled:this.hasAllInputDisabled()}),this.state.yubikeyClientIdentifierError&&r.createElement("div",{className:"yubikey_client_identifier message error"},this.state.yubikeyClientIdentifierError)),r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Secret key")),r.createElement("input",{id:"yubikeySecretKey",name:"yubikeySecretKey",required:"required",className:"required fluid form-element",placeholder:"**********",type:"password",onChange:this.handleInputChange,value:this.state.yubikeySecretKey,disabled:this.hasAllInputDisabled()}),this.state.yubikeySecretKeyError&&r.createElement("div",{className:"yubikey_secret_key message error"},this.state.yubikeySecretKeyError))))),r.createElement("div",{className:"provider-section duo"},r.createElement("h3",null,r.createElement("span",{className:"input toggle-switch form-element ready"},r.createElement("input",{id:"duo-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"duoToggle",onChange:this.handleInputChange,checked:this.state.duoToggle,disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"duo-provider-toggle-button"})),r.createElement("label",null,"Duo")),!this.isDuoChecked()&&r.createElement("p",{className:"description"},r.createElement(T.c,null,"The Duo provider is disabled for all users.")),this.isDuoChecked()&&r.createElement("div",null,r.createElement("p",{className:"description enabled"},r.createElement(T.c,null,"The Duo provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.")),r.createElement("div",{className:"form-content"},r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Hostname")),r.createElement("input",{id:"duoHostname",type:"text",name:"duoHostname",required:"required",className:"required fluid form-element ready",placeholder:"api-24zlkn4.duosecurity.com",value:this.state.duoHostname,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoHostnameError&&r.createElement("div",{className:"duo_hostname message error"},this.state.duoHostnameError)),r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Integration key")),r.createElement("input",{id:"duoIntegrationKey",type:"text",name:"duoIntegrationKey",required:"required",className:"required fluid form-element ready",placeholder:"HASJKDSQJO213123KQSLDF",value:this.state.duoIntegrationKey,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoIntegrationKeyError&&r.createElement("div",{className:"duo_integration_key message error"},this.state.duoIntegrationKeyError)),r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Salt")),r.createElement("input",{id:"duoSalt",name:"duoSalt",required:"required",className:"required fluid form-element ready",placeholder:"**********",type:"password",value:this.state.duoSalt,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoSaltError&&r.createElement("div",{className:"duo_salt message error"},this.state.duoSaltError)),r.createElement("div",{className:"input text required"},r.createElement("label",null,r.createElement(T.c,null,"Secret key")),r.createElement("input",{id:"duoSecretKey",name:"duoSecretKey",required:"required",className:"required fluid form-element ready",placeholder:"**********",type:"password",value:this.state.duoSecretKey,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoSecretKeyError&&r.createElement("div",{className:"duo_secret_key message error"},this.state.duoSecretKeyError))))))),r.createElement("div",{className:"col4 last"},r.createElement("h2",null,r.createElement(T.c,null,"Need help?")),r.createElement("p",null,r.createElement(T.c,null,"Check out our Multi Factor Authentication configuration guide.")),r.createElement("a",{className:"button",href:"https://help.passbolt.com/configure",target:"_blank",rel:"noopener noreferrer"},r.createElement(ke,{name:"life-ring"}),r.createElement("span",null,r.createElement(T.c,null,"Read documentation")))))}}]),S}(r.Component);Ze.propTypes={administrationWorkspaceContext:y().object,actionFeedbackContext:y().any,t:y().func};const Te=k(se((0,q.Z)("common")(Ze)));var qe=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleCloseClick=this.handleCloseClick.bind(this)}},{key:"handleCloseClick",value:function(){this.props.onClose()}},{key:"getClassName",value:function(){var e="dialog-close";return this.props.disabled&&(e+=" disabled"),e}},{key:"render",value:function(){return r.createElement("a",{className:this.getClassName(),onClick:this.handleCloseClick,role:"button"},r.createElement(ke,{name:"close"}),r.createElement("span",{className:"visually-hidden"},"Close"))}}]),u}(r.Component);qe.propTypes={onClose:y().func,disabled:y().bool};const Ue=qe;var Ae=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state={top:null},t.tooltipRef=r.createRef(),t.bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.setTop=this.setTop.bind(this)}},{key:"getInlineCss",value:function(){return this.state.top?{top:"".concat(this.tooltipRef.current.getBoundingClientRect().top,"px")}:{}}},{key:"setTop",value:function(){this.props.offset&&this.setState({top:this.tooltipRef.current.getBoundingClientRect().top})}},{key:"render",value:function(){return r.createElement("div",{className:"more-details tooltip-alt",ref:this.tooltipRef,onMouseEnter:this.setTop},r.createElement(ke,{name:"info-circle"}),r.createElement("div",{className:"tooltip-text right",style:this.getInlineCss()},this.props.children))}}]),u}(r.Component);Ae.propTypes={offset:y().bool,children:y().node};const De=Ae;var Ie=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleKeyDown=this.handleKeyDown.bind(this),this.handleClose=this.handleClose.bind(this)}},{key:"handleKeyDown",value:function(e){27===e.keyCode&&this.handleClose()}},{key:"handleClose",value:function(){this.props.disabled||this.props.onClose()}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"render",value:function(){return r.createElement("div",{className:"".concat(this.props.className," dialog-wrapper")},r.createElement("div",{className:"dialog"},r.createElement("div",{className:"dialog-header"},r.createElement("h2",null,r.createElement("span",{className:"dialog-header-title"},this.props.title),this.props.subtitle&&r.createElement("span",{className:"dialog-header-subtitle"},this.props.subtitle),this.props.tooltip&&""!==this.props.tooltip&&r.createElement(De,null,r.createElement("span",null,this.props.tooltip))),r.createElement(Ue,{onClose:this.handleClose,disabled:this.props.disabled})),r.createElement("div",{className:"dialog-content"},this.props.children)))}}]),u}(r.Component);Ie.propTypes={children:y().node,className:y().string,title:y().string,subtitle:y().string,tooltip:y().string,loading:y().bool,disabled:y().bool,onClose:y().func};const Pe=Ie;var Oe=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleClick=this.handleClick.bind(this)}},{key:"handleClick",value:function(){this.props.disabled||this.props.onClick()}},{key:"getClassName",value:function(){var e="cancel";return this.props.disabled&&(e+=" disabled"),e}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("a",{className:this.getClassName(),role:"button",onClick:this.handleClick},this.translate("Cancel"))}}]),u}(r.Component);Oe.propTypes={disabled:y().bool,onClick:y().func,t:y().func};const _e=(0,q.Z)("common")(Oe);var Me=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindEventHandlers(),t}return(0,i.Z)(u,[{key:"bindEventHandlers",value:function(){this.handleClose=this.handleClose.bind(this)}},{key:"handleClose",value:function(){this.props.onClose()}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement(Pe,{className:"loading-dialog",title:this.props.title,onClose:this.handleClose,disabled:!1},r.createElement("div",{className:"form-content"},r.createElement("label",null,r.createElement(T.c,null,"Take a deep breath and enjoy being in the present moment...")),r.createElement("div",{className:"progress-bar-wrapper"},r.createElement("span",{style:{width:"100%"},className:"progress-bar big infinite"},r.createElement("span",{className:"progress"})))))}}]),u}(r.Component);Me.propTypes={onClose:y().func,title:y().string,t:y().func};const Be=(0,q.Z)("common")(Me);var ze=function(e){(0,o.Z)(d,e);var t,n,s,u,h=(s=d,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(s);if(u){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),(t=h.call(this,e)).state=t.defaultState,t.bindEventHandlers(),t}return(0,i.Z)(d,[{key:"defaultState",get:function(){return{loading:!0,openFullReport:!1,userDirectorySimulateSynchronizeResult:null}}},{key:"bindEventHandlers",value:function(){this.handleFullReportClicked=this.handleFullReportClicked.bind(this),this.handleClose=this.handleClose.bind(this),this.handleSynchronize=this.handleSynchronize.bind(this)}},{key:"componentDidMount",value:(n=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.props.administrationWorkspaceContext.onGetSimulateSynchronizeUsersDirectoryRequested();case 3:t=e.sent,n=t.body,this.setState({loading:!1,userDirectorySimulateSynchronizeResult:n}),e.next=12;break;case 8:return e.prev=8,e.t0=e.catch(0),e.next=12,this.handleError(e.t0);case 12:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(){return n.apply(this,arguments)})},{key:"handleError",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),e.next=3,this.props.actionFeedbackContext.displayError(t.message);case 3:this.handleClose();case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"handleFullReportClicked",value:function(){this.setState({openFullReport:!this.state.openFullReport})}},{key:"handleClose",value:function(){this.props.onClose()}},{key:"handleSynchronize",value:function(){this.props.administrationWorkspaceContext.onMustSynchronizeSettings(),this.handleClose()}},{key:"isLoading",value:function(){return this.state.loading}},{key:"users",get:function(){return this.state.userDirectorySimulateSynchronizeResult.users}},{key:"groups",get:function(){return this.state.userDirectorySimulateSynchronizeResult.groups}},{key:"usersSuccess",get:function(){return this.users.filter((function(e){return"success"===e.status}))}},{key:"groupsSuccess",get:function(){return this.groups.filter((function(e){return"success"===e.status}))}},{key:"usersError",get:function(){return this.users.filter((function(e){return"error"===e.status}))}},{key:"groupsError",get:function(){return this.groups.filter((function(e){return"error"===e.status}))}},{key:"usersIgnored",get:function(){return this.users.filter((function(e){return"ignore"===e.status}))}},{key:"groupsIgnored",get:function(){return this.groups.filter((function(e){return"ignore"===e.status}))}},{key:"hasSuccessResource",value:function(){return this.usersSuccess.length>0||this.groupsSuccess.length>0}},{key:"hasErrorOrIgnoreResource",value:function(){return this.usersError.length>0||this.groupsError.length>0||this.usersIgnored.length>0||this.groupsIgnored.length>0}},{key:"getFullReport",value:function(){var e="";return(e=e.concat(this.getUsersFullReport())).concat(this.getGroupsFullReport())}},{key:"getUsersFullReport",value:function(){var e="";if(this.usersSuccess.length>0||this.usersError.length>0||this.usersIgnored.length>0){var t="---------------------------------------------------------------------\n\n ".concat(this.translate("Users"),"\n\n ---------------------------------------------------------------------\n");e=e.concat(t);var n=function(t){return e=e.concat("- ".concat(t.message,"\n"))};this.usersSuccess.length>0&&(e=e.concat("\n".concat(this.translate("Success:"),"\n")),this.usersSuccess.map(n)),this.usersError.length>0&&(e=e.concat("\n".concat(this.translate("Errors:"),"\n")),this.usersError.map(n)),this.usersIgnored.length>0&&(e=e.concat("\n".concat(this.translate("Ignored:"),"\n")),this.usersIgnored.map(n))}return e.concat("\n")}},{key:"getGroupsFullReport",value:function(){var e="";if(this.groupsSuccess.length>0||this.groupsError.length>0||this.groupsIgnored.length>0){var t="---------------------------------------------------------------------\n\n ".concat(this.translate("Groups"),"\n\n ---------------------------------------------------------------------\n");e=e.concat(t);var n=function(t){return e=e.concat("- ".concat(t.message,"\n"))};this.groupsSuccess.length>0&&(e=e.concat("\n".concat(this.translate("Success:"),"\n")),this.groupsSuccess.map(n)),this.groupsError.length>0&&(e=e.concat("\n".concat(this.translate("Errors:"),"\n")),this.groupsError.map(n)),this.groupsIgnored.length>0&&(e=e.concat("\n".concat(this.translate("Ignored:"),"\n")),this.groupsIgnored.map(n))}return e}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",null,this.isLoading()&&r.createElement(Be,{onClose:this.handleClose,title:this.translate("Synchronize simulation")}),!this.isLoading()&&r.createElement(Pe,{className:"ldap-simulate-synchronize-dialog",title:this.translate("Synchronize simulation report"),onClose:this.handleClose,disabled:this.isLoading()},r.createElement("div",{className:"form-content",onSubmit:this.handleFormSubmit},r.createElement("p",null,r.createElement("strong",null,r.createElement(T.c,null,"The operation was successfull."))),r.createElement("p",null),this.hasSuccessResource()&&r.createElement("p",{id:"resources-synchronize"}," ",this.translate("{{users}} and {{groups}} will be synchronized.",{users:this.translate("{{count}} user",{count:this.usersSuccess.length}),groups:this.translate("{{count}} group",{count:this.groupsSuccess.length})})," "),!this.hasSuccessResource()&&r.createElement("p",{id:"no-resources"}," ",r.createElement(T.c,null,"No resources will be synchronized.")," "),this.hasErrorOrIgnoreResource()&&r.createElement("p",{className:"error inline-error"},r.createElement(T.c,null,"Some resources will not be synchronized and will require your attention, see the full report.")),r.createElement("div",{className:"accordion operation-details ".concat(this.state.openFullReport?"":"closed")},r.createElement("div",{className:"accordion-header",onClick:this.handleFullReportClicked},this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement("a",{role:"link"},r.createElement(T.c,null,"Full report"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"input text"},r.createElement("textarea",{className:"full_report",readOnly:!0,value:this.getFullReport()})))),r.createElement("p",null)),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement("a",{className:"button primary ".concat(this.isLoading()?"disabled":""),role:"button",onClick:this.handleSynchronize},r.createElement(T.c,null,"Synchronize")),r.createElement(_e,{disabled:this.isLoading(),onClick:this.handleClose}))))}}]),d}(r.Component);ze.propTypes={onClose:y().func,actionFeedbackContext:y().any,administrationWorkspaceContext:y().object,t:y().func};const Ge=k(se((0,q.Z)("common")(ze)));var Fe=function(e){(0,o.Z)(d,e);var t,n,s,u,h=(s=d,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(s);if(u){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),(t=h.call(this,e)).state=t.defaultState,t.bindEventHandlers(),t}return(0,i.Z)(d,[{key:"defaultState",get:function(){return{loading:!0,openFullReport:!1,userDirectorySynchronizeResult:null}}},{key:"bindEventHandlers",value:function(){this.handleFullReportClicked=this.handleFullReportClicked.bind(this),this.handleClose=this.handleClose.bind(this),this.handleSynchronize=this.handleSynchronize.bind(this)}},{key:"componentDidMount",value:(n=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.props.administrationWorkspaceContext.onGetSynchronizeUsersDirectoryRequested();case 3:t=e.sent,n=t.body,this.setState({loading:!1,userDirectorySynchronizeResult:n}),e.next=12;break;case 8:return e.prev=8,e.t0=e.catch(0),e.next=12,this.handleError(e.t0);case 12:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(){return n.apply(this,arguments)})},{key:"handleError",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),e.next=3,this.props.actionFeedbackContext.displayError(t.message);case 3:this.handleClose();case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"handleFullReportClicked",value:function(){this.setState({openFullReport:!this.state.openFullReport})}},{key:"handleClose",value:function(){this.props.onClose()}},{key:"handleSynchronize",value:function(){this.handleClose()}},{key:"isLoading",value:function(){return this.state.loading}},{key:"users",get:function(){return this.state.userDirectorySynchronizeResult.users}},{key:"groups",get:function(){return this.state.userDirectorySynchronizeResult.groups}},{key:"usersSuccess",get:function(){return this.users.filter((function(e){return"success"===e.status}))}},{key:"groupsSuccess",get:function(){return this.groups.filter((function(e){return"success"===e.status}))}},{key:"usersError",get:function(){return this.users.filter((function(e){return"error"===e.status}))}},{key:"groupsError",get:function(){return this.groups.filter((function(e){return"error"===e.status}))}},{key:"usersIgnored",get:function(){return this.users.filter((function(e){return"ignore"===e.status}))}},{key:"groupsIgnored",get:function(){return this.groups.filter((function(e){return"ignore"===e.status}))}},{key:"hasSuccessResource",value:function(){return this.usersSuccess.length>0||this.groupsSuccess.length>0}},{key:"hasErrorOrIgnoreResource",value:function(){return this.usersError.length>0||this.groupsError.length>0||this.usersIgnored.length>0||this.groupsIgnored.length>0}},{key:"getFullReport",value:function(){var e="";return(e=e.concat(this.getUsersFullReport())).concat(this.getGroupsFullReport())}},{key:"getUsersFullReport",value:function(){var e="";if(this.usersSuccess.length>0||this.usersError.length>0||this.usersIgnored.length>0){var t="---------------------------------------------------------------------\n\n ".concat(this.translate("Users"),"\n\n ---------------------------------------------------------------------\n");e=e.concat(t);var n=function(t){return e=e.concat("- ".concat(t.message,"\n"))};this.usersSuccess.length>0&&(e=e.concat("\n".concat(this.translate("Success:"),"\n")),this.usersSuccess.map(n)),this.usersError.length>0&&(e=e.concat("\n".concat(this.translate("Errors:"),"\n")),this.usersError.map(n)),this.usersIgnored.length>0&&(e=e.concat("\n".concat(this.translate("Ignored:"),"\n")),this.usersIgnored.map(n))}return e.concat("\n")}},{key:"getGroupsFullReport",value:function(){var e="";if(this.groupsSuccess.length>0||this.groupsError.length>0||this.groupsIgnored.length>0){var t="---------------------------------------------------------------------\n\n ".concat(this.translate("Groups"),"\n\n ---------------------------------------------------------------------\n");e=e.concat(t);var n=function(t){return e=e.concat("- ".concat(t.message,"\n"))};this.groupsSuccess.length>0&&(e=e.concat("\n".concat(this.translate("Success:"),"\n")),this.groupsSuccess.map(n)),this.groupsError.length>0&&(e=e.concat("\n".concat(this.translate("Errors:"),"\n")),this.groupsError.map(n)),this.groupsIgnored.length>0&&(e=e.concat("\n".concat(this.translate("Ignored:"),"\n")),this.groupsIgnored.map(n))}return e}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",null,this.isLoading()&&r.createElement(Be,{onClose:this.handleClose,title:this.translate("Synchronize")}),!this.isLoading()&&r.createElement(Pe,{className:"ldap-simulate-synchronize-dialog",title:this.translate("Synchronize report"),onClose:this.handleClose,disabled:this.isLoading()},r.createElement("div",{className:"form-content",onSubmit:this.handleFormSubmit},r.createElement("p",null,r.createElement("strong",null,r.createElement(T.c,null,"The operation was successfull."))),r.createElement("p",null),this.hasSuccessResource()&&r.createElement("p",{id:"resources-synchronize"}," ",this.translate("{{users}} and {{groups}} have been synchronized.",{users:this.translate("{{count}} user",{count:this.usersSuccess.length}),groups:this.translate("{{count}} group",{count:this.groupsSuccess.length})})," "),!this.hasSuccessResource()&&r.createElement("p",{id:"no-resources"}," ",r.createElement(T.c,null,"No resources have been synchronized.")," "),this.hasErrorOrIgnoreResource()&&r.createElement("p",{className:"error inline-error"},r.createElement(T.c,null,"Some resources will not be synchronized and will require your attention, see the full report.")),r.createElement("div",{className:"accordion operation-details ".concat(this.state.openFullReport?"":"closed")},r.createElement("div",{className:"accordion-header",onClick:this.handleFullReportClicked},this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement("a",{role:"link"},r.createElement(T.c,null,"Full report"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"input text"},r.createElement("textarea",{className:"full_report",readOnly:!0,value:this.getFullReport()})))),r.createElement("p",null)),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement("a",{className:"button primary ".concat(this.isLoading()?"disabled":""),role:"button",onClick:this.handleClose},r.createElement(T.c,null,"Ok")))))}}]),d}(r.Component);Fe.propTypes={onClose:y().func,actionFeedbackContext:y().any,administrationWorkspaceContext:y().object,t:y().func};const Le=k(se((0,q.Z)("common")(Fe)));var Ke=function(e){(0,o.Z)(h,e);var t,n,s,u=(n=h,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function h(e){var t;return(0,a.Z)(this,h),(t=u.call(this,e)).bindCallbacks(),t}return(0,i.Z)(h,[{key:"bindCallbacks",value:function(){this.handleSaveClick=this.handleSaveClick.bind(this),this.handleTestClick=this.handleTestClick.bind(this),this.handleSimulateSynchronizeClick=this.handleSimulateSynchronizeClick.bind(this),this.handleSynchronizeClick=this.handleSynchronizeClick.bind(this),this.handleEditSubscriptionClick=this.handleEditSubscriptionClick.bind(this)}},{key:"componentDidUpdate",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleMustSynchronize(t.administrationWorkspaceContext.must.synchronize);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"handleMustSynchronize",value:function(e){this.props.administrationWorkspaceContext.must.synchronize!==e&&this.props.administrationWorkspaceContext.must.synchronize&&(this.handleSynchronizeClick(),this.props.administrationWorkspaceContext.onResetActionsSettings())}},{key:"handleSaveClick",value:function(){this.props.administrationWorkspaceContext.onMustSaveSettings()}},{key:"handleTestClick",value:function(){this.props.administrationWorkspaceContext.onMustTestSettings()}},{key:"handleSimulateSynchronizeClick",value:function(){this.props.dialogContext.open(Ge)}},{key:"handleSynchronizeClick",value:function(){this.props.dialogContext.open(Le)}},{key:"handleEditSubscriptionClick",value:function(){this.props.administrationWorkspaceContext.onMustEditSubscriptionKey()}},{key:"isSaveEnabled",value:function(){return this.props.administrationWorkspaceContext.can.save}},{key:"isTestEnabled",value:function(){return this.props.administrationWorkspaceContext.can.test}},{key:"isSynchronizeEnabled",value:function(){return this.props.administrationWorkspaceContext.can.synchronize}},{key:"isUserDirectorySelected",value:function(){return ae.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isSubscriptionSelected",value:function(){return ae.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"col2_3 actions-wrapper"},r.createElement("div",{className:"actions"},!this.isSubscriptionSelected()&&r.createElement("div",null,r.createElement("li",null,r.createElement("a",{className:"button ".concat(this.isSaveEnabled()?"":"disabled"),onClick:this.handleSaveClick},r.createElement(ke,{name:"save"}),r.createElement("span",null,r.createElement(T.c,null,"Save settings")))),this.isUserDirectorySelected()&&r.createElement("div",null,r.createElement("li",null,r.createElement("a",{className:"button ".concat(this.isTestEnabled()?"":"disabled"),onClick:this.handleTestClick},r.createElement(ke,{name:"plug"}),r.createElement("span",null,r.createElement(T.c,null,"Test settings")))),r.createElement("li",null,r.createElement("a",{className:"button ".concat(this.isSynchronizeEnabled()?"":"disabled"),onClick:this.handleSimulateSynchronizeClick},r.createElement(ke,{name:"magic-wand"}),r.createElement("span",null,r.createElement(T.c,null,"Simulate synchronize")))),r.createElement("li",null,r.createElement("a",{className:"button ".concat(this.isSynchronizeEnabled()?"":"disabled"),onClick:this.handleSynchronizeClick},r.createElement(ke,{name:"refresh"}),r.createElement("span",null,r.createElement(T.c,null,"Synchronize")))))),this.isSubscriptionSelected()&&r.createElement("div",null,r.createElement("li",null,r.createElement("a",{className:"button",onClick:this.handleEditSubscriptionClick},r.createElement(ke,{name:"edit"}),r.createElement("span",null,r.createElement(T.c,null,"Update key")))))))}}]),h}(r.Component);Ke.propTypes={administrationWorkspaceContext:y().object,dialogContext:y().any,t:y().func};const We=S(se((0,q.Z)("common")(Ke)));var je=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){var e=0;return r.createElement("div",{className:"breadcrumbs"},r.createElement("ul",{className:"menu"},this.props.items&&this.props.items.map((function(t){return e++,r.createElement("li",{className:"ellipsis",key:e},t)}))))}}]),u}(r.Component);je.propTypes={items:y().array};const He=je;var Ve=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement("a",{onClick:this.props.onClick},this.props.name)}}]),u}(r.Component);Ve.propTypes={name:y().string,onClick:y().func};const Ye=Ve;var $e=function(e){(0,o.Z)(h,e);var t,n,s,u=(n=h,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function h(){return(0,a.Z)(this,h),u.apply(this,arguments)}return(0,i.Z)(h,[{key:"items",get:function(){switch(this.props.administrationWorkspaceContext.selectedAdministration){case ae.NONE:return[];default:return[r.createElement(Ye,{key:"bread-1",name:this.translate("Administration"),onClick:this.props.navigationContext.onGoToAdministrationRequested}),r.createElement(Ye,{key:"bread-2",name:this.getLastBreadcrumbItemName(),onClick:this.onLastBreadcrumbClick.bind(this)}),r.createElement(Ye,{key:"bread-3",name:this.translate("Settings"),onClick:this.onLastBreadcrumbClick.bind(this)})]}}},{key:"getLastBreadcrumbItemName",value:function(){switch(this.props.administrationWorkspaceContext.selectedAdministration){case ae.MFA:return this.translate("Multi factor authentication");case ae.USER_DIRECTORY:return this.translate("Users Directory");case ae.EMAIL_NOTIFICATION:return this.translate("Email Notification");case ae.SUBSCRIPTION:return this.translate("Subscription");case ae.INTERNATIONALIZATION:return this.translate("Internationalization");default:return""}}},{key:"onLastBreadcrumbClick",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.props.location.pathname,this.props.history.push({pathname:t});case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement(He,{items:this.items})}}]),h}(r.Component);$e.propTypes={administrationWorkspaceContext:y().object,location:y().object,history:y().object,navigationContext:y().any,t:y().func};const Je=(0,O.EN)(me(se((0,q.Z)("common")($e))));var Qe=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"hasChildren",value:function(){return this.props.node.group.groups.length>0}},{key:"displayUserName",value:function(e){return"".concat(e.profile.first_name," ").concat(e.profile.last_name)}},{key:"node",get:function(){return this.props.node}},{key:"render",value:function(){var e=this;return r.createElement("ul",{key:this.node.id},"group"===this.node.type&&r.createElement("li",{className:"group"},this.node.group.name,r.createElement("ul",null,Object.values(this.node.group.users).map((function(t){return r.createElement("li",{className:"user",key:t.id},t.errors&&r.createElement("span",{className:"error"},t.directory_name),!t.errors&&r.createElement("span",null,e.displayUserName(t.user)," ",r.createElement("em",null,"(",t.user.username,")")))})),Object.values(this.node.group.groups).map((function(e){return r.createElement(u,{key:"tree-".concat(e.id),node:e})})))),"user"===this.node.type&&r.createElement("li",{className:"user"},this.node.errors&&r.createElement("span",{className:"error"},this.node.directory_name),!this.node.errors&&r.createElement("span",null,this.displayUserName(this.node.user)," ",r.createElement("em",null,"(",this.node.user.username,")"))))}}]),u}(r.Component);Qe.propTypes={node:y().object};const Xe=Qe;var et=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state=t.defaultState,t.bindEventHandlers(),t}return(0,i.Z)(u,[{key:"defaultState",get:function(){return{loading:!0,openListGroupsUsers:!1,openStructureGroupsUsers:!1,openErrors:!1}}},{key:"bindEventHandlers",value:function(){this.handleListGroupsUsersClicked=this.handleListGroupsUsersClicked.bind(this),this.handleStructureGroupsUsersClicked=this.handleStructureGroupsUsersClicked.bind(this),this.handleErrorsClicked=this.handleErrorsClicked.bind(this),this.handleClose=this.handleClose.bind(this)}},{key:"componentDidMount",value:function(){this.setState({loading:!1})}},{key:"handleListGroupsUsersClicked",value:function(){this.setState({openListGroupsUsers:!this.state.openListGroupsUsers})}},{key:"handleStructureGroupsUsersClicked",value:function(){this.setState({openStructureGroupsUsers:!this.state.openStructureGroupsUsers})}},{key:"handleErrorsClicked",value:function(){this.setState({openErrors:!this.state.openErrors})}},{key:"handleClose",value:function(){this.props.onClose(),this.props.context.setContext({displayTestUserDirectoryDialogProps:null})}},{key:"hasAllInputDisabled",value:function(){return this.state.loading}},{key:"displayUserName",value:function(e){return"".concat(e.profile.first_name," ").concat(e.profile.last_name)}},{key:"users",get:function(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.users}},{key:"groups",get:function(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.groups}},{key:"tree",get:function(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.tree}},{key:"errors",get:function(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.errors}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){var e=this;return r.createElement(Pe,{className:"ldap-test-settings-dialog",title:"Test settings report",onClose:this.handleClose,disabled:this.hasAllInputDisabled()},r.createElement("div",{className:"form-content"},r.createElement("p",null,r.createElement("strong",null,r.createElement(T.c,null,"A connection could be established. Well done!"))),r.createElement("p",null),r.createElement("div",{className:"ldap-test-settings-report"},r.createElement("p",null,this.translate("{{users}} and {{groups}} have been found.",{users:this.translate("{{count}} user",{count:this.users.length}),groups:this.translate("{{count}} group",{count:this.groups.length})})),r.createElement("div",{className:"accordion directory-list ".concat(this.state.openListGroupsUsers?"":"closed")},r.createElement("div",{className:"accordion-header",onClick:this.handleListGroupsUsersClicked},this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement("a",{role:"link"},r.createElement(T.c,null,"See list"))),r.createElement("div",{className:"accordion-content"},r.createElement("table",null,r.createElement("tbody",null,r.createElement("tr",null,r.createElement("td",null,r.createElement(T.c,null,"Groups")),r.createElement("td",null,r.createElement(T.c,null,"Users"))),r.createElement("tr",null,r.createElement("td",null,this.groups.map((function(e){return e.errors&&r.createElement("div",{key:e.id},r.createElement("span",{className:"error"},e.directory_name))||r.createElement("div",{key:e.id},e.group.name)}))),r.createElement("td",null,this.users.map((function(t){return t.errors&&r.createElement("div",{key:t.id},r.createElement("span",{className:"error"},t.directory_name))||r.createElement("div",{key:t.id},e.displayUserName(t.user)," ",r.createElement("em",null,"(",t.user.username,")"))})))))))),r.createElement("div",{className:"accordion accordion-directory-structure ".concat(this.state.openStructureGroupsUsers?"":"closed")},r.createElement("div",{className:"accordion-header",onClick:this.handleStructureGroupsUsersClicked},this.state.openStructureGroupsUsers&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openStructureGroupsUsers&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement("a",{role:"link"},r.createElement(T.c,null,"See structure"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"directory-structure"},r.createElement("ul",null,r.createElement("li",{className:"group"},"Root",Object.values(this.tree).map((function(e){return r.createElement(Xe,{key:"tree-".concat(e.id),node:e})}))))))),this.errors.length>0&&r.createElement("div",null,r.createElement("p",{className:"directory-errors error"},this.translate("{{count}} entry had errors and will be ignored during synchronization.",{count:this.errors.length})),r.createElement("div",{className:"accordion accordion-directory-errors ".concat(this.state.openErrors?"":"closed")},r.createElement("div",{className:"accordion-header",onClick:this.handleErrorsClicked},this.state.openErrors&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openErrors&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement("a",{role:"link"},r.createElement(T.c,null,"See error details"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"directory-errors"},r.createElement("textarea",{value:JSON.stringify(this.errors,null," "),readOnly:!0}))))))),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement("a",{className:"button primary ".concat(this.hasAllInputDisabled()?"disabled":""),role:"button",onClick:this.handleClose},r.createElement(T.c,null,"OK"))))}}]),u}(r.Component);et.propTypes={context:y().any,onClose:y().func,t:y().func};const tt=B((0,q.Z)("common")(et));var nt=function(e){(0,o.Z)(N,e);var t,n,s,u,h,d,f,y,v,g,b,E,k,w,x,C,S,R=(C=N,S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(C);if(S){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function N(e){var t;return(0,a.Z)(this,N),(t=R.call(this,e)).state=t.defaultState,t.createRefs(),t.bindCallbacks(),t}return(0,i.Z)(N,[{key:"defaultState",get:function(){return{loading:!0,processing:!1,openCredentials:!0,openDirectoryConfiguration:!1,openSynchronizationOptions:!1,openConnectionType:!1,openDefaultAdmin:!1,openDefaultGroupAdmin:!1,userDirectoryToggle:!1,directoryType:"ad",connectionType:"plain",host:"",hostError:null,port:"389",portError:null,username:"",password:"",domain:"",domainError:null,baseDn:"",groupPath:"",userPath:"",groupObjectClass:"",userObjectClass:"",useEmailPrefix:!1,emailPrefix:"",emailSuffix:"",defaultAdmin:"",defaultGroupAdmin:"",groupsParentGroup:"",usersParentGroup:"",enabledUsersOnly:!1,createUsers:!0,deleteUsers:!0,createGroups:!0,deleteGroups:!0,updateGroups:!0,defaultAdminSearch:"",defaultGroupAdminSearch:"",users:null,hasAlreadyBeenValidated:!1}}},{key:"componentDidMount",value:(x=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:document.addEventListener("click",this.handleUserDirectoryClickEvent),this.findAllUserDirectorySettings();case 2:case"end":return e.stop()}}),e,this)}))),function(){return x.apply(this,arguments)})},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.handleUserDirectoryClickEvent)}},{key:"componentDidUpdate",value:(w=(0,p.Z)(m().mark((function e(t,n){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleEnabledTestButton(n.userDirectoryToggle);case 2:return e.next=4,this.handleMustSubmit(t.administrationWorkspaceContext);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return w.apply(this,arguments)})},{key:"bindCallbacks",value:function(){this.handleUserDirectoryClickEvent=this.handleUserDirectoryClickEvent.bind(this),this.handleCredentialTitleClicked=this.handleCredentialTitleClicked.bind(this),this.handleDirectoryConfigurationTitleClicked=this.handleDirectoryConfigurationTitleClicked.bind(this),this.handleSynchronizationOptionsTitleClicked=this.handleSynchronizationOptionsTitleClicked.bind(this),this.handleConnectionTypeClicked=this.handleConnectionTypeClicked.bind(this),this.handleDefaultAdminClicked=this.handleDefaultAdminClicked.bind(this),this.handleDefaultGroupAdminClicked=this.handleDefaultGroupAdminClicked.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleHostInputKeyUp=this.handleHostInputKeyUp.bind(this),this.handlePortInputKeyUp=this.handlePortInputKeyUp.bind(this),this.handleDomainInputKeyUp=this.handleDomainInputKeyUp.bind(this),this.stopPropagation=this.stopPropagation.bind(this),this.handleConnectionTypeChange=this.handleConnectionTypeChange.bind(this),this.handleUserToBeDefaultAdminClick=this.handleUserToBeDefaultAdminClick.bind(this),this.handleUserToBeDefaultGroupAdminClick=this.handleUserToBeDefaultGroupAdminClick.bind(this)}},{key:"createRefs",value:function(){this.connectionTypeRef=r.createRef(),this.defaultAdminRef=r.createRef(),this.defaultGroupAdminRef=r.createRef()}},{key:"handleEnabledTestButton",value:function(e){this.state.userDirectoryToggle!==e&&this.props.administrationWorkspaceContext.onTestEnabled(this.state.userDirectoryToggle)}},{key:"handleUserDirectoryClickEvent",value:function(e){null===this.defaultAdminRef.current||this.defaultAdminRef.current.contains(e.target)||this.setState({openDefaultAdmin:!1}),null===this.defaultGroupAdminRef.current||this.defaultGroupAdminRef.current.contains(e.target)||this.setState({openDefaultGroupAdmin:!1}),null===this.connectionTypeRef.current||this.connectionTypeRef.current.contains(e.target)||this.setState({openConnectionType:!1})}},{key:"stopPropagation",value:function(e){e.stopPropagation()}},{key:"handleMustSubmit",value:(k=(0,p.Z)(m().mark((function e(t){var n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.props.administrationWorkspaceContext.must.save!==t.must.save,r=this.props.administrationWorkspaceContext.must.test!==t.must.test,!(n&&this.props.administrationWorkspaceContext.must.save||r&&this.props.administrationWorkspaceContext.must.test)){e.next=6;break}return e.next=5,this.handleFormSubmit();case 5:this.props.administrationWorkspaceContext.onResetActionsSettings();case 6:case"end":return e.stop()}}),e,this)}))),function(e){return k.apply(this,arguments)})},{key:"findAllUserDirectorySettings",value:(E=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c,l,u,h,p,d,f,y,v,g,b,E,k,w,x,C,S,R,N,Z,T,q,U,A,D=this;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.administrationWorkspaceContext.onGetUsersDirectoryRequested();case 2:return t=e.sent,n=t.body,e.next=6,this.props.administrationWorkspaceContext.onGetUsersRequested();case 6:r=e.sent,s=this.sortUsers(r.body),a="",i="",0!==n.length?(o=!0,c=n.directory_type,l=n.connection_type,u=n.domain_name,h=n.username,p=n.password,d=n.base_dn,f=n.server,y=n.port.toString(),a=n.default_user,i=n.default_group_admin_user,v=n.sync_users_create,g=n.sync_users_delete,b=n.sync_groups_create,E=n.sync_groups_delete,k=n.sync_groups_update,w=!0===n.enabled_users_only,x=n.group_path,C=n.user_path,S=n.group_object_class,R=n.user_object_class,N=n.use_email_prefix_suffix,Z=n.email_prefix,T=n.email_suffix,q=n.groups_parent_group,U=n.users_parent_group,this.setState({loading:!1,users:s,userDirectoryToggle:o,directoryType:c,connectionType:l,domain:u,username:h,password:p,baseDn:d,host:f,port:y,defaultAdmin:a,defaultGroupAdmin:i,enabledUsersOnly:w,groupPath:x,userPath:C,groupObjectClass:S,userObjectClass:R,useEmailPrefix:N,emailPrefix:Z,emailSuffix:T,groupsParentGroup:q,usersParentGroup:U,createUsers:v,deleteUsers:g,createGroups:b,deleteGroups:E,updateGroups:k}),this.props.administrationWorkspaceContext.onTestEnabled(o),this.props.administrationWorkspaceContext.onSynchronizeEnabled(o)):(A=s.find((function(e){return D.props.context.loggedInUser.id===e.id})),a=A.id,i=A.id,this.setState({loading:!1,users:s,defaultAdmin:a,defaultGroupAdmin:i}));case 11:case"end":return e.stop()}}),e,this)}))),function(){return E.apply(this,arguments)})},{key:"sortUsers",value:function(e){var t=function(e){return"".concat(e.profile.first_name," ").concat(e.profile.last_name)};return e.sort((function(e,n){return t(e).localeCompare(t(n))}))}},{key:"handleCredentialTitleClicked",value:function(){this.setState({openCredentials:!this.state.openCredentials})}},{key:"handleDirectoryConfigurationTitleClicked",value:function(){this.setState({openDirectoryConfiguration:!this.state.openDirectoryConfiguration})}},{key:"handleSynchronizationOptionsTitleClicked",value:function(){this.setState({openSynchronizationOptions:!this.state.openSynchronizationOptions})}},{key:"handleConnectionTypeClicked",value:function(){this.hasAllInputDisabled()||this.setState({openConnectionType:!this.state.openConnectionType})}},{key:"handleDefaultAdminClicked",value:function(){this.hasAllInputDisabled()||this.setState({openDefaultAdmin:!this.state.openDefaultAdmin,defaultAdminSearch:""})}},{key:"handleDefaultGroupAdminClicked",value:function(){this.hasAllInputDisabled()||this.setState({openDefaultGroupAdmin:!this.state.openDefaultGroupAdmin,defaultGroupAdminSearch:""})}},{key:"handleHostInputKeyUp",value:function(){if(this.state.hasAlreadyBeenValidated){var e=this.validateHostInput();this.setState(e)}}},{key:"handlePortInputKeyUp",value:function(){if(this.state.hasAlreadyBeenValidated){var e=this.validatePortInput();this.setState(e)}}},{key:"handleDomainInputKeyUp",value:function(){if(this.state.hasAlreadyBeenValidated){var e=this.validateDomainInput();this.setState(e)}}},{key:"handleInputChange",value:function(e){var t=e.target,n="checkbox"===t.type?t.checked:t.value,r=t.name;this.setState((0,_.Z)({},r,n)),this.handleEnabledSaveButton()}},{key:"handleUserToBeDefaultAdminClick",value:function(e){var t=e.target.dataset.id;this.setState({defaultAdmin:t}),this.handleEnabledSaveButton()}},{key:"handleUserToBeDefaultGroupAdminClick",value:function(e){var t=e.target.dataset.id;this.setState({defaultGroupAdmin:t}),this.handleEnabledSaveButton()}},{key:"handleConnectionTypeChange",value:function(e){var t=e.target.dataset.id;this.setState({connectionType:t}),this.handleEnabledSaveButton()}},{key:"handleEnabledSaveButton",value:function(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}},{key:"hasAllInputDisabled",value:function(){return this.state.processing||this.state.loading}},{key:"isUserDirectoryChecked",value:function(){return this.state.userDirectoryToggle}},{key:"isActiveDirectoryChecked",value:function(){return"ad"===this.state.directoryType}},{key:"isOpenLdapChecked",value:function(){return"openldap"===this.state.directoryType}},{key:"isUseEmailPrefixChecked",value:function(){return this.state.useEmailPrefix}},{key:"validate",value:(b=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([this.validateHostInput(),this.validatePortInput(),this.validateDomainInput()]);case 2:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"validateHostInput",value:(g=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=null,this.state.host.trim().length||(t=this.translate("A host is required.")),e.abrupt("return",this.setState({hostError:t}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"validatePortInput",value:(v=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=null,(n=this.state.port.trim()).length?Ne()("^[0-9]+").test(n)||(t=this.translate("Only numeric characters allowed.")):t=this.translate("A port is required."),e.abrupt("return",this.setState({portError:t}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"validateDomainInput",value:(y=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=null,this.state.domain.trim().length||(t=this.translate("A domain name is required.")),e.abrupt("return",this.setState({domainError:t}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"hasValidationError",value:function(){return null!==this.state.hostError||null!==this.state.portError||null!==this.state.domainError}},{key:"handleFormSubmit",value:(f=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({hasAlreadyBeenValidated:!0});case 2:if(this.state.processing){e.next=29;break}return e.next=5,this.toggleProcessing();case 5:return e.next=7,this.validate();case 7:if(!this.hasValidationError()){e.next=11;break}return e.next=10,this.toggleProcessing();case 10:return e.abrupt("return");case 11:if(e.prev=11,!this.props.administrationWorkspaceContext.must.save){e.next=19;break}return e.next=15,this.saveUserDirectory();case 15:return e.next=17,this.handleSaveSuccess();case 17:e.next=22;break;case 19:if(!this.props.administrationWorkspaceContext.must.test){e.next=22;break}return e.next=22,this.testUserDirectory();case 22:this.setState({processing:!1}),e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(11),e.next=29,this.handleSaveError(e.t0);case 29:case"end":return e.stop()}}),e,this,[[11,25]])}))),function(){return f.apply(this,arguments)})},{key:"createUserDirectoryDTO",value:function(){var e=this.state.directoryType,t=this.state.domain,n=this.state.connectionType,r=this.state.host,s=parseInt(this.state.port),a=this.state.username,i=this.state.password,o=this.state.baseDn,c=this.state.groupPath,l=this.state.userPath,u=this.state.defaultAdmin,h=this.state.defaultGroupAdmin,p=this.state.groupsParentGroup,d=this.state.usersParentGroup,m=this.state.enabledUsersOnly,f=this.state.createUsers,y=this.state.deleteUsers,v=this.state.createGroups,g=this.state.deleteGroups,b=this.state.updateGroups,E=this.state.userDirectoryToggle,k="",w="",x=!1,C="",S="";return"openldap"==e&&(k=this.state.groupObjectClass,w=this.state.userObjectClass,(x=this.state.useEmailPrefix)&&(C=this.state.emailPrefix,S=this.state.emailSuffix)),{directory_type:e,domain_name:t,connection_type:n,server:r,port:s,username:a,password:i,base_dn:o,group_path:c,user_path:l,group_object_class:k,user_object_class:w,default_user:u,default_group_admin_user:h,groups_parent_group:p,users_parent_group:d,enabled_users_only:m,sync_users_create:f,sync_users_delete:y,sync_groups_create:v,sync_groups_delete:g,sync_groups_update:b,enabled:E,use_email_prefix_suffix:x,email_prefix:C,email_suffix:S}}},{key:"saveUserDirectory",value:(d=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.state.userDirectoryToggle){e.next=6;break}return e.next=3,this.props.administrationWorkspaceContext.onUpdateUsersDirectoryRequested(this.createUserDirectoryDTO());case 3:this.props.administrationWorkspaceContext.onSynchronizeEnabled(!0),e.next=11;break;case 6:return this.setState(this.defaultState),e.next=9,this.props.administrationWorkspaceContext.onDeleteUsersDirectoryRequested();case 9:this.props.administrationWorkspaceContext.onSynchronizeEnabled(!1),this.setState({loading:!1});case 11:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"testUserDirectory",value:(h=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.administrationWorkspaceContext.onTestUsersDirectoryRequested(this.createUserDirectoryDTO());case 2:t=e.sent,n={userDirectoryTestResult:t.body},this.props.context.setContext({displayTestUserDirectoryDialogProps:n}),this.props.dialogContext.open(tt);case 6:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"handleSaveSuccess",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The user directory settings for the organization were updated."));case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"handleSaveError",value:(s=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("UserAbortsOperationError"!==t.name){e.next=4;break}this.setState({processing:!1}),e.next=8;break;case 4:return console.error(t),e.next=7,this.handleError(t);case 7:this.setState({processing:!1});case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"handleError",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displayError(t.message);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"toggleProcessing",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.state.processing,e.abrupt("return",this.setState({processing:!t}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"getUsersAllowedToBeDefaultAdmin",value:function(){if(null!==this.state.users){var e=this.state.users.filter((function(e){return!0===e.active&&"admin"===e.role.name}));return""!==this.state.defaultAdminSearch?this.getUsersMatch(e,this.state.defaultAdminSearch.toLowerCase()):e}return[]}},{key:"getUsersAllowedToBeDefaultGroupAdmin",value:function(){if(null!==this.state.users){var e=this.state.users.filter((function(e){return!0===e.active}));return""!==this.state.defaultGroupAdminSearch?this.getUsersMatch(e,this.state.defaultGroupAdminSearch.toLowerCase()):e}return[]}},{key:"getUsersMatch",value:function(e,t){var n=t&&t.split(/\s+/)||[""],r=function(e,t){return function(e){return new RegExp(function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(e),"i")}(e).test(t)};return e.filter((function(e){return n.every((function(t){return function(e,t){return function(e,t){return r(e,t.username)}(e,t)||function(e,t){return r(e,t.profile.first_name)||r(e,t.profile.last_name)}(e,t)}(t,e)}))}))}},{key:"displayUser",value:function(e){return"".concat(e.profile.first_name," ").concat(e.profile.last_name," (").concat(e.username,")")}},{key:"displayDefaultAdmin",value:function(){var e=this;if(null!==this.state.users&&""!==this.state.defaultAdmin){var t=this.state.users.find((function(t){return t.id===e.state.defaultAdmin}));return this.displayUser(t)}return""}},{key:"connectionType",get:function(){return{plain:"ldap://",ssl:"ldaps:// (ssl)",tls:"ldaps:// (tls)"}}},{key:"displayDefaultGroupAdmin",value:function(){var e=this;if(null!==this.state.users&&""!==this.state.defaultGroupAdmin){var t=this.state.users.find((function(t){return t.id===e.state.defaultGroupAdmin}));return this.displayUser(t)}return""}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){var e=this,t=this.getUsersAllowedToBeDefaultAdmin(),n=this.getUsersAllowedToBeDefaultGroupAdmin();return r.createElement("div",{className:"row"},r.createElement("div",{className:"ldap-settings col8"},r.createElement("form",{className:"form"},r.createElement("h3",null,r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userDirectoryToggle",onChange:this.handleInputChange,checked:this.state.userDirectoryToggle,disabled:this.hasAllInputDisabled(),id:"userDirectoryToggle"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"userDirectoryToggle"})),r.createElement("label",null,r.createElement(T.c,null,"Users Directory"))),!this.isUserDirectoryChecked()&&r.createElement("p",{className:"description"},r.createElement(T.c,null,"No Users Directory is configured. Enable it to synchronise your users and groups with passbolt.")),this.isUserDirectoryChecked()&&r.createElement("div",null,r.createElement("p",{className:"description"},r.createElement(T.c,null,"A Users Directory is configured. The users and groups of passbolt will synchronize with it.")),r.createElement("div",{className:"form-content"},r.createElement("div",{className:"accordion section-general ".concat(this.state.openCredentials?"":"closed")},r.createElement("h3",{className:"accordion-header"},r.createElement("a",{onClick:this.handleCredentialTitleClicked},this.state.openCredentials&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openCredentials&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement(T.c,null,"Credentials"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"radiolist required"},r.createElement("label",null,r.createElement(T.c,null,"Directory type")),r.createElement("div",{className:"input radio ad openldap form-element "},r.createElement("div",{className:"input radio"},r.createElement("input",{type:"radio",value:"ad",onChange:this.handleInputChange,name:"directoryType",checked:"ad"===this.state.directoryType,id:"directoryTypeAd",disabled:this.hasAllInputDisabled()}),r.createElement("label",{htmlFor:"directoryTypeAd"},r.createElement(T.c,null,"Active Directory"))),r.createElement("div",{className:"input radio"},r.createElement("input",{type:"radio",value:"openldap",onChange:this.handleInputChange,name:"directoryType",checked:"openldap"===this.state.directoryType,id:"directoryTypeOpenLdap",disabled:this.hasAllInputDisabled()}),r.createElement("label",{htmlFor:"directoryTypeOpenLdap"},r.createElement(T.c,null,"Open Ldap"))))),r.createElement("div",{className:"singleline connection_info protocol_host_port clearfix required ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Server url")),r.createElement("div",{className:"input text field_protocol_host ad openldap"},r.createElement("div",{onClick:this.handleConnectionTypeClicked,ref:this.connectionTypeRef,className:"chosen-container chosen-container-single connection-type ".concat(this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"," ").concat(this.state.openConnectionType?"chosen-with-drop":"")},r.createElement("a",{className:"chosen-single"},r.createElement("span",{id:"connection-type-input"},this.connectionType[this.state.connectionType]),r.createElement("div",null,!this.state.openDefaultGroupAdmin&&r.createElement(ke,{name:"caret-down",baseline:!0}),this.state.openDefaultGroupAdmin&&r.createElement(ke,{name:"caret-up",baseline:!0}))),r.createElement("div",{className:"chosen-drop"},r.createElement("ul",{className:"chosen-results"},r.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"plain"},"ldap://"),r.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"ssl"},"ldaps:// (ssl)"),r.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"tls"},"ldaps:// (tls)")))),r.createElement("div",{className:"input text host ad openldap"},r.createElement("input",{id:"server-input",type:"text",className:"required fluid form-element",name:"host",value:this.state.host,onChange:this.handleInputChange,onKeyUp:this.handleHostInputKeyUp,placeholder:this.translate("host"),disabled:this.hasAllInputDisabled()}),this.state.hostError&&r.createElement("div",{id:"server-input-feedback",className:"message error"},this.state.hostError))),r.createElement("div",{className:"input text port ad openldap"},r.createElement("input",{id:"port-input",type:"number",className:"required fluid form-element",name:"port",value:this.state.port,onChange:this.handleInputChange,onKeyUp:this.handlePortInputKeyUp,placeholder:this.translate("port"),disabled:this.hasAllInputDisabled()}),this.state.portError&&r.createElement("div",{id:"port-input-feedback",className:"message error"},this.state.portError))),r.createElement("div",{className:"singleline clearfix"},r.createElement("div",{className:"input text first-field ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Username")),r.createElement("input",{id:"username-input",type:"text",className:"fluid form-element",name:"username",value:this.state.username,onChange:this.handleInputChange,placeholder:this.translate("username"),disabled:this.hasAllInputDisabled()})),r.createElement("div",{className:"input text last-field ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Password")),r.createElement("input",{id:"password-input",className:"fluid form-element",name:"password",value:this.state.password,onChange:this.handleInputChange,placeholder:this.translate("password"),type:"password",disabled:this.hasAllInputDisabled()}))),r.createElement("div",{className:"input text required ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Domain")),r.createElement("input",{id:"domain-name-input",type:"text",name:"domain",value:this.state.domain,onChange:this.handleInputChange,className:"required fluid form-element",onKeyUp:this.handleDomainInputKeyUp,placeholder:"domain.ext",disabled:this.hasAllInputDisabled()}),this.state.domainError&&r.createElement("div",{id:"domain-name-input-feedback",className:"message error"},this.state.domainError)),r.createElement("div",{className:"input text ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Base DN")),r.createElement("input",{id:"base-dn-input",type:"text",name:"baseDn",value:this.state.baseDn,onChange:this.handleInputChange,className:"fluid form-element",placeholder:"OU=OrgUsers,DC=mydomain,DC=local",disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"The base DN (default naming context) for the domain.")," ",r.createElement(T.c,null,"If this is empty then it will be queried from the RootDSE."))))),r.createElement("div",{className:"accordion section-directory-configuration ".concat(this.state.openDirectoryConfiguration?"":"closed")},r.createElement("h3",{className:"accordion-header"},r.createElement("a",{onClick:this.handleDirectoryConfigurationTitleClicked},this.state.openDirectoryConfiguration&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openDirectoryConfiguration&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement(T.c,null,"Directory configuration"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"input text ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Group path")),r.createElement("input",{id:"group-path-input",type:"text",name:"groupPath",value:this.state.groupPath,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("Group Path"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"Group path is used in addition to the base DN while searching groups.")," ",r.createElement(T.c,null,"Leave empty if users and groups are in the same DN."))),r.createElement("div",{className:"input text ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"User path")),r.createElement("input",{id:"user-path-input",type:"text",name:"userPath",value:this.state.userPath,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("User Path"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"User path is used in addition to base DN while searching users."))),this.isOpenLdapChecked()&&r.createElement("div",null,r.createElement("div",{className:"input text openldap"},r.createElement("label",null,r.createElement(T.c,null,"Group object class")),r.createElement("input",{id:"group-object-class-input",type:"text",name:"groupObjectClass",value:this.state.groupObjectClass,onChange:this.handleInputChange,className:"required fluid",placeholder:"GroupObjectClass",disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"For Openldap only. Defines which group object to use.")," (",r.createElement(T.c,null,"Default"),": posixGroup)")),r.createElement("div",{className:"input text openldap"},r.createElement("label",null,r.createElement(T.c,null,"User object class")),r.createElement("input",{id:"user-object-class-input",type:"text",name:"userObjectClass",value:this.state.userObjectClass,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:"UserObjectClass",disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"For Openldap only. Defines which user object to use.")," (",r.createElement(T.c,null,"Default"),": inetOrgPerson)")),r.createElement("div",{className:"input text openldap"},r.createElement("label",null,r.createElement(T.c,null,"Use email prefix / suffix?")),r.createElement("div",{className:"input toggle-switch openldap form-element"},r.createElement("label",{htmlFor:"use-email-prefix-suffix-toggle-button"},r.createElement(T.c,null,"Build email based on a prefix and suffix?")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"useEmailPrefix",value:this.state.useEmailPrefix,onChange:this.handleInputChange,id:"use-email-prefix-suffix-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"use-email-prefix-suffix-toggle-button"})),r.createElement("div",{className:"message"},r.createElement(T.c,null,"Use this option when user entries do not include an email address by default"))),this.isUseEmailPrefixChecked()&&r.createElement("div",{className:"singleline clearfix",id:"use-email-prefix-suffix-options"},r.createElement("div",{className:"input text first-field openldap"},r.createElement("label",null,r.createElement(T.c,null,"Email prefix")),r.createElement("input",{id:"email-prefix-input",type:"text",name:"emailPrefix",checked:this.state.emailPrefix,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("username"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"The attribute you would like to use for the first part of the email (usually username)."))),r.createElement("div",{className:"input text last-field openldap"},r.createElement("label",null,r.createElement(T.c,null,"Email suffix")),r.createElement("input",{id:"email-suffix-input",type:"text",name:"emailSuffix",value:this.state.emailSuffix,onChange:this.handleInputChange,className:"required form-element",placeholder:this.translate("@your-domain.com"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"The domain name part of the email (@your-domain-name)."))))))),r.createElement("div",{className:"accordion section-sync-options ".concat(this.state.openSynchronizationOptions?"":"closed")},r.createElement("h3",{className:"accordion-header"},r.createElement("a",{onClick:this.handleSynchronizationOptionsTitleClicked},this.state.openSynchronizationOptions&&r.createElement(ke,{name:"caret-down",baseline:!0}),!this.state.openSynchronizationOptions&&r.createElement(ke,{name:"caret-right",baseline:!0}),r.createElement(T.c,null,"Synchronization options"))),r.createElement("div",{className:"accordion-content"},r.createElement("div",{className:"input select required ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Default admin")),r.createElement("div",{onClick:this.handleDefaultAdminClicked,ref:this.defaultAdminRef},r.createElement("div",{className:"chosen-container chosen-container-single ".concat(this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"," ").concat(this.state.openDefaultAdmin?"chosen-with-drop":"")},r.createElement("a",{className:"chosen-single"},r.createElement("span",{id:"default-user-select"},this.displayDefaultAdmin()),r.createElement("div",null,!this.state.openDefaultAdmin&&r.createElement(ke,{name:"caret-down",baseline:!0}),this.state.openDefaultAdmin&&r.createElement(ke,{name:"caret-up",baseline:!0}))),r.createElement("div",{className:"chosen-drop"},r.createElement("div",{className:"chosen-search",onClick:this.stopPropagation},r.createElement("input",{className:"chosen-search-input",name:"defaultAdminSearch",value:this.state.defaultAdminSearch,onChange:this.handleInputChange,type:"text"}),r.createElement(ke,{name:"search"})),r.createElement("ul",{className:"chosen-results"},t.length>0&&t.map((function(t){return r.createElement("li",{key:t.id,className:"active-result",onClick:e.handleUserToBeDefaultAdminClick,"data-id":t.id},e.displayUser(t))})),0===t.length&&r.createElement("li",{className:"no-results",onClick:this.stopPropagation},r.createElement(T.c,null,"No results match")," ",r.createElement("span",null,this.state.defaultAdminSearch)))))),r.createElement("div",{className:"message"},r.createElement(T.c,null,"The default admin user is the user that will perform the operations for the the directory."))),r.createElement("div",{className:"input select required ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Default group admin")),r.createElement("div",{onClick:this.handleDefaultGroupAdminClicked,ref:this.defaultGroupAdminRef},r.createElement("div",{className:"chosen-container chosen-container-single ".concat(this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"," ").concat(this.state.openDefaultGroupAdmin?"chosen-with-drop":"")},r.createElement("a",{className:"chosen-single"},r.createElement("span",{id:"default-group-admin-user-select"},this.displayDefaultGroupAdmin()),r.createElement("div",null,!this.state.openDefaultGroupAdmin&&r.createElement(ke,{name:"caret-down",baseline:!0}),this.state.openDefaultGroupAdmin&&r.createElement(ke,{name:"caret-up",baseline:!0}))),r.createElement("div",{className:"chosen-drop"},r.createElement("div",{className:"chosen-search",onClick:this.stopPropagation},r.createElement("input",{className:"chosen-search-input",name:"defaultGroupAdminSearch",value:this.state.defaultGroupAdminSearch,onChange:this.handleInputChange,type:"text"}),r.createElement(ke,{name:"search"})),r.createElement("ul",{className:"chosen-results"},n.length>0&&n.map((function(t){return r.createElement("li",{key:t.id,className:"active-result",onClick:e.handleUserToBeDefaultGroupAdminClick,"data-id":t.id},e.displayUser(t))})),0===n.length&&r.createElement("li",{className:"no-results",onClick:this.stopPropagation},r.createElement(T.c,null,"No results match")," ",r.createElement("span",null,this.state.defaultGroupAdminSearch)))))),r.createElement("div",{className:"message"},r.createElement(T.c,null,"The default group manager is the user that will be the group manager of newly created groups."))),r.createElement("div",{className:"input text ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Groups parent group")),r.createElement("input",{id:"groups-parent-group-input",type:"text",name:"groupsParentGroup",value:this.state.groupsParentGroup,onChange:this.handleInputChange,className:"fluid form-element",placeholder:this.translate("Group name"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"Synchronize only the groups which are members of this group."))),r.createElement("div",{className:"input text ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Users parent group")),r.createElement("input",{id:"users-parent-group-input",type:"text",name:"usersParentGroup",value:this.state.usersParentGroup,onChange:this.handleInputChange,className:"fluid form-element",placeholder:this.translate("Group name"),disabled:this.hasAllInputDisabled()}),r.createElement("div",{className:"message"},r.createElement(T.c,null,"Synchronize only the users which are members of this group."))),this.isActiveDirectoryChecked()&&r.createElement("div",{className:"input text clearfix ad"},r.createElement("label",null,r.createElement(T.c,null,"Enabled users only")),r.createElement("div",{className:"input toggle-switch ad form-element"},r.createElement("label",{htmlFor:"enabled-users-only-toggle-button"},r.createElement(T.c,null,"Only synchronize enabled users (AD)")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"enabledUsersOnly",checked:this.state.enabledUsersOnly,onChange:this.handleInputChange,id:"enabled-users-only-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"enabled-users-only-toggle-button"}))),r.createElement("div",{className:"input text clearfix ad openldap"},r.createElement("label",null,r.createElement(T.c,null,"Sync operations")),r.createElement("div",{className:"col6"},r.createElement("div",{className:"input toggle-switch ad openldap form-element"},r.createElement("label",{htmlFor:"sync-users-create-toggle-button"},r.createElement(T.c,null,"Create users")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"createUsers",checked:this.state.createUsers,onChange:this.handleInputChange,id:"sync-users-create-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-users-create-toggle-button"})),r.createElement("div",{className:"input toggle-switch ad openldap form-element"},r.createElement("label",{htmlFor:"sync-users-delete-toggle-button"},r.createElement(T.c,null,"Delete users")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"deleteUsers",checked:this.state.deleteUsers,onChange:this.handleInputChange,id:"sync-users-delete-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-users-delete-toggle-button"}))),r.createElement("div",{className:"col6 last"},r.createElement("div",{className:"input toggle-switch ad openldap form-element"},r.createElement("label",{htmlFor:"sync-groups-create-toggle-button"},r.createElement(T.c,null,"Create groups")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"createGroups",checked:this.state.createGroups,onChange:this.handleInputChange,id:"sync-groups-create-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-create-toggle-button"})),r.createElement("div",{className:"input toggle-switch ad openldap form-element"},r.createElement("label",{htmlFor:"sync-groups-delete-toggle-button"},r.createElement(T.c,null,"Delete groups")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"deleteGroups",checked:this.state.deleteGroups,onChange:this.handleInputChange,id:"sync-groups-delete-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-delete-toggle-button"})),r.createElement("div",{className:"input toggle-switch ad openldap form-element"},r.createElement("label",{htmlFor:"sync-groups-update-toggle-button"},r.createElement(T.c,null,"Update groups")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"updateGroups",checked:this.state.updateGroups,onChange:this.handleInputChange,id:"sync-groups-update-toggle-button",disabled:this.hasAllInputDisabled()}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-update-toggle-button"})))))))))),r.createElement("div",{className:"col4 last"},r.createElement("h2",null,r.createElement(T.c,null,"Need help?")),r.createElement("p",null,r.createElement(T.c,null,"Check out our ldap configuration guide.")),r.createElement("a",{className:"button",href:"https://help.passbolt.com/configure/ldap",target:"_blank",rel:"noopener noreferrer"},r.createElement(ke,{name:"life-ring"}),r.createElement("span",null,r.createElement(T.c,null,"Read documentation")))))}}]),N}(r.Component);nt.propTypes={context:y().object,administrationWorkspaceContext:y().object,actionFeedbackContext:y().any,dialogContext:y().any,t:y().func};const rt=B(k(S(se((0,q.Z)("common")(nt)))));var st=function(e){(0,o.Z)(w,e);var t,n,s,u,h,d,f,y,v,g,b,E,k=(b=w,E=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(b);if(E){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function w(e){var t;return(0,a.Z)(this,w),(t=k.call(this,e)).state=t.defaultState,t.bindCallbacks(),t}return(0,i.Z)(w,[{key:"defaultState",get:function(){return{loading:!0,processing:!1,hasDatabaseSetting:!1,hasFileConfigSetting:!1,passwordCreate:!0,passwordShare:!0,passwordUpdate:!0,passwordDelete:!0,folderCreate:!0,folderUpdate:!0,folderDelete:!0,folderShare:!0,commentAdd:!0,groupDelete:!0,groupUserAdd:!0,groupUserDelete:!0,groupUserUpdate:!0,groupManagerUpdate:!0,userCreate:!0,userRecover:!0,showDescription:!0,showSecret:!0,showUri:!0,showUsername:!0,showComment:!0}}},{key:"componentDidMount",value:(g=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.findAllEmailNotificationsSettings();case 1:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"componentDidUpdate",value:(v=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleMustSave(t.administrationWorkspaceContext.must.save);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return v.apply(this,arguments)})},{key:"bindCallbacks",value:function(){this.handleInputChange=this.handleInputChange.bind(this)}},{key:"handleMustSave",value:(y=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.administrationWorkspaceContext.must.save===t||!this.props.administrationWorkspaceContext.must.save){e.next=5;break}return e.next=4,this.handleFormSubmit();case 4:this.props.administrationWorkspaceContext.onResetActionsSettings();case 5:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"findAllEmailNotificationsSettings",value:(f=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c,l,u,h,p,d,f,y,v,g,b,E,k,w,x,C,S,R;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.administrationWorkspaceContext.onGetEmailNotificationsRequested();case 2:t=e.sent,n=t.body,r=n.sources_database,s=n.sources_file,a=n.send_password_create,i=n.send_password_share,o=n.send_password_update,c=n.send_password_delete,l=n.send_folder_create,u=n.send_folder_update,h=n.send_folder_delete,p=n.send_folder_share,d=n.send_comment_add,f=n.send_group_delete,y=n.send_group_user_add,v=n.send_group_user_delete,g=n.send_group_user_update,b=n.send_group_manager_update,E=n.send_user_create,k=n.send_user_recover,w=n.show_description,x=n.show_secret,C=n.show_uri,S=n.show_username,R=n.show_comment,this.setState({loading:!1,hasDatabaseSetting:r,hasFileConfigSetting:s,passwordCreate:a,passwordShare:i,passwordUpdate:o,passwordDelete:c,folderCreate:l,folderUpdate:u,folderDelete:h,folderShare:p,commentAdd:d,groupDelete:f,groupUserAdd:y,groupUserDelete:v,groupUserUpdate:g,groupManagerUpdate:b,userCreate:E,userRecover:k,showDescription:w,showSecret:x,showUri:C,showUsername:S,showComment:R});case 28:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"handleInputChange",value:function(e){var t=e.target,n=t.checked,r=t.name;this.setState((0,_.Z)({},r,n)),this.handleEnabledSaveButton()}},{key:"handleEnabledSaveButton",value:function(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}},{key:"hasAllInputDisabled",value:function(){return this.state.processing||this.state.loading}},{key:"handleFormSubmit",value:(d=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state.processing){e.next=14;break}return e.next=3,this.toggleProcessing();case 3:return e.prev=3,e.next=6,this.saveEmailNotifications();case 6:return e.next=8,this.handleSaveSuccess();case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(3),e.next=14,this.handleSaveError(e.t0);case 14:case"end":return e.stop()}}),e,this,[[3,10]])}))),function(){return d.apply(this,arguments)})},{key:"saveEmailNotifications",value:(h=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={sources_database:this.state.hasDatabaseSetting,sources_file:this.state.hasFileConfigSetting,send_password_create:this.state.passwordCreate,send_password_share:this.state.passwordShare,send_password_update:this.state.passwordUpdate,send_password_delete:this.state.passwordDelete,send_folder_create:this.state.folderCreate,send_folder_update:this.state.folderUpdate,send_folder_delete:this.state.folderDelete,send_folder_share:this.state.folderShare,send_comment_add:this.state.commentAdd,send_group_delete:this.state.groupDelete,send_group_user_add:this.state.groupUserAdd,send_group_user_delete:this.state.groupUserDelete,send_group_user_update:this.state.groupUserUpdate,send_group_manager_update:this.state.groupManagerUpdate,send_user_create:this.state.userCreate,send_user_recover:this.state.userRecover,show_description:this.state.showDescription,show_secret:this.state.showSecret,show_uri:this.state.showUri,show_username:this.state.showUsername,show_comment:this.state.showComment},e.next=3,this.props.administrationWorkspaceContext.onSaveEmailNotificationsRequested(t);case 3:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"handleSaveSuccess",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The email notification settings were updated."));case 2:this.setState({processing:!1});case 3:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"handleSaveError",value:(s=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("UserAbortsOperationError"!==t.name){e.next=4;break}this.setState({processing:!1}),e.next=8;break;case 4:return console.error(t),e.next=7,this.handleError(t);case 7:this.setState({processing:!1});case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"handleError",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displayError(t.message);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"toggleProcessing",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.state.processing,e.abrupt("return",this.setState({processing:!t}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"hasDatabaseSetting",value:function(){return this.state.hasDatabaseSetting}},{key:"hasFileConfigSetting",value:function(){return this.state.hasFileConfigSetting}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"row"},r.createElement("div",{className:"email-notification-settings col8"},this.hasDatabaseSetting()&&this.hasFileConfigSetting()&&r.createElement("div",{className:"warning message",id:"email-notification-setting-overridden-banner"},r.createElement("p",null,r.createElement(T.c,null,"Settings have been found in your database as well as in your passbolt.php (or environment variables).")," ",r.createElement(T.c,null,"The settings displayed in the form below are the one stored in your database and have precedence over others."))),!this.hasDatabaseSetting()&&this.hasFileConfigSetting()&&r.createElement("div",{className:"warning message hidden",id:"email-notification-fileconfig-exists-banner"},r.createElement("p",null,r.createElement(T.c,null,"You seem to have Email Notification Settings defined in your passbolt.php (or via environment variables).")," ",r.createElement(T.c,null,"Submitting the form will overwrite those settings with the ones you choose in the form below."))),r.createElement("h3",null,r.createElement(T.c,null,"Email delivery")),r.createElement("p",null,r.createElement(T.c,null,"In this section you can choose which email notifications will be sent.")),r.createElement("form",{className:"form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col6"},r.createElement("label",null,r.createElement(T.c,null,"Passwords")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-password-create-toggle-button"},r.createElement(T.c,null,"When a password is created, notify its creator.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordCreate,id:"send-password-create-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-create-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-password-update-toggle-button"},r.createElement(T.c,null,"When a password is updated, notify the users who have access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordUpdate,id:"send-password-update-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-update-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-password-delete-toggle-button"},r.createElement(T.c,null,"When a password is deleted, notify the users who had access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordDelete,id:"send-password-delete-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-delete-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-password-share-toggle-button"},r.createElement(T.c,null,"When a password is shared, notify the users who gain access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordShare",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordShare,id:"send-password-share-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-share-toggle-button"}))),r.createElement("div",{className:"col6 last"},r.createElement("label",null,r.createElement(T.c,null,"Folders")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-folder-create-toggle-button"},r.createElement(T.c,null,"When a folder is created, notify its creator.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderCreate,id:"send-folder-create-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-create-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-folder-update-toggle-button"},r.createElement(T.c,null,"When a folder is updated, notify the users who have access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderUpdate,id:"send-folder-update-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-update-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-folder-delete-toggle-button"},r.createElement(T.c,null,"When a folder is deleted, notify the users who had access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderDelete,id:"send-folder-delete-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-delete-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-folder-share-toggle-button"},r.createElement(T.c,null,"When a folder is shared, notify the users who gain access to it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderShare",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderShare,id:"send-folder-share-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-share-toggle-button"}))),r.createElement("div",{className:"row"}),r.createElement("div",{className:"col6 last"},r.createElement("label",null,r.createElement(T.c,null,"Comments")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-comment-add-toggle-button"},r.createElement(T.c,null,"When a comment is posted on a password, notify the users who have access to this password.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"commentAdd",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.commentAdd,id:"send-comment-add-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-comment-add-toggle-button"})))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col6"},r.createElement("label",null,r.createElement(T.c,null,"Group membership")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-group-delete-toggle-button"},r.createElement(T.c,null,"When a group is deleted, notify the users who were member of it.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupDelete,id:"send-group-delete-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-delete-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"group-user-add-toggle-button"},r.createElement(T.c,null,"When users are added to a group, notify them.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserAdd",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserAdd,id:"send-group-user-add-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-add-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-group-user-delete-toggle-button"},r.createElement(T.c,null,"When users are removed from a group, notify them.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserDelete,id:"send-group-user-delete-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-delete-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-group-user-update-toggle-button"},r.createElement(T.c,null,"When user roles change in a group, notify the corresponding users.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserUpdate,id:"send-group-user-update-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-update-toggle-button"}))),r.createElement("div",{className:"col6 last"},r.createElement("label",null,r.createElement(T.c,null,"Group manager")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-group-manager-update-toggle-button"},r.createElement(T.c,null,"When members of a group change, notify the group manager(s).")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupManagerUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupManagerUpdate,id:"send-group-manager-update-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-manager-update-toggle-button"})),r.createElement("label",null,r.createElement(T.c,null,"Registration & Recovery")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-user-create-toggle-button"},r.createElement(T.c,null,"When new users are invited to passbolt, notify them.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.userCreate,id:"send-user-create-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-user-create-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"send-user-recover-toggle-button"},r.createElement(T.c,null,"When users try to recover their account, notify them.")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userRecover",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.userRecover,id:"send-user-recover-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"send-user-recover-toggle-button"})))),r.createElement("div",{className:"row"},r.createElement("h3",null,r.createElement(T.c,null,"Email content visibility")),r.createElement("p",null,r.createElement(T.c,null,"In this section you can adjust the composition of the emails, e.g. which information will be included in the notification.")),r.createElement("div",{className:"col6"},r.createElement("label",null,r.createElement(T.c,null,"Passwords")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"show-username-toggle-button"},r.createElement(T.c,null,"Username")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showUsername",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showUsername,id:"show-username-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"show-username-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"show-uri-toggle-button"},r.createElement(T.c,null,"URI")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showUri",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showUri,id:"show-uri-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"show-uri-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element ready"},r.createElement("label",{htmlFor:"show-secret-toggle-button"},r.createElement(T.c,null,"Encrypted secret")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showSecret",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showSecret,id:"show-secret-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"show-secret-toggle-button"})),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"show-description-toggle-button"},r.createElement(T.c,null,"Description")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showDescription",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showDescription,id:"show-description-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"show-description-toggle-button"}))),r.createElement("div",{className:"col6 last"},r.createElement("label",null,r.createElement(T.c,null,"Comments")),r.createElement("span",{className:"input toggle-switch form-element"},r.createElement("label",{htmlFor:"show-comment-toggle-button"},r.createElement(T.c,null,"Comment content")),r.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showComment",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showComment,id:"show-comment-toggle-button"}),r.createElement("label",{className:"toggle-switch-button",htmlFor:"show-comment-toggle-button"})))))),r.createElement("div",{className:"col4 last"},r.createElement("h3",null,r.createElement(T.c,null,"Need some help?")),r.createElement("p",null,r.createElement(T.c,null,"For more information about email notification, checkout the dedicated page on the help website.")),r.createElement("a",{className:"button",href:"https://help.passbolt.com/configure/notification/email",target:"_blank",rel:"noopener noreferrer"},r.createElement(ke,{name:"life-ring"}),r.createElement("span",null,r.createElement(T.c,null,"Read documentation")))))}}]),w}(r.Component);st.propTypes={administrationWorkspaceContext:y().object,actionFeedbackContext:y().any,t:y().func};const at=k(se((0,q.Z)("common")(st)));var it=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).state=t.getDefaultState(),t.bindCallbacks(),t.createReferences(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleChangeEvent=this.handleChangeEvent.bind(this),this.handleOnSubmitEvent=this.handleOnSubmitEvent.bind(this)}},{key:"getDefaultState",value:function(){return{}}},{key:"createReferences",value:function(){this.searchInputRef=r.createRef()}},{key:"handleChangeEvent",value:function(e){var t=e.target.value;this.props.onSearch&&this.props.onSearch(t)}},{key:"handleOnSubmitEvent",value:function(e){if(e.preventDefault(),this.props.onSearch){var t=this.searchInputRef.current.value;this.props.onSearch(t)}}},{key:"render",value:function(){return r.createElement("div",{className:"col2 search-wrapper"},r.createElement("form",{className:"search",onSubmit:this.handleOnSubmitEvent},r.createElement("div",{className:"input search required"},r.createElement("label",null,"Search"),r.createElement("input",{ref:this.searchInputRef,className:"required",type:"search",disabled:this.props.disabled?"disabled":"",onChange:this.handleChangeEvent,placeholder:this.props.placeholder||this.props.t("Search"),value:this.props.value})),r.createElement("button",{value:"search",type:"submit",disabled:this.props.disabled?"disabled":""},r.createElement(ke,{name:"search"}),r.createElement("span",{className:"visuallyhidden"},"Search"))))}}]),u}(r.Component);it.propTypes={disabled:y().bool,onSearch:y().func,placeholder:y().string,value:y().string,t:y().func},it.defaultProps={disabled:!1};const ot=(0,q.Z)("common")(it);var ct=n(9490);var lt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleKeyDown=this.handleKeyDown.bind(this)}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"getTitle",value:function(){return this.props.context.errorDialogProps&&this.props.context.errorDialogProps.title||this.props.title||u.defaultProps.title}},{key:"getMessage",value:function(){return this.props.context.errorDialogProps&&this.props.context.errorDialogProps.message||this.props.message||u.defaultProps.message}},{key:"handleKeyDown",value:function(e){27!==e.keyCode&&13!==e.keyCode||(e.stopPropagation(),this.props.onClose())}},{key:"render",value:function(){return r.createElement("div",{className:"dialog-wrapper error-dialog"},r.createElement("div",{className:"dialog"},r.createElement("div",{className:"dialog-header"},r.createElement("h2",null,this.getTitle()),r.createElement(Ue,{onClose:this.props.onClose})),r.createElement("div",{className:"dialog-content"},r.createElement("div",{className:"form-content"},r.createElement("p",null,this.getMessage())),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement("a",{className:"button primary warning",onClick:this.props.onClose},"Ok")))))}}]),u}(r.Component);lt.defaultProps={title:"Oops something went wrong.",message:"An internal error occurred, please try again later."},lt.propTypes={context:y().any,title:y().string,message:y().string,onClose:y().func};const ut=B(lt);var ht=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.getClassName=this.getClassName.bind(this)}},{key:"getClassName",value:function(){var e="button primary";return this.props.warning&&(e+=" warning"),this.props.disabled&&(e+=" disabled"),this.props.processing&&(e+=" processing"),this.props.big&&(e+=" big"),this.props.fullWidth&&(e+=" full-width"),e}},{key:"render",value:function(){return r.createElement("input",{type:"submit",className:this.getClassName(),disabled:this.props.disabled,value:this.props.value||"Save"})}}]),u}(r.Component);ht.defaultProps={warning:!1},ht.propTypes={processing:y().bool,disabled:y().bool,value:y().string,warning:y().bool,big:y().bool,fullWidth:y().bool};const pt=ht;var dt=function(e){(0,o.Z)(E,e);var t,n,s,u,h,d,f,y,v,g,b=(v=E,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(v);if(g){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function E(e){var t;return(0,a.Z)(this,E),(t=b.call(this,e)).state=t.getDefaultState(),t.initEventHandlers(),t.createInputRef(),t}return(0,i.Z)(E,[{key:"getDefaultState",value:function(){return{key:"",keyError:"",processing:!1,hasBeenValidated:!1}}},{key:"initEventHandlers",value:function(){this.handleCloseClick=this.handleCloseClick.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleKeyInputKeyUp=this.handleKeyInputKeyUp.bind(this),this.handleSelectSubscriptionKeyFile=this.handleSelectSubscriptionKeyFile.bind(this)}},{key:"createInputRef",value:function(){this.keyInputRef=r.createRef(),this.fileUploaderRef=r.createRef()}},{key:"componentDidMount",value:function(){this.setState({key:this.props.context.editSubscriptionKey.key||""})}},{key:"handleFormSubmit",value:(y=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),this.state.processing){e.next=4;break}return e.next=4,this.save();case 4:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"handleInputChange",value:function(e){var t=e.target,n=t.value,r=t.name;this.setState((0,_.Z)({},r,n))}},{key:"handleKeyInputKeyUp",value:function(){if(this.state.hasAlreadyBeenValidated){var e=this.validateNameInput();this.setState(e)}}},{key:"handleCloseClick",value:function(){this.props.context.setContext({editSubscriptionKey:null}),this.props.onClose()}},{key:"handleSelectSubscriptionKeyFile",value:(f=(0,p.Z)(m().mark((function e(t){var n,r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(0,L.Z)(t.target.files,1),r=n[0],e.next=3,this.readSubscriptionKeyFile(r);case 3:return s=e.sent,e.next=6,this.fillSubscriptionKey(s);case 6:if(!this.state.hasBeenValidated){e.next=9;break}return e.next=9,this.validate();case 9:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"readSubscriptionKeyFile",value:function(e){var t=new FileReader;return new Promise((function(n,r){t.onloadend=function(){try{n(t.result)}catch(e){r(e)}},t.readAsText(e)}))}},{key:"fillSubscriptionKey",value:(d=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({key:t});case 2:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"save",value:(h=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.state.processing){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.setState({hasBeenValidated:!0});case 4:return e.next=6,this.toggleProcessing();case 6:return e.next=8,this.validate();case 8:if(e.sent){e.next=13;break}return this.handleValidateError(),e.next=12,this.toggleProcessing();case 12:return e.abrupt("return");case 13:return t={data:this.state.key},e.prev=14,e.next=17,this.props.administrationWorkspaceContext.onUpdateSubscriptionKeyRequested(t);case 17:return e.next=19,this.handleSaveSuccess();case 19:e.next=27;break;case 21:return e.prev=21,e.t0=e.catch(14),e.next=25,this.toggleProcessing();case 25:this.handleSaveError(e.t0),this.focusFieldError();case 27:case"end":return e.stop()}}),e,this,[[14,21]])}))),function(){return h.apply(this,arguments)})},{key:"handleValidateError",value:function(){this.focusFieldError()}},{key:"handleSaveSuccess",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The subscription key has been updated successfully."));case 2:this.props.administrationWorkspaceContext.onMustRefreshSubscriptionKey(),this.props.context.setContext({editSubscriptionKey:null,refreshSubscriptionAnnouncement:!0}),this.props.onClose();case 5:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"handleSaveError",value:(s=(0,p.Z)(m().mark((function e(t){var n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:"PassboltSubscriptionError"===t.name?this.setState({keyError:t.message}):"EntityValidationError"===t.name?this.setState({keyError:this.translate("The subscription key is invalid.")}):"PassboltApiFetchError"===t.name&&t.data&&400===t.data.code?this.setState({keyError:t.message}):(console.error(t),n={title:this.translate("There was an unexpected error..."),message:t.message},this.props.context.setContext({errorDialogProps:n}),this.props.dialogContext.open(ut));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"focusFieldError",value:function(){this.state.keyError&&this.keyInputRef.current.focus()}},{key:"validateKeyInput",value:function(){var e=this,t=this.state.key.trim(),n="";return t.length||(n=this.translate("A subscription key is required.")),new Promise((function(t){e.setState({keyError:n},t)}))}},{key:"validate",value:(n=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({keyError:""}),e.next=3,this.validateKeyInput();case 3:return e.abrupt("return",""===this.state.keyError);case 4:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"toggleProcessing",value:(t=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setState({processing:!this.state.processing});case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"hasAllInputDisabled",value:function(){return this.state.processing}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement(Pe,{title:this.translate("Edit subscription key"),onClose:this.handleCloseClick,disabled:this.state.processing,className:"edit-subscription-dialog"},r.createElement("form",{onSubmit:this.handleFormSubmit,noValidate:!0},r.createElement("div",{className:"form-content"},r.createElement("div",{className:"input textarea required ".concat(this.state.keyError?"error":"")},r.createElement("label",{htmlFor:"edit-tag-form-name"},r.createElement(T.c,null,"Subscription key")),r.createElement("textarea",{id:"edit-subscription-form-key",name:"key",value:this.state.key,onKeyUp:this.handleKeyInputKeyUp,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled(),ref:this.keyInputRef,className:"required full_report",required:"required",autoComplete:"off",autoFocus:!0})),r.createElement("div",{className:"input-file-chooser-wrapper"},r.createElement("div",{className:"input text"},r.createElement("input",{type:"file",ref:this.fileUploaderRef,disabled:this.hasAllInputDisabled(),onChange:this.handleSelectSubscriptionKeyFile}),this.state.keyError&&r.createElement("div",{className:"key error message"},this.state.keyError)))),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement(pt,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Save")}),r.createElement(_e,{disabled:this.hasAllInputDisabled(),onClick:this.handleCloseClick}))))}}]),E}(r.Component);dt.propTypes={context:y().any,onClose:y().func,actionFeedbackContext:y().any,dialogContext:y().any,administrationWorkspaceContext:y().any,t:y().func};const mt=B(se(k(S((0,q.Z)("common")(dt)))));var ft=function(e){(0,o.Z)(b,e);var t,n,s,u,h,d,f,y,v,g=(y=b,v=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(y);if(v){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function b(e){var t;return(0,a.Z)(this,b),(t=g.call(this,e)).state=t.defaultState,t.bindCallbacks(),t}return(0,i.Z)(b,[{key:"defaultState",get:function(){return{loading:!0,customerId:"",subscriptionId:"",users:null,email:"",expiry:null,created:null,data:null,activeUsers:null}}},{key:"componentDidMount",value:(f=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.findActiveUsers(),this.findSubscriptionKey();case 2:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"componentDidUpdate",value:(d=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleMustRefreshSubscriptionKey(t.administrationWorkspaceContext.must.refreshSubscriptionKey);case 2:return e.next=4,this.handleMustEditSubscriptionKey(t.administrationWorkspaceContext.must.editSubscriptionKey);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"bindCallbacks",value:function(){this.handleRenewKey=this.handleRenewKey.bind(this),this.handleUpdateKey=this.handleUpdateKey.bind(this)}},{key:"handleMustRefreshSubscriptionKey",value:(h=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.administrationWorkspaceContext.must.refreshSubscriptionKey===t||!this.props.administrationWorkspaceContext.must.refreshSubscriptionKey){e.next=7;break}return e.next=4,this.findActiveUsers();case 4:return e.next=6,this.findSubscriptionKey();case 6:this.props.administrationWorkspaceContext.onResetActionsSettings();case 7:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"handleMustEditSubscriptionKey",value:(u=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.props.administrationWorkspaceContext.must.editSubscriptionKey!==t&&this.props.administrationWorkspaceContext.must.editSubscriptionKey&&(this.openEditSubscriptionKey(),this.props.administrationWorkspaceContext.onResetActionsSettings());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"openEditSubscriptionKey",value:function(){var e={key:this.state.data};this.props.context.setContext({editSubscriptionKey:e}),this.props.dialogContext.open(mt)}},{key:"findActiveUsers",value:(s=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveUsers();case 2:t=e.sent,this.setState({activeUsers:t});case 4:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"findSubscriptionKey",value:(n=(0,p.Z)(m().mark((function e(){var t,n,r,s,a,i,o,c;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.props.context.onGetSubscriptionKeyRequested();case 3:t=e.sent,n=t.customer_id,r=t.subscription_id,s=t.users,a=t.email,i=t.expiry,o=t.created,c=t.data,this.setState({loading:!1,customerId:n,subscriptionId:r,users:s,email:a,expiry:i,created:o,data:c}),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(0),this.handleSubscriptionError(e.t0);case 17:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(){return n.apply(this,arguments)})},{key:"handleSubscriptionError",value:function(e){if("PassboltSubscriptionError"===e.name){var t=e.subscription,n=t.customer_id||"N/A",r=t.subscription_id,s=t.users,a=t.email||"N/A",i=t.expiry,o=t.created,c=t.data;this.setState({loading:!1,customerId:n,subscriptionId:r,users:s,email:a,expiry:i,created:o,data:c})}else this.setState({loading:!1})}},{key:"handleRenewKey",value:function(){this.hasLimitUsersExceeded()?this.props.navigationContext.onGoToNewTab("https://www.passbolt.com/subscription/ee/update/qty?subscription_id=".concat(this.state.subscriptionId,"&customer_id=").concat(this.state.customerId)):(this.hasSubscriptionKeyExpired()||this.hasSubscriptionKeyGoingToExpire())&&this.props.navigationContext.onGoToNewTab("https://www.passbolt.com/subscription/ee/update/renew?subscription_id=".concat(this.state.subscriptionId,"&customer_id=").concat(this.state.customerId))}},{key:"handleUpdateKey",value:function(){this.openEditSubscriptionKey()}},{key:"isLoading",value:function(){return this.state.loading}},{key:"hasSubscriptionKeyExpired",value:function(){return ct.ou.fromISO(this.state.expiry)<ct.ou.now()}},{key:"hasSubscriptionKeyGoingToExpire",value:function(){return ct.ou.fromISO(this.state.expiry)<ct.ou.now().plus({days:30})&&!this.hasSubscriptionKeyExpired()}},{key:"hasSubscriptionKey",value:function(){return Boolean(this.state.data)}},{key:"hasLimitUsersExceeded",value:function(){return this.state.users<this.state.activeUsers}},{key:"hasSubscriptionToRenew",value:function(){return this.hasInvalidSubscription()||this.hasSubscriptionKeyGoingToExpire()}},{key:"hasValidSubscription",value:function(){return this.hasSubscriptionKey()&&!this.hasLimitUsersExceeded()&&!this.hasSubscriptionKeyExpired()}},{key:"hasInvalidSubscription",value:function(){return!this.hasSubscriptionKey()||this.hasLimitUsersExceeded()||this.hasSubscriptionKeyExpired()}},{key:"formatDate",value:function(e){try{return ct.ou.fromISO(e).setLocale(this.props.context.locale).toLocaleString(ct.ou.DATE_SHORT)}catch(e){return""}}},{key:"formatDateTimeAgo",value:function(e){var t=ct.ou.fromISO(e),n=t.diffNow().toMillis();return n>-1e3&&n<0?this.translate("Just now"):t.toRelative({locale:this.props.context.locale})}},{key:"getActiveUsers",value:(t=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.context.port.request("passbolt.users.get-all");case 2:return t=e.sent,n=function(e){return e.active},e.abrupt("return",t.filter(n).length);case 5:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"row"},!this.isLoading()&&r.createElement("div",{className:"subscription-key col8"},r.createElement("h3",null,r.createElement(T.c,null,"Subscription key details")),r.createElement("div",{className:"message animated"},r.createElement("div",{className:"illustration"},this.hasValidSubscription()&&!this.hasSubscriptionKeyGoingToExpire()&&r.createElement("svg",{id:"successAnimation",className:"animated",xmlns:"http://www.w3.org/2000/svg",width:"170",height:"170",viewBox:"0 0 70 70"},r.createElement("circle",{id:"successAnimationCircle",cx:"35",cy:"35",r:"24",stroke:"#000000",strokeWidth:"3",strokeLinecap:"round",fill:"transparent"}),r.createElement("polyline",{id:"successAnimationCheck",stroke:"#000000",strokeWidth:"3",points:"23 34 34 43 47 27",linecap:"round",fill:"transparent"})),this.hasInvalidSubscription()&&r.createElement("svg",{id:"errorAnimation",className:"animated",xmlns:"http://www.w3.org/2000/svg",width:"170",height:"170",viewBox:"0 0 70 70"},r.createElement("circle",{id:"errorAnimationCircle",cx:"35",cy:"35",r:"24",stroke:"#000000",strokeWidth:"3",strokeLinecap:"round",fill:"transparent"}),r.createElement("polyline",{id:"errorAnimationCross",stroke:"#000000",strokeWidth:"3",points:"26 26 44 44",linecap:"round",fill:"transparent"}),r.createElement("polyline",{id:"errorAnimationCross",stroke:"#000000",strokeWidth:"3",points:"44 26 26 44",linecap:"round",fill:"transparent"})),this.hasValidSubscription()&&this.hasSubscriptionKeyGoingToExpire()&&r.createElement("svg",{id:"warningAnimation",className:"animated",xmlns:"http://www.w3.org/2000/svg",width:"170",height:"170",viewBox:"0 0 70 70"},r.createElement("polyline",{id:"warningAnimation",className:"round",stroke:"#000000",strokeWidth:"3",points:"35 9 10 55 60 55 35 9",linecap:"round",fill:"transparent"}),r.createElement("polyline",{id:"warningAnimation",stroke:"#000000",strokeWidth:"3",points:"35 23 35 42",linecap:"square",fill:"transparent"}),r.createElement("polyline",{id:"warningAnimation",stroke:"#000000",strokeWidth:"3",points:"35 50 35 50",linecap:"square",fill:"transparent"}))),r.createElement("div",{className:"subscription-information"},!this.hasSubscriptionKey()&&r.createElement(r.Fragment,null,r.createElement("h4",null,r.createElement(T.c,null,"Your subscription key is either missing or not valid.")),r.createElement("p",null,r.createElement(T.c,null,"Sorry your subscription is either missing or not readable."),r.createElement("br",null),r.createElement(T.c,null,"Update the subscription key and try again.")," ",r.createElement(T.c,null,"If this does not work get in touch with support."))),this.hasValidSubscription()&&this.hasSubscriptionKeyGoingToExpire()&&r.createElement("h4",null,r.createElement(T.c,null,"Your subscription key is going to expire.")),this.hasSubscriptionKey()&&this.hasInvalidSubscription()&&r.createElement("h4",null,r.createElement(T.c,null,"Your subscription key is not valid.")),this.hasValidSubscription()&&!this.hasSubscriptionKeyGoingToExpire()&&r.createElement("h4",null,r.createElement(T.c,null,"Your subscription key is valid and up to date!")),this.hasSubscriptionKey()&&r.createElement("ul",null,r.createElement("li",{className:"customer-id"},r.createElement("span",{className:"label"},r.createElement(T.c,null,"Customer id:")),r.createElement("span",{className:"value"},this.state.customerId)),r.createElement("li",{className:"subscription-id"},r.createElement("span",{className:"label"},r.createElement(T.c,null,"Subscription id:")),r.createElement("span",{className:"value"},this.state.subscriptionId)),r.createElement("li",{className:"email"},r.createElement("span",{className:"label"},r.createElement(T.c,null,"Email:")),r.createElement("span",{className:"value"},this.state.email)),r.createElement("li",{className:"users"},r.createElement("span",{className:"label ".concat(this.hasLimitUsersExceeded()?"error":"")},r.createElement(T.c,null,"Users limit:")),r.createElement("span",{className:"value ".concat(this.hasLimitUsersExceeded()?"error":"")},this.state.users," (",r.createElement(T.c,null,"curently:")," ",this.state.activeUsers,")")),r.createElement("li",{className:"created"},r.createElement("span",{className:"label"},r.createElement(T.c,null,"Valid from:")),r.createElement("span",{className:"value"},this.formatDate(this.state.created))),r.createElement("li",{className:"expiry"},r.createElement("span",{className:"label ".concat(this.hasSubscriptionKeyExpired()?"error":""," ").concat(this.hasSubscriptionKeyGoingToExpire()?"warning":"")},r.createElement(T.c,null,"Expires on:")),r.createElement("span",{className:"value ".concat(this.hasSubscriptionKeyExpired()?"error":""," ").concat(this.hasSubscriptionKeyGoingToExpire()?"warning":"")},this.formatDate(this.state.expiry)," (","".concat(this.hasSubscriptionKeyExpired()?this.translate("expired "):"").concat(this.formatDateTimeAgo(this.state.expiry)),")"))),this.hasSubscriptionToRenew()&&r.createElement(r.Fragment,null,this.hasSubscriptionKey()&&r.createElement("a",{className:"button primary big",role:"button",onClick:this.handleRenewKey},r.createElement(T.c,null,"Renew key")),!this.hasSubscriptionKey()&&r.createElement("a",{className:"button primary big",role:"button",onClick:this.handleUpdateKey},r.createElement(T.c,null,"Update key")),r.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.passbolt.com/contact"},r.createElement(T.c,null,"or, contact us")))))),!this.isLoading()&&r.createElement("div",{className:"col4 last"},r.createElement("h2",null,r.createElement(T.c,null,"Need help?")),r.createElement("p",null,r.createElement(T.c,null,"For any change or question related to your passbolt subscription, kindly contact our sales team.")),r.createElement("a",{className:"button",target:"_blank",rel:"noopener noreferrer",href:"https://www.passbolt.com/contact"},r.createElement(ke,{name:"envelope"}),r.createElement("span",null,r.createElement(T.c,null,"Contact Sales")))))}}]),b}(r.Component);ft.propTypes={context:y().any,navigationContext:y().any,administrationWorkspaceContext:y().object,dialogContext:y().any,t:y().func};const yt=B(me(se(S((0,q.Z)("common")(ft)))));var vt=function(e){(0,o.Z)(E,e);var t,n,s,u,h,d,f,y,v,g,b=(v=E,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(v);if(g){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function E(e){var t;return(0,a.Z)(this,E),(t=b.call(this,e)).state=t.defaultState,t.bindCallbacks(),t}return(0,i.Z)(E,[{key:"defaultState",get:function(){return{loading:!0,processing:!1,locale:""}}},{key:"componentDidMount",value:(y=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.setState({locale:this.props.context.siteSettings.locale});case 1:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"componentDidUpdate",value:(f=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleMustSave(t.administrationWorkspaceContext.must.save);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"bindCallbacks",value:function(){this.handleInputChange=this.handleInputChange.bind(this)}},{key:"handleMustSave",value:(d=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.administrationWorkspaceContext.must.save===t||!this.props.administrationWorkspaceContext.must.save){e.next=5;break}return e.next=4,this.handleFormSubmit();case 4:this.props.administrationWorkspaceContext.onResetActionsSettings();case 5:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"handleInputChange",value:function(e){var t=e.target,n=t.value,r=t.name;this.setState((0,_.Z)({},r,n)),this.handleEnabledSaveButton()}},{key:"handleEnabledSaveButton",value:function(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}},{key:"hasAllInputDisabled",value:function(){return this.state.processing||this.state.loading}},{key:"handleFormSubmit",value:(h=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state.processing){e.next=14;break}return e.next=3,this.toggleProcessing();case 3:return e.prev=3,e.next=6,this.props.administrationWorkspaceContext.onSaveLocaleRequested(this.state.locale);case 6:return e.next=8,this.handleSaveSuccess();case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(3),e.next=14,this.handleSaveError(e.t0);case 14:case"end":return e.stop()}}),e,this,[[3,10]])}))),function(){return h.apply(this,arguments)})},{key:"handleSaveSuccess",value:(u=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.props.context.onRefreshLocaleRequested(this.state.locale),e.next=3,this.props.actionFeedbackContext.displaySuccess(this.translate("The internationalization settings were updated."));case 3:this.setState({processing:!1});case 4:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"handleSaveError",value:(s=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("UserAbortsOperationError"!==t.name){e.next=4;break}this.setState({processing:!1}),e.next=8;break;case 4:return console.error(t),e.next=7,this.handleError(t);case 7:this.setState({processing:!1});case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"handleError",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.actionFeedbackContext.displayError(t.message);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"toggleProcessing",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.state.processing,e.abrupt("return",this.setState({processing:!t}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"supportedLocales",get:function(){return this.props.context.siteSettings.supportedLocales||[]}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("div",{className:"row"},r.createElement("div",{className:"internationalisation-settings col8"},r.createElement("h3",null,r.createElement(T.c,null,"Internationalisation")),r.createElement("form",{className:"form"},r.createElement("div",{className:"input select locale"},r.createElement("label",{htmlFor:"app-locale-input"},r.createElement(T.c,null,"Language")),r.createElement("select",{className:"large",id:"locale-input",name:"locale",value:this.state.locale,onChange:this.handleInputChange},this.supportedLocales.map((function(e){return r.createElement("option",{key:e.locale,value:e.locale},e.label)}))),r.createElement("p",null,r.createElement(T.c,null,"The default language of the organisation."))))),r.createElement("div",{className:"col4 last"},r.createElement("h3",null,r.createElement(T.c,null,"Want to contribute?")),r.createElement("p",null,r.createElement(T.c,null,"Your language is missing or you discovered an error in the translation, help us to improve passbolt.")),r.createElement("a",{className:"button",href:"https://help.passbolt.com/contribute/translation",target:"_blank",rel:"noopener noreferrer"},r.createElement(ke,{name:"heart-o"}),r.createElement("span",null,r.createElement(T.c,null,"Contribute")))))}}]),E}(r.Component);vt.propTypes={context:y().object,administrationWorkspaceContext:y().object,actionFeedbackContext:y().any,t:y().func};const gt=B(k(se((0,q.Z)("common")(vt))));var bt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"isMfaSelected",value:function(){return ae.MFA===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isUserDirectorySelected",value:function(){return ae.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isEmailNotificationsSelected",value:function(){return ae.EMAIL_NOTIFICATION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isSubscriptionSelected",value:function(){return ae.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"isInternationalizationSelected",value:function(){return ae.INTERNATIONALIZATION===this.props.administrationWorkspaceContext.selectedAdministration}},{key:"render",value:function(){return r.createElement("div",{id:"container",className:"page administration"},r.createElement("div",{id:"app",tabIndex:"1000"},r.createElement("div",{className:"header first"},r.createElement(ye,null)),r.createElement("div",{className:"header second"},r.createElement(ve,null),r.createElement(ot,{disabled:!0}),r.createElement(xe,{baseUrl:this.props.context.trustedDomain||this.props.context.userSettings.getTrustedDomain(),user:this.props.context.loggedInUser})),r.createElement("div",{className:"header third"},r.createElement("div",{className:"col1 main-action-wrapper"}),r.createElement(We,null)),r.createElement("div",{className:"panel main"},r.createElement("div",null,r.createElement("div",{className:"panel left"},r.createElement(Se,null)),r.createElement("div",{className:"panel middle"},r.createElement(Je,null),r.createElement("div",{className:"workspace-main"},r.createElement("div",{className:"grid grid-responsive-12"},this.isMfaSelected()&&r.createElement(Te,null),this.isUserDirectorySelected()&&r.createElement(rt,null),this.isEmailNotificationsSelected()&&r.createElement(at,null),this.isSubscriptionSelected()&&r.createElement(yt,null),this.isInternationalizationSelected()&&r.createElement(gt,null))))))))}}]),u}(r.Component);bt.propTypes={context:y().any,administrationWorkspaceContext:y().object};const Et=B(se(bt));var kt=function(e){(0,o.Z)(h,e);var t,n,s=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function h(){return(0,a.Z)(this,h),s.apply(this,arguments)}return(0,i.Z)(h,[{key:"privacyUrl",get:function(){return this.props.context.siteSettings.privacyLink}},{key:"creditsUrl",get:function(){return"https://www.passbolt.com/credits"}},{key:"unsafeUrl",get:function(){return"https://help.passbolt.com/faq/hosting/why-unsafe"}},{key:"termsUrl",get:function(){return this.props.context.siteSettings.termsLink}},{key:"versions",get:function(){var e=[],t=this.props.context.siteSettings.version;return t&&e.push(t),this.props.context.extensionVersion&&e.push(this.props.context.extensionVersion),e.join(" / ")}},{key:"isUnsafeMode",get:function(){var e=this.props.context.siteSettings.debug,t=this.props.context.siteSettings.url.startsWith("http://");return e||t}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement("footer",null,r.createElement("div",{className:"footer"},r.createElement("ul",{className:"footer-links"},this.isUnsafeMode&&r.createElement("li",{className:"error-message"},r.createElement("a",{title:"terms of service",href:this.unsafeUrl,target:"_blank",rel:"noopener noreferrer"},r.createElement(T.c,null,"Unsafe mode"))),this.termsUrl&&r.createElement("li",null,r.createElement("a",{href:this.termsUrl,target:"_blank",rel:"noopener noreferrer"},r.createElement(T.c,null,"Terms"))),this.privacyUrl&&r.createElement("li",null,r.createElement("a",{href:this.privacyUrl,target:"_blank",rel:"noopener noreferrer"},r.createElement(T.c,null,"Privacy"))),r.createElement("li",null,r.createElement("a",{href:this.creditsUrl,target:"_blank",rel:"noopener noreferrer"},r.createElement(T.c,null,"Credits"))),r.createElement("li",null,r.createElement("a",(0,u.Z)({href:this.creditsUrl,className:"tooltip-left"},this.versions&&{"data-tooltip":this.versions},{target:"_blank",rel:"noopener noreferrer"}),r.createElement(ke,{name:"heart-o"}))))))}}]),h}(r.Component);kt.propTypes={context:y().any,t:y().func};const wt=B((0,q.Z)("common")(kt));var xt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"isMfaEnabled",get:function(){return this.props.context.siteSettings.canIUse("multiFactorAuthentication")}},{key:"canIUseThemeCapability",get:function(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("accountSettings")}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){var e=this,t=function(t){return e.props.location.pathname.endsWith(t)};return r.createElement("div",{className:"navigation first shortcuts"},r.createElement("ul",null,r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("profile")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsProfileRequested},r.createElement("span",null,r.createElement(T.c,null,"Profile"))))))),r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("passphrase")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsPassphraseRequested},r.createElement("span",null,r.createElement(T.c,null,"Passphrase"))))))),r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("security-token")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsSecurityTokenRequested},r.createElement("span",null,r.createElement(T.c,null,"Security Token"))))))),this.canIUseThemeCapability&&r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("theme")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsThemeRequested},r.createElement("span",null,r.createElement(T.c,null,"Theme"))))))),this.isMfaEnabled&&r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("mfa")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsMfaRequested},r.createElement("span",null,r.createElement(T.c,null,"Multi Factor Authentication"))))))),r.createElement("li",null,r.createElement("div",{className:"row ".concat(t("keys")?"selected":"")},r.createElement("div",{className:"main-cell-wrapper"},r.createElement("div",{className:"main-cell"},r.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsKeysRequested},r.createElement("span",null,r.createElement(T.c,null,"Keys inspector")))))))))}}]),u}(r.Component);xt.propTypes={context:y().any,navigationContext:y().any,history:y().object,location:y().object,t:y().func};const Ct=B((0,O.EN)(me((0,q.Z)("common")(xt))));var St=function(e){(0,o.Z)(h,e);var t,n,s,u=(n=h,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function h(){return(0,a.Z)(this,h),u.apply(this,arguments)}return(0,i.Z)(h,[{key:"items",get:function(){return[r.createElement(Ye,{key:"bread-1",name:this.translate("All users"),onClick:this.props.navigationContext.onGoToUsersRequested}),r.createElement(Ye,{key:"bread-2",name:this.loggedInUserName,onClick:this.props.navigationContext.onGoToUserSettingsProfileRequested}),r.createElement(Ye,{key:"bread-3",name:this.getLastBreadcrumbItemName,onClick:this.onLastBreadcrumbClick.bind(this)})]}},{key:"loggedInUserName",get:function(){var e=this.props.context.loggedInUser;return e?"".concat(e.profile.first_name," ").concat(e.profile.last_name):""}},{key:"getLastBreadcrumbItemName",get:function(){var e=this,t={profile:this.translate("Profile"),passphrase:this.translate("Passphrase"),"security-token":this.translate("Security Token"),theme:this.translate("Theme"),mfa:this.translate("Multi Factor Authentication"),keys:this.translate("Keys inspector")};return t[Object.keys(t).find((function(t){return e.props.location.pathname.endsWith(t)}))]}},{key:"onLastBreadcrumbClick",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.props.location.pathname,this.props.history.push({pathname:t});case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement(He,{items:this.items})}}]),h}(r.Component);St.propTypes={context:y().any,location:y().object,history:y().object,navigationContext:y().any,t:y().func};const Rt=B((0,O.EN)(me((0,q.Z)("common")(St))));var Nt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement("iframe",{src:"".concat(this.props.context.trustedDomain,"/mfa/setup/select"),width:"100%",height:"100%"})}}]),u}(r.Component);Nt.propTypes={context:y().any};const Zt=B(Nt);var Tt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement("div",null,r.createElement("div",{className:"header second"},r.createElement(ve,null),r.createElement(ot,{disabled:!0}),r.createElement(xe,{baseUrl:this.props.context.trustedDomain,user:this.props.context.loggedInUser})),r.createElement("div",{className:"header third"}),r.createElement("div",{className:"panel main"},r.createElement("div",{className:"panel left"},r.createElement(Ct,null)),r.createElement("div",{className:"panel middle"},r.createElement(Rt,null),r.createElement(O.AW,{path:"/app/settings/mfa",component:Zt}))))}}]),u}(r.Component);Tt.propTypes={context:y().any};const qt=(0,O.EN)(B(Tt));var Ut=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).initEventHandlers(),t.createReferences(),t}return(0,i.Z)(u,[{key:"initEventHandlers",value:function(){this.handleCloseClick=this.handleCloseClick.bind(this)}},{key:"createReferences",value:function(){this.loginLinkRef=r.createRef()}},{key:"handleCloseClick",value:function(){this.goToLogin()}},{key:"goToLogin",value:function(){this.loginLinkRef.current.click()}},{key:"loginUrl",get:function(){var e=this.props.context.userSettings&&this.props.context.userSettings.getTrustedDomain();return e=e||this.props.context.trustedDomain,"".concat(e,"/auth/login")}},{key:"translate",get:function(){return this.props.t}},{key:"render",value:function(){return r.createElement(Pe,{title:this.translate("Session Expired"),onClose:this.handleCloseClick,className:"session-expired-dialog"},r.createElement("div",{className:"form-content"},r.createElement("p",null,r.createElement(T.c,null,"Your session has expired, you need to sign in."))),r.createElement("div",{className:"submit-wrapper clearfix"},r.createElement("a",{ref:this.loginLinkRef,href:this.loginUrl,className:"primary button",target:"_parent",role:"button",rel:"noopener noreferrer"},r.createElement(T.c,null,"Sign in"))))}}]),u}(r.Component);Ut.propTypes={context:y().any,t:y().func};const At=B((0,O.EN)((0,q.Z)("common")(Ut)));var Dt=function(e){(0,o.Z)(h,e);var t,n,s,u=(n=h,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function h(e){var t;return(0,a.Z)(this,h),(t=u.call(this,e)).bindCallbacks(),t.scheduledCheckIsAuthenticatedTimeout=null,t}return(0,i.Z)(h,[{key:"bindCallbacks",value:function(){this.handleSessionExpiredEvent=this.handleSessionExpiredEvent.bind(this)}},{key:"componentDidMount",value:function(){this.scheduleCheckIsAuthenticated()}},{key:"componentWillUnmount",value:function(){clearTimeout(this.scheduledCheckIsAuthenticatedTimeout)}},{key:"scheduleCheckIsAuthenticated",value:function(){var e=this;this.scheduledCheckIsAuthenticatedTimeout=setTimeout((0,p.Z)(m().mark((function t(){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.checkIsAuthenticated();case 2:t.sent?e.scheduleCheckIsAuthenticated():e.handleSessionExpiredEvent();case 4:case"end":return t.stop()}}),t)}))),6e4)}},{key:"checkIsAuthenticated",value:(t=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.props.context.onCheckIsAuthenticatedRequested();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"handleSessionExpiredEvent",value:function(){this.props.dialogContext.open(At)}},{key:"render",value:function(){return r.createElement(r.Fragment,null)}}]),h}(r.Component);Dt.propTypes={context:y().any,dialogContext:y().any};const It=B(S(Dt));function Pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,s)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var Ot=r.createContext({announcements:[],show:function(){},close:function(){}}),_t=function(e){(0,o.Z)(n,e);var t=Pt(n);function n(e){var r;return(0,a.Z)(this,n),(r=t.call(this,e)).state=r.defaultState,r}return(0,i.Z)(n,[{key:"defaultState",get:function(){var e,t=this;return{announcements:[],show:function(e,n){var r=(0,v.Z)();return t.setState({announcements:[].concat((0,h.Z)(t.state.announcements),[{key:r,Announcement:e,AnnouncementProps:n}])}),r},close:(e=(0,p.Z)(m().mark((function e(n){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.setState({announcements:t.state.announcements.filter((function(e){return n!==e.key}))});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})}}},{key:"render",value:function(){return r.createElement(Ot.Provider,{value:this.state},this.props.children)}}]),n}(r.Component);function Mt(e){return function(t){(0,o.Z)(s,t);var n=Pt(s);function s(){return(0,a.Z)(this,s),n.apply(this,arguments)}return(0,i.Z)(s,[{key:"render",value:function(){var t=this;return r.createElement(Ot.Consumer,null,(function(n){return r.createElement(e,(0,u.Z)({announcementContext:n},t.props))}))}}]),s}(r.Component)}_t.displayName="AnnouncementContextProvider",_t.propTypes={children:y().any};var Bt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(e){var t;return(0,a.Z)(this,u),(t=s.call(this,e)).bindCallbacks(),t}return(0,i.Z)(u,[{key:"bindCallbacks",value:function(){this.handleClose=this.handleClose.bind(this)}},{key:"handleClose",value:function(){this.props.onClose()}},{key:"render",value:function(){return r.createElement("div",{className:"".concat(this.props.className," announcement")},r.createElement("div",{className:"announcement-content"},this.props.canClose&&r.createElement("a",{className:"announcement-close",onClick:this.handleClose,role:"button"},r.createElement(ke,{name:"close"}),r.createElement("span",{className:"visually-hidden"},"Close")),this.props.children))}}]),u}(r.Component);Bt.propTypes={children:y().node,className:y().string,canClose:y().bool,onClose:y().func};const zt=Bt;var Gt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"formatDateTimeAgo",value:function(e){var t=ct.ou.fromISO(e),n=t.diffNow().toMillis();return n>-1e3&&n<0?this.translate("Just now"):t.toRelative({locale:this.props.context.locale})}},{key:"render",value:function(){return r.createElement(zt,{className:"subscription",onClose:this.props.onClose,canClose:!0},r.createElement("p",null,r.createElement(T.c,null,"Warning: "),r.createElement(T.c,null,"your subscription key will expire")," ",this.formatDateTimeAgo(this.props.expiry),".",r.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},r.createElement(T.c,null,"Manage Subscription"))))}}]),u}(r.Component);Gt.propTypes={context:y().any,expiry:y().string,navigationContext:y().any,onClose:y().func};const Ft=B(me(Mt((0,q.Z)("common")(Gt))));var Lt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement(zt,{className:"subscription",onClose:this.props.onClose,canClose:!1},r.createElement("p",null,r.createElement(T.c,null,"Warning: "),r.createElement(T.c,null,"your subscription key has expired. The stability of the application is at risk."),r.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},r.createElement(T.c,null,"Manage Subscription"))))}}]),u}(r.Component);Lt.propTypes={navigationContext:y().any,onClose:y().func,i18n:y().any};const Kt=me(Mt((0,q.Z)("common")(Lt)));var Wt=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement(zt,{className:"subscription",onClose:this.props.onClose,canClose:!1},r.createElement("p",null,r.createElement(T.c,null,"Warning: "),r.createElement(T.c,null,"your subscription key is not valid. The stability of the application is at risk."),r.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},r.createElement(T.c,null,"Manage Subscription"))))}}]),u}(r.Component);Wt.propTypes={navigationContext:y().any,onClose:y().func,i18n:y().any};const jt=me(Mt((0,q.Z)("common")(Wt)));var Ht=function(e){(0,o.Z)(d,e);var t,n,s,u,h=(s=d,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(s);if(u){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),(t=h.call(this,e)).bindCallbacks(),t}return(0,i.Z)(d,[{key:"bindCallbacks",value:function(){this.handleAnnouncementSubscriptionEvent=this.handleAnnouncementSubscriptionEvent.bind(this)}},{key:"componentDidMount",value:function(){this.handleAnnouncementSubscriptionEvent()}},{key:"componentDidUpdate",value:function(e){this.handleRefreshSubscriptionAnnouncement(e.context.refreshSubscriptionAnnouncement)}},{key:"handleRefreshSubscriptionAnnouncement",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.context.refreshSubscriptionAnnouncement===t||!this.props.context.refreshSubscriptionAnnouncement){e.next=5;break}return e.next=4,this.handleAnnouncementSubscriptionEvent();case 4:this.props.context.setContext({refreshSubscriptionAnnouncement:null});case 5:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"handleAnnouncementSubscriptionEvent",value:(t=(0,p.Z)(m().mark((function e(){var t;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.hideSubscriptionAnnouncement(),e.prev=1,e.next=4,this.props.context.onGetSubscriptionKeyRequested();case 4:t=e.sent,this.isSubscriptionGoingToExpire(t.expiry)&&this.props.announcementContext.show(Ft,{expiry:t.expiry}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),"PassboltSubscriptionError"===e.t0.name?this.props.announcementContext.show(Kt):this.props.announcementContext.show(jt);case 11:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(){return t.apply(this,arguments)})},{key:"hideSubscriptionAnnouncement",value:function(){var e=this,t=[Ft,Kt,jt];this.props.announcementContext.announcements.forEach((function(n){t.some((function(e){return e===n.Announcement}))&&e.props.announcementContext.close(n.key)}))}},{key:"isSubscriptionGoingToExpire",value:function(e){return ct.ou.fromISO(e)<ct.ou.now().plus({days:30})}},{key:"render",value:function(){return r.createElement(r.Fragment,null)}}]),d}(r.Component);Ht.propTypes={context:y().any,announcementContext:y().any};const Vt=B(Mt(Ht));var Yt=function(e){(0,o.Z)(d,e);var t,n,s,h=(n=d,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(n);if(s){var r=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),(t=h.call(this,e)).bindCallback(),t}return(0,i.Z)(d,[{key:"bindCallback",value:function(){this.close=this.close.bind(this)}},{key:"close",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.props.announcementContext.close(t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"render",value:function(){var e=this;return r.createElement(r.Fragment,null,this.props.announcementContext.announcements.map((function(t){var n=t.key,s=t.Announcement,a=t.AnnouncementProps;return r.createElement(s,(0,u.Z)({key:n,onClose:function(){return e.close(n)}},a))})),this.props.children)}}]),d}(r.Component);Yt.propTypes={announcementContext:y().any,children:y().any};const $t=Mt(Yt);var Jt=n(484);const Qt=function(e,t){return t.split(".").reduce((function(e,t){return void 0===e?e:e[t]}),e)},Xt=function(e,t){if(void 0===e||"string"!=typeof e||!e.length)return!1;if((t=t||{}).whitelistedProtocols&&!Array.isArray(t.whitelistedProtocols))throw new TypeError("The whitelistedProtocols should be an array of string.");if(t.defaultProtocol&&"string"!=typeof t.defaultProtocol)throw new TypeError("The defaultProtocol should be a string.");var n=t.whitelistedProtocols||[en.HTTP,en.HTTPS],r=[en.JAVASCRIPT],s=t.defaultProtocol||"";!/^((?!:\/\/).)*:\/\//.test(e)&&s&&(e="".concat(s,"//").concat(e));try{var a=new URL(e);return!r.includes(a.protocol)&&!!n.includes(a.protocol)&&a.href}catch(e){return!1}};var en={FTP:"http:",FTPS:"https:",HTTP:"http:",HTTPS:"https:",JAVASCRIPT:"javascript:",SSH:"ssh:"},tn=function(){function e(t){(0,a.Z)(this,e),this.settings=t}var t;return(0,i.Z)(e,[{key:"canIUse",value:function(e){var t=!1,n="passbolt.plugins.".concat(e),r=Qt(this.settings,n)||null;if(r&&"object"===(0,Jt.Z)(r)){var s=Qt(r,"enabled");void 0!==s&&!0!==s||(t=!0)}return t}},{key:"getPluginSettings",value:function(e){var t="passbolt.plugins.".concat(e);return Qt(this.settings,t)}},{key:"getRememberMeOptions",value:function(){return(this.getPluginSettings("rememberMe")||{}).options||{}}},{key:"hasRememberMeUntilILogoutOption",get:function(){return void 0!==(this.getRememberMeOptions()||{})[-1]}},{key:"getServerTimezone",value:function(){return Qt(this.settings,"passbolt.app.server_timezone")}},{key:"termsLink",get:function(){var e=Qt(this.settings,"passbolt.legal.terms.url");return!!e&&Xt(e)}},{key:"privacyLink",get:function(){var e=Qt(this.settings,"passbolt.legal.privacy_policy.url");return!!e&&Xt(e)}},{key:"registrationPublic",get:function(){return!0===Qt(this.settings,"passbolt.registration.public")}},{key:"debug",get:function(){return!0===Qt(this.settings,"app.debug")}},{key:"url",get:function(){return Qt(this.settings,"app.url")||""}},{key:"version",get:function(){return Qt(this.settings,"app.version.number")}},{key:"locale",get:function(){return Qt(this.settings,"app.locale")||e.DEFAULT_LOCALE.locale}},{key:"setLocale",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.settings.app.locale=t;case 1:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"supportedLocales",get:function(){return Qt(this.settings,"passbolt.plugins.locale.options")||e.DEFAULT_SUPPORTED_LOCALES}}],[{key:"DEFAULT_SUPPORTED_LOCALES",get:function(){return[e.DEFAULT_LOCALE]}},{key:"DEFAULT_LOCALE",get:function(){return{locale:"en-UK",label:"English"}}}]),e}(),nn=function(){function e(t){(0,a.Z)(this,e),this.setToken(t)}return(0,i.Z)(e,[{key:"setToken",value:function(e){this.validate(e),this.token=e}},{key:"validate",value:function(e){if(!e)throw new TypeError("CSRF token cannot be empty.");if("string"!=typeof e)throw new TypeError("CSRF token should be a string.")}},{key:"toFetchHeaders",value:function(){return{"X-CSRF-Token":this.token}}}]),e}(),rn=function(){function e(){(0,a.Z)(this,e)}return(0,i.Z)(e,[{key:"setBaseUrl",value:function(e){if(!e)throw new TypeError("ApiClientOption baseUrl is required.");if("string"==typeof e)try{this.baseUrl=new URL(e)}catch(e){throw new TypeError("ApiClientOption baseUrl is invalid.")}else{if(!(e instanceof URL))throw new TypeError("ApiClientOptions baseurl should be a string or URL");this.baseUrl=e}return this}},{key:"setCsrfToken",value:function(e){if(!e)throw new TypeError("ApiClientOption csrfToken is required.");if("string"==typeof e)this.csrfToken=new nn(e);else{if(!(e instanceof nn))throw new TypeError("ApiClientOption csrfToken should be a string or a valid CsrfToken.");this.csrfToken=e}return this}},{key:"setResourceName",value:function(e){if(!e)throw new TypeError("ApiClientOptions.setResourceName resourceName is required.");if("string"!=typeof e)throw new TypeError("ApiClientOptions.setResourceName resourceName should be a valid string.");return this.resourceName=e,this}},{key:"getBaseUrl",value:function(){return this.baseUrl}},{key:"getResourceName",value:function(){return this.resourceName}},{key:"getHeaders",value:function(){if(this.csrfToken)return this.csrfToken.toFetchHeaders()}}]),e}();const sn=function(e){(0,o.Z)(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,a.Z)(this,s),(t=r.call(this,e)).name="PassboltSubscriptionError",t.subscription=n,t}return s}((0,K.Z)(Error));var an=function(e){(0,o.Z)(E,e);var t,n,s,u,h,d,f,y,v,g,b=(v=E,g=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(v);if(g){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function E(e){var t;return(0,a.Z)(this,E),(t=b.call(this,e)).state=t.defaultState,t}return(0,i.Z)(E,[{key:"componentDidMount",value:(y=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getLoggedInUser();case 2:return e.next=4,this.getSiteSettings();case 4:this.initLocale(),this.removeSplashScreen();case 6:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"defaultState",get:function(){var e=this;return{name:"api",loggedInUser:null,siteSettings:null,trustedDomain:this.baseUrl,basename:new URL(this.baseUrl).pathname,getApiClientOptions:this.getApiClientOptions.bind(this),locale:null,displayTestUserDirectoryDialogProps:{userDirectoryTestResult:null},setContext:function(t){e.setState(t)},onLogoutRequested:function(){return e.onLogoutRequested()},onCheckIsAuthenticatedRequested:function(){return e.onCheckIsAuthenticatedRequested()},onGetSubscriptionKeyRequested:function(){return e.onGetSubscriptionKeyRequested()},onRefreshLocaleRequested:this.onRefreshLocaleRequested.bind(this)}}},{key:"isReady",get:function(){return null!==this.state.siteSettings&&null!==this.state.locale}},{key:"baseUrl",get:function(){var e=document.getElementsByTagName("base")&&document.getElementsByTagName("base")[0];return e?e.attributes.href.value.replace(/\/*$/g,""):(console.error("Unable to retrieve the page base tag"),"")}},{key:"getApiClientOptions",value:function(){return(new rn).setBaseUrl(this.state.trustedDomain).setCsrfToken(this.getCsrfToken())}},{key:"getCsrfToken",value:function(){var e=document.cookie;if(e){var t=e.split("; ");if(t){var n=t.find((function(e){return e.startsWith("csrfToken")}));if(n){var r=n.split("=");return r&&2===r.length?r[1]:void 0}}}}},{key:"getLoggedInUser",value:(f=(0,p.Z)(m().mark((function e(){var t,n,r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.getApiClientOptions().setResourceName("users"),n=new $(t),e.next=4,n.get("me");case 4:r=e.sent,s=r.body,this.setState({loggedInUser:s});case 7:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getSiteSettings",value:(d=(0,p.Z)(m().mark((function e(){var t,n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.getApiClientOptions().setResourceName("settings"),n=new $(t),e.next=4,n.findAll();case 4:return r=e.sent,e.next=7,this.setState({siteSettings:new tn(r.body)});case 7:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"initLocale",value:(h=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getUserLocale();case 2:if(!(t=e.sent)){e.next=5;break}return e.abrupt("return",this.setState({locale:t.locale}));case 5:return n=this.state.siteSettings.locale,e.abrupt("return",this.setState({locale:n}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"getUserLocale",value:(u=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getUserSettings();case 2:if(t=e.sent,!(n=t.find((function(e){return"locale"===e.property})))){e.next=6;break}return e.abrupt("return",this.state.siteSettings.supportedLocales.find((function(e){return e.locale===n.value})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getUserSettings",value:(s=(0,p.Z)(m().mark((function e(){var t,n,r;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.getApiClientOptions().setResourceName("account/settings"),n=new $(t),e.next=4,n.findAll();case 4:return r=e.sent,e.abrupt("return",r.body);case 6:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"removeSplashScreen",value:function(){document.getElementsByTagName("html")[0].classList.remove("launching")}},{key:"onLogoutRequested",value:function(){document.location.href="".concat(this.state.trustedDomain,"/auth/logout")}},{key:"onCheckIsAuthenticatedRequested",value:(n=(0,p.Z)(m().mark((function e(){var t,n;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.getApiClientOptions().setResourceName("auth"),n=new $(t),e.next=5,n.get("is-authenticated");case 5:return e.abrupt("return",!0);case 8:if(e.prev=8,e.t0=e.catch(0),!(e.t0 instanceof W)){e.next=13;break}if(403!==e.t0.data.code){e.next=13;break}return e.abrupt("return",!1);case 13:throw e.t0;case 14:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(){return n.apply(this,arguments)})},{key:"onGetSubscriptionKeyRequested",value:(t=(0,p.Z)(m().mark((function e(){var t,n,r,s;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.getApiClientOptions().setResourceName("ee/subscription"),n=new $(t),e.next=5,n.get("key");case 5:return r=e.sent,e.abrupt("return",r.body);case 9:if(e.prev=9,e.t0=e.catch(0),!(e.t0 instanceof W)){e.next=16;break}if(!e.t0.data||402!==e.t0.data.code){e.next=16;break}throw s=e.t0.data.body,new sn(e.t0.message,s);case 16:throw e.t0;case 17:case"end":return e.stop()}}),e,this,[[0,9]])}))),function(){return t.apply(this,arguments)})},{key:"onRefreshLocaleRequested",value:function(e){this.state.siteSettings.setLocale(e),this.initLocale()}},{key:"render",value:function(){var e=this.isReady;return r.createElement(z.Provider,{value:this.state},e&&this.props.children)}}]),E}(r.Component);an.propTypes={children:y().any};const on=an;var cn=n(7412),ln=n(8718),un=n(3554);var hn=function(e){(0,o.Z)(f,e);var t,n,s,u,h,d=(u=f,h=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=(0,l.Z)(u);if(h){var n=(0,l.Z)(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return(0,c.Z)(this,e)});function f(e){var t;return(0,a.Z)(this,f),(t=d.call(this,e)).state=t.defaultState,t}return(0,i.Z)(f,[{key:"defaultState",get:function(){return{ready:!1}}},{key:"componentDidMount",value:(s=(0,p.Z)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,cn.Z.use(ln.Db).use(un.Z).init({lng:this.locale,load:"currentOnly",react:{useSuspense:!1},backend:{loadPath:this.props.loadingPath||"/locales/{{lng}}/{{ns}}.json"},supportedLngs:this.supportedLocales,fallbackLng:!1,ns:["common"],defaultNS:"common",keySeparator:!1,nsSeparator:!1,debug:!1});case 2:this.setState({ready:!0});case 3:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"supportedLocales",get:function(){return this.props.context.siteSettings.supportedLocales?this.props.context.siteSettings.supportedLocales.map((function(e){return e.locale})):[this.locale]}},{key:"locale",get:function(){return this.props.context.locale}},{key:"componentDidUpdate",value:(n=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.handleLocaleChange(t.context.locale);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"handleLocaleChange",value:(t=(0,p.Z)(m().mark((function e(t){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.locale===t){e.next=4;break}return e.next=4,cn.Z.changeLanguage(this.locale);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"isReady",get:function(){return this.state.ready}},{key:"render",value:function(){return r.createElement(r.Fragment,null,this.isReady&&this.props.children)}}]),f}(r.Component);hn.propTypes={context:y().any,loadingPath:y().any,children:y().any};const pn=B(hn);const dn=function(e){(0,o.Z)(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(r,arguments,s)}else e=r.apply(this,arguments);return(0,c.Z)(this,e)});function u(){return(0,a.Z)(this,u),s.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return r.createElement(on,null,r.createElement(z.Consumer,null,(function(e){return r.createElement(pn,{loadingPath:"".concat(e.trustedDomain,"/locales/{{lng}}/{{ns}}.json")},r.createElement(E,null,r.createElement(C,null,r.createElement(_t,null,r.createElement(Z,null,r.createElement(I,null),r.createElement(It,null),e.loggedInUser&&"admin"===e.loggedInUser.role.name&&e.siteSettings.canIUse("ee")&&r.createElement(Vt,null),r.createElement(P.VK,{basename:e.basename},r.createElement(de,null,r.createElement(O.rs,null,r.createElement(O.AW,{exact:!0,path:["/app/administration/subscription"]}),r.createElement(O.AW,{path:"/app/administration"},r.createElement(ne,null,r.createElement(oe,null),r.createElement(le,null),r.createElement($t,null),r.createElement(Et,null))),r.createElement(O.AW,{path:"/app/settings/mfa"},r.createElement(oe,null),r.createElement(le,null),r.createElement($t,null),r.createElement("div",{id:"container",className:"page settings"},r.createElement("div",{id:"app",className:"app",tabIndex:"1000"},r.createElement("div",{className:"header first"},r.createElement(ye,null)),r.createElement(qt,null))))))),r.createElement(wt,null))))))})))}}]),u}(r.Component);var mn=document.createElement("div");document.body.appendChild(mn),s.render(r.createElement(dn,null),mn)}},s={};function a(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return r[e].call(n.exports,n,n.exports,a),n.exports}a.m=r,e=[],a.O=(t,n,r,s)=>{if(!n){var i=1/0;for(l=0;l<e.length;l++){for(var[n,r,s]=e[l],o=!0,c=0;c<n.length;c++)(!1&s||i>=s)&&Object.keys(a.O).every((e=>a.O[e](n[c])))?n.splice(c--,1):(o=!1,s<i&&(i=s));o&&(e.splice(l--,1),t=r())}return t}s=s||0;for(var l=e.length;l>0&&e[l-1][2]>s;l--)e[l]=e[l-1];e[l]=[n,r,s]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var s=Object.create(null);a.r(s);var i={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,a.d(s,i),s},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.j=978,(()=>{var e={978:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var r,s,[i,o,c]=n,l=0;for(r in o)a.o(o,r)&&(a.m[r]=o[r]);if(c)var u=c(a);for(t&&t(n);l<i.length;l++)s=i[l],a.o(e,s)&&e[s]&&e[s][0](),e[i[l]]=0;return a.O(u)},n=self.webpackChunkpassbolt_styleguide=self.webpackChunkpassbolt_styleguide||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=a.O(void 0,[596],(()=>a(6223)));i=a.O(i)})();
|
|
2
|
+
(()=>{"use strict";var e,t,s,n={4569:(e,t,s)=>{var n=s(7294),a=s(3935),r=s(5697),i=s.n(r),l=s(2045);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},o.apply(this,arguments)}const c=n.createContext({feedbacks:[],displaySuccess:()=>{},displayError:()=>{},remove:()=>{}});class h extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{feedbacks:[],displaySuccess:this.displaySuccess.bind(this),displayError:this.displayError.bind(this),remove:this.remove.bind(this)}}async displaySuccess(e){await this.setState({feedbacks:[...this.state.feedbacks,{id:(0,l.Z)(),type:"success",message:e}]})}async displayError(e){await this.setState({feedbacks:[...this.state.feedbacks,{id:(0,l.Z)(),type:"error",message:e}]})}async remove(e){await this.setState({feedbacks:this.state.feedbacks.filter((t=>e.id!==t.id))})}render(){return n.createElement(c.Provider,{value:this.state},this.props.children)}}function d(e){return class extends n.Component{render(){return n.createElement(c.Consumer,null,(t=>n.createElement(e,o({actionFeedbackContext:t},this.props))))}}}function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},u.apply(this,arguments)}h.displayName="ActionFeedbackContextProvider",h.propTypes={children:i().any};const p=n.createContext({dialogs:[],open:()=>{},close:()=>{}});class m extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{dialogs:[],open:(e,t)=>{const s=(0,l.Z)();return this.setState({dialogs:[...this.state.dialogs,{key:s,Dialog:e,DialogProps:t}]}),s},close:async e=>await this.setState({dialogs:this.state.dialogs.filter((t=>e!==t.key))})}}render(){return n.createElement(p.Provider,{value:this.state},this.props.children)}}function g(e){return class extends n.Component{render(){return n.createElement(p.Consumer,null,(t=>n.createElement(e,u({dialogContext:t},this.props))))}}}function E(){return E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},E.apply(this,arguments)}m.displayName="DialogContextProvider",m.propTypes={children:i().any};const b=n.createContext({ContextualMenu:null,show:()=>{},hide:()=>{}});class y extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{contextualMenus:[],show:(e,t)=>this.setState({contextualMenus:[...this.state.contextualMenus,{ContextualMenuComponent:e,componentProps:t}]}),hide:e=>this.setState({contextualMenus:this.state.contextualMenus.filter(((t,s)=>s!==e))})}}render(){return n.createElement(b.Provider,{value:this.state},this.props.children)}}y.displayName="ContextualMenuContextProvider",y.propTypes={children:i().any};var f=s(9116),v=s(8831);class C extends n.Component{static get DEFAULT_WAIT_TO_CLOSE_TIME_IN_MS(){return 500}constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{shouldRender:!0,isPersisted:!1,timeoutId:null}}componentDidMount(){this.displayWithTimer(this.props.displayTimeInMs)}componentDidUpdate(e){const t=e&&e.feedback.id!==this.props.feedback.id,s=e&&this.props.displayTimeInMs&&e.displayTimeInMs!==this.props.displayTimeInMs;t?(this.setState({shouldRender:!0}),this.displayWithTimer(this.props.displayTimeInMs)):s&&this.updateTimer(this.props.displayTimeInMs)}componentWillUnmount(){this.state.timeoutId&&clearTimeout(this.state.timeoutId)}bindCallbacks(){this.persist=this.persist.bind(this),this.displayWithTimer=this.displayWithTimer.bind(this),this.close=this.close.bind(this)}displayWithTimer(e){this.state.timeoutId&&clearTimeout(this.state.timeoutId);const t=setTimeout(this.close,e),s=Date.now();this.setState({timeoutId:t,time:s})}updateTimer(e){const t=e-(Date.now()-this.state.time);t>0?this.displayWithTimer(t):(clearTimeout(this.state.timeoutId),this.close())}persist(){this.state.timeoutId&&!this.state.isPersisted&&(clearTimeout(this.state.timeoutId),this.setState({isPersisted:!0}))}close(){this.setState({shouldRender:!1}),setTimeout(this.props.onClose,C.DEFAULT_WAIT_TO_CLOSE_TIME_IN_MS)}render(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"notification",onMouseOver:this.persist,onMouseLeave:this.displayWithTimer,onClick:this.close},n.createElement("div",{className:`message animated ${this.state.shouldRender?"fadeInUp":"fadeOutUp"} warning`},n.createElement("span",{className:"content"},n.createElement("strong",null,"success"===this.props.feedback.type&&n.createElement(n.Fragment,null,n.createElement(f.c,null,"Success"),": "),"error"===this.props.feedback.type&&n.createElement(n.Fragment,null,n.createElement(f.c,null,"Error"),": ")),this.props.feedback.message))))}}C.propTypes={feedback:i().object,onClose:i().func,displayTimeInMs:i().number};const w=(0,v.Z)("common")(C);class S extends n.Component{constructor(e){super(e),this.bindCallbacks()}static get DEFAULT_DISPLAY_TIME_IN_MS(){return 5e3}static get DEFAULT_DISPLAY_MIN_TIME_IN_MS(){return 1200}bindCallbacks(){this.close=this.close.bind(this)}get feedbackToDisplay(){return this.props.actionFeedbackContext.feedbacks[0]}get length(){return this.props.actionFeedbackContext.feedbacks.length}get hasFeedbacks(){return this.length>0}async close(e){await this.props.actionFeedbackContext.remove(e)}render(){const e=this.length>1?S.DEFAULT_DISPLAY_MIN_TIME_IN_MS:S.DEFAULT_DISPLAY_TIME_IN_MS;return n.createElement(n.Fragment,null,this.hasFeedbacks&&n.createElement("div",{className:"notification-container"},n.createElement(w,{feedback:this.feedbackToDisplay,onClose:()=>this.close(this.feedbackToDisplay),displayTimeInMs:e})))}}S.propTypes={actionFeedbackContext:i().any};const k=d(S);var x=s(3727),N=s(5977);function T(){return T=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},T.apply(this,arguments)}const q=n.createContext({user:null,users:null,roles:null,rememberMeOptions:{},resources:null,resource:null,shareResources:null,selectedResources:null,selectedUser:null,folders:null,resourceCommentId:null,mustRefreshComments:!1,siteSettings:null,userSettings:null,onCheckIsAuthenticatedRequested:null});function U(e){return class extends n.Component{render(){return n.createElement(q.Consumer,null,(t=>n.createElement(e,T({context:t},this.props))))}}}const A=q;function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},I.apply(this,arguments)}const D=n.createContext({counter:[],add:()=>{},remove:()=>{}});class R extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{counter:0,add:()=>{this.setState({counter:this.state.counter+1})},remove:()=>{this.setState({counter:Math.min(this.state.counter-1,0)})}}}render(){return n.createElement(D.Provider,{value:this.state},this.props.children)}}R.propTypes={children:i().any};class _ extends Error{constructor(e,t){super(e),this.name="PassboltApiFetchError",this.data=t||{}}}const M=_;class z extends Error{constructor(){super("An internal error occurred. The server response could not be parsed. Please contact your administrator."),this.name="PassboltBadResponseError"}}const G=z;class O extends Error{constructor(e){super(e=e||"The service is unavailable"),this.name="PassboltServiceUnavailableError"}}const P=O;class F{constructor(e){if(this.options=e,!this.options.getBaseUrl())throw new TypeError("ApiClient constructor error: baseUrl is required.");if(!this.options.getResourceName())throw new TypeError("ApiClient constructor error: resourceName is required.");try{let e=this.options.getBaseUrl().toString();e.endsWith("/")&&(e=e.slice(0,-1)),this.baseUrl=`${e}/${this.options.getResourceName()}`,this.baseUrl=new URL(this.baseUrl)}catch(e){throw new TypeError("ApiClient constructor error: b.")}this.apiVersion="api-version=v2"}getDefaultHeaders(){return{Accept:"application/json","content-type":"application/json"}}buildFetchOptions(){return{credentials:"include",headers:{...this.getDefaultHeaders(),...this.options.getHeaders()}}}async get(e,t){this.assertValidId(e);const s=this.buildUrl(`${this.baseUrl}/${e}`,t||{});return this.fetchAndHandleResponse("GET",s)}async delete(e,t,s,n){let a;this.assertValidId(e),void 0===n&&(n=!1),a=n?this.buildUrl(`${this.baseUrl}/${e}/dry-run`,s||{}):this.buildUrl(`${this.baseUrl}/${e}`,s||{});let r=null;return t&&(r=this.buildBody(t)),this.fetchAndHandleResponse("DELETE",a,r)}async findAll(e){const t=this.buildUrl(this.baseUrl.toString(),e||{});return await this.fetchAndHandleResponse("GET",t)}async create(e,t){const s=this.buildUrl(this.baseUrl.toString(),t||{}),n=this.buildBody(e);return this.fetchAndHandleResponse("POST",s,n)}async update(e,t,s,n){let a;this.assertValidId(e),void 0===n&&(n=!1),a=n?this.buildUrl(`${this.baseUrl}/${e}/dry-run`,s||{}):this.buildUrl(`${this.baseUrl}/${e}`,s||{});let r=null;return t&&(r=this.buildBody(t)),this.fetchAndHandleResponse("PUT",a,r)}assertValidId(e){if(!e)throw new TypeError("ApiClient.assertValidId error: id cannot be empty");if("string"!=typeof e)throw new TypeError("ApiClient.assertValidId error: id should be a string")}assertMethod(e){"string"!=typeof e&&new TypeError("ApiClient.assertValidMethod method should be a string."),["GET","POST","PUT","DELETE"].indexOf(e)<0&&new TypeError(`ApiClient.assertValidMethod error: method ${e} is not supported.`)}assertUrl(e){if(!e)throw new TypeError("ApliClient.assertUrl error: url is required.");if(!(e instanceof URL))throw new TypeError("ApliClient.assertUrl error: url should be a valid URL object.")}assertBody(e){"string"!=typeof e&&new TypeError("ApiClient.assertBody error: body should be a string.")}buildBody(e){return JSON.stringify(e)}buildUrl(e,t){if("string"!=typeof e)throw new TypeError("ApiClient.buildUrl error: url should be a string.");const s=new URL(`${e}.json?${this.apiVersion}`);t=t||{};for(const[e,n]of Object.entries(t)){if("string"!=typeof e)throw new TypeError("ApiClient.buildUrl error: urlOptions key should be a string.");if("string"==typeof n)s.searchParams.append(e,n);else{if(!Array.isArray(n))throw new TypeError("ApiClient.buildUrl error: urlOptions value should be a string or array.");n.forEach((t=>{s.searchParams.append(e,t)}))}}return s}async fetchAndHandleResponse(e,t,s,n){let a,r;this.assertUrl(t),this.assertMethod(e),s&&this.assertBody(s);const i={...this.buildFetchOptions(),...n};i.method=e,s&&(i.body=s);try{a=await fetch(t.toString(),i)}catch(e){throw new P(e.message)}try{r=await a.json()}catch(e){throw new G}if(!a.ok){const e=r.header.message;throw new M(e,{code:a.status,body:r.body})}return r}}function L(){return L=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},L.apply(this,arguments)}const K=n.createContext({selectedAdministration:null,can:{save:!1,test:!1,synchronize:!1},must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},onGetMfaRequested:()=>{},onSaveMfaRequested:()=>{},onGetUsersDirectoryRequested:()=>{},onUpdateUsersDirectoryRequested:()=>{},onDeleteUsersDirectoryRequested:()=>{},onTestUsersDirectoryRequested:()=>{},onGetSimulateSynchronizeUsersDirectoryRequested:()=>{},onGetSynchronizeUsersDirectoryRequested:()=>{},onGetUsersRequested:()=>{},onGetEmailNotificationsRequested:()=>{},onSaveEmailNotificationsRequested:()=>{},onUpdateSubscriptionKeyRequested:()=>{},onSaveLocaleRequested:()=>{},onSaveEnabled:()=>{},onMustSaveSettings:()=>{},onTestEnabled:()=>{},onMustTestSettings:()=>{},onSynchronizeEnabled:()=>{},onMustSynchronizeSettings:()=>{},onMustEditSubscriptionKey:()=>{},onMustRefreshSubscriptionKey:()=>{},onResetActionsSettings:()=>{}});class W extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{selectedAdministration:H.NONE,can:{save:!1,test:!1,synchronize:!1},must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1},onGetMfaRequested:this.onGetMfaRequested.bind(this),onSaveMfaRequested:this.onSaveMfaRequested.bind(this),onGetUsersDirectoryRequested:this.onGetUsersDirectoryRequested.bind(this),onUpdateUsersDirectoryRequested:this.onUpdateUsersDirectoryRequested.bind(this),onDeleteUsersDirectoryRequested:this.onDeleteUsersDirectoryRequested.bind(this),onTestUsersDirectoryRequested:this.onTestUsersDirectoryRequested.bind(this),onGetSimulateSynchronizeUsersDirectoryRequested:this.onGetSimulateSynchronizeUsersDirectoryRequested.bind(this),onGetSynchronizeUsersDirectoryRequested:this.onGetSynchronizeUsersDirectoryRequested.bind(this),onGetUsersRequested:this.onGetUsersRequested.bind(this),onGetEmailNotificationsRequested:this.onGetEmailNotificationsRequested.bind(this),onSaveEmailNotificationsRequested:this.onSaveEmailNotificationsRequested.bind(this),onUpdateSubscriptionKeyRequested:this.onUpdateSubscriptionKeyRequested.bind(this),onSaveLocaleRequested:this.onSaveLocaleRequested.bind(this),onSaveEnabled:this.handleSaveEnabled.bind(this),onMustSaveSettings:this.handleMustSaveSettings.bind(this),onTestEnabled:this.handleTestEnabled.bind(this),onMustTestSettings:this.handleMustTestSettings.bind(this),onSynchronizeEnabled:this.handleSynchronizeEnabled.bind(this),onMustSynchronizeSettings:this.handleMustSynchronizeSettings.bind(this),onMustEditSubscriptionKey:this.handleMustEditSubscriptionKey.bind(this),onMustRefreshSubscriptionKey:this.handleMustRefreshSubscriptionKey.bind(this),onResetActionsSettings:this.handleResetActionsSettings.bind(this)}}componentDidMount(){this.handleAdministrationMenuRouteChange()}async componentDidUpdate(e){await this.handleRouteChange(e.location)}async handleSaveEnabled(){await this.setState({can:{...this.state.can,save:!0}})}async handleMustSaveSettings(){await this.setState({must:{...this.state.must,save:!0}})}async handleTestEnabled(e){await this.setState({can:{...this.state.can,test:e}})}async handleMustTestSettings(){await this.setState({must:{...this.state.must,test:!0}})}async handleSynchronizeEnabled(e){await this.setState({can:{...this.state.can,synchronize:e}})}async handleMustSynchronizeSettings(){await this.setState({must:{...this.state.must,synchronize:!0}})}async handleMustEditSubscriptionKey(){await this.setState({must:{...this.state.must,editSubscriptionKey:!0}})}async handleMustRefreshSubscriptionKey(){await this.setState({must:{...this.state.must,refreshSubscriptionKey:!0}})}async handleResetActionsSettings(){await this.setState({must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1}})}async handleRouteChange(e){this.props.location.key!==e.key&&await this.handleAdministrationMenuRouteChange()}async handleAdministrationMenuRouteChange(){const e=this.props.location.pathname.includes("mfa"),t=this.props.location.pathname.includes("users-directory"),s=this.props.location.pathname.includes("email-notification"),n=this.props.location.pathname.includes("subscription"),a=this.props.location.pathname.includes("internationalization");let r;e?r=H.MFA:t?r=H.USER_DIRECTORY:s?r=H.EMAIL_NOTIFICATION:n?r=H.SUBSCRIPTION:a&&(r=H.INTERNATIONALIZATION),await this.setState({selectedAdministration:r,can:{save:!1,test:!1,synchronize:!1},must:{save:!1,test:!1,synchronize:!1,editSubscriptionKey:!1,refreshSubscriptionKey:!1}})}async onGetMfaRequested(){const e=this.props.context.getApiClientOptions().setResourceName("mfa/settings");return new F(e).findAll()}async onSaveMfaRequested(e){const t=this.props.context.getApiClientOptions().setResourceName("mfa/settings"),s=new F(t);await s.create(e)}async onGetUsersDirectoryRequested(){const e=this.props.context.getApiClientOptions().setResourceName("directorysync/settings");return new F(e).findAll()}async onUpdateUsersDirectoryRequested(e){const t=this.props.context.getApiClientOptions().setResourceName("directorysync");return new F(t).update("settings",e)}async onDeleteUsersDirectoryRequested(){const e=this.props.context.getApiClientOptions().setResourceName("directorysync");return new F(e).delete("settings")}async onTestUsersDirectoryRequested(e){const t=this.props.context.getApiClientOptions().setResourceName("directorysync/settings/test");return new F(t).create(e)}async onGetSimulateSynchronizeUsersDirectoryRequested(){const e=this.props.context.getApiClientOptions().setResourceName("directorysync");return new F(e).get("synchronize/dry-run")}async onGetSynchronizeUsersDirectoryRequested(){const e=this.props.context.getApiClientOptions().setResourceName("directorysync/synchronize");return new F(e).create({})}async onGetUsersRequested(){const e=this.props.context.getApiClientOptions().setResourceName("users");return new F(e).findAll()}async onGetEmailNotificationsRequested(){const e=this.props.context.getApiClientOptions().setResourceName("settings/emails/notifications");return new F(e).findAll()}async onSaveEmailNotificationsRequested(e){const t=this.props.context.getApiClientOptions().setResourceName("settings/emails/notifications"),s=new F(t);await s.create(e)}async onUpdateSubscriptionKeyRequested(e){return this.props.context.port.request("passbolt.subscription.update",e)}async onSaveLocaleRequested(e){const t=this.props.context.getApiClientOptions().setResourceName("locale/settings");return new F(t).create({value:e})}render(){return n.createElement(K.Provider,{value:this.state},this.props.children)}}W.displayName="AdministrationWorkspaceContextProvider",W.propTypes={context:i().object,children:i().any,location:i().object,match:i().object,history:i().object,loadingContext:i().object};const B=(0,N.EN)(U((j=W,class extends n.Component{render(){return n.createElement(D.Consumer,null,(e=>n.createElement(j,I({loadingContext:e},this.props))))}})));var j;function $(e){return class extends n.Component{render(){return n.createElement(K.Consumer,null,(t=>n.createElement(e,L({administrationWorkspaceContext:t},this.props))))}}}const H={NONE:"NONE",MFA:"MFA",USER_DIRECTORY:"USER-DIRECTORY",EMAIL_NOTIFICATION:"EMAIL-NOTIFICATION",SUBSCRIPTION:"SUBSCRIPTION",INTERNATIONALIZATION:"INTERNATIONALIZATION"};function V(){return V=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},V.apply(this,arguments)}class Z extends n.Component{constructor(e){super(e),this.bindCallback()}bindCallback(){this.close=this.close.bind(this)}async close(e){this.props.dialogContext.close(e)}render(){return n.createElement(n.Fragment,null,this.props.dialogContext.dialogs.map((({key:e,Dialog:t,DialogProps:s})=>n.createElement(t,V({key:e,onClose:()=>this.close(e)},s)))),this.props.children)}}Z.propTypes={dialogContext:i().any,children:i().any};const Y=g(Z);function J(){return J=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},J.apply(this,arguments)}class Q extends n.Component{constructor(e){super(e),this.createRefs(),this.bindCallback()}bindCallback(){this.handleHide=this.handleHide.bind(this)}createRefs(){this.elementRef=n.createRef()}handleHide(e){this.props.contextualMenuContext.hide(e)}render(){return n.createElement("div",{ref:this.elementRef},this.props.contextualMenuContext.contextualMenus.map(((e,t)=>n.createElement(e.ContextualMenuComponent,J({key:t,hide:()=>this.handleHide(t)},e.componentProps)))))}}Q.propTypes={contextualMenuContext:i().any};const X=function(e){return class extends n.Component{render(){return n.createElement(b.Consumer,null,(t=>n.createElement(e,E({contextualMenuContext:t},this.props))))}}}(Q);function ee(){return ee=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},ee.apply(this,arguments)}const te=n.createContext({onGoToAdministrationRequested:()=>{},onGoToAdministrationMfaRequested:()=>{},onGoToAdministrationUsersDirectoryRequested:()=>{},onGoToAdministrationEmailNotificationsRequested:()=>{},onGoToAdministrationSubscriptionRequested:()=>{},onGoToPasswordsRequested:()=>{},onGoToUsersRequested:()=>{},onGoToUserSettingsProfileRequested:()=>{},onGoToUserSettingsPassphraseRequested:()=>{},onGoToUserSettingsSecurityTokenRequested:()=>{},onGoToUserSettingsThemeRequested:()=>{},onGoToUserSettingsMfaRequested:()=>{},onGoToUserSettingsKeysRequested:()=>{},onGoToUserSettingsMobileRequested:()=>{},onGoToNewTab:()=>{}});class se extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{onGoToNewTab:this.onGoToNewTab.bind(this),onGoToAdministrationRequested:this.onGoToAdministrationRequested.bind(this),onGoToAdministrationMfaRequested:this.onGoToAdministrationMfaRequested.bind(this),onGoToAdministrationUsersDirectoryRequested:this.onGoToAdministrationUsersDirectoryRequested.bind(this),onGoToAdministrationEmailNotificationsRequested:this.onGoToAdministrationEmailNotificationsRequested.bind(this),onGoToAdministrationSubscriptionRequested:this.onGoToAdministrationSubscriptionRequested.bind(this),onGoToAdministrationInternationalizationRequested:this.onGoToAdministrationInternationalizationRequested.bind(this),onGoToPasswordsRequested:this.onGoToPasswordsRequested.bind(this),onGoToUsersRequested:this.onGoToUsersRequested.bind(this),onGoToUserSettingsProfileRequested:this.onGoToUserSettingsProfileRequested.bind(this),onGoToUserSettingsPassphraseRequested:this.onGoToUserSettingsPassphraseRequested.bind(this),onGoToUserSettingsSecurityTokenRequested:this.onGoToUserSettingsSecurityTokenRequested.bind(this),onGoToUserSettingsThemeRequested:this.onGoToUserSettingsThemeRequested.bind(this),onGoToUserSettingsMfaRequested:this.onGoToUserSettingsMfaRequested.bind(this),onGoToUserSettingsKeysRequested:this.onGoToUserSettingsKeysRequested.bind(this),onGoToUserSettingsMobileRequested:this.onGoToUserSettingsMobileRequested.bind(this)}}async goTo(e,t){if(e===this.props.context.name)await this.props.history.push({pathname:t});else{const e=`${this.props.context.userSettings?this.props.context.userSettings.getTrustedDomain():this.props.context.trustedDomain}${t}`;window.open(e,"_parent","noopener,noreferrer")}}onGoToNewTab(e){window.open(e,"_blank","noopener,noreferrer")}async onGoToAdministrationRequested(){let e="/app/administration/email-notification";this.isMfaEnabled?e="/app/administration/mfa":this.isUserDirectoryEnabled&&(e="/app/administration/users-directory"),await this.goTo("api",e)}async onGoToAdministrationMfaRequested(){await this.goTo("api","/app/administration/mfa")}async onGoToAdministrationUsersDirectoryRequested(){await this.goTo("api","/app/administration/users-directory")}async onGoToAdministrationEmailNotificationsRequested(){await this.goTo("api","/app/administration/email-notification")}async onGoToAdministrationSubscriptionRequested(){await this.goTo("browser-extension","/app/administration/subscription")}async onGoToAdministrationInternationalizationRequested(){await this.goTo("api","/app/administration/internationalization")}get isMfaEnabled(){const e=this.props.context.siteSettings;return e&&e.canIUse("multiFactorAuthentication")}get isUserDirectoryEnabled(){const e=this.props.context.siteSettings;return e&&e.canIUse("directorySync")}async onGoToPasswordsRequested(){await this.goTo("browser-extension","/app/passwords")}async onGoToUsersRequested(){await this.goTo("browser-extension","/app/users")}async onGoToUserSettingsProfileRequested(){await this.goTo("browser-extension","/app/settings/profile")}async onGoToUserSettingsPassphraseRequested(){await this.goTo("browser-extension","/app/settings/passphrase")}async onGoToUserSettingsSecurityTokenRequested(){await this.goTo("browser-extension","/app/settings/security-token")}async onGoToUserSettingsThemeRequested(){await this.goTo("browser-extension","/app/settings/theme")}async onGoToUserSettingsMfaRequested(){await this.goTo("api","/app/settings/mfa")}async onGoToUserSettingsKeysRequested(){await this.goTo("browser-extension","/app/settings/keys")}async onGoToUserSettingsMobileRequested(){await this.goTo("browser-extension","/app/settings/mobile")}render(){return n.createElement(te.Provider,{value:this.state},this.props.children)}}se.displayName="NavigationContextProvider",se.propTypes={context:i().object,children:i().any,location:i().object,match:i().object,history:i().object};const ne=(0,N.EN)(U(se));function ae(e){return class extends n.Component{render(){return n.createElement(te.Consumer,null,(t=>n.createElement(e,ee({navigationContext:t},this.props))))}}}class re extends n.Component{isSelected(e){let t=!1;return"passwords"===e?t=/^\/app\/(passwords|folders)/.test(this.props.location.pathname):"users"===e?t=/^\/app\/(users|groups)/.test(this.props.location.pathname):"administration"===e&&(t=/^\/app\/administration/.test(this.props.location.pathname)),t}isLoggedInUserAdmin(){return this.props.context.loggedInUser&&"admin"===this.props.context.loggedInUser.role.name}get translate(){return this.props.t}render(){return n.createElement("nav",null,n.createElement("div",{className:"primary navigation top"},n.createElement("ul",null,n.createElement("li",{key:"password"},n.createElement("div",{className:"row "+(this.isSelected("passwords")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToPasswordsRequested,role:"button"},n.createElement("span",null,n.createElement(f.c,null,"passwords"))))))),n.createElement("li",{key:"users"},n.createElement("div",{className:"row "+(this.isSelected("users")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUsersRequested,role:"button"},n.createElement("span",null,n.createElement(f.c,null,"users"))))))),this.isLoggedInUserAdmin()&&n.createElement("li",{key:"administration"},n.createElement("div",{className:"row "+(this.isSelected("administration")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationRequested,role:"button"},n.createElement("span",null,n.createElement(f.c,null,"administration"))))))),n.createElement("li",{key:"help"},n.createElement("div",{className:"row"},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{href:"https://help.passbolt.com",role:"button",target:"_blank",rel:"noopener noreferrer"},n.createElement("span",null,n.createElement(f.c,null,"help"))))))),n.createElement("li",{key:"logout",className:"right"},n.createElement("div",{className:"row"},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{role:"button",onClick:this.props.context.onLogoutRequested},n.createElement("span",null,n.createElement(f.c,null,"sign out"))))))))))}}re.propTypes={context:i().object,navigationContext:i().any,history:i().object,location:i().object,t:i().func};const ie=U((0,N.EN)(ae((0,v.Z)("common")(re))));class le extends n.Component{render(){return n.createElement("div",{className:"col1"},n.createElement("div",{className:"logo no-img"},n.createElement("h1",null,n.createElement("span",null,"Passbolt"))))}}const oe=le;class ce extends n.Component{constructor(e){super(e),this.state=this.getDefaultState(),this.bindCallbacks()}getDefaultState(){return{error:!1}}bindCallbacks(){this.handleError=this.handleError.bind(this)}propsHasUrl(){return this.props.user&&this.props.user.profile&&this.props.user.profile.avatar&&this.props.user.profile.avatar.url&&this.props.user.profile.avatar.url.medium}propsUrlHasProtocol(){return this.props.user.profile.avatar.url.medium.startsWith("https://")||this.props.user.profile.avatar.url.medium.startsWith("http://")}formatUrl(e){return`${this.props.baseUrl}/${e}`}getDefaultAvatarUrl(){return`${this.props.baseUrl}/img/avatar/user.png`}getAvatarSrc(){return!this.state.error&&this.propsHasUrl()?this.propsUrlHasProtocol()?this.props.user.profile.avatar.url.medium:this.formatUrl(this.props.user.profile.avatar.url.medium):this.getDefaultAvatarUrl()}handleError(){console.error(`Could not load avatar image url: ${this.getAvatarSrc()}`),this.setState({error:!0})}getAltText(){return this.props.user&&this.props.user.first_name&&this.props.user.last_name?`Avatar of user ${this.props.user.first_name} ${this.props.user.last_name}.`:"..."}render(){return n.createElement("div",{className:this.props.className},!this.state.error&&n.createElement("img",{src:this.getAvatarSrc(),onError:this.handleError,alt:this.getAltText()}),this.state.error&&n.createElement("img",{src:this.getDefaultAvatarUrl(),alt:this.getAltText()}))}}ce.defaultProps={className:"avatar user-avatar"},ce.propTypes={baseUrl:i().string,user:i().object,className:i().string};const he=ce;class de extends n.Component{getClassName(){let e=`svg-icon ${this.props.name}`;return this.props.big&&(e+=" icon-only"),this.props.baseline&&(e+=" baseline"),this.props.dim&&(e+=" dim"),e}render(){return n.createElement("span",{className:this.getClassName(),onClick:this.props.onClick},"add"===this.props.name&&n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"plus-circle",role:"img",viewBox:"0 0 512 512"},n.createElement("path",{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"})),"ban"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1440 893q0-161-87-295l-754 753q137 89 297 89 111 0 211.5-43.5t173.5-116.5 116-174.5 43-212.5zm-999 299l755-754q-135-91-300-91-148 0-273 73t-198 199-73 274q0 162 89 299zm1223-299q0 157-61 300t-163.5 246-245 164-298.5 61-298.5-61-245-164-163.5-246-61-300 61-299.5 163.5-245.5 245-164 298.5-61 298.5 61 245 164 163.5 245.5 61 299.5z"})),"camera"===this.props.name&&n.createElement("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1024 672q119 0 203.5 84.5t84.5 203.5-84.5 203.5-203.5 84.5-203.5-84.5-84.5-203.5 84.5-203.5 203.5-84.5zm704-416q106 0 181 75t75 181v896q0 106-75 181t-181 75h-1408q-106 0-181-75t-75-181v-896q0-106 75-181t181-75h224l51-136q19-49 69.5-84.5t103.5-35.5h512q53 0 103.5 35.5t69.5 84.5l51 136h224zm-704 1152q185 0 316.5-131.5t131.5-316.5-131.5-316.5-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5z"})),"caret-right"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1152 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z"})),"caret-down"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"})),"caret-up"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"})),"chevron-left"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1427 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z"})),"chevron-right"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"})),"close"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"})),"close-circle"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"cog"===this.props.name&&n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"cog",viewBox:"0 0 512 512"},n.createElement("path",{fill:"currentColor",d:"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"})),"copy-to-clipboard"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z"})),"download"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1344 1344q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h465l135 136q58 56 136 56t136-56l136-136h464q40 0 68 28t28 68zm-325-569q17 41-14 70l-448 448q-18 19-45 19t-45-19l-448-448q-31-29-14-70 17-39 59-39h256v-448q0-26 19-45t45-19h256q26 0 45 19t19 45v448h256q42 0 59 39z"})),"edit"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M888 1184l116-116-152-152-116 116v56h96v96h56zm440-720q-16-16-33 1l-350 350q-17 17-1 33t33-1l350-350q17-17 1-33zm80 594v190q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-14 14-32 8-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-126q0-13 9-22l64-64q15-15 35-7t20 29zm-96-738l288 288-672 672h-288v-288zm444 132l-92 92-288-288 92-92q28-28 68-28t68 28l152 152q28 28 28 68t-28 68z"})),"envelope"===this.props.name&&n.createElement("svg",{width:"512",height:"512",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{fill:"currentColor",d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"})," "),"eye-open"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"})),"eye-close"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M555 1335l78-141q-87-63-136-159t-49-203q0-121 61-225-229 117-381 353 167 258 427 375zm389-759q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm363-191q0 7-1 9-106 189-316 567t-315 566l-49 89q-10 16-28 16-12 0-134-70-16-10-16-28 0-12 44-87-143-65-263.5-173t-208.5-245q-20-31-20-69t20-69q153-235 380-371t496-136q89 0 180 17l54-97q10-16 28-16 5 0 18 6t31 15.5 33 18.5 31.5 18.5 19.5 11.5q16 10 16 27zm37 447q0 139-79 253.5t-209 164.5l280-502q8 45 8 84zm448 128q0 35-20 69-39 64-109 145-150 172-347.5 267t-419.5 95l74-132q212-18 392.5-137t301.5-307q-115-179-282-294l63-112q95 64 182.5 153t144.5 184q20 34 20 69z"})),"external-link"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1408 928v-480q0-26-19-45t-45-19h-480q-42 0-59 39-17 41 14 70l144 144-534 534q-19 19-19 45t19 45l102 102q19 19 45 19t45-19l534-534 144 144q18 19 45 19 12 0 25-5 39-17 39-59zm256-512v960q0 119-84.5 203.5t-203.5 84.5h-960q-119 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5 84.5t84.5 203.5z"})),"folder"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"})),"folder-shared"===this.props.name&&n.createElement("svg",{viewBox:"2 2 20 20",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z"})),"heart"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M896 1664q-26 0-44-18l-624-602q-10-8-27.5-26t-55.5-65.5-68-97.5-53.5-121-23.5-138q0-220 127-344t351-124q62 0 126.5 21.5t120 58 95.5 68.5 76 68q36-36 76-68t95.5-68.5 120-58 126.5-21.5q224 0 351 124t127 344q0 221-229 450l-623 600q-18 18-44 18z"})),"heart-o"===this.props.name&&n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},n.createElement("path",{d:"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"})),"heartbeat"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1280 1024h305q-5 6-10 10.5t-9 7.5l-3 4-623 600q-18 18-44 18t-44-18l-624-602q-5-2-21-20h369q22 0 39.5-13.5t22.5-34.5l70-281 190 667q6 20 23 33t39 13q21 0 38-13t23-33l146-485 56 112q18 35 57 35zm512-428q0 145-103 300h-369l-111-221q-8-17-25.5-27t-36.5-8q-45 5-56 46l-129 430-196-686q-6-20-23.5-33t-39.5-13-39 13.5-22 34.5l-116 464h-423q-103-155-103-300 0-220 127-344t351-124q62 0 126.5 21.5t120 58 95.5 68.5 76 68q36-36 76-68t95.5-68.5 120-58 126.5-21.5q224 0 351 124t127 344z"})),"info-circle"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"key"===this.props.name&&n.createElement("svg",{width:"512",height:"512",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},n.createElement("path",{fill:"currentColor",d:"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"})),"link"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1520 1216q0-40-28-68l-208-208q-28-28-68-28-42 0-72 32 3 3 19 18.5t21.5 21.5 15 19 13 25.5 3.5 27.5q0 40-28 68t-68 28q-15 0-27.5-3.5t-25.5-13-19-15-21.5-21.5-18.5-19q-33 31-33 73 0 40 28 68l206 207q27 27 68 27 40 0 68-26l147-146q28-28 28-67zm-703-705q0-40-28-68l-206-207q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l208 208q27 27 68 27 42 0 72-31-3-3-19-18.5t-21.5-21.5-15-19-13-25.5-3.5-27.5q0-40 28-68t68-28q15 0 27.5 3.5t25.5 13 19 15 21.5 21.5 18.5 19q33-31 33-73zm895 705q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-206-207q-83-83-83-203 0-123 88-209l-88-88q-86 88-208 88-120 0-204-84l-208-208q-84-84-84-204t85-203l147-146q83-83 203-83 121 0 204 85l206 207q83 83 83 203 0 123-88 209l88 88q86-88 208-88 120 0 204 84l208 208q84 84 84 204z"})),"lock"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"})),"lock-open"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1376 768q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-320q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45q0-106-75-181t-181-75-181 75-75 181v320h736z"})),"magic-wand"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1254 581l293-293-107-107-293 293zm447-293q0 27-18 45l-1286 1286q-18 18-45 18t-45-18l-198-198q-18-18-18-45t18-45l1286-1286q18-18 45-18t45 18l198 198q18 18 18 45zm-1351-190l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm350 162l196 60-196 60-60 196-60-196-196-60 196-60 60-196zm930 478l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm-640-640l98 30-98 30-30 98-30-98-98-30 98-30 30-98z"})),"plus-circle"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"plus-square"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"})),"filter"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"})),"life-ring"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z"})),"plug"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 384 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z"})),"printer"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M448 1536h896v-256h-896v256zm0-640h896v-384h-160q-40 0-68-28t-28-68v-160h-640v640zm1152 64q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128 0v416q0 13-9.5 22.5t-22.5 9.5h-224v160q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-224q-13 0-22.5-9.5t-9.5-22.5v-416q0-79 56.5-135.5t135.5-56.5h64v-544q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v256h64q79 0 135.5 56.5t56.5 135.5z"})),"refresh"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"})),"question-circle"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"})),"search"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"})),"share"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-453-185-242 295q-18 23-49 23-13 0-22-4-19-7-30.5-23.5t-11.5-36.5v-349l864-1059-1069 925-395-162q-37-14-40-55-2-40 32-59l1664-960q15-9 32-9 20 0 36 11z"})),"star"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1728 647q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5t-30.5 14.5q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5t-10.5-35.5q0-6 2-20l86-500-364-354q-25-27-25-48 0-37 56-46l502-73 225-455q19-41 49-41t49 41l225 455 502 73q56 9 56 46z"})),"save"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"})),"trash"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"})),"upload"===this.props.name&&n.createElement("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1344 864q0-14-9-23l-352-352q-9-9-23-9t-23 9l-351 351q-10 12-10 24 0 14 9 23t23 9h224v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5v-352h224q13 0 22.5-9.5t9.5-22.5zm640 288q0 159-112.5 271.5t-271.5 112.5h-1088q-185 0-316.5-131.5t-131.5-316.5q0-130 70-240t188-165q-2-30-2-43 0-212 150-362t362-150q156 0 285.5 87t188.5 231q71-62 166-62 106 0 181 75t75 181q0 76-41 138 130 31 213.5 135.5t83.5 238.5z"})),"upload-a"===this.props.name&&n.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"upload",className:"svg-inline--fa fa-upload fa-w-16",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},n.createElement("path",{fill:"currentColor",d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"})),"user"===this.props.name&&n.createElement("svg",{width:"448",height:"512",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{fill:"currentColor",d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z",className:""})),"users"===this.props.name&&n.createElement("svg",{width:"640",height:"512",viewBox:"0 0 640 512",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{fill:"currentColor",d:"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"})),"warning"===this.props.name&&n.createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"})))}}de.defaultProps={big:!1,baseline:!1,dim:!1,onClick:()=>{}},de.propTypes={name:i().string,big:i().bool,dim:i().bool,baseline:i().bool,onClick:i().func};const ue=de;class pe extends n.Component{constructor(e){super(e),this.state=this.getDefaultState(),this.bindCallbacks(),this.createRefs()}getDefaultState(){return{open:!1,loading:!0}}bindCallbacks(){this.handleDocumentClickEvent=this.handleDocumentClickEvent.bind(this),this.handleDocumentContextualMenuEvent=this.handleDocumentContextualMenuEvent.bind(this),this.handleDocumentDragStartEvent=this.handleDocumentDragStartEvent.bind(this),this.handleToggleMenuClick=this.handleToggleMenuClick.bind(this),this.handleProfileClick=this.handleProfileClick.bind(this),this.handleThemeClick=this.handleThemeClick.bind(this),this.handleLogoutClick=this.handleLogoutClick.bind(this)}componentDidMount(){document.addEventListener("click",this.handleDocumentClickEvent),document.addEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.addEventListener("dragstart",this.handleDocumentDragStartEvent)}componentWillUnmount(){document.removeEventListener("click",this.handleDocumentClickEvent),document.removeEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.removeEventListener("dragstart",this.handleDocumentDragStartEvent)}createRefs(){this.userBadgeMenuRef=n.createRef()}get canIUseThemeCapability(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("accountSettings")}handleDocumentClickEvent(e){this.userBadgeMenuRef.current.contains(e.target)||this.closeUserBadgeMenu()}handleDocumentContextualMenuEvent(e){this.userBadgeMenuRef.current.contains(e.target)||this.closeUserBadgeMenu()}handleDocumentDragStartEvent(){this.closeUserBadgeMenu()}closeUserBadgeMenu(){this.setState({open:!1})}getUserFullName(){return this.props.user&&this.props.user.profile?`${this.props.user.profile.first_name} ${this.props.user.profile.last_name}`:"..."}getUserUsername(){return this.props.user&&this.props.user.username?`${this.props.user.username}`:"..."}handleToggleMenuClick(e){e.preventDefault();const t=!this.state.open;this.setState({open:t})}handleProfileClick(){this.props.navigationContext.onGoToUserSettingsProfileRequested(),this.closeUserBadgeMenu()}handleThemeClick(){this.props.navigationContext.onGoToUserSettingsThemeRequested(),this.closeUserBadgeMenu()}handleLogoutClick(){this.props.context.onLogoutRequested(),this.closeUserBadgeMenu()}get translate(){return this.props.t}render(){return n.createElement("div",{className:"col3 profile-wrapper"},n.createElement("div",{className:"user profile dropdown",ref:this.userBadgeMenuRef},n.createElement("div",{onClick:this.handleToggleMenuClick},n.createElement("div",{className:"center-cell-wrapper"},n.createElement("div",{className:"details center-cell"},n.createElement("span",{className:"name"},this.getUserFullName()),n.createElement("span",{className:"email"},this.getUserUsername()))),n.createElement(he,{user:this.props.user,className:"picture left-cell",baseUrl:this.props.baseUrl}),n.createElement("div",{className:"more right-cell"},n.createElement("a",{role:"button"},n.createElement(ue,{name:"caret-down"}),n.createElement("span",null,n.createElement(f.c,null,"more"))))),this.state.open&&n.createElement("ul",{className:"dropdown-content right visible"},n.createElement("li",{key:"profile"},n.createElement("div",{className:"row"},n.createElement("a",{role:"button",tabIndex:"1",onClick:this.handleProfileClick},n.createElement("span",null,n.createElement(f.c,null,"Profile"))))),this.canIUseThemeCapability&&n.createElement("li",{key:"theme"},n.createElement("div",{className:"row"},n.createElement("a",{role:"button",tabIndex:"2",onClick:this.handleThemeClick},n.createElement("span",null,n.createElement(f.c,null,"Theme"))))),n.createElement("li",{key:"logout"},n.createElement("div",{className:"row"},n.createElement("a",{role:"button",tabIndex:"3",onClick:this.handleLogoutClick},n.createElement("span",null,n.createElement(f.c,null,"Sign out"))))))))}}pe.propTypes={context:i().object,navigationContext:i().any,baseUrl:i().string,user:i().object,t:i().func};const me=U(ae((0,v.Z)("common")(pe)));class ge extends n.Component{constructor(e){super(e),this.bindCallbacks()}get isMfaEnabled(){const e=this.props.context.siteSettings;return e&&e.canIUse("multiFactorAuthentication")}get isUserDirectoryEnabled(){const e=this.props.context.siteSettings;return e&&e.canIUse("directorySync")}get canIUseEE(){const e=this.props.context.siteSettings;return e&&e.canIUse("ee")}get canIUseLocale(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("locale")}bindCallbacks(){this.handleMfaClick=this.handleMfaClick.bind(this),this.handleUserDirectoryClick=this.handleUserDirectoryClick.bind(this),this.handleEmailNotificationsClick=this.handleEmailNotificationsClick.bind(this),this.handleSubscriptionClick=this.handleSubscriptionClick.bind(this),this.handleInternationalizationClick=this.handleInternationalizationClick.bind(this)}handleMfaClick(){this.props.navigationContext.onGoToAdministrationMfaRequested()}handleUserDirectoryClick(){this.props.navigationContext.onGoToAdministrationUsersDirectoryRequested()}handleEmailNotificationsClick(){this.props.navigationContext.onGoToAdministrationEmailNotificationsRequested()}handleSubscriptionClick(){this.props.navigationContext.onGoToAdministrationSubscriptionRequested()}handleInternationalizationClick(){this.props.navigationContext.onGoToAdministrationInternationalizationRequested()}isMfaSelected(){return H.MFA===this.props.administrationWorkspaceContext.selectedAdministration}isUserDirectorySelected(){return H.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}isEmailNotificationsSelected(){return H.EMAIL_NOTIFICATION===this.props.administrationWorkspaceContext.selectedAdministration}isSubscriptionSelected(){return H.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}isInternationalizationSelected(){return H.INTERNATIONALIZATION===this.props.administrationWorkspaceContext.selectedAdministration}get translate(){return this.props.t}render(){return n.createElement("div",{className:"navigation-secondary navigation-administration"},n.createElement("ul",{id:"administration_menu",className:"clearfix menu ready"},this.isMfaEnabled&&n.createElement("li",{id:"mfa_menu"},n.createElement("div",{className:"row "+(this.isMfaSelected()?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.handleMfaClick},n.createElement("span",null,n.createElement(f.c,null,"Multi Factor Authentication"))))))),this.isUserDirectoryEnabled&&n.createElement("li",{id:"user_directory_menu"},n.createElement("div",{className:"row "+(this.isUserDirectorySelected()?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.handleUserDirectoryClick},n.createElement("span",null,n.createElement(f.c,null,"Users Directory"))))))),n.createElement("li",{id:"email_notification_menu"},n.createElement("div",{className:"row "+(this.isEmailNotificationsSelected()?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.handleEmailNotificationsClick},n.createElement("span",null,n.createElement(f.c,null,"Email Notifications"))))))),this.canIUseLocale&&n.createElement("li",{id:"internationalization_menu"},n.createElement("div",{className:"row "+(this.isInternationalizationSelected()?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.handleInternationalizationClick},n.createElement("span",null,n.createElement(f.c,null,"Internationalisation"))))))),this.canIUseEE&&n.createElement("li",{id:"subscription_menu"},n.createElement("div",{className:"row "+(this.isSubscriptionSelected()?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.handleSubscriptionClick},n.createElement("span",null,n.createElement(f.c,null,"Subscription")))))))))}}ge.propTypes={context:i().object,administrationWorkspaceContext:i().object,history:i().object,navigationContext:i().any,t:i().func};const Ee=(0,N.EN)(U(ae($((0,v.Z)("common")(ge)))));var be=s(648),ye=s.n(be);class fe extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{loading:!0,processing:!1,totpProviderToggle:!0,yubikeyToggle:!1,yubikeyClientIdentifier:"",yubikeyClientIdentifierError:null,yubikeySecretKey:"",yubikeySecretKeyError:null,duoToggle:!1,duoHostname:"",duoHostnameError:null,duoIntegrationKey:"",duoIntegrationKeyError:null,duoSalt:"",duoSaltError:null,duoSecretKey:"",duoSecretKeyError:null}}async componentDidMount(){this.findAllMfaSettings()}async componentDidUpdate(e){await this.handleMustSave(e.administrationWorkspaceContext.must.save)}bindCallbacks(){this.handleInputChange=this.handleInputChange.bind(this)}async handleMustSave(e){this.props.administrationWorkspaceContext.must.save!==e&&this.props.administrationWorkspaceContext.must.save&&(await this.handleFormSubmit(),this.props.administrationWorkspaceContext.onResetActionsSettings())}async findAllMfaSettings(){const e=(await this.props.administrationWorkspaceContext.onGetMfaRequested()).body,t=e.providers,s=t.includes("totp"),n=t.includes("yubikey");let a="",r="";n&&(a=e.yubikey.clientId,r=e.yubikey.secretKey);const i=t.includes("duo");let l="",o="",c="",h="";i&&(l=e.duo.hostName,o=e.duo.integrationKey,c=e.duo.salt,h=e.duo.secretKey),this.setState({loading:!1,totpProviderToggle:s,yubikeyToggle:n,yubikeyClientIdentifier:a,yubikeySecretKey:r,duoToggle:i,duoHostname:l,duoIntegrationKey:o,duoSalt:c,duoSecretKey:h})}handleInputChange(e){const t=e.target,s="checkbox"===t.type?t.checked:t.value,n=t.name;this.setState({[n]:s}),this.handleEnabledSaveButton()}handleEnabledSaveButton(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}hasAllInputDisabled(){return this.state.processing||this.state.loading}isOtpProviderChecked(){return this.state.totpProviderToggle}isYubikeyChecked(){return this.state.yubikeyToggle}isDuoChecked(){return this.state.duoToggle}async validate(){await Promise.all([this.validateYubikeyInput(),this.validateDuoInput()])}async validateYubikeyInput(){let e=null,t=null;if(this.isYubikeyChecked()){const s=this.state.yubikeyClientIdentifier.trim();s.length?ye()("^[0-9]{1,64}$").test(s)||(e=this.translate("The client identifier should be an integer.")):e=this.translate("A client identifier is required.");const n=this.state.yubikeySecretKey.trim();n.length?ye()("^[a-zA-Z0-9\\/=+]{10,128}$").test(n)||(t=this.translate("This secret key is not valid.")):t=this.translate("A secret key is required.")}return this.setState({yubikeyClientIdentifierError:e,yubikeySecretKeyError:t})}async validateDuoInput(){let e=null,t=null,s=null,n=null;if(this.isDuoChecked()){const a=this.state.duoHostname.trim();a.length?ye()("^api-[a-fA-F0-9]{8,16}\\.duosecurity\\.com$").test(a)||(e=this.translate("This is not a valid hostname.")):e=this.translate("A hostname is required.");const r=this.state.duoIntegrationKey.trim();r.length?ye()("^[a-zA-Z0-9]{16,32}$").test(r)||(t=this.translate("This is not a valid integration key.")):t=this.translate("An integration key is required.");const i=this.state.duoSalt.trim();i.length?ye()("^.{40,128}$").test(i)||(s=this.translate("The salt should be between 40 and 128 characters in length.")):s=this.translate("A salt is required.");const l=this.state.duoSecretKey.trim();l.length?ye()("^[a-zA-Z0-9]{32,128}$").test(l)||(n=this.translate("This is not a valid secret key.")):n=this.translate("A secret key is required.")}return this.setState({duoHostnameError:e,duoIntegrationKeyError:t,duoSaltError:s,duoSecretKeyError:n})}hasValidationError(){return this.hasYubikeyError()||this.hasDuoError()}hasYubikeyError(){return null!==this.state.yubikeyClientIdentifierError||null!==this.state.yubikeySecretKeyError}hasDuoError(){return null!==this.state.duoHostnameError||null!==this.state.duoIntegrationKeyError||null!==this.state.duoSaltError||null!==this.state.duoSecretKeyError}async handleFormSubmit(){if(!this.state.processing){if(await this.toggleProcessing(),await this.validate(),this.hasValidationError())return void await this.toggleProcessing();try{await this.saveMfa(),await this.handleSaveSuccess()}catch(e){await this.handleSaveError(e)}}}async saveMfa(){const e=[];this.state.totpProviderToggle&&e.push("totp");let t=null;this.state.yubikeyToggle&&(e.push("yubikey"),t={clientId:this.state.yubikeyClientIdentifier,secretKey:this.state.yubikeySecretKey});let s=null;this.state.duoToggle&&(e.push("duo"),s={hostName:this.state.duoHostname,integrationKey:this.state.duoIntegrationKey,salt:this.state.duoSalt,secretKey:this.state.duoSecretKey}),await this.props.administrationWorkspaceContext.onSaveMfaRequested({providers:e,yubikey:t,duo:s})}async handleSaveSuccess(){await this.props.actionFeedbackContext.displaySuccess(this.translate("The multi factor authentication settings for the organization were updated.")),this.setState({processing:!1})}async handleSaveError(e){"UserAbortsOperationError"===e.name||(console.error(e),await this.handleError(e)),this.setState({processing:!1})}async handleError(e){await this.props.actionFeedbackContext.displayError(e.message)}async toggleProcessing(){const e=this.state.processing;return this.setState({processing:!e})}get translate(){return this.props.t}render(){return n.createElement("div",{className:"row"},n.createElement("div",{className:"mfa-settings col7"},n.createElement("form",{className:"form ready"},n.createElement("div",{className:"provider-section totp"},n.createElement("h3",null,n.createElement("span",{className:"input toggle-switch form-element ready"},n.createElement("input",{id:"totp-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"totpProviderToggle",onChange:this.handleInputChange,checked:this.state.totpProviderToggle,disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"totp-provider-toggle-button"})),n.createElement("label",null,n.createElement(f.c,null,"Time-based One Time Password"))),!this.isOtpProviderChecked()&&n.createElement("p",{className:"description"},n.createElement(f.c,null,"The Time-based One Time Password provider is disabled for all users.")),this.isOtpProviderChecked()&&n.createElement("p",{className:"description"},n.createElement(f.c,null,"The Time-based One Time Password provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication."))),n.createElement("div",{className:"provider-section yubikey"},n.createElement("h3",null,n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("input",{id:"yubikey-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"yubikeyToggle",onChange:this.handleInputChange,checked:this.state.yubikeyToggle,disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"yubikey-provider-toggle-button"})),n.createElement("label",null,"Yubikey")),!this.isYubikeyChecked()&&n.createElement("p",{className:"description"},n.createElement(f.c,null,"The Yubikey provider is disabled for all users.")),this.isYubikeyChecked()&&n.createElement("div",null,n.createElement("p",{className:"description"},n.createElement(f.c,null,"The Yubikey provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.")),n.createElement("div",{className:"form-content"},n.createElement("div",{className:"input text required "+(this.state.yubikeyClientIdentifierError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Client identifier")),n.createElement("input",{id:"yubikeyClientIdentifier",type:"text",name:"yubikeyClientIdentifier",required:"required",className:"required fluid form-element ready",placeholder:"123456789",onChange:this.handleInputChange,value:this.state.yubikeyClientIdentifier,disabled:this.hasAllInputDisabled()}),this.state.yubikeyClientIdentifierError&&n.createElement("div",{className:"yubikey_client_identifier error-message"},this.state.yubikeyClientIdentifierError)),n.createElement("div",{className:"input text required "+(this.state.yubikeySecretKeyError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Secret key")),n.createElement("input",{id:"yubikeySecretKey",name:"yubikeySecretKey",required:"required",className:"required fluid form-element",placeholder:"**********",type:"password",onChange:this.handleInputChange,value:this.state.yubikeySecretKey,disabled:this.hasAllInputDisabled()}),this.state.yubikeySecretKeyError&&n.createElement("div",{className:"yubikey_secret_key error-message"},this.state.yubikeySecretKeyError))))),n.createElement("div",{className:"provider-section duo"},n.createElement("h3",null,n.createElement("span",{className:"input toggle-switch form-element ready"},n.createElement("input",{id:"duo-provider-toggle-button",type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"duoToggle",onChange:this.handleInputChange,checked:this.state.duoToggle,disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"duo-provider-toggle-button"})),n.createElement("label",null,"Duo")),!this.isDuoChecked()&&n.createElement("p",{className:"description"},n.createElement(f.c,null,"The Duo provider is disabled for all users.")),this.isDuoChecked()&&n.createElement("div",null,n.createElement("p",{className:"description enabled"},n.createElement(f.c,null,"The Duo provider is enabled for all users. They can setup this provider in their profile and use it as second factor authentication.")),n.createElement("div",{className:"form-content"},n.createElement("div",{className:"input text required "+(this.state.duoHostnameError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Hostname")),n.createElement("input",{id:"duoHostname",type:"text",name:"duoHostname",required:"required",className:"required fluid form-element ready",placeholder:"api-24zlkn4.duosecurity.com",value:this.state.duoHostname,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoHostnameError&&n.createElement("div",{className:"duo_hostname error-message"},this.state.duoHostnameError)),n.createElement("div",{className:"input text required "+(this.state.duoIntegrationKeyError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Integration key")),n.createElement("input",{id:"duoIntegrationKey",type:"text",name:"duoIntegrationKey",required:"required",className:"required fluid form-element ready",placeholder:"HASJKDSQJO213123KQSLDF",value:this.state.duoIntegrationKey,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoIntegrationKeyError&&n.createElement("div",{className:"duo_integration_key error-message"},this.state.duoIntegrationKeyError)),n.createElement("div",{className:"input text required "+(this.state.duoSaltError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Salt")),n.createElement("input",{id:"duoSalt",name:"duoSalt",required:"required",className:"required fluid form-element ready",placeholder:"**********",type:"password",value:this.state.duoSalt,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoSaltError&&n.createElement("div",{className:"duo_salt error-message"},this.state.duoSaltError)),n.createElement("div",{className:"input text required "+(this.state.duoSecretKeyError?"error":"")},n.createElement("label",null,n.createElement(f.c,null,"Secret key")),n.createElement("input",{id:"duoSecretKey",name:"duoSecretKey",required:"required",className:"required fluid form-element ready",placeholder:"**********",type:"password",value:this.state.duoSecretKey,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()}),this.state.duoSecretKeyError&&n.createElement("div",{className:"duo_secret_key error-message"},this.state.duoSecretKeyError))))))),n.createElement("div",{className:"col4 last"},n.createElement("div",{className:"sidebar-help"},n.createElement("h3",null,n.createElement(f.c,null,"Need help?")),n.createElement("p",null,n.createElement(f.c,null,"Check out our Multi Factor Authentication configuration guide.")),n.createElement("a",{className:"button",href:"https://help.passbolt.com/configure",target:"_blank",rel:"noopener noreferrer"},n.createElement(ue,{name:"life-ring"}),n.createElement("span",null,n.createElement(f.c,null,"Read the documentation"))))))}}fe.propTypes={administrationWorkspaceContext:i().object,actionFeedbackContext:i().any,t:i().func};const ve=d($((0,v.Z)("common")(fe)));class Ce extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleCloseClick=this.handleCloseClick.bind(this)}handleCloseClick(){this.props.onClose()}getClassName(){let e="dialog-close";return this.props.disabled&&(e+=" disabled"),e}render(){return n.createElement("a",{className:this.getClassName(),onClick:this.handleCloseClick,role:"button"},n.createElement(ue,{name:"close"}),n.createElement("span",{className:"visually-hidden"},"Close"))}}Ce.propTypes={onClose:i().func,disabled:i().bool};const we=Ce;class Se extends n.Component{constructor(e){super(e),this.state={top:null},this.tooltipRef=n.createRef(),this.bindCallbacks()}bindCallbacks(){this.setTop=this.setTop.bind(this)}getInlineCss(){return this.state.top?{top:`${this.tooltipRef.current.getBoundingClientRect().top}px`}:{}}setTop(){this.props.offset&&this.setState({top:this.tooltipRef.current.getBoundingClientRect().top})}render(){return n.createElement("div",{className:"more-details tooltip-alt",ref:this.tooltipRef,onMouseEnter:this.setTop},n.createElement(ue,{name:"info-circle"}),n.createElement("div",{className:"tooltip-text right",style:this.getInlineCss()},this.props.children))}}Se.propTypes={offset:i().bool,children:i().node};const ke=Se;class xe extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleKeyDown=this.handleKeyDown.bind(this),this.handleClose=this.handleClose.bind(this)}handleKeyDown(e){27===e.keyCode&&this.handleClose()}handleClose(){this.props.disabled||this.props.onClose()}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}render(){return n.createElement("div",{className:`${this.props.className} dialog-wrapper`},n.createElement("div",{className:"dialog"},n.createElement("div",{className:"dialog-header"},n.createElement("h2",null,n.createElement("span",{className:"dialog-header-title"},this.props.title),this.props.subtitle&&n.createElement("span",{className:"dialog-header-subtitle"},this.props.subtitle),this.props.tooltip&&""!==this.props.tooltip&&n.createElement(ke,null,n.createElement("span",null,this.props.tooltip))),n.createElement(we,{onClose:this.handleClose,disabled:this.props.disabled})),n.createElement("div",{className:"dialog-content"},this.props.children)))}}xe.propTypes={children:i().node,className:i().string,title:i().string,subtitle:i().string,tooltip:i().string,loading:i().bool,disabled:i().bool,onClose:i().func};const Ne=xe;class Te extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleClick=this.handleClick.bind(this)}handleClick(){this.props.disabled||this.props.onClick()}getClassName(){let e="cancel";return this.props.disabled&&(e+=" disabled"),e}get translate(){return this.props.t}render(){return n.createElement("a",{className:this.getClassName(),role:"button",onClick:this.handleClick},this.translate("Cancel"))}}Te.propTypes={disabled:i().bool,onClick:i().func,t:i().func};const qe=(0,v.Z)("common")(Te);class Ue extends n.Component{constructor(e){super(e),this.bindEventHandlers()}bindEventHandlers(){this.handleClose=this.handleClose.bind(this)}handleClose(){this.props.onClose()}get translate(){return this.props.t}render(){return n.createElement(Ne,{className:"loading-dialog",title:this.props.title,onClose:this.handleClose,disabled:!1},n.createElement("div",{className:"form-content"},n.createElement("label",null,n.createElement(f.c,null,"Take a deep breath and enjoy being in the present moment...")),n.createElement("div",{className:"progress-bar-wrapper"},n.createElement("span",{style:{width:"100%"},className:"progress-bar big infinite"},n.createElement("span",{className:"progress"})))))}}Ue.propTypes={onClose:i().func,title:i().string,t:i().func};const Ae=(0,v.Z)("common")(Ue);class Ie extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindEventHandlers()}get defaultState(){return{loading:!0,openFullReport:!1,userDirectorySimulateSynchronizeResult:null}}bindEventHandlers(){this.handleFullReportClicked=this.handleFullReportClicked.bind(this),this.handleClose=this.handleClose.bind(this),this.handleSynchronize=this.handleSynchronize.bind(this)}async componentDidMount(){try{const e=(await this.props.administrationWorkspaceContext.onGetSimulateSynchronizeUsersDirectoryRequested()).body;this.setState({loading:!1,userDirectorySimulateSynchronizeResult:e})}catch(e){await this.handleError(e)}}async handleError(e){console.error(e),await this.props.actionFeedbackContext.displayError(e.message),this.handleClose()}handleFullReportClicked(){this.setState({openFullReport:!this.state.openFullReport})}handleClose(){this.props.onClose()}handleSynchronize(){this.props.administrationWorkspaceContext.onMustSynchronizeSettings(),this.handleClose()}isLoading(){return this.state.loading}get users(){return this.state.userDirectorySimulateSynchronizeResult.users}get groups(){return this.state.userDirectorySimulateSynchronizeResult.groups}get usersSuccess(){return this.users.filter((e=>"success"===e.status))}get groupsSuccess(){return this.groups.filter((e=>"success"===e.status))}get usersError(){return this.users.filter((e=>"error"===e.status))}get groupsError(){return this.groups.filter((e=>"error"===e.status))}get usersIgnored(){return this.users.filter((e=>"ignore"===e.status))}get groupsIgnored(){return this.groups.filter((e=>"ignore"===e.status))}hasSuccessResource(){return this.usersSuccess.length>0||this.groupsSuccess.length>0}hasErrorOrIgnoreResource(){return this.usersError.length>0||this.groupsError.length>0||this.usersIgnored.length>0||this.groupsIgnored.length>0}getFullReport(){let e="";return e=e.concat(this.getUsersFullReport()),e=e.concat(this.getGroupsFullReport()),e}getUsersFullReport(){let e="";if(this.usersSuccess.length>0||this.usersError.length>0||this.usersIgnored.length>0){const t=`---------------------------------------------------------------------\n\n ${this.translate("Users")}\n\n ---------------------------------------------------------------------\n`;e=e.concat(t);const s=t=>e=e.concat(`- ${t.message}\n`);this.usersSuccess.length>0&&(e=e.concat(`\n${this.translate("Success:")}\n`),this.usersSuccess.map(s)),this.usersError.length>0&&(e=e.concat(`\n${this.translate("Errors:")}\n`),this.usersError.map(s)),this.usersIgnored.length>0&&(e=e.concat(`\n${this.translate("Ignored:")}\n`),this.usersIgnored.map(s))}return e.concat("\n")}getGroupsFullReport(){let e="";if(this.groupsSuccess.length>0||this.groupsError.length>0||this.groupsIgnored.length>0){const t=`---------------------------------------------------------------------\n\n ${this.translate("Groups")}\n\n ---------------------------------------------------------------------\n`;e=e.concat(t);const s=t=>e=e.concat(`- ${t.message}\n`);this.groupsSuccess.length>0&&(e=e.concat(`\n${this.translate("Success:")}\n`),this.groupsSuccess.map(s)),this.groupsError.length>0&&(e=e.concat(`\n${this.translate("Errors:")}\n`),this.groupsError.map(s)),this.groupsIgnored.length>0&&(e=e.concat(`\n${this.translate("Ignored:")}\n`),this.groupsIgnored.map(s))}return e}get translate(){return this.props.t}render(){return n.createElement("div",null,this.isLoading()&&n.createElement(Ae,{onClose:this.handleClose,title:this.translate("Synchronize simulation")}),!this.isLoading()&&n.createElement(Ne,{className:"ldap-simulate-synchronize-dialog",title:this.translate("Synchronize simulation report"),onClose:this.handleClose,disabled:this.isLoading()},n.createElement("div",{className:"form-content",onSubmit:this.handleFormSubmit},n.createElement("p",null,n.createElement("strong",null,n.createElement(f.c,null,"The operation was successful."))),n.createElement("p",null),this.hasSuccessResource()&&n.createElement("p",{id:"resources-synchronize"}," ",this.translate("{{users}} and {{groups}} will be synchronized.",{users:this.translate("{{count}} user",{count:this.usersSuccess.length}),groups:this.translate("{{count}} group",{count:this.groupsSuccess.length})})," "),!this.hasSuccessResource()&&n.createElement("p",{id:"no-resources"}," ",n.createElement(f.c,null,"No resources will be synchronized.")," "),this.hasErrorOrIgnoreResource()&&n.createElement("p",{className:"error inline-error"},n.createElement(f.c,null,"Some resources will not be synchronized and will require your attention, see the full report.")),n.createElement("div",{className:"accordion operation-details "+(this.state.openFullReport?"":"closed")},n.createElement("div",{className:"accordion-header",onClick:this.handleFullReportClicked},this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement("a",{role:"link"},n.createElement(f.c,null,"Full report"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"input text"},n.createElement("textarea",{className:"full_report",readOnly:!0,value:this.getFullReport()})))),n.createElement("p",null)),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement("a",{className:"button primary "+(this.isLoading()?"disabled":""),role:"button",onClick:this.handleSynchronize},n.createElement(f.c,null,"Synchronize")),n.createElement(qe,{disabled:this.isLoading(),onClick:this.handleClose}))))}}Ie.propTypes={onClose:i().func,actionFeedbackContext:i().any,administrationWorkspaceContext:i().object,t:i().func};const De=d($((0,v.Z)("common")(Ie)));class Re extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindEventHandlers()}get defaultState(){return{loading:!0,openFullReport:!1,userDirectorySynchronizeResult:null}}bindEventHandlers(){this.handleFullReportClicked=this.handleFullReportClicked.bind(this),this.handleClose=this.handleClose.bind(this),this.handleSynchronize=this.handleSynchronize.bind(this)}async componentDidMount(){try{const e=(await this.props.administrationWorkspaceContext.onGetSynchronizeUsersDirectoryRequested()).body;this.setState({loading:!1,userDirectorySynchronizeResult:e})}catch(e){await this.handleError(e)}}async handleError(e){console.error(e),await this.props.actionFeedbackContext.displayError(e.message),this.handleClose()}handleFullReportClicked(){this.setState({openFullReport:!this.state.openFullReport})}handleClose(){this.props.onClose()}handleSynchronize(){this.handleClose()}isLoading(){return this.state.loading}get users(){return this.state.userDirectorySynchronizeResult.users}get groups(){return this.state.userDirectorySynchronizeResult.groups}get usersSuccess(){return this.users.filter((e=>"success"===e.status))}get groupsSuccess(){return this.groups.filter((e=>"success"===e.status))}get usersError(){return this.users.filter((e=>"error"===e.status))}get groupsError(){return this.groups.filter((e=>"error"===e.status))}get usersIgnored(){return this.users.filter((e=>"ignore"===e.status))}get groupsIgnored(){return this.groups.filter((e=>"ignore"===e.status))}hasSuccessResource(){return this.usersSuccess.length>0||this.groupsSuccess.length>0}hasErrorOrIgnoreResource(){return this.usersError.length>0||this.groupsError.length>0||this.usersIgnored.length>0||this.groupsIgnored.length>0}getFullReport(){let e="";return e=e.concat(this.getUsersFullReport()),e=e.concat(this.getGroupsFullReport()),e}getUsersFullReport(){let e="";if(this.usersSuccess.length>0||this.usersError.length>0||this.usersIgnored.length>0){const t=`---------------------------------------------------------------------\n\n ${this.translate("Users")}\n\n ---------------------------------------------------------------------\n`;e=e.concat(t);const s=t=>e=e.concat(`- ${t.message}\n`);this.usersSuccess.length>0&&(e=e.concat(`\n${this.translate("Success:")}\n`),this.usersSuccess.map(s)),this.usersError.length>0&&(e=e.concat(`\n${this.translate("Errors:")}\n`),this.usersError.map(s)),this.usersIgnored.length>0&&(e=e.concat(`\n${this.translate("Ignored:")}\n`),this.usersIgnored.map(s))}return e.concat("\n")}getGroupsFullReport(){let e="";if(this.groupsSuccess.length>0||this.groupsError.length>0||this.groupsIgnored.length>0){const t=`---------------------------------------------------------------------\n\n ${this.translate("Groups")}\n\n ---------------------------------------------------------------------\n`;e=e.concat(t);const s=t=>e=e.concat(`- ${t.message}\n`);this.groupsSuccess.length>0&&(e=e.concat(`\n${this.translate("Success:")}\n`),this.groupsSuccess.map(s)),this.groupsError.length>0&&(e=e.concat(`\n${this.translate("Errors:")}\n`),this.groupsError.map(s)),this.groupsIgnored.length>0&&(e=e.concat(`\n${this.translate("Ignored:")}\n`),this.groupsIgnored.map(s))}return e}get translate(){return this.props.t}render(){return n.createElement("div",null,this.isLoading()&&n.createElement(Ae,{onClose:this.handleClose,title:this.translate("Synchronize")}),!this.isLoading()&&n.createElement(Ne,{className:"ldap-simulate-synchronize-dialog",title:this.translate("Synchronize report"),onClose:this.handleClose,disabled:this.isLoading()},n.createElement("div",{className:"form-content",onSubmit:this.handleFormSubmit},n.createElement("p",null,n.createElement("strong",null,n.createElement(f.c,null,"The operation was successful."))),n.createElement("p",null),this.hasSuccessResource()&&n.createElement("p",{id:"resources-synchronize"}," ",this.translate("{{users}} and {{groups}} have been synchronized.",{users:this.translate("{{count}} user",{count:this.usersSuccess.length}),groups:this.translate("{{count}} group",{count:this.groupsSuccess.length})})," "),!this.hasSuccessResource()&&n.createElement("p",{id:"no-resources"}," ",n.createElement(f.c,null,"No resources have been synchronized.")," "),this.hasErrorOrIgnoreResource()&&n.createElement("p",{className:"error inline-error"},n.createElement(f.c,null,"Some resources will not be synchronized and will require your attention, see the full report.")),n.createElement("div",{className:"accordion operation-details "+(this.state.openFullReport?"":"closed")},n.createElement("div",{className:"accordion-header",onClick:this.handleFullReportClicked},this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement("a",{role:"link"},n.createElement(f.c,null,"Full report"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"input text"},n.createElement("textarea",{className:"full_report",readOnly:!0,value:this.getFullReport()})))),n.createElement("p",null)),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement("a",{className:"button primary "+(this.isLoading()?"disabled":""),role:"button",onClick:this.handleClose},n.createElement(f.c,null,"Ok")))))}}Re.propTypes={onClose:i().func,actionFeedbackContext:i().any,administrationWorkspaceContext:i().object,t:i().func};const _e=d($((0,v.Z)("common")(Re)));class Me extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleSaveClick=this.handleSaveClick.bind(this),this.handleTestClick=this.handleTestClick.bind(this),this.handleSimulateSynchronizeClick=this.handleSimulateSynchronizeClick.bind(this),this.handleSynchronizeClick=this.handleSynchronizeClick.bind(this),this.handleEditSubscriptionClick=this.handleEditSubscriptionClick.bind(this)}async componentDidUpdate(e){await this.handleMustSynchronize(e.administrationWorkspaceContext.must.synchronize)}handleMustSynchronize(e){this.props.administrationWorkspaceContext.must.synchronize!==e&&this.props.administrationWorkspaceContext.must.synchronize&&(this.handleSynchronizeClick(),this.props.administrationWorkspaceContext.onResetActionsSettings())}handleSaveClick(){this.props.administrationWorkspaceContext.onMustSaveSettings()}handleTestClick(){this.props.administrationWorkspaceContext.onMustTestSettings()}handleSimulateSynchronizeClick(){this.props.dialogContext.open(De)}handleSynchronizeClick(){this.props.dialogContext.open(_e)}handleEditSubscriptionClick(){this.props.administrationWorkspaceContext.onMustEditSubscriptionKey()}isSaveEnabled(){return this.props.administrationWorkspaceContext.can.save}isTestEnabled(){return this.props.administrationWorkspaceContext.can.test}isSynchronizeEnabled(){return this.props.administrationWorkspaceContext.can.synchronize}isUserDirectorySelected(){return H.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}isSubscriptionSelected(){return H.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}get translate(){return this.props.t}render(){return n.createElement("div",{className:"col2_3 actions-wrapper"},n.createElement("div",{className:"actions"},!this.isSubscriptionSelected()&&n.createElement("div",null,n.createElement("li",null,n.createElement("a",{className:"button "+(this.isSaveEnabled()?"":"disabled"),onClick:this.handleSaveClick},n.createElement(ue,{name:"save"}),n.createElement("span",null,n.createElement(f.c,null,"Save settings")))),this.isUserDirectorySelected()&&n.createElement("div",null,n.createElement("li",null,n.createElement("a",{className:"button "+(this.isTestEnabled()?"":"disabled"),onClick:this.handleTestClick},n.createElement(ue,{name:"plug"}),n.createElement("span",null,n.createElement(f.c,null,"Test settings")))),n.createElement("li",null,n.createElement("a",{className:"button "+(this.isSynchronizeEnabled()?"":"disabled"),onClick:this.handleSimulateSynchronizeClick},n.createElement(ue,{name:"magic-wand"}),n.createElement("span",null,n.createElement(f.c,null,"Simulate synchronize")))),n.createElement("li",null,n.createElement("a",{className:"button "+(this.isSynchronizeEnabled()?"":"disabled"),onClick:this.handleSynchronizeClick},n.createElement(ue,{name:"refresh"}),n.createElement("span",null,n.createElement(f.c,null,"Synchronize")))))),this.isSubscriptionSelected()&&n.createElement("div",null,n.createElement("li",null,n.createElement("a",{className:"button",onClick:this.handleEditSubscriptionClick},n.createElement(ue,{name:"edit"}),n.createElement("span",null,n.createElement(f.c,null,"Update key")))))))}}Me.propTypes={administrationWorkspaceContext:i().object,dialogContext:i().any,t:i().func};const ze=g($((0,v.Z)("common")(Me)));class Ge extends n.Component{render(){let e=0;return n.createElement("div",{className:"breadcrumbs"},n.createElement("ul",{className:"menu"},this.props.items&&this.props.items.map((t=>(e++,n.createElement("li",{className:"ellipsis",key:e},t))))))}}Ge.propTypes={items:i().array};const Oe=Ge;class Pe extends n.Component{render(){return n.createElement("a",{onClick:this.props.onClick},this.props.name)}}Pe.propTypes={name:i().string,onClick:i().func};const Fe=Pe;class Le extends n.Component{get items(){return this.props.administrationWorkspaceContext.selectedAdministration===H.NONE?[]:[n.createElement(Fe,{key:"bread-1",name:this.translate("Administration"),onClick:this.props.navigationContext.onGoToAdministrationRequested}),n.createElement(Fe,{key:"bread-2",name:this.getLastBreadcrumbItemName(),onClick:this.onLastBreadcrumbClick.bind(this)}),n.createElement(Fe,{key:"bread-3",name:this.translate("Settings"),onClick:this.onLastBreadcrumbClick.bind(this)})]}getLastBreadcrumbItemName(){switch(this.props.administrationWorkspaceContext.selectedAdministration){case H.MFA:return this.translate("Multi factor authentication");case H.USER_DIRECTORY:return this.translate("Users Directory");case H.EMAIL_NOTIFICATION:return this.translate("Email Notification");case H.SUBSCRIPTION:return this.translate("Subscription");case H.INTERNATIONALIZATION:return this.translate("Internationalisation");default:return""}}async onLastBreadcrumbClick(){const e=this.props.location.pathname;this.props.history.push({pathname:e})}get translate(){return this.props.t}render(){return n.createElement(Oe,{items:this.items})}}Le.propTypes={administrationWorkspaceContext:i().object,location:i().object,history:i().object,navigationContext:i().any,t:i().func};const Ke=(0,N.EN)(ae($((0,v.Z)("common")(Le))));class We extends n.Component{hasChildren(){return this.props.node.group.groups.length>0}displayUserName(e){return`${e.profile.first_name} ${e.profile.last_name}`}get node(){return this.props.node}render(){return n.createElement("ul",{key:this.node.id},"group"===this.node.type&&n.createElement("li",{className:"group"},this.node.group.name,n.createElement("ul",null,Object.values(this.node.group.users).map((e=>n.createElement("li",{className:"user",key:e.id},e.errors&&n.createElement("span",{className:"error"},e.directory_name),!e.errors&&n.createElement("span",null,this.displayUserName(e.user)," ",n.createElement("em",null,"(",e.user.username,")"))))),Object.values(this.node.group.groups).map((e=>n.createElement(We,{key:`tree-${e.id}`,node:e}))))),"user"===this.node.type&&n.createElement("li",{className:"user"},this.node.errors&&n.createElement("span",{className:"error"},this.node.directory_name),!this.node.errors&&n.createElement("span",null,this.displayUserName(this.node.user)," ",n.createElement("em",null,"(",this.node.user.username,")"))))}}We.propTypes={node:i().object};const Be=We;class je extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindEventHandlers()}get defaultState(){return{loading:!0,openListGroupsUsers:!1,openStructureGroupsUsers:!1,openErrors:!1}}bindEventHandlers(){this.handleListGroupsUsersClicked=this.handleListGroupsUsersClicked.bind(this),this.handleStructureGroupsUsersClicked=this.handleStructureGroupsUsersClicked.bind(this),this.handleErrorsClicked=this.handleErrorsClicked.bind(this),this.handleClose=this.handleClose.bind(this)}componentDidMount(){this.setState({loading:!1})}handleListGroupsUsersClicked(){this.setState({openListGroupsUsers:!this.state.openListGroupsUsers})}handleStructureGroupsUsersClicked(){this.setState({openStructureGroupsUsers:!this.state.openStructureGroupsUsers})}handleErrorsClicked(){this.setState({openErrors:!this.state.openErrors})}handleClose(){this.props.onClose(),this.props.context.setContext({displayTestUserDirectoryDialogProps:null})}hasAllInputDisabled(){return this.state.loading}displayUserName(e){return`${e.profile.first_name} ${e.profile.last_name}`}get users(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.users}get groups(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.groups}get tree(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.tree}get errors(){return this.props.context.displayTestUserDirectoryDialogProps.userDirectoryTestResult.errors}get translate(){return this.props.t}render(){return n.createElement(Ne,{className:"ldap-test-settings-dialog",title:"Test settings report",onClose:this.handleClose,disabled:this.hasAllInputDisabled()},n.createElement("div",{className:"form-content"},n.createElement("p",null,n.createElement("strong",null,n.createElement(f.c,null,"A connection could be established. Well done!"))),n.createElement("p",null),n.createElement("div",{className:"ldap-test-settings-report"},n.createElement("p",null,this.translate("{{users}} and {{groups}} have been found.",{users:this.translate("{{count}} user",{count:this.users.length}),groups:this.translate("{{count}} group",{count:this.groups.length})})),n.createElement("div",{className:"accordion directory-list "+(this.state.openListGroupsUsers?"":"closed")},n.createElement("div",{className:"accordion-header",onClick:this.handleListGroupsUsersClicked},this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openListGroupsUsers&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement("a",{role:"link"},n.createElement(f.c,null,"See list"))),n.createElement("div",{className:"accordion-content"},n.createElement("table",null,n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",null,n.createElement(f.c,null,"Groups")),n.createElement("td",null,n.createElement(f.c,null,"Users"))),n.createElement("tr",null,n.createElement("td",null,this.groups.map((e=>e.errors&&n.createElement("div",{key:e.id},n.createElement("span",{className:"error"},e.directory_name))||n.createElement("div",{key:e.id},e.group.name)))),n.createElement("td",null,this.users.map((e=>e.errors&&n.createElement("div",{key:e.id},n.createElement("span",{className:"error"},e.directory_name))||n.createElement("div",{key:e.id},this.displayUserName(e.user)," ",n.createElement("em",null,"(",e.user.username,")")))))))))),n.createElement("div",{className:"accordion accordion-directory-structure "+(this.state.openStructureGroupsUsers?"":"closed")},n.createElement("div",{className:"accordion-header",onClick:this.handleStructureGroupsUsersClicked},this.state.openStructureGroupsUsers&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openStructureGroupsUsers&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement("a",{role:"link"},n.createElement(f.c,null,"See structure"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"directory-structure"},n.createElement("ul",null,n.createElement("li",{className:"group"},"Root",Object.values(this.tree).map((e=>n.createElement(Be,{key:`tree-${e.id}`,node:e})))))))),this.errors.length>0&&n.createElement("div",null,n.createElement("p",{className:"directory-errors error"},this.translate("{{count}} entry had errors and will be ignored during synchronization.",{count:this.errors.length})),n.createElement("div",{className:"accordion accordion-directory-errors "+(this.state.openErrors?"":"closed")},n.createElement("div",{className:"accordion-header",onClick:this.handleErrorsClicked},this.state.openErrors&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openErrors&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement("a",{role:"link"},n.createElement(f.c,null,"See error details"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"directory-errors"},n.createElement("textarea",{value:JSON.stringify(this.errors,null," "),readOnly:!0}))))))),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement("a",{className:"button primary "+(this.hasAllInputDisabled()?"disabled":""),role:"button",onClick:this.handleClose},n.createElement(f.c,null,"OK"))))}}je.propTypes={context:i().any,onClose:i().func,t:i().func};const $e=U((0,v.Z)("common")(je));class He extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.createRefs(),this.bindCallbacks()}get defaultState(){return{loading:!0,processing:!1,openCredentials:!0,openDirectoryConfiguration:!1,openSynchronizationOptions:!1,openConnectionType:!1,openDefaultAdmin:!1,openDefaultGroupAdmin:!1,userDirectoryToggle:!1,directoryType:"ad",connectionType:"plain",host:"",hostError:null,port:"389",portError:null,username:"",password:"",domain:"",domainError:null,baseDn:"",groupPath:"",userPath:"",groupObjectClass:"",userObjectClass:"",useEmailPrefix:!1,emailPrefix:"",emailSuffix:"",defaultAdmin:"",defaultGroupAdmin:"",groupsParentGroup:"",usersParentGroup:"",enabledUsersOnly:!1,createUsers:!0,deleteUsers:!0,createGroups:!0,deleteGroups:!0,updateGroups:!0,defaultAdminSearch:"",defaultGroupAdminSearch:"",users:null,hasAlreadyBeenValidated:!1}}async componentDidMount(){document.addEventListener("click",this.handleUserDirectoryClickEvent),this.findAllUserDirectorySettings()}componentWillUnmount(){document.removeEventListener("click",this.handleUserDirectoryClickEvent)}async componentDidUpdate(e,t){await this.handleEnabledTestButton(t.userDirectoryToggle),await this.handleMustSubmit(e.administrationWorkspaceContext)}bindCallbacks(){this.handleUserDirectoryClickEvent=this.handleUserDirectoryClickEvent.bind(this),this.handleCredentialTitleClicked=this.handleCredentialTitleClicked.bind(this),this.handleDirectoryConfigurationTitleClicked=this.handleDirectoryConfigurationTitleClicked.bind(this),this.handleSynchronizationOptionsTitleClicked=this.handleSynchronizationOptionsTitleClicked.bind(this),this.handleConnectionTypeClicked=this.handleConnectionTypeClicked.bind(this),this.handleDefaultAdminClicked=this.handleDefaultAdminClicked.bind(this),this.handleDefaultGroupAdminClicked=this.handleDefaultGroupAdminClicked.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleHostInputKeyUp=this.handleHostInputKeyUp.bind(this),this.handlePortInputKeyUp=this.handlePortInputKeyUp.bind(this),this.handleDomainInputKeyUp=this.handleDomainInputKeyUp.bind(this),this.stopPropagation=this.stopPropagation.bind(this),this.handleConnectionTypeChange=this.handleConnectionTypeChange.bind(this),this.handleUserToBeDefaultAdminClick=this.handleUserToBeDefaultAdminClick.bind(this),this.handleUserToBeDefaultGroupAdminClick=this.handleUserToBeDefaultGroupAdminClick.bind(this)}createRefs(){this.connectionTypeRef=n.createRef(),this.defaultAdminRef=n.createRef(),this.defaultGroupAdminRef=n.createRef()}handleEnabledTestButton(e){this.state.userDirectoryToggle!==e&&this.props.administrationWorkspaceContext.onTestEnabled(this.state.userDirectoryToggle)}handleUserDirectoryClickEvent(e){null===this.defaultAdminRef.current||this.defaultAdminRef.current.contains(e.target)||this.setState({openDefaultAdmin:!1}),null===this.defaultGroupAdminRef.current||this.defaultGroupAdminRef.current.contains(e.target)||this.setState({openDefaultGroupAdmin:!1}),null===this.connectionTypeRef.current||this.connectionTypeRef.current.contains(e.target)||this.setState({openConnectionType:!1})}stopPropagation(e){e.stopPropagation()}async handleMustSubmit(e){const t=this.props.administrationWorkspaceContext.must.save!==e.must.save,s=this.props.administrationWorkspaceContext.must.test!==e.must.test;(t&&this.props.administrationWorkspaceContext.must.save||s&&this.props.administrationWorkspaceContext.must.test)&&(await this.handleFormSubmit(),this.props.administrationWorkspaceContext.onResetActionsSettings())}async findAllUserDirectorySettings(){const e=(await this.props.administrationWorkspaceContext.onGetUsersDirectoryRequested()).body,t=await this.props.administrationWorkspaceContext.onGetUsersRequested(),s=this.sortUsers(t.body);let n="",a="";if(0!==e.length){const t=!0,r=e.directory_type,i=e.connection_type,l=e.domain_name,o=e.username,c=e.password,h=e.base_dn,d=e.server,u=e.port.toString();n=e.default_user,a=e.default_group_admin_user;const p=e.sync_users_create,m=e.sync_users_delete,g=e.sync_groups_create,E=e.sync_groups_delete,b=e.sync_groups_update,y=!0===e.enabled_users_only,f=e.group_path,v=e.user_path,C=e.group_object_class,w=e.user_object_class,S=e.use_email_prefix_suffix,k=e.email_prefix,x=e.email_suffix,N=e.groups_parent_group,T=e.users_parent_group;this.setState({loading:!1,users:s,userDirectoryToggle:t,directoryType:r,connectionType:i,domain:l,username:o,password:c,baseDn:h,host:d,port:u,defaultAdmin:n,defaultGroupAdmin:a,enabledUsersOnly:y,groupPath:f,userPath:v,groupObjectClass:C,userObjectClass:w,useEmailPrefix:S,emailPrefix:k,emailSuffix:x,groupsParentGroup:N,usersParentGroup:T,createUsers:p,deleteUsers:m,createGroups:g,deleteGroups:E,updateGroups:b}),this.props.administrationWorkspaceContext.onTestEnabled(t),this.props.administrationWorkspaceContext.onSynchronizeEnabled(t)}else{const e=s.find((e=>this.props.context.loggedInUser.id===e.id));n=e.id,a=e.id,this.setState({loading:!1,users:s,defaultAdmin:n,defaultGroupAdmin:a})}}sortUsers(e){const t=e=>`${e.profile.first_name} ${e.profile.last_name}`;return e.sort(((e,s)=>t(e).localeCompare(t(s))))}handleCredentialTitleClicked(){this.setState({openCredentials:!this.state.openCredentials})}handleDirectoryConfigurationTitleClicked(){this.setState({openDirectoryConfiguration:!this.state.openDirectoryConfiguration})}handleSynchronizationOptionsTitleClicked(){this.setState({openSynchronizationOptions:!this.state.openSynchronizationOptions})}handleConnectionTypeClicked(){this.hasAllInputDisabled()||this.setState({openConnectionType:!this.state.openConnectionType})}handleDefaultAdminClicked(){this.hasAllInputDisabled()||this.setState({openDefaultAdmin:!this.state.openDefaultAdmin,defaultAdminSearch:""})}handleDefaultGroupAdminClicked(){this.hasAllInputDisabled()||this.setState({openDefaultGroupAdmin:!this.state.openDefaultGroupAdmin,defaultGroupAdminSearch:""})}handleHostInputKeyUp(){if(this.state.hasAlreadyBeenValidated){const e=this.validateHostInput();this.setState(e)}}handlePortInputKeyUp(){if(this.state.hasAlreadyBeenValidated){const e=this.validatePortInput();this.setState(e)}}handleDomainInputKeyUp(){if(this.state.hasAlreadyBeenValidated){const e=this.validateDomainInput();this.setState(e)}}handleInputChange(e){const t=e.target,s="checkbox"===t.type?t.checked:t.value,n=t.name;this.setState({[n]:s}),this.handleEnabledSaveButton()}handleUserToBeDefaultAdminClick(e){const t=e.target.dataset.id;this.setState({defaultAdmin:t}),this.handleEnabledSaveButton()}handleUserToBeDefaultGroupAdminClick(e){const t=e.target.dataset.id;this.setState({defaultGroupAdmin:t}),this.handleEnabledSaveButton()}handleConnectionTypeChange(e){const t=e.target.dataset.id;this.setState({connectionType:t}),this.handleEnabledSaveButton()}handleEnabledSaveButton(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}hasAllInputDisabled(){return this.state.processing||this.state.loading}isUserDirectoryChecked(){return this.state.userDirectoryToggle}isActiveDirectoryChecked(){return"ad"===this.state.directoryType}isOpenLdapChecked(){return"openldap"===this.state.directoryType}isUseEmailPrefixChecked(){return this.state.useEmailPrefix}async validate(){await Promise.all([this.validateHostInput(),this.validatePortInput(),this.validateDomainInput()])}async validateHostInput(){let e=null;return this.state.host.trim().length||(e=this.translate("A host is required.")),this.setState({hostError:e})}async validatePortInput(){let e=null;const t=this.state.port.trim();return t.length?ye()("^[0-9]+").test(t)||(e=this.translate("Only numeric characters allowed.")):e=this.translate("A port is required."),this.setState({portError:e})}async validateDomainInput(){let e=null;return this.state.domain.trim().length||(e=this.translate("A domain name is required.")),this.setState({domainError:e})}hasValidationError(){return null!==this.state.hostError||null!==this.state.portError||null!==this.state.domainError}async handleFormSubmit(){if(await this.setState({hasAlreadyBeenValidated:!0}),!this.state.processing){if(await this.toggleProcessing(),await this.validate(),this.hasValidationError())return void await this.toggleProcessing();try{this.props.administrationWorkspaceContext.must.save?(await this.saveUserDirectory(),await this.handleSaveSuccess()):this.props.administrationWorkspaceContext.must.test&&await this.testUserDirectory(),this.setState({processing:!1})}catch(e){await this.handleSaveError(e)}}}createUserDirectoryDTO(){const e=this.state.directoryType,t=this.state.domain,s=this.state.connectionType,n=this.state.host,a=parseInt(this.state.port),r=this.state.username,i=this.state.password,l=this.state.baseDn,o=this.state.groupPath,c=this.state.userPath,h=this.state.defaultAdmin,d=this.state.defaultGroupAdmin,u=this.state.groupsParentGroup,p=this.state.usersParentGroup,m=this.state.enabledUsersOnly,g=this.state.createUsers,E=this.state.deleteUsers,b=this.state.createGroups,y=this.state.deleteGroups,f=this.state.updateGroups,v=this.state.userDirectoryToggle;let C="",w="",S=!1,k="",x="";return"openldap"==e&&(C=this.state.groupObjectClass,w=this.state.userObjectClass,S=this.state.useEmailPrefix,S&&(k=this.state.emailPrefix,x=this.state.emailSuffix)),{directory_type:e,domain_name:t,connection_type:s,server:n,port:a,username:r,password:i,base_dn:l,group_path:o,user_path:c,group_object_class:C,user_object_class:w,default_user:h,default_group_admin_user:d,groups_parent_group:u,users_parent_group:p,enabled_users_only:m,sync_users_create:g,sync_users_delete:E,sync_groups_create:b,sync_groups_delete:y,sync_groups_update:f,enabled:v,use_email_prefix_suffix:S,email_prefix:k,email_suffix:x}}async saveUserDirectory(){this.state.userDirectoryToggle?(await this.props.administrationWorkspaceContext.onUpdateUsersDirectoryRequested(this.createUserDirectoryDTO()),this.props.administrationWorkspaceContext.onSynchronizeEnabled(!0)):(this.setState(this.defaultState),await this.props.administrationWorkspaceContext.onDeleteUsersDirectoryRequested(),this.props.administrationWorkspaceContext.onSynchronizeEnabled(!1),this.setState({loading:!1}))}async testUserDirectory(){const e={userDirectoryTestResult:(await this.props.administrationWorkspaceContext.onTestUsersDirectoryRequested(this.createUserDirectoryDTO())).body};this.props.context.setContext({displayTestUserDirectoryDialogProps:e}),this.props.dialogContext.open($e)}async handleSaveSuccess(){await this.props.actionFeedbackContext.displaySuccess(this.translate("The user directory settings for the organization were updated."))}async handleSaveError(e){"UserAbortsOperationError"===e.name||(console.error(e),await this.handleError(e)),this.setState({processing:!1})}async handleError(e){await this.props.actionFeedbackContext.displayError(e.message)}async toggleProcessing(){const e=this.state.processing;return this.setState({processing:!e})}getUsersAllowedToBeDefaultAdmin(){if(null!==this.state.users){const e=this.state.users.filter((e=>!0===e.active&&"admin"===e.role.name));return""!==this.state.defaultAdminSearch?this.getUsersMatch(e,this.state.defaultAdminSearch.toLowerCase()):e}return[]}getUsersAllowedToBeDefaultGroupAdmin(){if(null!==this.state.users){const e=this.state.users.filter((e=>!0===e.active));return""!==this.state.defaultGroupAdminSearch?this.getUsersMatch(e,this.state.defaultGroupAdminSearch.toLowerCase()):e}return[]}getUsersMatch(e,t){const s=t&&t.split(/\s+/)||[""],n=(e,t)=>(e=>new RegExp((e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(e),"i"))(e).test(t);return e.filter((e=>s.every((t=>((e,t)=>((e,t)=>n(e,t.username))(e,t)||((e,t)=>n(e,t.profile.first_name)||n(e,t.profile.last_name))(e,t))(t,e)))))}displayUser(e){return`${e.profile.first_name} ${e.profile.last_name} (${e.username})`}displayDefaultAdmin(){if(null!==this.state.users&&""!==this.state.defaultAdmin){const e=this.state.users.find((e=>e.id===this.state.defaultAdmin));return this.displayUser(e)}return""}get connectionType(){return{plain:"ldap://",ssl:"ldaps:// (ssl)",tls:"ldaps:// (tls)"}}displayDefaultGroupAdmin(){if(null!==this.state.users&&""!==this.state.defaultGroupAdmin){const e=this.state.users.find((e=>e.id===this.state.defaultGroupAdmin));return this.displayUser(e)}return""}get translate(){return this.props.t}render(){const e=this.getUsersAllowedToBeDefaultAdmin(),t=this.getUsersAllowedToBeDefaultGroupAdmin();return n.createElement("div",{className:"row"},n.createElement("div",{className:"ldap-settings col7"},n.createElement("form",{className:"form"},n.createElement("h3",null,n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userDirectoryToggle",onChange:this.handleInputChange,checked:this.state.userDirectoryToggle,disabled:this.hasAllInputDisabled(),id:"userDirectoryToggle"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"userDirectoryToggle"})),n.createElement("label",null,n.createElement(f.c,null,"Users Directory"))),!this.isUserDirectoryChecked()&&n.createElement("p",{className:"description"},n.createElement(f.c,null,"No Users Directory is configured. Enable it to synchronise your users and groups with passbolt.")),this.isUserDirectoryChecked()&&n.createElement("div",null,n.createElement("p",{className:"description"},n.createElement(f.c,null,"A Users Directory is configured. The users and groups of passbolt will synchronize with it.")),n.createElement("div",{className:"form-content"},n.createElement("div",{className:"accordion section-general "+(this.state.openCredentials?"":"closed")},n.createElement("h3",{className:"accordion-header"},n.createElement("a",{onClick:this.handleCredentialTitleClicked},this.state.openCredentials&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openCredentials&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement(f.c,null,"Credentials"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"radiolist required"},n.createElement("label",null,n.createElement(f.c,null,"Directory type")),n.createElement("div",{className:"input radio ad openldap form-element "},n.createElement("div",{className:"input radio"},n.createElement("input",{type:"radio",value:"ad",onChange:this.handleInputChange,name:"directoryType",checked:"ad"===this.state.directoryType,id:"directoryTypeAd",disabled:this.hasAllInputDisabled()}),n.createElement("label",{htmlFor:"directoryTypeAd"},n.createElement(f.c,null,"Active Directory"))),n.createElement("div",{className:"input radio"},n.createElement("input",{type:"radio",value:"openldap",onChange:this.handleInputChange,name:"directoryType",checked:"openldap"===this.state.directoryType,id:"directoryTypeOpenLdap",disabled:this.hasAllInputDisabled()}),n.createElement("label",{htmlFor:"directoryTypeOpenLdap"},n.createElement(f.c,null,"Open Ldap"))))),n.createElement("div",{className:"clearfix required ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Server url")),n.createElement("div",{className:"input text singleline connection_info ad openldap"},n.createElement("div",{onClick:this.handleConnectionTypeClicked,ref:this.connectionTypeRef,className:`protocol chosen-container chosen-container-single connection-type ${this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"} ${this.state.openConnectionType?"chosen-with-drop":""}`},n.createElement("a",{className:"chosen-single"},n.createElement("span",{id:"connection-type-input"},this.connectionType[this.state.connectionType]),n.createElement("div",null,!this.state.openDefaultGroupAdmin&&n.createElement(ue,{name:"caret-down",baseline:!0}),this.state.openDefaultGroupAdmin&&n.createElement(ue,{name:"caret-up",baseline:!0}))),n.createElement("div",{className:"chosen-drop"},n.createElement("ul",{className:"chosen-results"},n.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"plain"},"ldap://"),n.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"ssl"},"ldaps:// (ssl)"),n.createElement("li",{className:"active-result",onClick:this.handleConnectionTypeChange,"data-id":"tls"},"ldaps:// (tls)")))),n.createElement("div",{className:"input text host ad openldap"},n.createElement("input",{id:"server-input",type:"text",className:"required fluid form-element",name:"host",value:this.state.host,onChange:this.handleInputChange,onKeyUp:this.handleHostInputKeyUp,placeholder:this.translate("host"),disabled:this.hasAllInputDisabled()}),this.state.hostError&&n.createElement("div",{id:"server-input-feedback",className:"error-message"},this.state.hostError)),n.createElement("div",{className:"input text port ad openldap"},n.createElement("input",{id:"port-input",type:"number",className:"required fluid form-element",name:"port",value:this.state.port,onChange:this.handleInputChange,onKeyUp:this.handlePortInputKeyUp,placeholder:this.translate("port"),disabled:this.hasAllInputDisabled()}),this.state.portError&&n.createElement("div",{id:"port-input-feedback",className:"error-message"},this.state.portError)))),n.createElement("div",{className:"singleline clearfix"},n.createElement("div",{className:"input text first-field ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Username")),n.createElement("input",{id:"username-input",type:"text",className:"fluid form-element",name:"username",value:this.state.username,onChange:this.handleInputChange,placeholder:this.translate("username"),disabled:this.hasAllInputDisabled()})),n.createElement("div",{className:"input text last-field ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Password")),n.createElement("input",{id:"password-input",className:"fluid form-element",name:"password",value:this.state.password,onChange:this.handleInputChange,placeholder:this.translate("password"),type:"password",disabled:this.hasAllInputDisabled()}))),n.createElement("div",{className:"input text required ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Domain")),n.createElement("input",{id:"domain-name-input",type:"text",name:"domain",value:this.state.domain,onChange:this.handleInputChange,className:"required fluid form-element",onKeyUp:this.handleDomainInputKeyUp,placeholder:"domain.ext",disabled:this.hasAllInputDisabled()}),this.state.domainError&&n.createElement("div",{id:"domain-name-input-feedback",className:"error-message"},this.state.domainError)),n.createElement("div",{className:"input text ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Base DN")),n.createElement("input",{id:"base-dn-input",type:"text",name:"baseDn",value:this.state.baseDn,onChange:this.handleInputChange,className:"fluid form-element",placeholder:"OU=OrgUsers,DC=mydomain,DC=local",disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"The base DN (default naming context) for the domain.")," ",n.createElement(f.c,null,"If this is empty then it will be queried from the RootDSE."))))),n.createElement("div",{className:"accordion section-directory-configuration "+(this.state.openDirectoryConfiguration?"":"closed")},n.createElement("h3",{className:"accordion-header"},n.createElement("a",{onClick:this.handleDirectoryConfigurationTitleClicked},this.state.openDirectoryConfiguration&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openDirectoryConfiguration&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement(f.c,null,"Directory configuration"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"input text ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Group path")),n.createElement("input",{id:"group-path-input",type:"text",name:"groupPath",value:this.state.groupPath,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("Group Path"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"Group path is used in addition to the base DN while searching groups.")," ",n.createElement(f.c,null,"Leave empty if users and groups are in the same DN."))),n.createElement("div",{className:"input text ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"User path")),n.createElement("input",{id:"user-path-input",type:"text",name:"userPath",value:this.state.userPath,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("User Path"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"User path is used in addition to base DN while searching users."))),this.isOpenLdapChecked()&&n.createElement("div",null,n.createElement("div",{className:"input text openldap"},n.createElement("label",null,n.createElement(f.c,null,"Group object class")),n.createElement("input",{id:"group-object-class-input",type:"text",name:"groupObjectClass",value:this.state.groupObjectClass,onChange:this.handleInputChange,className:"required fluid",placeholder:"GroupObjectClass",disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"For Openldap only. Defines which group object to use.")," (",n.createElement(f.c,null,"Default"),": posixGroup)")),n.createElement("div",{className:"input text openldap"},n.createElement("label",null,n.createElement(f.c,null,"User object class")),n.createElement("input",{id:"user-object-class-input",type:"text",name:"userObjectClass",value:this.state.userObjectClass,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:"UserObjectClass",disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"For Openldap only. Defines which user object to use.")," (",n.createElement(f.c,null,"Default"),": inetOrgPerson)")),n.createElement("div",{className:"input text openldap"},n.createElement("label",null,n.createElement(f.c,null,"Use email prefix / suffix?")),n.createElement("div",{className:"input toggle-switch openldap form-element"},n.createElement("label",{htmlFor:"use-email-prefix-suffix-toggle-button"},n.createElement(f.c,null,"Build email based on a prefix and suffix?")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"useEmailPrefix",value:this.state.useEmailPrefix,onChange:this.handleInputChange,id:"use-email-prefix-suffix-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"use-email-prefix-suffix-toggle-button"})),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"Use this option when user entries do not include an email address by default"))),this.isUseEmailPrefixChecked()&&n.createElement("div",{className:"singleline clearfix",id:"use-email-prefix-suffix-options"},n.createElement("div",{className:"input text first-field openldap"},n.createElement("label",null,n.createElement(f.c,null,"Email prefix")),n.createElement("input",{id:"email-prefix-input",type:"text",name:"emailPrefix",checked:this.state.emailPrefix,onChange:this.handleInputChange,className:"required fluid form-element",placeholder:this.translate("username"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"The attribute you would like to use for the first part of the email (usually username)."))),n.createElement("div",{className:"input text last-field openldap"},n.createElement("label",null,n.createElement(f.c,null,"Email suffix")),n.createElement("input",{id:"email-suffix-input",type:"text",name:"emailSuffix",value:this.state.emailSuffix,onChange:this.handleInputChange,className:"required form-element",placeholder:this.translate("@your-domain.com"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"The domain name part of the email (@your-domain-name)."))))))),n.createElement("div",{className:"accordion section-sync-options "+(this.state.openSynchronizationOptions?"":"closed")},n.createElement("h3",{className:"accordion-header"},n.createElement("a",{onClick:this.handleSynchronizationOptionsTitleClicked},this.state.openSynchronizationOptions&&n.createElement(ue,{name:"caret-down",baseline:!0}),!this.state.openSynchronizationOptions&&n.createElement(ue,{name:"caret-right",baseline:!0}),n.createElement(f.c,null,"Synchronization options"))),n.createElement("div",{className:"accordion-content"},n.createElement("div",{className:"input select required ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Default admin")),n.createElement("div",{onClick:this.handleDefaultAdminClicked,ref:this.defaultAdminRef},n.createElement("div",{className:`chosen-container chosen-container-single ${this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"} ${this.state.openDefaultAdmin?"chosen-with-drop":""}`},n.createElement("a",{className:"chosen-single"},n.createElement("span",{id:"default-user-select"},this.displayDefaultAdmin()),n.createElement("div",null,!this.state.openDefaultAdmin&&n.createElement(ue,{name:"caret-down",baseline:!0}),this.state.openDefaultAdmin&&n.createElement(ue,{name:"caret-up",baseline:!0}))),n.createElement("div",{className:"chosen-drop"},n.createElement("div",{className:"chosen-search",onClick:this.stopPropagation},n.createElement("input",{className:"chosen-search-input",name:"defaultAdminSearch",value:this.state.defaultAdminSearch,onChange:this.handleInputChange,type:"text"}),n.createElement(ue,{name:"search"})),n.createElement("ul",{className:"chosen-results"},e.length>0&&e.map((e=>n.createElement("li",{key:e.id,className:"active-result",onClick:this.handleUserToBeDefaultAdminClick,"data-id":e.id},this.displayUser(e)))),0===e.length&&n.createElement("li",{className:"no-results",onClick:this.stopPropagation},n.createElement(f.c,null,"No results match")," ",n.createElement("span",null,this.state.defaultAdminSearch)))))),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"The default admin user is the user that will perform the operations for the the directory."))),n.createElement("div",{className:"input select required ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Default group admin")),n.createElement("div",{onClick:this.handleDefaultGroupAdminClicked,ref:this.defaultGroupAdminRef},n.createElement("div",{className:`chosen-container chosen-container-single ${this.hasAllInputDisabled()?"chosen-disabled":"chosen-container-active"} ${this.state.openDefaultGroupAdmin?"chosen-with-drop":""}`},n.createElement("a",{className:"chosen-single"},n.createElement("span",{id:"default-group-admin-user-select"},this.displayDefaultGroupAdmin()),n.createElement("div",null,!this.state.openDefaultGroupAdmin&&n.createElement(ue,{name:"caret-down",baseline:!0}),this.state.openDefaultGroupAdmin&&n.createElement(ue,{name:"caret-up",baseline:!0}))),n.createElement("div",{className:"chosen-drop"},n.createElement("div",{className:"chosen-search",onClick:this.stopPropagation},n.createElement("input",{className:"chosen-search-input",name:"defaultGroupAdminSearch",value:this.state.defaultGroupAdminSearch,onChange:this.handleInputChange,type:"text"}),n.createElement(ue,{name:"search"})),n.createElement("ul",{className:"chosen-results"},t.length>0&&t.map((e=>n.createElement("li",{key:e.id,className:"active-result",onClick:this.handleUserToBeDefaultGroupAdminClick,"data-id":e.id},this.displayUser(e)))),0===t.length&&n.createElement("li",{className:"no-results",onClick:this.stopPropagation},n.createElement(f.c,null,"No results match")," ",n.createElement("span",null,this.state.defaultGroupAdminSearch)))))),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"The default group manager is the user that will be the group manager of newly created groups."))),n.createElement("div",{className:"input text ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Groups parent group")),n.createElement("input",{id:"groups-parent-group-input",type:"text",name:"groupsParentGroup",value:this.state.groupsParentGroup,onChange:this.handleInputChange,className:"fluid form-element",placeholder:this.translate("Group name"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"Synchronize only the groups which are members of this group."))),n.createElement("div",{className:"input text ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Users parent group")),n.createElement("input",{id:"users-parent-group-input",type:"text",name:"usersParentGroup",value:this.state.usersParentGroup,onChange:this.handleInputChange,className:"fluid form-element",placeholder:this.translate("Group name"),disabled:this.hasAllInputDisabled()}),n.createElement("div",{className:"help-message"},n.createElement(f.c,null,"Synchronize only the users which are members of this group."))),this.isActiveDirectoryChecked()&&n.createElement("div",{className:"input text clearfix ad"},n.createElement("label",null,n.createElement(f.c,null,"Enabled users only")),n.createElement("div",{className:"input toggle-switch ad form-element"},n.createElement("label",{htmlFor:"enabled-users-only-toggle-button"},n.createElement(f.c,null,"Only synchronize enabled users (AD)")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"enabledUsersOnly",checked:this.state.enabledUsersOnly,onChange:this.handleInputChange,id:"enabled-users-only-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"enabled-users-only-toggle-button"}))),n.createElement("div",{className:"input text clearfix ad openldap"},n.createElement("label",null,n.createElement(f.c,null,"Sync operations")),n.createElement("div",{className:"col6"},n.createElement("div",{className:"input toggle-switch ad openldap form-element"},n.createElement("label",{htmlFor:"sync-users-create-toggle-button"},n.createElement(f.c,null,"Create users")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"createUsers",checked:this.state.createUsers,onChange:this.handleInputChange,id:"sync-users-create-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-users-create-toggle-button"})),n.createElement("div",{className:"input toggle-switch ad openldap form-element"},n.createElement("label",{htmlFor:"sync-users-delete-toggle-button"},n.createElement(f.c,null,"Delete users")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"deleteUsers",checked:this.state.deleteUsers,onChange:this.handleInputChange,id:"sync-users-delete-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-users-delete-toggle-button"}))),n.createElement("div",{className:"col6 last"},n.createElement("div",{className:"input toggle-switch ad openldap form-element"},n.createElement("label",{htmlFor:"sync-groups-create-toggle-button"},n.createElement(f.c,null,"Create groups")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"createGroups",checked:this.state.createGroups,onChange:this.handleInputChange,id:"sync-groups-create-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-create-toggle-button"})),n.createElement("div",{className:"input toggle-switch ad openldap form-element"},n.createElement("label",{htmlFor:"sync-groups-delete-toggle-button"},n.createElement(f.c,null,"Delete groups")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"deleteGroups",checked:this.state.deleteGroups,onChange:this.handleInputChange,id:"sync-groups-delete-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-delete-toggle-button"})),n.createElement("div",{className:"input toggle-switch ad openldap form-element"},n.createElement("label",{htmlFor:"sync-groups-update-toggle-button"},n.createElement(f.c,null,"Update groups")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"updateGroups",checked:this.state.updateGroups,onChange:this.handleInputChange,id:"sync-groups-update-toggle-button",disabled:this.hasAllInputDisabled()}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"sync-groups-update-toggle-button"})))))))))),n.createElement("div",{className:"col4 last"},n.createElement("div",{className:"sidebar-help"},n.createElement("h3",null,n.createElement(f.c,null,"Need help?")),n.createElement("p",null,n.createElement(f.c,null,"Check out our ldap configuration guide.")),n.createElement("a",{className:"button",href:"https://help.passbolt.com/configure/ldap",target:"_blank",rel:"noopener noreferrer"},n.createElement(ue,{name:"life-ring"}),n.createElement("span",null,n.createElement(f.c,null,"Read the documentation"))))))}}He.propTypes={context:i().object,administrationWorkspaceContext:i().object,actionFeedbackContext:i().any,dialogContext:i().any,t:i().func};const Ve=U(d(g($((0,v.Z)("common")(He)))));class Ze extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{loading:!0,processing:!1,hasDatabaseSetting:!1,hasFileConfigSetting:!1,passwordCreate:!0,passwordShare:!0,passwordUpdate:!0,passwordDelete:!0,folderCreate:!0,folderUpdate:!0,folderDelete:!0,folderShare:!0,commentAdd:!0,groupDelete:!0,groupUserAdd:!0,groupUserDelete:!0,groupUserUpdate:!0,groupManagerUpdate:!0,userCreate:!0,userRecover:!0,showDescription:!0,showSecret:!0,showUri:!0,showUsername:!0,showComment:!0}}async componentDidMount(){this.findAllEmailNotificationsSettings()}async componentDidUpdate(e){await this.handleMustSave(e.administrationWorkspaceContext.must.save)}bindCallbacks(){this.handleInputChange=this.handleInputChange.bind(this)}async handleMustSave(e){this.props.administrationWorkspaceContext.must.save!==e&&this.props.administrationWorkspaceContext.must.save&&(await this.handleFormSubmit(),this.props.administrationWorkspaceContext.onResetActionsSettings())}async findAllEmailNotificationsSettings(){const e=(await this.props.administrationWorkspaceContext.onGetEmailNotificationsRequested()).body,t=e.sources_database,s=e.sources_file,n=e.send_password_create,a=e.send_password_share,r=e.send_password_update,i=e.send_password_delete,l=e.send_folder_create,o=e.send_folder_update,c=e.send_folder_delete,h=e.send_folder_share,d=e.send_comment_add,u=e.send_group_delete,p=e.send_group_user_add,m=e.send_group_user_delete,g=e.send_group_user_update,E=e.send_group_manager_update,b=e.send_user_create,y=e.send_user_recover,f=e.show_description,v=e.show_secret,C=e.show_uri,w=e.show_username,S=e.show_comment;this.setState({loading:!1,hasDatabaseSetting:t,hasFileConfigSetting:s,passwordCreate:n,passwordShare:a,passwordUpdate:r,passwordDelete:i,folderCreate:l,folderUpdate:o,folderDelete:c,folderShare:h,commentAdd:d,groupDelete:u,groupUserAdd:p,groupUserDelete:m,groupUserUpdate:g,groupManagerUpdate:E,userCreate:b,userRecover:y,showDescription:f,showSecret:v,showUri:C,showUsername:w,showComment:S})}handleInputChange(e){const t=e.target,s=t.checked,n=t.name;this.setState({[n]:s}),this.handleEnabledSaveButton()}handleEnabledSaveButton(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}hasAllInputDisabled(){return this.state.processing||this.state.loading}async handleFormSubmit(){if(!this.state.processing){await this.toggleProcessing();try{await this.saveEmailNotifications(),await this.handleSaveSuccess()}catch(e){await this.handleSaveError(e)}}}async saveEmailNotifications(){const e={sources_database:this.state.hasDatabaseSetting,sources_file:this.state.hasFileConfigSetting,send_password_create:this.state.passwordCreate,send_password_share:this.state.passwordShare,send_password_update:this.state.passwordUpdate,send_password_delete:this.state.passwordDelete,send_folder_create:this.state.folderCreate,send_folder_update:this.state.folderUpdate,send_folder_delete:this.state.folderDelete,send_folder_share:this.state.folderShare,send_comment_add:this.state.commentAdd,send_group_delete:this.state.groupDelete,send_group_user_add:this.state.groupUserAdd,send_group_user_delete:this.state.groupUserDelete,send_group_user_update:this.state.groupUserUpdate,send_group_manager_update:this.state.groupManagerUpdate,send_user_create:this.state.userCreate,send_user_recover:this.state.userRecover,show_description:this.state.showDescription,show_secret:this.state.showSecret,show_uri:this.state.showUri,show_username:this.state.showUsername,show_comment:this.state.showComment};await this.props.administrationWorkspaceContext.onSaveEmailNotificationsRequested(e)}async handleSaveSuccess(){await this.props.actionFeedbackContext.displaySuccess(this.translate("The email notification settings were updated.")),this.setState({processing:!1})}async handleSaveError(e){"UserAbortsOperationError"===e.name||(console.error(e),await this.handleError(e)),this.setState({processing:!1})}async handleError(e){await this.props.actionFeedbackContext.displayError(e.message)}async toggleProcessing(){const e=this.state.processing;return this.setState({processing:!e})}hasDatabaseSetting(){return this.state.hasDatabaseSetting}hasFileConfigSetting(){return this.state.hasFileConfigSetting}canUseFolders(){return this.props.context.siteSettings.canIUse("folders")}get translate(){return this.props.t}render(){return n.createElement("div",{className:"row"},n.createElement("div",{className:"email-notification-settings col8"},this.hasDatabaseSetting()&&this.hasFileConfigSetting()&&n.createElement("div",{className:"warning message",id:"email-notification-setting-overridden-banner"},n.createElement("p",null,n.createElement(f.c,null,"Settings have been found in your database as well as in your passbolt.php (or environment variables).")," ",n.createElement(f.c,null,"The settings displayed in the form below are the one stored in your database and have precedence over others."))),!this.hasDatabaseSetting()&&this.hasFileConfigSetting()&&n.createElement("div",{className:"warning message hidden",id:"email-notification-fileconfig-exists-banner"},n.createElement("p",null,n.createElement(f.c,null,"You seem to have Email Notification Settings defined in your passbolt.php (or via environment variables).")," ",n.createElement(f.c,null,"Submitting the form will overwrite those settings with the ones you choose in the form below."))),n.createElement("h3",null,n.createElement(f.c,null,"Email delivery")),n.createElement("p",null,n.createElement(f.c,null,"In this section you can choose which email notifications will be sent.")),n.createElement("form",{className:"form"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col6"},n.createElement("label",null,n.createElement(f.c,null,"Passwords")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-password-create-toggle-button"},n.createElement(f.c,null,"When a password is created, notify its creator.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordCreate,id:"send-password-create-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-create-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-password-update-toggle-button"},n.createElement(f.c,null,"When a password is updated, notify the users who have access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordUpdate,id:"send-password-update-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-update-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-password-delete-toggle-button"},n.createElement(f.c,null,"When a password is deleted, notify the users who had access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordDelete,id:"send-password-delete-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-delete-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-password-share-toggle-button"},n.createElement(f.c,null,"When a password is shared, notify the users who gain access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"passwordShare",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.passwordShare,id:"send-password-share-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-password-share-toggle-button"}))),this.canUseFolders()&&n.createElement("div",{className:"col6 last"},n.createElement("label",null,n.createElement(f.c,null,"Folders")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-folder-create-toggle-button"},n.createElement(f.c,null,"When a folder is created, notify its creator.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderCreate,id:"send-folder-create-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-create-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-folder-update-toggle-button"},n.createElement(f.c,null,"When a folder is updated, notify the users who have access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderUpdate,id:"send-folder-update-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-update-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-folder-delete-toggle-button"},n.createElement(f.c,null,"When a folder is deleted, notify the users who had access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderDelete,id:"send-folder-delete-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-delete-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-folder-share-toggle-button"},n.createElement(f.c,null,"When a folder is shared, notify the users who gain access to it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"folderShare",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.folderShare,id:"send-folder-share-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-folder-share-toggle-button"}))),n.createElement("div",{className:"row"}),n.createElement("div",{className:"col6 last"},n.createElement("label",null,n.createElement(f.c,null,"Comments")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-comment-add-toggle-button"},n.createElement(f.c,null,"When a comment is posted on a password, notify the users who have access to this password.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"commentAdd",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.commentAdd,id:"send-comment-add-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-comment-add-toggle-button"})))),n.createElement("div",{className:"row"},n.createElement("div",{className:"col6"},n.createElement("label",null,n.createElement(f.c,null,"Group membership")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-group-delete-toggle-button"},n.createElement(f.c,null,"When a group is deleted, notify the users who were members of it.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupDelete,id:"send-group-delete-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-delete-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"group-user-add-toggle-button"},n.createElement(f.c,null,"When users are added to a group, notify them.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserAdd",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserAdd,id:"send-group-user-add-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-add-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-group-user-delete-toggle-button"},n.createElement(f.c,null,"When users are removed from a group, notify them.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserDelete",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserDelete,id:"send-group-user-delete-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-delete-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-group-user-update-toggle-button"},n.createElement(f.c,null,"When user roles change in a group, notify the corresponding users.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupUserUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupUserUpdate,id:"send-group-user-update-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-user-update-toggle-button"}))),n.createElement("div",{className:"col6 last"},n.createElement("label",null,n.createElement(f.c,null,"Group manager")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-group-manager-update-toggle-button"},n.createElement(f.c,null,"When members of a group change, notify the group manager(s).")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"groupManagerUpdate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.groupManagerUpdate,id:"send-group-manager-update-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-group-manager-update-toggle-button"})),n.createElement("label",null,n.createElement(f.c,null,"Registration & Recovery")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-user-create-toggle-button"},n.createElement(f.c,null,"When new users are invited to passbolt, notify them.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userCreate",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.userCreate,id:"send-user-create-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-user-create-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"send-user-recover-toggle-button"},n.createElement(f.c,null,"When users try to recover their account, notify them.")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"userRecover",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.userRecover,id:"send-user-recover-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"send-user-recover-toggle-button"})))),n.createElement("div",{className:"row"},n.createElement("h3",null,n.createElement(f.c,null,"Email content visibility")),n.createElement("p",null,n.createElement(f.c,null,"In this section you can adjust the composition of the emails, e.g. which information will be included in the notification.")),n.createElement("div",{className:"col6"},n.createElement("label",null,n.createElement(f.c,null,"Passwords")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"show-username-toggle-button"},n.createElement(f.c,null,"Username")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showUsername",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showUsername,id:"show-username-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"show-username-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"show-uri-toggle-button"},n.createElement(f.c,null,"URI")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showUri",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showUri,id:"show-uri-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"show-uri-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element ready"},n.createElement("label",{htmlFor:"show-secret-toggle-button"},n.createElement(f.c,null,"Encrypted secret")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showSecret",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showSecret,id:"show-secret-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"show-secret-toggle-button"})),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"show-description-toggle-button"},n.createElement(f.c,null,"Description")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showDescription",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showDescription,id:"show-description-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"show-description-toggle-button"}))),n.createElement("div",{className:"col6 last"},n.createElement("label",null,n.createElement(f.c,null,"Comments")),n.createElement("span",{className:"input toggle-switch form-element"},n.createElement("label",{htmlFor:"show-comment-toggle-button"},n.createElement(f.c,null,"Comment content")),n.createElement("input",{type:"checkbox",className:"toggle-switch-checkbox checkbox",name:"showComment",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,checked:this.state.showComment,id:"show-comment-toggle-button"}),n.createElement("label",{className:"toggle-switch-button",htmlFor:"show-comment-toggle-button"})))))),n.createElement("div",{className:"col4 last"},n.createElement("div",{className:"sidebar-help"},n.createElement("h3",null,n.createElement(f.c,null,"Need some help?")),n.createElement("p",null,n.createElement(f.c,null,"For more information about email notification, checkout the dedicated page on the help website.")),n.createElement("a",{className:"button",href:"https://help.passbolt.com/configure/notification/email",target:"_blank",rel:"noopener noreferrer"},n.createElement(ue,{name:"life-ring"}),n.createElement("span",null,n.createElement(f.c,null,"Read the documentation"))))))}}Ze.propTypes={context:i().any,administrationWorkspaceContext:i().object,actionFeedbackContext:i().any,t:i().func};const Ye=U(d($((0,v.Z)("common")(Ze))));class Je extends n.Component{constructor(e){super(e),this.state=this.getDefaultState(),this.bindCallbacks(),this.createReferences()}bindCallbacks(){this.handleChangeEvent=this.handleChangeEvent.bind(this),this.handleOnSubmitEvent=this.handleOnSubmitEvent.bind(this)}getDefaultState(){return{}}createReferences(){this.searchInputRef=n.createRef()}handleChangeEvent(e){const t=e.target.value;this.props.onSearch&&this.props.onSearch(t)}handleOnSubmitEvent(e){if(e.preventDefault(),this.props.onSearch){const e=this.searchInputRef.current.value;this.props.onSearch(e)}}render(){return n.createElement("div",{className:"col2 search-wrapper"},n.createElement("form",{className:"search",onSubmit:this.handleOnSubmitEvent},n.createElement("div",{className:"input search required"},n.createElement("label",null,"Search"),n.createElement("input",{ref:this.searchInputRef,className:"required",type:"search",disabled:this.props.disabled?"disabled":"",onChange:this.handleChangeEvent,placeholder:this.props.placeholder||this.props.t("Search"),value:this.props.value})),n.createElement("button",{className:"button",value:"search",type:"submit",disabled:this.props.disabled?"disabled":""},n.createElement(ue,{name:"search"}),n.createElement("span",{className:"visuallyhidden"},"Search"))))}}Je.propTypes={disabled:i().bool,onSearch:i().func,placeholder:i().string,value:i().string,t:i().func},Je.defaultProps={disabled:!1};const Qe=(0,v.Z)("common")(Je);var Xe=s(9490);class et extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleKeyDown=this.handleKeyDown.bind(this)}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}getTitle(){return this.props.context.errorDialogProps&&this.props.context.errorDialogProps.title||this.props.title||et.defaultProps.title}getMessage(){return this.props.context.errorDialogProps&&this.props.context.errorDialogProps.message||this.props.message||et.defaultProps.message}handleKeyDown(e){27!==e.keyCode&&13!==e.keyCode||(e.stopPropagation(),this.props.onClose())}render(){return n.createElement("div",{className:"dialog-wrapper error-dialog"},n.createElement("div",{className:"dialog"},n.createElement("div",{className:"dialog-header"},n.createElement("h2",null,this.getTitle()),n.createElement(we,{onClose:this.props.onClose})),n.createElement("div",{className:"dialog-content"},n.createElement("div",{className:"form-content"},n.createElement("p",null,this.getMessage())),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement("a",{className:"button primary warning",onClick:this.props.onClose},"Ok")))))}}et.defaultProps={title:"Oops something went wrong.",message:"An internal error occurred, please try again later."},et.propTypes={context:i().any,title:i().string,message:i().string,onClose:i().func};const tt=U(et);class st extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.getClassName=this.getClassName.bind(this)}getClassName(){let e="button primary";return this.props.warning&&(e+=" warning"),this.props.disabled&&(e+=" disabled"),this.props.processing&&(e+=" processing"),this.props.big&&(e+=" big"),this.props.medium&&(e+=" medium"),this.props.fullWidth&&(e+=" full-width"),e}render(){return n.createElement("input",{type:"submit",className:this.getClassName(),disabled:this.props.disabled,value:this.props.value||"Save"})}}st.defaultProps={warning:!1},st.propTypes={processing:i().bool,disabled:i().bool,value:i().string,warning:i().bool,big:i().bool,medium:i().bool,fullWidth:i().bool};const nt=st;class at extends n.Component{constructor(e){super(e),this.state=this.getDefaultState(),this.initEventHandlers(),this.createInputRef()}getDefaultState(){return{key:"",keyError:"",processing:!1,hasBeenValidated:!1}}initEventHandlers(){this.handleCloseClick=this.handleCloseClick.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleKeyInputKeyUp=this.handleKeyInputKeyUp.bind(this),this.handleSelectSubscriptionKeyFile=this.handleSelectSubscriptionKeyFile.bind(this)}createInputRef(){this.keyInputRef=n.createRef(),this.fileUploaderRef=n.createRef()}componentDidMount(){this.setState({key:this.props.context.editSubscriptionKey.key||""})}async handleFormSubmit(e){e.preventDefault(),this.state.processing||await this.save()}handleInputChange(e){const t=e.target,s=t.value,n=t.name;this.setState({[n]:s})}handleKeyInputKeyUp(){if(this.state.hasAlreadyBeenValidated){const e=this.validateNameInput();this.setState(e)}}handleCloseClick(){this.props.context.setContext({editSubscriptionKey:null}),this.props.onClose()}async handleSelectSubscriptionKeyFile(e){const[t]=e.target.files,s=await this.readSubscriptionKeyFile(t);await this.fillSubscriptionKey(s),this.state.hasBeenValidated&&await this.validate()}readSubscriptionKeyFile(e){const t=new FileReader;return new Promise(((s,n)=>{t.onloadend=()=>{try{s(t.result)}catch(e){n(e)}},t.readAsText(e)}))}async fillSubscriptionKey(e){await this.setState({key:e})}async save(){if(this.state.processing)return;if(await this.setState({hasBeenValidated:!0}),await this.toggleProcessing(),!await this.validate())return this.handleValidateError(),void await this.toggleProcessing();const e={data:this.state.key};try{await this.props.administrationWorkspaceContext.onUpdateSubscriptionKeyRequested(e),await this.handleSaveSuccess()}catch(e){await this.toggleProcessing(),this.handleSaveError(e),this.focusFieldError()}}handleValidateError(){this.focusFieldError()}async handleSaveSuccess(){await this.props.actionFeedbackContext.displaySuccess(this.translate("The subscription key has been updated successfully.")),this.props.administrationWorkspaceContext.onMustRefreshSubscriptionKey(),this.props.context.setContext({editSubscriptionKey:null,refreshSubscriptionAnnouncement:!0}),this.props.onClose()}async handleSaveError(e){if("PassboltSubscriptionError"===e.name)this.setState({keyError:e.message});else if("EntityValidationError"===e.name)this.setState({keyError:this.translate("The subscription key is invalid.")});else if("PassboltApiFetchError"===e.name&&e.data&&400===e.data.code)this.setState({keyError:e.message});else{console.error(e);const t={title:this.translate("There was an unexpected error..."),message:e.message};this.props.context.setContext({errorDialogProps:t}),this.props.dialogContext.open(tt)}}focusFieldError(){this.state.keyError&&this.keyInputRef.current.focus()}validateKeyInput(){const e=this.state.key.trim();let t="";return e.length||(t=this.translate("A subscription key is required.")),new Promise((e=>{this.setState({keyError:t},e)}))}async validate(){return this.setState({keyError:""}),await this.validateKeyInput(),""===this.state.keyError}async toggleProcessing(){await this.setState({processing:!this.state.processing})}hasAllInputDisabled(){return this.state.processing}get translate(){return this.props.t}render(){return n.createElement(Ne,{title:this.translate("Edit subscription key"),onClose:this.handleCloseClick,disabled:this.state.processing,className:"edit-subscription-dialog"},n.createElement("form",{onSubmit:this.handleFormSubmit,noValidate:!0},n.createElement("div",{className:"form-content"},n.createElement("div",{className:"input textarea required "+(this.state.keyError?"error":"")},n.createElement("label",{htmlFor:"edit-tag-form-name"},n.createElement(f.c,null,"Subscription key")),n.createElement("textarea",{id:"edit-subscription-form-key",name:"key",value:this.state.key,onKeyUp:this.handleKeyInputKeyUp,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled(),ref:this.keyInputRef,className:"required full_report",required:"required",autoComplete:"off",autoFocus:!0})),n.createElement("div",{className:"input-file-chooser-wrapper"},n.createElement("div",{className:"input text"},n.createElement("input",{type:"file",ref:this.fileUploaderRef,disabled:this.hasAllInputDisabled(),onChange:this.handleSelectSubscriptionKeyFile}),this.state.keyError&&n.createElement("div",{className:"key error-message"},this.state.keyError)))),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement(nt,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Save")}),n.createElement(qe,{disabled:this.hasAllInputDisabled(),onClick:this.handleCloseClick}))))}}at.propTypes={context:i().any,onClose:i().func,actionFeedbackContext:i().any,dialogContext:i().any,administrationWorkspaceContext:i().any,t:i().func};const rt=U($(d(g((0,v.Z)("common")(at)))));class it extends n.Component{render(){return n.createElement("div",{className:"illustration icon-feedback"},"success"===this.props.name&&n.createElement("svg",{id:"icon-feedback-success",className:"animated",xmlns:"http://www.w3.org/2000/svg",width:"170",height:"170",viewBox:"0 0 70 70"},n.createElement("circle",{className:"success-animation-circle",cx:"35",cy:"35",r:"24",stroke:"#000",strokeWidth:"3",strokeLinecap:"round",fill:"transparent"}),n.createElement("polyline",{className:"success-animation-line",stroke:"#000",strokeWidth:"3",points:"23 34 34 43 47 27",linecap:"round",fill:"transparent"})),"warning"===this.props.name&&n.createElement("svg",{id:"icon-feedback-warning",className:"animated",width:"160",height:"160",xmlns:"http://www.w3.org/2000/svg",viewBox:"-16 -16 100 100"},n.createElement("g",{transform:"translate(1.285714 1.857143)",fill:"none",fillRule:"evenodd"},n.createElement("path",{className:"warning-animation-line",d:"M.71428571 70.1428571H70.7142857c-23.3333333-46.6666666-35-69.99999996-35-69.99999996L.71428571 70.1428571z",stroke:"#000",strokeWidth:"4",strokeLinejoin:"round"}),n.createElement("path",{className:"warning-animation-line",stroke:"#000",strokeWidth:"5",fill:"#000",fillRule:"nonzero",strokeLinecap:"round",d:"M36.3214286 28.2244898v19.4285714"}),n.createElement("circle",{className:"warning-animation-circle",fill:"#000",cx:"36.2142857",cy:"57.6428571",r:"3.5"}))),"error"===this.props.name&&n.createElement("svg",{id:"icon-feedback-error",className:"animated",xmlns:"http://www.w3.org/2000/svg",width:"170",height:"170",viewBox:"0 0 70 70"},n.createElement("circle",{className:"error-animation-circle",cx:"35",cy:"35",r:"24",stroke:"#000000",strokeWidth:"3",strokeLinecap:"round",fill:"transparent"}),n.createElement("polyline",{className:"error-animation-line",stroke:"#000",strokeWidth:"3",points:"26 26 44 44",linecap:"round",fill:"transparent"}),n.createElement("polyline",{className:"error-animation-line",stroke:"#000",strokeWidth:"3",points:"44 26 26 44",linecap:"round",fill:"transparent"})))}}it.defaultProps={},it.propTypes={name:i().string};const lt=it;class ot extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{loading:!0,customerId:"",subscriptionId:"",users:null,email:"",expiry:null,created:null,data:null,activeUsers:null}}async componentDidMount(){this.findActiveUsers(),this.findSubscriptionKey()}async componentDidUpdate(e){await this.handleMustRefreshSubscriptionKey(e.administrationWorkspaceContext.must.refreshSubscriptionKey),await this.handleMustEditSubscriptionKey(e.administrationWorkspaceContext.must.editSubscriptionKey)}bindCallbacks(){this.handleRenewKey=this.handleRenewKey.bind(this),this.handleUpdateKey=this.handleUpdateKey.bind(this)}async handleMustRefreshSubscriptionKey(e){this.props.administrationWorkspaceContext.must.refreshSubscriptionKey!==e&&this.props.administrationWorkspaceContext.must.refreshSubscriptionKey&&(await this.findActiveUsers(),await this.findSubscriptionKey(),this.props.administrationWorkspaceContext.onResetActionsSettings())}async handleMustEditSubscriptionKey(e){this.props.administrationWorkspaceContext.must.editSubscriptionKey!==e&&this.props.administrationWorkspaceContext.must.editSubscriptionKey&&(this.openEditSubscriptionKey(),this.props.administrationWorkspaceContext.onResetActionsSettings())}openEditSubscriptionKey(){const e={key:this.state.data};this.props.context.setContext({editSubscriptionKey:e}),this.props.dialogContext.open(rt)}async findActiveUsers(){const e=await this.getActiveUsers();this.setState({activeUsers:e})}async findSubscriptionKey(){try{const e=await this.props.context.onGetSubscriptionKeyRequested(),t=e.customer_id,s=e.subscription_id,n=e.users,a=e.email,r=e.expiry,i=e.created,l=e.data;this.setState({loading:!1,customerId:t,subscriptionId:s,users:n,email:a,expiry:r,created:i,data:l})}catch(e){this.handleSubscriptionError(e)}}handleSubscriptionError(e){if("PassboltSubscriptionError"===e.name){const t=e.subscription,s=t.customer_id||"N/A",n=t.subscription_id,a=t.users,r=t.email||"N/A",i=t.expiry,l=t.created,o=t.data;this.setState({loading:!1,customerId:s,subscriptionId:n,users:a,email:r,expiry:i,created:l,data:o})}else this.setState({loading:!1})}handleRenewKey(){this.hasLimitUsersExceeded()?this.props.navigationContext.onGoToNewTab(`https://www.passbolt.com/subscription/ee/update/qty?subscription_id=${this.state.subscriptionId}&customer_id=${this.state.customerId}`):(this.hasSubscriptionKeyExpired()||this.hasSubscriptionKeyGoingToExpire())&&this.props.navigationContext.onGoToNewTab(`https://www.passbolt.com/subscription/ee/update/renew?subscription_id=${this.state.subscriptionId}&customer_id=${this.state.customerId}`)}handleUpdateKey(){this.openEditSubscriptionKey()}isLoading(){return this.state.loading}hasSubscriptionKeyExpired(){return Xe.ou.fromISO(this.state.expiry)<Xe.ou.now()}hasSubscriptionKeyGoingToExpire(){return Xe.ou.fromISO(this.state.expiry)<Xe.ou.now().plus({days:30})&&!this.hasSubscriptionKeyExpired()}hasSubscriptionKey(){return Boolean(this.state.data)}hasLimitUsersExceeded(){return this.state.users<this.state.activeUsers}hasSubscriptionToRenew(){return this.hasInvalidSubscription()||this.hasSubscriptionKeyGoingToExpire()}hasValidSubscription(){return this.hasSubscriptionKey()&&!this.hasLimitUsersExceeded()&&!this.hasSubscriptionKeyExpired()}hasInvalidSubscription(){return!this.hasSubscriptionKey()||this.hasLimitUsersExceeded()||this.hasSubscriptionKeyExpired()}formatDate(e){try{return Xe.ou.fromISO(e).setLocale(this.props.context.locale).toLocaleString(Xe.ou.DATE_SHORT)}catch(e){return""}}formatDateTimeAgo(e){const t=Xe.ou.fromISO(e),s=t.diffNow().toMillis();return s>-1e3&&s<0?this.translate("Just now"):t.toRelative({locale:this.props.context.locale})}async getActiveUsers(){return(await this.props.context.port.request("passbolt.users.get-all")).filter((e=>e.active)).length}get translate(){return this.props.t}render(){return n.createElement("div",{className:"row"},!this.isLoading()&&n.createElement("div",{className:"subscription-key col8"},n.createElement("h3",null,n.createElement(f.c,null,"Subscription key details")),n.createElement("div",{className:"feedback-card"},this.hasValidSubscription()&&!this.hasSubscriptionKeyGoingToExpire()&&n.createElement(lt,{name:"success"}),this.hasInvalidSubscription()&&n.createElement(lt,{name:"warning"}),this.hasValidSubscription()&&this.hasSubscriptionKeyGoingToExpire()&&n.createElement(lt,{name:"error"}),n.createElement("div",{className:"subscription-information"},!this.hasSubscriptionKey()&&n.createElement(n.Fragment,null,n.createElement("h4",null,n.createElement(f.c,null,"Your subscription key is either missing or not valid.")),n.createElement("p",null,n.createElement(f.c,null,"Sorry your subscription is either missing or not readable."),n.createElement("br",null),n.createElement(f.c,null,"Update the subscription key and try again.")," ",n.createElement(f.c,null,"If this does not work get in touch with support."))),this.hasValidSubscription()&&this.hasSubscriptionKeyGoingToExpire()&&n.createElement("h4",null,n.createElement(f.c,null,"Your subscription key is going to expire.")),this.hasSubscriptionKey()&&this.hasInvalidSubscription()&&n.createElement("h4",null,n.createElement(f.c,null,"Your subscription key is not valid.")),this.hasValidSubscription()&&!this.hasSubscriptionKeyGoingToExpire()&&n.createElement("h4",null,n.createElement(f.c,null,"Your subscription key is valid and up to date!")),this.hasSubscriptionKey()&&n.createElement("ul",null,n.createElement("li",{className:"customer-id"},n.createElement("span",{className:"label"},n.createElement(f.c,null,"Customer id:")),n.createElement("span",{className:"value"},this.state.customerId)),n.createElement("li",{className:"subscription-id"},n.createElement("span",{className:"label"},n.createElement(f.c,null,"Subscription id:")),n.createElement("span",{className:"value"},this.state.subscriptionId)),n.createElement("li",{className:"email"},n.createElement("span",{className:"label"},n.createElement(f.c,null,"Email:")),n.createElement("span",{className:"value"},this.state.email)),n.createElement("li",{className:"users"},n.createElement("span",{className:"label "+(this.hasLimitUsersExceeded()?"error":"")},n.createElement(f.c,null,"Users limit:")),n.createElement("span",{className:"value "+(this.hasLimitUsersExceeded()?"error":"")},this.state.users," (",n.createElement(f.c,null,"currently:")," ",this.state.activeUsers,")")),n.createElement("li",{className:"created"},n.createElement("span",{className:"label"},n.createElement(f.c,null,"Valid from:")),n.createElement("span",{className:"value"},this.formatDate(this.state.created))),n.createElement("li",{className:"expiry"},n.createElement("span",{className:`label ${this.hasSubscriptionKeyExpired()?"error":""} ${this.hasSubscriptionKeyGoingToExpire()?"warning":""}`},n.createElement(f.c,null,"Expires on:")),n.createElement("span",{className:`value ${this.hasSubscriptionKeyExpired()?"error":""} ${this.hasSubscriptionKeyGoingToExpire()?"warning":""}`},this.formatDate(this.state.expiry)," (",`${this.hasSubscriptionKeyExpired()?this.translate("expired "):""}${this.formatDateTimeAgo(this.state.expiry)}`,")"))),this.hasSubscriptionToRenew()&&n.createElement(n.Fragment,null,this.hasSubscriptionKey()&&n.createElement("a",{className:"button primary big",role:"button",onClick:this.handleRenewKey},n.createElement(f.c,null,"Renew key")),!this.hasSubscriptionKey()&&n.createElement("a",{className:"button primary big",role:"button",onClick:this.handleUpdateKey},n.createElement(f.c,null,"Update key")),n.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.passbolt.com/contact"},n.createElement(f.c,null,"or, contact us")))))),!this.isLoading()&&n.createElement("div",{className:"col4 last"},n.createElement("div",{className:"sidebar-help"},n.createElement("h3",null,n.createElement(f.c,null,"Need help?")),n.createElement("p",null,n.createElement(f.c,null,"For any change or question related to your passbolt subscription, kindly contact our sales team.")),n.createElement("a",{className:"button",target:"_blank",rel:"noopener noreferrer",href:"https://www.passbolt.com/contact"},n.createElement(ue,{name:"envelope"}),n.createElement("span",null,n.createElement(f.c,null,"Contact Sales"))))))}}ot.propTypes={context:i().any,navigationContext:i().any,administrationWorkspaceContext:i().object,dialogContext:i().any,t:i().func};const ct=U(ae($(g((0,v.Z)("common")(ot)))));class ht extends n.Component{constructor(e){super(e),this.state=this.defaultState,this.bindCallbacks()}get defaultState(){return{loading:!0,processing:!1,locale:""}}async componentDidMount(){this.setState({locale:this.props.context.siteSettings.locale})}async componentDidUpdate(e){await this.handleMustSave(e.administrationWorkspaceContext.must.save)}bindCallbacks(){this.handleInputChange=this.handleInputChange.bind(this)}async handleMustSave(e){this.props.administrationWorkspaceContext.must.save!==e&&this.props.administrationWorkspaceContext.must.save&&(await this.handleFormSubmit(),this.props.administrationWorkspaceContext.onResetActionsSettings())}handleInputChange(e){const t=e.target,s=t.value,n=t.name;this.setState({[n]:s}),this.handleEnabledSaveButton()}handleEnabledSaveButton(){this.props.administrationWorkspaceContext.can.save||this.props.administrationWorkspaceContext.onSaveEnabled()}hasAllInputDisabled(){return this.state.processing||this.state.loading}async handleFormSubmit(){if(!this.state.processing){await this.toggleProcessing();try{await this.props.administrationWorkspaceContext.onSaveLocaleRequested(this.state.locale),await this.handleSaveSuccess()}catch(e){await this.handleSaveError(e)}}}async handleSaveSuccess(){this.props.context.onRefreshLocaleRequested(this.state.locale),await this.props.actionFeedbackContext.displaySuccess(this.translate("The internationalization settings were updated.")),this.setState({processing:!1})}async handleSaveError(e){"UserAbortsOperationError"===e.name||(console.error(e),await this.handleError(e)),this.setState({processing:!1})}async handleError(e){await this.props.actionFeedbackContext.displayError(e.message)}async toggleProcessing(){const e=this.state.processing;return this.setState({processing:!e})}get supportedLocales(){return this.props.context.siteSettings.supportedLocales||[]}get translate(){return this.props.t}render(){return n.createElement("div",{className:"row"},n.createElement("div",{className:"internationalisation-settings col7"},n.createElement("h3",null,n.createElement(f.c,null,"Internationalisation")),n.createElement("form",{className:"form"},n.createElement("div",{className:"input select locale"},n.createElement("label",{htmlFor:"app-locale-input"},n.createElement(f.c,null,"Language")),n.createElement("select",{className:"medium",id:"locale-input",name:"locale",value:this.state.locale,onChange:this.handleInputChange},this.supportedLocales.map((e=>n.createElement("option",{key:e.locale,value:e.locale},e.label)))),n.createElement("p",null,n.createElement(f.c,null,"The default language of the organisation."))))),n.createElement("div",{className:"col4 last"},n.createElement("div",{className:"sidebar-help"},n.createElement("h3",null,n.createElement(f.c,null,"Want to contribute?")),n.createElement("p",null,n.createElement(f.c,null,"Your language is missing or you discovered an error in the translation, help us to improve passbolt.")),n.createElement("a",{className:"button",href:"https://help.passbolt.com/contribute/translation",target:"_blank",rel:"noopener noreferrer"},n.createElement(ue,{name:"heart-o"}),n.createElement("span",null,n.createElement(f.c,null,"Contribute"))))))}}ht.propTypes={context:i().object,administrationWorkspaceContext:i().object,actionFeedbackContext:i().any,t:i().func};const dt=U(d($((0,v.Z)("common")(ht))));class ut extends n.Component{isMfaSelected(){return H.MFA===this.props.administrationWorkspaceContext.selectedAdministration}isUserDirectorySelected(){return H.USER_DIRECTORY===this.props.administrationWorkspaceContext.selectedAdministration}isEmailNotificationsSelected(){return H.EMAIL_NOTIFICATION===this.props.administrationWorkspaceContext.selectedAdministration}isSubscriptionSelected(){return H.SUBSCRIPTION===this.props.administrationWorkspaceContext.selectedAdministration}isInternationalizationSelected(){return H.INTERNATIONALIZATION===this.props.administrationWorkspaceContext.selectedAdministration}render(){return n.createElement("div",{id:"container",className:"page administration"},n.createElement("div",{id:"app",tabIndex:"1000"},n.createElement("div",{className:"header first"},n.createElement(ie,null)),n.createElement("div",{className:"header second"},n.createElement(oe,null),n.createElement(Qe,{disabled:!0}),n.createElement(me,{baseUrl:this.props.context.trustedDomain||this.props.context.userSettings.getTrustedDomain(),user:this.props.context.loggedInUser})),n.createElement("div",{className:"header third"},n.createElement("div",{className:"col1 main-action-wrapper"}),n.createElement(ze,null)),n.createElement("div",{className:"panel main"},n.createElement("div",null,n.createElement("div",{className:"panel left"},n.createElement(Ee,null)),n.createElement("div",{className:"panel middle"},n.createElement(Ke,null),n.createElement("div",{className:"workspace-main"},n.createElement("div",{className:"grid grid-responsive-12"},this.isMfaSelected()&&n.createElement(ve,null),this.isUserDirectorySelected()&&n.createElement(Ve,null),this.isEmailNotificationsSelected()&&n.createElement(Ye,null),this.isSubscriptionSelected()&&n.createElement(ct,null),this.isInternationalizationSelected()&&n.createElement(dt,null))))))))}}ut.propTypes={context:i().any,administrationWorkspaceContext:i().object};const pt=U($(ut));function mt(){return mt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},mt.apply(this,arguments)}class gt extends n.Component{get privacyUrl(){return this.props.context.siteSettings.privacyLink}get creditsUrl(){return"https://www.passbolt.com/credits"}get unsafeUrl(){return"https://help.passbolt.com/faq/hosting/why-unsafe"}get termsUrl(){return this.props.context.siteSettings.termsLink}get versions(){const e=[],t=this.props.context.siteSettings.version;return t&&e.push(t),this.props.context.extensionVersion&&e.push(this.props.context.extensionVersion),e.join(" / ")}get isUnsafeMode(){const e=this.props.context.siteSettings.debug,t=this.props.context.siteSettings.url.startsWith("http://");return e||t}get translate(){return this.props.t}render(){return n.createElement("footer",null,n.createElement("div",{className:"footer"},n.createElement("ul",{className:"footer-links"},this.isUnsafeMode&&n.createElement("li",{className:"error-message"},n.createElement("a",{title:"terms of service",href:this.unsafeUrl,target:"_blank",rel:"noopener noreferrer"},n.createElement(f.c,null,"Unsafe mode"))),this.termsUrl&&n.createElement("li",null,n.createElement("a",{href:this.termsUrl,target:"_blank",rel:"noopener noreferrer"},n.createElement(f.c,null,"Terms"))),this.privacyUrl&&n.createElement("li",null,n.createElement("a",{href:this.privacyUrl,target:"_blank",rel:"noopener noreferrer"},n.createElement(f.c,null,"Privacy"))),n.createElement("li",null,n.createElement("a",{href:this.creditsUrl,target:"_blank",rel:"noopener noreferrer"},n.createElement(f.c,null,"Credits"))),n.createElement("li",null,n.createElement("a",mt({href:this.creditsUrl,className:"tooltip-left"},this.versions&&{"data-tooltip":this.versions},{target:"_blank",rel:"noopener noreferrer"}),n.createElement(ue,{name:"heart-o"}))))))}}gt.propTypes={context:i().any,t:i().func};const Et=U((0,v.Z)("common")(gt));class bt extends n.Component{get isMfaEnabled(){return this.props.context.siteSettings.canIUse("multiFactorAuthentication")}get canIUseThemeCapability(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("accountSettings")}get translate(){return this.props.t}get canIUseMobileCapability(){return this.props.context.siteSettings&&this.props.context.siteSettings.canIUse("mobile")}render(){const e=e=>this.props.location.pathname.endsWith(e);return n.createElement("div",{className:"navigation-secondary navigation-shortcuts"},n.createElement("ul",null,n.createElement("li",null,n.createElement("div",{className:"row "+(e("profile")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsProfileRequested},n.createElement("span",null,n.createElement(f.c,null,"Profile"))))))),n.createElement("li",null,n.createElement("div",{className:"row "+(e("keys")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsKeysRequested},n.createElement("span",null,n.createElement(f.c,null,"Keys inspector"))))))),n.createElement("li",null,n.createElement("div",{className:"row "+(e("passphrase")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsPassphraseRequested},n.createElement("span",null,n.createElement(f.c,null,"Passphrase"))))))),n.createElement("li",null,n.createElement("div",{className:"row "+(e("security-token")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsSecurityTokenRequested},n.createElement("span",null,n.createElement(f.c,null,"Security Token"))))))),this.canIUseThemeCapability&&n.createElement("li",null,n.createElement("div",{className:"row "+(e("theme")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsThemeRequested},n.createElement("span",null,n.createElement(f.c,null,"Theme"))))))),this.isMfaEnabled&&n.createElement("li",null,n.createElement("div",{className:"row "+(e("mfa")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsMfaRequested},n.createElement("span",null,n.createElement(f.c,null,"Multi Factor Authentication"))))))),this.canIUseMobileCapability&&n.createElement("li",null,n.createElement("div",{className:"row "+(e("mobile")?"selected":"")},n.createElement("div",{className:"main-cell-wrapper"},n.createElement("div",{className:"main-cell"},n.createElement("a",{onClick:this.props.navigationContext.onGoToUserSettingsMobileRequested},n.createElement("span",null,n.createElement(f.c,null,"Mobile setup")))))))))}}bt.propTypes={context:i().any,navigationContext:i().any,history:i().object,location:i().object,t:i().func};const yt=U((0,N.EN)(ae((0,v.Z)("common")(bt))));class ft extends n.Component{get items(){return[n.createElement(Fe,{key:"bread-1",name:this.translate("All users"),onClick:this.props.navigationContext.onGoToUsersRequested}),n.createElement(Fe,{key:"bread-2",name:this.loggedInUserName,onClick:this.props.navigationContext.onGoToUserSettingsProfileRequested}),n.createElement(Fe,{key:"bread-3",name:this.getLastBreadcrumbItemName,onClick:this.onLastBreadcrumbClick.bind(this)})]}get loggedInUserName(){const e=this.props.context.loggedInUser;return e?`${e.profile.first_name} ${e.profile.last_name}`:""}get getLastBreadcrumbItemName(){const e={profile:this.translate("Profile"),passphrase:this.translate("Passphrase"),"security-token":this.translate("Security Token"),theme:this.translate("Theme"),mfa:this.translate("Multi Factor Authentication"),keys:this.translate("Keys inspector"),mobile:this.translate("Mobile transfer")};return e[Object.keys(e).find((e=>this.props.location.pathname.endsWith(e)))]}async onLastBreadcrumbClick(){const e=this.props.location.pathname;this.props.history.push({pathname:e})}get translate(){return this.props.t}render(){return n.createElement(Oe,{items:this.items})}}ft.propTypes={context:i().any,location:i().object,history:i().object,navigationContext:i().any,t:i().func};const vt=U((0,N.EN)(ae((0,v.Z)("common")(ft))));class Ct extends n.Component{render(){return n.createElement("iframe",{src:`${this.props.context.trustedDomain}/mfa/setup/select`,width:"100%",height:"100%"})}}Ct.propTypes={context:i().any};const wt=U(Ct);class St extends n.Component{render(){return n.createElement("div",null,n.createElement("div",{className:"header second"},n.createElement(oe,null),n.createElement(Qe,{disabled:!0}),n.createElement(me,{baseUrl:this.props.context.trustedDomain,user:this.props.context.loggedInUser})),n.createElement("div",{className:"header third"}),n.createElement("div",{className:"panel main"},n.createElement("div",{className:"panel left"},n.createElement(yt,null)),n.createElement("div",{className:"panel middle"},n.createElement(vt,null),n.createElement(N.AW,{path:"/app/settings/mfa",component:wt}))))}}St.propTypes={context:i().any};const kt=(0,N.EN)(U(St));class xt extends n.Component{constructor(e){super(e),this.initEventHandlers(),this.createReferences()}initEventHandlers(){this.handleCloseClick=this.handleCloseClick.bind(this)}createReferences(){this.loginLinkRef=n.createRef()}handleCloseClick(){this.goToLogin()}goToLogin(){this.loginLinkRef.current.click()}get loginUrl(){let e=this.props.context.userSettings&&this.props.context.userSettings.getTrustedDomain();return e=e||this.props.context.trustedDomain,`${e}/auth/login`}get translate(){return this.props.t}render(){return n.createElement(Ne,{title:this.translate("Session Expired"),onClose:this.handleCloseClick,className:"session-expired-dialog"},n.createElement("div",{className:"form-content"},n.createElement("p",null,n.createElement(f.c,null,"Your session has expired, you need to sign in."))),n.createElement("div",{className:"submit-wrapper clearfix"},n.createElement("a",{ref:this.loginLinkRef,href:this.loginUrl,className:"primary button",target:"_parent",role:"button",rel:"noopener noreferrer"},n.createElement(f.c,null,"Sign in"))))}}xt.propTypes={context:i().any,t:i().func};const Nt=U((0,N.EN)((0,v.Z)("common")(xt)));class Tt extends n.Component{constructor(e){super(e),this.bindCallbacks(),this.scheduledCheckIsAuthenticatedTimeout=null}bindCallbacks(){this.handleSessionExpiredEvent=this.handleSessionExpiredEvent.bind(this)}componentDidMount(){this.scheduleCheckIsAuthenticated()}componentWillUnmount(){clearTimeout(this.scheduledCheckIsAuthenticatedTimeout)}scheduleCheckIsAuthenticated(){this.scheduledCheckIsAuthenticatedTimeout=setTimeout((async()=>{await this.checkIsAuthenticated()?this.scheduleCheckIsAuthenticated():this.handleSessionExpiredEvent()}),6e4)}async checkIsAuthenticated(){return await this.props.context.onCheckIsAuthenticatedRequested()}handleSessionExpiredEvent(){this.props.dialogContext.open(Nt)}render(){return n.createElement(n.Fragment,null)}}Tt.propTypes={context:i().any,dialogContext:i().any};const qt=U(g(Tt));function Ut(){return Ut=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},Ut.apply(this,arguments)}const At=n.createContext({announcements:[],show:()=>{},close:()=>{}});class It extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{announcements:[],show:(e,t)=>{const s=(0,l.Z)();return this.setState({announcements:[...this.state.announcements,{key:s,Announcement:e,AnnouncementProps:t}]}),s},close:async e=>await this.setState({announcements:this.state.announcements.filter((t=>e!==t.key))})}}render(){return n.createElement(At.Provider,{value:this.state},this.props.children)}}function Dt(e){return class extends n.Component{render(){return n.createElement(At.Consumer,null,(t=>n.createElement(e,Ut({announcementContext:t},this.props))))}}}It.displayName="AnnouncementContextProvider",It.propTypes={children:i().any};class Rt extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleClose=this.handleClose.bind(this)}handleClose(){this.props.onClose()}render(){return n.createElement("div",{className:`${this.props.className} announcement`},n.createElement("div",{className:"announcement-content"},this.props.canClose&&n.createElement("a",{className:"announcement-close",onClick:this.handleClose,role:"button"},n.createElement(ue,{name:"close"}),n.createElement("span",{className:"visually-hidden"},"Close")),this.props.children))}}Rt.propTypes={children:i().node,className:i().string,canClose:i().bool,onClose:i().func};const _t=Rt;class Mt extends n.Component{formatDateTimeAgo(e){const t=Xe.ou.fromISO(e),s=t.diffNow().toMillis();return s>-1e3&&s<0?this.translate("Just now"):t.toRelative({locale:this.props.context.locale})}render(){return n.createElement(_t,{className:"subscription",onClose:this.props.onClose,canClose:!0},n.createElement("p",null,n.createElement(f.c,null,"Warning: "),n.createElement(f.c,null,"your subscription key will expire")," ",this.formatDateTimeAgo(this.props.expiry),".",n.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},n.createElement(f.c,null,"Manage Subscription"))))}}Mt.propTypes={context:i().any,expiry:i().string,navigationContext:i().any,onClose:i().func};const zt=U(ae(Dt((0,v.Z)("common")(Mt))));class Gt extends n.Component{render(){return n.createElement(_t,{className:"subscription",onClose:this.props.onClose,canClose:!1},n.createElement("p",null,n.createElement(f.c,null,"Warning: "),n.createElement(f.c,null,"your subscription key has expired. The stability of the application is at risk."),n.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},n.createElement(f.c,null,"Manage Subscription"))))}}Gt.propTypes={navigationContext:i().any,onClose:i().func,i18n:i().any};const Ot=ae(Dt((0,v.Z)("common")(Gt)));class Pt extends n.Component{render(){return n.createElement(_t,{className:"subscription",onClose:this.props.onClose,canClose:!1},n.createElement("p",null,n.createElement(f.c,null,"Warning: "),n.createElement(f.c,null,"your subscription key is not valid. The stability of the application is at risk."),n.createElement("a",{onClick:this.props.navigationContext.onGoToAdministrationSubscriptionRequested},n.createElement(f.c,null,"Manage Subscription"))))}}Pt.propTypes={navigationContext:i().any,onClose:i().func,i18n:i().any};const Ft=ae(Dt((0,v.Z)("common")(Pt)));class Lt extends n.Component{constructor(e){super(e),this.bindCallbacks()}bindCallbacks(){this.handleAnnouncementSubscriptionEvent=this.handleAnnouncementSubscriptionEvent.bind(this)}componentDidMount(){this.handleAnnouncementSubscriptionEvent()}componentDidUpdate(e){this.handleRefreshSubscriptionAnnouncement(e.context.refreshSubscriptionAnnouncement)}async handleRefreshSubscriptionAnnouncement(e){this.props.context.refreshSubscriptionAnnouncement!==e&&this.props.context.refreshSubscriptionAnnouncement&&(await this.handleAnnouncementSubscriptionEvent(),this.props.context.setContext({refreshSubscriptionAnnouncement:null}))}async handleAnnouncementSubscriptionEvent(){this.hideSubscriptionAnnouncement();try{const e=await this.props.context.onGetSubscriptionKeyRequested();this.isSubscriptionGoingToExpire(e.expiry)&&this.props.announcementContext.show(zt,{expiry:e.expiry})}catch(e){"PassboltSubscriptionError"===e.name?this.props.announcementContext.show(Ot):this.props.announcementContext.show(Ft)}}hideSubscriptionAnnouncement(){const e=[zt,Ot,Ft];this.props.announcementContext.announcements.forEach((t=>{e.some((e=>e===t.Announcement))&&this.props.announcementContext.close(t.key)}))}isSubscriptionGoingToExpire(e){return Xe.ou.fromISO(e)<Xe.ou.now().plus({days:30})}render(){return n.createElement(n.Fragment,null)}}Lt.propTypes={context:i().any,announcementContext:i().any};const Kt=U(Dt(Lt));function Wt(){return Wt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},Wt.apply(this,arguments)}class Bt extends n.Component{constructor(e){super(e),this.bindCallback()}bindCallback(){this.close=this.close.bind(this)}async close(e){this.props.announcementContext.close(e)}render(){return n.createElement(n.Fragment,null,this.props.announcementContext.announcements.map((({key:e,Announcement:t,AnnouncementProps:s})=>n.createElement(t,Wt({key:e,onClose:()=>this.close(e)},s)))),this.props.children)}}Bt.propTypes={announcementContext:i().any,children:i().any};const jt=Dt(Bt),$t=(e,t)=>t.split(".").reduce(((e,t)=>void 0===e?e:e[t]),e),Ht=(e,t)=>{if(void 0===e||"string"!=typeof e||!e.length)return!1;if((t=t||{}).whitelistedProtocols&&!Array.isArray(t.whitelistedProtocols))throw new TypeError("The whitelistedProtocols should be an array of string.");if(t.defaultProtocol&&"string"!=typeof t.defaultProtocol)throw new TypeError("The defaultProtocol should be a string.");const s=t.whitelistedProtocols||[Vt.HTTP,Vt.HTTPS],n=[Vt.JAVASCRIPT],a=t.defaultProtocol||"";!/^((?!:\/\/).)*:\/\//.test(e)&&a&&(e=`${a}//${e}`);try{const t=new URL(e);return!n.includes(t.protocol)&&!!s.includes(t.protocol)&&t.href}catch(e){return!1}},Vt={FTP:"http:",FTPS:"https:",HTTP:"http:",HTTPS:"https:",JAVASCRIPT:"javascript:",SSH:"ssh:"};class Zt{constructor(e){this.settings=e}canIUse(e){let t=!1;const s=`passbolt.plugins.${e}`,n=$t(this.settings,s)||null;if(n&&"object"==typeof n){const e=$t(n,"enabled");void 0!==e&&!0!==e||(t=!0)}return t}getPluginSettings(e){const t=`passbolt.plugins.${e}`;return $t(this.settings,t)}getRememberMeOptions(){return(this.getPluginSettings("rememberMe")||{}).options||{}}get hasRememberMeUntilILogoutOption(){return void 0!==(this.getRememberMeOptions()||{})[-1]}getServerTimezone(){return $t(this.settings,"passbolt.app.server_timezone")}get termsLink(){const e=$t(this.settings,"passbolt.legal.terms.url");return!!e&&Ht(e)}get privacyLink(){const e=$t(this.settings,"passbolt.legal.privacy_policy.url");return!!e&&Ht(e)}get registrationPublic(){return!0===$t(this.settings,"passbolt.registration.public")}get debug(){return!0===$t(this.settings,"app.debug")}get url(){return $t(this.settings,"app.url")||""}get version(){return $t(this.settings,"app.version.number")}get locale(){return $t(this.settings,"app.locale")||Zt.DEFAULT_LOCALE.locale}async setLocale(e){this.settings.app.locale=e}get supportedLocales(){return $t(this.settings,"passbolt.plugins.locale.options")||Zt.DEFAULT_SUPPORTED_LOCALES}get generatorConfiguration(){return $t(this.settings,"passbolt.plugins.generator.configuration")}static get DEFAULT_SUPPORTED_LOCALES(){return[Zt.DEFAULT_LOCALE]}static get DEFAULT_LOCALE(){return{locale:"en-UK",label:"English"}}}class Yt{constructor(e){this.setToken(e)}setToken(e){this.validate(e),this.token=e}validate(e){if(!e)throw new TypeError("CSRF token cannot be empty.");if("string"!=typeof e)throw new TypeError("CSRF token should be a string.")}toFetchHeaders(){return{"X-CSRF-Token":this.token}}}class Jt{setBaseUrl(e){if(!e)throw new TypeError("ApiClientOption baseUrl is required.");if("string"==typeof e)try{this.baseUrl=new URL(e)}catch(e){throw new TypeError("ApiClientOption baseUrl is invalid.")}else{if(!(e instanceof URL))throw new TypeError("ApiClientOptions baseurl should be a string or URL");this.baseUrl=e}return this}setCsrfToken(e){if(!e)throw new TypeError("ApiClientOption csrfToken is required.");if("string"==typeof e)this.csrfToken=new Yt(e);else{if(!(e instanceof Yt))throw new TypeError("ApiClientOption csrfToken should be a string or a valid CsrfToken.");this.csrfToken=e}return this}setResourceName(e){if(!e)throw new TypeError("ApiClientOptions.setResourceName resourceName is required.");if("string"!=typeof e)throw new TypeError("ApiClientOptions.setResourceName resourceName should be a valid string.");return this.resourceName=e,this}getBaseUrl(){return this.baseUrl}getResourceName(){return this.resourceName}getHeaders(){if(this.csrfToken)return this.csrfToken.toFetchHeaders()}}class Qt extends Error{constructor(e,t={}){super(e),this.name="PassboltSubscriptionError",this.subscription=t}}const Xt=Qt;class es extends n.Component{constructor(e){super(e),this.state=this.defaultState}async componentDidMount(){await this.getLoggedInUser(),await this.getSiteSettings(),this.initLocale(),this.removeSplashScreen()}get defaultState(){return{name:"api",loggedInUser:null,siteSettings:null,trustedDomain:this.baseUrl,basename:new URL(this.baseUrl).pathname,getApiClientOptions:this.getApiClientOptions.bind(this),locale:null,displayTestUserDirectoryDialogProps:{userDirectoryTestResult:null},setContext:e=>{this.setState(e)},onLogoutRequested:()=>this.onLogoutRequested(),onCheckIsAuthenticatedRequested:()=>this.onCheckIsAuthenticatedRequested(),onGetSubscriptionKeyRequested:()=>this.onGetSubscriptionKeyRequested(),onRefreshLocaleRequested:this.onRefreshLocaleRequested.bind(this)}}get isReady(){return null!==this.state.siteSettings&&null!==this.state.locale}get baseUrl(){const e=document.getElementsByTagName("base")&&document.getElementsByTagName("base")[0];return e?e.attributes.href.value.replace(/\/*$/g,""):(console.error("Unable to retrieve the page base tag"),"")}getApiClientOptions(){return(new Jt).setBaseUrl(this.state.trustedDomain).setCsrfToken(this.getCsrfToken())}getCsrfToken(){const e=document.cookie;if(!e)return;const t=e.split("; ");if(!t)return;const s=t.find((e=>e.startsWith("csrfToken")));if(!s)return;const n=s.split("=");return n&&2===n.length?n[1]:void 0}async getLoggedInUser(){const e=this.getApiClientOptions().setResourceName("users"),t=new F(e),s=(await t.get("me")).body;this.setState({loggedInUser:s})}async getSiteSettings(){const e=this.getApiClientOptions().setResourceName("settings"),t=new F(e),s=await t.findAll();await this.setState({siteSettings:new Zt(s.body)})}async initLocale(){const e=await this.getUserLocale();if(e)return this.setState({locale:e.locale});const t=this.state.siteSettings.locale;return this.setState({locale:t})}async getUserLocale(){const e=(await this.getUserSettings()).find((e=>"locale"===e.property));if(e)return this.state.siteSettings.supportedLocales.find((t=>t.locale===e.value))}async getUserSettings(){const e=this.getApiClientOptions().setResourceName("account/settings"),t=new F(e);return(await t.findAll()).body}removeSplashScreen(){document.getElementsByTagName("html")[0].classList.remove("launching")}onLogoutRequested(){document.location.href=`${this.state.trustedDomain}/auth/logout`}async onCheckIsAuthenticatedRequested(){try{const e=this.getApiClientOptions().setResourceName("auth"),t=new F(e);return await t.get("is-authenticated"),!0}catch(e){if(e instanceof M&&401===e.data.code)return!1;throw e}}async onGetSubscriptionKeyRequested(){try{const e=this.getApiClientOptions().setResourceName("ee/subscription"),t=new F(e);return(await t.get("key")).body}catch(e){if(e instanceof M&&e.data&&402===e.data.code){const t=e.data.body;throw new Xt(e.message,t)}throw e}}onRefreshLocaleRequested(e){this.state.siteSettings.setLocale(e),this.initLocale()}render(){const e=this.isReady;return n.createElement(A.Provider,{value:this.state},e&&this.props.children)}}es.propTypes={children:i().any};const ts=es;var ss=s(1932),ns=s(8718),as=s(3554);class rs extends n.Component{constructor(e){super(e),this.state=this.defaultState}get defaultState(){return{ready:!1}}async componentDidMount(){await ss.Z.use(ns.Db).use(as.Z).init({lng:this.locale,load:"currentOnly",react:{useSuspense:!1},backend:{loadPath:this.props.loadingPath||"/locales/{{lng}}/{{ns}}.json"},supportedLngs:this.supportedLocales,fallbackLng:!1,ns:["common"],defaultNS:"common",keySeparator:!1,nsSeparator:!1,debug:!1}),this.setState({ready:!0})}get supportedLocales(){return this.props.context.siteSettings.supportedLocales?this.props.context.siteSettings.supportedLocales.map((e=>e.locale)):[this.locale]}get locale(){return this.props.context.locale}async componentDidUpdate(e){await this.handleLocaleChange(e.context.locale)}async handleLocaleChange(e){this.locale!==e&&await ss.Z.changeLanguage(this.locale)}get isReady(){return this.state.ready}render(){return n.createElement(n.Fragment,null,this.isReady&&this.props.children)}}rs.propTypes={context:i().any,loadingPath:i().any,children:i().any};const is=U(rs);class ls extends n.Component{render(){return n.createElement(ts,null,n.createElement(A.Consumer,null,(e=>n.createElement(is,{loadingPath:`${e.trustedDomain}/locales/{{lng}}/{{ns}}.json`},n.createElement(h,null,n.createElement(m,null,n.createElement(It,null,n.createElement(y,null,n.createElement(k,null),n.createElement(qt,null),e.loggedInUser&&"admin"===e.loggedInUser.role.name&&e.siteSettings.canIUse("ee")&&n.createElement(Kt,null),n.createElement(x.VK,{basename:e.basename},n.createElement(ne,null,n.createElement(N.rs,null,n.createElement(N.AW,{exact:!0,path:["/app/administration/subscription"]}),n.createElement(N.AW,{path:"/app/administration"},n.createElement(B,null,n.createElement(Y,null),n.createElement(X,null),n.createElement(jt,null),n.createElement(pt,null))),n.createElement(N.AW,{path:"/app/settings/mfa"},n.createElement(Y,null),n.createElement(X,null),n.createElement(jt,null),n.createElement("div",{id:"container",className:"page settings"},n.createElement("div",{id:"app",className:"app",tabIndex:"1000"},n.createElement("div",{className:"header first"},n.createElement(ie,null)),n.createElement(kt,null))))))),n.createElement(Et,null)))))))))}}const os=ls,cs=document.createElement("div");document.body.appendChild(cs),a.render(n.createElement(os,null),cs)}},a={};function r(e){var t=a[e];if(void 0!==t)return t.exports;var s=a[e]={exports:{}};return n[e].call(s.exports,s,s.exports,r),s.exports}r.m=n,e=[],r.O=(t,s,n,a)=>{if(!s){var i=1/0;for(h=0;h<e.length;h++){for(var[s,n,a]=e[h],l=!0,o=0;o<s.length;o++)(!1&a||i>=a)&&Object.keys(r.O).every((e=>r.O[e](s[o])))?s.splice(o--,1):(l=!1,a<i&&(i=a));if(l){e.splice(h--,1);var c=n();void 0!==c&&(t=c)}}return t}a=a||0;for(var h=e.length;h>0&&e[h-1][2]>a;h--)e[h]=e[h-1];e[h]=[s,n,a]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},s=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var a=Object.create(null);r.r(a);var i={};t=t||[null,s({}),s([]),s(s)];for(var l=2&n&&e;"object"==typeof l&&!~t.indexOf(l);l=s(l))Object.getOwnPropertyNames(l).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,r.d(a,i),a},r.d=(e,t)=>{for(var s in t)r.o(t,s)&&!r.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.j=978,(()=>{var e={978:0};r.O.j=t=>0===e[t];var t=(t,s)=>{var n,a,[i,l,o]=s,c=0;for(n in l)r.o(l,n)&&(r.m[n]=l[n]);if(o)var h=o(r);for(t&&t(s);c<i.length;c++)a=i[c],r.o(e,a)&&e[a]&&e[a][0](),e[i[c]]=0;return r.O(h)},s=self.webpackChunkpassbolt_styleguide=self.webpackChunkpassbolt_styleguide||[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();var i=r.O(void 0,[596],(()=>r(4569)));i=r.O(i)})();
|