passbolt-styleguide 3.3.3 → 3.4.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/build/css/help.min.css +4 -4
  2. package/build/css/public.min.css +5 -6
  3. package/build/css/themes/default/api_authentication.min.css +3 -3
  4. package/build/css/themes/default/api_cloud.min.css +3 -7
  5. package/build/css/themes/default/api_main.min.css +4 -9
  6. package/build/css/themes/default/api_reports.min.css +4 -9
  7. package/build/css/themes/default/api_webinstaller.min.css +4 -9
  8. package/build/css/themes/default/ext_app.min.css +4 -9
  9. package/build/css/themes/default/ext_authentication.min.css +3 -3
  10. package/build/css/themes/default/ext_external.min.css +3 -3
  11. package/build/css/themes/default/ext_in_form_cta.min.css +9 -0
  12. package/build/css/themes/default/ext_in_form_menu.min.css +9 -0
  13. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  14. package/build/css/themes/midgar/api_authentication.min.css +9 -0
  15. package/build/css/themes/midgar/api_main.min.css +4 -9
  16. package/build/css/themes/midgar/api_reports.min.css +4 -9
  17. package/build/css/themes/midgar/ext_app.min.css +4 -9
  18. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  19. package/build/css/themes/midgar/ext_in_form_cta.min.css +9 -0
  20. package/build/css/themes/midgar/ext_in_form_menu.min.css +9 -0
  21. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  22. package/build/js/dist/api-app.js +1 -1
  23. package/build/js/dist/api-app.js.LICENSE.txt +5 -5
  24. package/build/js/dist/api-recover.js +1 -1
  25. package/build/js/dist/api-recover.js.LICENSE.txt +0 -28
  26. package/build/js/dist/api-setup.js +1 -1
  27. package/build/js/dist/api-setup.js.LICENSE.txt +0 -15
  28. package/build/js/dist/api-triage.js +1 -1
  29. package/build/js/dist/api-triage.js.LICENSE.txt +0 -14
  30. package/build/js/dist/api-vendors.js +1 -1
  31. package/build/js/dist/api-vendors.js.LICENSE.txt +146 -84
  32. package/package.json +31 -26
  33. package/src/img/controls/chevron-down_blue.svg +3 -0
  34. package/src/img/diagrams/functional_overview.png +0 -0
  35. package/src/img/diagrams/functional_overview.svg +4 -0
  36. package/src/img/diagrams/howitworks.svg +2797 -0
  37. package/src/img/diagrams/mobile-transfer.svg +296 -0
  38. package/src/img/diagrams/sequence_diagram_form_authenticate.png +0 -0
  39. package/src/img/diagrams/sequence_diagram_gpg_authenticate.png +0 -0
  40. package/src/img/diagrams/totp.svg +251 -0
  41. package/src/img/illustrations/pin_passbolt.gif +0 -0
  42. package/src/img/illustrations/wave-pin_my_extension.svg +1 -0
  43. package/src/img/logo/icon-32-badge-1.png +0 -0
  44. package/src/img/logo/icon-32-badge-2.png +0 -0
  45. package/src/img/logo/icon-32-badge-3.png +0 -0
  46. package/src/img/logo/icon-32-badge-4.png +0 -0
  47. package/src/img/logo/icon-32-badge-5+.png +0 -0
  48. package/src/img/logo/icon-32-badge-5.png +0 -0
  49. package/src/img/logo/icon-32-signout.png +0 -0
  50. package/src/img/logo/icon-badge-1.svg +1 -0
  51. package/src/img/logo/icon-badge-2.svg +1 -0
  52. package/src/img/logo/icon-badge-3.svg +1 -0
  53. package/src/img/logo/icon-badge-4.svg +1 -0
  54. package/src/img/logo/icon-badge-5+.svg +1 -0
  55. package/src/img/logo/icon-badge-5.svg +1 -0
  56. package/src/img/logo/icon-inactive.svg +1 -0
  57. package/src/img/logo/icon-without-badge.svg +1 -0
  58. package/src/img/third_party/ChromeWebStore_black.svg +1 -0
  59. package/src/img/third_party/ChromeWebStore_white.svg +1 -0
  60. package/src/img/third_party/edge-addon-black.svg +1 -0
  61. package/src/img/third_party/edge-addon-white.svg +1 -0
  62. package/src/locales/de-DE/common.json +820 -0
  63. package/src/locales/en-UK/common.json +86 -20
  64. package/src/locales/fr/common.json +750 -0
  65. package/src/locales/fr-FR/common.json +92 -22
  66. package/src/locales/sv-SE/common.json +820 -0
  67. package/src/react-extension/ExtApp.js +16 -10
  68. package/src/react-extension/ExtBootstrapApp.js +1 -0
  69. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +2 -2
  70. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +2 -2
  71. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +1 -1
  72. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -1
  73. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +22 -8
  74. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +3 -0
  75. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +10 -8
  76. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +21 -19
  77. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +6 -6
  78. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +0 -1
  79. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +1 -1
  80. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +1 -1
  81. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +5 -8
  82. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +20 -38
  83. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +4 -1
  84. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +4 -4
  85. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +1 -1
  86. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +1 -1
  87. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.js +2 -3
  88. package/src/react-extension/components/Administration/DisplayTestUserDirectoryAdministration/DisplayTestUserDirectoryAdministration.test.stories.js +5 -9
  89. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +34 -32
  90. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +1 -1
  91. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +0 -3
  92. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +1 -1
  93. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.page.js +2 -2
  94. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +1 -1
  95. package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +12 -15
  96. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.js +2 -2
  97. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +1 -1
  98. package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +12 -14
  99. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +2 -1
  100. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +12 -15
  101. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +1 -2
  102. package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +12 -15
  103. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -19
  104. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +12 -15
  105. package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +12 -15
  106. package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +12 -15
  107. package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +12 -15
  108. package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +12 -15
  109. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +1 -1
  110. package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +12 -15
  111. package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +12 -15
  112. package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +12 -15
  113. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +14 -0
  114. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.js +65 -0
  115. package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.page.js +38 -0
  116. package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +12 -15
  117. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +15 -6
  118. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.js +27 -0
  119. package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +12 -15
  120. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.js +107 -0
  121. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +11 -0
  122. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.js +65 -0
  123. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.page.js +73 -0
  124. package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +34 -0
  125. package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +8 -11
  126. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +1 -1
  127. package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +12 -15
  128. package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +12 -15
  129. package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +12 -15
  130. package/src/react-extension/components/AuthenticationLogin/Login/Login.js +3 -1
  131. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +12 -15
  132. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +2 -1
  133. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.js +1 -1
  134. package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +5 -11
  135. package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +5 -1
  136. package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
  137. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.data.js +0 -2
  138. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +4 -5
  139. package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.page.js +0 -1
  140. package/src/react-extension/components/Common/Avatar/UserAvatar.js +2 -1
  141. package/src/react-extension/components/Common/Error/ShowErrorDetails/ShowErrorDetails.js +126 -0
  142. package/src/react-extension/components/Common/Icons/AnimatedFeedback.js +58 -0
  143. package/src/react-extension/components/Common/Icons/Icon.js +16 -0
  144. package/src/react-extension/components/Common/Icons/Icon.test.stories.js +78 -0
  145. package/src/react-extension/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js +4 -0
  146. package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +2 -1
  147. package/src/react-extension/components/Common/Menu/DisplayMainMenu.js +2 -4
  148. package/src/react-extension/components/Common/Navigation/Search/SearchBar.js +1 -1
  149. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.js +1 -1
  150. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.js +1 -1
  151. package/src/react-extension/components/Common/Progress/DisplayProgress/DisplayProgress.test.stories.js +34 -0
  152. package/src/react-extension/components/Common/Tab/Tab.js +65 -0
  153. package/src/react-extension/components/Common/Tab/Tabs.js +87 -0
  154. package/src/react-extension/components/Resource/CreateResource/CreateResource.js +85 -66
  155. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +80 -1
  156. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +18 -39
  157. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +27 -8
  158. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +70 -4
  159. package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +1 -1
  160. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayDragResource.js +68 -0
  161. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +20 -47
  162. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +4 -1
  163. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +2 -2
  164. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.data.js +1 -7
  165. package/src/react-extension/components/Resource/EditResource/EditResource.js +93 -68
  166. package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +80 -1
  167. package/src/react-extension/components/Resource/EditResource/EditResource.test.js +10 -39
  168. package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +26 -11
  169. package/src/react-extension/components/Resource/ExportResources/ExportResources.js +1 -1
  170. package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +5 -11
  171. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +10 -12
  172. package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +5 -11
  173. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js +4 -4
  174. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +0 -1
  175. package/src/react-extension/components/Resource/FilterResourcesByFolders/DisplayDragFolderItem.js +109 -0
  176. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js +41 -193
  177. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.data.js +10 -5
  178. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.js +9 -12
  179. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.page.js +6 -2
  180. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +0 -1
  181. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js +83 -58
  182. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.data.js +52 -59
  183. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.js +25 -20
  184. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.test.page.js +11 -5
  185. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js +1 -1
  186. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js +7 -2
  187. package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.test.js +3 -7
  188. package/src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js +1 -1
  189. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js +1 -1
  190. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.page.js +1 -1
  191. package/src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js +0 -1
  192. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js +1 -1
  193. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.data.js +47 -0
  194. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.js +34 -3
  195. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.page.js +46 -9
  196. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js +0 -1
  197. package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +124 -4
  198. package/src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js +0 -2
  199. package/src/react-extension/components/Resource/ImportResources/ImportResources.js +6 -5
  200. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +10 -12
  201. package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +5 -11
  202. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +3 -3
  203. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.js +3 -3
  204. package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +5 -11
  205. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.js +1 -1
  206. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.page.object.js +1 -1
  207. package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +8 -14
  208. package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +5 -11
  209. package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +8 -14
  210. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js +9 -8
  211. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.page.js +1 -1
  212. package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +8 -15
  213. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +0 -1
  214. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js +1 -1
  215. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +0 -1
  216. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.js +1 -1
  217. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +0 -1
  218. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -2
  219. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +1 -1
  220. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +0 -3
  221. package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +0 -6
  222. package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +0 -5
  223. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +1 -1
  224. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +1 -1
  225. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +0 -7
  226. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +0 -2
  227. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +0 -2
  228. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +0 -2
  229. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.js +150 -0
  230. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +30 -0
  231. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +191 -0
  232. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +73 -0
  233. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +296 -0
  234. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +112 -0
  235. package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +0 -2
  236. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +1 -1
  237. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +1 -1
  238. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +0 -4
  239. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js +2 -2
  240. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.test.page.js +1 -1
  241. package/src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js +5 -1
  242. package/src/react-extension/components/Share/ShareDialog.test.page.js +1 -1
  243. package/src/react-extension/components/Share/ShareDialog.test.stories.js +12 -10
  244. package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -9
  245. package/src/react-extension/components/User/CreateUser/CreateUser.js +4 -4
  246. package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +3 -3
  247. package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +3 -1
  248. package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +5 -8
  249. package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +5 -8
  250. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -2
  251. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +1 -1
  252. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -2
  253. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +2 -1
  254. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +6 -0
  255. package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
  256. package/src/react-extension/components/User/EditUser/EditUser.js +3 -3
  257. package/src/react-extension/components/User/EditUser/EditUser.test.page.js +2 -2
  258. package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +3 -1
  259. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.js +2 -2
  260. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.js +1 -1
  261. package/src/react-extension/components/User/FilterUsersByBreadcrumb/FilterUsersByBreadcrumb.test.stories.js +5 -8
  262. package/src/react-extension/components/User/FilterUsersByGroups/FilterUsersByGroup.js +1 -1
  263. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.js +1 -1
  264. package/src/react-extension/components/User/FilterUsersByShortcut/FilterUsersByShortcut.test.stories.js +0 -1
  265. package/src/react-extension/components/User/FilterUsersByText/FilterUsersByText.test.stories.js +0 -2
  266. package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +8 -11
  267. package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +8 -11
  268. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +8 -12
  269. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +1 -1
  270. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +2 -2
  271. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -8
  272. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +5 -8
  273. package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +5 -8
  274. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.stories.js +8 -11
  275. package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +8 -11
  276. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +11 -3
  277. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +7 -0
  278. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +1 -1
  279. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +12 -8
  280. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +92 -21
  281. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.data.js +6 -0
  282. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +2 -2
  283. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.page.js +1 -1
  284. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DisplayChangePassphraseIntroduction.js +12 -10
  285. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/DownloadRecoveryKit.js +4 -10
  286. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +65 -25
  287. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +6 -0
  288. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +1 -1
  289. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +1 -1
  290. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +14 -13
  291. package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -8
  292. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +21 -6
  293. package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +5 -8
  294. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.js +1 -1
  295. package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +5 -8
  296. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +13 -1
  297. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
  298. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.test.stories.js +5 -8
  299. package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +5 -8
  300. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +3 -3
  301. package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +5 -8
  302. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +26 -4
  303. package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +7 -10
  304. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.js +749 -0
  305. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.data.js +32 -0
  306. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.js +60 -0
  307. package/src/react-extension/components/UserSetting/TransferToMobile/TransferToMobile.test.page.js +110 -0
  308. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +3 -2
  309. package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +5 -8
  310. package/src/react-extension/contexts/AdministrationWorkspaceContext.js +2 -2
  311. package/src/react-extension/contexts/ApiAppContext.js +1 -1
  312. package/src/react-extension/contexts/ApiRecoverContext.js +1 -1
  313. package/src/react-extension/contexts/ApiSetupContext.js +1 -1
  314. package/src/react-extension/contexts/AuthenticationContext.js +21 -2
  315. package/src/react-extension/contexts/AuthenticationContext.test.js +40 -0
  316. package/src/react-extension/contexts/DragContext.js +122 -0
  317. package/src/react-extension/contexts/DragContext.test.js +53 -0
  318. package/src/react-extension/contexts/NavigationContext.js +11 -0
  319. package/src/react-extension/contexts/ResourcePasswordGeneratorContext.js +144 -0
  320. package/src/react-extension/contexts/ResourceWorkspaceContext.js +5 -4
  321. package/src/react-extension/contexts/ResourceWorkspaceContext.test.data.js +0 -1
  322. package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +0 -1
  323. package/src/react-extension/contexts/UserWorkspaceContext.js +31 -4
  324. package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +17 -287
  325. package/src/react-extension/lib/Crypto/sha512.js +17 -0
  326. package/src/react-extension/test/fixture/Settings/siteSettings.js +6 -0
  327. package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +42 -7
  328. package/src/react-quickaccess/ExtQuickAccess.js +75 -28
  329. package/src/react-quickaccess/components/AnimatedSwitch/AnimatedSwitch.js +22 -5
  330. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgress.js +41 -0
  331. package/src/react-quickaccess/components/ExtensionSetup/SetupExtensionInProgress/SetupExtensionInProgressPage.test.stories.js +23 -0
  332. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.js +8 -4
  333. package/src/react-quickaccess/components/FilterResourcesByFavoritePage/FilterResourcesByFavoritePage.test.stories.js +7 -7
  334. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +10 -6
  335. package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +9 -5
  336. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.js +10 -7
  337. package/src/react-quickaccess/components/FilterResourcesByItemsIOwnPage/FilterResourcesByItemsIOwnPage.test.stories.js +7 -7
  338. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.js +10 -7
  339. package/src/react-quickaccess/components/FilterResourcesByRecentlyModifiedPage/FilterResourcesByRecentlyModifiedPage.test.stories.js +7 -7
  340. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.js +10 -7
  341. package/src/react-quickaccess/components/FilterResourcesBySharedWithMePage/FilterResourcesBySharedWithMePage.test.stories.js +7 -7
  342. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.js +10 -7
  343. package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +9 -5
  344. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.js +150 -0
  345. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.data.js +20 -0
  346. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.js +67 -0
  347. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePassphraseGenerator.test.page.js +109 -0
  348. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.js +189 -0
  349. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.data.js +40 -0
  350. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.js +67 -0
  351. package/src/react-quickaccess/components/GeneratePasswordPage/ConfigurePasswordGenerator.test.page.js +121 -0
  352. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +304 -0
  353. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +102 -0
  354. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.js +76 -0
  355. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.page.js +158 -0
  356. package/src/react-quickaccess/components/Header/Header.js +10 -8
  357. package/src/react-quickaccess/components/Header/Header.test.stories.js +4 -7
  358. package/src/react-quickaccess/components/HomePage/HomePage.js +40 -11
  359. package/src/react-quickaccess/components/HomePage/HomePage.test.stories.js +14 -10
  360. package/src/react-quickaccess/components/HomePage/canSuggestUrl.js +8 -3
  361. package/src/react-quickaccess/components/HomePage/canSuggestUrl.test.js +6 -0
  362. package/src/react-quickaccess/components/LoginPage/LoginPage.js +58 -18
  363. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +4 -6
  364. package/src/react-quickaccess/components/ManageQuickAccessMode/ManageQuickAccessMode.js +103 -0
  365. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.js +2 -2
  366. package/src/react-quickaccess/components/MoreFiltersPage/MoreFiltersPage.test.stories.js +4 -6
  367. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +5 -3
  368. package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +6 -6
  369. package/src/react-quickaccess/components/PrivateRoute/PrivateRoute.js +1 -0
  370. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +234 -0
  371. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +28 -0
  372. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.stories.js +44 -0
  373. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +166 -39
  374. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +108 -2
  375. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +28 -25
  376. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.stories.js +6 -6
  377. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +6 -3
  378. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.stories.js +5 -3
  379. package/src/react-quickaccess/components/Search/Search.js +13 -1
  380. package/src/react-quickaccess/components/Search/Search.test.stories.js +4 -6
  381. package/src/react-quickaccess/contexts/PrepareResourceContext.js +221 -0
  382. package/src/react-web-integration/AuthLogin/AuthLogin.js +72 -0
  383. package/src/react-web-integration/Autofill/Autofill.js +331 -0
  384. package/src/react-web-integration/BrowserIntegrationBootstrap.js +64 -0
  385. package/src/react-web-integration/Events/Quickaccess/QuickAccessEvent.js +24 -0
  386. package/src/react-web-integration/ExtInFormCallToAction.js +56 -0
  387. package/src/react-web-integration/ExtInFormMenu.js +70 -0
  388. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.js +161 -0
  389. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.data.js +39 -0
  390. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.js +48 -0
  391. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.page.js +42 -0
  392. package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +91 -0
  393. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +360 -0
  394. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +198 -0
  395. package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenuItem.js +103 -0
  396. package/src/react-web-integration/contexts/AppContext.js +39 -0
  397. package/src/react-web-integration/lib/Dom/DomUtils.js +94 -0
  398. package/src/react-web-integration/lib/InForm/InFormCallToActionField.js +263 -0
  399. package/src/react-web-integration/lib/InForm/InFormCredentialsFormField.js +118 -0
  400. package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +77 -0
  401. package/src/react-web-integration/lib/InForm/InFormManager.js +253 -0
  402. package/src/react-web-integration/lib/InForm/InformManager.test.data.js +46 -0
  403. package/src/react-web-integration/lib/InForm/InformManager.test.js +82 -0
  404. package/src/react-web-integration/lib/InForm/InformManager.test.page.js +116 -0
  405. package/src/react-web-integration/lib/InForm/InformMenuField.js +182 -0
  406. package/src/shared/components/Internationalisation/TranslationProvider.js +145 -0
  407. package/src/shared/lib/Browser/detectBrowserName.js +2 -1
  408. package/src/shared/lib/Secret/SecretComplexity.js +2 -2
  409. package/src/shared/lib/SecretGenerator/PassphraseGenerator.js +112 -0
  410. package/src/shared/lib/SecretGenerator/PassphraseGenerator.test.js +48 -0
  411. package/src/shared/lib/SecretGenerator/PassphraseGeneratorWords.js +7789 -0
  412. package/src/shared/lib/SecretGenerator/PasswordGenerator.js +103 -0
  413. package/src/shared/lib/SecretGenerator/SecretGenerator.js +45 -0
  414. package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.js +190 -0
  415. package/src/shared/lib/SecretGenerator/SecretGeneratorComplexity.test.js +95 -0
  416. package/src/shared/lib/Settings/SiteSettings.js +8 -0
  417. package/src/shared/lib/apiClient/apiClient.test.js +1 -1
  418. package/.babelrc +0 -11
  419. package/.editorconfig +0 -13
  420. package/.eslintrc.json +0 -197
  421. package/.gitlab-ci.yml +0 -28
  422. package/.jest.config.json +0 -6
  423. package/.jest.setup.js +0 -8
  424. package/.jest.transform.js +0 -7
  425. package/.storybook/main.js +0 -15
  426. package/.storybook/preview-body.html +0 -5
  427. package/.storybook/preview.js +0 -6
  428. package/Gruntfile.js +0 -199
  429. package/build/css/themes/default/ext_config_debug.min.css +0 -13
  430. package/build/css/themes/default/ext_legacy.min.css +0 -13
  431. package/build/css/themes/midgar/ext_legacy.min.css +0 -13
  432. package/crowdin.yml +0 -4
  433. package/docker-compose-dev.yml +0 -10
  434. package/jest.config.json +0 -6
  435. package/src/img/controls/colorpicker/marker.png +0 -0
  436. package/src/img/controls/colorpicker/mask.png +0 -0
  437. package/src/img/controls/colorpicker/wheel.png +0 -0
  438. package/src/img/controls/overlay-opacity-50.png +0 -0
  439. package/src/img/third_party/ChromeWebStore_black.png +0 -0
  440. package/src/img/third_party/ChromeWebStore_white.png +0 -0
  441. package/src/js/accordion.js +0 -10
  442. package/src/js/autocomplete.js +0 -241
  443. package/src/js/autocomplete.min.js +0 -3
  444. package/src/js/bootstrap-scrollspy.js +0 -172
  445. package/src/js/chosen.jquery.js +0 -1356
  446. package/src/js/colorpicker.js +0 -32
  447. package/src/js/download.js +0 -128
  448. package/src/js/farbtastic.js +0 -345
  449. package/src/js/swiper.min.js +0 -18
  450. package/src/react-quickaccess/components/Internationalisation/TranslationProvider.js +0 -151
  451. package/storybook-static/favicon.ico +0 -0
  452. package/storybook-static/iframe.html +0 -133
  453. package/storybook-static/index.html +0 -47
  454. package/storybook-static/main.2d01924b12554c6c15af.bundle.js +0 -1
  455. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js +0 -3
  456. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -153
  457. package/storybook-static/main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  458. package/storybook-static/runtime~main.6a9b04192e3176eff72a.bundle.js +0 -1
  459. package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js +0 -2
  460. package/storybook-static/runtime~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  461. package/storybook-static/static/media/chosen-sprite.6768c197.png +0 -0
  462. package/storybook-static/static/media/chosen-sprite@2x.a0b7f3f1.png +0 -0
  463. package/storybook-static/static/media/dot_black.a2c44078.svg +0 -6
  464. package/storybook-static/static/media/dot_red.7b34541d.svg +0 -6
  465. package/storybook-static/static/media/dot_white.f60f7331.svg +0 -6
  466. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  467. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  468. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  469. package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +0 -2671
  470. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  471. package/storybook-static/static/media/infinite-bar.f5327dc3.gif +0 -0
  472. package/storybook-static/static/media/loading_dark.ea474c7f.svg +0 -21
  473. package/storybook-static/static/media/loading_light.061977b5.svg +0 -15
  474. package/storybook-static/static/media/logo.e2b062a5.svg +0 -1
  475. package/storybook-static/static/media/logo_white.cb32e694.svg +0 -1
  476. package/storybook-static/static/media/opensans-bold.a6b4768c.woff +0 -0
  477. package/storybook-static/static/media/opensans-regular.7812bd0b.woff +0 -0
  478. package/storybook-static/static/media/passphrase_intro.37a1ba4e.png +0 -0
  479. package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js +0 -2
  480. package/storybook-static/vendors~main.4abf29e4f956d5befb41.bundle.js.LICENSE.txt +0 -105
  481. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js +0 -3
  482. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt +0 -145
  483. package/storybook-static/vendors~main.b0c44c8759149ccf4f67.bundle.js.map +0 -1
  484. package/webpack-api.config.js +0 -83
  485. package/webpack-ext.config.js +0 -84
@@ -1,3 +0,0 @@
1
- /*! For license information please see main.b0c44c8759149ccf4f67.bundle.js.LICENSE.txt */
2
- (window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"c",(function(){return withResourceWorkspace})),__webpack_require__.d(__webpack_exports__,"a",(function(){return ResourceWorkspaceFilterTypes})),__webpack_require__.d(__webpack_exports__,"b",(function(){return resourceLinkAuthorizedProtocols}));__webpack_require__(19);var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(46),_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9__),react__WEBPACK_IMPORTED_MODULE_31__=(__webpack_require__(18),__webpack_require__(44),__webpack_require__(212),__webpack_require__(38),__webpack_require__(137),__webpack_require__(71),__webpack_require__(96),__webpack_require__(121),__webpack_require__(153),__webpack_require__(92),__webpack_require__(79),__webpack_require__(408),__webpack_require__(37),__webpack_require__(170),__webpack_require__(210),__webpack_require__(23),__webpack_require__(12),__webpack_require__(21),__webpack_require__(432),__webpack_require__(1349),__webpack_require__(29),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_32___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_32__),_AppContext__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__(13),react_router_dom__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__(99),_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__(48),_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__(114),_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__(90),luxon__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__(128),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7___default()(this,result)}}var ResourceWorkspaceContext=react__WEBPACK_IMPORTED_MODULE_31__.createContext({filter:{type:null,payload:null},sorter:{propertyName:"modified",asc:!1},filteredResources:[],selectedResources:[],details:{resource:null,folder:null},scrollTo:{resource:null},refresh:{permissions:!1},resourceFileToImport:null,resourceFileImportResult:null,lockDisplayDetail:!0,resourcesToExport:{resourcesIds:null,foldersIds:null},onLockDetail:function onLockDetail(){},onResourceScrolled:function onResourceScrolled(){},onResourceEdited:function onResourceEdited(){},onResourceDescriptionEdited:function onResourceDescriptionEdited(){},onResourceDescriptionDecrypted:function onResourceDescriptionDecrypted(){},onResourceShared:function onResourceShared(){},onResourcePermissionsRefreshed:function onResourcePermissionsRefreshed(){},onResourceCopied:function onResourceCopied(){},onResourceActivitiesRefreshed:function onResourceActivitiesRefreshed(){},onSorterChanged:function onSorterChanged(){},onResourceSelected:{all:function all(){},none:function none(){},multiple:function multiple(){},range:function range(){},single:function single(){}},onResourceFileToImport:function onResourceFileToImport(){},onResourceFileImportResult:function onResourceFileImportResult(){},onResourcesToExport:function onResourcesToExport(){},onGoToResourceUriRequested:function onGoToResourceUriRequested(){}}),ResourceWorkspaceContextProvider=function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ResourceWorkspaceContextProvider,_React$Component);var _updateResourcesToExport,_updateImportResult,_import2,_setResourcesPermissionsAsRefreshed,_refreshSelectedResourcePermissions,_setResourceActivitiesAsRefreshed,_refreshSelectedResourceActivities,_scrollNothing,_scrollTo,_updateDetails,_detailsResourceIfSingleSelection,_detailNothing,_detailResource,_detailFolder,_sort,_resetSorter,_updateSorter,_unselectUnknownResources,_unselectAll,_selectAll,_selectRange,_selectMultiple,_selectFromRoute,_select,_refreshSearchFilter,_searchByRecentlyModified,_seachBySharedWithMe,_searchByFavorite,_searchByItemsIOwn,_searchByGroup,_searchByText,_searchByTag,_searchByFolder,_searchByRootFolder,_searchAll,_search,_handleResourcesToExportChange,_handleResourceFileImportResult,_handleResourceFileToImport,_handleResourceSelected,_handleResourceRangeSelected,_handleMultipleResourcesSelected,_handleNoneResourcesSelected,_handleAllResourcesSelected,_handleSorterChange,_handleResourceActivitiesRefreshed,_handleResourceCopied,_handleResourcePermissionsRefreshed,_handleResourceShared,_handleResourceDescriptionDecryted,_handleResourceDescriptionEdited,_handleResourceEdited,_handleResourceScrolled,_handleLockDetail,_handleAllResourceRouteChange,_handleSingleResourceRouteChange,_handleResourceRouteChange,_handleFolderRouteChange,_handleRouteChange,_handleResourcesChange,_handleFoldersChange,_handleTextFilterChange,_handleFilterChange,_componentDidUpdate,_super=_createSuper(ResourceWorkspaceContextProvider);function ResourceWorkspaceContextProvider(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default()(this,ResourceWorkspaceContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this.initializeProperties(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default()(ResourceWorkspaceContextProvider,[{key:"defaultState",get:function get(){return{filter:{type:ResourceWorkspaceFilterTypes.NONE},sorter:{propertyName:"modified",asc:!1},filteredResources:[],selectedResources:[],details:{resource:null,folder:null},scrollTo:{resource:null},refresh:{activities:!1,permissions:!1},resourceFileToImport:null,resourceFileImportResult:null,lockDisplayDetail:!0,resourcesToExport:null,onLockDetail:this.handleLockDetail.bind(this),onResourceScrolled:this.handleResourceScrolled.bind(this),onResourceEdited:this.handleResourceEdited.bind(this),onResourceDescriptionEdited:this.handleResourceDescriptionEdited.bind(this),onResourceDescriptionDecrypted:this.handleResourceDescriptionDecryted.bind(this),onResourceShared:this.handleResourceShared.bind(this),onResourcePermissionsRefreshed:this.handleResourcePermissionsRefreshed.bind(this),onResourceCopied:this.handleResourceCopied.bind(this),onResourceActivitiesRefreshed:this.handleResourceActivitiesRefreshed.bind(this),onSorterChanged:this.handleSorterChange.bind(this),onResourceSelected:{all:this.handleAllResourcesSelected.bind(this),none:this.handleNoneResourcesSelected.bind(this),multiple:this.handleMultipleResourcesSelected.bind(this),range:this.handleResourceRangeSelected.bind(this),single:this.handleResourceSelected.bind(this)},onResourceFileToImport:this.handleResourceFileToImport.bind(this),onResourceFileImportResult:this.handleResourceFileImportResult.bind(this),onResourcesToExport:this.handleResourcesToExportChange.bind(this),onGoToResourceUriRequested:this.onGoToResourceUriRequested.bind(this)}}},{key:"initializeProperties",value:function initializeProperties(){this.resources=null,this.folders=null}},{key:"componentDidMount",value:function componentDidMount(){this.populate(),this.handleResourcesWaitedFor()}},{key:"componentDidUpdate",value:(_componentDidUpdate=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee(prevProps,prevState){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.handleFilterChange(prevState.filter);case 2:return _context.next=4,this.handleResourcesLoaded();case 4:return _context.next=6,this.handleFoldersChange();case 6:return _context.next=8,this.handleResourcesChange();case 8:return _context.next=10,this.handleRouteChange(prevProps.location);case 10:return _context.next=12,this.redirectAfterSelection();case 12:case"end":return _context.stop()}}),_callee,this)}))),function componentDidUpdate(_x,_x2){return _componentDidUpdate.apply(this,arguments)})},{key:"handleFilterChange",value:(_handleFilterChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee2(previousFilter){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(previousFilter===this.state.filter){_context2.next=7;break}if(previousFilter.type===ResourceWorkspaceFilterTypes.NONE){_context2.next=7;break}return this.populate(),_context2.next=7,this.unselectAll();case 7:case"end":return _context2.stop()}}),_callee2,this)}))),function handleFilterChange(_x3){return _handleFilterChange.apply(this,arguments)})},{key:"handleTextFilterChange",value:(_handleTextFilterChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee3(text){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.search({type:ResourceWorkspaceFilterTypes.TEXT,payload:text});case 2:return _context3.next=4,this.detailNothing();case 4:case"end":return _context3.stop()}}),_callee3,this)}))),function handleTextFilterChange(_x4){return _handleTextFilterChange.apply(this,arguments)})},{key:"handleFoldersChange",value:(_handleFoldersChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee4(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(this.context.folders===this.folders){_context4.next=7;break}return this.folders=this.context.folders,_context4.next=5,this.refreshSearchFilter();case 5:return _context4.next=7,this.updateDetails();case 7:case"end":return _context4.stop()}}),_callee4,this)}))),function handleFoldersChange(){return _handleFoldersChange.apply(this,arguments)})},{key:"handleResourcesChange",value:(_handleResourcesChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee5(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:if(!this.context.resources||this.context.resources===this.resources){_context5.next=9;break}return this.resources=this.context.resources,_context5.next=5,this.search(this.state.filter);case 5:return _context5.next=7,this.updateDetails();case 7:return _context5.next=9,this.unselectUnknownResources();case 9:case"end":return _context5.stop()}}),_callee5,this)}))),function handleResourcesChange(){return _handleResourcesChange.apply(this,arguments)})},{key:"handleRouteChange",value:(_handleRouteChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee6(previousLocation){var hasLocationChanged,isBrowserClosing,isAppFirstLoad;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if(hasLocationChanged=this.props.location.key!==previousLocation.key,isBrowserClosing=!this.props.location.key,isAppFirstLoad=this.state.filter.type===ResourceWorkspaceFilterTypes.NONE,!hasLocationChanged&&!isAppFirstLoad||isBrowserClosing){_context6.next=8;break}return _context6.next=6,this.handleFolderRouteChange();case 6:return _context6.next=8,this.handleResourceRouteChange();case 8:case"end":return _context6.stop()}}),_callee6,this)}))),function handleRouteChange(_x5){return _handleRouteChange.apply(this,arguments)})},{key:"handleFolderRouteChange",value:(_handleFolderRouteChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee7(){var folderId,folder;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:if(null===this.context.folders){_context7.next=12;break}if(!(folderId=this.props.match.params.filterByFolderId)){_context7.next=12;break}if(!(folder=this.context.folders.find((function(folder){return folder.id===folderId})))){_context7.next=11;break}return _context7.next=7,this.search({type:ResourceWorkspaceFilterTypes.FOLDER,payload:{folder:folder}});case 7:return _context7.next=9,this.detailFolder(folder);case 9:_context7.next=12;break;case 11:this.handleUnknownFolder();case 12:case"end":return _context7.stop()}}),_callee7,this)}))),function handleFolderRouteChange(){return _handleFolderRouteChange.apply(this,arguments)})},{key:"handleResourceRouteChange",value:(_handleResourceRouteChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee8(){var isResourceLocation,resourceId;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee8$(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:isResourceLocation=this.props.location.pathname.includes("passwords"),resourceId=this.props.match.params.selectedResourceId,isResourceLocation&&(resourceId?this.handleSingleResourceRouteChange(resourceId):this.handleAllResourceRouteChange());case 3:case"end":return _context8.stop()}}),_callee8,this)}))),function handleResourceRouteChange(){return _handleResourceRouteChange.apply(this,arguments)})},{key:"handleSingleResourceRouteChange",value:(_handleSingleResourceRouteChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee9(resourceId){var resource;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee9$(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:if(null===this.resources){_context9.next=17;break}if(resource=this.resources.find((function(resource){return resource.id===resourceId})),this.state.filter.type!==ResourceWorkspaceFilterTypes.NONE){_context9.next=7;break}return _context9.next=7,this.search({type:ResourceWorkspaceFilterTypes.ALL});case 7:if(!resource){_context9.next=16;break}return _context9.next=10,this.selectFromRoute(resource);case 10:return _context9.next=12,this.scrollTo(resource);case 12:return _context9.next=14,this.detailResource(resource);case 14:_context9.next=17;break;case 16:this.handleUnknownResource();case 17:case"end":return _context9.stop()}}),_callee9,this)}))),function handleSingleResourceRouteChange(_x6){return _handleSingleResourceRouteChange.apply(this,arguments)})},{key:"handleAllResourceRouteChange",value:(_handleAllResourceRouteChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee10(){var filter,isSameFilter;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee10$(_context10){for(;;)switch(_context10.prev=_context10.next){case 0:if(null===this.resources){_context10.next=9;break}return filter=this.props.location.state&&this.props.location.state.filter||{type:ResourceWorkspaceFilterTypes.ALL},isSameFilter=this.state.filter===filter,_context10.next=6,this.detailNothing();case 6:if(isSameFilter){_context10.next=9;break}return _context10.next=9,this.search(filter);case 9:case"end":return _context10.stop()}}),_callee10,this)}))),function handleAllResourceRouteChange(){return _handleAllResourceRouteChange.apply(this,arguments)})},{key:"handleLockDetail",value:(_handleLockDetail=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee11(){var lockDisplayDetail;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee11$(_context11){for(;;)switch(_context11.prev=_context11.next){case 0:lockDisplayDetail=!this.state.lockDisplayDetail,this.setState({lockDisplayDetail:lockDisplayDetail});case 2:case"end":return _context11.stop()}}),_callee11,this)}))),function handleLockDetail(){return _handleLockDetail.apply(this,arguments)})},{key:"handleUnknownResource",value:function handleUnknownResource(){this.props.actionFeedbackContext.displayError("The resource does not exist"),this.props.history.push({pathname:"/app/passwords"})}},{key:"handleUnknownFolder",value:function handleUnknownFolder(){this.props.actionFeedbackContext.displayError("The folder does not exist"),this.props.history.push({pathname:"/app/passwords"})}},{key:"handleResourceScrolled",value:(_handleResourceScrolled=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee12(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee12$(_context12){for(;;)switch(_context12.prev=_context12.next){case 0:return _context12.next=2,this.scrollNothing();case 2:case"end":return _context12.stop()}}),_callee12,this)}))),function handleResourceScrolled(){return _handleResourceScrolled.apply(this,arguments)})},{key:"handleResourceEdited",value:(_handleResourceEdited=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee13(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee13$(_context13){for(;;)switch(_context13.prev=_context13.next){case 0:return _context13.next=2,this.refreshSelectedResourceActivities();case 2:case"end":return _context13.stop()}}),_callee13,this)}))),function handleResourceEdited(){return _handleResourceEdited.apply(this,arguments)})},{key:"handleResourceDescriptionEdited",value:(_handleResourceDescriptionEdited=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee14(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee14$(_context14){for(;;)switch(_context14.prev=_context14.next){case 0:return _context14.next=2,this.refreshSelectedResourceActivities();case 2:case"end":return _context14.stop()}}),_callee14,this)}))),function handleResourceDescriptionEdited(){return _handleResourceDescriptionEdited.apply(this,arguments)})},{key:"handleResourceDescriptionDecryted",value:(_handleResourceDescriptionDecryted=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee15(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee15$(_context15){for(;;)switch(_context15.prev=_context15.next){case 0:return _context15.next=2,this.refreshSelectedResourceActivities();case 2:case"end":return _context15.stop()}}),_callee15,this)}))),function handleResourceDescriptionDecryted(){return _handleResourceDescriptionDecryted.apply(this,arguments)})},{key:"handleResourceShared",value:(_handleResourceShared=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee16(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee16$(_context16){for(;;)switch(_context16.prev=_context16.next){case 0:return _context16.next=2,this.refreshSelectedResourceActivities();case 2:return _context16.next=4,this.refreshSelectedResourcePermissions();case 4:case"end":return _context16.stop()}}),_callee16,this)}))),function handleResourceShared(){return _handleResourceShared.apply(this,arguments)})},{key:"handleResourcePermissionsRefreshed",value:(_handleResourcePermissionsRefreshed=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee17(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee17$(_context17){for(;;)switch(_context17.prev=_context17.next){case 0:return _context17.next=2,this.setResourcesPermissionsAsRefreshed();case 2:case"end":return _context17.stop()}}),_callee17,this)}))),function handleResourcePermissionsRefreshed(){return _handleResourcePermissionsRefreshed.apply(this,arguments)})},{key:"handleResourceCopied",value:(_handleResourceCopied=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee18(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee18$(_context18){for(;;)switch(_context18.prev=_context18.next){case 0:return _context18.next=2,this.refreshSelectedResourceActivities();case 2:case"end":return _context18.stop()}}),_callee18,this)}))),function handleResourceCopied(){return _handleResourceCopied.apply(this,arguments)})},{key:"handleResourceActivitiesRefreshed",value:(_handleResourceActivitiesRefreshed=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee19(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee19$(_context19){for(;;)switch(_context19.prev=_context19.next){case 0:return _context19.next=2,this.setResourceActivitiesAsRefreshed();case 2:case"end":return _context19.stop()}}),_callee19,this)}))),function handleResourceActivitiesRefreshed(){return _handleResourceActivitiesRefreshed.apply(this,arguments)})},{key:"handleSorterChange",value:(_handleSorterChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee20(propertyName){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee20$(_context20){for(;;)switch(_context20.prev=_context20.next){case 0:return _context20.next=2,this.updateSorter(propertyName);case 2:return _context20.next=4,this.sort();case 4:case"end":return _context20.stop()}}),_callee20,this)}))),function handleSorterChange(_x7){return _handleSorterChange.apply(this,arguments)})},{key:"handleAllResourcesSelected",value:(_handleAllResourcesSelected=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee21(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee21$(_context21){for(;;)switch(_context21.prev=_context21.next){case 0:return _context21.next=2,this.selectAll();case 2:return _context21.next=4,this.detailNothing();case 4:case"end":return _context21.stop()}}),_callee21,this)}))),function handleAllResourcesSelected(){return _handleAllResourcesSelected.apply(this,arguments)})},{key:"handleNoneResourcesSelected",value:(_handleNoneResourcesSelected=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee22(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee22$(_context22){for(;;)switch(_context22.prev=_context22.next){case 0:return _context22.next=2,this.unselectAll();case 2:return _context22.next=4,this.detailNothing();case 4:case"end":return _context22.stop()}}),_callee22,this)}))),function handleNoneResourcesSelected(){return _handleNoneResourcesSelected.apply(this,arguments)})},{key:"handleMultipleResourcesSelected",value:(_handleMultipleResourcesSelected=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee23(resource){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee23$(_context23){for(;;)switch(_context23.prev=_context23.next){case 0:return _context23.next=2,this.selectMultiple(resource);case 2:return _context23.next=4,this.detailsResourceIfSingleSelection();case 4:case"end":return _context23.stop()}}),_callee23,this)}))),function handleMultipleResourcesSelected(_x8){return _handleMultipleResourcesSelected.apply(this,arguments)})},{key:"handleResourceRangeSelected",value:(_handleResourceRangeSelected=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee24(resource){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee24$(_context24){for(;;)switch(_context24.prev=_context24.next){case 0:return _context24.next=2,this.selectRange(resource);case 2:case"end":return _context24.stop()}}),_callee24,this)}))),function handleResourceRangeSelected(_x9){return _handleResourceRangeSelected.apply(this,arguments)})},{key:"handleResourceSelected",value:(_handleResourceSelected=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee25(resource){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee25$(_context25){for(;;)switch(_context25.prev=_context25.next){case 0:return _context25.next=2,this.select(resource);case 2:case"end":return _context25.stop()}}),_callee25,this)}))),function handleResourceSelected(_x10){return _handleResourceSelected.apply(this,arguments)})},{key:"handleToggleSidebar",value:function handleToggleSidebar(){var mustDisplaySidebar=!this.state.mustDisplaySidebar;this.setState({mustDisplaySidebar:mustDisplaySidebar})}},{key:"handleResourcesWaitedFor",value:function handleResourcesWaitedFor(){this.props.loadingContext.add()}},{key:"handleResourcesLoaded",value:function handleResourcesLoaded(){null===this.resources&&this.context.resources&&(this.props.loadingContext.remove(),this.handleResourcesLoaded=function(){})}},{key:"handleResourceFileToImport",value:(_handleResourceFileToImport=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee26(resourceFile){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee26$(_context26){for(;;)switch(_context26.prev=_context26.next){case 0:return _context26.next=2,this.import(resourceFile);case 2:case"end":return _context26.stop()}}),_callee26,this)}))),function handleResourceFileToImport(_x11){return _handleResourceFileToImport.apply(this,arguments)})},{key:"handleResourceFileImportResult",value:(_handleResourceFileImportResult=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee27(result){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee27$(_context27){for(;;)switch(_context27.prev=_context27.next){case 0:return _context27.next=2,this.updateImportResult(result);case 2:case"end":return _context27.stop()}}),_callee27,this)}))),function handleResourceFileImportResult(_x12){return _handleResourceFileImportResult.apply(this,arguments)})},{key:"handleResourcesToExportChange",value:(_handleResourcesToExportChange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee28(_ref){var resourcesIds,foldersIds;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee28$(_context28){for(;;)switch(_context28.prev=_context28.next){case 0:return resourcesIds=_ref.resourcesIds,foldersIds=_ref.foldersIds,_context28.next=3,this.updateResourcesToExport({resourcesIds:resourcesIds,foldersIds:foldersIds});case 3:case"end":return _context28.stop()}}),_callee28,this)}))),function handleResourcesToExportChange(_x13){return _handleResourcesToExportChange.apply(this,arguments)})},{key:"onGoToResourceUriRequested",value:function onGoToResourceUriRequested(resource){var safeUri=Object(_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.a)(resource.uri,{whiteListedProtocols:resourceLinkAuthorizedProtocols,defaultProtocol:_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.HTTPS});safeUri&&window.open(safeUri,"_blank","noopener,noreferrer")}},{key:"populate",value:function populate(){this.context.siteSettings.canIUse("folders")&&this.context.port.request("passbolt.folders.update-local-storage"),this.context.port.request("passbolt.resources.update-local-storage"),this.context.port.request("passbolt.groups.update-local-storage"),this.context.port.request("passbolt.users.update-local-storage")}},{key:"search",value:(_search=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee29(filter){var _searchOperations,isRecentlyModifiedFilter,searchOperations;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee29$(_context29){for(;;)switch(_context29.prev=_context29.next){case 0:return isRecentlyModifiedFilter=filter.type===ResourceWorkspaceFilterTypes.RECENTLY_MODIFIED,_searchOperations={},_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.ROOT_FOLDER,this.searchByRootFolder.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.FOLDER,this.searchByFolder.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.TAG,this.searchByTag.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.GROUP,this.searchByGroup.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.TEXT,this.searchByText.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.ITEMS_I_OWN,this.searchByItemsIOwn.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.FAVORITE,this.searchByFavorite.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.SHARED_WITH_ME,this.seachBySharedWithMe.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.RECENTLY_MODIFIED,this.searchByRecentlyModified.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.ALL,this.searchAll.bind(this)),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_searchOperations,ResourceWorkspaceFilterTypes.NONE,(function(){})),searchOperations=_searchOperations,_context29.next=4,searchOperations[filter.type](filter);case 4:if(isRecentlyModifiedFilter){_context29.next=9;break}return _context29.next=7,this.sort();case 7:_context29.next=11;break;case 9:return _context29.next=11,this.resetSorter();case 11:case"end":return _context29.stop()}}),_callee29,this)}))),function search(_x14){return _search.apply(this,arguments)})},{key:"searchAll",value:(_searchAll=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee30(filter){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee30$(_context30){for(;;)switch(_context30.prev=_context30.next){case 0:return _context30.next=2,this.setState({filter:filter,filteredResources:this.resources});case 2:case"end":return _context30.stop()}}),_callee30,this)}))),function searchAll(_x15){return _searchAll.apply(this,arguments)})},{key:"searchByRootFolder",value:(_searchByRootFolder=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee31(filter){var folderResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee31$(_context31){for(;;)switch(_context31.prev=_context31.next){case 0:return folderResources=this.resources.filter((function(resource){return!resource.folder_parent_id})),_context31.next=3,this.setState({filter:filter,filteredResources:folderResources});case 3:case"end":return _context31.stop()}}),_callee31,this)}))),function searchByRootFolder(_x16){return _searchByRootFolder.apply(this,arguments)})},{key:"searchByFolder",value:(_searchByFolder=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee32(filter){var folderId,folderResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee32$(_context32){for(;;)switch(_context32.prev=_context32.next){case 0:return folderId=filter.payload.folder.id,folderResources=this.resources.filter((function(resource){return resource.folder_parent_id===folderId})),_context32.next=4,this.setState({filter:filter,filteredResources:folderResources});case 4:case"end":return _context32.stop()}}),_callee32,this)}))),function searchByFolder(_x17){return _searchByFolder.apply(this,arguments)})},{key:"searchByTag",value:(_searchByTag=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee33(filter){var tagId,tagResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee33$(_context33){for(;;)switch(_context33.prev=_context33.next){case 0:return tagId=filter.payload.tag.id,tagResources=this.resources.filter((function(resource){return resource.tags&&resource.tags.length>0&&resource.tags.filter((function(tag){return tag.id===tagId})).length>0})),_context33.next=4,this.setState({filter:filter,filteredResources:tagResources});case 4:case"end":return _context33.stop()}}),_callee33,this)}))),function searchByTag(_x18){return _searchByTag.apply(this,arguments)})},{key:"searchByText",value:(_searchByText=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee34(filter){var text,words,canUseTags,escapeWord,wordToRegex,matchWord,matchTagProperty,matchStringProperty,matchResource,matchText,filteredResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee34$(_context34){for(;;)switch(_context34.prev=_context34.next){case 0:return text=filter.payload,words=text&&text.split(/\s+/)||[""],canUseTags=this.context.siteSettings.canIUse("tags"),escapeWord=function escapeWord(word){return word.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},wordToRegex=function wordToRegex(word){return new RegExp(escapeWord(word),"i")},matchWord=function matchWord(word,value){return wordToRegex(word).test(value)},matchTagProperty=function matchTagProperty(word,resource){return resource.tags.some((function(tag){return matchWord(word,tag.slug)}))},matchStringProperty=function matchStringProperty(word,resource){return["name","username","uri","description"].some((function(key){return matchWord(word,resource[key])}))},matchResource=function matchResource(word,resource){return matchStringProperty(word,resource)||canUseTags&&matchTagProperty(word,resource)},matchText=function matchText(resource){return words.every((function(word){return matchResource(word,resource)}))},filteredResources=this.resources.filter(matchText),_context34.next=13,this.setState({filter:filter,filteredResources:filteredResources});case 13:case"end":return _context34.stop()}}),_callee34,this)}))),function searchByText(_x19){return _searchByText.apply(this,arguments)})},{key:"searchByGroup",value:(_searchByGroup=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee35(filter){var groupId,filters,resourcesFilteredByGroup,resourceIds,groupResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee35$(_context35){for(;;)switch(_context35.prev=_context35.next){case 0:return groupId=filter.payload.group.id,filters={"is-shared-with-group":groupId},this.props.loadingContext.add(),_context35.next=5,this.context.port.request("passbolt.resources.find-all",{filters:filters});case 5:if(_context35.t0=_context35.sent,_context35.t0){_context35.next=8;break}_context35.t0=[];case 8:return resourcesFilteredByGroup=_context35.t0,resourceIds=resourcesFilteredByGroup.map((function(resource){return resource.id})),groupResources=this.resources.filter((function(resource){return resourceIds.includes(resource.id)})),_context35.next=13,this.setState({filter:filter,filteredResources:groupResources,selectedResources:[]});case 13:this.props.loadingContext.remove();case 14:case"end":return _context35.stop()}}),_callee35,this)}))),function searchByGroup(_x20){return _searchByGroup.apply(this,arguments)})},{key:"searchByItemsIOwn",value:(_searchByItemsIOwn=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee36(filter){var filteredResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee36$(_context36){for(;;)switch(_context36.prev=_context36.next){case 0:return filteredResources=this.resources.filter((function(resource){return 15===resource.permission.type})),_context36.next=3,this.setState({filter:filter,filteredResources:filteredResources});case 3:case"end":return _context36.stop()}}),_callee36,this)}))),function searchByItemsIOwn(_x21){return _searchByItemsIOwn.apply(this,arguments)})},{key:"searchByFavorite",value:(_searchByFavorite=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee37(filter){var filteredResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee37$(_context37){for(;;)switch(_context37.prev=_context37.next){case 0:return filteredResources=this.resources.filter((function(resource){return null!==resource.favorite})),_context37.next=3,this.setState({filter:filter,filteredResources:filteredResources});case 3:case"end":return _context37.stop()}}),_callee37,this)}))),function searchByFavorite(_x22){return _searchByFavorite.apply(this,arguments)})},{key:"seachBySharedWithMe",value:(_seachBySharedWithMe=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee38(filter){var filteredResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee38$(_context38){for(;;)switch(_context38.prev=_context38.next){case 0:return filteredResources=this.resources.filter((function(resource){return resource.permission.type<15})),_context38.next=3,this.setState({filter:filter,filteredResources:filteredResources});case 3:case"end":return _context38.stop()}}),_callee38,this)}))),function seachBySharedWithMe(_x23){return _seachBySharedWithMe.apply(this,arguments)})},{key:"searchByRecentlyModified",value:(_searchByRecentlyModified=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee39(filter){var recentlyModifiedSorter,filteredResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee39$(_context39){for(;;)switch(_context39.prev=_context39.next){case 0:return recentlyModifiedSorter=function recentlyModifiedSorter(resource1,resource2){return luxon__WEBPACK_IMPORTED_MODULE_38__.DateTime.fromISO(resource2.modified)<luxon__WEBPACK_IMPORTED_MODULE_38__.DateTime.fromISO(resource1.modified)?-1:1},filteredResources=this.resources.sort(recentlyModifiedSorter),_context39.next=4,this.setState({filter:filter,filteredResources:filteredResources});case 4:case"end":return _context39.stop()}}),_callee39,this)}))),function searchByRecentlyModified(_x24){return _searchByRecentlyModified.apply(this,arguments)})},{key:"refreshSearchFilter",value:(_refreshSearchFilter=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee40(){var updatedFolder,filter,_filter,_this2=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee40$(_context40){for(;;)switch(_context40.prev=_context40.next){case 0:if(this.state.filter.type!==ResourceWorkspaceFilterTypes.FOLDER){_context40.next=12;break}if(!this.folders.some((function(folder){return folder.id===_this2.state.filter.payload.folder.id}))){_context40.next=10;break}return updatedFolder=this.folders.find((function(folder){return folder.id===_this2.state.filter.payload.folder.id})),filter=Object.assign(this.state.filter,{payload:{folder:updatedFolder}}),_context40.next=8,this.setState({filter:filter});case 8:_context40.next=12;break;case 10:_filter={type:ResourceWorkspaceFilterTypes.ALL},this.props.history.push({pathname:"/app/passwords",state:{filter:_filter}});case 12:case"end":return _context40.stop()}}),_callee40,this)}))),function refreshSearchFilter(){return _refreshSearchFilter.apply(this,arguments)})},{key:"select",value:(_select=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee41(resource){var mustUnselect;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee41$(_context41){for(;;)switch(_context41.prev=_context41.next){case 0:return mustUnselect=1===this.state.selectedResources.length&&this.state.selectedResources[0].id===resource.id,_context41.next=3,this.setState({selectedResources:mustUnselect?[]:[resource]});case 3:case"end":return _context41.stop()}}),_callee41,this)}))),function select(_x25){return _select.apply(this,arguments)})},{key:"selectFromRoute",value:(_selectFromRoute=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee42(resource){var selectedResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee42$(_context42){for(;;)switch(_context42.prev=_context42.next){case 0:if(1===this.state.selectedResources.length&&this.state.selectedResources[0].id===resource.id){_context42.next=5;break}return selectedResources=[resource],_context42.next=5,this.setState({selectedResources:selectedResources});case 5:case"end":return _context42.stop()}}),_callee42,this)}))),function selectFromRoute(_x26){return _selectFromRoute.apply(this,arguments)})},{key:"selectMultiple",value:(_selectMultiple=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee43(resource){var hasNotSameId,selectionWithoutResource,mustUnselect,selectedResources;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee43$(_context43){for(;;)switch(_context43.prev=_context43.next){case 0:return hasNotSameId=function hasNotSameId(selectedResource){return selectedResource.id!==resource.id},selectionWithoutResource=this.state.selectedResources.filter(hasNotSameId),mustUnselect=this.state.selectedResources.length!==selectionWithoutResource.length,selectedResources=mustUnselect?selectionWithoutResource:[].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(this.state.selectedResources),[resource]),_context43.next=6,this.setState({selectedResources:selectedResources});case 6:case"end":return _context43.stop()}}),_callee43,this)}))),function selectMultiple(_x27){return _selectMultiple.apply(this,arguments)})},{key:"selectRange",value:(_selectRange=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee44(resource){var hasSameId,findIndex,startRangeIndex,endRangeIndex,selectedResources,_this3=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee44$(_context44){for(;;)switch(_context44.prev=_context44.next){case 0:if(0!==this.state.selectedResources.length){_context44.next=6;break}return _context44.next=4,this.select(resource);case 4:_context44.next=13;break;case 6:return hasSameId=function hasSameId(resource){return function(selectedResource){return selectedResource.id===resource.id}},startRangeIndex=(findIndex=function findIndex(resource){return _this3.state.filteredResources.findIndex(hasSameId(resource))})(this.state.selectedResources[0]),endRangeIndex=findIndex(resource),selectedResources=startRangeIndex>endRangeIndex?this.state.filteredResources.slice(endRangeIndex,startRangeIndex+1).reverse():this.state.filteredResources.slice(startRangeIndex,endRangeIndex+1),_context44.next=13,this.setState({selectedResources:selectedResources});case 13:case"end":return _context44.stop()}}),_callee44,this)}))),function selectRange(_x28){return _selectRange.apply(this,arguments)})},{key:"selectAll",value:(_selectAll=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee45(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee45$(_context45){for(;;)switch(_context45.prev=_context45.next){case 0:return _context45.next=2,this.setState({selectedResources:_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(this.state.filteredResources)});case 2:case"end":return _context45.stop()}}),_callee45,this)}))),function selectAll(){return _selectAll.apply(this,arguments)})},{key:"unselectAll",value:(_unselectAll=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee46(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee46$(_context46){for(;;)switch(_context46.prev=_context46.next){case 0:if(0===this.state.selectedResources.length){_context46.next=4;break}return _context46.next=4,this.setState({selectedResources:[]});case 4:case"end":return _context46.stop()}}),_callee46,this)}))),function unselectAll(){return _unselectAll.apply(this,arguments)})},{key:"unselectUnknownResources",value:(_unselectUnknownResources=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee47(){var matchId,matchSelectedResource,selectedResources,_this4=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee47$(_context47){for(;;)switch(_context47.prev=_context47.next){case 0:return matchId=function matchId(selectedResource){return function(resource){return resource.id===selectedResource.id}},matchSelectedResource=function matchSelectedResource(selectedResource){return _this4.state.selectedResources.some(matchId(selectedResource))},selectedResources=this.resources.filter(matchSelectedResource),_context47.next=5,this.setState({selectedResources:selectedResources});case 5:case"end":return _context47.stop()}}),_callee47,this)}))),function unselectUnknownResources(){return _unselectUnknownResources.apply(this,arguments)})},{key:"redirectAfterSelection",value:function redirectAfterSelection(){var canUseFolders=this.context.siteSettings.canIUse("folders");if(null!==this.resources&&(!canUseFolders||null!==this.folders))if(1===this.state.selectedResources.length){this.props.location.pathname!=="/app/passwords/view/".concat(this.state.selectedResources[0].id)&&this.props.history.push("/app/passwords/view/".concat(this.state.selectedResources[0].id))}else{var filter=this.state.filter;if(filter.type===ResourceWorkspaceFilterTypes.FOLDER)this.props.location.pathname!=="/app/folders/view/".concat(this.state.filter.payload.folder.id)&&this.props.history.push({pathname:"/app/folders/view/".concat(this.state.filter.payload.folder.id)});else"/app/passwords"!==this.props.location.pathname&&this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}}},{key:"updateSorter",value:(_updateSorter=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee48(propertyName){var hasSortPropertyChanged,asc,sorter;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee48$(_context48){for(;;)switch(_context48.prev=_context48.next){case 0:return hasSortPropertyChanged=this.state.sorter.propertyName!==propertyName,asc=hasSortPropertyChanged||!this.state.sorter.asc,sorter={propertyName:propertyName,asc:asc},_context48.next=5,this.setState({sorter:sorter});case 5:case"end":return _context48.stop()}}),_callee48,this)}))),function updateSorter(_x29){return _updateSorter.apply(this,arguments)})},{key:"resetSorter",value:(_resetSorter=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee49(){var sorter;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee49$(_context49){for(;;)switch(_context49.prev=_context49.next){case 0:sorter={propertyName:"modified",asc:!1},this.setState({sorter:sorter});case 2:case"end":return _context49.stop()}}),_callee49,this)}))),function resetSorter(){return _resetSorter.apply(this,arguments)})},{key:"sort",value:(_sort=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee50(){var reverseSorter,baseSorter,keySorter,stringSorter,booleanSorter,sorter,propertySorter,_this5=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee50$(_context50){for(;;)switch(_context50.prev=_context50.next){case 0:if(reverseSorter=function reverseSorter(sorter){return function(s1,s2){return-sorter(s1,s2)}},baseSorter=function baseSorter(sorter){return _this5.state.sorter.asc?sorter:reverseSorter(sorter)},keySorter=function keySorter(key,sorter){return baseSorter((function(s1,s2){return sorter(s1[key],s2[key])}))},stringSorter=function stringSorter(s1,s2){return s1.localeCompare(s2)},booleanSorter=function booleanSorter(s1,s2){return s1===s2?0:s1?-1:1},sorter="favorite"===this.state.sorter.propertyName?booleanSorter:stringSorter,propertySorter=keySorter(this.state.sorter.propertyName,sorter),null===this.state.filteredResources){_context50.next=10;break}return _context50.next=10,this.setState({filteredResources:_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(this.state.filteredResources.sort(propertySorter))});case 10:case"end":return _context50.stop()}}),_callee50,this)}))),function sort(){return _sort.apply(this,arguments)})},{key:"detailFolder",value:(_detailFolder=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee51(folder){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee51$(_context51){for(;;)switch(_context51.prev=_context51.next){case 0:return _context51.next=2,this.setState({details:{folder:folder,resource:null}});case 2:case"end":return _context51.stop()}}),_callee51,this)}))),function detailFolder(_x30){return _detailFolder.apply(this,arguments)})},{key:"detailResource",value:(_detailResource=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee52(resource){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee52$(_context52){for(;;)switch(_context52.prev=_context52.next){case 0:return _context52.next=2,this.setState({details:{folder:null,resource:resource}});case 2:case"end":return _context52.stop()}}),_callee52,this)}))),function detailResource(_x31){return _detailResource.apply(this,arguments)})},{key:"detailNothing",value:(_detailNothing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee53(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee53$(_context53){for(;;)switch(_context53.prev=_context53.next){case 0:if(!this.state.details.resource&&!this.state.details.folder){_context53.next=4;break}return _context53.next=4,this.setState({details:{folder:null,resource:null}});case 4:case"end":return _context53.stop()}}),_callee53,this)}))),function detailNothing(){return _detailNothing.apply(this,arguments)})},{key:"detailsResourceIfSingleSelection",value:(_detailsResourceIfSingleSelection=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee54(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee54$(_context54){for(;;)switch(_context54.prev=_context54.next){case 0:if(1!=this.state.selectedResources.length){_context54.next=6;break}return _context54.next=4,this.detailResource(this.state.selectedResources[0]);case 4:_context54.next=8;break;case 6:return _context54.next=8,this.detailNothing();case 8:case"end":return _context54.stop()}}),_callee54,this)}))),function detailsResourceIfSingleSelection(){return _detailsResourceIfSingleSelection.apply(this,arguments)})},{key:"updateDetails",value:(_updateDetails=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee55(){var updatedResourceDetails,updatedFolderDetails,_this6=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee55$(_context55){for(;;)switch(_context55.prev=_context55.next){case 0:if(!this.state.details.resource&&!this.state.details.folder){_context55.next=12;break}if(!this.state.details.resource){_context55.next=9;break}return updatedResourceDetails=this.resources.find((function(resource){return resource.id===_this6.state.details.resource.id})),_context55.next=7,this.setState({details:{resource:updatedResourceDetails}});case 7:_context55.next=12;break;case 9:return updatedFolderDetails=this.folders.find((function(folder){return folder.id===_this6.state.details.folder.id})),_context55.next=12,this.setState({details:{folder:updatedFolderDetails}});case 12:case"end":return _context55.stop()}}),_callee55,this)}))),function updateDetails(){return _updateDetails.apply(this,arguments)})},{key:"scrollTo",value:(_scrollTo=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee56(resource){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee56$(_context56){for(;;)switch(_context56.prev=_context56.next){case 0:return _context56.next=2,this.setState({scrollTo:{resource:resource}});case 2:case"end":return _context56.stop()}}),_callee56,this)}))),function scrollTo(_x32){return _scrollTo.apply(this,arguments)})},{key:"scrollNothing",value:(_scrollNothing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee57(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee57$(_context57){for(;;)switch(_context57.prev=_context57.next){case 0:return _context57.next=2,this.setState({scrollTo:{}});case 2:case"end":return _context57.stop()}}),_callee57,this)}))),function scrollNothing(){return _scrollNothing.apply(this,arguments)})},{key:"refreshSelectedResourceActivities",value:(_refreshSelectedResourceActivities=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee58(){var refresh;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee58$(_context58){for(;;)switch(_context58.prev=_context58.next){case 0:return refresh=Object.assign({},this.state.refresh,{activities:!0}),_context58.next=3,this.setState({refresh:refresh});case 3:case"end":return _context58.stop()}}),_callee58,this)}))),function refreshSelectedResourceActivities(){return _refreshSelectedResourceActivities.apply(this,arguments)})},{key:"setResourceActivitiesAsRefreshed",value:(_setResourceActivitiesAsRefreshed=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee59(){var refresh;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee59$(_context59){for(;;)switch(_context59.prev=_context59.next){case 0:return refresh=Object.assign({},this.state.refresh,{activities:!1}),_context59.next=3,this.setState({refresh:refresh});case 3:case"end":return _context59.stop()}}),_callee59,this)}))),function setResourceActivitiesAsRefreshed(){return _setResourceActivitiesAsRefreshed.apply(this,arguments)})},{key:"refreshSelectedResourcePermissions",value:(_refreshSelectedResourcePermissions=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee60(){var refresh;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee60$(_context60){for(;;)switch(_context60.prev=_context60.next){case 0:return refresh=Object.assign({},this.state.refresh,{permissions:!0}),_context60.next=3,this.setState({refresh:refresh});case 3:case"end":return _context60.stop()}}),_callee60,this)}))),function refreshSelectedResourcePermissions(){return _refreshSelectedResourcePermissions.apply(this,arguments)})},{key:"setResourcesPermissionsAsRefreshed",value:(_setResourcesPermissionsAsRefreshed=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee61(){var refresh;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee61$(_context61){for(;;)switch(_context61.prev=_context61.next){case 0:return refresh=Object.assign({},this.state.refresh,{permissions:!1}),_context61.next=3,this.setState({refresh:refresh});case 3:case"end":return _context61.stop()}}),_callee61,this)}))),function setResourcesPermissionsAsRefreshed(){return _setResourcesPermissionsAsRefreshed.apply(this,arguments)})},{key:"import",value:(_import2=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee62(resourceFile){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee62$(_context62){for(;;)switch(_context62.prev=_context62.next){case 0:return _context62.next=2,this.setState({resourceFileToImport:resourceFile});case 2:case"end":return _context62.stop()}}),_callee62,this)}))),function _import(_x33){return _import2.apply(this,arguments)})},{key:"updateImportResult",value:(_updateImportResult=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee63(result){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee63$(_context63){for(;;)switch(_context63.prev=_context63.next){case 0:return _context63.next=2,this.setState({resourceFileImportResult:result});case 2:case"end":return _context63.stop()}}),_callee63,this)}))),function updateImportResult(_x34){return _updateImportResult.apply(this,arguments)})},{key:"updateResourcesToExport",value:(_updateResourcesToExport=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.mark((function _callee64(_ref2){var resourcesIds,foldersIds;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_9___default.a.wrap((function _callee64$(_context64){for(;;)switch(_context64.prev=_context64.next){case 0:return resourcesIds=_ref2.resourcesIds,foldersIds=_ref2.foldersIds,_context64.next=3,this.setState({resourcesToExport:{resourcesIds:resourcesIds,foldersIds:foldersIds}});case 3:case"end":return _context64.stop()}}),_callee64,this)}))),function updateResourcesToExport(_x35){return _updateResourcesToExport.apply(this,arguments)})},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_39__.jsx)(ResourceWorkspaceContext.Provider,{value:this.state,children:this.props.children})}}]),ResourceWorkspaceContextProvider}(react__WEBPACK_IMPORTED_MODULE_31__.Component);ResourceWorkspaceContextProvider.displayName="ResourceWorkspaceContextProvider",ResourceWorkspaceContextProvider.contextType=_AppContext__WEBPACK_IMPORTED_MODULE_33__.a,ResourceWorkspaceContextProvider.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.any,location:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.object,match:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.object,history:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.object,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.object,loadingContext:prop_types__WEBPACK_IMPORTED_MODULE_32___default.a.object},ResourceWorkspaceContextProvider.__docgenInfo={description:"The related context provider",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"},{name:"initializeProperties",docblock:"Initialize class properties out of the state ( for performance purpose )",modifiers:[],params:[],returns:null,description:"Initialize class properties out of the state ( for performance purpose )"},{name:"handleFilterChange",docblock:"Handles the resource search filter change",modifiers:["async"],params:[{name:"previousFilter"}],returns:null,description:"Handles the resource search filter change"},{name:"handleTextFilterChange",docblock:"Handles the resource search text filter change\n@param text The filter text",modifiers:["async"],params:[{name:"text",description:"The filter text",type:null,optional:!1}],returns:null,description:"Handles the resource search text filter change"},{name:"handleFoldersChange",docblock:"Whenever the folders change",modifiers:["async"],params:[],returns:null,description:"Whenever the folders change"},{name:"handleResourcesChange",docblock:"Handle the resources changes",modifiers:["async"],params:[],returns:null,description:"Handle the resources changes"},{name:"handleRouteChange",docblock:"Handle the route location change\n@param previousLocation Previous router location",modifiers:["async"],params:[{name:"previousLocation",description:"Previous router location",type:null,optional:!1}],returns:null,description:"Handle the route location change"},{name:"handleFolderRouteChange",docblock:"Handle the folder view route change\nE.g. /folder/view.:filterByFolderId",modifiers:["async"],params:[],returns:null,description:"Handle the folder view route change\nE.g. /folder/view.:filterByFolderId"},{name:"handleResourceRouteChange",docblock:"Handle the resource view route change",modifiers:["async"],params:[],returns:null,description:"Handle the resource view route change"},{name:"handleSingleResourceRouteChange",docblock:"Handle the resource view route change with a resource id\nE.g. /passwords/view/:resourceId",modifiers:["async"],params:[{name:"resourceId"}],returns:null,description:"Handle the resource view route change with a resource id\nE.g. /passwords/view/:resourceId"},{name:"handleAllResourceRouteChange",docblock:"Handle the resource view route change without a resource id in the path\nE.g. /password",modifiers:["async"],params:[],returns:null,description:"Handle the resource view route change without a resource id in the path\nE.g. /password"},{name:"handleLockDetail",docblock:"Handle the lock detail to display it or not\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Handle the lock detail to display it or not"},{name:"handleUnknownResource",docblock:"Handle an unknown resource ( passe by route parameter resource identifier )",modifiers:[],params:[],returns:null,description:"Handle an unknown resource ( passe by route parameter resource identifier )"},{name:"handleUnknownFolder",docblock:"Handle an unknown folder (passed by route parameter folder identifier)",modifiers:[],params:[],returns:null,description:"Handle an unknown folder (passed by route parameter folder identifier)"},{name:"handleResourceScrolled",docblock:"Handle the scrolling of a resource",modifiers:["async"],params:[],returns:null,description:"Handle the scrolling of a resource"},{name:"handleResourceEdited",docblock:"Handle the edited resource",modifiers:["async"],params:[],returns:null,description:"Handle the edited resource"},{name:"handleResourceDescriptionEdited",docblock:"Handle the edited resource description",modifiers:["async"],params:[],returns:null,description:"Handle the edited resource description"},{name:"handleResourceDescriptionDecryted",docblock:"Handle the decrypted resource description",modifiers:["async"],params:[],returns:null,description:"Handle the decrypted resource description"},{name:"handleResourceShared",docblock:"Handle the shared resource",modifiers:["async"],params:[],returns:null,description:"Handle the shared resource"},{name:"handleResourcePermissionsRefreshed",docblock:"Handle the refresh of the resource permission",modifiers:["async"],params:[],returns:null,description:"Handle the refresh of the resource permission"},{name:"handleResourceCopied",docblock:"Handle the copied resource",modifiers:["async"],params:[],returns:null,description:"Handle the copied resource"},{name:"handleResourceActivitiesRefreshed",docblock:"Handle the refresh of the resource activitie\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Handle the refresh of the resource activitie"},{name:"handleSorterChange",docblock:"Handle the change of sorter ( on property or direction )\n@param propertyName The name of the property to sort on",modifiers:["async"],params:[{name:"propertyName",description:"The name of the property to sort on",type:null,optional:!1}],returns:null,description:"Handle the change of sorter ( on property or direction )"},{name:"handleAllResourcesSelected",docblock:"Handle the all resource selection",modifiers:["async"],params:[],returns:null,description:"Handle the all resource selection"},{name:"handleNoneResourcesSelected",docblock:"Handle the none resource selection",modifiers:["async"],params:[],returns:null,description:"Handle the none resource selection"},{name:"handleMultipleResourcesSelected",docblock:"Handle the resource selection in a multiple mode\n@param resource The selected resource",modifiers:["async"],params:[{name:"resource",description:"The selected resource",type:null,optional:!1}],returns:null,description:"Handle the resource selection in a multiple mode"},{name:"handleResourceRangeSelected",docblock:"Handle the resource selection in a range mode\n@param resource The selected resource",modifiers:["async"],params:[{name:"resource",description:"The selected resource",type:null,optional:!1}],returns:null,description:"Handle the resource selection in a range mode"},{name:"handleResourceSelected",docblock:"Handle the single resource selection\n@param resource The selected resource",modifiers:["async"],params:[{name:"resource",description:"The selected resource",type:null,optional:!1}],returns:null,description:"Handle the single resource selection"},{name:"handleToggleSidebar",docblock:"Handle the toggle sidebar to display it or not",modifiers:[],params:[],returns:null,description:"Handle the toggle sidebar to display it or not"},{name:"handleResourcesWaitedFor",docblock:"Handle the wait for the initial resources to be loaded",modifiers:[],params:[],returns:null,description:"Handle the wait for the initial resources to be loaded"},{name:"handleResourcesLoaded",docblock:"Handle the intial loading of the resources",modifiers:[],params:[],returns:null,description:"Handle the intial loading of the resources"},{name:"handleResourceFileToImport",docblock:"Handle the will to import a resource file",modifiers:["async"],params:[{name:"resourceFile"}],returns:null,description:"Handle the will to import a resource file"},{name:"handleResourceFileImportResult",docblock:"Handle the resource file import result\n@param The import result",modifiers:["async"],params:[{name:"result"}],returns:null,description:"Handle the resource file import result"},{name:"handleResourcesToExportChange",docblock:"Whenever the resources / folders to export change\n@param resourcesIds The resources ids to export\n@param foldersIds The folders ids to export",modifiers:["async"],params:[{name:"{resourcesIds, foldersIds}"}],returns:null,description:"Whenever the resources / folders to export change"},{name:"onGoToResourceUriRequested",docblock:"Whenever the users wants to follow a resource uri\n@param {object} resource The resource to follow the uri",modifiers:[],params:[{name:"resource",description:"The resource to follow the uri",type:{name:"object"},optional:!1}],returns:null,description:"Whenever the users wants to follow a resource uri"},{name:"populate",docblock:"Populate the context with initial data such as resources and folders",modifiers:[],params:[],returns:null,description:"Populate the context with initial data such as resources and folders"},{name:"search",docblock:"Search for the resources which matches the given filter and sort them\n@param filter",modifiers:["async"],params:[{name:"filter",description:null,type:null,optional:!1}],returns:null,description:"Search for the resources which matches the given filter and sort them"},{name:"searchAll",docblock:"All filter ( no filter at all )\n@param filter The All filter",modifiers:["async"],params:[{name:"filter",description:"The All filter",type:null,optional:!1}],returns:null,description:"All filter ( no filter at all )"},{name:"searchByRootFolder",docblock:"Filter the resources which belongs to the filter root folder",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which belongs to the filter root folder"},{name:"searchByFolder",docblock:"Filter the resources which belongs to the filter folder",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which belongs to the filter folder"},{name:"searchByTag",docblock:"Filter the resources which belongs to the filter tag",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which belongs to the filter tag"},{name:"searchByText",docblock:"Filter the resources which textual properties matched some user text words\n@param filter A textual filter",modifiers:["async"],params:[{name:"filter",description:"A textual filter",type:null,optional:!1}],returns:null,description:"Filter the resources which textual properties matched some user text words"},{name:"searchByGroup",docblock:"Filter the resources which belongs to the filter group",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which belongs to the filter group"},{name:"searchByItemsIOwn",docblock:"Search for current user personal resources\n@param filter The filter",modifiers:["async"],params:[{name:"filter",description:"The filter",type:null,optional:!1}],returns:null,description:"Search for current user personal resources"},{name:"searchByFavorite",docblock:"Filter the resources which are the current user favorites one",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which are the current user favorites one"},{name:"seachBySharedWithMe",docblock:"Filter the resources which are shared wit the current user",modifiers:["async"],params:[{name:"filter"}],returns:null,description:"Filter the resources which are shared wit the current user"},{name:"searchByRecentlyModified",docblock:"Keep the most recently modified resources ( current state: just sort everything with the most recent modified resource )\n@param filter A recently modified filter",modifiers:["async"],params:[{name:"filter",description:"A recently modified filter",type:null,optional:!1}],returns:null,description:"Keep the most recently modified resources ( current state: just sort everything with the most recent modified resource )"},{name:"refreshSearchFilter",docblock:"Refresh the filter in case of its payload is outdated due to the updated list of resources",modifiers:["async"],params:[],returns:null,description:"Refresh the filter in case of its payload is outdated due to the updated list of resources"},{name:"select",docblock:"Select the given resource as the single selected resources if not already selected as single. Otherwise unselect it\n@param resource The resource to select",modifiers:["async"],params:[{name:"resource",description:"The resource to select",type:null,optional:!1}],returns:null,description:"Select the given resource as the single selected resources if not already selected as single. Otherwise unselect it"},{name:"selectFromRoute",docblock:"Selects the given resource when one comes from the navigation route\n@param resource\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resource",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Selects the given resource when one comes from the navigation route"},{name:"selectMultiple",docblock:"Select the given resource in a multiple selection mode\n@param resource\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resource",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Select the given resource in a multiple selection mode"},{name:"selectRange",docblock:"Select the given resource in a range selection mode\n@param resource\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resource",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Select the given resource in a range selection mode"},{name:"selectAll",docblock:"Select all the resources",modifiers:["async"],params:[],returns:null,description:"Select all the resources"},{name:"unselectAll",docblock:"Unselect all the resources",modifiers:["async"],params:[],returns:null,description:"Unselect all the resources"},{name:"unselectUnknownResources",docblock:"Remove from the selected resources those which are not known resources in regard of the current resources list",modifiers:["async"],params:[],returns:null,description:"Remove from the selected resources those which are not known resources in regard of the current resources list"},{name:"redirectAfterSelection",docblock:"Navigate to the appropriate url after some resources selection operation",modifiers:[],params:[],returns:null,description:"Navigate to the appropriate url after some resources selection operation"},{name:"updateSorter",docblock:"Update the resourcces sorter given a property name\n@param propertyName",modifiers:["async"],params:[{name:"propertyName",description:null,type:null,optional:!1}],returns:null,description:"Update the resourcces sorter given a property name"},{name:"resetSorter",docblock:"Reset the user sorter",modifiers:["async"],params:[],returns:null,description:"Reset the user sorter"},{name:"sort",docblock:"Sort the resources given the current sorter",modifiers:["async"],params:[],returns:null,description:"Sort the resources given the current sorter"},{name:"detailFolder",docblock:"Set the details focus on the given folder\n@param folder The folder to focus on",modifiers:["async"],params:[{name:"folder",description:"The folder to focus on",type:null,optional:!1}],returns:null,description:"Set the details focus on the given folder"},{name:"detailResource",docblock:"Set the details focus on the given resource\n@param resource The resource to focus on",modifiers:["async"],params:[{name:"resource",description:"The resource to focus on",type:null,optional:!1}],returns:null,description:"Set the details focus on the given resource"},{name:"detailNothing",docblock:"Remove the details on something",modifiers:["async"],params:[],returns:null,description:"Remove the details on something"},{name:"detailsResourceIfSingleSelection",docblock:"Set the details focus on the selected resource if it's the only one selected\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Set the details focus on the selected resource if it's the only one selected"},{name:"updateDetails",docblock:"Update the current details with the current list of resources or folders",modifiers:["async"],params:[],returns:null,description:"Update the current details with the current list of resources or folders"},{name:"scrollTo",docblock:"Set the resource to scroll to\n@param resource A resource",modifiers:["async"],params:[{name:"resource",description:"A resource",type:null,optional:!1}],returns:null,description:"Set the resource to scroll to"},{name:"scrollNothing",docblock:"Unset the resource to scroll to",modifiers:["async"],params:[],returns:null,description:"Unset the resource to scroll to"},{name:"refreshSelectedResourceActivities",docblock:"Refresh the activities of the current selected resource",modifiers:["async"],params:[],returns:null,description:"Refresh the activities of the current selected resource"},{name:"setResourceActivitiesAsRefreshed",docblock:"Set the resources activitie as refreshed",modifiers:["async"],params:[],returns:null,description:"Set the resources activitie as refreshed"},{name:"refreshSelectedResourcePermissions",docblock:"Refresh the permissions of the current selected resources",modifiers:["async"],params:[],returns:null,description:"Refresh the permissions of the current selected resources"},{name:"setResourcesPermissionsAsRefreshed",docblock:"Set the resources permissions as refreshed",modifiers:["async"],params:[],returns:null,description:"Set the resources permissions as refreshed"},{name:"import",docblock:"Import the given resource file\n@param resourceFile A resource file to import",modifiers:["async"],params:[{name:"resourceFile",description:"A resource file to import",type:null,optional:!1}],returns:null,description:"Import the given resource file"},{name:"updateImportResult",docblock:"Update the resource file import result\n@param The import result",modifiers:["async"],params:[{name:"result"}],returns:null,description:"Update the resource file import result"},{name:"updateResourcesToExport",docblock:"Update the resources / folders to export\n@param resourcesIds The resources ids to export\n@param foldersIds The folders ids to export",modifiers:["async"],params:[{name:"{resourcesIds, foldersIds}"}],returns:null,description:"Update the resources / folders to export"}],displayName:"ResourceWorkspaceContextProvider",props:{children:{type:{name:"any"},required:!1,description:""},location:{type:{name:"object"},required:!1,description:""},match:{type:{name:"object"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""},actionFeedbackContext:{type:{name:"object"},required:!1,description:""},loadingContext:{type:{name:"object"},required:!1,description:""}}};Object(_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_36__.a)(Object(_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_35__.a)(Object(react_router_dom__WEBPACK_IMPORTED_MODULE_34__.c)(ResourceWorkspaceContextProvider)));function withResourceWorkspace(WrappedComponent){return function(_React$Component2){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(WithResourceWorkspace,_React$Component2);var _super2=_createSuper(WithResourceWorkspace);function WithResourceWorkspace(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default()(this,WithResourceWorkspace),_super2.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default()(WithResourceWorkspace,[{key:"render",value:function render(){var _this7=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_39__.jsx)(ResourceWorkspaceContext.Consumer,{children:function children(ResourceWorkspaceContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_39__.jsx)(WrappedComponent,Object.assign({resourceWorkspaceContext:ResourceWorkspaceContext},_this7.props))}})}}]),WithResourceWorkspace}(react__WEBPACK_IMPORTED_MODULE_31__.Component)}var ResourceWorkspaceFilterTypes={NONE:"NONE",ALL:"ALL",FOLDER:"FILTER-BY-FOLDER",ROOT_FOLDER:"FILTER-BY-ROOT-FOLDER",TAG:"FILTER-BY-TAG",GROUP:"FILTER-BY-GROUP",TEXT:"FILTER-BY-TEXT-SEARCH",ITEMS_I_OWN:"FILTER-BY-ITEMS-I-OWN",FAVORITE:"FILTER-BY-FAVORITE",SHARED_WITH_ME:"FILTER-BY-SHARED-WITH-ME",RECENTLY_MODIFIED:"FILTER-BY-RECENTLY-MODIFIERD"},resourceLinkAuthorizedProtocols=[_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.FTP,_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.FTPS,_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.HTTPS,_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.HTTP,_react_lib_Common_Sanitize_sanitizeUrl__WEBPACK_IMPORTED_MODULE_37__.b.SSH];"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/contexts/ResourceWorkspaceContext.js"]={name:"ResourceWorkspaceContextProvider",docgenInfo:ResourceWorkspaceContextProvider.__docgenInfo,path:"src/react-extension/contexts/ResourceWorkspaceContext.js"})},114:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return withLoading}));__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(12),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var LoadingContext=react__WEBPACK_IMPORTED_MODULE_7___default.a.createContext({counter:[],add:function add(){},remove:function remove(){}}),LoadingContextProvider=function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(LoadingContextProvider,_React$Component);var _super=_createSuper(LoadingContextProvider);function LoadingContextProvider(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,LoadingContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(LoadingContextProvider,[{key:"defaultState",get:function get(){var _this2=this;return{counter:0,add:function add(){_this2.setState({counter:_this2.state.counter+1})},remove:function remove(){_this2.setState({counter:Math.min(_this2.state.counter-1,0)})}}}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(LoadingContext.Provider,{value:this.state,children:this.props.children})}}]),LoadingContextProvider}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component);function withLoading(WrappedComponent){return function(_React$Component2){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(WithLoading,_React$Component2);var _super2=_createSuper(WithLoading);function WithLoading(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,WithLoading),_super2.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(WithLoading,[{key:"render",value:function render(){var _this3=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(LoadingContext.Consumer,{children:function children(loadingContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(WrappedComponent,Object.assign({loadingContext:loadingContext},_this3.props))}})}}]),WithLoading}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component)}LoadingContextProvider.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.any},LoadingContextProvider.__docgenInfo={description:"The related context provider",methods:[{name:"defaultState",docblock:"The component default state",modifiers:["get"],params:[],returns:null,description:"The component default state"}],displayName:"LoadingContextProvider",props:{children:{type:{name:"any"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/contexts/Common/LoadingContext.js"]={name:"LoadingContextProvider",docgenInfo:LoadingContextProvider.__docgenInfo,path:"src/react/contexts/Common/LoadingContext.js"})},115:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return UserSettings}));var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__),UserSettings=(__webpack_require__(21),function(){function UserSettings(settings){_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this,UserSettings),this.settings=settings}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(UserSettings,[{key:"fullName",get:function get(){return"".concat(this.settings["user.firstname"]," ").concat(this.settings["user.lastname"])}},{key:"username",get:function get(){return this.settings["user.username"]}},{key:"getTheme",value:function getTheme(){return this.settings["user.settings.theme"]}},{key:"getTrustedDomain",value:function getTrustedDomain(){return this.settings["user.settings.trustedDomain"]}},{key:"getSecurityTokenBackgroundColor",value:function getSecurityTokenBackgroundColor(){return this.settings["user.settings.securityToken.color"]}},{key:"getSecurityTokenTextColor",value:function getSecurityTokenTextColor(){return this.settings["user.settings.securityToken.textColor"]}},{key:"getSecurityTokenCode",value:function getSecurityTokenCode(){return this.settings["user.settings.securityToken.code"]}}]),UserSettings}())},116:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_exports__.a={"user.settings.trustedDomain":"http://localhost:3001","user.firstname":"Ada","user.id":"f848277c-5398-58f8-a82a-72397af2d450","user.lastname":"Lovelace","user.settings.securityToken.code":"TST","user.settings.securityToken.color":"#000000","user.settings.securityToken.textColor":"#FFFFFF","user.username":"ada@passbolt.com"}},118:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_Icons_Icon__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(17),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var Tooltip=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Tooltip,_Component);var _super=_createSuper(Tooltip);function Tooltip(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,Tooltip),_super.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Tooltip,[{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span",{className:"tooltip tooltip-right","data-tooltip":this.props.message,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_Icons_Icon__WEBPACK_IMPORTED_MODULE_8__.a,{name:this.props.icon})})}}]),Tooltip}(react__WEBPACK_IMPORTED_MODULE_6__.Component);Tooltip.defaultProps={icon:"warning"},Tooltip.propTypes={icon:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,message:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string},Tooltip.__docgenInfo={description:"",methods:[],displayName:"Tooltip",props:{icon:{defaultValue:{value:"'warning'",computed:!1},type:{name:"string"},required:!1,description:""},message:{type:{name:"string"},required:!1,description:""}}},__webpack_exports__.a=Tooltip,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Tooltip/Tooltip.js"]={name:"Tooltip",docgenInfo:Tooltip.__docgenInfo,path:"src/react/components/Common/Tooltip/Tooltip.js"})},1289:function(module,exports,__webpack_require__){"use strict";__webpack_require__(28),__webpack_require__(16),__webpack_require__(44),__webpack_require__(1290),__webpack_require__(67),__webpack_require__(68),__webpack_require__(1291),__webpack_require__(56),__webpack_require__(70);var _clientApi=__webpack_require__(95),_clientLogger=__webpack_require__(64),_configFilename=__webpack_require__(1292);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach((function(key){_defineProperty(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}(_configFilename.args||_configFilename.argTypes)&&_clientLogger.logger.warn("Invalid args/argTypes in config, ignoring.",JSON.stringify({args:_configFilename.args,argTypes:_configFilename.argTypes})),_configFilename.decorators&&_configFilename.decorators.forEach((function(decorator){return(0,_clientApi.addDecorator)(decorator,!1)})),_configFilename.loaders&&_configFilename.loaders.forEach((function(loader){return(0,_clientApi.addLoader)(loader,!1)})),(_configFilename.parameters||_configFilename.globals||_configFilename.globalTypes)&&(0,_clientApi.addParameters)(_objectSpread(_objectSpread({},_configFilename.parameters),{},{globals:_configFilename.globals,globalTypes:_configFilename.globalTypes}),!1),_configFilename.argTypesEnhancers&&_configFilename.argTypesEnhancers.forEach((function(enhancer){return(0,_clientApi.addArgTypesEnhancer)(enhancer)}))},129:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return withContextualMenu}));__webpack_require__(19);var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(46),_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__),react__WEBPACK_IMPORTED_MODULE_10__=(__webpack_require__(21),__webpack_require__(44),__webpack_require__(12),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__),prop_types__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this,result)}}var ContextualMenuContext=react__WEBPACK_IMPORTED_MODULE_10___default.a.createContext({ContextualMenu:null,show:function show(){},hide:function hide(){}}),ContextualMenuContextProvider=function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ContextualMenuContextProvider,_React$Component);var _super=_createSuper(ContextualMenuContextProvider);function ContextualMenuContextProvider(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this,ContextualMenuContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(ContextualMenuContextProvider,[{key:"defaultState",get:function get(){var _this2=this;return{contextualMenus:[],show:function show(ContextualMenuComponent,componentProps){return _this2.setState({contextualMenus:[].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(_this2.state.contextualMenus),[{ContextualMenuComponent:ContextualMenuComponent,componentProps:componentProps}])})},hide:function hide(index){return _this2.setState({contextualMenus:_this2.state.contextualMenus.filter((function(_,contextualMenuIndex){return contextualMenuIndex!==index}))})}}}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(ContextualMenuContext.Provider,{value:this.state,children:this.props.children})}}]),ContextualMenuContextProvider}(react__WEBPACK_IMPORTED_MODULE_10___default.a.Component);function withContextualMenu(WrappedComponent){return function(_React$Component2){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(WithContextualMenu,_React$Component2);var _super2=_createSuper(WithContextualMenu);function WithContextualMenu(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this,WithContextualMenu),_super2.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(WithContextualMenu,[{key:"render",value:function render(){var _this3=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(ContextualMenuContext.Consumer,{children:function children(contextualMenuContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(WrappedComponent,Object.assign({contextualMenuContext:contextualMenuContext},_this3.props))}})}}]),WithContextualMenu}(react__WEBPACK_IMPORTED_MODULE_10___default.a.Component)}ContextualMenuContextProvider.displayName="ContextualMenuContextProvider",ContextualMenuContextProvider.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.any},ContextualMenuContextProvider.__docgenInfo={description:"The related context provider",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"}],displayName:"ContextualMenuContextProvider",props:{children:{type:{name:"any"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/contexts/Common/ContextualMenuContext.js"]={name:"ContextualMenuContextProvider",docgenInfo:ContextualMenuContextProvider.__docgenInfo,path:"src/react/contexts/Common/ContextualMenuContext.js"})},1292:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"parameters",(function(){return parameters}));__webpack_require__(1293);var parameters={actions:{argTypesRegex:"^on[A-Z].*"}}},1293:function(module,exports,__webpack_require__){var api=__webpack_require__(612),content=__webpack_require__(1294);"string"==typeof(content=content.__esModule?content.default:content)&&(content=[[module.i,content,""]]);var options={insert:"head",singleton:!1};api(content,options);module.exports=content.locals||{}},1294:function(module,exports,__webpack_require__){var ___CSS_LOADER_API_IMPORT___=__webpack_require__(613),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__(614),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__(615),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__(616),___CSS_LOADER_URL_IMPORT_2___=__webpack_require__(617),___CSS_LOADER_URL_IMPORT_3___=__webpack_require__(618),___CSS_LOADER_URL_IMPORT_4___=__webpack_require__(619),___CSS_LOADER_URL_IMPORT_5___=__webpack_require__(620),___CSS_LOADER_URL_IMPORT_6___=__webpack_require__(621),___CSS_LOADER_URL_IMPORT_7___=__webpack_require__(622),___CSS_LOADER_URL_IMPORT_8___=__webpack_require__(1295),___CSS_LOADER_URL_IMPORT_9___=__webpack_require__(623),___CSS_LOADER_URL_IMPORT_10___=__webpack_require__(624),___CSS_LOADER_URL_IMPORT_11___=__webpack_require__(625),___CSS_LOADER_URL_IMPORT_12___=__webpack_require__(1296),___CSS_LOADER_URL_IMPORT_13___=__webpack_require__(1297),___CSS_LOADER_URL_IMPORT_14___=__webpack_require__(626),___CSS_LOADER_URL_IMPORT_15___=__webpack_require__(627);exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___),___CSS_LOADER_URL_REPLACEMENT_2___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___),___CSS_LOADER_URL_REPLACEMENT_3___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___,{hash:"?#iefix&v=4.7.0"}),___CSS_LOADER_URL_REPLACEMENT_4___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___),___CSS_LOADER_URL_REPLACEMENT_5___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___),___CSS_LOADER_URL_REPLACEMENT_6___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___),___CSS_LOADER_URL_REPLACEMENT_7___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___,{hash:"#fontawesomeregular"}),___CSS_LOADER_URL_REPLACEMENT_8___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___),___CSS_LOADER_URL_REPLACEMENT_9___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___),___CSS_LOADER_URL_REPLACEMENT_10___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___),___CSS_LOADER_URL_REPLACEMENT_11___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___),___CSS_LOADER_URL_REPLACEMENT_12___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___),___CSS_LOADER_URL_REPLACEMENT_13___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___),___CSS_LOADER_URL_REPLACEMENT_14___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___),___CSS_LOADER_URL_REPLACEMENT_15___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);exports.push([module.i,'/* palette */\n/* borders */\n/* font */\n/* background */\n/* buttons */\n/* box shadows */\n/* dropdown menus */\n/* inputs */\n/* logo */\n/* grid */\n/* messages */\n/* sidebar */\n/* secret placeholder */\n/* tables */\n/* tabs */\n/* tags */\n/* tooltip */\n/* loading animation */\n/* svg fill */\n/* favorite icon fill */\n/* ==========================================================================\n * Reset is a mix of :\n *\n * Meyer Reset v2.0 | Public Domain\n * http://meyerweb.com/eric/tools/css/reset/\n * \n * normalize.css v1.1.2 | MIT License \n * https://github.com/necolas/normalize.css\n *\n * ========================================================================== */\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nfont,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n font-size: 100%;\n vertical-align: baseline;\n background: transparent;\n}\nbody {\n line-height: 1;\n}\n/* remember to define focus styles! */\n:focus {\n outline: 0;\n}\n/* remember to highlight inserts somehow! */\nins {\n text-decoration: none;\n}\ndel {\n text-decoration: line-through;\n}\n/* ==========================================================================\n HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n/**\n * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.\n */\naudio,\ncanvas,\nvideo {\n display: inline-block;\n *display: inline;\n *zoom: 1;\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n/**\n * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.\n * Known issue: no IE 6 support.\n */\n[hidden] {\n display: none;\n}\n/* ==========================================================================\n Base\n ========================================================================== */\n/**\n * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using\n *\t`em` units.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *\tuser zoom.\n */\nhtml {\n font-size: 100%;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n/**\n * Address `font-family` inconsistency between `textarea` and other form\n * elements.\n */\nhtml,\nbutton,\ninput,\nselect,\ntextarea {\n font-family: "Open Sans", Verdana, sans-serif;\n}\n/* ==========================================================================\n Links\n ========================================================================== */\n/* links */\na {\n outline: 0;\n text-decoration: none;\n cursor: pointer;\n}\na:hover {\n text-decoration: none;\n cursor: pointer;\n}\n/* ==========================================================================\n Typography\n ========================================================================== */\n/**\n * Address font sizes and margins set differently in IE 6/7.\n * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,\n * and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nh2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n}\nh3 {\n font-size: 1.17em;\n margin: 1em 0;\n}\nh4 {\n font-size: 1em;\n margin: 1.33em 0;\n}\nh5 {\n font-size: 0.83em;\n margin: 1.67em 0;\n}\nh6 {\n font-size: 0.67em;\n margin: 2.33em 0;\n}\n/**\n * Address styling not present in IE 7/8/9, Safari 5, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n/**\n * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.\n */\nb,\nstrong {\n font-weight: bold;\n}\n/**\n * Quotes\n */\nblockquote,\nq {\n quotes: none;\n}\nblockquote:before,\nblockquote:after,\nq:before,\nq:after {\n content: \'\';\n content: none;\n}\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\ndfn {\n font-style: italic;\n}\n/**\n * Address differences between Firefox and other browsers.\n * Known issue: no IE 6/7 normalization.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n/**\n * Address margins set differently in IE 6/7.\n */\np,\npre {\n margin: 1em 0;\n}\n/**\n * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n _font-family: \'courier new\', monospace;\n font-size: 1em;\n}\n/**\n * Improve readability of pre-formatted text in all browsers.\n */\npre {\n white-space: pre;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n/**\n * Address CSS quotes not supported in IE 6/7.\n */\nq {\n quotes: none;\n}\n/**\n * Address `quotes` property not supported in Safari 4.\n */\nq:before,\nq:after {\n content: \'\';\n content: none;\n}\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\n/* ==========================================================================\n Lists\n ========================================================================== */\n/**\n * Correct list images handled incorrectly in IE 7. + reset\n */\nol,\nul,\nnav ul,\nnav ol {\n list-style: none;\n list-style-image: none;\n}\n/* ==========================================================================\n Embedded content\n ========================================================================== */\n/**\n * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.\n * 2. Improve image quality when scaled in IE 7.\n */\nimg {\n border: 0;\n /* 1 */\n -ms-interpolation-mode: bicubic;\n /* 2 */\n}\n/**\n * Correct overflow displayed oddly in IE 9.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n/* ==========================================================================\n Figures\n ========================================================================== */\n/**\n * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.\n */\nfigure {\n margin: 0;\n}\n/* ==========================================================================\n Forms\n ========================================================================== */\n/**\n * Correct margin displayed oddly in IE 6/7.\n */\nform {\n margin: 0;\n}\n/**\n * 1. Correct color not being inherited in IE 6/7/8/9.\n * 2. Correct text not wrapping in Firefox 3.\n * 3. Correct alignment displayed oddly in IE 6/7.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n white-space: normal;\n /* 2 */\n *margin-left: -7px;\n /* 3 */\n}\n/**\n * 1. Correct font size not being inherited in all browsers.\n * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,\n *\tand Chrome.\n * 3. Improve appearance and consistency in all browsers.\n */\nbutton,\ninput,\nselect,\ntextarea {\n font-size: 100%;\n /* 1 */\n margin: 0;\n /* 2 */\n vertical-align: baseline;\n /* 3 */\n *vertical-align: middle;\n /* 3 */\n}\n/**\n * Address Firefox 3+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\nbutton,\ninput {\n line-height: normal;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.\n * Correct `select` style inheritance in Firefox 4+ and Opera.\n */\nbutton,\nselect {\n text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *\tand `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *\t`input` and others.\n * 4. Remove inner spacing in IE 7 without affecting normal text inputs.\n *\tKnown issue: inner spacing remains in IE 6.\n */\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */\n *overflow: visible;\n /* 4 */\n}\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n pointer-events: none;\n}\n/**\n * 1. Address box sizing set to content-box in IE 8/9.\n * 2. Remove excess padding in IE 8/9.\n * 3. Remove excess padding in IE 7.\n *\tKnown issue: excess padding remains in IE 6.\n */\ninput[type="checkbox"],\ninput[type="radio"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n *height: 13px;\n /* 3 */\n *width: 13px;\n /* 3 */\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n *\t(include `-moz` to future-proof).\n */\ninput[type="search"] {\n -webkit-appearance: textfield;\n /* 1 */\n /* 2 */\n box-sizing: content-box;\n}\n/**\n * Remove inner padding and search cancel button in Safari 5 and Chrome\n * on OS X.\n */\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n/**\n * Remove inner padding and border in Firefox 3+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n/**\n * 1. Remove default vertical scrollbar in IE 6/7/8/9.\n * 2. Improve readability and alignment in all browsers.\n */\ntextarea {\n overflow: auto;\n /* 1 */\n vertical-align: top;\n /* 2 */\n}\n/* ==========================================================================\n Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n * tables still need \'cellspacing="0"\' in the markup\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntable th,\ntable td {\n text-align: left;\n font-weight: normal;\n}\n/* ==========================================================================\n *\tHelper classes\n * ========================================================================== */\n/*\n * Image replacement\n */\n.ir {\n background-color: transparent;\n border: 0;\n overflow: hidden;\n /* IE 6/7 fallback */\n *text-indent: -9999px;\n}\n.ir:before {\n content: "";\n display: block;\n width: 0;\n height: 150%;\n}\n/*\n * Hide from both screenreaders and browsers: h5bp.com/u\n */\nhtml body .hidden {\n display: none;\n}\n/*\n * Hide only visually, but have it available for screenreaders: h5bp.com/v\n */\n.visually-hidden,\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n}\n.visually-hidden .focusable:active,\n.visuallyhidden .focusable:active,\n.visually-hidden .focusable:focus,\n.visuallyhidden .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n/*\n * Hide visually and from screenreaders, but maintain layout\n */\n.invisible {\n visibility: hidden;\n}\n.clearfix {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.clearfix:before,\n.clearfix:after {\n content: "";\n display: table;\n}\n.clearfix:after {\n clear: both;\n}\n/*\n * Border radius\n */\n.rounded {\n border-radius: 0.214em;\n}\n/* position shortcuts */\n.left {\n float: left;\n}\n.right {\n float: right;\n}\n/* ellipsis */\n.ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n/* force display of a block inline */\n.inline {\n display: inline-block;\n}\n/* make something spin */\n@-webkit-keyframes rotate {\n from {\n -webkit-transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(-360deg);\n }\n}\n/* rotations */\n.rotate {\n -webkit-animation-name: rotate;\n -webkit-animation-duration: 4s;\n -webkit-animation-iteration-count: infinite;\n -webkit-animation-timing-function: linear;\n -moz-animation-name: rotate;\n -moz-animation-duration: 4s;\n -moz-animation-iteration-count: infinite;\n -moz-animation-timing-function: linear;\n}\n.rotate-right {\n transform: rotate(-90deg);\n}\n/* list */\n/* seriously? */\n.blink {\n -webkit-animation: blinker 1s linear infinite;\n animation: blinker 1s linear infinite;\n}\n.blink-fast {\n -webkit-animation: blinker 0.25s linear infinite;\n animation: blinker 0.25s linear infinite;\n}\n@-webkit-keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n@keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n/* box shadows */\n/* body */\nbody {\n color: #333;\n background: #FFF;\n}\nbody.iframe {\n background: transparent;\n}\n/* links */\na:link,\na:visited {\n color: #333;\n}\na:hover {\n color: #2894DF;\n}\na:active,\na:focus {\n outline: 0;\n color: #2894DF;\n border: 0;\n}\na {\n border-bottom: 1px solid #DDD;\n}\na:hover {\n border-bottom: 1px solid #2894DF;\n}\na.disabled {\n outline: 0;\n text-decoration: none;\n cursor: default;\n color: #888;\n pointer-events: none;\n}\nhtml {\n scroll-behavior: smooth;\n}\n.animated {\n -webkit-animation-duration: 0.5s;\n animation-duration: 0.5s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n/* fadeinup */\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@-webkit-keyframes fadeOutUp {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n}\n@keyframes fadeOutUp {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n}\n@-webkit-keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@-webkit-keyframes pop {\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n 55% {\n opacity: 1;\n transform: scale(1);\n }\n 65% {\n opacity: 1;\n transform: scale(1.25);\n }\n 75% {\n opacity: 1;\n transform: scale(1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes pop {\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n 55% {\n opacity: 1;\n transform: scale(1);\n }\n 65% {\n opacity: 1;\n transform: scale(1.25);\n }\n 75% {\n opacity: 1;\n transform: scale(1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n.pop {\n -webkit-animation-name: pop;\n animation-name: pop;\n}\n/*\n * Typography\n */\n/* opensans */\n@font-face {\n font-family: \'Open Sans\';\n font-style: normal;\n font-weight: 400;\n src: local(\'Open Sans\'), local(\'OpenSans\'), url('+___CSS_LOADER_URL_REPLACEMENT_0___+") format('woff');\n}\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-weight: 700;\n src: local('Open Sans Bold'), local('OpenSans-Bold'), url("+___CSS_LOADER_URL_REPLACEMENT_1___+") format('woff');\n}\nbody {\n font-family: 'Open Sans', Verdana, sans-serif;\n font-size: 100%;\n line-height: 1.42;\n font-weight: 400;\n}\n/* titles */\nh1 {\n font-size: 1.5em;\n /* 24px base 16 */\n}\nh2 {\n font-size: 1.25em;\n /* 20px base 16 */\n}\nh3 {\n font-size: 1.125em;\n /* 18px base 16 */\n display: block;\n padding-bottom: 0.333em;\n /* 6px */\n border-bottom: 1px dotted #DDD;\n}\n/* paragraph */\np {\n margin: 0 0 1em 0;\n line-height: 1.5em;\n}\n.code {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 0.688em;\n /* 11px base 16 */\n}\n.capitalize {\n text-transform: capitalize;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n * @licstart\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url("+___CSS_LOADER_URL_REPLACEMENT_2___+");\n src: url("+___CSS_LOADER_URL_REPLACEMENT_3___+") format('embedded-opentype'), url("+___CSS_LOADER_URL_REPLACEMENT_4___+") format('woff2'), url("+___CSS_LOADER_URL_REPLACEMENT_5___+") format('woff'), url("+___CSS_LOADER_URL_REPLACEMENT_6___+") format('truetype'), url("+___CSS_LOADER_URL_REPLACEMENT_7___+') format(\'svg\');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #EEE;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: "\\f000";\n}\n.fa-music:before {\n content: "\\f001";\n}\n.fa-search:before {\n content: "\\f002";\n}\n.fa-envelope-o:before {\n content: "\\f003";\n}\n.fa-heart:before {\n content: "\\f004";\n}\n.fa-star:before {\n content: "\\f005";\n}\n.fa-star-o:before {\n content: "\\f006";\n}\n.fa-user:before {\n content: "\\f007";\n}\n.fa-film:before {\n content: "\\f008";\n}\n.fa-th-large:before {\n content: "\\f009";\n}\n.fa-th:before {\n content: "\\f00a";\n}\n.fa-th-list:before {\n content: "\\f00b";\n}\n.fa-check:before {\n content: "\\f00c";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: "\\f00d";\n}\n.fa-search-plus:before {\n content: "\\f00e";\n}\n.fa-search-minus:before {\n content: "\\f010";\n}\n.fa-power-off:before {\n content: "\\f011";\n}\n.fa-signal:before {\n content: "\\f012";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: "\\f013";\n}\n.fa-trash-o:before {\n content: "\\f014";\n}\n.fa-home:before {\n content: "\\f015";\n}\n.fa-file-o:before {\n content: "\\f016";\n}\n.fa-clock-o:before {\n content: "\\f017";\n}\n.fa-road:before {\n content: "\\f018";\n}\n.fa-download:before {\n content: "\\f019";\n}\n.fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.fa-inbox:before {\n content: "\\f01c";\n}\n.fa-play-circle-o:before {\n content: "\\f01d";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: "\\f01e";\n}\n.fa-refresh:before {\n content: "\\f021";\n}\n.fa-list-alt:before {\n content: "\\f022";\n}\n.fa-lock:before {\n content: "\\f023";\n}\n.fa-flag:before {\n content: "\\f024";\n}\n.fa-headphones:before {\n content: "\\f025";\n}\n.fa-volume-off:before {\n content: "\\f026";\n}\n.fa-volume-down:before {\n content: "\\f027";\n}\n.fa-volume-up:before {\n content: "\\f028";\n}\n.fa-qrcode:before {\n content: "\\f029";\n}\n.fa-barcode:before {\n content: "\\f02a";\n}\n.fa-tag:before {\n content: "\\f02b";\n}\n.fa-tags:before {\n content: "\\f02c";\n}\n.fa-book:before {\n content: "\\f02d";\n}\n.fa-bookmark:before {\n content: "\\f02e";\n}\n.fa-print:before {\n content: "\\f02f";\n}\n.fa-camera:before {\n content: "\\f030";\n}\n.fa-font:before {\n content: "\\f031";\n}\n.fa-bold:before {\n content: "\\f032";\n}\n.fa-italic:before {\n content: "\\f033";\n}\n.fa-text-height:before {\n content: "\\f034";\n}\n.fa-text-width:before {\n content: "\\f035";\n}\n.fa-align-left:before {\n content: "\\f036";\n}\n.fa-align-center:before {\n content: "\\f037";\n}\n.fa-align-right:before {\n content: "\\f038";\n}\n.fa-align-justify:before {\n content: "\\f039";\n}\n.fa-list:before {\n content: "\\f03a";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: "\\f03b";\n}\n.fa-indent:before {\n content: "\\f03c";\n}\n.fa-video-camera:before {\n content: "\\f03d";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: "\\f03e";\n}\n.fa-pencil:before {\n content: "\\f040";\n}\n.fa-map-marker:before {\n content: "\\f041";\n}\n.fa-adjust:before {\n content: "\\f042";\n}\n.fa-tint:before {\n content: "\\f043";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: "\\f044";\n}\n.fa-share-square-o:before {\n content: "\\f045";\n}\n.fa-check-square-o:before {\n content: "\\f046";\n}\n.fa-arrows:before {\n content: "\\f047";\n}\n.fa-step-backward:before {\n content: "\\f048";\n}\n.fa-fast-backward:before {\n content: "\\f049";\n}\n.fa-backward:before {\n content: "\\f04a";\n}\n.fa-play:before {\n content: "\\f04b";\n}\n.fa-pause:before {\n content: "\\f04c";\n}\n.fa-stop:before {\n content: "\\f04d";\n}\n.fa-forward:before {\n content: "\\f04e";\n}\n.fa-fast-forward:before {\n content: "\\f050";\n}\n.fa-step-forward:before {\n content: "\\f051";\n}\n.fa-eject:before {\n content: "\\f052";\n}\n.fa-chevron-left:before {\n content: "\\f053";\n}\n.fa-chevron-right:before {\n content: "\\f054";\n}\n.fa-plus-circle:before {\n content: "\\f055";\n}\n.fa-minus-circle:before {\n content: "\\f056";\n}\n.fa-times-circle:before {\n content: "\\f057";\n}\n.fa-check-circle:before {\n content: "\\f058";\n}\n.fa-question-circle:before {\n content: "\\f059";\n}\n.fa-info-circle:before {\n content: "\\f05a";\n}\n.fa-crosshairs:before {\n content: "\\f05b";\n}\n.fa-times-circle-o:before {\n content: "\\f05c";\n}\n.fa-check-circle-o:before {\n content: "\\f05d";\n}\n.fa-ban:before {\n content: "\\f05e";\n}\n.fa-arrow-left:before {\n content: "\\f060";\n}\n.fa-arrow-right:before {\n content: "\\f061";\n}\n.fa-arrow-up:before {\n content: "\\f062";\n}\n.fa-arrow-down:before {\n content: "\\f063";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: "\\f064";\n}\n.fa-expand:before {\n content: "\\f065";\n}\n.fa-compress:before {\n content: "\\f066";\n}\n.fa-plus:before {\n content: "\\f067";\n}\n.fa-minus:before {\n content: "\\f068";\n}\n.fa-asterisk:before {\n content: "\\f069";\n}\n.fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.fa-gift:before {\n content: "\\f06b";\n}\n.fa-leaf:before {\n content: "\\f06c";\n}\n.fa-fire:before {\n content: "\\f06d";\n}\n.fa-eye:before {\n content: "\\f06e";\n}\n.fa-eye-slash:before {\n content: "\\f070";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.fa-plane:before {\n content: "\\f072";\n}\n.fa-calendar:before {\n content: "\\f073";\n}\n.fa-random:before {\n content: "\\f074";\n}\n.fa-comment:before {\n content: "\\f075";\n}\n.fa-magnet:before {\n content: "\\f076";\n}\n.fa-chevron-up:before {\n content: "\\f077";\n}\n.fa-chevron-down:before {\n content: "\\f078";\n}\n.fa-retweet:before {\n content: "\\f079";\n}\n.fa-shopping-cart:before {\n content: "\\f07a";\n}\n.fa-folder:before {\n content: "\\f07b";\n}\n.fa-folder-open:before {\n content: "\\f07c";\n}\n.fa-arrows-v:before {\n content: "\\f07d";\n}\n.fa-arrows-h:before {\n content: "\\f07e";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: "\\f080";\n}\n.fa-twitter-square:before {\n content: "\\f081";\n}\n.fa-facebook-square:before {\n content: "\\f082";\n}\n.fa-camera-retro:before {\n content: "\\f083";\n}\n.fa-key:before {\n content: "\\f084";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: "\\f085";\n}\n.fa-comments:before {\n content: "\\f086";\n}\n.fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.fa-star-half:before {\n content: "\\f089";\n}\n.fa-heart-o:before {\n content: "\\f08a";\n}\n.fa-sign-out:before {\n content: "\\f08b";\n}\n.fa-linkedin-square:before {\n content: "\\f08c";\n}\n.fa-thumb-tack:before {\n content: "\\f08d";\n}\n.fa-external-link:before {\n content: "\\f08e";\n}\n.fa-sign-in:before {\n content: "\\f090";\n}\n.fa-trophy:before {\n content: "\\f091";\n}\n.fa-github-square:before {\n content: "\\f092";\n}\n.fa-upload:before {\n content: "\\f093";\n}\n.fa-lemon-o:before {\n content: "\\f094";\n}\n.fa-phone:before {\n content: "\\f095";\n}\n.fa-square-o:before {\n content: "\\f096";\n}\n.fa-bookmark-o:before {\n content: "\\f097";\n}\n.fa-phone-square:before {\n content: "\\f098";\n}\n.fa-twitter:before {\n content: "\\f099";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: "\\f09a";\n}\n.fa-github:before {\n content: "\\f09b";\n}\n.fa-unlock:before {\n content: "\\f09c";\n}\n.fa-credit-card:before {\n content: "\\f09d";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: "\\f09e";\n}\n.fa-hdd-o:before {\n content: "\\f0a0";\n}\n.fa-bullhorn:before {\n content: "\\f0a1";\n}\n.fa-bell:before {\n content: "\\f0f3";\n}\n.fa-certificate:before {\n content: "\\f0a3";\n}\n.fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.fa-globe:before {\n content: "\\f0ac";\n}\n.fa-wrench:before {\n content: "\\f0ad";\n}\n.fa-tasks:before {\n content: "\\f0ae";\n}\n.fa-filter:before {\n content: "\\f0b0";\n}\n.fa-briefcase:before {\n content: "\\f0b1";\n}\n.fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.fa-group:before,\n.fa-users:before {\n content: "\\f0c0";\n}\n.fa-chain:before,\n.fa-link:before {\n content: "\\f0c1";\n}\n.fa-cloud:before {\n content: "\\f0c2";\n}\n.fa-flask:before {\n content: "\\f0c3";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: "\\f0c4";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: "\\f0c5";\n}\n.fa-paperclip:before {\n content: "\\f0c6";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: "\\f0c7";\n}\n.fa-square:before {\n content: "\\f0c8";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: "\\f0c9";\n}\n.fa-list-ul:before {\n content: "\\f0ca";\n}\n.fa-list-ol:before {\n content: "\\f0cb";\n}\n.fa-strikethrough:before {\n content: "\\f0cc";\n}\n.fa-underline:before {\n content: "\\f0cd";\n}\n.fa-table:before {\n content: "\\f0ce";\n}\n.fa-magic:before {\n content: "\\f0d0";\n}\n.fa-truck:before {\n content: "\\f0d1";\n}\n.fa-pinterest:before {\n content: "\\f0d2";\n}\n.fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.fa-google-plus:before {\n content: "\\f0d5";\n}\n.fa-money:before {\n content: "\\f0d6";\n}\n.fa-caret-down:before {\n content: "\\f0d7";\n}\n.fa-caret-up:before {\n content: "\\f0d8";\n}\n.fa-caret-left:before {\n content: "\\f0d9";\n}\n.fa-caret-right:before {\n content: "\\f0da";\n}\n.fa-columns:before {\n content: "\\f0db";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: "\\f0dc";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: "\\f0dd";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: "\\f0de";\n}\n.fa-envelope:before {\n content: "\\f0e0";\n}\n.fa-linkedin:before {\n content: "\\f0e1";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: "\\f0e2";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: "\\f0e3";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: "\\f0e4";\n}\n.fa-comment-o:before {\n content: "\\f0e5";\n}\n.fa-comments-o:before {\n content: "\\f0e6";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: "\\f0e7";\n}\n.fa-sitemap:before {\n content: "\\f0e8";\n}\n.fa-umbrella:before {\n content: "\\f0e9";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: "\\f0ea";\n}\n.fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.fa-exchange:before {\n content: "\\f0ec";\n}\n.fa-cloud-download:before {\n content: "\\f0ed";\n}\n.fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.fa-user-md:before {\n content: "\\f0f0";\n}\n.fa-stethoscope:before {\n content: "\\f0f1";\n}\n.fa-suitcase:before {\n content: "\\f0f2";\n}\n.fa-bell-o:before {\n content: "\\f0a2";\n}\n.fa-coffee:before {\n content: "\\f0f4";\n}\n.fa-cutlery:before {\n content: "\\f0f5";\n}\n.fa-file-text-o:before {\n content: "\\f0f6";\n}\n.fa-building-o:before {\n content: "\\f0f7";\n}\n.fa-hospital-o:before {\n content: "\\f0f8";\n}\n.fa-ambulance:before {\n content: "\\f0f9";\n}\n.fa-medkit:before {\n content: "\\f0fa";\n}\n.fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.fa-beer:before {\n content: "\\f0fc";\n}\n.fa-h-square:before {\n content: "\\f0fd";\n}\n.fa-plus-square:before {\n content: "\\f0fe";\n}\n.fa-angle-double-left:before {\n content: "\\f100";\n}\n.fa-angle-double-right:before {\n content: "\\f101";\n}\n.fa-angle-double-up:before {\n content: "\\f102";\n}\n.fa-angle-double-down:before {\n content: "\\f103";\n}\n.fa-angle-left:before {\n content: "\\f104";\n}\n.fa-angle-right:before {\n content: "\\f105";\n}\n.fa-angle-up:before {\n content: "\\f106";\n}\n.fa-angle-down:before {\n content: "\\f107";\n}\n.fa-desktop:before {\n content: "\\f108";\n}\n.fa-laptop:before {\n content: "\\f109";\n}\n.fa-tablet:before {\n content: "\\f10a";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: "\\f10b";\n}\n.fa-circle-o:before {\n content: "\\f10c";\n}\n.fa-quote-left:before {\n content: "\\f10d";\n}\n.fa-quote-right:before {\n content: "\\f10e";\n}\n.fa-spinner:before {\n content: "\\f110";\n}\n.fa-circle:before {\n content: "\\f111";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: "\\f112";\n}\n.fa-github-alt:before {\n content: "\\f113";\n}\n.fa-folder-o:before {\n content: "\\f114";\n}\n.fa-folder-open-o:before {\n content: "\\f115";\n}\n.fa-smile-o:before {\n content: "\\f118";\n}\n.fa-frown-o:before {\n content: "\\f119";\n}\n.fa-meh-o:before {\n content: "\\f11a";\n}\n.fa-gamepad:before {\n content: "\\f11b";\n}\n.fa-keyboard-o:before {\n content: "\\f11c";\n}\n.fa-flag-o:before {\n content: "\\f11d";\n}\n.fa-flag-checkered:before {\n content: "\\f11e";\n}\n.fa-terminal:before {\n content: "\\f120";\n}\n.fa-code:before {\n content: "\\f121";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: "\\f122";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: "\\f123";\n}\n.fa-location-arrow:before {\n content: "\\f124";\n}\n.fa-crop:before {\n content: "\\f125";\n}\n.fa-code-fork:before {\n content: "\\f126";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: "\\f127";\n}\n.fa-question:before {\n content: "\\f128";\n}\n.fa-info:before {\n content: "\\f129";\n}\n.fa-exclamation:before {\n content: "\\f12a";\n}\n.fa-superscript:before {\n content: "\\f12b";\n}\n.fa-subscript:before {\n content: "\\f12c";\n}\n.fa-eraser:before {\n content: "\\f12d";\n}\n.fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.fa-microphone:before {\n content: "\\f130";\n}\n.fa-microphone-slash:before {\n content: "\\f131";\n}\n.fa-shield:before {\n content: "\\f132";\n}\n.fa-calendar-o:before {\n content: "\\f133";\n}\n.fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.fa-rocket:before {\n content: "\\f135";\n}\n.fa-maxcdn:before {\n content: "\\f136";\n}\n.fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.fa-html5:before {\n content: "\\f13b";\n}\n.fa-css3:before {\n content: "\\f13c";\n}\n.fa-anchor:before {\n content: "\\f13d";\n}\n.fa-unlock-alt:before {\n content: "\\f13e";\n}\n.fa-bullseye:before {\n content: "\\f140";\n}\n.fa-ellipsis-h:before {\n content: "\\f141";\n}\n.fa-ellipsis-v:before {\n content: "\\f142";\n}\n.fa-rss-square:before {\n content: "\\f143";\n}\n.fa-play-circle:before {\n content: "\\f144";\n}\n.fa-ticket:before {\n content: "\\f145";\n}\n.fa-minus-square:before {\n content: "\\f146";\n}\n.fa-minus-square-o:before {\n content: "\\f147";\n}\n.fa-level-up:before {\n content: "\\f148";\n}\n.fa-level-down:before {\n content: "\\f149";\n}\n.fa-check-square:before {\n content: "\\f14a";\n}\n.fa-pencil-square:before {\n content: "\\f14b";\n}\n.fa-external-link-square:before {\n content: "\\f14c";\n}\n.fa-share-square:before {\n content: "\\f14d";\n}\n.fa-compass:before {\n content: "\\f14e";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: "\\f153";\n}\n.fa-gbp:before {\n content: "\\f154";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: "\\f155";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: "\\f156";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: "\\f157";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: "\\f158";\n}\n.fa-won:before,\n.fa-krw:before {\n content: "\\f159";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: "\\f15a";\n}\n.fa-file:before {\n content: "\\f15b";\n}\n.fa-file-text:before {\n content: "\\f15c";\n}\n.fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.fa-thumbs-up:before {\n content: "\\f164";\n}\n.fa-thumbs-down:before {\n content: "\\f165";\n}\n.fa-youtube-square:before {\n content: "\\f166";\n}\n.fa-youtube:before {\n content: "\\f167";\n}\n.fa-xing:before {\n content: "\\f168";\n}\n.fa-xing-square:before {\n content: "\\f169";\n}\n.fa-youtube-play:before {\n content: "\\f16a";\n}\n.fa-dropbox:before {\n content: "\\f16b";\n}\n.fa-stack-overflow:before {\n content: "\\f16c";\n}\n.fa-instagram:before {\n content: "\\f16d";\n}\n.fa-flickr:before {\n content: "\\f16e";\n}\n.fa-adn:before {\n content: "\\f170";\n}\n.fa-bitbucket:before {\n content: "\\f171";\n}\n.fa-bitbucket-square:before {\n content: "\\f172";\n}\n.fa-tumblr:before {\n content: "\\f173";\n}\n.fa-tumblr-square:before {\n content: "\\f174";\n}\n.fa-long-arrow-down:before {\n content: "\\f175";\n}\n.fa-long-arrow-up:before {\n content: "\\f176";\n}\n.fa-long-arrow-left:before {\n content: "\\f177";\n}\n.fa-long-arrow-right:before {\n content: "\\f178";\n}\n.fa-apple:before {\n content: "\\f179";\n}\n.fa-windows:before {\n content: "\\f17a";\n}\n.fa-android:before {\n content: "\\f17b";\n}\n.fa-linux:before {\n content: "\\f17c";\n}\n.fa-dribbble:before {\n content: "\\f17d";\n}\n.fa-skype:before {\n content: "\\f17e";\n}\n.fa-foursquare:before {\n content: "\\f180";\n}\n.fa-trello:before {\n content: "\\f181";\n}\n.fa-female:before {\n content: "\\f182";\n}\n.fa-male:before {\n content: "\\f183";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: "\\f184";\n}\n.fa-sun-o:before {\n content: "\\f185";\n}\n.fa-moon-o:before {\n content: "\\f186";\n}\n.fa-archive:before {\n content: "\\f187";\n}\n.fa-bug:before {\n content: "\\f188";\n}\n.fa-vk:before {\n content: "\\f189";\n}\n.fa-weibo:before {\n content: "\\f18a";\n}\n.fa-renren:before {\n content: "\\f18b";\n}\n.fa-pagelines:before {\n content: "\\f18c";\n}\n.fa-stack-exchange:before {\n content: "\\f18d";\n}\n.fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.fa-dot-circle-o:before {\n content: "\\f192";\n}\n.fa-wheelchair:before {\n content: "\\f193";\n}\n.fa-vimeo-square:before {\n content: "\\f194";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: "\\f195";\n}\n.fa-plus-square-o:before {\n content: "\\f196";\n}\n.fa-space-shuttle:before {\n content: "\\f197";\n}\n.fa-slack:before {\n content: "\\f198";\n}\n.fa-envelope-square:before {\n content: "\\f199";\n}\n.fa-wordpress:before {\n content: "\\f19a";\n}\n.fa-openid:before {\n content: "\\f19b";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: "\\f19c";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: "\\f19d";\n}\n.fa-yahoo:before {\n content: "\\f19e";\n}\n.fa-google:before {\n content: "\\f1a0";\n}\n.fa-reddit:before {\n content: "\\f1a1";\n}\n.fa-reddit-square:before {\n content: "\\f1a2";\n}\n.fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.fa-delicious:before {\n content: "\\f1a5";\n}\n.fa-digg:before {\n content: "\\f1a6";\n}\n.fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.fa-drupal:before {\n content: "\\f1a9";\n}\n.fa-joomla:before {\n content: "\\f1aa";\n}\n.fa-language:before {\n content: "\\f1ab";\n}\n.fa-fax:before {\n content: "\\f1ac";\n}\n.fa-building:before {\n content: "\\f1ad";\n}\n.fa-child:before {\n content: "\\f1ae";\n}\n.fa-paw:before {\n content: "\\f1b0";\n}\n.fa-spoon:before {\n content: "\\f1b1";\n}\n.fa-cube:before {\n content: "\\f1b2";\n}\n.fa-cubes:before {\n content: "\\f1b3";\n}\n.fa-behance:before {\n content: "\\f1b4";\n}\n.fa-behance-square:before {\n content: "\\f1b5";\n}\n.fa-steam:before {\n content: "\\f1b6";\n}\n.fa-steam-square:before {\n content: "\\f1b7";\n}\n.fa-recycle:before {\n content: "\\f1b8";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: "\\f1b9";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: "\\f1ba";\n}\n.fa-tree:before {\n content: "\\f1bb";\n}\n.fa-spotify:before {\n content: "\\f1bc";\n}\n.fa-deviantart:before {\n content: "\\f1bd";\n}\n.fa-soundcloud:before {\n content: "\\f1be";\n}\n.fa-database:before {\n content: "\\f1c0";\n}\n.fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.fa-file-word-o:before {\n content: "\\f1c2";\n}\n.fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: "\\f1c5";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: "\\f1c8";\n}\n.fa-file-code-o:before {\n content: "\\f1c9";\n}\n.fa-vine:before {\n content: "\\f1ca";\n}\n.fa-codepen:before {\n content: "\\f1cb";\n}\n.fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: "\\f1cd";\n}\n.fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: "\\f1d0";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: "\\f1d1";\n}\n.fa-git-square:before {\n content: "\\f1d2";\n}\n.fa-git:before {\n content: "\\f1d3";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: "\\f1d4";\n}\n.fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.fa-qq:before {\n content: "\\f1d6";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: "\\f1d7";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: "\\f1d8";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.fa-history:before {\n content: "\\f1da";\n}\n.fa-circle-thin:before {\n content: "\\f1db";\n}\n.fa-header:before {\n content: "\\f1dc";\n}\n.fa-paragraph:before {\n content: "\\f1dd";\n}\n.fa-sliders:before {\n content: "\\f1de";\n}\n.fa-share-alt:before {\n content: "\\f1e0";\n}\n.fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.fa-bomb:before {\n content: "\\f1e2";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: "\\f1e3";\n}\n.fa-tty:before {\n content: "\\f1e4";\n}\n.fa-binoculars:before {\n content: "\\f1e5";\n}\n.fa-plug:before {\n content: "\\f1e6";\n}\n.fa-slideshare:before {\n content: "\\f1e7";\n}\n.fa-twitch:before {\n content: "\\f1e8";\n}\n.fa-yelp:before {\n content: "\\f1e9";\n}\n.fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.fa-wifi:before {\n content: "\\f1eb";\n}\n.fa-calculator:before {\n content: "\\f1ec";\n}\n.fa-paypal:before {\n content: "\\f1ed";\n}\n.fa-google-wallet:before {\n content: "\\f1ee";\n}\n.fa-cc-visa:before {\n content: "\\f1f0";\n}\n.fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.fa-cc-discover:before {\n content: "\\f1f2";\n}\n.fa-cc-amex:before {\n content: "\\f1f3";\n}\n.fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.fa-bell-slash:before {\n content: "\\f1f6";\n}\n.fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.fa-trash:before {\n content: "\\f1f8";\n}\n.fa-copyright:before {\n content: "\\f1f9";\n}\n.fa-at:before {\n content: "\\f1fa";\n}\n.fa-eyedropper:before {\n content: "\\f1fb";\n}\n.fa-paint-brush:before {\n content: "\\f1fc";\n}\n.fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.fa-area-chart:before {\n content: "\\f1fe";\n}\n.fa-pie-chart:before {\n content: "\\f200";\n}\n.fa-line-chart:before {\n content: "\\f201";\n}\n.fa-lastfm:before {\n content: "\\f202";\n}\n.fa-lastfm-square:before {\n content: "\\f203";\n}\n.fa-toggle-off:before {\n content: "\\f204";\n}\n.fa-toggle-on:before {\n content: "\\f205";\n}\n.fa-bicycle:before {\n content: "\\f206";\n}\n.fa-bus:before {\n content: "\\f207";\n}\n.fa-ioxhost:before {\n content: "\\f208";\n}\n.fa-angellist:before {\n content: "\\f209";\n}\n.fa-cc:before {\n content: "\\f20a";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: "\\f20b";\n}\n.fa-meanpath:before {\n content: "\\f20c";\n}\n.fa-buysellads:before {\n content: "\\f20d";\n}\n.fa-connectdevelop:before {\n content: "\\f20e";\n}\n.fa-dashcube:before {\n content: "\\f210";\n}\n.fa-forumbee:before {\n content: "\\f211";\n}\n.fa-leanpub:before {\n content: "\\f212";\n}\n.fa-sellsy:before {\n content: "\\f213";\n}\n.fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.fa-simplybuilt:before {\n content: "\\f215";\n}\n.fa-skyatlas:before {\n content: "\\f216";\n}\n.fa-cart-plus:before {\n content: "\\f217";\n}\n.fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.fa-diamond:before {\n content: "\\f219";\n}\n.fa-ship:before {\n content: "\\f21a";\n}\n.fa-user-secret:before {\n content: "\\f21b";\n}\n.fa-motorcycle:before {\n content: "\\f21c";\n}\n.fa-street-view:before {\n content: "\\f21d";\n}\n.fa-heartbeat:before {\n content: "\\f21e";\n}\n.fa-venus:before {\n content: "\\f221";\n}\n.fa-mars:before {\n content: "\\f222";\n}\n.fa-mercury:before {\n content: "\\f223";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: "\\f224";\n}\n.fa-transgender-alt:before {\n content: "\\f225";\n}\n.fa-venus-double:before {\n content: "\\f226";\n}\n.fa-mars-double:before {\n content: "\\f227";\n}\n.fa-venus-mars:before {\n content: "\\f228";\n}\n.fa-mars-stroke:before {\n content: "\\f229";\n}\n.fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.fa-neuter:before {\n content: "\\f22c";\n}\n.fa-genderless:before {\n content: "\\f22d";\n}\n.fa-facebook-official:before {\n content: "\\f230";\n}\n.fa-pinterest-p:before {\n content: "\\f231";\n}\n.fa-whatsapp:before {\n content: "\\f232";\n}\n.fa-server:before {\n content: "\\f233";\n}\n.fa-user-plus:before {\n content: "\\f234";\n}\n.fa-user-times:before {\n content: "\\f235";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: "\\f236";\n}\n.fa-viacoin:before {\n content: "\\f237";\n}\n.fa-train:before {\n content: "\\f238";\n}\n.fa-subway:before {\n content: "\\f239";\n}\n.fa-medium:before {\n content: "\\f23a";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: "\\f23b";\n}\n.fa-optin-monster:before {\n content: "\\f23c";\n}\n.fa-opencart:before {\n content: "\\f23d";\n}\n.fa-expeditedssl:before {\n content: "\\f23e";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: "\\f240";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: "\\f242";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: "\\f243";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: "\\f244";\n}\n.fa-mouse-pointer:before {\n content: "\\f245";\n}\n.fa-i-cursor:before {\n content: "\\f246";\n}\n.fa-object-group:before {\n content: "\\f247";\n}\n.fa-object-ungroup:before {\n content: "\\f248";\n}\n.fa-sticky-note:before {\n content: "\\f249";\n}\n.fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.fa-cc-jcb:before {\n content: "\\f24b";\n}\n.fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.fa-clone:before {\n content: "\\f24d";\n}\n.fa-balance-scale:before {\n content: "\\f24e";\n}\n.fa-hourglass-o:before {\n content: "\\f250";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: "\\f251";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: "\\f252";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: "\\f253";\n}\n.fa-hourglass:before {\n content: "\\f254";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: "\\f255";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: "\\f256";\n}\n.fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.fa-hand-spock-o:before {\n content: "\\f259";\n}\n.fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.fa-trademark:before {\n content: "\\f25c";\n}\n.fa-registered:before {\n content: "\\f25d";\n}\n.fa-creative-commons:before {\n content: "\\f25e";\n}\n.fa-gg:before {\n content: "\\f260";\n}\n.fa-gg-circle:before {\n content: "\\f261";\n}\n.fa-tripadvisor:before {\n content: "\\f262";\n}\n.fa-odnoklassniki:before {\n content: "\\f263";\n}\n.fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.fa-get-pocket:before {\n content: "\\f265";\n}\n.fa-wikipedia-w:before {\n content: "\\f266";\n}\n.fa-safari:before {\n content: "\\f267";\n}\n.fa-chrome:before {\n content: "\\f268";\n}\n.fa-firefox:before {\n content: "\\f269";\n}\n.fa-opera:before {\n content: "\\f26a";\n}\n.fa-internet-explorer:before {\n content: "\\f26b";\n}\n.fa-tv:before,\n.fa-television:before {\n content: "\\f26c";\n}\n.fa-contao:before {\n content: "\\f26d";\n}\n.fa-500px:before {\n content: "\\f26e";\n}\n.fa-amazon:before {\n content: "\\f270";\n}\n.fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.fa-calendar-times-o:before {\n content: "\\f273";\n}\n.fa-calendar-check-o:before {\n content: "\\f274";\n}\n.fa-industry:before {\n content: "\\f275";\n}\n.fa-map-pin:before {\n content: "\\f276";\n}\n.fa-map-signs:before {\n content: "\\f277";\n}\n.fa-map-o:before {\n content: "\\f278";\n}\n.fa-map:before {\n content: "\\f279";\n}\n.fa-commenting:before {\n content: "\\f27a";\n}\n.fa-commenting-o:before {\n content: "\\f27b";\n}\n.fa-houzz:before {\n content: "\\f27c";\n}\n.fa-vimeo:before {\n content: "\\f27d";\n}\n.fa-black-tie:before {\n content: "\\f27e";\n}\n.fa-fonticons:before {\n content: "\\f280";\n}\n.fa-reddit-alien:before {\n content: "\\f281";\n}\n.fa-edge:before {\n content: "\\f282";\n}\n.fa-credit-card-alt:before {\n content: "\\f283";\n}\n.fa-codiepie:before {\n content: "\\f284";\n}\n.fa-modx:before {\n content: "\\f285";\n}\n.fa-fort-awesome:before {\n content: "\\f286";\n}\n.fa-usb:before {\n content: "\\f287";\n}\n.fa-product-hunt:before {\n content: "\\f288";\n}\n.fa-mixcloud:before {\n content: "\\f289";\n}\n.fa-scribd:before {\n content: "\\f28a";\n}\n.fa-pause-circle:before {\n content: "\\f28b";\n}\n.fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.fa-stop-circle:before {\n content: "\\f28d";\n}\n.fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.fa-shopping-bag:before {\n content: "\\f290";\n}\n.fa-shopping-basket:before {\n content: "\\f291";\n}\n.fa-hashtag:before {\n content: "\\f292";\n}\n.fa-bluetooth:before {\n content: "\\f293";\n}\n.fa-bluetooth-b:before {\n content: "\\f294";\n}\n.fa-percent:before {\n content: "\\f295";\n}\n.fa-gitlab:before {\n content: "\\f296";\n}\n.fa-wpbeginner:before {\n content: "\\f297";\n}\n.fa-wpforms:before {\n content: "\\f298";\n}\n.fa-envira:before {\n content: "\\f299";\n}\n.fa-universal-access:before {\n content: "\\f29a";\n}\n.fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.fa-question-circle-o:before {\n content: "\\f29c";\n}\n.fa-blind:before {\n content: "\\f29d";\n}\n.fa-audio-description:before {\n content: "\\f29e";\n}\n.fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.fa-braille:before {\n content: "\\f2a1";\n}\n.fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: "\\f2a4";\n}\n.fa-glide:before {\n content: "\\f2a5";\n}\n.fa-glide-g:before {\n content: "\\f2a6";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: "\\f2a7";\n}\n.fa-low-vision:before {\n content: "\\f2a8";\n}\n.fa-viadeo:before {\n content: "\\f2a9";\n}\n.fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.fa-snapchat:before {\n content: "\\f2ab";\n}\n.fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.fa-pied-piper:before {\n content: "\\f2ae";\n}\n.fa-first-order:before {\n content: "\\f2b0";\n}\n.fa-yoast:before {\n content: "\\f2b1";\n}\n.fa-themeisle:before {\n content: "\\f2b2";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: "\\f2b4";\n}\n.fa-handshake-o:before {\n content: "\\f2b5";\n}\n.fa-envelope-open:before {\n content: "\\f2b6";\n}\n.fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.fa-linode:before {\n content: "\\f2b8";\n}\n.fa-address-book:before {\n content: "\\f2b9";\n}\n.fa-address-book-o:before {\n content: "\\f2ba";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: "\\f2bb";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: "\\f2bc";\n}\n.fa-user-circle:before {\n content: "\\f2bd";\n}\n.fa-user-circle-o:before {\n content: "\\f2be";\n}\n.fa-user-o:before {\n content: "\\f2c0";\n}\n.fa-id-badge:before {\n content: "\\f2c1";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: "\\f2c2";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: "\\f2c3";\n}\n.fa-quora:before {\n content: "\\f2c4";\n}\n.fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.fa-telegram:before {\n content: "\\f2c6";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.fa-shower:before {\n content: "\\f2cc";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: "\\f2cd";\n}\n.fa-podcast:before {\n content: "\\f2ce";\n}\n.fa-window-maximize:before {\n content: "\\f2d0";\n}\n.fa-window-minimize:before {\n content: "\\f2d1";\n}\n.fa-window-restore:before {\n content: "\\f2d2";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: "\\f2d3";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: "\\f2d4";\n}\n.fa-bandcamp:before {\n content: "\\f2d5";\n}\n.fa-grav:before {\n content: "\\f2d6";\n}\n.fa-etsy:before {\n content: "\\f2d7";\n}\n.fa-imdb:before {\n content: "\\f2d8";\n}\n.fa-ravelry:before {\n content: "\\f2d9";\n}\n.fa-eercast:before {\n content: "\\f2da";\n}\n.fa-microchip:before {\n content: "\\f2db";\n}\n.fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.fa-superpowers:before {\n content: "\\f2dd";\n}\n.fa-wpexplorer:before {\n content: "\\f2de";\n}\n.fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/*! @licend */\n.icon {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n /* favorites */\n}\n.icon.fav:before {\n content: "\\f005";\n color: #DDD;\n}\n.icon.unfav:before {\n content: "\\f005";\n color: #D40101;\n}\n.svg-icon {\n display: inline-flex;\n align-self: center;\n}\n.svg-icon svg {\n fill: #333;\n height: 1em;\n width: 1em;\n}\n.svg-icon.baseline svg {\n top: 0.125em;\n position: relative;\n}\n.svg-icon.dim svg,\n.svg-icon.light svg {\n fill: #888;\n}\n.svg-icon.icon-only svg {\n position: relative;\n top: 0.25em;\n width: 1.1rem;\n height: 1.1rem;\n}\n.button .svg-icon svg {\n top: 0.125em;\n position: relative;\n}\n.button .svg-icon + span:not(.visuallyhidden) {\n margin-left: 0.5em;\n display: inline-block;\n}\n.button:hover .svg-icon svg,\n.button .svg-icon svg:hover {\n fill: #333;\n}\n/* warning */\n.button.primary:active .svg-icon svg,\n.button.primary:focus .svg-icon svg,\n.button.warning .svg-icon svg,\n.button.warning:hover .svg-icon svg,\n.button.warning:focus .svg-icon svg,\n.button.warning:active .svg-icon svg {\n fill: #FFF;\n}\n/* focus */\n.button:focus .svg-icon svg,\n.button:active .svg-icon svg {\n fill: #2894DF;\n}\n.button.disabled .svg-icon svg {\n fill: #888;\n}\n.button.disabled .svg-icon svg:hover {\n fill: #888;\n}\na:hover .svg-icon svg {\n fill: #2894DF;\n}\na.disabled .svg-icon svg {\n fill: #888;\n pointer-events: none;\n cursor: default;\n}\na.disabled:hover .svg-icon svg {\n fill: #888;\n}\na.fav .svg-icon svg {\n fill: #D40101;\n}\na.unfav {\n display: inline-flex;\n}\na.unfav .svg-icon.star svg {\n fill: #DDD;\n}\n/*\n\tGeneric buttons\n\tDescription\t: We support <input[submit]>, <input.button>, <button> and <a.button>\n\n\t:hover\t\t\t- Subtle hover highlight and box shadow\n\t:active\t\t\t- Inset box shadow and 1px offset\n\t.disabled\t\t- Dims the button to indicate it cannot be used\n*/\ninput[type=submit],\nbutton,\n.button {\n position: relative;\n font-size: 0.875em;\n /*\t14px */\n min-height: 1.428571em;\n /* 20px */\n padding: 0.4285714em 1.225em 0.4285714em 1.225em;\n /* 6px 16px */\n display: inline-block;\n vertical-align: baseline;\n margin-right: 0.5em;\n outline: none;\n cursor: pointer;\n text-align: center;\n text-decoration: none;\n border: 1px solid #CCC;\n color: #333;\n font-weight: normal;\n text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);\n background: #EEE;\n background-image: linear-gradient(top, #F3F3F3, #EEE);\n border-radius: 0.214em;\n}\n/* size and position adjustments */\n.submit {\n display: inline-block;\n /* in case there is a div wrapper */\n}\n.button.big {\n font-size: 1.125em;\n}\n/* hover */\nbutton:hover,\n.button:hover {\n color: #333;\n text-decoration: none;\n background: #F3F3F3;\n background-image: linear-gradient(top, #F3F3F3, #F3F3F3);\n border: 1px solid #BBB;\n}\n/* focus */\nbutton:focus,\n.button:focus {\n color: #2894DF;\n border: 1px solid #2894DF;\n}\n/* active */\nbutton:active,\n.button:active {\n color: #2894DF;\n border: 1px solid #2894DF;\n background: #EEE;\n position: relative;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n/* cancel */\n.button.cancel,\n.button.cancel:focus,\n.button.cancel:hover,\n.button.cancel:active,\n.button.dim,\n.button.dim:focus,\n.button.dim:hover,\n.button.dim:active {\n background: #FFF;\n font-weight: normal;\n}\n/* primary */\n.button.primary {\n background: #2894DF;\n border: 1px solid #2894DF;\n color: #FFF;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);\n}\n.button.primary:hover {\n background: #2A9CEB;\n border: 1px solid #2A9CEB;\n color: #FFF;\n}\n.button.primary:active,\n.button.primary:focus {\n color: #FFF;\n border: 1px solid #4271b7;\n background: #2A9CEB;\n}\n/* warning */\n.button.warning,\n.button.warning:hover,\n.button.warning:focus,\n.button.warning:active {\n color: #FFF;\n background: #D40101;\n border: 1px solid #D40101;\n text-shadow: none;\n}\n.button.warning:focus,\n.button.warning:active {\n border: 1px solid #92000C;\n}\n.button.disabled {\n cursor: default;\n color: #888;\n background: #FFF;\n border: 1px solid #DDD;\n text-shadow: none;\n font-weight: normal;\n}\n/* inactive */\n.button.disabled:hover,\n.button.disabled:active,\n.button.disabled:focus {\n box-shadow: 0 0 0;\n top: 0;\n color: #888;\n background: #FFF;\n border: 1px solid #DDD;\n}\n/* duo */\n.duo-wrapper {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.duo-wrapper:before,\n.duo-wrapper:after {\n content: "";\n display: table;\n}\n.duo-wrapper:after {\n clear: both;\n}\n.duo-wrapper:before,\n.duo-wrapper:after {\n content: "";\n display: table;\n}\n.duo-wrapper:after {\n clear: both;\n}\n.duo-wrapper .button {\n float: left;\n}\n.duo-wrapper .button.duo:nth-child(1) {\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.duo-wrapper .button.duo:nth-child(2) {\n margin-left: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.buttons-spacer,\n.button-spacer {\n margin-right: 0.5em;\n}\n/* processing state */\nhtml body .button.processing {\n background: #FFF;\n border: 1px solid #FFF;\n cursor: default;\n}\n.button.processing:active,\n.button.processing:hover {\n border: 1px solid #FFF;\n}\n.button.processing:after {\n line-height: 2.25em;\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: -1px;\n left: -1px;\n background: #FFF url('+___CSS_LOADER_URL_REPLACEMENT_8___+") center center no-repeat;\n background-size: auto 50% ;\n border: 1px solid #DDD;\n border-radius: 5px;\n}\ninput[type=submit].button.processing {\n color: transparent;\n text-shadow: none;\n background: #FFF url("+___CSS_LOADER_URL_REPLACEMENT_8___+') center center no-repeat;\n background-size: auto 50% ;\n border: 1px solid #DDD;\n border-radius: 5px;\n}\n/* toggle selected */\n.toggle.button.selected,\n.button-toggle.button.selected {\n background: #EEE;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #BBB;\n}\n/*\n\tBase form components styling\n\tCheck components/form for more advanced/fancy input\n*/\n/* input label */\nlabel {\n font-weight: bold;\n font-size: 1em;\n /* 16px */\n line-height: 1.333333em;\n /* 24px */\n padding: 0.5em 0;\n display: block;\n}\n/*\n\tRequired Label\n\n\tDescription\t: Label and input are wrapped in <div.text.required>. Additional <span> with a star is included. Input also get the required class.\n\t.required\t\t- additional red star\n*/\n.required label:after {\n content: " \\002A";\n /* unicode character * */\n color: #D40101;\n font-weight: bold;\n}\n/* fallback placeholder */\n.placeholder {\n color: #969696;\n}\n/* webkit placeholder */\n::-webkit-input-placeholder {\n color: #969696;\n}\n/* moz placeholder */\n:-moz-placeholder,\n::-moz-placeholder {\n color: #969696;\n}\n/*\n\tGeneric Form Item\n\n\tDescription\t: labels and input are wrapped in a <div.text>\n\n\t:hover\t\t\t - subtle hover highlight\n\t:active\t\t\t- inset box shadow\n\t.disabled\t\t- grey out to indicate it cannot be used\n*/\ninput[type=text],\ninput[type=email],\ninput[type=password],\ninput[type=search],\ninput[type=number],\ntextarea {\n font-size: 16px;\n line-height: 24px;\n color: #333;\n background: #FFF;\n width: 14em;\n /* 20 char (default input length) x .7em (average char length) */\n padding: 0.375em 0.625em 0.375em 0.625em;\n display: inline-block;\n margin-bottom: 0.5em;\n -webkit-appearance: none;\n border: 1px solid #CCC;\n border-top: 1px solid #BBB;\n vertical-align: middle;\n box-sizing: content-box;\n}\ntextarea:hover,\ninput[type=password]:hover,\ninput[type=search]:hover,\ninput[type=text]:hover,\ninput[type=number]:hover,\ninput[type=email]:hover {\n border: 1px solid #BBB;\n}\ntextarea:focus,\ninput[type=password]:focus,\ninput[type=search]:focus,\ninput[type=text]:focus,\ninput[type=number]:focus,\ninput[type=email]:focus {\n box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #2894DF;\n}\n.input-focus {\n box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #2894DF;\n}\ninput[type=password]:disabled,\ninput[type=search]:disabled,\ninput[type=text]:disabled,\ninput[type=number]:disabled,\ninput[type=email]:disabled,\ntextarea:disabled {\n border: 1px solid #DDD;\n box-shadow: 0 0 0 0;\n cursor: pointer;\n background: #F3F3F3;\n}\n/*\n\tTextarea Textfield\n\tDescription\t: textarea.textarea is pretty much the same than div.input.text.\n\n\t.required\t\t- additional red star\n\t.lage\t\t \t - make the box bigger\n*/\ntextarea {\n height: 4.8em;\n line-height: 1.5em;\n}\n.textarea.large textarea {\n width: 30em;\n height: 7em;\n}\ntextarea.message_notice {\n margin-bottom: 0;\n}\ntextarea.full_report {\n height: 12em;\n line-height: 1.5em;\n}\n/* text and textarea */\n.text.input .input-addon,\n.date.input .input-addon {\n position: absolute;\n margin-left: -2.625em;\n}\n.text.input .input-addon i,\n.date.input .input-addon i {\n font-size: 16px;\n width: 1.25em;\n border: 1px solid #CCC;\n border-top: 1px solid #BBB;\n line-height: 24px;\n color: #333;\n background: #FFF;\n padding: 0.375em 0.625em 0.375em 0.625em;\n}\n.text.input input:hover + .input-addon i,\n.date.input input:hover + .input-addon i {\n border: 1px solid #BBB;\n}\n.text.input input:focus + .input-addon i,\n.date.input input:focus + .input-addon i {\n border: 1px solid #2894DF;\n}\n.text.input input:disabled + .input-addon i,\n.date.input input:disabled + .input-addon i {\n background: #F3F3F3;\n border: 1px solid #DDD;\n}\n/* icons for input */\n/*\n\tCheckboxes and Radio\n*/\n.checkboxlist .input.checkbox label,\n.radiolist .input.radio label,\ninput[type=checkbox] + label {\n font-weight: normal;\n display: inline;\n margin-left: 0.25em;\n margin-bottom: 0.25em;\n cursor: pointer;\n}\n/* radio and checkboxes */\n.radiolist {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.radiolist:before,\n.radiolist:after {\n content: "";\n display: table;\n}\n.radiolist:after {\n clear: both;\n}\n.radiolist:before,\n.radiolist:after {\n content: "";\n display: table;\n}\n.radiolist:after {\n clear: both;\n}\n.radiolist .input.radio {\n float: left;\n}\n.radiolist .input.radio input {\n float: left;\n margin-top: 0.55em;\n}\n.radiolist .input.radio input + label {\n font-weight: normal;\n display: inline-block;\n margin-left: 0.65em;\n font-size: 1em;\n float: left;\n margin-right: 2em;\n}\n/*\n\tMessages for validation error and example\n\n\tDescription\t: <div.text.error>, <div.text.success>, can be used to add status messages or example.\n\tAdditional messages are wrapped in <.error.message>, <.success.messages>\n\n\t.error - can be used for validation feedback\n\t.helptext - can be used for example messages prior validation\n*/\n.input .message {\n padding: 0;\n padding-left: 0.25em;\n padding-bottom: 0.5em;\n font-size: 0.813em;\n margin-top: 0.125em;\n margin-bottom: 0.25em;\n background-color: transparent;\n border: 0;\n /* colors for messages */\n}\n.input .message.error {\n font-weight: normal;\n color: #D40101;\n}\n.input .message.helptext {\n color: #888;\n font-weight: normal;\n}\n.input .message:empty {\n display: none;\n}\n.form-content .input .message,\nform .input .message {\n background-color: transparent;\n}\ntextarea.error label,\n.input.error label {\n color: #D40101;\n}\nform .input .inline.message {\n display: inline-block;\n}\n/* error messages */\nselect {\n font-size: 16px;\n margin: 0.55em 0;\n}\n/* select */\ninput[type=file] {\n width: 100%;\n color: #333;\n}\n/* file upload input */\n/* layout and shortcuts */\nselect.fluid,\ntextarea.fluid,\ninput[type=password].fluid,\ninput[type=text].fluid,\ninput[type=email].fluid {\n width: 80%;\n}\n.submit-input-wrapper,\n.submit-wrapper {\n margin-top: 0.5em;\n}\n/* shortcut classes for layout */\n.singleline {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.singleline:before,\n.singleline:after {\n content: "";\n display: table;\n}\n.singleline:after {\n clear: both;\n}\n.singleline:before,\n.singleline:after {\n content: "";\n display: table;\n}\n.singleline:after {\n clear: both;\n}\n.singleline .input.text {\n float: left;\n width: 40.2%;\n}\n.singleline .input.text:first-child,\n.singleline .input.text.first-field {\n margin-right: 2.5%;\n}\n.singleline .input.text input[type="text"],\n.singleline .input.text input[type="email"],\n.singleline .input.text input[type="password"],\n.singleline .input.text input[type="search"] {\n width: 93%;\n}\n.form-content .accordion h3.accordion-header a {\n border: 0;\n}\n.form-content .accordion h3.accordion-header a:hover {\n border: 0;\n}\n.form-content .accordion h3.accordion-header a:before {\n font: normal normal normal 1em FontAwesome;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n position: absolute;\n text-align: center;\n}\n.form-content table {\n width: 100%;\n margin-bottom: 1em;\n}\n.form-content table thead {\n background-color: transparent !important;\n}\n.form-content table thead th {\n background-color: transparent;\n font-weight: bold;\n border: 1px solid #DDD;\n padding: 0.7em 0.5em;\n}\n.form-content table tbody tr {\n font-size: 0.8em;\n text-align: left;\n}\n.form-content table tbody tr:nth-child(even) {\n background-color: transparent;\n}\n.form-content table tbody tr:nth-child(odd) {\n background-color: #F3F3F3;\n color: #666;\n}\n.form-content table tbody tr td {\n text-align: left;\n padding: 0.5em 0.5em;\n border: 1px solid #DDD;\n}\n.form-content table tbody tr td code {\n padding: 0.2em 0.3em;\n background-color: #DDD;\n}\n.form-content table tbody tr td pre {\n margin: 0;\n padding: 0;\n background-color: transparent;\n}\n.form-content table tbody tr td code,\n.form-content table tbody tr td pre {\n font-family: monospace,serif;\n font-size: 1em;\n}\n.form-content table tbody tr td em {\n color: #888;\n font-size: 0.8em;\n font-style: normal;\n}\n/*\n * Page layout\n */\n.page {\n width: 100%;\n min-width: 320px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n overflow: auto;\n /* main workspace panels position depend on how many headers are there */\n /* Grid */\n /* if the other grid is used\n don\'t center the grid inside main panel */\n}\n.page .panel {\n height: 100%;\n width: 100%;\n position: absolute;\n overflow: auto;\n}\n.page .panel.main {\n top: 10em;\n bottom: 2.45em;\n height: auto;\n padding: 0;\n}\n.page .panel.main .row {\n padding-left: 0;\n}\n.page .panel.main .panel.left {\n background: #ffffff;\n}\n.page .header.second + .panel.main {\n top: 6.875em;\n}\n.page .header.third + .panel.main {\n top: 10em;\n border-top: 1px solid #DDD;\n}\n.page .header {\n width: 100%;\n overflow: hidden;\n /* headers */\n}\n.page .header.first {\n min-height: 2.4em;\n}\n.page .header.second {\n top: 2.375em;\n height: 4.5em;\n}\n.page .header.third {\n top: 6.875em;\n height: 3em;\n}\n.page .col1,\n.page .col2,\n.page .col3,\n.page .col2_3 {\n position: absolute;\n}\n.page .col1,\n.page .panel.left {\n width: 17.25%;\n box-sizing: border-box;\n}\n.page .panel.middle {\n width: 82%;\n left: 18%;\n overflow: hidden;\n}\n.page .panel.middle.scroll {\n overflow-y: scroll;\n}\n.page .col2 {\n width: 70%;\n left: 18%;\n}\n.page .col3,\n.page .panel.right {\n width: 24%;\n left: 75%;\n}\n.page .col2_3 {\n width: 81.5%;\n left: 18%;\n}\n.page .panel.main .grid-responsive-12 {\n float: left;\n width: 100%;\n max-width: none;\n padding-left: 0.25em;\n box-sizing: border-box;\n}\n/* hide left column when there is no space */\n@media all and (max-width: 1024px) {\n .page .panel.left {\n display: none;\n }\n .page .header.second .col2 {\n display: none;\n }\n .page .header.second .col2_3 {\n display: none;\n }\n .page .header.third {\n height: 4.5em;\n }\n .page .header.third .col1,\n .page .header.third .col2,\n .page .header.third .col2_3 {\n position: relative;\n float: left;\n left: auto;\n width: auto;\n }\n .page .header.third .col3 {\n display: none;\n }\n .page .panel.main .panel.left {\n display: none;\n }\n .page .panel.main .panel.middle {\n width: 100%;\n left: 0;\n }\n .page .panel.main .row {\n padding-left: 0.5em;\n }\n .page .panel.main .panel.aside {\n min-width: auto;\n }\n}\n/*\n\tGrid Layout\n\t@credit: One% CSS Grid - 12 Columns Fluid CSS Grid System\n*/\n/*\n * Main container for all\n */\n.grid-responsive-12,\n.grid {\n margin: 0 auto;\n padding: 0;\n max-width: 1220px;\n}\n.grid-responsive-12 .row,\n.grid .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding: 0 0.5em 0 0.5em;\n}\n.grid-responsive-12 .row:before,\n.grid .row:before,\n.grid-responsive-12 .row:after,\n.grid .row:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row:after,\n.grid .row:after {\n clear: both;\n}\n.grid-responsive-12 .row:before,\n.grid .row:before,\n.grid-responsive-12 .row:after,\n.grid .row:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row:after,\n.grid .row:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1,\n.grid .row .col1,\n.grid-responsive-12 .row .col2,\n.grid .row .col2,\n.grid-responsive-12 .row .col3,\n.grid .row .col3,\n.grid-responsive-12 .row .col4,\n.grid .row .col4,\n.grid-responsive-12 .row .col5,\n.grid .row .col5,\n.grid-responsive-12 .row .col6,\n.grid .row .col6,\n.grid-responsive-12 .row .col7,\n.grid .row .col7,\n.grid-responsive-12 .row .col8,\n.grid .row .col8,\n.grid-responsive-12 .row .col9,\n.grid .row .col9,\n.grid-responsive-12 .row .col10,\n.grid .row .col10,\n.grid-responsive-12 .row .col11,\n.grid .row .col11,\n.grid-responsive-12 .row .col12,\n.grid .row .col12 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n position: relative;\n left: auto;\n float: none;\n width: 99%;\n box-sizing: border-box;\n}\n.grid-responsive-12 .row .col1:before,\n.grid .row .col1:before,\n.grid-responsive-12 .row .col2:before,\n.grid .row .col2:before,\n.grid-responsive-12 .row .col3:before,\n.grid .row .col3:before,\n.grid-responsive-12 .row .col4:before,\n.grid .row .col4:before,\n.grid-responsive-12 .row .col5:before,\n.grid .row .col5:before,\n.grid-responsive-12 .row .col6:before,\n.grid .row .col6:before,\n.grid-responsive-12 .row .col7:before,\n.grid .row .col7:before,\n.grid-responsive-12 .row .col8:before,\n.grid .row .col8:before,\n.grid-responsive-12 .row .col9:before,\n.grid .row .col9:before,\n.grid-responsive-12 .row .col10:before,\n.grid .row .col10:before,\n.grid-responsive-12 .row .col11:before,\n.grid .row .col11:before,\n.grid-responsive-12 .row .col12:before,\n.grid .row .col12:before,\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1:before,\n.grid .row .col1:before,\n.grid-responsive-12 .row .col2:before,\n.grid .row .col2:before,\n.grid-responsive-12 .row .col3:before,\n.grid .row .col3:before,\n.grid-responsive-12 .row .col4:before,\n.grid .row .col4:before,\n.grid-responsive-12 .row .col5:before,\n.grid .row .col5:before,\n.grid-responsive-12 .row .col6:before,\n.grid .row .col6:before,\n.grid-responsive-12 .row .col7:before,\n.grid .row .col7:before,\n.grid-responsive-12 .row .col8:before,\n.grid .row .col8:before,\n.grid-responsive-12 .row .col9:before,\n.grid .row .col9:before,\n.grid-responsive-12 .row .col10:before,\n.grid .row .col10:before,\n.grid-responsive-12 .row .col11:before,\n.grid .row .col11:before,\n.grid-responsive-12 .row .col12:before,\n.grid .row .col12:before,\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1 img,\n.grid .row .col1 img,\n.grid-responsive-12 .row .col2 img,\n.grid .row .col2 img,\n.grid-responsive-12 .row .col3 img,\n.grid .row .col3 img,\n.grid-responsive-12 .row .col4 img,\n.grid .row .col4 img,\n.grid-responsive-12 .row .col5 img,\n.grid .row .col5 img,\n.grid-responsive-12 .row .col6 img,\n.grid .row .col6 img,\n.grid-responsive-12 .row .col7 img,\n.grid .row .col7 img,\n.grid-responsive-12 .row .col8 img,\n.grid .row .col8 img,\n.grid-responsive-12 .row .col9 img,\n.grid .row .col9 img,\n.grid-responsive-12 .row .col10 img,\n.grid .row .col10 img,\n.grid-responsive-12 .row .col11 img,\n.grid .row .col11 img,\n.grid-responsive-12 .row .col12 img,\n.grid .row .col12 img {\n width: 100%;\n height: auto;\n display: block;\n}\n/*\n * large devices\n */\n@media all and (min-width: 780px) {\n /*\n * Common columns definitions\n */\n .grid .row {\n padding: 0 0.5em 0 0.5em;\n }\n .grid .row .col1,\n .grid .row .col2,\n .grid .row .col3,\n .grid .row .col4,\n .grid .row .col5,\n .grid .row .col6,\n .grid .row .col7,\n .grid .row .col8,\n .grid .row .col9,\n .grid .row .col10,\n .grid .row .col11,\n .grid .row .col12 {\n float: left;\n position: relative;\n margin: 0 3% 0 0;\n }\n .grid .row .last {\n margin-right: 0;\n }\n .grid .row .col1 {\n width: 5.5%;\n }\n .grid .row .col2 {\n width: 14%;\n }\n .grid .row .col3 {\n width: 22.5%;\n }\n .grid .row .col4 {\n width: 31%;\n }\n .grid .row .col5 {\n width: 39.5%;\n }\n .grid .row .col6 {\n width: 48%;\n }\n .grid .row .col7 {\n width: 56.5%;\n }\n .grid .row .col8 {\n width: 65%;\n }\n .grid .row .col9 {\n width: 73.5%;\n }\n .grid .row .col10 {\n width: 82%;\n }\n .grid .row .col11 {\n width: 90.5%;\n }\n .grid .row .col12 {\n width: 99%;\n margin: 0;\n }\n .grid .row .push1 {\n margin-left: 5.5%;\n }\n .grid .row .push2 {\n margin-left: 14%;\n }\n .grid .row .push3 {\n margin-left: 22.5%;\n }\n .grid .row .push4 {\n margin-left: 31%;\n }\n}\n/*\n * Utilities\n */\n@media all and (max-width: 768px) {\n .hidden-xs {\n display: none;\n }\n}\n/*\n * shadow on scroll\n */\n.scroll {\n overflow-y: scroll;\n background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%, radial-gradient(farthest-side at 75% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 75% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #FFF;\n background-size: 100% 10px, 100% 10px, 100% 5px, 100% 5px;\n}\n::-webkit-scrollbar {\n width: 1em;\n}\n::-webkit-scrollbar-track {\n background: #F9F9F9;\n border-top: 0;\n border-bottom: 0;\n}\n::-webkit-scrollbar-thumb {\n background: #C1C1C1;\n border-radius: 1em;\n border: 4px solid #F9F9F9;\n}\n.input.toggle-switch {\n display: flex;\n padding-top: 1em;\n padding-bottom: 0.5em;\n}\n.input.toggle-switch label {\n padding-top: 0.15em;\n padding-left: 1em;\n order: 2;\n flex: 1 1;\n font-weight: normal;\n font-size: 1em;\n}\n.input.toggle-switch.disabled label {\n color: #969696;\n}\n.input.toggle-switch .toggle-switch-checkbox {\n order: -1;\n flex: 0 0 3em;\n display: none;\n}\n.input.toggle-switch .toggle-switch-checkbox,\n.input.toggle-switch .toggle-switch-checkbox:after,\n.input.toggle-switch .toggle-switch-checkbox:before,\n.input.toggle-switch .toggle-switch-checkbox *,\n.input.toggle-switch .toggle-switch-checkbox *:after,\n.input.toggle-switch .toggle-switch-checkbox *:before,\n.input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button {\n box-sizing: border-box;\n}\n.input.toggle-switch .toggle-switch-checkbox::-moz-selection, .input.toggle-switch .toggle-switch-checkbox:after::-moz-selection, .input.toggle-switch .toggle-switch-checkbox:before::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *:after::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *:before::-moz-selection, .input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button::-moz-selection {\n background: none;\n}\n.input.toggle-switch .toggle-switch-checkbox::selection,\n.input.toggle-switch .toggle-switch-checkbox:after::selection,\n.input.toggle-switch .toggle-switch-checkbox:before::selection,\n.input.toggle-switch .toggle-switch-checkbox *::selection,\n.input.toggle-switch .toggle-switch-checkbox *:after::selection,\n.input.toggle-switch .toggle-switch-checkbox *:before::selection,\n.input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button::selection {\n background: none;\n}\n.input.toggle-switch .toggle-switch-button {\n order: -1;\n flex: none;\n outline: 0;\n display: block;\n width: 3em;\n height: 1.5em;\n position: relative;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: #F3F3F3;\n border-radius: 2em;\n padding: 2px;\n transition: all 0.4s ease;\n border: 1px solid #DDD;\n}\n.input.toggle-switch .toggle-switch-button span {\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n}\n.input.toggle-switch .toggle-switch-button span .focusable:active,\n.input.toggle-switch .toggle-switch-button span .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n.input.toggle-switch .toggle-switch-button span .focusable:active,\n.input.toggle-switch .toggle-switch-button span .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n.input.toggle-switch .toggle-switch-button:hover:after {\n will-change: padding;\n}\n.input.toggle-switch .toggle-switch-button:active {\n box-shadow: inset 0 0 0 2em #e8eae9;\n}\n.input.toggle-switch .toggle-switch-button:active:after {\n padding-right: 0.8em;\n}\n.input.toggle-switch .toggle-switch-button:after,\n.input.toggle-switch .toggle-switch-button:before {\n position: relative;\n display: block;\n content: "";\n width: 50%;\n height: 100%;\n}\n.input.toggle-switch .toggle-switch-button:after {\n left: 0;\n border-radius: 2em;\n background: #FFF;\n transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);\n}\n.input.toggle-switch .toggle-switch-button:before {\n display: none;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:after {\n left: 50%;\n}\n.input.toggle-switch .toggle-switch-checkbox:disabled + .toggle-switch-button {\n background: #FFF;\n cursor: not-allowed;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button {\n background: #66CC00;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:active {\n box-shadow: none;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:active:after {\n margin-left: -0.8em;\n}\n.input.toggle-switch .toggle-switch-checkbox:disabled:checked + .toggle-switch-button {\n background: #e6ffcc;\n}\nh1 .input.toggle-switch,\nh2 .input.toggle-switch,\nh3 .input.toggle-switch,\nh4 .input.toggle-switch,\nh5 .input.toggle-switch,\nh6 .input.toggle-switch {\n float: left;\n padding: 0.4em 1em 0 0;\n}\n/* credit: http://lea.verou.me/2012/04/background-attachment-local/ */\n.scroll-shadow {\n overflow: auto;\n background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #FFF;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n}\n.simplebar-content {\n /* Opera doesn\'t support this in the shorthand */\n overflow: auto;\n background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #FFF;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n}\n.shimmer {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n content: \'\';\n -webkit-animation: shimmer 2s infinite;\n animation: shimmer 2s infinite;\n background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.1) 30%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0));\n}\n@-webkit-keyframes shimmer {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n}\n@keyframes shimmer {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n}\n.accordion .accordion-header {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.accordion .accordion-header:before,\n.accordion .accordion-header:after {\n content: "";\n display: table;\n}\n.accordion .accordion-header:after {\n clear: both;\n}\n.accordion .accordion-header:before,\n.accordion .accordion-header:after {\n content: "";\n display: table;\n}\n.accordion .accordion-header:after {\n clear: both;\n}\n.accordion .accordion-header a {\n color: #333;\n display: block;\n}\n.accordion .accordion-header a:hover {\n color: #2894DF;\n}\n.accordion .accordion-content {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.accordion .accordion-content:before,\n.accordion .accordion-content:after {\n content: "";\n display: table;\n}\n.accordion .accordion-content:after {\n clear: both;\n}\n.accordion .accordion-content:before,\n.accordion .accordion-content:after {\n content: "";\n display: table;\n}\n.accordion .accordion-content:after {\n clear: both;\n}\n.accordion .accordion-content .processing-wrapper {\n background-color: #FFF;\n padding: 0.5em 1.5em;\n}\n.accordion .accordion-content .processing-wrapper .processing-text {\n position: relative;\n padding-left: 1.5em;\n}\n.accordion .accordion-content .processing-wrapper .processing-text:before {\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 0px;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n background-size: auto 75% ;\n}\n.accordion.closed .accordion-content {\n display: none;\n}\n.dialog .accordion .accordion-header {\n margin-bottom: 0.5em;\n}\n.dialog .accordion .accordion-header a {\n display: inline;\n border-bottom: 0;\n}\n.accordion.sidebar-section .accordion-header a {\n border: 0;\n}\n.accordion.sidebar-section .accordion-header a .svg-icon {\n position: absolute;\n right: 1.5em;\n margin-top: 0.25em;\n}\n.accordion.navigation .accordion-header .main-cell a:before {\n margin-left: -1.25em;\n margin-top: 0.25em;\n content: "\\f0d7";\n /* caret down */\n font: normal normal normal 1em FontAwesome;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n position: absolute;\n text-align: center;\n}\n.accordion.navigation .accordion-content > .empty-content {\n padding: 0 0 0 2.5em;\n}\n/* actions */\n.header.third .main-action-wrapper {\n margin-top: 0.5em;\n padding-left: 0.625em;\n}\n.header.third .main-action-wrapper .button {\n float: left;\n font-size: 0.875em;\n min-width: 0.75em;\n}\n.header.third .actions-wrapper {\n margin-top: 0.5em;\n}\n.header.third .actions-wrapper .button {\n font-size: 0.875em;\n min-width: 4em;\n float: left;\n}\n.header.third .actions-wrapper li {\n display: inline;\n}\n.header.third .actions-wrapper .secondary {\n float: right;\n}\n.header.third .actions-wrapper .secondary .button {\n font-size: 0.875em;\n min-width: 1em;\n}\n.header.third .actions-wrapper .secondary .button.info {\n padding: 0.3285714em 1.025em 0.3285714em 1.025em;\n}\n.header.third .actions-wrapper .secondary .button.info .svg-icon {\n font-size: 1.33333333em;\n}\n/* hide secondary actions if there is no space */\n@media all and (max-width: 1024px) {\n .header.third .actions-wrapper .dropdown,\n .header.third .actions-wrapper .actions.secondary {\n display: none;\n }\n}\n/* hide icons if there is no space */\n@media all and (max-width: 1024px) {\n .header.third .main-action-wrapper i,\n .header.third .actions-wrapper i {\n display: none;\n }\n .header.third .main-action-wrapper i + span,\n .header.third .actions-wrapper i + span {\n margin-left: 0;\n }\n .header.third .main-action-wrapper .disabled,\n .header.third .actions-wrapper .disabled {\n display: none;\n }\n}\n/* hide text and only show icon if there is even less space */\n@media all and (max-width: 540px) {\n .header.third .main-action-wrapper a i,\n .header.third .actions-wrapper a i {\n display: block;\n }\n .header.third .main-action-wrapper a.button,\n .header.third .actions-wrapper a.button {\n min-width: 1em;\n font-size: 1em;\n }\n .header.third .main-action-wrapper a i + span,\n .header.third .actions-wrapper a i + span {\n margin-left: 0;\n display: none;\n }\n .header.third .main-action-wrapper .disabled,\n .header.third .actions-wrapper .disabled {\n display: none;\n }\n}\n.panel.aside .activity div.actions {\n margin-top: 1em;\n text-align: center;\n}\n.avatar img {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n}\n.big.avatar img {\n width: 72px;\n height: 72px;\n border-radius: 50%;\n}\n.announcement {\n margin: 0;\n top: 0;\n position: absolute;\n height: 2em;\n padding-top: 0.425em;\n font-size: 0.85em;\n text-align: center;\n background: #FEF0BF;\n color: #000;\n width: 100%;\n}\n.announcement a {\n color: #000;\n display: inline-block;\n margin-left: 0.5em;\n border-bottom-color: #666;\n}\n.announcement .announcement-close {\n float: right;\n border: 0;\n margin-right: 0.5em;\n margin-top: 0.15em;\n}\n.announcement + #container.page {\n top: 2em;\n}\n/*\n * Breadcrumbs\n */\n.breadcrumbs {\n height: 2em;\n padding: 0.1875em 0 0.1875em 0.1875em;\n margin-bottom: 0;\n background: #FFF;\n}\n.breadcrumbs ul {\n padding-top: 0.45em;\n margin-left: 0.1875em;\n}\n.breadcrumbs ul li {\n display: inline-block;\n font-size: 0.8em;\n /* 12px/base16>15 */\n margin-left: 0.25em;\n max-width: 25%;\n float: left;\n}\n.breadcrumbs ul li:before {\n content: "\\203A";\n /* unicode character › */\n margin-right: 0.5em;\n}\n.breadcrumbs ul li:first-child {\n margin-left: 0;\n padding-left: 0;\n}\n.breadcrumbs ul li:first-child:before {\n content: "";\n}\n.breadcrumbs ul a {\n border: 0;\n}\n.breadcrumbs div.main-cell {\n display: inline;\n}\n.panel.middle .breadcrumbs {\n border-bottom: 1px solid #DDD;\n}\n/*\n * Comment thread with add/edit form\n */\n.panel.aside .comments {\n width: 100%;\n /* mini fixed fluid 2 columns layout */\n}\n.panel.aside .comments .wrap-right-column {\n float: left;\n width: 100%;\n}\n.panel.aside .comments .right-column {\n margin-left: 2.5em;\n}\n.panel.aside .comments .left-column {\n float: left;\n width: 2em;\n margin-left: -100%;\n}\n.panel.aside .comments .comment {\n padding-bottom: 0.5em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /* picture */\n /* username and date */\n /* actions */\n /* triangle bubble */\n}\n.panel.aside .comments .comment:before,\n.panel.aside .comments .comment:after {\n content: "";\n display: table;\n}\n.panel.aside .comments .comment:after {\n clear: both;\n}\n.panel.aside .comments .comment:before,\n.panel.aside .comments .comment:after {\n content: "";\n display: table;\n}\n.panel.aside .comments .comment:after {\n clear: both;\n}\n.panel.aside .comments .comment p {\n background: #EEE;\n padding: 1em;\n margin-left: 10px;\n}\n.panel.aside .comments .comment .author.picture {\n width: 2em;\n height: 2em;\n margin-top: 0.25em;\n}\n.panel.aside .comments .comment .author.picture img {\n width: 2em;\n height: 2em;\n}\n.panel.aside .comments .comment .author.picture a {\n border: 0;\n}\n.panel.aside .comments .comment .metadata {\n font-style: italic;\n margin: 0.5em 0 1em 1em;\n}\n.panel.aside .comments .comment .metadata .author.username {\n max-width: 48%;\n float: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .comments .comment .metadata .author.username:after {\n content: \', \';\n}\n.panel.aside .comments .comment .metadata .modified {\n max-width: 48%;\n padding-right: 2px;\n padding-left: 4px;\n color: #969696;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .comments .comment .form-content {\n margin-left: 0.5em;\n}\n.panel.aside .comments .comment .actions {\n float: right;\n margin-top: -2.25em;\n margin-right: 0;\n}\n.panel.aside .comments .comment p:before {\n content: \' \';\n position: absolute;\n width: 1px;\n height: 1px;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid #EEE;\n margin-left: -1.8em;\n margin-top: -0.5em;\n}\n.panel.aside .comments .comment a.delete-comment {\n border: 0;\n}\n.contextual-menu {\n position: absolute;\n background: #FFF;\n border: 1px solid #DDD;\n width: 12em;\n box-shadow: 0px 0px 10px 0px #DDD;\n z-index: 993;\n left: 11.25em;\n display: none;\n padding: 0.25em 0;\n}\n.contextual-menu a {\n font-size: 0.875em;\n /* 14px */\n display: block;\n padding: 0.357em 0.714em;\n /* 5px 10px */\n border: 0;\n}\n.contextual-menu a:hover {\n color: #333;\n background: #EEE;\n}\n.contextual-menu li.disabled a {\n color: #DDD;\n}\n.contextual-menu li.disabled a:hover {\n color: #DDD;\n background: #EEE;\n}\n.contextual-menu .separator-before {\n border-top: 1px solid #DDD;\n}\n.contextual-menu .separator-after {\n border-bottom: 1px solid #DDD;\n}\n/* Dialog */\n.dialog-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 800;\n background: rgba(255, 255, 255, 0.9);\n overflow: auto;\n}\n.dialog-wrapper .placeholder {\n position: relative;\n width: 1em;\n margin: auto;\n height: 100%;\n}\n.dialog-wrapper .placeholder .loading {\n position: absolute;\n top: 30%;\n height: 2em;\n width: 2em;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_8___+');\n background-size: 2em 2em;\n}\n.dialog {\n position: relative;\n max-width: 30em;\n border: 1px solid #DDD;\n background: #F3F3F3;\n margin: auto;\n margin-top: 1%;\n /* some space for the footer / notification area in case it is really tall */\n margin-bottom: 3em;\n box-shadow: 0px 0px 10px 0px #DDD;\n /* header */\n /* inputs */\n /* Error display */\n /* submit / cancel */\n}\n.dialog.medium {\n max-width: 36em;\n}\n.dialog .dialog-header {\n padding: 0.5em 1em 0 1em;\n height: 3em;\n}\n.dialog .dialog-header h2 {\n margin: 0.25em 2em 0.5em 0.2em;\n font-size: 1.2em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.dialog .dialog-header h2 svg {\n position: relative;\n top: 0.0625em;\n}\n.dialog .dialog-header .tooltip-alt {\n margin-left: 0.3em;\n font-size: 0.7em;\n font-weight: normal;\n color: #333;\n}\n.dialog .dialog-header .tooltip-alt .tooltip-text {\n white-space: normal;\n}\n.dialog .dialog-header .dialog-header-subtitle {\n padding-top: 0.3em;\n padding-left: 1em;\n font-size: 0.7em;\n color: #333;\n}\n.dialog .dialog-header .dialog-close {\n margin-top: -2.5em;\n}\n.dialog .form-content {\n background: #FFF;\n padding: 0.813em 1.5em 1.5em 1.5em;\n}\n.dialog p {\n margin-top: 0.5em;\n font-size: 1em;\n /* 15px */\n}\n.dialog p + .checkbox {\n padding-bottom: 0.5em;\n}\n.dialog p + .checkbox label {\n font-size: 1em;\n}\n.dialog label {\n clear: both;\n font-size: 0.9375em;\n /* 15px */\n line-height: 1.6em;\n /* 24px */\n}\n.dialog input[type=text],\n.dialog textarea {\n width: 100%;\n box-sizing: border-box;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.dialog input[type=text]:before,\n.dialog textarea:before,\n.dialog input[type=text]:after,\n.dialog textarea:after {\n content: "";\n display: table;\n}\n.dialog input[type=text]:after,\n.dialog textarea:after {\n clear: both;\n}\n.dialog input[type=text]:before,\n.dialog textarea:before,\n.dialog input[type=text]:after,\n.dialog textarea:after {\n content: "";\n display: table;\n}\n.dialog input[type=text]:after,\n.dialog textarea:after {\n clear: both;\n}\n.dialog textarea + .message,\n.dialog input + .message {\n display: none;\n /* do not show empty placeholders */\n}\n.dialog textarea + .message.error,\n.dialog input + .message.error {\n display: block;\n clear: both;\n width: 100%;\n}\n.dialog .inline-error {\n color: #D40101;\n font-weight: bold;\n}\n.dialog .accordion-header a {\n display: inline;\n}\n.dialog .submit-wrapper {\n margin: 0;\n clear: both;\n width: 100%;\n padding: 0.75em 0;\n}\n.dialog .submit-wrapper .cancel,\n.dialog .submit-wrapper .button {\n float: right;\n margin-right: 1.25em;\n font-size: 1.125em;\n}\n.dialog .submit-wrapper .button {\n box-sizing: border-box;\n min-width: 5em;\n}\n.dialog .submit-wrapper .secondary {\n float: left;\n margin-left: 1.5em;\n margin-top: 0.7em;\n font-size: 1em;\n}\n.dialog .submit-wrapper .cancel {\n margin-top: 0.7em;\n font-size: 1em;\n}\n/* can also be used outside a dialog, like the sidebar */\n.dialog-close,\n.dialog-close:hover {\n display: block;\n float: right;\n border: 0;\n}\n.dialog-close:active {\n border-radius: 0.214em;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.dialog-close .fa-close {\n padding-top: 15px;\n width: 30px;\n height: 15px;\n text-align: center;\n display: block;\n vertical-align: baseline;\n line-height: 0;\n border: 1px solid #EEE;\n border-radius: 0.214em;\n}\n.dialog-close .svg-icon {\n padding: 7px 0 7px 0;\n width: 30px;\n height: 15px;\n text-align: center;\n display: block;\n vertical-align: baseline;\n line-height: 15px;\n border: 1px solid #EEE;\n border-radius: 0.214em;\n}\n.dialog-close:hover .fa-close,\n.dialog-close:hover .svg-icon {\n border: 1px solid #DDD;\n border-radius: 0.214em;\n}\n/* reduce font-size for small screen */\n@media all and (max-width: 480px) {\n .dialog {\n margin: 0;\n border: 0;\n box-shadow: none;\n width: 100%;\n max-width: 100%;\n margin-bottom: 2.5em;\n }\n}\n.drag-and-drop,\n.drag-and-drop-multiple {\n position: absolute;\n top: -1000px;\n background: #666;\n border: 1px solid #969696;\n z-index: 9999999;\n padding: 0.65em;\n line-height: 1em;\n color: #FFF;\n border-radius: 5px;\n}\n.drag-and-drop svg,\n.drag-and-drop-multiple svg {\n position: absolute;\n margin-top: -0.85em;\n margin-left: 0.4em;\n}\n.drag-and-drop svg path,\n.drag-and-drop-multiple svg path {\n fill: #FFF;\n}\n.drag-and-drop span.message,\n.drag-and-drop-multiple span.message {\n display: inline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.drag-and-drop span.message.not-allowed,\n.drag-and-drop-multiple span.message.not-allowed {\n padding-left: 1.85em;\n}\n.drag-and-drop-multiple {\n box-shadow: 0.25em 0.25em 0 -1px #969696;\n}\n.drag-and-drop-multiple .count {\n position: absolute;\n top: -9px;\n right: -3px;\n font-size: 0.7em;\n background: #D40101;\n color: #FFF;\n width: 1.5em;\n height: 1.5em;\n text-align: center;\n line-height: 1.5em;\n border-radius: 50%;\n box-shadow: 0 0 1px #333;\n}\n.drop-focus {\n background-color: #FFFAE7;\n}\n/* dropdown button */\n.dropdown {\n float: left;\n /* dropdown content */\n}\n.dropdown .button:focus,\n.dropdown .button.create:focus {\n border: 1px solid #DDD;\n color: #333;\n background: #FFF;\n z-index: 801;\n border-bottom: 0;\n -webkit-border-bottom-right-radius: 0;\n -webkit-border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -moz-border-radius-bottomleft: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.dropdown .button:focus .svg-icon svg,\n.dropdown .button.create:focus .svg-icon svg {\n fill: #333;\n}\n.dropdown .button.more .svg-icon svg {\n top: 0.15em;\n margin-left: 0.5em;\n}\n.dropdown .button.create .svg-icon svg {\n fill: #FFF;\n}\n.dropdown .button.create.disabled .svg-icon svg {\n fill: #888;\n}\n.dropdown .dropdown-content {\n display: none;\n border: 1px solid #DDD;\n background: #FFF;\n float: left;\n position: absolute;\n min-width: 13em;\n z-index: 800;\n padding: 0.25em 0;\n}\n.dropdown .dropdown-content.visible {\n display: block;\n}\n.dropdown .dropdown-content.right {\n right: 0;\n}\n.dropdown .dropdown-content li a {\n display: block;\n min-width: 9em;\n font-size: 0.9375em;\n border: 0;\n padding: 0.313em 0.626em;\n /* 5px */\n}\n.dropdown .dropdown-content li a:hover {\n background: #EEE;\n text-decoration: none;\n color: #333;\n}\n.dropdown .dropdown-content li.disabled a,\n.dropdown .dropdown-content li.disabled a:hover {\n color: #969696;\n}\n.dropdown .dropdown-content li .separator-before {\n border-top: 1px solid #DDD;\n}\n.dropdown .dropdown-content li .separator-after {\n border-bottom: 1px solid #DDD;\n}\n.dropdown .button + .dropdown-content {\n margin-top: 2em;\n margin-bottom: 2em;\n}\n.panel .folders.navigation {\n border: 0;\n}\n.panel .folders.navigation ul {\n list-style: none;\n padding: 0;\n}\n.panel .folders.navigation .folders-label-selected {\n background: #F3F3F3;\n}\n.panel .folders.navigation .folders-label-height {\n height: 1.8em;\n}\n.panel .folders.navigation.first {\n padding-top: 0;\n}\n.panel .folders.navigation .row {\n /* title row */\n /* disabled row */\n}\n.panel .folders.navigation .row .main-cell span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: inline-block;\n margin-top: 0.2em;\n width: calc(100% - 2.5em);\n}\n.panel .folders.navigation .row .main-cell .svg-icon {\n display: inline;\n}\n.panel .folders.navigation .row .main-cell .svg-icon.hidden {\n display: none;\n}\n.panel .folders.navigation .row .main-cell .svg-icon svg {\n width: 0.83em;\n height: 0.83em;\n position: absolute;\n margin-top: 0.5em;\n fill: #333;\n}\n.panel .folders.navigation .row .main-cell a {\n padding: 0 0 0 2.2em;\n}\n.panel .folders.navigation .row .main-cell a .svg-icon.caret-right svg,\n.panel .folders.navigation .row .main-cell a .svg-icon.caret-down svg {\n margin-left: -1.2em;\n margin-top: 0.4em;\n width: 1em;\n height: 1em;\n position: absolute;\n}\n.panel .folders.navigation .row .main-cell a .folder-name {\n margin-left: 1.3em;\n}\n.panel .folders.navigation .row .right-cell {\n margin-top: -1.66666667em;\n}\n.panel .folders.navigation .row.title .main-cell h3 {\n padding-top: 0.26666667em;\n /* 4px */\n padding-bottom: 0;\n border: 0;\n margin-top: 0;\n line-height: 1.26666667em;\n /* 19px */\n}\n.panel .folders.navigation .row.title .main-cell h3 span {\n width: 100%;\n margin-top: 0;\n}\n.panel .folders.navigation .row.title .main-cell h3 a {\n padding-left: 0;\n}\n.panel .folders.navigation .row.title .main-cell h3 a::before,\n.panel .folders.navigation .row.title .main-cell h3 a::after {\n display: none;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label {\n width: 100%;\n margin-left: 1em;\n cursor: pointer;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label span {\n width: calc(100% - 1.5em);\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.caret-right svg,\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.caret-down svg {\n margin-left: -1.2em;\n margin-top: 0.2em;\n width: 1em;\n height: 1em;\n position: absolute;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.spinner svg {\n margin-left: -1.1em;\n margin-top: 0.3em;\n width: 0.83em;\n height: 0.83em;\n position: absolute;\n}\n.panel .folders.navigation .row.title .right-cell {\n margin-top: -1.66666667em;\n}\n.panel .folders.navigation .row.disabled {\n cursor: default;\n pointer-events: none;\n}\n.panel .folders.navigation .row.disabled .main-cell span.folder-name {\n color: #888;\n text-shadow: none;\n font-weight: normal;\n}\n.panel .folders.navigation .row.disabled .main-cell span.svg-icon svg {\n fill: #888;\n}\n.panel .folders.navigation .row.disabled .main-cell a:before {\n color: #888;\n}\n.panel .folders.navigation .row.disabled.is-dragged {\n pointer-events: auto;\n}\n.panel .folders.navigation li li {\n padding-left: 1.15em;\n}\n.input.location {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.input.location:before,\n.input.location:after {\n content: "";\n display: table;\n}\n.input.location:after {\n clear: both;\n}\n.input.location:before,\n.input.location:after {\n content: "";\n display: table;\n}\n.input.location:after {\n clear: both;\n}\n.input.location .location-input {\n padding: 0.25em 0;\n margin-bottom: 0.5em;\n width: 100%;\n float: left;\n box-sizing: border-box;\n border: 1px solid #CCC;\n background: #FFF;\n}\n.input.location .breadcrumbs {\n font-size: 1.125em;\n background: transparent;\n box-sizing: border-box;\n float: left;\n width: 79%;\n padding-left: 0em;\n margin-top: -0.25em;\n}\n.input.location .breadcrumbs ul {\n float: left;\n width: 100%;\n padding-right: 0.5em;\n box-sizing: border-box;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.input.location .breadcrumbs li {\n display: inline;\n}\n.input.location .button {\n border: 0;\n box-sizing: border-box;\n float: right;\n width: 19%;\n margin: 0 0.25em 0 0;\n}\n/*\n\tform to add new permissions\n\tbasically this form is embedded in a dedicated iframe released by the plugin\n*/\n.form-content.permission-add label {\n padding-bottom: 0.5em;\n padding-top: 1em;\n height: 1.5em;\n}\n.form-content.permission-add .autocomplete input {\n margin-bottom: 0;\n}\n.form-content.permission-add .message {\n padding-left: 0;\n}\n/*\n\tautocomplete users results\n\tbasically this list of users is embedded in a dedicated iframe released by the plugin\n*/\n.autocomplete-wrapper {\n position: relative;\n /* hide icons if there is no space */\n}\n.autocomplete-wrapper .autocomplete-content {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 899;\n padding: 0;\n margin: 0;\n border: 1px solid #DDD;\n max-height: 10em;\n overflow: auto;\n box-sizing: border-box;\n}\n.autocomplete-wrapper .autocomplete-content .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n font-size: 0.813em;\n padding: 0.825em 0.5em 0.5em 1em;\n border-bottom: 1px dotted #DDD;\n /* user summary */\n}\n.autocomplete-wrapper .autocomplete-content .row:before,\n.autocomplete-wrapper .autocomplete-content .row:after {\n content: "";\n display: table;\n}\n.autocomplete-wrapper .autocomplete-content .row:after {\n clear: both;\n}\n.autocomplete-wrapper .autocomplete-content .row:before,\n.autocomplete-wrapper .autocomplete-content .row:after {\n content: "";\n display: table;\n}\n.autocomplete-wrapper .autocomplete-content .row:after {\n clear: both;\n}\n.autocomplete-wrapper .autocomplete-content .row:last-child {\n border: 0;\n}\n.autocomplete-wrapper .autocomplete-content .row.selected,\n.autocomplete-wrapper .autocomplete-content .row:hover {\n background: #F3F3F3;\n}\n.autocomplete-wrapper .autocomplete-content .row .avatar img {\n float: left;\n}\n.autocomplete-wrapper .autocomplete-content .row .user,\n.autocomplete-wrapper .autocomplete-content .row .group {\n width: 75%;\n float: left;\n padding-left: 1em;\n padding-right: 1em;\n}\n.autocomplete-wrapper .autocomplete-content .row .name {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.autocomplete-wrapper .autocomplete-content .row .details {\n color: #969696;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: block;\n}\n.autocomplete-wrapper .autocomplete-content .row.loading .info {\n margin-left: 3.8em;\n}\n.autocomplete-wrapper .autocomplete-content .row.loading .info:after {\n width: 60%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 1.45em;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n}\n@media all and (max-width: 440px) {\n .autocomplete-wrapper .autocomplete-content {\n height: auto;\n max-height: none;\n }\n}\n/*\n\tPassword fields in passbolt have complexity "progress bar"\n\tand a custom layout to accommodate buttons on the left end\n*/\n.input-password-wrapper {\n width: 100%;\n /* same than default inputs width in dialogs */\n box-sizing: border-box;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.input-password-wrapper:before,\n.input-password-wrapper:after {\n content: "";\n display: table;\n}\n.input-password-wrapper:after {\n clear: both;\n}\n.input-password-wrapper:before,\n.input-password-wrapper:after {\n content: "";\n display: table;\n}\n.input-password-wrapper:after {\n clear: both;\n}\n.input-password-wrapper .input.password {\n float: left;\n width: 65.5%;\n}\n.input-password-wrapper .input.password input[type=text],\n.input-password-wrapper .input.password input[type=password] {\n width: calc(100% - 3.5em);\n box-sizing: border-box;\n}\n.input-password-wrapper .input.password input[type=password].decrypting {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') no-repeat 90% center;\n}\n.input-password-wrapper .actions.inline {\n float: right;\n width: 30%;\n}\n.input-password-wrapper .actions.inline .button {\n float: left;\n width: 3.75em;\n padding-left: 0;\n padding-right: 0;\n}\n.input-password-wrapper .actions.inline .button + .button {\n margin-left: 0.5em;\n}\n.input-password-wrapper .password-complexity .complexity-text {\n float: right;\n clear: right;\n width: 30%;\n font-size: 11px;\n text-align: left;\n padding-left: 0;\n}\n.input-password-wrapper .password-complexity.not_available .complexity-text {\n color: #DDD;\n}\n.input-password-wrapper .password-complexity .progress {\n width: 65.5%;\n box-sizing: border-box;\n border: 1px solid #DDD;\n height: 10px;\n display: block;\n clear: both;\n margin: 0.25em 0 0.5em 0;\n float: left;\n}\n.input-password-wrapper .password-complexity .progress-bar {\n background: #000;\n width: 0;\n height: 6px;\n display: block;\n float: left;\n margin: 1px;\n}\n.input-password-wrapper .password-complexity .progress-bar.very-weak {\n background: #000;\n width: 5%;\n}\n.input-password-wrapper .password-complexity .progress-bar.weak {\n background: #D40101;\n width: 10%;\n}\n.input-password-wrapper .password-complexity .progress-bar.fair {\n background: #FFBD2E;\n width: 60%;\n}\n.input-password-wrapper .password-complexity .progress-bar.strong {\n background: #66CC00;\n width: 80%;\n}\n.input-password-wrapper .password-complexity .progress-bar.very-strong {\n background: #009900;\n width: 99.5%;\n}\n@media all and (max-width: 400px) {\n .input-password-wrapper .input.password {\n float: left;\n width: 100%;\n }\n .input-password-wrapper .actions.inline {\n width: 50%;\n float: left;\n margin-bottom: 0.5em;\n }\n .input-password-wrapper .password-complexity .progress {\n display: none;\n }\n .input-password-wrapper .password-complexity .complexity-text {\n float: left;\n width: 50%;\n font-size: 0.831em;\n margin-top: 0.5em;\n }\n .fa.fa-lg {\n line-height: 1;\n }\n}\n.security-token {\n font-size: 1em;\n padding: 0.375em 0;\n text-align: center;\n display: inline-block;\n width: 4em;\n margin-top: -0.5em;\n margin-left: -0.5em;\n border: 1px solid #BBB;\n line-height: 1.5em;\n vertical-align: middle;\n box-sizing: border-box;\n}\n/*!\nChosen, a Select Box Enhancer for jQuery and Prototype\nby Patrick Filler for Harvest, http://getharvest.com\n\nVersion 1.8.3\nFull source at https://github.com/harvesthq/chosen\nCopyright (c) 2011-2018 Harvest http://getharvest.com\n\nMIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\nThis file is generated by `grunt build`, do not edit it by hand.\n*/\n/* @group Base */\n.chosen-container {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n font-size: 13px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.chosen-container * {\n box-sizing: border-box;\n}\n.chosen-container .chosen-drop {\n position: absolute;\n top: 100%;\n z-index: 1010;\n width: 100%;\n border: 1px solid #aaa;\n border-top: 0;\n background: #FFF;\n box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);\n display: none;\n}\n.chosen-container.chosen-container-single {\n padding: 0;\n width: 83%;\n}\n.chosen-container.chosen-container-single.connection-type {\n float: left;\n width: 23%;\n}\n.chosen-container.chosen-with-drop .chosen-drop {\n display: block;\n}\n.chosen-container a {\n cursor: pointer;\n}\n.chosen-container .search-choice .group-name,\n.chosen-container .chosen-single .group-name {\n margin-right: 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-weight: normal;\n color: #969696;\n}\n.chosen-container .search-choice .group-name:after,\n.chosen-container .chosen-single .group-name:after {\n content: "\\003A";\n /* unicode character : */\n padding-left: 2px;\n vertical-align: top;\n}\n/* @end */\n/* @group Single Chosen */\n.chosen-container-single .chosen-single {\n position: relative;\n display: block;\n overflow: hidden;\n padding: 0 0 0 8px;\n height: 25px;\n border: 1px solid #BBB;\n border-radius: 5px;\n background-color: #FFF;\n background: linear-gradient(#FFF 20%, #DDD 50%, #EEE 52%, #F3F3F3 100%);\n background-clip: padding-box;\n box-shadow: 0 0 3px #FFF inset, 0 1px 1px rgba(0, 0, 0, 0.1);\n color: #333;\n text-decoration: none;\n white-space: nowrap;\n line-height: 24px;\n}\n.chosen-container-single .chosen-single input[type="text"] {\n cursor: pointer;\n opacity: 0;\n position: absolute;\n}\n.chosen-container-single .chosen-default {\n color: #888;\n}\n.chosen-container-single .chosen-single span {\n display: block;\n overflow: hidden;\n margin-right: 26px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.chosen-container-single .chosen-single-with-deselect span {\n margin-right: 38px;\n}\n.chosen-container-single .chosen-single abbr {\n position: absolute;\n top: 6px;\n right: 26px;\n display: block;\n width: 12px;\n height: 12px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+") -42px 1px no-repeat;\n font-size: 1px;\n}\n.chosen-container-single .chosen-single abbr:hover {\n background-position: -42px -10px;\n}\n.chosen-container-single.chosen-disabled .chosen-single abbr:hover {\n background-position: -42px -10px;\n}\n.chosen-container-single .chosen-single div {\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 18px;\n height: 100%;\n}\n.chosen-container-single .chosen-single div b {\n display: block;\n width: 100%;\n height: 100%;\n background: url("+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat 0px 2px;\n}\n.chosen-container-single .chosen-search {\n position: relative;\n z-index: 1010;\n margin: 0;\n padding: 3px 4px;\n white-space: nowrap;\n}\n.chosen-container-single .chosen-search span.svg-icon {\n position: absolute;\n margin-left: -1.5em;\n margin-top: 0.35em;\n}\n.chosen-container-single .chosen-search input[type="text"] {\n margin: 1px 0;\n padding: 4px 20px 4px 5px;\n width: 100%;\n height: auto;\n outline: 0;\n border: 1px solid #BBB;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat 100% -20px;\n font-size: 1em;\n font-family: sans-serif;\n line-height: normal;\n border-radius: 0;\n}\n.chosen-container-single .chosen-drop {\n margin-top: -0.5em;\n border-radius: 0 0 4px 4px;\n background-clip: padding-box;\n}\n.chosen-container-single.chosen-container-single-nosearch .chosen-search {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n}\n/* @end */\n/* @group Results */\n.chosen-container .chosen-results {\n color: #333;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n margin: 0 4px 4px 0;\n padding: 0 0 0 4px;\n max-height: 240px;\n -webkit-overflow-scrolling: touch;\n}\n.chosen-container .chosen-results li {\n display: none;\n margin: 0;\n padding: 5px 6px;\n list-style: none;\n line-height: 15px;\n word-wrap: break-word;\n -webkit-touch-callout: none;\n}\n.chosen-container .chosen-results li.active-result {\n display: list-item;\n cursor: pointer;\n}\n.chosen-container .chosen-results li.disabled-result {\n display: list-item;\n color: #DDD;\n cursor: default;\n}\n.chosen-container .chosen-results li:hover {\n background-color: #daecf9;\n background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);\n color: #FFF;\n}\n.chosen-container .chosen-results li.no-results {\n color: #666;\n display: list-item;\n background: #F3F3F3;\n}\n.chosen-container .chosen-results li.group-result {\n display: list-item;\n font-weight: bold;\n cursor: default;\n}\n.chosen-container .chosen-results li.group-option {\n padding-left: 15px;\n}\n.chosen-container .chosen-results li em {\n font-style: normal;\n text-decoration: underline;\n}\n/* @end */\n/* @group Multi Chosen */\n.chosen-container-multi .chosen-choices {\n position: relative;\n overflow: hidden;\n margin: 0;\n padding: 0 5px;\n width: 100%;\n height: auto;\n border: 1px solid #BBB;\n background-color: #FFF;\n background-image: linear-gradient(#EEE 1%, #FFF 15%);\n cursor: text;\n}\n.chosen-container-multi .chosen-choices li {\n float: left;\n list-style: none;\n}\n.chosen-container-multi .chosen-choices li.search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n.chosen-container-multi .chosen-choices li.search-field input[type="text"] {\n margin: 1px 0;\n padding: 0;\n height: 25px;\n outline: 0;\n border: 0 !important;\n background: transparent !important;\n box-shadow: none;\n color: #888;\n font-size: 100%;\n font-family: sans-serif;\n line-height: normal;\n border-radius: 0;\n width: 25px;\n}\n.chosen-container-multi .chosen-choices li.search-choice {\n position: relative;\n margin: 3px 5px 3px 0;\n padding: 3px 20px 3px 5px;\n border: 1px solid #BBB;\n max-width: 100%;\n border-radius: 3px;\n background-color: #FFF;\n background-image: linear-gradient(#FFF 20%, #DDD 50%, #EEE 52%, #F3F3F3 100%);\n background-size: 100% 19px;\n background-repeat: repeat-x;\n background-clip: padding-box;\n box-shadow: 0 0 2px #FFF inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n color: #DDD;\n line-height: 13px;\n cursor: default;\n}\n.chosen-container-multi .chosen-choices li.search-choice span {\n word-wrap: break-word;\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n position: absolute;\n top: 4px;\n right: 3px;\n display: block;\n width: 12px;\n height: 12px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') -42px 1px no-repeat;\n font-size: 1px;\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {\n background-position: -42px -10px;\n}\n.chosen-container-multi .chosen-choices li.search-choice-disabled {\n padding-right: 5px;\n border: 1px solid #CCC;\n background-color: #F3F3F3;\n background-image: linear-gradient(#FFF 20%, #DDD 50%, #EEE 52%, #F3F3F3 100%);\n color: #666;\n}\n.chosen-container-multi .chosen-choices li.search-choice-focus {\n background: #DDD;\n}\n.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {\n background-position: -42px -10px;\n}\n.chosen-container-multi .chosen-results {\n margin: 0;\n padding: 0;\n}\n.chosen-container-multi .chosen-drop .result-selected {\n display: list-item;\n color: #EEE;\n cursor: default;\n}\n/* @end */\n/* @group Active */\n.chosen-container-active .chosen-single {\n border: 1px solid #2894DF;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);\n}\n.chosen-container-active.chosen-with-drop .chosen-single {\n border: 1px solid #BBB;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background-image: linear-gradient(#EEE 20%, #FFF 80%);\n box-shadow: 0 1px 0 #FFF inset;\n}\n.chosen-container-active.chosen-with-drop .chosen-single div {\n border-left: none;\n background: transparent;\n}\n.chosen-container-active.chosen-with-drop .chosen-single div b {\n background-position: -18px 2px;\n}\n.chosen-container-active .chosen-choices {\n border: 1px solid #2894DF;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);\n}\n.chosen-container-active .chosen-choices li.search-field input[type="text"] {\n color: #333 !important;\n}\n/* @end */\n/* @group Disabled Support */\n.chosen-disabled {\n opacity: 0.5 !important;\n cursor: default;\n}\n.chosen-disabled .chosen-single {\n cursor: default;\n}\n.chosen-disabled .chosen-choices .search-choice .search-choice-close {\n cursor: default;\n}\n/* @end */\n/* @group Right to Left */\n.chosen-rtl {\n text-align: right;\n}\n.chosen-rtl .chosen-single {\n overflow: visible;\n padding: 0 8px 0 0;\n}\n.chosen-rtl .chosen-single span {\n margin-right: 0;\n margin-left: 26px;\n direction: rtl;\n}\n.chosen-rtl .chosen-single-with-deselect span {\n margin-left: 38px;\n}\n.chosen-rtl .chosen-single div {\n right: auto;\n left: 3px;\n}\n.chosen-rtl .chosen-single abbr {\n right: auto;\n left: 26px;\n}\n.chosen-rtl .chosen-choices li {\n float: right;\n}\n.chosen-rtl .chosen-choices li.search-field input[type="text"] {\n direction: rtl;\n}\n.chosen-rtl .chosen-choices li.search-choice {\n margin: 3px 5px 3px 0;\n padding: 3px 5px 3px 19px;\n}\n.chosen-rtl .chosen-choices li.search-choice .search-choice-close {\n right: auto;\n left: 4px;\n}\n.chosen-rtl.chosen-container-single .chosen-results {\n margin: 0 0 4px 4px;\n padding: 0 4px 0 0;\n}\n.chosen-rtl .chosen-results li.group-option {\n padding-right: 15px;\n padding-left: 0;\n}\n.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {\n border-right: none;\n}\n.chosen-rtl .chosen-search input[type="text"] {\n padding: 4px 5px 4px 20px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat -30px -20px;\n direction: rtl;\n}\n.chosen-rtl.chosen-container-single .chosen-single div b {\n background-position: 6px 2px;\n}\n.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {\n background-position: -12px 2px;\n}\n/* @end */\n/* @group Retina compatibility */\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {\n .chosen-rtl .chosen-search input[type="text"],\n .chosen-container-single .chosen-single abbr,\n .chosen-container-single .chosen-single div b,\n .chosen-container-single .chosen-search input[type="text"],\n .chosen-container-multi .chosen-choices .search-choice .search-choice-close,\n .chosen-container .chosen-results-scroll-down span,\n .chosen-container .chosen-results-scroll-up span {\n background-image: url('+___CSS_LOADER_URL_REPLACEMENT_10___+') !important;\n background-size: 52px 37px !important;\n background-repeat: no-repeat !important;\n }\n}\n/* @end */\n/* redefinitions */\n.chosen-container {\n margin-bottom: 0.5em;\n}\n.chosen-container.chosen-disabled a.chosen-single {\n border: 1px solid #CCC;\n}\n.chosen-container a.chosen-single {\n color: #333;\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n height: 38px;\n width: 100%;\n background: #F3F3F3;\n border-radius: 0;\n border: 1px solid #CCC;\n border-top: 1px solid #BBB;\n box-shadow: none;\n margin: 0 0 0.5em 0;\n}\n.chosen-container a.chosen-single span {\n font-size: 16px;\n padding-top: 3px;\n margin-top: 2px;\n color: #333;\n}\n.chosen-container a.chosen-single span.svg-icon {\n float: left;\n}\n.chosen-container a.chosen-single div b {\n background-position: 0 6px;\n}\n.chosen-container .chosen-search input.chosen-search-input[type=text] {\n width: 95% !important;\n color: #666;\n}\n.chosen-container .chosen-drop {\n border: 1px solid #CCC !important;\n border-top: 0 !important;\n border-radius: 0 !important;\n background: #FFF !important;\n}\n.chosen-container .chosen-drop .chosen-results {\n color: #333;\n}\n.chosen-container.chosen-container-active.chosen-with-drop a.chosen-single {\n background: #FFF;\n border: 1px solid #CCC;\n border-top: 1px solid #BBB;\n box-shadow: none;\n}\n.chosen-container.chosen-container-active.chosen-with-drop a.chosen-single div b {\n background-position: -18px 8px;\n}\n/** Specific layout for connection info field\n This layout contains 3 fields on a single line:\n - a chosen select field to select the protocol\n - a host name text field\n - a port text field\n */\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host {\n border: 0;\n padding: 0;\n width: 70%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text {\n padding: 0;\n margin: 0;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text input {\n margin: 0;\n border-left: none;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.host {\n width: 75%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.host input[type=text] {\n width: 95%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol {\n width: 25%;\n position: relative;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container {\n display: block;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single {\n height: 38px;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single div b {\n background-position: 0px 10px;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single span {\n font-size: 16px;\n padding: 6px 0 0 0;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container-active.chosen-with-drop a.chosen-single div b {\n background-position: -18px 10px;\n}\n.singleline.connection_info.protocol_host_port .input.text.port {\n width: 9%;\n margin-left: 1%;\n}\n.singleline.connection_info.protocol_host_port .input.text.port input[type=number] {\n width: 100%;\n}\n/*\n * Footer\n */\n.footer {\n margin-top: 0;\n position: fixed;\n bottom: 0;\n padding: 1.167em 1.5% 0 0.5%;\n text-align: right;\n font-size: 0.75em;\n /* 12px */\n width: 98%;\n height: 2em;\n background: #FFF;\n border-top: 1px solid #DDD;\n z-index: 890;\n}\n.footer .footer-links {\n width: 100%;\n margin-top: -0.25em;\n}\n.footer .footer-links li {\n display: inline;\n margin-right: 1.5em;\n}\n.footer .footer-links li.error-message a {\n background-color: #FFF;\n color: #D40101;\n}\n.footer .footer-links li .github-star {\n display: inline;\n position: absolute;\n margin-left: -8em;\n margin-top: -1px;\n}\n.footer .footer-links a:not(.gh-btn):not(.gh-count) {\n border: 0;\n}\n/* headers */\n.header {\n overflow: visible !important;\n /* top navigation */\n /* logo positioning */\n}\n.header.first {\n background: #333;\n}\n.header.second {\n background: #EEE;\n}\n.header .navigation.primary {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.header .navigation.primary:before,\n.header .navigation.primary:after {\n content: "";\n display: table;\n}\n.header .navigation.primary:after {\n clear: both;\n}\n.header .navigation.primary:before,\n.header .navigation.primary:after {\n content: "";\n display: table;\n}\n.header .navigation.primary:after {\n clear: both;\n}\n.header .navigation.primary li {\n padding: 0.5em;\n float: left;\n}\n.header .navigation.primary li:first-child {\n padding-left: 1em;\n}\n.header .navigation.primary li.right {\n float: right;\n margin-right: 1em;\n}\n.header .navigation.primary li a {\n color: #DDD;\n text-decoration: none;\n border: 0;\n display: inline-block;\n}\n.header .navigation.primary li a:hover {\n color: #FFF;\n}\n.header .navigation.primary li a:active,\n.header .navigation.primary li a:focus {\n color: #2894DF;\n}\n.header .navigation.primary li a.highlighted {\n background-color: #2894DF;\n padding: 0 0.5em 0 0.5em;\n border-radius: 3px;\n}\n.header .navigation.primary li a.highlighted:active,\n.header .navigation.primary li a.highlighted:focus {\n color: #DDD;\n}\n.header .navigation.primary li .row.selected a {\n color: #FFF;\n}\n.header .navigation.primary li .row.selected a:focus {\n color: #2894DF;\n}\n.header .navigation.primary .github-star {\n display: none;\n position: absolute;\n right: 1em;\n top: 4px;\n}\n@media all and (min-width: 600px) {\n .header .navigation.primary .github-star {\n display: block;\n }\n}\n.header .logo {\n margin: 1.25em 0 0 1em;\n max-width: 80%;\n}\n/* Small Progress bar */\n.progress-bar {\n background: transparent;\n width: 100%;\n height: 2px;\n display: block;\n}\n.progress-bar span {\n background: #D40101;\n height: 2px;\n display: block;\n}\n/* larger progress bar */\n.progress-bar-wrapper {\n border: 1px solid #DDD;\n height: 10px;\n display: block;\n margin: 2em 0 1em 0;\n padding: 2px;\n}\n.progress-bar-wrapper .progress-bar.big {\n width: 100%;\n height: 10px;\n display: block;\n clear: both;\n /* indefinite loading */\n}\n.progress-bar-wrapper .progress-bar.big .progress {\n background: #D40101;\n width: 5%;\n display: block;\n height: 10px;\n}\n.progress-bar-wrapper .progress-bar.big.infinite {\n background: #D40101;\n}\n.progress-bar-wrapper .progress-bar.big.infinite .progress {\n width: 100%;\n overflow: hidden;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_11___+") repeat-x;\n -moz-opacity: 0.5;\n -khtml-opacity: 0.5;\n opacity: 0.5;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=5);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=5);\n filter: alpha(opacity=5);\n}\n.progress-details {\n color: #888;\n margin: 0.5em 0 0.5em 0;\n}\n.progress-details .progress-percent {\n float: right;\n}\n/*\n\tContextual loading bar\n\t it is situated at the bottom of the workspace\n*/\n.update-loading-bar {\n position: fixed;\n display: block;\n width: 100%;\n bottom: 2.35em;\n z-index: 991;\n}\n.update-loading-bar .progress-bar span {\n transition: width 2s;\n transition-timing-function: cubic-bezier(0.45, 1.27, 0.76, 0.9);\n}\n.logo.no-img {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+") 0 0 no-repeat;\n background-size: 150px auto;\n width: 150px;\n height: 30px;\n}\n.logo h1 {\n display: none;\n}\n.logo.bigger {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+') 0 0 no-repeat;\n background-size: 200px auto;\n width: 200px;\n height: 45px;\n}\n.header.second .col1 {\n min-width: 200px;\n}\n/* CSS for serving the retina image to devices with a high "device-pixel-ratio": */\n@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-devicepixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx) {\n .logo.no-img {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_12___+") 0 0 no-repeat;\n background-size: 150px auto;\n }\n .logo.bigger {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+') 0 0 no-repeat;\n background-size: 200px auto;\n }\n}\n/*\n\tdo not show javascript needed warning if js is enabled\n\tthis needs modernizer to work\n*/\n.js .message.no-js {\n display: none;\n}\n.cookies .message.no-cookies {\n display: none;\n}\n/* message styling per types */\n.message {\n padding: 1em;\n}\n.message a {\n border-bottom: 1px solid #888;\n}\n.message a:hover {\n border-bottom: 1px solid #2894DF;\n}\n.message.error {\n color: #333;\n background: #ffe4e4;\n}\n.message.error a:link,\n.message.error a:visited {\n color: #333;\n border-bottom: 1px dotted #888;\n}\n.message.error a:hover {\n color: #333;\n border-bottom: 1px solid #888;\n}\n.message.success {\n color: #333;\n background: #EDF7EB;\n}\n.message.notice {\n color: #333;\n background: #daecf9;\n}\n.message.warning {\n color: #333;\n background: #FEF0BF;\n}\n.message p:last-child {\n margin-bottom: 0;\n}\n/* big side info message blocks on setup or profile pages */\n.message.side-message {\n margin-left: 1em;\n font-size: 1em;\n margin-right: 2em;\n}\n.message.side-message ul,\n.message.side-message p {\n padding-bottom: 1em;\n}\n/* success animation */\n.message.success.success-large.animated {\n background: #FFF;\n color: #333;\n display: flex;\n border: 1px solid #DDD;\n border-radius: 3px;\n}\n.message.success.success-large.animated .illustration {\n flex: 0 0 180px;\n}\n.message.success.success-large.animated .additional-information {\n flex: 1 1;\n line-height: 180px;\n margin-top: 1.5em;\n padding-left: 1em;\n}\n@-webkit-keyframes drawCircle {\n 0% {\n stroke-dashoffset: 180px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@keyframes drawCircle {\n 0% {\n stroke-dashoffset: 180px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes drawCheck {\n 0% {\n stroke-dashoffset: 50px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@keyframes drawCheck {\n 0% {\n stroke-dashoffset: 50px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n.message.success.success-large.animated #successAnimationCircle {\n stroke-dasharray: 180px 180px;\n stroke: #009900;\n}\n.message.success.success-large.animated #successAnimationCheck {\n stroke-dasharray: 50px 50px;\n stroke: #009900;\n}\n.message.success.success-large.animated #successAnimation.animated {\n -webkit-animation: 0.75s ease-out 0s 1 both pop;\n animation: 0.75s ease-out 0s 1 both pop;\n}\n.message.success.success-large.animated #successAnimation.animated #successAnimationCircle {\n -webkit-animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCircle;\n animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCircle;\n}\n.message.success.success-large.animated #successAnimation.animated #successAnimationCheck {\n -webkit-animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCheck;\n animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCheck;\n}\n@media only screen and (max-width: 767px) {\n .message.success.success-large.animated {\n flex-direction: column;\n }\n}\n/*\n * Notification\n */\n.notification-container {\n font-size: 0.85em;\n top: 0;\n position: absolute;\n z-index: 991;\n height: 2em;\n padding-top: 1em;\n width: 60%;\n margin-left: 20%;\n}\n.notification-container .notification {\n position: relative;\n left: 50%;\n float: left;\n clear: both;\n margin-bottom: 1em;\n}\n.notification-container .notification .message {\n box-shadow: 0px 0px 10px 0px #333;\n border-radius: 2px;\n padding: 0.5em 1em;\n position: relative;\n left: -50%;\n float: left;\n color: #000;\n font-weight: normal;\n width: auto;\n}\n.notification-container .notification .message .content {\n margin-right: 1em;\n}\n.notification-container .notification .message .content strong {\n text-transform: capitalize;\n}\n.notification-container .notification .message .action {\n border-bottom: none;\n margin-left: 0.4em;\n}\n.notification-container .notification .message .action:hover .svg-icon svg {\n fill: #000000;\n}\n/* left panel navigation */\n.panel .navigation {\n font-size: 0.9375em;\n /* first block have a delimiter */\n /*\n Navigation row\n */\n}\n.panel .navigation li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel .navigation li:before,\n.panel .navigation li:after {\n content: "";\n display: table;\n}\n.panel .navigation li:after {\n clear: both;\n}\n.panel .navigation li:before,\n.panel .navigation li:after {\n content: "";\n display: table;\n}\n.panel .navigation li:after {\n clear: both;\n}\n.panel .navigation.first {\n border-bottom: 1px dotted #DDD;\n padding: 0.625em 0;\n margin-bottom: 0.625em;\n}\n.panel .navigation .row {\n float: left;\n width: 100%;\n box-sizing: border-box;\n /*\n Row layout\n fluid main-cell\n fixed right-cell\n */\n /*\n Right Cell\n */\n /* title cell is higher than normal cell\n this centers the right cell vertically accordingly\n */\n}\n.panel .navigation .row:hover {\n background: #F3F3F3;\n}\n.panel .navigation .row.no-hover:hover {\n background: transparent;\n}\n.panel .navigation .row.selected {\n font-weight: bold;\n}\n.panel .navigation .row .main-cell-wrapper {\n float: left;\n width: 100%;\n}\n.panel .navigation .row .main-cell {\n margin: 0 1.5em 0 0;\n}\n.panel .navigation .row .main-cell h3 {\n border: 0;\n font-size: 1em;\n margin: 0 0.25em 0 1em;\n padding: 0.25em 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel .navigation .row .main-cell h3 a {\n /* suppress a padding so that it looks the same\n for all title if it is a link or not */\n padding-top: 0;\n padding-bottom: 0;\n}\n.panel .navigation .row .main-cell span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: block;\n}\n.panel .navigation .row .main-cell a {\n border: 0;\n padding: 0.2em 0.313em;\n /* 2px 5px */\n padding-left: 1em;\n color: #333;\n display: block;\n}\n.panel .navigation .row .right-cell {\n float: right;\n width: 1em;\n height: 1em;\n margin-right: 1em;\n margin-top: -1.5em;\n}\n.panel .navigation .row .right-cell a {\n display: none;\n width: 1em;\n height: 1em;\n padding: 0.125em;\n color: #888;\n border: 1px solid transparent;\n}\n.panel .navigation .row .right-cell a .svg-icon {\n position: absolute;\n width: 16px;\n height: 16px;\n line-height: 16px;\n text-align: center;\n vertical-align: center;\n}\n.panel .navigation .row .right-cell a .svg-icon svg {\n fill: #888;\n}\n.panel .navigation .row .right-cell a .svg-icon svg:hover {\n fill: #2894DF;\n}\n.panel .navigation .row .right-cell a:hover {\n color: #2894DF;\n background: #FFF;\n}\n.panel .navigation .row.title .right-cell {\n margin-top: -1.825em;\n}\n.panel .navigation .row:hover {\n background: #F3F3F3;\n}\n.panel .navigation .row:hover .right-cell a {\n display: block;\n}\n.dialog .form-content.permission-add {\n background-color: #FFF;\n padding: 0 1em 1em 1em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.dialog .form-content.permission-add:before,\n.dialog .form-content.permission-add:after {\n content: "";\n display: table;\n}\n.dialog .form-content.permission-add:after {\n clear: both;\n}\n.dialog .form-content.permission-add:before,\n.dialog .form-content.permission-add:after {\n content: "";\n display: table;\n}\n.dialog .form-content.permission-add:after {\n clear: both;\n}\n.dialog .form-content.permission-edit {\n padding: 0em;\n border-bottom: 1px solid #F3F3F3;\n}\n.dialog .permissions {\n /* shimmering skeleton when loading */\n}\n.dialog .permissions.scroll {\n /* Opera doesn\'t support this in the shorthand */\n overflow: auto;\n background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #FFF;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n max-height: 19em;\n margin: 0;\n}\n.dialog .permissions .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n font-size: 0.813em;\n padding: 0.875em 0.5em 0.5em 0.875em;\n border-bottom: 1px dotted #DDD;\n /* aro summary */\n}\n.dialog .permissions .row:before,\n.dialog .permissions .row:after {\n content: "";\n display: table;\n}\n.dialog .permissions .row:after {\n clear: both;\n}\n.dialog .permissions .row:before,\n.dialog .permissions .row:after {\n content: "";\n display: table;\n}\n.dialog .permissions .row:after {\n clear: both;\n}\n.dialog .permissions .row:last-child {\n border: 0;\n}\n.dialog .permissions .row.permission-updated {\n background: #FFFAE7;\n}\n.dialog .permissions .row .avatar img {\n float: left;\n}\n.dialog .permissions .row .aro {\n width: 48%;\n float: left;\n padding: 0 1em;\n}\n.dialog .permissions .row .aro .aro-details {\n margin-top: -0.25em;\n color: #969696;\n}\n.dialog .permissions .row .aro .ellipsis {\n display: inline-block;\n max-width: 90%;\n}\n.dialog .permissions .row .aro .svg-icon svg {\n position: relative;\n top: -0.125em;\n}\n.dialog .permissions .row .tooltip-alt {\n margin-left: 0.25em;\n}\n.dialog .permissions .row .rights {\n float: left;\n margin-top: 0.5em;\n width: 27%;\n}\n.dialog .permissions .row .rights select {\n margin: 0;\n font-size: 1em;\n}\n.dialog .permissions .row .remove-item {\n color: #666;\n float: right;\n margin-right: 1em;\n border: 0;\n padding: 0.625em;\n width: 1em;\n height: 1em;\n margin-top: 0.125em;\n /* hover */\n /* focus */\n /* active */\n}\n.dialog .permissions .row .remove-item:hover {\n color: #333;\n text-decoration: none;\n}\n.dialog .permissions .row .remove-item:focus {\n color: #2894DF;\n}\n.dialog .permissions .row .remove-item:active {\n color: #2894DF;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.dialog .permissions .row .remove-item.disabled {\n cursor: default;\n color: #888;\n}\n.dialog .permissions .row.skeleton {\n height: 42px;\n}\n.dialog .permissions .row.skeleton .avatar {\n float: left;\n width: 3em;\n height: 3em;\n background: #F3F3F3;\n border-radius: 50%;\n}\n.dialog .permissions .row.skeleton .aro .aro-name {\n margin-top: 0.25em;\n width: 10em;\n height: 1em;\n background: #F3F3F3;\n border-radius: 0.214em;\n}\n.dialog .permissions .row.skeleton .aro .aro-details {\n border-radius: 0.214em;\n margin-top: 0.5em;\n width: 7em;\n height: 1em;\n background: #F3F3F3;\n}\n.dialog .permissions .row.skeleton .select.rights {\n border-radius: 0.214em;\n float: left;\n margin-top: 1em;\n width: 8em;\n height: 1.2em;\n background: #F3F3F3;\n}\n.dialog .permissions .row.skeleton .actions {\n border-radius: 50%;\n float: right;\n width: 1.5em;\n height: 1.5em;\n margin-top: 0.9em;\n margin-right: 1.5em;\n background: #F3F3F3;\n}\n/* hide icons if there is no space */\n@media all and (max-width: 480px) {\n .dialog .permissions.scroll {\n height: auto;\n margin: 0;\n }\n .dialog .permissions .row .user,\n .dialog .permissions .row .group {\n width: 45%;\n }\n}\n/* search */\nform.search {\n margin-top: 1em;\n}\nform.search legend,\nform.search label {\n display: none;\n width: 10em;\n}\nform.search input[type=search] {\n float: left;\n width: 65%;\n margin-bottom: 0;\n border-right: 1px solid #FFF;\n padding: 0.313em 0.625em;\n}\nform.search input[type=search]:focus,\nform.search input[type=search]:active {\n border-right: 1px solid #2894DF;\n}\nform.search button {\n height: 2.571em;\n /* 36px */\n width: 4.5em;\n float: left;\n margin-left: 0;\n border-radius: 0px 2px 2px 0px;\n}\nform.search button .svg-icon.icon-only svg {\n top: 0.125em;\n}\n/* remove webkit search input decoration and cancel button */\ninput[type="search"]::-webkit-search-decoration,\ninput[type="search"]::-webkit-search-cancel-button {\n display: none;\n}\n/* rescale on small screen */\n@media all and (max-width: 480px) {\n form.search {\n display: none;\n }\n}\n/*\n \tCopy secret component\n \t\tThis is what is used to copy a secret in the clipboard\n*/\n.secret-copy {\n overflow: visible;\n display: table-cell;\n vertical-align: middle;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.secret-copy:before,\n.secret-copy:after {\n content: "";\n display: table;\n}\n.secret-copy:after {\n clear: both;\n}\n.secret-copy:before,\n.secret-copy:after {\n content: "";\n display: table;\n}\n.secret-copy:after {\n clear: both;\n}\n.secret-copy > a {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_13___+") repeat-x left 3px;\n display: inline-block;\n width: 108px;\n height: 20px;\n float: left;\n border: 0;\n}\n.secret-copy > a:hover {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_14___+') repeat-x left 3px;\n}\n.secret-copy > a > span {\n display: none;\n}\n.secret-copy > pre {\n display: none;\n}\n/**\n * Sidebar\n */\n.panel.aside {\n position: absolute;\n right: 2em;\n min-width: 25em;\n width: 30%;\n bottom: 0;\n height: 100%;\n background: #FFF;\n box-shadow: 0px 0px 10px 0px #DDD;\n /* Controls */\n /** SECTIONS **/\n /** Sidebar forms **/\n}\n.panel.aside .sidebar-header {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel.aside .sidebar-header:before,\n.panel.aside .sidebar-header:after {\n content: "";\n display: table;\n}\n.panel.aside .sidebar-header:after {\n clear: both;\n}\n.panel.aside .sidebar-header:before,\n.panel.aside .sidebar-header:after {\n content: "";\n display: table;\n}\n.panel.aside .sidebar-header:after {\n clear: both;\n}\n.panel.aside .sidebar-header h3 {\n float: left;\n width: 67%;\n margin-top: 0.88em;\n padding: 0 0 0 0.6em;\n display: table-cell;\n vertical-align: middle;\n border: 0;\n}\n.panel.aside .sidebar-header h3 .title-wrapper {\n width: 100%;\n line-height: 1.2em;\n font-size: 1.2em;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .name {\n max-width: 85%;\n float: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link {\n border: 0;\n color: #666;\n font-size: 0.875em;\n margin-left: 0.429em;\n vertical-align: bottom;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link:hover {\n color: #2894DF;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link .svg-icon {\n margin-top: 0.25em;\n}\n.panel.aside .sidebar-header h3 .subtitle {\n font-size: 0.8em;\n color: #969696;\n font-weight: normal;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .sidebar-header .teaser-image {\n margin: 1em 0 1em 1em;\n float: left;\n width: 3em;\n height: 3em;\n border: 1px solid #DDD;\n line-height: 3em;\n text-align: center;\n border-radius: 50%;\n}\n.panel.aside .sidebar-header .teaser-image .svg-icon svg {\n width: 1.5rem;\n height: 1.5rem;\n margin-top: 0.75em;\n}\n.panel.aside .sidebar-header .teaser-image img {\n width: 3em;\n height: 3em;\n}\n.panel.aside .sidebar-header .dialog-close {\n position: absolute;\n right: 1em;\n top: 1em;\n}\n.panel.aside .sidebar-section {\n margin-top: -1px;\n border-bottom: 1px solid #F3F3F3;\n border-top: 1px solid #F3F3F3;\n font-size: 0.875em;\n background: #FFF;\n}\n.panel.aside .sidebar-section h4 {\n font-size: 1.125em;\n padding: 1em 1.125em;\n margin: 0;\n display: block;\n}\n.panel.aside .sidebar-section .accordion-content {\n padding: 1.25em 1.25em 1.5em 1.25em;\n background: #FFF;\n}\n.panel.aside .sidebar-section .accordion-content .section-action {\n font-size: 1.125em;\n position: absolute;\n margin-top: -3.1em;\n right: 3.25em;\n width: 1.125em;\n height: 1.125em;\n z-index: 401;\n border: 0;\n}\n.panel.aside .detailed-information li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding-bottom: 0.25em;\n}\n.panel.aside .detailed-information li:before,\n.panel.aside .detailed-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .detailed-information li:after {\n clear: both;\n}\n.panel.aside .detailed-information li:before,\n.panel.aside .detailed-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .detailed-information li:after {\n clear: both;\n}\n.panel.aside .detailed-information li span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .detailed-information li .label {\n width: 30%;\n display: inline-block;\n margin-right: 10%;\n float: left;\n height: 1.8em;\n}\n.panel.aside .detailed-information li .value {\n width: 60%;\n display: inline-block;\n float: left;\n height: 1.8em;\n}\n.panel.aside .description-content {\n white-space: pre-line;\n}\n.panel.aside .description-editor .actions {\n margin: 0.5em 0 1em 0;\n}\n.panel.aside .description-editor .actions .description-lock {\n float: left;\n}\n.panel.aside .description-editor .actions .description-lock span.tooltip.tooltip-right {\n white-space: normal;\n}\n.panel.aside .description-editor .actions .description-lock span.tooltip.tooltip-right .svg-icon {\n overflow: initial;\n}\n.panel.aside .key-information .fingerprint .value {\n height: 3.2em;\n}\n.panel.aside .key-information textarea {\n min-height: 30em;\n line-height: normal;\n margin-top: 0.8em;\n width: 100%;\n box-sizing: border-box;\n}\n.panel.aside .key-information li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding-bottom: 0.25em;\n}\n.panel.aside .key-information li:before,\n.panel.aside .key-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .key-information li:after {\n clear: both;\n}\n.panel.aside .key-information li:before,\n.panel.aside .key-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .key-information li:after {\n clear: both;\n}\n.panel.aside .key-information li span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .key-information li .label {\n width: 30%;\n display: inline-block;\n margin-right: 10%;\n float: left;\n height: 1.8em;\n}\n.panel.aside .key-information li .value {\n width: 60%;\n display: inline-block;\n float: left;\n height: 1.8em;\n}\n.panel.aside .form-content {\n margin: 0 0 0.5em 0;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel.aside .form-content:before,\n.panel.aside .form-content:after {\n content: "";\n display: table;\n}\n.panel.aside .form-content:after {\n clear: both;\n}\n.panel.aside .form-content:before,\n.panel.aside .form-content:after {\n content: "";\n display: table;\n}\n.panel.aside .form-content:after {\n clear: both;\n}\n.panel.aside .form-content label {\n display: none;\n}\n.panel.aside .form-content textarea {\n font-size: 1em;\n width: 100%;\n box-sizing: border-box;\n height: 5em;\n margin-top: 0;\n}\n.panel.aside .form-content .cancel,\n.panel.aside .form-content .button {\n float: right;\n margin-top: -0.25em;\n margin-right: 0;\n}\n.panel.aside .form-content .cancel {\n margin-right: 0.5em;\n}\n.panel.aside .form-content .message.notice {\n padding: 0.5em;\n margin: 0;\n font-size: 0.929em;\n /* 13px */\n background: #daecf9;\n}\n.panel.aside .form-content .message.notice span:last-child {\n display: inline-block;\n}\n/* place sidebar on top of everything when there is no space */\n@media all and (max-width: 1024px) {\n .panel.aside {\n position: absolute;\n right: 0;\n width: 100%;\n bottom: 0;\n top: 0;\n height: 100%;\n }\n}\n/*\n * Main Workspace - Table View\n */\n.tableview {\n background: #FFF;\n position: relative;\n font-size: 0.9375em;\n /* 15px */\n height: 100%;\n /* header */\n /* main content */\n /* rows */\n}\n.tableview .tableview-header {\n background: #FFF;\n height: 2.125em;\n overflow-y: scroll;\n padding-top: 0.125em;\n}\n.tableview .tableview-header table {\n width: 100%;\n}\n.tableview .tableview-header table th.m-cell.sortable .svg-icon svg,\n.tableview .tableview-header table th.l-cell.sortable .svg-icon svg {\n margin-left: 0.55em;\n margin-top: -0.8em;\n}\n.tableview .tableview-content {\n top: 2.125em;\n bottom: 2.45em;\n padding: 0;\n position: absolute;\n width: 100%;\n border-top: 1px solid #DDD;\n overflow-y: scroll;\n background: #FFF;\n}\n.tableview .tableview-content table {\n width: 100%;\n}\n.tableview table {\n /* multi select and fav fix */\n}\n.tableview table a {\n border: 0;\n}\n.tableview table th,\n.tableview table td {\n text-align: left;\n padding: 0.2em 0.6em;\n /* 3px 9px */\n vertical-align: middle;\n}\n.tableview table th {\n font-weight: bold;\n}\n.tableview table td div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.tableview table .s-cell {\n width: 1em;\n max-width: 1em;\n min-width: 1em;\n}\n.tableview table .m-cell {\n width: 9em;\n max-width: 9em;\n vertical-align: middle;\n}\n.tableview table .l-cell {\n width: 14em;\n max-width: 14em;\n}\n.tableview table .xl-cell {\n width: 19em;\n max-width: 19em;\n}\n.tableview table tbody tr {\n height: 2em;\n}\n.tableview table tbody tr.selected {\n background: #FFFAE7;\n}\n.tableview table tbody tr:hover {\n background: #f8f8f8;\n}\n.tableview table tbody tr.selected:hover {\n background: #FFFAE7;\n}\n.tableview table tbody tr.inactive {\n color: #969696;\n}\n.tableview table th.cell-multiple-select,\n.tableview table td.cell-multiple-select {\n text-align: center;\n}\n.tableview table th.cell-multiple-select .input.checkbox label,\n.tableview table td.cell-multiple-select .input.checkbox label {\n display: none;\n}\n.tableview table td.password .secret {\n float: left;\n max-width: calc(100% - 1.8rem);\n}\n.tableview table td.password .password-view {\n display: none;\n position: relative;\n box-sizing: content-box;\n margin: 0 0 0 0.3rem;\n padding: 0 0.3rem 0 0.3rem;\n background: 0 0;\n border: 0;\n float: left;\n}\n.tableview table td.password .password-view.selected {\n background: #EEE;\n}\n.tableview table td.password:hover .password-view {\n display: block;\n}\n@supports (-webkit-appearance:none) and (not (overflow:-webkit-marquee))\nand (not (-ms-ime-align:auto)) and (not (-moz-appearance:none)) {\n .tableview table th.cell-multiple-select .input.checkbox,\n .tableview table td.cell-multiple-select .input.checkbox {\n margin-top: 1px;\n }\n}\n/* hide secondary actions if there is no space */\n@media all and (max-width: 600px) {\n .tableview table tbody {\n background: #FFFAE7;\n }\n .tableview table tbody td {\n display: block;\n }\n .tableview table tbody td.s-cell,\n .tableview table tbody td.s2-cell,\n .tableview table tbody td.m-cell,\n .tableview table tbody td.l-cell {\n max-width: 90%;\n width: 90%;\n padding: 0.5em;\n }\n .tableview table tbody td.s-cell {\n display: none;\n }\n .tableview thead {\n display: none;\n }\n .tableview .tableview-content {\n top: 0;\n border: 0;\n bottom: 0;\n }\n}\ntable.table-info,\ntable.table-info.vertical {\n border-collapse: separate;\n}\ntable.table-info td,\ntable.table-info.vertical td {\n padding: 0.625em;\n padding-right: 1.25em;\n color: #666;\n}\ntable.table-info td.warning,\ntable.table-info.vertical td.warning {\n background: #FEF0BF;\n}\ntable.table-info td.error,\ntable.table-info.vertical td.error {\n background: #ffe4e4;\n}\ntable.table-info td .alt.side,\ntable.table-info.vertical td .alt.side {\n color: #666;\n float: right;\n}\ntable.table-info td .alt.side:before,\ntable.table-info.vertical td .alt.side:before {\n content: "\\0028";\n /* unicode character ( */\n}\ntable.table-info td .alt.side:after,\ntable.table-info.vertical td .alt.side:after {\n content: "\\0029";\n /* unicode character ) */\n}\ntable.table-info td + td,\ntable.table-info.vertical td + td {\n color: #333;\n padding-right: 0.625em;\n}\n/* horizontal tableview */\ntable.table-info.horizontal {\n width: 100%;\n border-collapse: collapse;\n padding: 0;\n border: 1px solid #DDD;\n margin-bottom: 1em;\n}\ntable.table-info.horizontal.with-borders td,\ntable.table-info.horizontal.with-borders th {\n border-right: 1px solid #DDD;\n}\ntable.table-info.horizontal td,\ntable.table-info.horizontal th {\n padding: 0.5em 0.5em 0.5em 0.75em;\n margin: 0;\n}\ntable.table-info.horizontal th {\n border-bottom: 1px solid #DDD;\n}\ntable.table-info.horizontal th a {\n display: block;\n border: 0;\n}\ntable.table-info.horizontal th a.sortable .svg-icon svg {\n top: 0.15em;\n position: relative;\n margin-left: 0.5em;\n}\ntable.table-info.horizontal thead tr {\n background: #FFF;\n}\ntable.table-info.horizontal tbody {\n background: #FFF;\n}\ntable.table-info.horizontal tbody tr:nth-child(odd) {\n background: #FFF;\n}\ntable.table-info.horizontal tbody tr:hover {\n background: #f8f8f8;\n}\n.table-info-pagination .pagination-limit {\n margin-top: -0.5em;\n float: left;\n}\n.table-info-pagination .pagination-limit label {\n float: left;\n font-weight: normal;\n}\n.table-info-pagination .pagination-limit select {\n float: left;\n margin: 0.35em;\n}\n.table-info-pagination .pagination-pages {\n float: right;\n}\n.table-info-pagination .pagination-pages .page-location {\n float: left;\n}\n.table-info-pagination .pagination-pages .page-buttons {\n float: right;\n}\n.table-info-pagination .pagination-pages .button {\n float: left;\n margin: -0.5em 0 0 0.75em;\n padding: 0.35em 0.75em;\n}\n/* tabs */\n.tabs {\n border-bottom: 1px solid #DDD;\n width: 100%;\n}\n.tabs-nav {\n border-bottom: 1px solid #DDD;\n}\n.tabs-nav li {\n display: inline;\n}\n.tabs-nav li div {\n display: inline-block;\n}\n.tabs-nav li a {\n display: inline-block;\n padding: 0.4em 1.75em;\n margin-left: 1.25em;\n font-size: 15px;\n border: 0;\n}\n.tabs-nav li a.selected {\n margin-bottom: -1px;\n border: 1px solid #DDD;\n border-bottom: 1px solid #FFF;\n background: #FFF;\n border-radius: 0.214em;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n/* tab content */\n.tab-content {\n display: none;\n}\n.tab-content.selected {\n display: block;\n}\n/* tags */\n.tags-list {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.tags-list:before,\n.tags-list:after {\n content: "";\n display: table;\n}\n.tags-list:after {\n clear: both;\n}\n.tags-list:before,\n.tags-list:after {\n content: "";\n display: table;\n}\n.tags-list:after {\n clear: both;\n}\n.tags-list .tag-list-item {\n float: left;\n max-width: 95%;\n}\n.tag-editor {\n margin-bottom: 1em;\n}\n.tag-editor .message {\n font-size: 1em;\n margin-top: 0.5em;\n}\n.tag-editor .message span.svg-icon {\n display: initial;\n margin-left: -0.15em;\n padding-right: 0.15em;\n}\n.tag-editor .tag {\n padding-right: 0;\n}\n.tag-editor .tag-content {\n padding-right: 0.5em;\n padding-top: 0.25em;\n display: inline-block;\n max-width: 90%;\n}\n.tag-editor .tag-delete {\n border-left: 1px dotted #2894DF;\n margin-left: -0.25em;\n padding-left: 0.5em;\n font-size: 0.75em;\n vertical-align: 30%;\n cursor: pointer;\n}\n.tag-editor .tag:hover:after {\n border-color: #BBB;\n}\n.tag-editor .tag-editor-input-wrapper {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n min-height: 5em;\n padding: 0.5em;\n border: 1px solid #CCC;\n border-top: 1px solid #BBB;\n position: relative;\n}\n.tag-editor .tag-editor-input-wrapper:before,\n.tag-editor .tag-editor-input-wrapper:after {\n content: "";\n display: table;\n}\n.tag-editor .tag-editor-input-wrapper:after {\n clear: both;\n}\n.tag-editor .tag-editor-input-wrapper:before,\n.tag-editor .tag-editor-input-wrapper:after {\n content: "";\n display: table;\n}\n.tag-editor .tag-editor-input-wrapper:after {\n clear: both;\n}\n.tag-editor .tag-editor-input-wrapper.input-focus {\n border-color: #2894DF;\n}\n.tag-editor .tag-editor-input {\n min-height: 1.5em;\n padding: 0.2em 0.4em 0 0.4em;\n box-shadow: none;\n min-width: 6em;\n max-width: 24em;\n float: left;\n word-break: break-word;\n}\n.tag-editor .autocomplete-suggestions {\n text-align: left;\n cursor: default;\n border: 1px solid #DDD;\n border-top: 0;\n background: #FFF;\n box-shadow: 0px 0px 10px 0px #DDD;\n position: absolute;\n display: inline-flex;\n z-index: 9999;\n max-height: 120px;\n overflow: hidden;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-content.scroll {\n overflow-y: auto;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-content.scroll .name.ellipsis {\n display: block;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-suggestion.row {\n position: relative;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #333;\n display: block;\n padding: 0.35em 0.43em;\n /* align autocomplete suggestion with tag input */\n border: 0;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-suggestion.row.selected {\n background: #EEE;\n}\n.tags-list .tag,\n.tag-editor .tag {\n padding: 0 0.25em;\n float: left;\n position: relative;\n margin: 0 0.5em 0.5em 0;\n text-decoration: none;\n border-radius: 3px;\n max-width: 95%;\n border: 1px solid #2894DF;\n background: rgba(42, 156, 235, 0.05);\n color: #2894DF;\n}\n.tags-list .tag:active,\n.tag-editor .tag:active,\n.tags-list .tag:hover,\n.tag-editor .tag:hover {\n border: 1px solid #2894DF;\n background: #2894DF;\n color: #FFF;\n}\n/**\n * Tooltips!\n * credits: Chris Bracco http://cbracco.me/a-simple-css-tooltip/\n */\n/* Base styles for the element that has a tooltip */\n[data-tooltip],\n.tooltip {\n position: relative;\n cursor: pointer;\n}\n/* Base styles for the entire tooltip */\n[data-tooltip]:before,\n[data-tooltip]:after,\n.tooltip:before,\n.tooltip:after {\n position: absolute;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);\n transform: translate3d(0, 0, 0);\n pointer-events: none;\n text-align: center;\n}\n/* Show the entire tooltip on hover and focus */\n[data-tooltip]:hover:before,\n[data-tooltip]:hover:after,\n[data-tooltip]:focus:before,\n[data-tooltip]:focus:after,\n.tooltip:hover:before,\n.tooltip:hover:after,\n.tooltip:focus:before,\n.tooltip:focus:after,\n.always-show:before,\n.always-show:after {\n visibility: visible;\n opacity: 1;\n}\n/* Base styles for the tooltip\'s directional arrow */\n.tooltip:before,\n[data-tooltip]:before {\n z-index: 990;\n border: 6px solid transparent;\n background: transparent;\n content: "";\n}\n/* Base styles for the tooltip\'s content area */\n.tooltip:after,\n[data-tooltip]:after {\n z-index: 990;\n padding: 8px;\n width: 160px;\n background-color: #333;\n color: #FFF;\n content: attr(data-tooltip);\n font-size: 14px;\n line-height: 1.2em;\n font-weight: normal;\n text-shadow: none;\n}\n/* Directions */\n/* Top (default) */\n[data-tooltip]:before,\n[data-tooltip]:after,\n.tooltip:before,\n.tooltip:after,\n.tooltip-top:before,\n.tooltip-top:after {\n bottom: 100%;\n left: 50%;\n}\n[data-tooltip]:before,\n.tooltip:before,\n.tooltip-top:before {\n margin-left: -6px;\n margin-bottom: -12px;\n border-top-color: #333;\n}\n/* Horizontally align top/bottom tooltips */\n[data-tooltip]:after,\n.tooltip:after,\n.tooltip-top:after {\n margin-left: -80px;\n}\n[data-tooltip]:hover:before,\n[data-tooltip]:hover:after,\n[data-tooltip]:focus:before,\n[data-tooltip]:focus:after,\n.tooltip:hover:before,\n.tooltip:hover:after,\n.tooltip:focus:before,\n.tooltip:focus:after,\n.tooltip.always-show:after,\n.tooltip.always-show:before,\n.tooltip-top.always-show:after,\n.tooltip-top.always-show:before,\n.tooltip-top:hover:before,\n.tooltip-top:hover:after,\n.tooltip-top:focus:before,\n.tooltip-top:focus:after {\n transform: translateY(-12px);\n}\n/* Left */\n.tooltip-left:before,\n.tooltip-left:after {\n right: 100%;\n bottom: 50%;\n left: auto;\n}\n.tooltip-left:before {\n margin-left: 0;\n margin-right: -12px;\n margin-bottom: 0;\n border-top-color: transparent;\n border-left-color: #333;\n border-left-color: hsla(0, 0%, 20%, 0.9);\n}\n.tooltip-left:hover:before,\n.tooltip-left:hover:after,\n.tooltip-left.always-show:after,\n.tooltip-left.always-show:before,\n.tooltip-left:focus:before,\n.tooltip-left:focus:after {\n transform: translateX(-12px);\n}\n/* Bottom */\n.tooltip-bottom:before,\n.tooltip-bottom:after {\n top: 100%;\n bottom: auto;\n left: 50%;\n}\n.tooltip-bottom:before {\n margin-top: -12px;\n margin-bottom: 0;\n border-top-color: transparent;\n border-bottom-color: #333;\n border-bottom-color: hsla(0, 0%, 20%, 0.9);\n}\n.tooltip-bottom:hover:before,\n.tooltip-bottom:hover:after,\n.tooltip-bottom.always-show:after,\n.tooltip-bottom.always-show:before,\n.tooltip-bottom:focus:before,\n.tooltip-bottom:focus:after {\n transform: translateY(12px);\n}\n/* Right */\n.tooltip-right:before,\n.tooltip-right:after {\n bottom: 50%;\n left: 100%;\n}\n.tooltip-right:before {\n margin-bottom: 0;\n margin-left: -12px;\n border-top-color: transparent;\n border-right-color: #333;\n}\n.tooltip-right:hover:before,\n.tooltip-right:hover:after,\n.tooltip-right.always-show:after,\n.tooltip-right.always-show:before,\n.tooltip-right:focus:before,\n.tooltip-right:focus:after {\n transform: translateX(12px);\n}\n/* Move directional arrows down a bit for left/right tooltips */\n.tooltip-left:before,\n.tooltip-right:before {\n top: 3px;\n}\n/* Vertically center tooltip content for left/right tooltips */\n.tooltip-left:after,\n.tooltip-right:after {\n margin-left: 0;\n margin-bottom: -16px;\n}\n/* large width */\n.tooltip.large:after,\n[data-tooltip].large:after {\n width: 240px;\n}\n.tooltip-right.large:before,\n.tooltip-right.large:after,\n.tooltip-left.large:before,\n.tooltip-left.large:after {\n margin-top: 6px;\n}\n/*\n\tMore complex tooltips\n\tThat allows HTML in them\n*/\n/* Tooltip container */\n.tooltip-alt {\n cursor: pointer;\n display: inline-block;\n border-bottom: 0;\n /* Tooltip text */\n /* Ease the tooltip left when you mouse over the tooltip container */\n}\n.tooltip-alt .tooltip-text {\n position: absolute;\n visibility: hidden;\n width: 180px;\n background-color: #333;\n color: #FFF;\n padding: 0.5em 1em;\n transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);\n transform: translate3d(0, 0, 0);\n z-index: 99999;\n /* only right for now */\n}\n.tooltip-alt .tooltip-text.right {\n margin-left: 1em;\n margin-top: -1.75em;\n}\n.tooltip-alt .tooltip-text.right::after {\n content: " ";\n position: absolute;\n top: 1.125em;\n right: 100%;\n margin-top: -5px;\n border: 5px #333 solid;\n border-color: transparent #333 transparent transparent;\n}\n.tooltip-alt:hover .tooltip-text {\n transform: translateX(12px);\n visibility: visible;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n opacity: 1;\n}\n.tooltip svg,\n.tooltip-alt svg {\n fill: #666;\n top: 0.125em;\n position: relative;\n}\n/*\n * Profile user card\n */\n.user.profile {\n max-width: 16em;\n float: right;\n border: 1px solid #DDD;\n margin-top: 0.5em;\n overflow: hidden;\n cursor: pointer;\n border-radius: 3px;\n background: #EEE;\n background-image: linear-gradient(top, #F3F3F3, #EEE);\n /* fixed fluid fixed layout */\n /* user card styling */\n}\n.user.profile .more {\n background: #EEE;\n background-image: linear-gradient(top, #F3F3F3, #EEE);\n border-left: 1px dotted #DDD;\n}\n.user.profile .left-cell,\n.user.profile .right-cell,\n.user.profile .center-cell-wrapper {\n float: left;\n height: 3.125em;\n /* 50px */\n}\n.user.profile .center-cell-wrapper {\n width: 100%;\n}\n.user.profile .center-cell {\n margin: 0 0 0 3.125em;\n overflow: hidden;\n}\n.user.profile .left-cell {\n width: 3.125em;\n margin-left: -100%;\n}\n.user.profile .right-cell {\n width: 1.6875em;\n margin-left: -1.75em;\n}\n.user.profile .picture img {\n width: 2.6em;\n padding: 0.28em 0.35em 0.35em 0.35em;\n border-radius: 50%;\n}\n.user.profile .details {\n float: left;\n font-size: 0.875em;\n padding: 0.357em 1em 0.5em 1em;\n /* 5/14/7/14px */\n}\n.user.profile .details .name,\n.user.profile .details .email {\n width: 11em;\n float: left;\n clear: both;\n text-overflow: clip;\n word-wrap: break-word;\n display: inline-block;\n line-height: normal;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.user.profile .details .name {\n font-weight: bold;\n padding-top: 0;\n}\n.user.profile .details .email {\n padding-bottom: 0;\n}\n.user.profile .more a {\n position: absolute;\n display: block;\n border: 0;\n color: #666;\n}\n.user.profile .more a .svg-icon {\n margin: 16px 0 0 7px;\n display: inline-block;\n}\n.user.profile .more a .svg-icon svg {\n fill: #333;\n}\n.user.profile .more a:hover {\n color: #000;\n}\n.user.profile .more a:hover svg {\n fill: #333;\n}\n.user.profile .more a span:last-child {\n visibility: hidden;\n}\n.user.profile .dropdown-content {\n top: 59px;\n max-width: 16em;\n width: 100%;\n background: #FFF;\n}\n.user.profile .dropdown-content.visible {\n display: block;\n}\n/* hide left column when there is no space */\n@media all and (max-width: 1024px) {\n .user.profile {\n display: block;\n width: auto;\n }\n .user.profile .center-cell {\n display: none;\n }\n .user.profile .right-cell {\n display: none;\n }\n}\n.usercard-col-2 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 0 0 1em 0;\n}\n.usercard-col-2:before,\n.usercard-col-2:after {\n content: "";\n display: table;\n}\n.usercard-col-2:after {\n clear: both;\n}\n.usercard-col-2:before,\n.usercard-col-2:after {\n content: "";\n display: table;\n}\n.usercard-col-2:after {\n clear: both;\n}\n.usercard-col-2:last-of-type {\n margin-bottom: 0;\n}\n.usercard-col-2 .content-wrapper {\n float: left;\n width: 100%;\n}\n.usercard-col-2 .content-wrapper .content {\n margin-left: 36px;\n padding: 0 1em 0 1em;\n}\n.usercard-col-2 .content-wrapper .content .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.usercard-col-2 .content-wrapper .content .subinfo {\n color: #333;\n font-size: 0.929em;\n /* 13px */\n}\n.usercard-col-2 .avatar {\n float: left;\n width: 36px;\n margin-left: -100%;\n}\n.usercard-col-2 .avatar img {\n width: 36px;\n height: 36px;\n}\n.usercard-col-2 ul.permissions-list {\n margin-top: 1em;\n font-size: 0.8em;\n}\n.usercard-col-2 ul.permissions-list li .avatar {\n margin-left: 0;\n float: left;\n width: 18px;\n}\n.usercard-col-2 ul.permissions-list li .avatar img {\n width: 18px;\n height: 18px;\n}\n.usercard-col-2 ul.permissions-list li .name {\n display: inline-block;\n padding-left: 7%;\n line-height: 18px;\n}\n.usercard-col-2 ul.permissions-list li .name.crossed {\n text-decoration: line-through;\n}\n.usercard-col-2 ul.permissions-list li .type {\n float: right;\n text-align: right;\n line-height: 18px;\n color: #888;\n}\n.usercard-col-2 ul.permissions-list li .type span {\n background-color: white;\n font-size: 0.8em;\n color: white;\n padding: 0.1em 0.5em;\n border-radius: 0.5em;\n}\n.usercard-col-2 ul.permissions-list li .type span.created {\n background-color: #66CC00;\n}\n.usercard-col-2 ul.permissions-list li .type span.updated {\n background-color: #2A9CEB;\n}\n.usercard-col-2 ul.permissions-list li .type span.removed {\n background-color: #DB5454;\n}\n.usercard-detailed-col-2 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 0 0 1em 0;\n padding: 0.5em 0;\n margin: 0;\n}\n.usercard-detailed-col-2:before,\n.usercard-detailed-col-2:after {\n content: "";\n display: table;\n}\n.usercard-detailed-col-2:after {\n clear: both;\n}\n.usercard-detailed-col-2:before,\n.usercard-detailed-col-2:after {\n content: "";\n display: table;\n}\n.usercard-detailed-col-2:after {\n clear: both;\n}\n.usercard-detailed-col-2:last-of-type {\n margin-bottom: 0;\n}\n.usercard-detailed-col-2 .content-wrapper {\n float: left;\n width: 100%;\n}\n.usercard-detailed-col-2 .content-wrapper .content {\n margin-left: 36px;\n padding: 0 1em 0 1em;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.usercard-detailed-col-2 .content-wrapper .content .subinfo {\n color: #333;\n font-size: 0.929em;\n /* 13px */\n}\n.usercard-detailed-col-2 .avatar {\n float: left;\n width: 36px;\n margin-left: -100%;\n}\n.usercard-detailed-col-2 .avatar img {\n width: 36px;\n height: 36px;\n}\n.usercard-detailed-col-2 ul.permissions-list {\n margin-top: 1em;\n font-size: 0.8em;\n}\n.usercard-detailed-col-2 ul.permissions-list li .avatar {\n margin-left: 0;\n float: left;\n width: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .avatar img {\n width: 18px;\n height: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .name {\n display: inline-block;\n padding-left: 7%;\n line-height: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .name.crossed {\n text-decoration: line-through;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type {\n float: right;\n text-align: right;\n line-height: 18px;\n color: #888;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span {\n background-color: white;\n font-size: 0.8em;\n color: white;\n padding: 0.1em 0.5em;\n border-radius: 0.5em;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.created {\n background-color: #66CC00;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.updated {\n background-color: #2A9CEB;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.removed {\n background-color: #DB5454;\n}\n@-webkit-keyframes highlight {\n from {\n background-color: #FFFAE7;\n }\n to {\n background-color: transparent;\n }\n}\n@keyframes highlight {\n from {\n background-color: #FFFAE7;\n }\n to {\n background-color: transparent;\n }\n}\n.usercard-detailed-col-2.highlight {\n background-color: #FFFAE7;\n -webkit-animation-delay: 2s;\n animation-delay: 2s;\n -webkit-animation-duration: 5s;\n animation-duration: 5s;\n -webkit-animation-name: highlight;\n animation-name: highlight;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name,\n.usercard-detailed-col-2 .content-wrapper .content .subinfo {\n color: #888;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name {\n white-space: normal;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name .creator {\n color: #333;\n}\n.enter-passphrase {\n /** Passphrase input with security token **/\n}\n.enter-passphrase .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /* toggle button to preview passphrase */\n}\n.enter-passphrase .password:before,\n.enter-passphrase .password:after {\n content: "";\n display: table;\n}\n.enter-passphrase .password:after {\n clear: both;\n}\n.enter-passphrase .password:before,\n.enter-passphrase .password:after {\n content: "";\n display: table;\n}\n.enter-passphrase .password:after {\n clear: both;\n}\n.enter-passphrase .password input[type=text],\n.enter-passphrase .password input[type=password] {\n float: left;\n box-sizing: border-box;\n width: calc(100% - 4.1rem);\n}\n.enter-passphrase .password .password-view {\n width: 3em;\n float: left;\n margin-top: 0;\n margin-right: 0;\n margin-left: -0.1rem;\n height: 2.714em;\n border-radius: 0;\n padding: 0.6rem 0.8rem 0.6rem 1rem;\n background: #FFF;\n border-left: 0;\n border-top: 1px solid #BBB;\n}\n.enter-passphrase .password .password-view.selected {\n background: #EEE;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.enter-passphrase .password .password-view svg {\n margin-top: 3px;\n}\n.enter-passphrase .password input[type=text]:focus ~ .password-view,\n.enter-passphrase .password input[type=password]:focus ~ .password-view {\n border: 1px solid #2894DF;\n border-left: 0;\n}\n.enter-passphrase .password.with-token input[type=text],\n.enter-passphrase .password.with-token input[type=password] {\n width: calc(100% - 11rem);\n}\n.enter-passphrase .password.with-token .password-view {\n margin-right: 1rem;\n}\n.enter-passphrase .password.with-token .security-token {\n width: 4em;\n float: left;\n margin-top: 0;\n margin-right: 0;\n border-radius: 0;\n padding: 1.05rem 0;\n text-align: center;\n background: #FFF;\n border: 1px solid #BBB;\n}\n.password-complexity .complexity-text {\n float: right;\n clear: right;\n width: 30%;\n font-size: 11px;\n text-align: left;\n padding-left: 0;\n}\n.password-complexity.not_available .complexity-text {\n color: #DDD;\n}\n.password-complexity .progress {\n width: 100%;\n box-sizing: border-box;\n border: 1px solid #DDD;\n height: 10px;\n display: block;\n clear: both;\n margin: 0.25em 0 0.5em 0;\n float: left;\n}\n.password-complexity .progress-bar {\n background: #000;\n width: 0;\n height: 6px;\n display: block;\n float: left;\n margin: 1px;\n}\n.password-complexity .progress-bar.very-weak {\n background: #000;\n width: 5%;\n}\n.password-complexity .progress-bar.weak {\n background: #D40101;\n width: 10%;\n}\n.password-complexity .progress-bar.fair {\n background: #FFBD2E;\n width: 60%;\n}\n.password-complexity .progress-bar.strong {\n background: #66CC00;\n width: 80%;\n}\n.password-complexity .progress-bar.very-strong {\n background: #009900;\n width: 99.5%;\n}\n.password-hints {\n margin: 0.5em 0 1em 0;\n}\n.password-hints li {\n font-size: 1.5rem;\n line-height: 2.4rem;\n}\n.password-hints li:before {\n content: "\\25CF";\n /* unicode character ● */\n color: #DDD;\n padding-right: 0.5em;\n}\n.password-hints li.success:before {\n color: #009900;\n}\n.password-hints li.error:before {\n color: #D40101;\n}\n/* password share tab */\n.dialog .share-tab {\n /* message */\n}\n.dialog .share-tab .message {\n font-size: 0.875em;\n padding-left: 1em;\n}\n.share-password-dialog .processing-wrapper {\n background-color: #FFF;\n text-align: center;\n padding: 1em 0.5em 3em 1em;\n}\n.share-password-dialog .processing-wrapper .processing-text {\n position: relative;\n padding-left: 1.5em;\n}\n.share-password-dialog .processing-wrapper .processing-text:before {\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 0px;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n background-size: auto 75% ;\n}\n.input-password-wrapper {\n overflow: hidden;\n}\n.input-password-wrapper .message.error {\n display: block;\n clear: both;\n width: 100%;\n padding-bottom: 0.5em;\n font-size: 0.813em;\n}\n/* import password dialogs */\n.export-password-dialog .input-password-wrapper .input.password {\n width: 81%;\n}\n.export-password-dialog .input-password-wrapper .input.password input[type="text"],\n.export-password-dialog .input-password-wrapper .input.password input[type="password"] {\n width: 100%;\n text-overflow: ellipsis;\n}\n.export-password-dialog .input-password-wrapper .actions.inline {\n float: none;\n width: auto;\n}\n.export-password-dialog .input-password-wrapper .actions.inline .button {\n padding: 0.6em 0 0.4285714em 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.export-password-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.export-password-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.export-password-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n/* import password dialogs */\n.import-password-dialog .input-password-wrapper .input.password {\n width: 81%;\n}\n.import-password-dialog .input-password-wrapper .input.password input[type="text"],\n.import-password-dialog .input-password-wrapper .input.password input[type="password"] {\n width: 100%;\n text-overflow: ellipsis;\n}\n.import-password-dialog .input-password-wrapper .actions.inline {\n float: none;\n width: auto;\n}\n.import-password-dialog .input-password-wrapper .actions.inline .button {\n padding: 0.6em 0 0.4285714em 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.import-password-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.import-password-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.import-password-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.passphrase-entry.dialog {\n width: 95%;\n}\n.passphrase-entry.dialog .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.passphrase-entry.dialog .password:before,\n.passphrase-entry.dialog .password:after {\n content: "";\n display: table;\n}\n.passphrase-entry.dialog .password:after {\n clear: both;\n}\n.passphrase-entry.dialog .password:before,\n.passphrase-entry.dialog .password:after {\n content: "";\n display: table;\n}\n.passphrase-entry.dialog .password:after {\n clear: both;\n}\n.passphrase-entry.dialog .password input[type=text],\n.passphrase-entry.dialog .password input[type=password] {\n float: left;\n box-sizing: border-box;\n width: calc(90% - 5em);\n}\n.passphrase-entry.dialog .password .security-token {\n float: left;\n margin-top: 0;\n margin-left: 0;\n}\n.passphrase-entry.dialog .password .button.password-view {\n font-size: 0.975em;\n padding: 0.45em 1em;\n box-sizing: border-box;\n border-left: 0;\n float: left;\n margin-left: -1px;\n border-radius: 0;\n background: #FFF;\n}\n.passphrase-entry.dialog .password .button.password-view.selected {\n background: #EEE;\n}\n.passphrase-entry.dialog .password input[type=text]:focus ~ .button.password-view,\n.passphrase-entry.dialog .password input[type=password]:focus ~ .button.password-view {\n border: 1px solid #2894DF;\n border-left: 0;\n}\n.passphrase-entry.dialog .input.checkbox,\n.passphrase-entry.dialog .input.select {\n display: inline;\n}\n.passphrase-entry.dialog input[type="checkbox"] + label {\n margin-left: 0.5em;\n}\n.move-folder-dialog .folders-list-wrapper {\n border-bottom: 1px solid #DDD;\n border-top: 1px solid #DDD;\n}\n.move-folder-dialog .breadcrumbs {\n height: auto;\n padding-bottom: 0.625em;\n font-size: 1.2em;\n padding-top: 0.5em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.move-folder-dialog .breadcrumbs:before,\n.move-folder-dialog .breadcrumbs:after {\n content: "";\n display: table;\n}\n.move-folder-dialog .breadcrumbs:after {\n clear: both;\n}\n.move-folder-dialog .breadcrumbs:before,\n.move-folder-dialog .breadcrumbs:after {\n content: "";\n display: table;\n}\n.move-folder-dialog .breadcrumbs:after {\n clear: both;\n}\n.move-folder-dialog .breadcrumbs .button {\n float: left;\n width: 1.5em;\n padding: 0.125em 0.25em 0.25em 0.25em;\n margin-left: 0.5em;\n margin-right: 0;\n}\n.move-folder-dialog .breadcrumbs ul {\n box-sizing: border-box;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n float: left;\n width: calc(100% - 5em);\n margin-top: -0.125em;\n}\n.move-folder-dialog .folders-list {\n padding: 0;\n max-height: 19em;\n}\n.move-folder-dialog .folders-list:last-child {\n border-bottom: 0;\n}\n.move-folder-dialog .folders-list .folders-list-item {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0.75em 1.25em 0.75em 1.5em;\n border-bottom: 1px solid #EEE;\n cursor: pointer;\n}\n.move-folder-dialog .folders-list .folders-list-item.disabled {\n color: #666;\n background: #F3F3F3;\n cursor: default;\n}\n.move-folder-dialog .folders-list .folders-list-item.disabled .svg-icon svg {\n fill: #666;\n}\n.move-folder-dialog .folders-list .folders-list-item.selected {\n background: #EEE;\n}\n.move-folder-dialog .folders-list .folders-list-item.selected .folder-view {\n border: 1px solid #EEE;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-name {\n margin-left: 0.4em;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-permission {\n color: #666;\n font-size: 0.8em;\n margin-left: 0.4em;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-view {\n float: right;\n margin-top: -0.25em;\n margin-right: -0.25em;\n padding: 0.25em 0.5em;\n border: 1px solid #FFF;\n border-radius: 0.214em;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-view:hover {\n border: 1px solid #DDD;\n}\n.move-folder-strategy-dialog p {\n font-size: 1em;\n padding-bottom: 0.5em;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:before,\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n content: "";\n display: table;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n clear: both;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:before,\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n content: "";\n display: table;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n clear: both;\n}\n.move-folder-strategy-dialog .radiolist-alt input {\n float: right;\n width: 5%;\n margin-top: 1em;\n margin-right: 0.75em;\n}\n.move-folder-strategy-dialog .radiolist-alt input:checked + label {\n border: 1px solid #2894DF;\n}\n.move-folder-strategy-dialog .radiolist-alt input:checked + label:hover {\n border: 1px solid #2894DF;\n}\n.move-folder-strategy-dialog .radiolist-alt label {\n border: 1px solid #DDD;\n border-radius: 2px;\n padding: 1em;\n margin-top: -2em;\n margin-bottom: 1.5em;\n float: left;\n width: 93%;\n}\n.move-folder-strategy-dialog .radiolist-alt label:hover {\n border: 1px solid #CCC;\n}\n.move-folder-strategy-dialog .radiolist-alt label .strategy-name {\n margin-top: -0.5em;\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n font-weight: bold;\n display: block;\n font-size: 1em;\n}\n.move-folder-strategy-dialog .radiolist-alt label .strategy-info {\n font-weight: normal;\n display: block;\n}\n.dialog .group .form-content.permission-edit {\n border-top: 1px solid #F3F3F3;\n margin: 0;\n}\n.edit-group-dialog .group_edit_form .form-content {\n padding-bottom: 0;\n}\n.edit-group-dialog .group_edit_form .form-content .input.text .message {\n padding-left: 0;\n}\n.edit-group-dialog .group_members {\n margin-top: -0.5em;\n}\n.edit-group-dialog .group_members .message.warning.feedback {\n margin-top: 0px;\n}\n.edit-group-dialog .group_members .message.warning.feedback span {\n display: block;\n}\n.edit-group-dialog .group_members ul.permissions {\n display: block;\n}\n.edit-group-dialog .group_members.empty ul.permissions {\n display: none;\n}\n.progress-bar-wrapper .progress-bar.big.infinite {\n width: 0;\n}\n.delete-user-dialog .intro p + p,\n.delete-group-dialog .intro p + p {\n margin-bottom: 0;\n}\n.delete-user-dialog .ownership-transfer,\n.delete-group-dialog .ownership-transfer {\n max-height: 20em;\n overflow: auto;\n background: #FFF;\n}\n.delete-user-dialog .ownership-transfer h3,\n.delete-group-dialog .ownership-transfer h3 {\n border: 0;\n padding: 0.5em 1.25em;\n margin: 0;\n background: #F3F3F3;\n}\n.delete-user-dialog .ownership-transfer li,\n.delete-group-dialog .ownership-transfer li {\n border-bottom: 1px dotted #DDD;\n padding: 0.5em 1.25em;\n}\n.delete-user-dialog .ownership-transfer li select,\n.delete-group-dialog .ownership-transfer li select {\n width: 100%;\n}\n/* update avatar dialogs */\n.update-avatar-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.update-avatar-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.update-avatar-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ldap-test-settings-report div.directory-structure {\n border: 1px solid #DDD;\n padding: 0.5em 0 0.5em 0.5em;\n}\n.ldap-test-settings-report div.directory-structure > ul > li {\n margin-left: 0.5em;\n}\n.ldap-test-settings-report div.directory-structure ul {\n font-size: 0.8rem;\n list-style-type: square;\n list-style-position: inside;\n}\n.ldap-test-settings-report div.directory-structure ul li {\n margin-left: 1em;\n}\n.ldap-test-settings-report div.directory-structure ul li em {\n color: #888;\n font-size: 0.8em;\n}\n.ldap-test-settings-report div.directory-structure ul li.user {\n font-weight: normal;\n list-style-type: circle;\n}\n.ldap-test-settings-report div.directory-structure ul li.group {\n font-weight: bold;\n}\n/*\n * Password workspace\n */\n.panel.aside .resource .detailed-information li.password .value {\n height: 1.6em;\n padding-top: 0.2em;\n}\n.panel.aside .resource .detailed-information li.password .value .secret {\n float: left;\n max-width: calc(100% - 1.8rem);\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.panel.aside .resource .detailed-information li.password .password-view {\n display: block;\n position: relative;\n box-sizing: content-box;\n margin: 0 0 0 0.3rem;\n padding: 0.05rem 0.3rem 0 0.3rem;\n background: 0 0;\n border: 0;\n float: left;\n}\n.panel.aside .resource .detailed-information li.password .password-view.selected {\n background: #EEE;\n}\n/* Define state where there are no passwords, and the filter all items */\n.page.password .tableview.empty .tableview-header {\n /* No tableview-header */\n display: none;\n}\n.page.password .tableview.empty .tableview-content {\n /* No tableview-header */\n border: 0;\n top: 0;\n}\n.page.password .tableview.empty.all_items .tableview-content {\n /* Tablet version */\n /* Normal screen version */\n}\n@media all and (min-width: 780px) {\n .page.password .tableview.empty.all_items .tableview-content {\n background-position: center 60%;\n background-size: 10%;\n }\n}\n@media all and (min-width: 1024px) {\n .page.password .tableview.empty.all_items .tableview-content {\n background-position: center 80%;\n background-size: 20%;\n }\n}\n.page.password .tableview.empty .empty-content {\n text-align: center;\n margin: 2em 0.5em 0.67em 0.5em;\n padding-top: 2em;\n}\n.page.password .tableview.empty .empty-content h1 {\n font-size: 1.5em;\n}\n.page.password .tableview.empty .empty-content p {\n font-size: 1em;\n line-height: 1.5em;\n}\n@media all and (min-width: 780px) {\n .page.password .tableview.empty .empty-content h1 {\n font-size: 2.2em;\n }\n .page.password .tableview.empty .empty-content p {\n font-size: 1.2em;\n line-height: 1.8em;\n }\n}\n/* sidebar / user details in overview */\n.panel.aside .user .sidebar-header .logo img,\n.panel.aside .group .sidebar-header .logo img {\n margin: 0;\n width: 3em;\n height: 3em;\n}\n.panel.aside li.key {\n margin-bottom: 0.5em;\n}\n.panel.aside li.key a.button.copy-public-key {\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n font-size: 0.75em;\n}\n.panel.aside li textarea {\n width: 100%;\n}\n/* edit group dialog */\n.edit-group-dialog .permission-edit {\n margin-top: -1em;\n border-top: 1px solid #F3F3F3;\n}\n/* tabel view adjustments for avatar */\n.page.people .tableview-header th.cell-icon,\n.page.people .tableview-header th.cell-avatar {\n width: 45px;\n}\n.page.people .tableview-content th.cell-icon,\n.page.people .tableview-content td.cell-avatar {\n margin: 0;\n text-align: left;\n width: 45px;\n}\n.page.people .tableview-content th.cell-icon img,\n.page.people .tableview-content td.cell-avatar img {\n margin-top: 3px;\n width: 1.7em;\n height: 1.7em;\n border-radius: 50%;\n}\n/* login history icon column centerign */\n.login-history td:first-child {\n text-align: center;\n}\n/* Empty search feedback */\n.page.user .tableview.empty .tableview-header {\n /* No tableview-header */\n display: none;\n}\n.page.user .tableview.empty .tableview-content {\n border: 0;\n top: 0;\n}\n.page.user .tableview.empty .empty-content {\n text-align: center;\n margin: 3em 0.5em 0.67em 0.5em;\n}\n.page.user .tableview.empty .empty-content h1 {\n font-size: 1.5em;\n}\n.page.user .tableview.empty .empty-content p {\n font-size: 1em;\n line-height: 1.5em;\n}\n@media all and (min-width: 780px) {\n .page.user .tableview.empty .empty-content h1 {\n font-size: 2.2em;\n }\n .page.user .tableview.empty .empty-content p {\n font-size: 1.2em;\n line-height: 1.8em;\n }\n}\n.page.settings .main.panel .middle {\n overflow-y: auto;\n}\n.page.settings .profile-detailed-information {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-detailed-information:before,\n.page.settings .profile-detailed-information:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information:after {\n clear: both;\n}\n.page.settings .profile-detailed-information:before,\n.page.settings .profile-detailed-information:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar {\n float: left;\n}\n.page.settings .profile-detailed-information .avatar img {\n border: 1px solid #DDD;\n padding: 0;\n width: 12.5em;\n height: 12.5em;\n margin: 0.5em 1em 0 0;\n}\n.page.settings .profile-detailed-information .avatar .edit {\n width: 12.5em;\n height: 3.125em;\n background-color: rgba(0, 0, 0, 0.7);\n border: 1px solid transparent;\n color: #FFF;\n margin: -3.25em 0 2em 0;\n position: relative;\n}\n.page.settings .profile-detailed-information .avatar .edit a {\n color: #FFF;\n display: block;\n height: 3.125em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-detailed-information .avatar .edit a:before,\n.page.settings .profile-detailed-information .avatar .edit a:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information .avatar .edit a:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar .edit a:before,\n.page.settings .profile-detailed-information .avatar .edit a:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information .avatar .edit a:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar .edit a .svg-icon {\n float: left;\n}\n.page.settings .profile-detailed-information .avatar .edit a .svg-icon svg {\n float: left;\n fill: white;\n width: 1.6rem;\n height: 1.6rem;\n margin: 0.8em;\n}\n.page.settings .profile-detailed-information .avatar .edit a .help-text {\n float: left;\n display: block;\n font-size: 0.813em;\n margin-left: 0;\n padding: 0.5em;\n width: 9em;\n}\n.page.settings .profile-key-inspector-information .input.select.tooltip-top {\n display: inline-block;\n}\n.page.settings .key-export .actions {\n margin: 1em 0;\n}\n.page.settings .key-export .input.textarea.gpgkey textarea.fluid.code {\n height: 27em;\n}\n.page.settings .profile-passphrase .password-management-bg {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_15___+') center center no-repeat;\n background-size: contain;\n height: 16em;\n}\n.page.settings .profile-passphrase .input.checkbox {\n margin-bottom: 1em;\n}\n.page.settings .profile-passphrase .passphrase-help {\n margin-top: 2em;\n padding: 1.5em;\n background-color: #daecf9;\n}\n.page.settings .profile-passphrase .passphrase-help h3 {\n margin: 0;\n border-bottom: none;\n}\n.page.settings .profile-passphrase .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-passphrase .password:before,\n.page.settings .profile-passphrase .password:after {\n content: "";\n display: table;\n}\n.page.settings .profile-passphrase .password:after {\n clear: both;\n}\n.page.settings .profile-passphrase .password:before,\n.page.settings .profile-passphrase .password:after {\n content: "";\n display: table;\n}\n.page.settings .profile-passphrase .password:after {\n clear: both;\n}\n.page.settings .profile-passphrase .password input {\n width: calc(100% - 16rem);\n}\n.page.settings .profile-passphrase .password .input .message.error {\n clear: both;\n}\n.page.settings .profile-passphrase .password .password-view {\n width: 2em;\n height: 1.5em;\n padding: 0.44rem 0.8rem 0.5rem 0.9rem;\n}\n.page.settings .profile-passphrase .password-complexity .progress {\n width: calc(100% - 12.6rem);\n}\n.page.settings .profile-passphrase .password-hints {\n margin: 0.5em 0 1em 0;\n}\n.page.settings .profile-passphrase .password-hints li {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.page.settings .profile-choose-security-token .input-security-token {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 1em 0 1.5em 0;\n}\n.page.settings .profile-choose-security-token .input-security-token:before,\n.page.settings .profile-choose-security-token .input-security-token:after {\n content: "";\n display: table;\n}\n.page.settings .profile-choose-security-token .input-security-token:after {\n clear: both;\n}\n.page.settings .profile-choose-security-token .input-security-token:before,\n.page.settings .profile-choose-security-token .input-security-token:after {\n content: "";\n display: table;\n}\n.page.settings .profile-choose-security-token .input-security-token:after {\n clear: both;\n}\n.page.settings .profile-choose-security-token .input-security-token label {\n margin-bottom: 0.5em;\n}\n.page.settings .profile-choose-security-token .input-security-token .input.text {\n border-radius: 0.214em;\n font-size: 2rem;\n max-width: 5rem;\n float: left;\n text-align: center;\n margin-right: 1em;\n}\n.page.settings .profile-choose-security-token .input-security-token .circle-picker {\n float: left;\n}\n.page.settings .profile-choose-security-token .input-security-token .randomize-button-wrapper {\n float: left;\n text-align: center;\n clear: both;\n cursor: pointer;\n}\n.page.settings .profile-choose-security-token .input-security-token .svg-icon svg {\n height: 0.85em;\n width: 0.85em;\n}\n/* hide icons if there is no space */\n@media all and (max-width: 950px) {\n .page.settings .profile-detailed-information .avatar {\n float: none;\n }\n}\n/* table info is hard to fit because of fingerprint */\n@media (max-width: 1280px) {\n .key-info .table-info {\n font-size: 0.875em;\n }\n .key-info .table-info .select select {\n font-size: 0.929em;\n }\n}\n.themes .theme {\n float: left;\n border-radius: 2px;\n}\n.themes .theme a {\n max-width: 275px;\n display: block;\n margin: 1em;\n border: 1px solid #DDD;\n padding: 1em;\n box-shadow: 0px 0px 10px 0px #DDD;\n border-radius: 3px;\n}\n.themes .theme a:hover {\n border: 1px solid #2A9CEB;\n}\n.themes .theme .theme-desc {\n padding-top: 1em;\n text-align: center;\n}\n.themes .theme.selected {\n font-weight: bold;\n}\n.themes .theme.selected a {\n background: #EEE;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #BBB;\n}\n.page.administration .workspace-main .grid {\n position: absolute;\n bottom: 0;\n top: 2.125em;\n padding: 0;\n overflow-y: scroll;\n}\n.dialog .ldap-test-settings-report .directory-list span.error {\n color: #D40101;\n}\n.dialog .ldap-test-settings-report p.directory-errors.error {\n padding: 1em 0 0 0;\n color: #D40101;\n}\n.dialog .ldap-test-settings-report .accordion-directory-structure .error {\n color: #D40101;\n}\n.dialog .ldap-test-settings-report .accordion-directory-errors textarea {\n font-family: "Courier New", Courier, monospace;\n font-size: 11px;\n overflow: auto;\n height: 220px;\n}\n',""]),module.exports=exports},1295:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/loading_light.061977b5.svg"},1296:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/logo.e2b062a5.svg"},1297:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/dot_black.a2c44078.svg"},1298:function(module,exports,__webpack_require__){"use strict";(function(module){(0,__webpack_require__(500).configure)([__webpack_require__(1299),__webpack_require__(1300)],module,!1)}).call(this,__webpack_require__(149)(module))},1299:function(module,exports){function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=function(){return[]},webpackEmptyContext.resolve=webpackEmptyContext,module.exports=webpackEmptyContext,webpackEmptyContext.id=1299},13:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return withAppContext}));__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(12),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var AppContext=react__WEBPACK_IMPORTED_MODULE_7___default.a.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 withAppContext(WrappedComponent){return function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(withAppContext,_React$Component);var _super=_createSuper(withAppContext);function withAppContext(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,withAppContext),_super.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(withAppContext,[{key:"render",value:function render(){var _this=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(AppContext.Consumer,{children:function children(AppContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(WrappedComponent,Object.assign({context:AppContext},_this.props))}})}}]),withAppContext}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component)}__webpack_exports__.a=AppContext},1300:function(module,exports,__webpack_require__){var map={"./react-extension/components/Resource/CreateResource/CreateResource.test.stories.js":1653,"./react-extension/components/Resource/DeleteResource/DeleteResource.test.stories.js":1348,"./react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.stories.js":1649,"./react-extension/components/Resource/EditResource/EditResource.test.stories.js":1643,"./react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js":1646,"./react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js":1644,"./react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.test.stories.js":1654,"./react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.test.stories.js":1655,"./react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.test.stories.js":1647,"./react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.test.stories.js":1650,"./react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js":1656,"./react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js":1651,"./react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js":1645,"./react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js":1633,"./react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js":1652,"./react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js":1637,"./react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js":1638,"./react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js":1657,"./react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js":1658,"./react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js":1659,"./react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js":1639,"./react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js":1640};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function webpackContextKeys(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=1300},1348:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"SinglePassword",(function(){return SinglePassword})),__webpack_require__.d(__webpack_exports__,"MultiplePassword",(function(){return MultiplePassword}));__webpack_require__(12),__webpack_require__(18);var react_router_dom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(99),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_4__=(__webpack_require__(1),__webpack_require__(13)),_DeleteResource__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(264),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/Resource/DeleteResource",component:_DeleteResource__WEBPACK_IMPORTED_MODULE_5__.a};var Template=function Template(context){return function(args){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_contexts_AppContext__WEBPACK_IMPORTED_MODULE_4__.a.Provider,{value:context,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_2__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_DeleteResource__WEBPACK_IMPORTED_MODULE_5__.a,Object.assign({},args,routerProps))}})})})}},SinglePassword=Template({passwordDeleteDialogProps:{resources:[{name:"My Password"}]}}).bind({}),MultiplePassword=Template({passwordDeleteDialogProps:{resources:[{name:"My Password"},{name:"My Another Password"}]}}).bind({});SinglePassword.parameters=Object.assign({storySource:{source:"Template(singleContext).bind({})"}},SinglePassword.parameters),MultiplePassword.parameters=Object.assign({storySource:{source:"Template(multipleContext).bind({})"}},MultiplePassword.parameters)},140:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var ContextualMenuWrapper=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(ContextualMenuWrapper,_Component);var _super=_createSuper(ContextualMenuWrapper);function ContextualMenuWrapper(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,ContextualMenuWrapper),(_this=_super.call(this,props)).createRefs(),_this.bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ContextualMenuWrapper,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleDocumentClickEvent=this.handleDocumentClickEvent.bind(this),this.handleDocumentContextualMenuEvent=this.handleDocumentContextualMenuEvent.bind(this),this.handleDocumentDragStartEvent=this.handleDocumentDragStartEvent.bind(this)}},{key:"createRefs",value:function createRefs(){this.elementRef=react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef()}},{key:"componentDidMount",value:function componentDidMount(){document.addEventListener("click",this.handleDocumentClickEvent),document.addEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.addEventListener("dragstart",this.handleDocumentDragStartEvent)}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("click",this.handleDocumentClickEvent),document.removeEventListener("contextmenu",this.handleDocumentContextualMenuEvent),document.removeEventListener("dragstart",this.handleDocumentDragStartEvent)}},{key:"handleDocumentClickEvent",value:function handleDocumentClickEvent(event){this.elementRef.current.contains(event.target)||this.props.hide()}},{key:"handleDocumentContextualMenuEvent",value:function handleDocumentContextualMenuEvent(event){this.elementRef.current.contains(event.target)||this.props.hide()}},{key:"handleDocumentDragStartEvent",value:function handleDocumentDragStartEvent(){this.props.hide()}},{key:"getStyle",value:function getStyle(){return{position:"absolute",display:"block",left:this.props.left,top:this.props.top}}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("ul",{ref:this.elementRef,className:"contextual-menu",style:this.getStyle(),children:this.props.children})}}]),ContextualMenuWrapper}(react__WEBPACK_IMPORTED_MODULE_7__.Component);ContextualMenuWrapper.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.any,left:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,hide:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,top:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number},ContextualMenuWrapper.__docgenInfo={description:"The ContextualMenuWrapper has for aim to handle common contextual menus common behavior.\nYou can use it in your component as following\n\n<ContextualMenuWrapper\n hide={callback_func} // Function to call when the contextual menu request to close itself\n left={100} // Left position in absolute to display the contextual menu\n top={100}> // Top position in absolute to display the contextual menu\n <div>\n Your contextual menu content\n </div>\n</ContextualMenuWrapper>",methods:[{name:"bindCallbacks",docblock:"Bind class methods callback",modifiers:[],params:[],returns:null,description:"Bind class methods callback"},{name:"createRefs",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"handleDocumentClickEvent",docblock:"Handle click events on document. Hide the component if the click occurred outside of the component.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle click events on document. Hide the component if the click occurred outside of the component."},{name:"handleDocumentContextualMenuEvent",docblock:"Handle contextual menu events on document. Hide the component if the click occurred outside of the component.\nDon't hide it if a contextual menu event occurred on the FoldersList component, this component props will be\nupdated with new datA.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle contextual menu events on document. Hide the component if the click occurred outside of the component.\nDon't hide it if a contextual menu event occurred on the FoldersList component, this component props will be\nupdated with new datA."},{name:"handleDocumentDragStartEvent",docblock:"Handle drag start event on document. Hide the component if any.",modifiers:[],params:[],returns:null,description:"Handle drag start event on document. Hide the component if any."},{name:"getStyle",docblock:"Get the contextual menu style.",modifiers:[],params:[],returns:null,description:"Get the contextual menu style."}],displayName:"ContextualMenuWrapper",props:{children:{type:{name:"any"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},hide:{type:{name:"func"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""}}},__webpack_exports__.a=ContextualMenuWrapper,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/ContextualMenu/ContextualMenuWrapper.js"]={name:"ContextualMenuWrapper",docgenInfo:ContextualMenuWrapper.__docgenInfo,path:"src/react/components/Common/ContextualMenu/ContextualMenuWrapper.js"})},141:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(14),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var GroupAvatar=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(GroupAvatar,_Component);var _super=_createSuper(GroupAvatar);function GroupAvatar(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,GroupAvatar),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(GroupAvatar,[{key:"getDefaultState",value:function getDefaultState(){return{error:!1}}},{key:"getAvatarUrl",value:function getAvatarUrl(){return"".concat(this.props.baseUrl,"/img/avatar/group_default.png")}},{key:"getAltText",value:function getAltText(){return"Avatar of the ".concat(this.props.name," group.")}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"avatar user-avatar",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("img",{src:this.getAvatarUrl(),alt:this.getAltText()})})}}]),GroupAvatar}(react__WEBPACK_IMPORTED_MODULE_7__.Component);GroupAvatar.propTypes={baseUrl:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,group:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,name:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string},GroupAvatar.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"getAvatarUrl",docblock:"Get the avatar url\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the avatar url"},{name:"getAltText",docblock:"Get image alternative text\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get image alternative text"}],displayName:"GroupAvatar",props:{baseUrl:{type:{name:"string"},required:!1,description:""},group:{type:{name:"object"},required:!1,description:""},name:{type:{name:"string"},required:!1,description:""}}},__webpack_exports__.a=GroupAvatar,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Avatar/GroupAvatar.js"]={name:"GroupAvatar",docgenInfo:GroupAvatar.__docgenInfo,path:"src/react/components/Common/Avatar/GroupAvatar.js"})},1627:function(module,exports,__webpack_require__){var ___CSS_LOADER_API_IMPORT___=__webpack_require__(613),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__(614),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__(615),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__(616),___CSS_LOADER_URL_IMPORT_2___=__webpack_require__(617),___CSS_LOADER_URL_IMPORT_3___=__webpack_require__(618),___CSS_LOADER_URL_IMPORT_4___=__webpack_require__(619),___CSS_LOADER_URL_IMPORT_5___=__webpack_require__(620),___CSS_LOADER_URL_IMPORT_6___=__webpack_require__(621),___CSS_LOADER_URL_IMPORT_7___=__webpack_require__(622),___CSS_LOADER_URL_IMPORT_8___=__webpack_require__(1628),___CSS_LOADER_URL_IMPORT_9___=__webpack_require__(623),___CSS_LOADER_URL_IMPORT_10___=__webpack_require__(624),___CSS_LOADER_URL_IMPORT_11___=__webpack_require__(625),___CSS_LOADER_URL_IMPORT_12___=__webpack_require__(1629),___CSS_LOADER_URL_IMPORT_13___=__webpack_require__(1630),___CSS_LOADER_URL_IMPORT_14___=__webpack_require__(626),___CSS_LOADER_URL_IMPORT_15___=__webpack_require__(627);exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___),___CSS_LOADER_URL_REPLACEMENT_2___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___),___CSS_LOADER_URL_REPLACEMENT_3___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___,{hash:"?#iefix&v=4.7.0"}),___CSS_LOADER_URL_REPLACEMENT_4___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___),___CSS_LOADER_URL_REPLACEMENT_5___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___),___CSS_LOADER_URL_REPLACEMENT_6___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___),___CSS_LOADER_URL_REPLACEMENT_7___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___,{hash:"#fontawesomeregular"}),___CSS_LOADER_URL_REPLACEMENT_8___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___),___CSS_LOADER_URL_REPLACEMENT_9___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___),___CSS_LOADER_URL_REPLACEMENT_10___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___),___CSS_LOADER_URL_REPLACEMENT_11___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___),___CSS_LOADER_URL_REPLACEMENT_12___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___),___CSS_LOADER_URL_REPLACEMENT_13___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___),___CSS_LOADER_URL_REPLACEMENT_14___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___),___CSS_LOADER_URL_REPLACEMENT_15___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);exports.push([module.i,'/* palette */\n/* background */\n/* borders */\n/* font */\n/* buttons */\n/* box shadows */\n/* dropdown menus */\n/* inputs */\n/* logo */\n/* grid */\n/* messages */\n/* controls */\n/* sidebar */\n/* tables */\n/* tabs */\n/* tags */\n/* tooltip */\n/* loading animation */\n/* scrollbar */\n/* svg fill */\n/* favorite icon fill */\n/* ==========================================================================\n * Reset is a mix of :\n *\n * Meyer Reset v2.0 | Public Domain\n * http://meyerweb.com/eric/tools/css/reset/\n * \n * normalize.css v1.1.2 | MIT License \n * https://github.com/necolas/normalize.css\n *\n * ========================================================================== */\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nfont,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n font-size: 100%;\n vertical-align: baseline;\n background: transparent;\n}\nbody {\n line-height: 1;\n}\n/* remember to define focus styles! */\n:focus {\n outline: 0;\n}\n/* remember to highlight inserts somehow! */\nins {\n text-decoration: none;\n}\ndel {\n text-decoration: line-through;\n}\n/* ==========================================================================\n HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n/**\n * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.\n */\naudio,\ncanvas,\nvideo {\n display: inline-block;\n *display: inline;\n *zoom: 1;\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n/**\n * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.\n * Known issue: no IE 6 support.\n */\n[hidden] {\n display: none;\n}\n/* ==========================================================================\n Base\n ========================================================================== */\n/**\n * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using\n *\t`em` units.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *\tuser zoom.\n */\nhtml {\n font-size: 100%;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n/**\n * Address `font-family` inconsistency between `textarea` and other form\n * elements.\n */\nhtml,\nbutton,\ninput,\nselect,\ntextarea {\n font-family: "Open Sans", Verdana, sans-serif;\n}\n/* ==========================================================================\n Links\n ========================================================================== */\n/* links */\na {\n outline: 0;\n text-decoration: none;\n cursor: pointer;\n}\na:hover {\n text-decoration: none;\n cursor: pointer;\n}\n/* ==========================================================================\n Typography\n ========================================================================== */\n/**\n * Address font sizes and margins set differently in IE 6/7.\n * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,\n * and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nh2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n}\nh3 {\n font-size: 1.17em;\n margin: 1em 0;\n}\nh4 {\n font-size: 1em;\n margin: 1.33em 0;\n}\nh5 {\n font-size: 0.83em;\n margin: 1.67em 0;\n}\nh6 {\n font-size: 0.67em;\n margin: 2.33em 0;\n}\n/**\n * Address styling not present in IE 7/8/9, Safari 5, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n/**\n * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.\n */\nb,\nstrong {\n font-weight: bold;\n}\n/**\n * Quotes\n */\nblockquote,\nq {\n quotes: none;\n}\nblockquote:before,\nblockquote:after,\nq:before,\nq:after {\n content: \'\';\n content: none;\n}\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\ndfn {\n font-style: italic;\n}\n/**\n * Address differences between Firefox and other browsers.\n * Known issue: no IE 6/7 normalization.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n/**\n * Address margins set differently in IE 6/7.\n */\np,\npre {\n margin: 1em 0;\n}\n/**\n * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n _font-family: \'courier new\', monospace;\n font-size: 1em;\n}\n/**\n * Improve readability of pre-formatted text in all browsers.\n */\npre {\n white-space: pre;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n/**\n * Address CSS quotes not supported in IE 6/7.\n */\nq {\n quotes: none;\n}\n/**\n * Address `quotes` property not supported in Safari 4.\n */\nq:before,\nq:after {\n content: \'\';\n content: none;\n}\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\n/* ==========================================================================\n Lists\n ========================================================================== */\n/**\n * Correct list images handled incorrectly in IE 7. + reset\n */\nol,\nul,\nnav ul,\nnav ol {\n list-style: none;\n list-style-image: none;\n}\n/* ==========================================================================\n Embedded content\n ========================================================================== */\n/**\n * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.\n * 2. Improve image quality when scaled in IE 7.\n */\nimg {\n border: 0;\n /* 1 */\n -ms-interpolation-mode: bicubic;\n /* 2 */\n}\n/**\n * Correct overflow displayed oddly in IE 9.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n/* ==========================================================================\n Figures\n ========================================================================== */\n/**\n * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.\n */\nfigure {\n margin: 0;\n}\n/* ==========================================================================\n Forms\n ========================================================================== */\n/**\n * Correct margin displayed oddly in IE 6/7.\n */\nform {\n margin: 0;\n}\n/**\n * 1. Correct color not being inherited in IE 6/7/8/9.\n * 2. Correct text not wrapping in Firefox 3.\n * 3. Correct alignment displayed oddly in IE 6/7.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n white-space: normal;\n /* 2 */\n *margin-left: -7px;\n /* 3 */\n}\n/**\n * 1. Correct font size not being inherited in all browsers.\n * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,\n *\tand Chrome.\n * 3. Improve appearance and consistency in all browsers.\n */\nbutton,\ninput,\nselect,\ntextarea {\n font-size: 100%;\n /* 1 */\n margin: 0;\n /* 2 */\n vertical-align: baseline;\n /* 3 */\n *vertical-align: middle;\n /* 3 */\n}\n/**\n * Address Firefox 3+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\nbutton,\ninput {\n line-height: normal;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.\n * Correct `select` style inheritance in Firefox 4+ and Opera.\n */\nbutton,\nselect {\n text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *\tand `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *\t`input` and others.\n * 4. Remove inner spacing in IE 7 without affecting normal text inputs.\n *\tKnown issue: inner spacing remains in IE 6.\n */\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */\n *overflow: visible;\n /* 4 */\n}\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n pointer-events: none;\n}\n/**\n * 1. Address box sizing set to content-box in IE 8/9.\n * 2. Remove excess padding in IE 8/9.\n * 3. Remove excess padding in IE 7.\n *\tKnown issue: excess padding remains in IE 6.\n */\ninput[type="checkbox"],\ninput[type="radio"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n *height: 13px;\n /* 3 */\n *width: 13px;\n /* 3 */\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n *\t(include `-moz` to future-proof).\n */\ninput[type="search"] {\n -webkit-appearance: textfield;\n /* 1 */\n /* 2 */\n box-sizing: content-box;\n}\n/**\n * Remove inner padding and search cancel button in Safari 5 and Chrome\n * on OS X.\n */\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n/**\n * Remove inner padding and border in Firefox 3+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n/**\n * 1. Remove default vertical scrollbar in IE 6/7/8/9.\n * 2. Improve readability and alignment in all browsers.\n */\ntextarea {\n overflow: auto;\n /* 1 */\n vertical-align: top;\n /* 2 */\n}\n/* ==========================================================================\n Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n * tables still need \'cellspacing="0"\' in the markup\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntable th,\ntable td {\n text-align: left;\n font-weight: normal;\n}\n/* ==========================================================================\n *\tHelper classes\n * ========================================================================== */\n/*\n * Image replacement\n */\n.ir {\n background-color: transparent;\n border: 0;\n overflow: hidden;\n /* IE 6/7 fallback */\n *text-indent: -9999px;\n}\n.ir:before {\n content: "";\n display: block;\n width: 0;\n height: 150%;\n}\n/*\n * Hide from both screenreaders and browsers: h5bp.com/u\n */\nhtml body .hidden {\n display: none;\n}\n/*\n * Hide only visually, but have it available for screenreaders: h5bp.com/v\n */\n.visually-hidden,\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n}\n.visually-hidden .focusable:active,\n.visuallyhidden .focusable:active,\n.visually-hidden .focusable:focus,\n.visuallyhidden .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n/*\n * Hide visually and from screenreaders, but maintain layout\n */\n.invisible {\n visibility: hidden;\n}\n.clearfix {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.clearfix:before,\n.clearfix:after {\n content: "";\n display: table;\n}\n.clearfix:after {\n clear: both;\n}\n/*\n * Border radius\n */\n.rounded {\n border-radius: 0.214em;\n}\n/* position shortcuts */\n.left {\n float: left;\n}\n.right {\n float: right;\n}\n/* ellipsis */\n.ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n/* force display of a block inline */\n.inline {\n display: inline-block;\n}\n/* make something spin */\n@-webkit-keyframes rotate {\n from {\n -webkit-transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(-360deg);\n }\n}\n/* rotations */\n.rotate {\n -webkit-animation-name: rotate;\n -webkit-animation-duration: 4s;\n -webkit-animation-iteration-count: infinite;\n -webkit-animation-timing-function: linear;\n -moz-animation-name: rotate;\n -moz-animation-duration: 4s;\n -moz-animation-iteration-count: infinite;\n -moz-animation-timing-function: linear;\n}\n.rotate-right {\n transform: rotate(-90deg);\n}\n/* list */\n/* seriously? */\n.blink {\n -webkit-animation: blinker 1s linear infinite;\n animation: blinker 1s linear infinite;\n}\n.blink-fast {\n -webkit-animation: blinker 0.25s linear infinite;\n animation: blinker 0.25s linear infinite;\n}\n@-webkit-keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n@keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n/* box shadows */\n/* body */\nbody {\n color: #FFFFFC;\n background: #30302D;\n}\nbody.iframe {\n background: transparent;\n}\n/* links */\na:link,\na:visited {\n color: #FFFFFC;\n}\na:hover {\n color: #2894DF;\n}\na:active,\na:focus {\n outline: 0;\n color: #2894DF;\n border: 0;\n}\na {\n border-bottom: 1px solid #0C0C0A;\n}\na:hover {\n border-bottom: 1px solid #2894DF;\n}\na.disabled {\n outline: 0;\n text-decoration: none;\n cursor: default;\n color: #606060;\n pointer-events: none;\n}\nhtml {\n scroll-behavior: smooth;\n}\n.animated {\n -webkit-animation-duration: 0.5s;\n animation-duration: 0.5s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n/* fadeinup */\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@-webkit-keyframes fadeOutUp {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n}\n@keyframes fadeOutUp {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n}\n@-webkit-keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@-webkit-keyframes pop {\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n 55% {\n opacity: 1;\n transform: scale(1);\n }\n 65% {\n opacity: 1;\n transform: scale(1.25);\n }\n 75% {\n opacity: 1;\n transform: scale(1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes pop {\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n 55% {\n opacity: 1;\n transform: scale(1);\n }\n 65% {\n opacity: 1;\n transform: scale(1.25);\n }\n 75% {\n opacity: 1;\n transform: scale(1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n.pop {\n -webkit-animation-name: pop;\n animation-name: pop;\n}\n/*\n * Typography\n */\n/* opensans */\n@font-face {\n font-family: \'Open Sans\';\n font-style: normal;\n font-weight: 400;\n src: local(\'Open Sans\'), local(\'OpenSans\'), url('+___CSS_LOADER_URL_REPLACEMENT_0___+") format('woff');\n}\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-weight: 700;\n src: local('Open Sans Bold'), local('OpenSans-Bold'), url("+___CSS_LOADER_URL_REPLACEMENT_1___+") format('woff');\n}\nbody {\n font-family: 'Open Sans', Verdana, sans-serif;\n font-size: 100%;\n line-height: 1.42;\n font-weight: 400;\n}\n/* titles */\nh1 {\n font-size: 1.5em;\n /* 24px base 16 */\n}\nh2 {\n font-size: 1.25em;\n /* 20px base 16 */\n}\nh3 {\n font-size: 1.125em;\n /* 18px base 16 */\n display: block;\n padding-bottom: 0.333em;\n /* 6px */\n border-bottom: 1px dotted #0C0C0A;\n}\n/* paragraph */\np {\n margin: 0 0 1em 0;\n line-height: 1.5em;\n}\n.code {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 0.688em;\n /* 11px base 16 */\n}\n.capitalize {\n text-transform: capitalize;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n * @licstart\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url("+___CSS_LOADER_URL_REPLACEMENT_2___+");\n src: url("+___CSS_LOADER_URL_REPLACEMENT_3___+") format('embedded-opentype'), url("+___CSS_LOADER_URL_REPLACEMENT_4___+") format('woff2'), url("+___CSS_LOADER_URL_REPLACEMENT_5___+") format('woff'), url("+___CSS_LOADER_URL_REPLACEMENT_6___+") format('truetype'), url("+___CSS_LOADER_URL_REPLACEMENT_7___+') format(\'svg\');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #0C0C0A;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: "\\f000";\n}\n.fa-music:before {\n content: "\\f001";\n}\n.fa-search:before {\n content: "\\f002";\n}\n.fa-envelope-o:before {\n content: "\\f003";\n}\n.fa-heart:before {\n content: "\\f004";\n}\n.fa-star:before {\n content: "\\f005";\n}\n.fa-star-o:before {\n content: "\\f006";\n}\n.fa-user:before {\n content: "\\f007";\n}\n.fa-film:before {\n content: "\\f008";\n}\n.fa-th-large:before {\n content: "\\f009";\n}\n.fa-th:before {\n content: "\\f00a";\n}\n.fa-th-list:before {\n content: "\\f00b";\n}\n.fa-check:before {\n content: "\\f00c";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: "\\f00d";\n}\n.fa-search-plus:before {\n content: "\\f00e";\n}\n.fa-search-minus:before {\n content: "\\f010";\n}\n.fa-power-off:before {\n content: "\\f011";\n}\n.fa-signal:before {\n content: "\\f012";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: "\\f013";\n}\n.fa-trash-o:before {\n content: "\\f014";\n}\n.fa-home:before {\n content: "\\f015";\n}\n.fa-file-o:before {\n content: "\\f016";\n}\n.fa-clock-o:before {\n content: "\\f017";\n}\n.fa-road:before {\n content: "\\f018";\n}\n.fa-download:before {\n content: "\\f019";\n}\n.fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.fa-inbox:before {\n content: "\\f01c";\n}\n.fa-play-circle-o:before {\n content: "\\f01d";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: "\\f01e";\n}\n.fa-refresh:before {\n content: "\\f021";\n}\n.fa-list-alt:before {\n content: "\\f022";\n}\n.fa-lock:before {\n content: "\\f023";\n}\n.fa-flag:before {\n content: "\\f024";\n}\n.fa-headphones:before {\n content: "\\f025";\n}\n.fa-volume-off:before {\n content: "\\f026";\n}\n.fa-volume-down:before {\n content: "\\f027";\n}\n.fa-volume-up:before {\n content: "\\f028";\n}\n.fa-qrcode:before {\n content: "\\f029";\n}\n.fa-barcode:before {\n content: "\\f02a";\n}\n.fa-tag:before {\n content: "\\f02b";\n}\n.fa-tags:before {\n content: "\\f02c";\n}\n.fa-book:before {\n content: "\\f02d";\n}\n.fa-bookmark:before {\n content: "\\f02e";\n}\n.fa-print:before {\n content: "\\f02f";\n}\n.fa-camera:before {\n content: "\\f030";\n}\n.fa-font:before {\n content: "\\f031";\n}\n.fa-bold:before {\n content: "\\f032";\n}\n.fa-italic:before {\n content: "\\f033";\n}\n.fa-text-height:before {\n content: "\\f034";\n}\n.fa-text-width:before {\n content: "\\f035";\n}\n.fa-align-left:before {\n content: "\\f036";\n}\n.fa-align-center:before {\n content: "\\f037";\n}\n.fa-align-right:before {\n content: "\\f038";\n}\n.fa-align-justify:before {\n content: "\\f039";\n}\n.fa-list:before {\n content: "\\f03a";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: "\\f03b";\n}\n.fa-indent:before {\n content: "\\f03c";\n}\n.fa-video-camera:before {\n content: "\\f03d";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: "\\f03e";\n}\n.fa-pencil:before {\n content: "\\f040";\n}\n.fa-map-marker:before {\n content: "\\f041";\n}\n.fa-adjust:before {\n content: "\\f042";\n}\n.fa-tint:before {\n content: "\\f043";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: "\\f044";\n}\n.fa-share-square-o:before {\n content: "\\f045";\n}\n.fa-check-square-o:before {\n content: "\\f046";\n}\n.fa-arrows:before {\n content: "\\f047";\n}\n.fa-step-backward:before {\n content: "\\f048";\n}\n.fa-fast-backward:before {\n content: "\\f049";\n}\n.fa-backward:before {\n content: "\\f04a";\n}\n.fa-play:before {\n content: "\\f04b";\n}\n.fa-pause:before {\n content: "\\f04c";\n}\n.fa-stop:before {\n content: "\\f04d";\n}\n.fa-forward:before {\n content: "\\f04e";\n}\n.fa-fast-forward:before {\n content: "\\f050";\n}\n.fa-step-forward:before {\n content: "\\f051";\n}\n.fa-eject:before {\n content: "\\f052";\n}\n.fa-chevron-left:before {\n content: "\\f053";\n}\n.fa-chevron-right:before {\n content: "\\f054";\n}\n.fa-plus-circle:before {\n content: "\\f055";\n}\n.fa-minus-circle:before {\n content: "\\f056";\n}\n.fa-times-circle:before {\n content: "\\f057";\n}\n.fa-check-circle:before {\n content: "\\f058";\n}\n.fa-question-circle:before {\n content: "\\f059";\n}\n.fa-info-circle:before {\n content: "\\f05a";\n}\n.fa-crosshairs:before {\n content: "\\f05b";\n}\n.fa-times-circle-o:before {\n content: "\\f05c";\n}\n.fa-check-circle-o:before {\n content: "\\f05d";\n}\n.fa-ban:before {\n content: "\\f05e";\n}\n.fa-arrow-left:before {\n content: "\\f060";\n}\n.fa-arrow-right:before {\n content: "\\f061";\n}\n.fa-arrow-up:before {\n content: "\\f062";\n}\n.fa-arrow-down:before {\n content: "\\f063";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: "\\f064";\n}\n.fa-expand:before {\n content: "\\f065";\n}\n.fa-compress:before {\n content: "\\f066";\n}\n.fa-plus:before {\n content: "\\f067";\n}\n.fa-minus:before {\n content: "\\f068";\n}\n.fa-asterisk:before {\n content: "\\f069";\n}\n.fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.fa-gift:before {\n content: "\\f06b";\n}\n.fa-leaf:before {\n content: "\\f06c";\n}\n.fa-fire:before {\n content: "\\f06d";\n}\n.fa-eye:before {\n content: "\\f06e";\n}\n.fa-eye-slash:before {\n content: "\\f070";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.fa-plane:before {\n content: "\\f072";\n}\n.fa-calendar:before {\n content: "\\f073";\n}\n.fa-random:before {\n content: "\\f074";\n}\n.fa-comment:before {\n content: "\\f075";\n}\n.fa-magnet:before {\n content: "\\f076";\n}\n.fa-chevron-up:before {\n content: "\\f077";\n}\n.fa-chevron-down:before {\n content: "\\f078";\n}\n.fa-retweet:before {\n content: "\\f079";\n}\n.fa-shopping-cart:before {\n content: "\\f07a";\n}\n.fa-folder:before {\n content: "\\f07b";\n}\n.fa-folder-open:before {\n content: "\\f07c";\n}\n.fa-arrows-v:before {\n content: "\\f07d";\n}\n.fa-arrows-h:before {\n content: "\\f07e";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: "\\f080";\n}\n.fa-twitter-square:before {\n content: "\\f081";\n}\n.fa-facebook-square:before {\n content: "\\f082";\n}\n.fa-camera-retro:before {\n content: "\\f083";\n}\n.fa-key:before {\n content: "\\f084";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: "\\f085";\n}\n.fa-comments:before {\n content: "\\f086";\n}\n.fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.fa-star-half:before {\n content: "\\f089";\n}\n.fa-heart-o:before {\n content: "\\f08a";\n}\n.fa-sign-out:before {\n content: "\\f08b";\n}\n.fa-linkedin-square:before {\n content: "\\f08c";\n}\n.fa-thumb-tack:before {\n content: "\\f08d";\n}\n.fa-external-link:before {\n content: "\\f08e";\n}\n.fa-sign-in:before {\n content: "\\f090";\n}\n.fa-trophy:before {\n content: "\\f091";\n}\n.fa-github-square:before {\n content: "\\f092";\n}\n.fa-upload:before {\n content: "\\f093";\n}\n.fa-lemon-o:before {\n content: "\\f094";\n}\n.fa-phone:before {\n content: "\\f095";\n}\n.fa-square-o:before {\n content: "\\f096";\n}\n.fa-bookmark-o:before {\n content: "\\f097";\n}\n.fa-phone-square:before {\n content: "\\f098";\n}\n.fa-twitter:before {\n content: "\\f099";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: "\\f09a";\n}\n.fa-github:before {\n content: "\\f09b";\n}\n.fa-unlock:before {\n content: "\\f09c";\n}\n.fa-credit-card:before {\n content: "\\f09d";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: "\\f09e";\n}\n.fa-hdd-o:before {\n content: "\\f0a0";\n}\n.fa-bullhorn:before {\n content: "\\f0a1";\n}\n.fa-bell:before {\n content: "\\f0f3";\n}\n.fa-certificate:before {\n content: "\\f0a3";\n}\n.fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.fa-globe:before {\n content: "\\f0ac";\n}\n.fa-wrench:before {\n content: "\\f0ad";\n}\n.fa-tasks:before {\n content: "\\f0ae";\n}\n.fa-filter:before {\n content: "\\f0b0";\n}\n.fa-briefcase:before {\n content: "\\f0b1";\n}\n.fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.fa-group:before,\n.fa-users:before {\n content: "\\f0c0";\n}\n.fa-chain:before,\n.fa-link:before {\n content: "\\f0c1";\n}\n.fa-cloud:before {\n content: "\\f0c2";\n}\n.fa-flask:before {\n content: "\\f0c3";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: "\\f0c4";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: "\\f0c5";\n}\n.fa-paperclip:before {\n content: "\\f0c6";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: "\\f0c7";\n}\n.fa-square:before {\n content: "\\f0c8";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: "\\f0c9";\n}\n.fa-list-ul:before {\n content: "\\f0ca";\n}\n.fa-list-ol:before {\n content: "\\f0cb";\n}\n.fa-strikethrough:before {\n content: "\\f0cc";\n}\n.fa-underline:before {\n content: "\\f0cd";\n}\n.fa-table:before {\n content: "\\f0ce";\n}\n.fa-magic:before {\n content: "\\f0d0";\n}\n.fa-truck:before {\n content: "\\f0d1";\n}\n.fa-pinterest:before {\n content: "\\f0d2";\n}\n.fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.fa-google-plus:before {\n content: "\\f0d5";\n}\n.fa-money:before {\n content: "\\f0d6";\n}\n.fa-caret-down:before {\n content: "\\f0d7";\n}\n.fa-caret-up:before {\n content: "\\f0d8";\n}\n.fa-caret-left:before {\n content: "\\f0d9";\n}\n.fa-caret-right:before {\n content: "\\f0da";\n}\n.fa-columns:before {\n content: "\\f0db";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: "\\f0dc";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: "\\f0dd";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: "\\f0de";\n}\n.fa-envelope:before {\n content: "\\f0e0";\n}\n.fa-linkedin:before {\n content: "\\f0e1";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: "\\f0e2";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: "\\f0e3";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: "\\f0e4";\n}\n.fa-comment-o:before {\n content: "\\f0e5";\n}\n.fa-comments-o:before {\n content: "\\f0e6";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: "\\f0e7";\n}\n.fa-sitemap:before {\n content: "\\f0e8";\n}\n.fa-umbrella:before {\n content: "\\f0e9";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: "\\f0ea";\n}\n.fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.fa-exchange:before {\n content: "\\f0ec";\n}\n.fa-cloud-download:before {\n content: "\\f0ed";\n}\n.fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.fa-user-md:before {\n content: "\\f0f0";\n}\n.fa-stethoscope:before {\n content: "\\f0f1";\n}\n.fa-suitcase:before {\n content: "\\f0f2";\n}\n.fa-bell-o:before {\n content: "\\f0a2";\n}\n.fa-coffee:before {\n content: "\\f0f4";\n}\n.fa-cutlery:before {\n content: "\\f0f5";\n}\n.fa-file-text-o:before {\n content: "\\f0f6";\n}\n.fa-building-o:before {\n content: "\\f0f7";\n}\n.fa-hospital-o:before {\n content: "\\f0f8";\n}\n.fa-ambulance:before {\n content: "\\f0f9";\n}\n.fa-medkit:before {\n content: "\\f0fa";\n}\n.fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.fa-beer:before {\n content: "\\f0fc";\n}\n.fa-h-square:before {\n content: "\\f0fd";\n}\n.fa-plus-square:before {\n content: "\\f0fe";\n}\n.fa-angle-double-left:before {\n content: "\\f100";\n}\n.fa-angle-double-right:before {\n content: "\\f101";\n}\n.fa-angle-double-up:before {\n content: "\\f102";\n}\n.fa-angle-double-down:before {\n content: "\\f103";\n}\n.fa-angle-left:before {\n content: "\\f104";\n}\n.fa-angle-right:before {\n content: "\\f105";\n}\n.fa-angle-up:before {\n content: "\\f106";\n}\n.fa-angle-down:before {\n content: "\\f107";\n}\n.fa-desktop:before {\n content: "\\f108";\n}\n.fa-laptop:before {\n content: "\\f109";\n}\n.fa-tablet:before {\n content: "\\f10a";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: "\\f10b";\n}\n.fa-circle-o:before {\n content: "\\f10c";\n}\n.fa-quote-left:before {\n content: "\\f10d";\n}\n.fa-quote-right:before {\n content: "\\f10e";\n}\n.fa-spinner:before {\n content: "\\f110";\n}\n.fa-circle:before {\n content: "\\f111";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: "\\f112";\n}\n.fa-github-alt:before {\n content: "\\f113";\n}\n.fa-folder-o:before {\n content: "\\f114";\n}\n.fa-folder-open-o:before {\n content: "\\f115";\n}\n.fa-smile-o:before {\n content: "\\f118";\n}\n.fa-frown-o:before {\n content: "\\f119";\n}\n.fa-meh-o:before {\n content: "\\f11a";\n}\n.fa-gamepad:before {\n content: "\\f11b";\n}\n.fa-keyboard-o:before {\n content: "\\f11c";\n}\n.fa-flag-o:before {\n content: "\\f11d";\n}\n.fa-flag-checkered:before {\n content: "\\f11e";\n}\n.fa-terminal:before {\n content: "\\f120";\n}\n.fa-code:before {\n content: "\\f121";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: "\\f122";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: "\\f123";\n}\n.fa-location-arrow:before {\n content: "\\f124";\n}\n.fa-crop:before {\n content: "\\f125";\n}\n.fa-code-fork:before {\n content: "\\f126";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: "\\f127";\n}\n.fa-question:before {\n content: "\\f128";\n}\n.fa-info:before {\n content: "\\f129";\n}\n.fa-exclamation:before {\n content: "\\f12a";\n}\n.fa-superscript:before {\n content: "\\f12b";\n}\n.fa-subscript:before {\n content: "\\f12c";\n}\n.fa-eraser:before {\n content: "\\f12d";\n}\n.fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.fa-microphone:before {\n content: "\\f130";\n}\n.fa-microphone-slash:before {\n content: "\\f131";\n}\n.fa-shield:before {\n content: "\\f132";\n}\n.fa-calendar-o:before {\n content: "\\f133";\n}\n.fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.fa-rocket:before {\n content: "\\f135";\n}\n.fa-maxcdn:before {\n content: "\\f136";\n}\n.fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.fa-html5:before {\n content: "\\f13b";\n}\n.fa-css3:before {\n content: "\\f13c";\n}\n.fa-anchor:before {\n content: "\\f13d";\n}\n.fa-unlock-alt:before {\n content: "\\f13e";\n}\n.fa-bullseye:before {\n content: "\\f140";\n}\n.fa-ellipsis-h:before {\n content: "\\f141";\n}\n.fa-ellipsis-v:before {\n content: "\\f142";\n}\n.fa-rss-square:before {\n content: "\\f143";\n}\n.fa-play-circle:before {\n content: "\\f144";\n}\n.fa-ticket:before {\n content: "\\f145";\n}\n.fa-minus-square:before {\n content: "\\f146";\n}\n.fa-minus-square-o:before {\n content: "\\f147";\n}\n.fa-level-up:before {\n content: "\\f148";\n}\n.fa-level-down:before {\n content: "\\f149";\n}\n.fa-check-square:before {\n content: "\\f14a";\n}\n.fa-pencil-square:before {\n content: "\\f14b";\n}\n.fa-external-link-square:before {\n content: "\\f14c";\n}\n.fa-share-square:before {\n content: "\\f14d";\n}\n.fa-compass:before {\n content: "\\f14e";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: "\\f153";\n}\n.fa-gbp:before {\n content: "\\f154";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: "\\f155";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: "\\f156";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: "\\f157";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: "\\f158";\n}\n.fa-won:before,\n.fa-krw:before {\n content: "\\f159";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: "\\f15a";\n}\n.fa-file:before {\n content: "\\f15b";\n}\n.fa-file-text:before {\n content: "\\f15c";\n}\n.fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.fa-thumbs-up:before {\n content: "\\f164";\n}\n.fa-thumbs-down:before {\n content: "\\f165";\n}\n.fa-youtube-square:before {\n content: "\\f166";\n}\n.fa-youtube:before {\n content: "\\f167";\n}\n.fa-xing:before {\n content: "\\f168";\n}\n.fa-xing-square:before {\n content: "\\f169";\n}\n.fa-youtube-play:before {\n content: "\\f16a";\n}\n.fa-dropbox:before {\n content: "\\f16b";\n}\n.fa-stack-overflow:before {\n content: "\\f16c";\n}\n.fa-instagram:before {\n content: "\\f16d";\n}\n.fa-flickr:before {\n content: "\\f16e";\n}\n.fa-adn:before {\n content: "\\f170";\n}\n.fa-bitbucket:before {\n content: "\\f171";\n}\n.fa-bitbucket-square:before {\n content: "\\f172";\n}\n.fa-tumblr:before {\n content: "\\f173";\n}\n.fa-tumblr-square:before {\n content: "\\f174";\n}\n.fa-long-arrow-down:before {\n content: "\\f175";\n}\n.fa-long-arrow-up:before {\n content: "\\f176";\n}\n.fa-long-arrow-left:before {\n content: "\\f177";\n}\n.fa-long-arrow-right:before {\n content: "\\f178";\n}\n.fa-apple:before {\n content: "\\f179";\n}\n.fa-windows:before {\n content: "\\f17a";\n}\n.fa-android:before {\n content: "\\f17b";\n}\n.fa-linux:before {\n content: "\\f17c";\n}\n.fa-dribbble:before {\n content: "\\f17d";\n}\n.fa-skype:before {\n content: "\\f17e";\n}\n.fa-foursquare:before {\n content: "\\f180";\n}\n.fa-trello:before {\n content: "\\f181";\n}\n.fa-female:before {\n content: "\\f182";\n}\n.fa-male:before {\n content: "\\f183";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: "\\f184";\n}\n.fa-sun-o:before {\n content: "\\f185";\n}\n.fa-moon-o:before {\n content: "\\f186";\n}\n.fa-archive:before {\n content: "\\f187";\n}\n.fa-bug:before {\n content: "\\f188";\n}\n.fa-vk:before {\n content: "\\f189";\n}\n.fa-weibo:before {\n content: "\\f18a";\n}\n.fa-renren:before {\n content: "\\f18b";\n}\n.fa-pagelines:before {\n content: "\\f18c";\n}\n.fa-stack-exchange:before {\n content: "\\f18d";\n}\n.fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.fa-dot-circle-o:before {\n content: "\\f192";\n}\n.fa-wheelchair:before {\n content: "\\f193";\n}\n.fa-vimeo-square:before {\n content: "\\f194";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: "\\f195";\n}\n.fa-plus-square-o:before {\n content: "\\f196";\n}\n.fa-space-shuttle:before {\n content: "\\f197";\n}\n.fa-slack:before {\n content: "\\f198";\n}\n.fa-envelope-square:before {\n content: "\\f199";\n}\n.fa-wordpress:before {\n content: "\\f19a";\n}\n.fa-openid:before {\n content: "\\f19b";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: "\\f19c";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: "\\f19d";\n}\n.fa-yahoo:before {\n content: "\\f19e";\n}\n.fa-google:before {\n content: "\\f1a0";\n}\n.fa-reddit:before {\n content: "\\f1a1";\n}\n.fa-reddit-square:before {\n content: "\\f1a2";\n}\n.fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.fa-delicious:before {\n content: "\\f1a5";\n}\n.fa-digg:before {\n content: "\\f1a6";\n}\n.fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.fa-drupal:before {\n content: "\\f1a9";\n}\n.fa-joomla:before {\n content: "\\f1aa";\n}\n.fa-language:before {\n content: "\\f1ab";\n}\n.fa-fax:before {\n content: "\\f1ac";\n}\n.fa-building:before {\n content: "\\f1ad";\n}\n.fa-child:before {\n content: "\\f1ae";\n}\n.fa-paw:before {\n content: "\\f1b0";\n}\n.fa-spoon:before {\n content: "\\f1b1";\n}\n.fa-cube:before {\n content: "\\f1b2";\n}\n.fa-cubes:before {\n content: "\\f1b3";\n}\n.fa-behance:before {\n content: "\\f1b4";\n}\n.fa-behance-square:before {\n content: "\\f1b5";\n}\n.fa-steam:before {\n content: "\\f1b6";\n}\n.fa-steam-square:before {\n content: "\\f1b7";\n}\n.fa-recycle:before {\n content: "\\f1b8";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: "\\f1b9";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: "\\f1ba";\n}\n.fa-tree:before {\n content: "\\f1bb";\n}\n.fa-spotify:before {\n content: "\\f1bc";\n}\n.fa-deviantart:before {\n content: "\\f1bd";\n}\n.fa-soundcloud:before {\n content: "\\f1be";\n}\n.fa-database:before {\n content: "\\f1c0";\n}\n.fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.fa-file-word-o:before {\n content: "\\f1c2";\n}\n.fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: "\\f1c5";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: "\\f1c8";\n}\n.fa-file-code-o:before {\n content: "\\f1c9";\n}\n.fa-vine:before {\n content: "\\f1ca";\n}\n.fa-codepen:before {\n content: "\\f1cb";\n}\n.fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: "\\f1cd";\n}\n.fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: "\\f1d0";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: "\\f1d1";\n}\n.fa-git-square:before {\n content: "\\f1d2";\n}\n.fa-git:before {\n content: "\\f1d3";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: "\\f1d4";\n}\n.fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.fa-qq:before {\n content: "\\f1d6";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: "\\f1d7";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: "\\f1d8";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.fa-history:before {\n content: "\\f1da";\n}\n.fa-circle-thin:before {\n content: "\\f1db";\n}\n.fa-header:before {\n content: "\\f1dc";\n}\n.fa-paragraph:before {\n content: "\\f1dd";\n}\n.fa-sliders:before {\n content: "\\f1de";\n}\n.fa-share-alt:before {\n content: "\\f1e0";\n}\n.fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.fa-bomb:before {\n content: "\\f1e2";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: "\\f1e3";\n}\n.fa-tty:before {\n content: "\\f1e4";\n}\n.fa-binoculars:before {\n content: "\\f1e5";\n}\n.fa-plug:before {\n content: "\\f1e6";\n}\n.fa-slideshare:before {\n content: "\\f1e7";\n}\n.fa-twitch:before {\n content: "\\f1e8";\n}\n.fa-yelp:before {\n content: "\\f1e9";\n}\n.fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.fa-wifi:before {\n content: "\\f1eb";\n}\n.fa-calculator:before {\n content: "\\f1ec";\n}\n.fa-paypal:before {\n content: "\\f1ed";\n}\n.fa-google-wallet:before {\n content: "\\f1ee";\n}\n.fa-cc-visa:before {\n content: "\\f1f0";\n}\n.fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.fa-cc-discover:before {\n content: "\\f1f2";\n}\n.fa-cc-amex:before {\n content: "\\f1f3";\n}\n.fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.fa-bell-slash:before {\n content: "\\f1f6";\n}\n.fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.fa-trash:before {\n content: "\\f1f8";\n}\n.fa-copyright:before {\n content: "\\f1f9";\n}\n.fa-at:before {\n content: "\\f1fa";\n}\n.fa-eyedropper:before {\n content: "\\f1fb";\n}\n.fa-paint-brush:before {\n content: "\\f1fc";\n}\n.fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.fa-area-chart:before {\n content: "\\f1fe";\n}\n.fa-pie-chart:before {\n content: "\\f200";\n}\n.fa-line-chart:before {\n content: "\\f201";\n}\n.fa-lastfm:before {\n content: "\\f202";\n}\n.fa-lastfm-square:before {\n content: "\\f203";\n}\n.fa-toggle-off:before {\n content: "\\f204";\n}\n.fa-toggle-on:before {\n content: "\\f205";\n}\n.fa-bicycle:before {\n content: "\\f206";\n}\n.fa-bus:before {\n content: "\\f207";\n}\n.fa-ioxhost:before {\n content: "\\f208";\n}\n.fa-angellist:before {\n content: "\\f209";\n}\n.fa-cc:before {\n content: "\\f20a";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: "\\f20b";\n}\n.fa-meanpath:before {\n content: "\\f20c";\n}\n.fa-buysellads:before {\n content: "\\f20d";\n}\n.fa-connectdevelop:before {\n content: "\\f20e";\n}\n.fa-dashcube:before {\n content: "\\f210";\n}\n.fa-forumbee:before {\n content: "\\f211";\n}\n.fa-leanpub:before {\n content: "\\f212";\n}\n.fa-sellsy:before {\n content: "\\f213";\n}\n.fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.fa-simplybuilt:before {\n content: "\\f215";\n}\n.fa-skyatlas:before {\n content: "\\f216";\n}\n.fa-cart-plus:before {\n content: "\\f217";\n}\n.fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.fa-diamond:before {\n content: "\\f219";\n}\n.fa-ship:before {\n content: "\\f21a";\n}\n.fa-user-secret:before {\n content: "\\f21b";\n}\n.fa-motorcycle:before {\n content: "\\f21c";\n}\n.fa-street-view:before {\n content: "\\f21d";\n}\n.fa-heartbeat:before {\n content: "\\f21e";\n}\n.fa-venus:before {\n content: "\\f221";\n}\n.fa-mars:before {\n content: "\\f222";\n}\n.fa-mercury:before {\n content: "\\f223";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: "\\f224";\n}\n.fa-transgender-alt:before {\n content: "\\f225";\n}\n.fa-venus-double:before {\n content: "\\f226";\n}\n.fa-mars-double:before {\n content: "\\f227";\n}\n.fa-venus-mars:before {\n content: "\\f228";\n}\n.fa-mars-stroke:before {\n content: "\\f229";\n}\n.fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.fa-neuter:before {\n content: "\\f22c";\n}\n.fa-genderless:before {\n content: "\\f22d";\n}\n.fa-facebook-official:before {\n content: "\\f230";\n}\n.fa-pinterest-p:before {\n content: "\\f231";\n}\n.fa-whatsapp:before {\n content: "\\f232";\n}\n.fa-server:before {\n content: "\\f233";\n}\n.fa-user-plus:before {\n content: "\\f234";\n}\n.fa-user-times:before {\n content: "\\f235";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: "\\f236";\n}\n.fa-viacoin:before {\n content: "\\f237";\n}\n.fa-train:before {\n content: "\\f238";\n}\n.fa-subway:before {\n content: "\\f239";\n}\n.fa-medium:before {\n content: "\\f23a";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: "\\f23b";\n}\n.fa-optin-monster:before {\n content: "\\f23c";\n}\n.fa-opencart:before {\n content: "\\f23d";\n}\n.fa-expeditedssl:before {\n content: "\\f23e";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: "\\f240";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: "\\f242";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: "\\f243";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: "\\f244";\n}\n.fa-mouse-pointer:before {\n content: "\\f245";\n}\n.fa-i-cursor:before {\n content: "\\f246";\n}\n.fa-object-group:before {\n content: "\\f247";\n}\n.fa-object-ungroup:before {\n content: "\\f248";\n}\n.fa-sticky-note:before {\n content: "\\f249";\n}\n.fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.fa-cc-jcb:before {\n content: "\\f24b";\n}\n.fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.fa-clone:before {\n content: "\\f24d";\n}\n.fa-balance-scale:before {\n content: "\\f24e";\n}\n.fa-hourglass-o:before {\n content: "\\f250";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: "\\f251";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: "\\f252";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: "\\f253";\n}\n.fa-hourglass:before {\n content: "\\f254";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: "\\f255";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: "\\f256";\n}\n.fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.fa-hand-spock-o:before {\n content: "\\f259";\n}\n.fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.fa-trademark:before {\n content: "\\f25c";\n}\n.fa-registered:before {\n content: "\\f25d";\n}\n.fa-creative-commons:before {\n content: "\\f25e";\n}\n.fa-gg:before {\n content: "\\f260";\n}\n.fa-gg-circle:before {\n content: "\\f261";\n}\n.fa-tripadvisor:before {\n content: "\\f262";\n}\n.fa-odnoklassniki:before {\n content: "\\f263";\n}\n.fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.fa-get-pocket:before {\n content: "\\f265";\n}\n.fa-wikipedia-w:before {\n content: "\\f266";\n}\n.fa-safari:before {\n content: "\\f267";\n}\n.fa-chrome:before {\n content: "\\f268";\n}\n.fa-firefox:before {\n content: "\\f269";\n}\n.fa-opera:before {\n content: "\\f26a";\n}\n.fa-internet-explorer:before {\n content: "\\f26b";\n}\n.fa-tv:before,\n.fa-television:before {\n content: "\\f26c";\n}\n.fa-contao:before {\n content: "\\f26d";\n}\n.fa-500px:before {\n content: "\\f26e";\n}\n.fa-amazon:before {\n content: "\\f270";\n}\n.fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.fa-calendar-times-o:before {\n content: "\\f273";\n}\n.fa-calendar-check-o:before {\n content: "\\f274";\n}\n.fa-industry:before {\n content: "\\f275";\n}\n.fa-map-pin:before {\n content: "\\f276";\n}\n.fa-map-signs:before {\n content: "\\f277";\n}\n.fa-map-o:before {\n content: "\\f278";\n}\n.fa-map:before {\n content: "\\f279";\n}\n.fa-commenting:before {\n content: "\\f27a";\n}\n.fa-commenting-o:before {\n content: "\\f27b";\n}\n.fa-houzz:before {\n content: "\\f27c";\n}\n.fa-vimeo:before {\n content: "\\f27d";\n}\n.fa-black-tie:before {\n content: "\\f27e";\n}\n.fa-fonticons:before {\n content: "\\f280";\n}\n.fa-reddit-alien:before {\n content: "\\f281";\n}\n.fa-edge:before {\n content: "\\f282";\n}\n.fa-credit-card-alt:before {\n content: "\\f283";\n}\n.fa-codiepie:before {\n content: "\\f284";\n}\n.fa-modx:before {\n content: "\\f285";\n}\n.fa-fort-awesome:before {\n content: "\\f286";\n}\n.fa-usb:before {\n content: "\\f287";\n}\n.fa-product-hunt:before {\n content: "\\f288";\n}\n.fa-mixcloud:before {\n content: "\\f289";\n}\n.fa-scribd:before {\n content: "\\f28a";\n}\n.fa-pause-circle:before {\n content: "\\f28b";\n}\n.fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.fa-stop-circle:before {\n content: "\\f28d";\n}\n.fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.fa-shopping-bag:before {\n content: "\\f290";\n}\n.fa-shopping-basket:before {\n content: "\\f291";\n}\n.fa-hashtag:before {\n content: "\\f292";\n}\n.fa-bluetooth:before {\n content: "\\f293";\n}\n.fa-bluetooth-b:before {\n content: "\\f294";\n}\n.fa-percent:before {\n content: "\\f295";\n}\n.fa-gitlab:before {\n content: "\\f296";\n}\n.fa-wpbeginner:before {\n content: "\\f297";\n}\n.fa-wpforms:before {\n content: "\\f298";\n}\n.fa-envira:before {\n content: "\\f299";\n}\n.fa-universal-access:before {\n content: "\\f29a";\n}\n.fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.fa-question-circle-o:before {\n content: "\\f29c";\n}\n.fa-blind:before {\n content: "\\f29d";\n}\n.fa-audio-description:before {\n content: "\\f29e";\n}\n.fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.fa-braille:before {\n content: "\\f2a1";\n}\n.fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: "\\f2a4";\n}\n.fa-glide:before {\n content: "\\f2a5";\n}\n.fa-glide-g:before {\n content: "\\f2a6";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: "\\f2a7";\n}\n.fa-low-vision:before {\n content: "\\f2a8";\n}\n.fa-viadeo:before {\n content: "\\f2a9";\n}\n.fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.fa-snapchat:before {\n content: "\\f2ab";\n}\n.fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.fa-pied-piper:before {\n content: "\\f2ae";\n}\n.fa-first-order:before {\n content: "\\f2b0";\n}\n.fa-yoast:before {\n content: "\\f2b1";\n}\n.fa-themeisle:before {\n content: "\\f2b2";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: "\\f2b4";\n}\n.fa-handshake-o:before {\n content: "\\f2b5";\n}\n.fa-envelope-open:before {\n content: "\\f2b6";\n}\n.fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.fa-linode:before {\n content: "\\f2b8";\n}\n.fa-address-book:before {\n content: "\\f2b9";\n}\n.fa-address-book-o:before {\n content: "\\f2ba";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: "\\f2bb";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: "\\f2bc";\n}\n.fa-user-circle:before {\n content: "\\f2bd";\n}\n.fa-user-circle-o:before {\n content: "\\f2be";\n}\n.fa-user-o:before {\n content: "\\f2c0";\n}\n.fa-id-badge:before {\n content: "\\f2c1";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: "\\f2c2";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: "\\f2c3";\n}\n.fa-quora:before {\n content: "\\f2c4";\n}\n.fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.fa-telegram:before {\n content: "\\f2c6";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.fa-shower:before {\n content: "\\f2cc";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: "\\f2cd";\n}\n.fa-podcast:before {\n content: "\\f2ce";\n}\n.fa-window-maximize:before {\n content: "\\f2d0";\n}\n.fa-window-minimize:before {\n content: "\\f2d1";\n}\n.fa-window-restore:before {\n content: "\\f2d2";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: "\\f2d3";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: "\\f2d4";\n}\n.fa-bandcamp:before {\n content: "\\f2d5";\n}\n.fa-grav:before {\n content: "\\f2d6";\n}\n.fa-etsy:before {\n content: "\\f2d7";\n}\n.fa-imdb:before {\n content: "\\f2d8";\n}\n.fa-ravelry:before {\n content: "\\f2d9";\n}\n.fa-eercast:before {\n content: "\\f2da";\n}\n.fa-microchip:before {\n content: "\\f2db";\n}\n.fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.fa-superpowers:before {\n content: "\\f2dd";\n}\n.fa-wpexplorer:before {\n content: "\\f2de";\n}\n.fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/*! @licend */\n.icon {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n /* favorites */\n}\n.icon.fav:before {\n content: "\\f005";\n color: #444442;\n}\n.icon.unfav:before {\n content: "\\f005";\n color: #D40101;\n}\n.svg-icon {\n display: inline-flex;\n align-self: center;\n}\n.svg-icon svg {\n fill: #FFF;\n height: 1em;\n width: 1em;\n}\n.svg-icon.baseline svg {\n top: 0.125em;\n position: relative;\n}\n.svg-icon.dim svg,\n.svg-icon.light svg {\n fill: #EEEEEC;\n}\n.svg-icon.icon-only svg {\n position: relative;\n top: 0.25em;\n width: 1.1rem;\n height: 1.1rem;\n}\n.button .svg-icon svg {\n top: 0.125em;\n position: relative;\n}\n.button .svg-icon + span:not(.visuallyhidden) {\n margin-left: 0.5em;\n display: inline-block;\n}\n.button:hover .svg-icon svg,\n.button .svg-icon svg:hover {\n fill: #FFFFFC;\n}\n/* warning */\n.button.primary:active .svg-icon svg,\n.button.primary:focus .svg-icon svg,\n.button.warning .svg-icon svg,\n.button.warning:hover .svg-icon svg,\n.button.warning:focus .svg-icon svg,\n.button.warning:active .svg-icon svg {\n fill: #EEEEEC;\n}\n/* focus */\n.button:focus .svg-icon svg,\n.button:active .svg-icon svg {\n fill: #2894DF;\n}\n.button.disabled .svg-icon svg {\n fill: #8B8B89;\n}\n.button.disabled .svg-icon svg:hover {\n fill: #8B8B89;\n}\na:hover .svg-icon svg {\n fill: #2894DF;\n}\na.disabled .svg-icon svg {\n fill: #8B8B89;\n pointer-events: none;\n cursor: default;\n}\na.disabled:hover .svg-icon svg {\n fill: #8B8B89;\n}\na.fav .svg-icon svg {\n fill: #D40101;\n}\na.unfav {\n display: inline-flex;\n}\na.unfav .svg-icon.star svg {\n fill: #8B8B89;\n}\n/*\n\tGeneric buttons\n\tDescription\t: We support <input[submit]>, <input.button>, <button> and <a.button>\n\n\t:hover\t\t\t- Subtle hover highlight and box shadow\n\t:active\t\t\t- Inset box shadow and 1px offset\n\t.disabled\t\t- Dims the button to indicate it cannot be used\n*/\ninput[type=submit],\nbutton,\n.button {\n position: relative;\n font-size: 0.875em;\n /*\t14px */\n min-height: 1.428571em;\n /* 20px */\n padding: 0.4285714em 1.225em 0.4285714em 1.225em;\n /* 6px 16px */\n display: inline-block;\n vertical-align: baseline;\n margin-right: 0.5em;\n outline: none;\n cursor: pointer;\n text-align: center;\n text-decoration: none;\n border: 1px solid #222220;\n color: #FFFFFC;\n font-weight: normal;\n text-shadow: 0 1px 0 #000000;\n background: #444442;\n background-image: linear-gradient(top, #444442, #444442);\n border-radius: 0.214em;\n}\n/* size and position adjustments */\n.submit {\n display: inline-block;\n /* in case there is a div wrapper */\n}\n.button.big {\n font-size: 1.125em;\n}\n/* hover */\nbutton:hover,\n.button:hover {\n color: #FFFFFC;\n text-decoration: none;\n background: #444442;\n background-image: linear-gradient(top, #606060, #606060);\n border: 1px solid #30302D;\n}\n/* focus */\nbutton:focus,\n.button:focus {\n color: #2894DF;\n border: 1px solid #2894DF;\n}\n/* active */\nbutton:active,\n.button:active {\n color: #2894DF;\n border: 1px solid #2894DF;\n background: #3B3B39;\n position: relative;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n/* cancel */\n.button.cancel,\n.button.cancel:focus,\n.button.cancel:hover,\n.button.cancel:active,\n.button.dim,\n.button.dim:focus,\n.button.dim:hover,\n.button.dim:active {\n background: #30302D;\n font-weight: normal;\n}\n/* primary */\n.button.primary {\n background: #2894DF;\n border: 1px solid #2894DF;\n color: #FFF;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);\n}\n.button.primary:hover {\n background: #2A9CEB;\n border: 1px solid #2A9CEB;\n color: #FFF;\n}\n.button.primary:active,\n.button.primary:focus {\n color: #EEEEEC;\n border: 1px solid #4271b7;\n background: #2A9CEB;\n}\n/* warning */\n.button.warning,\n.button.warning:hover,\n.button.warning:focus,\n.button.warning:active {\n color: #EEEEEC;\n background: #D40101;\n border: 1px solid #D40101;\n text-shadow: none;\n}\n.button.warning:focus,\n.button.warning:active {\n border: 1px solid #92000C;\n}\n.button.disabled {\n cursor: default;\n color: #8B8B89;\n background: #3B3B39;\n border: 1px solid #0C0C0A;\n text-shadow: none;\n font-weight: normal;\n}\n/* inactive */\n.button.disabled:hover,\n.button.disabled:active,\n.button.disabled:focus {\n box-shadow: 0 0 0;\n top: 0;\n color: #8B8B89;\n background: #3B3B39;\n border: 1px solid #0C0C0A;\n}\n/* duo */\n.duo-wrapper {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.duo-wrapper:before,\n.duo-wrapper:after {\n content: "";\n display: table;\n}\n.duo-wrapper:after {\n clear: both;\n}\n.duo-wrapper:before,\n.duo-wrapper:after {\n content: "";\n display: table;\n}\n.duo-wrapper:after {\n clear: both;\n}\n.duo-wrapper .button {\n float: left;\n}\n.duo-wrapper .button.duo:nth-child(1) {\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.duo-wrapper .button.duo:nth-child(2) {\n margin-left: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.buttons-spacer,\n.button-spacer {\n margin-right: 0.5em;\n}\n/* processing state */\nhtml body .button.processing {\n background: #30302D;\n border: 1px solid #30302D;\n cursor: default;\n}\n.button.processing:active,\n.button.processing:hover {\n border: 1px solid #30302D;\n}\n.button.processing:after {\n line-height: 2.25em;\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: -1px;\n left: -1px;\n background: #30302D url('+___CSS_LOADER_URL_REPLACEMENT_8___+") center center no-repeat;\n background-size: auto 50% ;\n border: 1px solid #0C0C0A;\n border-radius: 5px;\n}\ninput[type=submit].button.processing {\n color: transparent;\n text-shadow: none;\n background: #30302D url("+___CSS_LOADER_URL_REPLACEMENT_8___+') center center no-repeat;\n background-size: auto 50% ;\n border: 1px solid #0C0C0A;\n border-radius: 5px;\n}\n/* toggle selected */\n.toggle.button.selected,\n.button-toggle.button.selected {\n background: #222220;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #0C0C0A;\n}\n/*\n\tBase form components styling\n\tCheck components/form for more advanced/fancy input\n*/\n/* input label */\nlabel {\n font-weight: bold;\n font-size: 1em;\n /* 16px */\n line-height: 1.333333em;\n /* 24px */\n padding: 0.5em 0;\n display: block;\n}\n/*\n\tRequired Label\n\n\tDescription\t: Label and input are wrapped in <div.text.required>. Additional <span> with a star is included. Input also get the required class.\n\t.required\t\t- additional red star\n*/\n.required label:after {\n content: " \\002A";\n /* unicode character * */\n color: #FF6B70;\n font-weight: bold;\n}\n/* fallback placeholder */\n.placeholder {\n color: #8B8B89;\n}\n/* webkit placeholder */\n::-webkit-input-placeholder {\n color: #8B8B89;\n}\n/* moz placeholder */\n:-moz-placeholder,\n::-moz-placeholder {\n color: #8B8B89;\n}\n/*\n\tGeneric Form Item\n\n\tDescription\t: labels and input are wrapped in a <div.text>\n\n\t:hover\t\t\t - subtle hover highlight\n\t:active\t\t\t- inset box shadow\n\t.disabled\t\t- grey out to indicate it cannot be used\n*/\ninput[type=text],\ninput[type=email],\ninput[type=password],\ninput[type=search],\ninput[type=number],\ntextarea {\n font-size: 16px;\n line-height: 24px;\n color: #FFFFFC;\n background: #0C0C0A;\n width: 14em;\n /* 20 char (default input length) x .7em (average char length) */\n padding: 0.375em 0.625em 0.375em 0.625em;\n display: inline-block;\n margin-bottom: 0.5em;\n -webkit-appearance: none;\n border: 1px solid #222220;\n border-top: 1px solid #30302D;\n vertical-align: middle;\n box-sizing: content-box;\n}\ntextarea:hover,\ninput[type=password]:hover,\ninput[type=search]:hover,\ninput[type=text]:hover,\ninput[type=number]:hover,\ninput[type=email]:hover {\n border: 1px solid #30302D;\n}\ntextarea:focus,\ninput[type=password]:focus,\ninput[type=search]:focus,\ninput[type=text]:focus,\ninput[type=number]:focus,\ninput[type=email]:focus {\n box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #2894DF;\n}\n.input-focus {\n box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #2894DF;\n}\ninput[type=password]:disabled,\ninput[type=search]:disabled,\ninput[type=text]:disabled,\ninput[type=number]:disabled,\ninput[type=email]:disabled,\ntextarea:disabled {\n border: 1px solid #0C0C0A;\n box-shadow: 0 0 0 0;\n cursor: pointer;\n background: #444442;\n}\n/*\n\tTextarea Textfield\n\tDescription\t: textarea.textarea is pretty much the same than div.input.text.\n\n\t.required\t\t- additional red star\n\t.lage\t\t \t - make the box bigger\n*/\ntextarea {\n height: 4.8em;\n line-height: 1.5em;\n}\n.textarea.large textarea {\n width: 30em;\n height: 7em;\n}\ntextarea.message_notice {\n margin-bottom: 0;\n}\ntextarea.full_report {\n height: 12em;\n line-height: 1.5em;\n}\n/* text and textarea */\n.text.input .input-addon,\n.date.input .input-addon {\n position: absolute;\n margin-left: -2.625em;\n}\n.text.input .input-addon i,\n.date.input .input-addon i {\n font-size: 16px;\n width: 1.25em;\n border: 1px solid #222220;\n border-top: 1px solid #30302D;\n line-height: 24px;\n color: #FFFFFC;\n background: #0C0C0A;\n padding: 0.375em 0.625em 0.375em 0.625em;\n}\n.text.input input:hover + .input-addon i,\n.date.input input:hover + .input-addon i {\n border: 1px solid #30302D;\n}\n.text.input input:focus + .input-addon i,\n.date.input input:focus + .input-addon i {\n border: 1px solid #2894DF;\n}\n.text.input input:disabled + .input-addon i,\n.date.input input:disabled + .input-addon i {\n background: #444442;\n border: 1px solid #0C0C0A;\n}\n/* icons for input */\n/*\n\tCheckboxes and Radio\n*/\n.checkboxlist .input.checkbox label,\n.radiolist .input.radio label,\ninput[type=checkbox] + label {\n font-weight: normal;\n display: inline;\n margin-left: 0.25em;\n margin-bottom: 0.25em;\n cursor: pointer;\n}\n/* radio and checkboxes */\n.radiolist {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.radiolist:before,\n.radiolist:after {\n content: "";\n display: table;\n}\n.radiolist:after {\n clear: both;\n}\n.radiolist:before,\n.radiolist:after {\n content: "";\n display: table;\n}\n.radiolist:after {\n clear: both;\n}\n.radiolist .input.radio {\n float: left;\n}\n.radiolist .input.radio input {\n float: left;\n margin-top: 0.55em;\n}\n.radiolist .input.radio input + label {\n font-weight: normal;\n display: inline-block;\n margin-left: 0.65em;\n font-size: 1em;\n float: left;\n margin-right: 2em;\n}\n/*\n\tMessages for validation error and example\n\n\tDescription\t: <div.text.error>, <div.text.success>, can be used to add status messages or example.\n\tAdditional messages are wrapped in <.error.message>, <.success.messages>\n\n\t.error - can be used for validation feedback\n\t.helptext - can be used for example messages prior validation\n*/\n.input .message {\n padding: 0;\n padding-left: 0.25em;\n padding-bottom: 0.5em;\n font-size: 0.813em;\n margin-top: 0.125em;\n margin-bottom: 0.25em;\n background-color: transparent;\n border: 0;\n /* colors for messages */\n}\n.input .message.error {\n font-weight: normal;\n color: #FF6B70;\n}\n.input .message.helptext {\n color: #8B8B89;\n font-weight: normal;\n}\n.input .message:empty {\n display: none;\n}\n.form-content .input .message,\nform .input .message {\n background-color: transparent;\n}\ntextarea.error label,\n.input.error label {\n color: #FF6B70;\n}\nform .input .inline.message {\n display: inline-block;\n}\n/* error messages */\nselect {\n font-size: 16px;\n margin: 0.55em 0;\n}\n/* select */\ninput[type=file] {\n width: 100%;\n color: #333;\n}\n/* file upload input */\n/* layout and shortcuts */\nselect.fluid,\ntextarea.fluid,\ninput[type=password].fluid,\ninput[type=text].fluid,\ninput[type=email].fluid {\n width: 80%;\n}\n.submit-input-wrapper,\n.submit-wrapper {\n margin-top: 0.5em;\n}\n/* shortcut classes for layout */\n.singleline {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.singleline:before,\n.singleline:after {\n content: "";\n display: table;\n}\n.singleline:after {\n clear: both;\n}\n.singleline:before,\n.singleline:after {\n content: "";\n display: table;\n}\n.singleline:after {\n clear: both;\n}\n.singleline .input.text {\n float: left;\n width: 40.2%;\n}\n.singleline .input.text:first-child,\n.singleline .input.text.first-field {\n margin-right: 2.5%;\n}\n.singleline .input.text input[type="text"],\n.singleline .input.text input[type="email"],\n.singleline .input.text input[type="password"],\n.singleline .input.text input[type="search"] {\n width: 93%;\n}\n.form-content .accordion h3.accordion-header a {\n border: 0;\n}\n.form-content .accordion h3.accordion-header a:hover {\n border: 0;\n}\n.form-content .accordion h3.accordion-header a:before {\n font: normal normal normal 1em FontAwesome;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n position: absolute;\n text-align: center;\n}\n.form-content table {\n width: 100%;\n margin-bottom: 1em;\n}\n.form-content table thead {\n background-color: transparent !important;\n}\n.form-content table thead th {\n background-color: transparent;\n font-weight: bold;\n border: 1px solid #8B8B89;\n padding: 0.7em 0.5em;\n}\n.form-content table tbody tr {\n font-size: 0.8em;\n text-align: left;\n}\n.form-content table tbody tr:nth-child(even) {\n background-color: transparent;\n}\n.form-content table tbody tr:nth-child(odd) {\n background-color: #F3F3F3;\n color: #0C0C0A;\n}\n.form-content table tbody tr td {\n text-align: left;\n padding: 0.5em 0.5em;\n border: 1px solid #8B8B89;\n}\n.form-content table tbody tr td code {\n padding: 0.2em 0.3em;\n background-color: #8B8B89;\n}\n.form-content table tbody tr td pre {\n margin: 0;\n padding: 0;\n background-color: transparent;\n}\n.form-content table tbody tr td code,\n.form-content table tbody tr td pre {\n font-family: monospace,serif;\n font-size: 1em;\n}\n.form-content table tbody tr td em {\n color: #606060;\n font-size: 0.8em;\n font-style: normal;\n}\n/*\n * Page layout\n */\n.page {\n width: 100%;\n min-width: 320px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n overflow: auto;\n /* main workspace panels position depend on how many headers are there */\n /* Grid */\n /* if the other grid is used\n don\'t center the grid inside main panel */\n}\n.page .panel {\n height: 100%;\n width: 100%;\n position: absolute;\n overflow: auto;\n}\n.page .panel.main {\n top: 10em;\n bottom: 2.45em;\n height: auto;\n padding: 0;\n}\n.page .panel.main .row {\n padding-left: 0;\n}\n.page .panel.main .panel.left {\n background: #353532;\n}\n.page .header.second + .panel.main {\n top: 6.875em;\n}\n.page .header.third + .panel.main {\n top: 10em;\n border-top: 1px solid #0C0C0A;\n}\n.page .header {\n width: 100%;\n overflow: hidden;\n /* headers */\n}\n.page .header.first {\n min-height: 2.4em;\n}\n.page .header.second {\n top: 2.375em;\n height: 4.5em;\n}\n.page .header.third {\n top: 6.875em;\n height: 3em;\n}\n.page .col1,\n.page .col2,\n.page .col3,\n.page .col2_3 {\n position: absolute;\n}\n.page .col1,\n.page .panel.left {\n width: 17.25%;\n box-sizing: border-box;\n}\n.page .panel.middle {\n width: 82%;\n left: 18%;\n overflow: hidden;\n}\n.page .panel.middle.scroll {\n overflow-y: scroll;\n}\n.page .col2 {\n width: 70%;\n left: 18%;\n}\n.page .col3,\n.page .panel.right {\n width: 24%;\n left: 75%;\n}\n.page .col2_3 {\n width: 81.5%;\n left: 18%;\n}\n.page .panel.main .grid-responsive-12 {\n float: left;\n width: 100%;\n max-width: none;\n padding-left: 0.25em;\n box-sizing: border-box;\n}\n/* hide left column when there is no space */\n@media all and (max-width: 1024px) {\n .page .panel.left {\n display: none;\n }\n .page .header.second .col2 {\n display: none;\n }\n .page .header.second .col2_3 {\n display: none;\n }\n .page .header.third {\n height: 4.5em;\n }\n .page .header.third .col1,\n .page .header.third .col2,\n .page .header.third .col2_3 {\n position: relative;\n float: left;\n left: auto;\n width: auto;\n }\n .page .header.third .col3 {\n display: none;\n }\n .page .panel.main .panel.left {\n display: none;\n }\n .page .panel.main .panel.middle {\n width: 100%;\n left: 0;\n }\n .page .panel.main .row {\n padding-left: 0.5em;\n }\n .page .panel.main .panel.aside {\n min-width: auto;\n }\n}\n/*\n\tGrid Layout\n\t@credit: One% CSS Grid - 12 Columns Fluid CSS Grid System\n*/\n/*\n * Main container for all\n */\n.grid-responsive-12,\n.grid {\n margin: 0 auto;\n padding: 0;\n max-width: 1220px;\n}\n.grid-responsive-12 .row,\n.grid .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding: 0 0.5em 0 0.5em;\n}\n.grid-responsive-12 .row:before,\n.grid .row:before,\n.grid-responsive-12 .row:after,\n.grid .row:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row:after,\n.grid .row:after {\n clear: both;\n}\n.grid-responsive-12 .row:before,\n.grid .row:before,\n.grid-responsive-12 .row:after,\n.grid .row:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row:after,\n.grid .row:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1,\n.grid .row .col1,\n.grid-responsive-12 .row .col2,\n.grid .row .col2,\n.grid-responsive-12 .row .col3,\n.grid .row .col3,\n.grid-responsive-12 .row .col4,\n.grid .row .col4,\n.grid-responsive-12 .row .col5,\n.grid .row .col5,\n.grid-responsive-12 .row .col6,\n.grid .row .col6,\n.grid-responsive-12 .row .col7,\n.grid .row .col7,\n.grid-responsive-12 .row .col8,\n.grid .row .col8,\n.grid-responsive-12 .row .col9,\n.grid .row .col9,\n.grid-responsive-12 .row .col10,\n.grid .row .col10,\n.grid-responsive-12 .row .col11,\n.grid .row .col11,\n.grid-responsive-12 .row .col12,\n.grid .row .col12 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n position: relative;\n left: auto;\n float: none;\n width: 99%;\n box-sizing: border-box;\n}\n.grid-responsive-12 .row .col1:before,\n.grid .row .col1:before,\n.grid-responsive-12 .row .col2:before,\n.grid .row .col2:before,\n.grid-responsive-12 .row .col3:before,\n.grid .row .col3:before,\n.grid-responsive-12 .row .col4:before,\n.grid .row .col4:before,\n.grid-responsive-12 .row .col5:before,\n.grid .row .col5:before,\n.grid-responsive-12 .row .col6:before,\n.grid .row .col6:before,\n.grid-responsive-12 .row .col7:before,\n.grid .row .col7:before,\n.grid-responsive-12 .row .col8:before,\n.grid .row .col8:before,\n.grid-responsive-12 .row .col9:before,\n.grid .row .col9:before,\n.grid-responsive-12 .row .col10:before,\n.grid .row .col10:before,\n.grid-responsive-12 .row .col11:before,\n.grid .row .col11:before,\n.grid-responsive-12 .row .col12:before,\n.grid .row .col12:before,\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1:before,\n.grid .row .col1:before,\n.grid-responsive-12 .row .col2:before,\n.grid .row .col2:before,\n.grid-responsive-12 .row .col3:before,\n.grid .row .col3:before,\n.grid-responsive-12 .row .col4:before,\n.grid .row .col4:before,\n.grid-responsive-12 .row .col5:before,\n.grid .row .col5:before,\n.grid-responsive-12 .row .col6:before,\n.grid .row .col6:before,\n.grid-responsive-12 .row .col7:before,\n.grid .row .col7:before,\n.grid-responsive-12 .row .col8:before,\n.grid .row .col8:before,\n.grid-responsive-12 .row .col9:before,\n.grid .row .col9:before,\n.grid-responsive-12 .row .col10:before,\n.grid .row .col10:before,\n.grid-responsive-12 .row .col11:before,\n.grid .row .col11:before,\n.grid-responsive-12 .row .col12:before,\n.grid .row .col12:before,\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n content: "";\n display: table;\n}\n.grid-responsive-12 .row .col1:after,\n.grid .row .col1:after,\n.grid-responsive-12 .row .col2:after,\n.grid .row .col2:after,\n.grid-responsive-12 .row .col3:after,\n.grid .row .col3:after,\n.grid-responsive-12 .row .col4:after,\n.grid .row .col4:after,\n.grid-responsive-12 .row .col5:after,\n.grid .row .col5:after,\n.grid-responsive-12 .row .col6:after,\n.grid .row .col6:after,\n.grid-responsive-12 .row .col7:after,\n.grid .row .col7:after,\n.grid-responsive-12 .row .col8:after,\n.grid .row .col8:after,\n.grid-responsive-12 .row .col9:after,\n.grid .row .col9:after,\n.grid-responsive-12 .row .col10:after,\n.grid .row .col10:after,\n.grid-responsive-12 .row .col11:after,\n.grid .row .col11:after,\n.grid-responsive-12 .row .col12:after,\n.grid .row .col12:after {\n clear: both;\n}\n.grid-responsive-12 .row .col1 img,\n.grid .row .col1 img,\n.grid-responsive-12 .row .col2 img,\n.grid .row .col2 img,\n.grid-responsive-12 .row .col3 img,\n.grid .row .col3 img,\n.grid-responsive-12 .row .col4 img,\n.grid .row .col4 img,\n.grid-responsive-12 .row .col5 img,\n.grid .row .col5 img,\n.grid-responsive-12 .row .col6 img,\n.grid .row .col6 img,\n.grid-responsive-12 .row .col7 img,\n.grid .row .col7 img,\n.grid-responsive-12 .row .col8 img,\n.grid .row .col8 img,\n.grid-responsive-12 .row .col9 img,\n.grid .row .col9 img,\n.grid-responsive-12 .row .col10 img,\n.grid .row .col10 img,\n.grid-responsive-12 .row .col11 img,\n.grid .row .col11 img,\n.grid-responsive-12 .row .col12 img,\n.grid .row .col12 img {\n width: 100%;\n height: auto;\n display: block;\n}\n/*\n * large devices\n */\n@media all and (min-width: 780px) {\n /*\n * Common columns definitions\n */\n .grid .row {\n padding: 0 0.5em 0 0.5em;\n }\n .grid .row .col1,\n .grid .row .col2,\n .grid .row .col3,\n .grid .row .col4,\n .grid .row .col5,\n .grid .row .col6,\n .grid .row .col7,\n .grid .row .col8,\n .grid .row .col9,\n .grid .row .col10,\n .grid .row .col11,\n .grid .row .col12 {\n float: left;\n position: relative;\n margin: 0 3% 0 0;\n }\n .grid .row .last {\n margin-right: 0;\n }\n .grid .row .col1 {\n width: 5.5%;\n }\n .grid .row .col2 {\n width: 14%;\n }\n .grid .row .col3 {\n width: 22.5%;\n }\n .grid .row .col4 {\n width: 31%;\n }\n .grid .row .col5 {\n width: 39.5%;\n }\n .grid .row .col6 {\n width: 48%;\n }\n .grid .row .col7 {\n width: 56.5%;\n }\n .grid .row .col8 {\n width: 65%;\n }\n .grid .row .col9 {\n width: 73.5%;\n }\n .grid .row .col10 {\n width: 82%;\n }\n .grid .row .col11 {\n width: 90.5%;\n }\n .grid .row .col12 {\n width: 99%;\n margin: 0;\n }\n .grid .row .push1 {\n margin-left: 5.5%;\n }\n .grid .row .push2 {\n margin-left: 14%;\n }\n .grid .row .push3 {\n margin-left: 22.5%;\n }\n .grid .row .push4 {\n margin-left: 31%;\n }\n}\n/*\n * Utilities\n */\n@media all and (max-width: 768px) {\n .hidden-xs {\n display: none;\n }\n}\n/*\n * shadow on scroll\n */\n.scroll {\n overflow-y: scroll;\n background: linear-gradient(#30302D 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #30302D 70%) 0 100%, radial-gradient(farthest-side at 75% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 75% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #30302D;\n background-size: 100% 10px, 100% 10px, 100% 5px, 100% 5px;\n}\n::-webkit-scrollbar {\n width: 1em;\n}\n::-webkit-scrollbar-track {\n background: #30302D;\n border-top: 0;\n border-bottom: 0;\n}\n::-webkit-scrollbar-thumb {\n background: #606060;\n border-radius: 1em;\n border: 4px solid #30302D;\n}\n.input.toggle-switch {\n display: flex;\n padding-top: 1em;\n padding-bottom: 0.5em;\n}\n.input.toggle-switch label {\n padding-top: 0.15em;\n padding-left: 1em;\n order: 2;\n flex: 1 1;\n font-weight: normal;\n font-size: 1em;\n}\n.input.toggle-switch.disabled label {\n color: #8B8B89;\n}\n.input.toggle-switch .toggle-switch-checkbox {\n order: -1;\n flex: 0 0 3em;\n display: none;\n}\n.input.toggle-switch .toggle-switch-checkbox,\n.input.toggle-switch .toggle-switch-checkbox:after,\n.input.toggle-switch .toggle-switch-checkbox:before,\n.input.toggle-switch .toggle-switch-checkbox *,\n.input.toggle-switch .toggle-switch-checkbox *:after,\n.input.toggle-switch .toggle-switch-checkbox *:before,\n.input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button {\n box-sizing: border-box;\n}\n.input.toggle-switch .toggle-switch-checkbox::-moz-selection, .input.toggle-switch .toggle-switch-checkbox:after::-moz-selection, .input.toggle-switch .toggle-switch-checkbox:before::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *:after::-moz-selection, .input.toggle-switch .toggle-switch-checkbox *:before::-moz-selection, .input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button::-moz-selection {\n background: none;\n}\n.input.toggle-switch .toggle-switch-checkbox::selection,\n.input.toggle-switch .toggle-switch-checkbox:after::selection,\n.input.toggle-switch .toggle-switch-checkbox:before::selection,\n.input.toggle-switch .toggle-switch-checkbox *::selection,\n.input.toggle-switch .toggle-switch-checkbox *:after::selection,\n.input.toggle-switch .toggle-switch-checkbox *:before::selection,\n.input.toggle-switch .toggle-switch-checkbox + .toggle-switch-button::selection {\n background: none;\n}\n.input.toggle-switch .toggle-switch-button {\n order: -1;\n flex: none;\n outline: 0;\n display: block;\n width: 3em;\n height: 1.5em;\n position: relative;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: #444442;\n border-radius: 2em;\n padding: 2px;\n transition: all 0.4s ease;\n border: 1px solid #0C0C0A;\n}\n.input.toggle-switch .toggle-switch-button span {\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n /*\n * Extends the .visuallyhidden class to allow the element to be focusable\n * when navigated to via the keyboard: h5bp.com/p\n */\n}\n.input.toggle-switch .toggle-switch-button span .focusable:active,\n.input.toggle-switch .toggle-switch-button span .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n.input.toggle-switch .toggle-switch-button span .focusable:active,\n.input.toggle-switch .toggle-switch-button span .focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n.input.toggle-switch .toggle-switch-button:hover:after {\n will-change: padding;\n}\n.input.toggle-switch .toggle-switch-button:active {\n box-shadow: inset 0 0 0 2em #e8eae9;\n}\n.input.toggle-switch .toggle-switch-button:active:after {\n padding-right: 0.8em;\n}\n.input.toggle-switch .toggle-switch-button:after,\n.input.toggle-switch .toggle-switch-button:before {\n position: relative;\n display: block;\n content: "";\n width: 50%;\n height: 100%;\n}\n.input.toggle-switch .toggle-switch-button:after {\n left: 0;\n border-radius: 2em;\n background: #FFF;\n transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);\n}\n.input.toggle-switch .toggle-switch-button:before {\n display: none;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:after {\n left: 50%;\n}\n.input.toggle-switch .toggle-switch-checkbox:disabled + .toggle-switch-button {\n background: #30302D;\n cursor: not-allowed;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button {\n background: #66CC00;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:active {\n box-shadow: none;\n}\n.input.toggle-switch .toggle-switch-checkbox:checked + .toggle-switch-button:active:after {\n margin-left: -0.8em;\n}\n.input.toggle-switch .toggle-switch-checkbox:disabled:checked + .toggle-switch-button {\n background: #e6ffcc;\n}\nh1 .input.toggle-switch,\nh2 .input.toggle-switch,\nh3 .input.toggle-switch,\nh4 .input.toggle-switch,\nh5 .input.toggle-switch,\nh6 .input.toggle-switch {\n float: left;\n padding: 0.4em 1em 0 0;\n}\n/* credit: http://lea.verou.me/2012/04/background-attachment-local/ */\n.scroll-shadow {\n overflow: auto;\n background: linear-gradient(#30302D 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #30302D 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #30302D;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n}\n.simplebar-content {\n /* Opera doesn\'t support this in the shorthand */\n overflow: auto;\n background: linear-gradient(#30302D 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #30302D 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #30302D;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n}\n.shimmer {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n content: \'\';\n -webkit-animation: shimmer 2s infinite;\n animation: shimmer 2s infinite;\n background: linear-gradient(45deg, rgba(48, 48, 45, 0) 0, rgba(48, 48, 45, 0.1) 30%, rgba(48, 48, 45, 0.5) 50%, rgba(48, 48, 45, 0));\n}\n@-webkit-keyframes shimmer {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n}\n@keyframes shimmer {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n}\n.accordion .accordion-header {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.accordion .accordion-header:before,\n.accordion .accordion-header:after {\n content: "";\n display: table;\n}\n.accordion .accordion-header:after {\n clear: both;\n}\n.accordion .accordion-header:before,\n.accordion .accordion-header:after {\n content: "";\n display: table;\n}\n.accordion .accordion-header:after {\n clear: both;\n}\n.accordion .accordion-header a {\n color: #FFFFFC;\n display: block;\n}\n.accordion .accordion-header a:hover {\n color: #2894DF;\n}\n.accordion .accordion-content {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.accordion .accordion-content:before,\n.accordion .accordion-content:after {\n content: "";\n display: table;\n}\n.accordion .accordion-content:after {\n clear: both;\n}\n.accordion .accordion-content:before,\n.accordion .accordion-content:after {\n content: "";\n display: table;\n}\n.accordion .accordion-content:after {\n clear: both;\n}\n.accordion .accordion-content .processing-wrapper {\n background-color: #30302D;\n padding: 0.5em 1.5em;\n}\n.accordion .accordion-content .processing-wrapper .processing-text {\n position: relative;\n padding-left: 1.5em;\n}\n.accordion .accordion-content .processing-wrapper .processing-text:before {\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 0px;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n background-size: auto 75% ;\n}\n.accordion.closed .accordion-content {\n display: none;\n}\n.dialog .accordion .accordion-header {\n margin-bottom: 0.5em;\n}\n.dialog .accordion .accordion-header a {\n display: inline;\n border-bottom: 0;\n}\n.accordion.sidebar-section .accordion-header a {\n border: 0;\n}\n.accordion.sidebar-section .accordion-header a .svg-icon {\n position: absolute;\n right: 1.5em;\n margin-top: 0.25em;\n}\n.accordion.navigation .accordion-header .main-cell a:before {\n margin-left: -1.25em;\n margin-top: 0.25em;\n content: "\\f0d7";\n /* caret down */\n font: normal normal normal 1em FontAwesome;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n position: absolute;\n text-align: center;\n}\n.accordion.navigation .accordion-content > .empty-content {\n padding: 0 0 0 2.5em;\n}\n/* actions */\n.header.third .main-action-wrapper {\n margin-top: 0.5em;\n padding-left: 0.625em;\n}\n.header.third .main-action-wrapper .button {\n float: left;\n font-size: 0.875em;\n min-width: 0.75em;\n}\n.header.third .actions-wrapper {\n margin-top: 0.5em;\n}\n.header.third .actions-wrapper .button {\n font-size: 0.875em;\n min-width: 4em;\n float: left;\n}\n.header.third .actions-wrapper li {\n display: inline;\n}\n.header.third .actions-wrapper .secondary {\n float: right;\n}\n.header.third .actions-wrapper .secondary .button {\n font-size: 0.875em;\n min-width: 1em;\n}\n.header.third .actions-wrapper .secondary .button.info {\n padding: 0.3285714em 1.025em 0.3285714em 1.025em;\n}\n.header.third .actions-wrapper .secondary .button.info .svg-icon {\n font-size: 1.33333333em;\n}\n/* hide secondary actions if there is no space */\n@media all and (max-width: 1024px) {\n .header.third .actions-wrapper .dropdown,\n .header.third .actions-wrapper .actions.secondary {\n display: none;\n }\n}\n/* hide icons if there is no space */\n@media all and (max-width: 1024px) {\n .header.third .main-action-wrapper i,\n .header.third .actions-wrapper i {\n display: none;\n }\n .header.third .main-action-wrapper i + span,\n .header.third .actions-wrapper i + span {\n margin-left: 0;\n }\n .header.third .main-action-wrapper .disabled,\n .header.third .actions-wrapper .disabled {\n display: none;\n }\n}\n/* hide text and only show icon if there is even less space */\n@media all and (max-width: 540px) {\n .header.third .main-action-wrapper a i,\n .header.third .actions-wrapper a i {\n display: block;\n }\n .header.third .main-action-wrapper a.button,\n .header.third .actions-wrapper a.button {\n min-width: 1em;\n font-size: 1em;\n }\n .header.third .main-action-wrapper a i + span,\n .header.third .actions-wrapper a i + span {\n margin-left: 0;\n display: none;\n }\n .header.third .main-action-wrapper .disabled,\n .header.third .actions-wrapper .disabled {\n display: none;\n }\n}\n.panel.aside .activity div.actions {\n margin-top: 1em;\n text-align: center;\n}\n.avatar img {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n}\n.big.avatar img {\n width: 72px;\n height: 72px;\n border-radius: 50%;\n}\n.announcement {\n margin: 0;\n top: 0;\n position: absolute;\n height: 2em;\n padding-top: 0.425em;\n font-size: 0.85em;\n text-align: center;\n background: #FEF0BF;\n color: #000;\n width: 100%;\n}\n.announcement a {\n color: #000;\n display: inline-block;\n margin-left: 0.5em;\n border-bottom-color: #444442;\n}\n.announcement .announcement-close {\n float: right;\n border: 0;\n margin-right: 0.5em;\n margin-top: 0.15em;\n}\n.announcement + #container.page {\n top: 2em;\n}\n/*\n * Breadcrumbs\n */\n.breadcrumbs {\n height: 2em;\n padding: 0.1875em 0 0.1875em 0.1875em;\n margin-bottom: 0;\n background: #30302D;\n}\n.breadcrumbs ul {\n padding-top: 0.45em;\n margin-left: 0.1875em;\n}\n.breadcrumbs ul li {\n display: inline-block;\n font-size: 0.8em;\n /* 12px/base16>15 */\n margin-left: 0.25em;\n max-width: 25%;\n float: left;\n}\n.breadcrumbs ul li:before {\n content: "\\203A";\n /* unicode character › */\n margin-right: 0.5em;\n}\n.breadcrumbs ul li:first-child {\n margin-left: 0;\n padding-left: 0;\n}\n.breadcrumbs ul li:first-child:before {\n content: "";\n}\n.breadcrumbs ul a {\n border: 0;\n}\n.breadcrumbs div.main-cell {\n display: inline;\n}\n.panel.middle .breadcrumbs {\n border-bottom: 1px solid #0C0C0A;\n}\n/*\n * Comment thread with add/edit form\n */\n.panel.aside .comments {\n width: 100%;\n /* mini fixed fluid 2 columns layout */\n}\n.panel.aside .comments .wrap-right-column {\n float: left;\n width: 100%;\n}\n.panel.aside .comments .right-column {\n margin-left: 2.5em;\n}\n.panel.aside .comments .left-column {\n float: left;\n width: 2em;\n margin-left: -100%;\n}\n.panel.aside .comments .comment {\n padding-bottom: 0.5em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /* picture */\n /* username and date */\n /* actions */\n /* triangle bubble */\n}\n.panel.aside .comments .comment:before,\n.panel.aside .comments .comment:after {\n content: "";\n display: table;\n}\n.panel.aside .comments .comment:after {\n clear: both;\n}\n.panel.aside .comments .comment:before,\n.panel.aside .comments .comment:after {\n content: "";\n display: table;\n}\n.panel.aside .comments .comment:after {\n clear: both;\n}\n.panel.aside .comments .comment p {\n background: #3B3B39;\n padding: 1em;\n margin-left: 10px;\n}\n.panel.aside .comments .comment .author.picture {\n width: 2em;\n height: 2em;\n margin-top: 0.25em;\n}\n.panel.aside .comments .comment .author.picture img {\n width: 2em;\n height: 2em;\n}\n.panel.aside .comments .comment .author.picture a {\n border: 0;\n}\n.panel.aside .comments .comment .metadata {\n font-style: italic;\n margin: 0.5em 0 1em 1em;\n}\n.panel.aside .comments .comment .metadata .author.username {\n max-width: 48%;\n float: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .comments .comment .metadata .author.username:after {\n content: \', \';\n}\n.panel.aside .comments .comment .metadata .modified {\n max-width: 48%;\n padding-right: 2px;\n padding-left: 4px;\n color: #8B8B89;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .comments .comment .form-content {\n margin-left: 0.5em;\n}\n.panel.aside .comments .comment .actions {\n float: right;\n margin-top: -2.25em;\n margin-right: 0;\n}\n.panel.aside .comments .comment p:before {\n content: \' \';\n position: absolute;\n width: 1px;\n height: 1px;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid #3B3B39;\n margin-left: -1.8em;\n margin-top: -0.5em;\n}\n.panel.aside .comments .comment a.delete-comment {\n border: 0;\n}\n.contextual-menu {\n position: absolute;\n background: #3B3B39;\n border: 1px solid #0C0C0A;\n width: 12em;\n box-shadow: 0px 0px 10px 0px #000;\n z-index: 993;\n left: 11.25em;\n display: none;\n padding: 0.25em 0;\n}\n.contextual-menu a {\n font-size: 0.875em;\n /* 14px */\n display: block;\n padding: 0.357em 0.714em;\n /* 5px 10px */\n border: 0;\n}\n.contextual-menu a:hover {\n color: #FFFFFC;\n background: #444442;\n}\n.contextual-menu li.disabled a {\n color: #444442;\n}\n.contextual-menu li.disabled a:hover {\n color: #444442;\n background: #3B3B39;\n}\n.contextual-menu .separator-before {\n border-top: 1px solid #0C0C0A;\n}\n.contextual-menu .separator-after {\n border-bottom: 1px solid #0C0C0A;\n}\n/* Dialog */\n.dialog-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 800;\n background: rgba(0, 0, 0, 0.8);\n overflow: auto;\n}\n.dialog-wrapper .placeholder {\n position: relative;\n width: 1em;\n margin: auto;\n height: 100%;\n}\n.dialog-wrapper .placeholder .loading {\n position: absolute;\n top: 30%;\n height: 2em;\n width: 2em;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_8___+');\n background-size: 2em 2em;\n}\n.dialog {\n position: relative;\n max-width: 30em;\n border: 1px solid #0C0C0A;\n background: #444442;\n margin: auto;\n margin-top: 1%;\n /* some space for the footer / notification area in case it is really tall */\n margin-bottom: 3em;\n box-shadow: 0px 0px 10px 0px #000;\n /* header */\n /* inputs */\n /* Error display */\n /* submit / cancel */\n}\n.dialog.medium {\n max-width: 36em;\n}\n.dialog .dialog-header {\n padding: 0.5em 1em 0 1em;\n height: 3em;\n}\n.dialog .dialog-header h2 {\n margin: 0.25em 2em 0.5em 0.2em;\n font-size: 1.2em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.dialog .dialog-header h2 svg {\n position: relative;\n top: 0.0625em;\n}\n.dialog .dialog-header .tooltip-alt {\n margin-left: 0.3em;\n font-size: 0.7em;\n font-weight: normal;\n color: #FFFFFC;\n}\n.dialog .dialog-header .tooltip-alt .tooltip-text {\n white-space: normal;\n}\n.dialog .dialog-header .dialog-header-subtitle {\n padding-top: 0.3em;\n padding-left: 1em;\n font-size: 0.7em;\n color: #FFFFFC;\n}\n.dialog .dialog-header .dialog-close {\n margin-top: -2.5em;\n}\n.dialog .form-content {\n background: #30302D;\n padding: 0.813em 1.5em 1.5em 1.5em;\n}\n.dialog p {\n margin-top: 0.5em;\n font-size: 1em;\n /* 15px */\n}\n.dialog p + .checkbox {\n padding-bottom: 0.5em;\n}\n.dialog p + .checkbox label {\n font-size: 1em;\n}\n.dialog label {\n clear: both;\n font-size: 0.9375em;\n /* 15px */\n line-height: 1.6em;\n /* 24px */\n}\n.dialog input[type=text],\n.dialog textarea {\n width: 100%;\n box-sizing: border-box;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.dialog input[type=text]:before,\n.dialog textarea:before,\n.dialog input[type=text]:after,\n.dialog textarea:after {\n content: "";\n display: table;\n}\n.dialog input[type=text]:after,\n.dialog textarea:after {\n clear: both;\n}\n.dialog input[type=text]:before,\n.dialog textarea:before,\n.dialog input[type=text]:after,\n.dialog textarea:after {\n content: "";\n display: table;\n}\n.dialog input[type=text]:after,\n.dialog textarea:after {\n clear: both;\n}\n.dialog textarea + .message,\n.dialog input + .message {\n display: none;\n /* do not show empty placeholders */\n}\n.dialog textarea + .message.error,\n.dialog input + .message.error {\n display: block;\n clear: both;\n width: 100%;\n}\n.dialog .inline-error {\n color: #FF6B70;\n font-weight: bold;\n}\n.dialog .accordion-header a {\n display: inline;\n}\n.dialog .submit-wrapper {\n margin: 0;\n clear: both;\n width: 100%;\n padding: 0.75em 0;\n}\n.dialog .submit-wrapper .cancel,\n.dialog .submit-wrapper .button {\n float: right;\n margin-right: 1.25em;\n font-size: 1.125em;\n}\n.dialog .submit-wrapper .button {\n box-sizing: border-box;\n min-width: 5em;\n}\n.dialog .submit-wrapper .secondary {\n float: left;\n margin-left: 1.5em;\n margin-top: 0.7em;\n font-size: 1em;\n}\n.dialog .submit-wrapper .cancel {\n margin-top: 0.7em;\n font-size: 1em;\n}\n/* can also be used outside a dialog, like the sidebar */\n.dialog-close,\n.dialog-close:hover {\n display: block;\n float: right;\n border: 0;\n}\n.dialog-close:active {\n border-radius: 0.214em;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.dialog-close .fa-close {\n padding-top: 15px;\n width: 30px;\n height: 15px;\n text-align: center;\n display: block;\n vertical-align: baseline;\n line-height: 0;\n border: 1px solid #3B3B39;\n border-radius: 0.214em;\n}\n.dialog-close .svg-icon {\n padding: 7px 0 7px 0;\n width: 30px;\n height: 15px;\n text-align: center;\n display: block;\n vertical-align: baseline;\n line-height: 15px;\n border: 1px solid #3B3B39;\n border-radius: 0.214em;\n}\n.dialog-close:hover .fa-close,\n.dialog-close:hover .svg-icon {\n border: 1px solid #3B3B39;\n border-radius: 0.214em;\n}\n/* reduce font-size for small screen */\n@media all and (max-width: 480px) {\n .dialog {\n margin: 0;\n border: 0;\n box-shadow: none;\n width: 100%;\n max-width: 100%;\n margin-bottom: 2.5em;\n }\n}\n.drag-and-drop,\n.drag-and-drop-multiple {\n position: absolute;\n top: -1000px;\n background: #444442;\n border: 1px solid #3B3B39;\n z-index: 9999999;\n padding: 0.65em;\n line-height: 1em;\n color: #FFF;\n border-radius: 5px;\n}\n.drag-and-drop svg,\n.drag-and-drop-multiple svg {\n position: absolute;\n margin-top: -0.85em;\n margin-left: 0.4em;\n}\n.drag-and-drop svg path,\n.drag-and-drop-multiple svg path {\n fill: #FFF;\n}\n.drag-and-drop span.message,\n.drag-and-drop-multiple span.message {\n display: inline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.drag-and-drop span.message.not-allowed,\n.drag-and-drop-multiple span.message.not-allowed {\n padding-left: 1.85em;\n}\n.drag-and-drop-multiple {\n box-shadow: 0.25em 0.25em 0 -1px #3B3B39;\n}\n.drag-and-drop-multiple .count {\n position: absolute;\n top: -9px;\n right: -3px;\n font-size: 0.7em;\n background: #D40101;\n color: #FFF;\n width: 1.5em;\n height: 1.5em;\n text-align: center;\n line-height: 1.5em;\n border-radius: 50%;\n box-shadow: 0 0 1px #333;\n}\n.drop-focus {\n background-color: #0e3e60;\n}\n/* dropdown button */\n.dropdown {\n float: left;\n /* dropdown content */\n}\n.dropdown .button:focus,\n.dropdown .button.create:focus {\n border: 1px solid #0C0C0A;\n color: #FFFFFC;\n background: #30302D;\n z-index: 801;\n border-bottom: 0;\n -webkit-border-bottom-right-radius: 0;\n -webkit-border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -moz-border-radius-bottomleft: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.dropdown .button:focus .svg-icon svg,\n.dropdown .button.create:focus .svg-icon svg {\n fill: #FFFFFC;\n}\n.dropdown .button.more .svg-icon svg {\n top: 0.15em;\n margin-left: 0.5em;\n}\n.dropdown .button.create .svg-icon svg {\n fill: #FFF;\n}\n.dropdown .button.create.disabled .svg-icon svg {\n fill: #8B8B89;\n}\n.dropdown .dropdown-content {\n display: none;\n border: 1px solid #0C0C0A;\n background: #3B3B39;\n float: left;\n position: absolute;\n min-width: 13em;\n z-index: 800;\n padding: 0.25em 0;\n}\n.dropdown .dropdown-content.visible {\n display: block;\n}\n.dropdown .dropdown-content.right {\n right: 0;\n}\n.dropdown .dropdown-content li a {\n display: block;\n min-width: 9em;\n font-size: 0.9375em;\n border: 0;\n padding: 0.313em 0.626em;\n /* 5px */\n}\n.dropdown .dropdown-content li a:hover {\n background: #444442;\n text-decoration: none;\n color: #FFFFFC;\n}\n.dropdown .dropdown-content li.disabled a,\n.dropdown .dropdown-content li.disabled a:hover {\n color: #8B8B89;\n}\n.dropdown .dropdown-content li .separator-before {\n border-top: 1px solid #0C0C0A;\n}\n.dropdown .dropdown-content li .separator-after {\n border-bottom: 1px solid #0C0C0A;\n}\n.dropdown .button + .dropdown-content {\n margin-top: 2em;\n margin-bottom: 2em;\n}\n.panel .folders.navigation {\n border: 0;\n}\n.panel .folders.navigation ul {\n list-style: none;\n padding: 0;\n}\n.panel .folders.navigation .folders-label-selected {\n background: #F3F3F3;\n}\n.panel .folders.navigation .folders-label-height {\n height: 1.8em;\n}\n.panel .folders.navigation.first {\n padding-top: 0;\n}\n.panel .folders.navigation .row {\n /* title row */\n /* disabled row */\n}\n.panel .folders.navigation .row .main-cell span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: inline-block;\n margin-top: 0.2em;\n width: calc(100% - 2.5em);\n}\n.panel .folders.navigation .row .main-cell .svg-icon {\n display: inline;\n}\n.panel .folders.navigation .row .main-cell .svg-icon.hidden {\n display: none;\n}\n.panel .folders.navigation .row .main-cell .svg-icon svg {\n width: 0.83em;\n height: 0.83em;\n position: absolute;\n margin-top: 0.5em;\n fill: #FFFFFC;\n}\n.panel .folders.navigation .row .main-cell a {\n padding: 0 0 0 2.2em;\n}\n.panel .folders.navigation .row .main-cell a .svg-icon.caret-right svg,\n.panel .folders.navigation .row .main-cell a .svg-icon.caret-down svg {\n margin-left: -1.2em;\n margin-top: 0.4em;\n width: 1em;\n height: 1em;\n position: absolute;\n}\n.panel .folders.navigation .row .main-cell a .folder-name {\n margin-left: 1.3em;\n}\n.panel .folders.navigation .row .right-cell {\n margin-top: -1.66666667em;\n}\n.panel .folders.navigation .row.title .main-cell h3 {\n padding-top: 0.26666667em;\n /* 4px */\n padding-bottom: 0;\n border: 0;\n margin-top: 0;\n line-height: 1.26666667em;\n /* 19px */\n}\n.panel .folders.navigation .row.title .main-cell h3 span {\n width: 100%;\n margin-top: 0;\n}\n.panel .folders.navigation .row.title .main-cell h3 a {\n padding-left: 0;\n}\n.panel .folders.navigation .row.title .main-cell h3 a::before,\n.panel .folders.navigation .row.title .main-cell h3 a::after {\n display: none;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label {\n width: 100%;\n margin-left: 1em;\n cursor: pointer;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label span {\n width: calc(100% - 1.5em);\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.caret-right svg,\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.caret-down svg {\n margin-left: -1.2em;\n margin-top: 0.2em;\n width: 1em;\n height: 1em;\n position: absolute;\n}\n.panel .folders.navigation .row.title .main-cell h3 .folders-label .svg-icon.spinner svg {\n margin-left: -1.1em;\n margin-top: 0.3em;\n width: 0.83em;\n height: 0.83em;\n position: absolute;\n}\n.panel .folders.navigation .row.title .right-cell {\n margin-top: -1.66666667em;\n}\n.panel .folders.navigation .row.disabled {\n cursor: default;\n pointer-events: none;\n}\n.panel .folders.navigation .row.disabled .main-cell span.folder-name {\n color: #8B8B89;\n text-shadow: none;\n font-weight: normal;\n}\n.panel .folders.navigation .row.disabled .main-cell span.svg-icon svg {\n fill: #8B8B89;\n}\n.panel .folders.navigation .row.disabled .main-cell a:before {\n color: #8B8B89;\n}\n.panel .folders.navigation .row.disabled.is-dragged {\n pointer-events: auto;\n}\n.panel .folders.navigation li li {\n padding-left: 1.15em;\n}\n.input.location {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.input.location:before,\n.input.location:after {\n content: "";\n display: table;\n}\n.input.location:after {\n clear: both;\n}\n.input.location:before,\n.input.location:after {\n content: "";\n display: table;\n}\n.input.location:after {\n clear: both;\n}\n.input.location .location-input {\n padding: 0.25em 0;\n margin-bottom: 0.5em;\n width: 100%;\n float: left;\n box-sizing: border-box;\n border: 1px solid #222220;\n background: #0C0C0A;\n}\n.input.location .breadcrumbs {\n font-size: 1.125em;\n background: transparent;\n box-sizing: border-box;\n float: left;\n width: 79%;\n padding-left: 0em;\n margin-top: -0.25em;\n}\n.input.location .breadcrumbs ul {\n float: left;\n width: 100%;\n padding-right: 0.5em;\n box-sizing: border-box;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.input.location .breadcrumbs li {\n display: inline;\n}\n.input.location .button {\n border: 0;\n box-sizing: border-box;\n float: right;\n width: 19%;\n margin: 0 0.25em 0 0;\n}\n/*\n\tform to add new permissions\n\tbasically this form is embedded in a dedicated iframe released by the plugin\n*/\n.form-content.permission-add label {\n padding-bottom: 0.5em;\n padding-top: 1em;\n height: 1.5em;\n}\n.form-content.permission-add .autocomplete input {\n margin-bottom: 0;\n}\n.form-content.permission-add .message {\n padding-left: 0;\n}\n/*\n\tautocomplete users results\n\tbasically this list of users is embedded in a dedicated iframe released by the plugin\n*/\n.autocomplete-wrapper {\n position: relative;\n /* hide icons if there is no space */\n}\n.autocomplete-wrapper .autocomplete-content {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 899;\n padding: 0;\n margin: 0;\n border: 1px solid #0C0C0A;\n max-height: 10em;\n overflow: auto;\n box-sizing: border-box;\n}\n.autocomplete-wrapper .autocomplete-content .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n font-size: 0.813em;\n padding: 0.825em 0.5em 0.5em 1em;\n border-bottom: 1px dotted #0C0C0A;\n /* user summary */\n}\n.autocomplete-wrapper .autocomplete-content .row:before,\n.autocomplete-wrapper .autocomplete-content .row:after {\n content: "";\n display: table;\n}\n.autocomplete-wrapper .autocomplete-content .row:after {\n clear: both;\n}\n.autocomplete-wrapper .autocomplete-content .row:before,\n.autocomplete-wrapper .autocomplete-content .row:after {\n content: "";\n display: table;\n}\n.autocomplete-wrapper .autocomplete-content .row:after {\n clear: both;\n}\n.autocomplete-wrapper .autocomplete-content .row:last-child {\n border: 0;\n}\n.autocomplete-wrapper .autocomplete-content .row.selected,\n.autocomplete-wrapper .autocomplete-content .row:hover {\n background: #444442;\n}\n.autocomplete-wrapper .autocomplete-content .row .avatar img {\n float: left;\n}\n.autocomplete-wrapper .autocomplete-content .row .user,\n.autocomplete-wrapper .autocomplete-content .row .group {\n width: 75%;\n float: left;\n padding-left: 1em;\n padding-right: 1em;\n}\n.autocomplete-wrapper .autocomplete-content .row .name {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.autocomplete-wrapper .autocomplete-content .row .details {\n color: #8B8B89;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: block;\n}\n.autocomplete-wrapper .autocomplete-content .row.loading .info {\n margin-left: 3.8em;\n}\n.autocomplete-wrapper .autocomplete-content .row.loading .info:after {\n width: 60%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 1.45em;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n}\n@media all and (max-width: 440px) {\n .autocomplete-wrapper .autocomplete-content {\n height: auto;\n max-height: none;\n }\n}\n/*\n\tPassword fields in passbolt have complexity "progress bar"\n\tand a custom layout to accommodate buttons on the left end\n*/\n.input-password-wrapper {\n width: 100%;\n /* same than default inputs width in dialogs */\n box-sizing: border-box;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.input-password-wrapper:before,\n.input-password-wrapper:after {\n content: "";\n display: table;\n}\n.input-password-wrapper:after {\n clear: both;\n}\n.input-password-wrapper:before,\n.input-password-wrapper:after {\n content: "";\n display: table;\n}\n.input-password-wrapper:after {\n clear: both;\n}\n.input-password-wrapper .input.password {\n float: left;\n width: 65.5%;\n}\n.input-password-wrapper .input.password input[type=text],\n.input-password-wrapper .input.password input[type=password] {\n width: calc(100% - 3.5em);\n box-sizing: border-box;\n}\n.input-password-wrapper .input.password input[type=password].decrypting {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') no-repeat 90% center;\n}\n.input-password-wrapper .actions.inline {\n float: right;\n width: 30%;\n}\n.input-password-wrapper .actions.inline .button {\n float: left;\n width: 3.75em;\n padding-left: 0;\n padding-right: 0;\n}\n.input-password-wrapper .actions.inline .button + .button {\n margin-left: 0.5em;\n}\n.input-password-wrapper .password-complexity .complexity-text {\n float: right;\n clear: right;\n width: 30%;\n font-size: 11px;\n text-align: left;\n padding-left: 0;\n}\n.input-password-wrapper .password-complexity.not_available .complexity-text {\n color: #0C0C0A;\n}\n.input-password-wrapper .password-complexity .progress {\n width: 65.5%;\n box-sizing: border-box;\n border: 1px solid #0C0C0A;\n height: 10px;\n display: block;\n clear: both;\n margin: 0.25em 0 0.5em 0;\n float: left;\n}\n.input-password-wrapper .password-complexity .progress-bar {\n background: #000;\n width: 0;\n height: 6px;\n display: block;\n float: left;\n margin: 1px;\n}\n.input-password-wrapper .password-complexity .progress-bar.very-weak {\n background: #000;\n width: 5%;\n}\n.input-password-wrapper .password-complexity .progress-bar.weak {\n background: #D40101;\n width: 10%;\n}\n.input-password-wrapper .password-complexity .progress-bar.fair {\n background: #FFBD2E;\n width: 60%;\n}\n.input-password-wrapper .password-complexity .progress-bar.strong {\n background: #66CC00;\n width: 80%;\n}\n.input-password-wrapper .password-complexity .progress-bar.very-strong {\n background: #009900;\n width: 99.5%;\n}\n@media all and (max-width: 400px) {\n .input-password-wrapper .input.password {\n float: left;\n width: 100%;\n }\n .input-password-wrapper .actions.inline {\n width: 50%;\n float: left;\n margin-bottom: 0.5em;\n }\n .input-password-wrapper .password-complexity .progress {\n display: none;\n }\n .input-password-wrapper .password-complexity .complexity-text {\n float: left;\n width: 50%;\n font-size: 0.831em;\n margin-top: 0.5em;\n }\n .fa.fa-lg {\n line-height: 1;\n }\n}\n.security-token {\n font-size: 1em;\n padding: 0.375em 0;\n text-align: center;\n display: inline-block;\n width: 4em;\n margin-top: -0.5em;\n margin-left: -0.5em;\n border: 1px solid #30302D;\n line-height: 1.5em;\n vertical-align: middle;\n box-sizing: border-box;\n}\n/*!\nChosen, a Select Box Enhancer for jQuery and Prototype\nby Patrick Filler for Harvest, http://getharvest.com\n\nVersion 1.8.3\nFull source at https://github.com/harvesthq/chosen\nCopyright (c) 2011-2018 Harvest http://getharvest.com\n\nMIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\nThis file is generated by `grunt build`, do not edit it by hand.\n*/\n/* @group Base */\n.chosen-container {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n font-size: 13px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.chosen-container * {\n box-sizing: border-box;\n}\n.chosen-container .chosen-drop {\n position: absolute;\n top: 100%;\n z-index: 1010;\n width: 100%;\n border: 1px solid #aaa;\n border-top: 0;\n background: #30302D;\n box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);\n display: none;\n}\n.chosen-container.chosen-container-single {\n padding: 0;\n width: 83%;\n}\n.chosen-container.chosen-container-single.connection-type {\n float: left;\n width: 23%;\n}\n.chosen-container.chosen-with-drop .chosen-drop {\n display: block;\n}\n.chosen-container a {\n cursor: pointer;\n}\n.chosen-container .search-choice .group-name,\n.chosen-container .chosen-single .group-name {\n margin-right: 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-weight: normal;\n color: #8B8B89;\n}\n.chosen-container .search-choice .group-name:after,\n.chosen-container .chosen-single .group-name:after {\n content: "\\003A";\n /* unicode character : */\n padding-left: 2px;\n vertical-align: top;\n}\n/* @end */\n/* @group Single Chosen */\n.chosen-container-single .chosen-single {\n position: relative;\n display: block;\n overflow: hidden;\n padding: 0 0 0 8px;\n height: 25px;\n border: 1px solid #30302D;\n border-radius: 5px;\n background-color: #30302D;\n background: linear-gradient(#30302D 20%, #3B3B39 50%, #3B3B39 52%, #444442 100%);\n background-clip: padding-box;\n box-shadow: 0 0 3px #30302D inset, 0 1px 1px rgba(0, 0, 0, 0.1);\n color: #FFFFFC;\n text-decoration: none;\n white-space: nowrap;\n line-height: 24px;\n}\n.chosen-container-single .chosen-single input[type="text"] {\n cursor: pointer;\n opacity: 0;\n position: absolute;\n}\n.chosen-container-single .chosen-default {\n color: #8B8B89;\n}\n.chosen-container-single .chosen-single span {\n display: block;\n overflow: hidden;\n margin-right: 26px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.chosen-container-single .chosen-single-with-deselect span {\n margin-right: 38px;\n}\n.chosen-container-single .chosen-single abbr {\n position: absolute;\n top: 6px;\n right: 26px;\n display: block;\n width: 12px;\n height: 12px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+") -42px 1px no-repeat;\n font-size: 1px;\n}\n.chosen-container-single .chosen-single abbr:hover {\n background-position: -42px -10px;\n}\n.chosen-container-single.chosen-disabled .chosen-single abbr:hover {\n background-position: -42px -10px;\n}\n.chosen-container-single .chosen-single div {\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 18px;\n height: 100%;\n}\n.chosen-container-single .chosen-single div b {\n display: block;\n width: 100%;\n height: 100%;\n background: url("+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat 0px 2px;\n}\n.chosen-container-single .chosen-search {\n position: relative;\n z-index: 1010;\n margin: 0;\n padding: 3px 4px;\n white-space: nowrap;\n}\n.chosen-container-single .chosen-search span.svg-icon {\n position: absolute;\n margin-left: -1.5em;\n margin-top: 0.35em;\n}\n.chosen-container-single .chosen-search input[type="text"] {\n margin: 1px 0;\n padding: 4px 20px 4px 5px;\n width: 100%;\n height: auto;\n outline: 0;\n border: 1px solid #30302D;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat 100% -20px;\n font-size: 1em;\n font-family: sans-serif;\n line-height: normal;\n border-radius: 0;\n}\n.chosen-container-single .chosen-drop {\n margin-top: -0.5em;\n border-radius: 0 0 4px 4px;\n background-clip: padding-box;\n}\n.chosen-container-single.chosen-container-single-nosearch .chosen-search {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n}\n/* @end */\n/* @group Results */\n.chosen-container .chosen-results {\n color: #FFFFFC;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n margin: 0 4px 4px 0;\n padding: 0 0 0 4px;\n max-height: 240px;\n -webkit-overflow-scrolling: touch;\n}\n.chosen-container .chosen-results li {\n display: none;\n margin: 0;\n padding: 5px 6px;\n list-style: none;\n line-height: 15px;\n word-wrap: break-word;\n -webkit-touch-callout: none;\n}\n.chosen-container .chosen-results li.active-result {\n display: list-item;\n cursor: pointer;\n}\n.chosen-container .chosen-results li.disabled-result {\n display: list-item;\n color: #444442;\n cursor: default;\n}\n.chosen-container .chosen-results li:hover {\n background-color: #2894DF;\n background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);\n color: #EEEEEC;\n}\n.chosen-container .chosen-results li.no-results {\n color: #cacac9;\n display: list-item;\n background: #444442;\n}\n.chosen-container .chosen-results li.group-result {\n display: list-item;\n font-weight: bold;\n cursor: default;\n}\n.chosen-container .chosen-results li.group-option {\n padding-left: 15px;\n}\n.chosen-container .chosen-results li em {\n font-style: normal;\n text-decoration: underline;\n}\n/* @end */\n/* @group Multi Chosen */\n.chosen-container-multi .chosen-choices {\n position: relative;\n overflow: hidden;\n margin: 0;\n padding: 0 5px;\n width: 100%;\n height: auto;\n border: 1px solid #30302D;\n background-color: #30302D;\n background-image: linear-gradient(#3B3B39 1%, #30302D 15%);\n cursor: text;\n}\n.chosen-container-multi .chosen-choices li {\n float: left;\n list-style: none;\n}\n.chosen-container-multi .chosen-choices li.search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n.chosen-container-multi .chosen-choices li.search-field input[type="text"] {\n margin: 1px 0;\n padding: 0;\n height: 25px;\n outline: 0;\n border: 0 !important;\n background: transparent !important;\n box-shadow: none;\n color: #8B8B89;\n font-size: 100%;\n font-family: sans-serif;\n line-height: normal;\n border-radius: 0;\n width: 25px;\n}\n.chosen-container-multi .chosen-choices li.search-choice {\n position: relative;\n margin: 3px 5px 3px 0;\n padding: 3px 20px 3px 5px;\n border: 1px solid #30302D;\n max-width: 100%;\n border-radius: 3px;\n background-color: #30302D;\n background-image: linear-gradient(#30302D 20%, #3B3B39 50%, #3B3B39 52%, #444442 100%);\n background-size: 100% 19px;\n background-repeat: repeat-x;\n background-clip: padding-box;\n box-shadow: 0 0 2px #30302D inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n color: #444442;\n line-height: 13px;\n cursor: default;\n}\n.chosen-container-multi .chosen-choices li.search-choice span {\n word-wrap: break-word;\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n position: absolute;\n top: 4px;\n right: 3px;\n display: block;\n width: 12px;\n height: 12px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') -42px 1px no-repeat;\n font-size: 1px;\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {\n background-position: -42px -10px;\n}\n.chosen-container-multi .chosen-choices li.search-choice-disabled {\n padding-right: 5px;\n border: 1px solid #222220;\n background-color: #444442;\n background-image: linear-gradient(#30302D 20%, #3B3B39 50%, #3B3B39 52%, #444442 100%);\n color: #cacac9;\n}\n.chosen-container-multi .chosen-choices li.search-choice-focus {\n background: #3B3B39;\n}\n.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {\n background-position: -42px -10px;\n}\n.chosen-container-multi .chosen-results {\n margin: 0;\n padding: 0;\n}\n.chosen-container-multi .chosen-drop .result-selected {\n display: list-item;\n color: #3B3B39;\n cursor: default;\n}\n/* @end */\n/* @group Active */\n.chosen-container-active .chosen-single {\n border: 1px solid #2894DF;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);\n}\n.chosen-container-active.chosen-with-drop .chosen-single {\n border: 1px solid #30302D;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background-image: linear-gradient(#3B3B39 20%, #30302D 80%);\n box-shadow: 0 1px 0 #30302D inset;\n}\n.chosen-container-active.chosen-with-drop .chosen-single div {\n border-left: none;\n background: transparent;\n}\n.chosen-container-active.chosen-with-drop .chosen-single div b {\n background-position: -18px 2px;\n}\n.chosen-container-active .chosen-choices {\n border: 1px solid #2894DF;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);\n}\n.chosen-container-active .chosen-choices li.search-field input[type="text"] {\n color: #FFFFFC !important;\n}\n/* @end */\n/* @group Disabled Support */\n.chosen-disabled {\n opacity: 0.5 !important;\n cursor: default;\n}\n.chosen-disabled .chosen-single {\n cursor: default;\n}\n.chosen-disabled .chosen-choices .search-choice .search-choice-close {\n cursor: default;\n}\n/* @end */\n/* @group Right to Left */\n.chosen-rtl {\n text-align: right;\n}\n.chosen-rtl .chosen-single {\n overflow: visible;\n padding: 0 8px 0 0;\n}\n.chosen-rtl .chosen-single span {\n margin-right: 0;\n margin-left: 26px;\n direction: rtl;\n}\n.chosen-rtl .chosen-single-with-deselect span {\n margin-left: 38px;\n}\n.chosen-rtl .chosen-single div {\n right: auto;\n left: 3px;\n}\n.chosen-rtl .chosen-single abbr {\n right: auto;\n left: 26px;\n}\n.chosen-rtl .chosen-choices li {\n float: right;\n}\n.chosen-rtl .chosen-choices li.search-field input[type="text"] {\n direction: rtl;\n}\n.chosen-rtl .chosen-choices li.search-choice {\n margin: 3px 5px 3px 0;\n padding: 3px 5px 3px 19px;\n}\n.chosen-rtl .chosen-choices li.search-choice .search-choice-close {\n right: auto;\n left: 4px;\n}\n.chosen-rtl.chosen-container-single .chosen-results {\n margin: 0 0 4px 4px;\n padding: 0 4px 0 0;\n}\n.chosen-rtl .chosen-results li.group-option {\n padding-right: 15px;\n padding-left: 0;\n}\n.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {\n border-right: none;\n}\n.chosen-rtl .chosen-search input[type="text"] {\n padding: 4px 5px 4px 20px;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_9___+') no-repeat -30px -20px;\n direction: rtl;\n}\n.chosen-rtl.chosen-container-single .chosen-single div b {\n background-position: 6px 2px;\n}\n.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {\n background-position: -12px 2px;\n}\n/* @end */\n/* @group Retina compatibility */\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {\n .chosen-rtl .chosen-search input[type="text"],\n .chosen-container-single .chosen-single abbr,\n .chosen-container-single .chosen-single div b,\n .chosen-container-single .chosen-search input[type="text"],\n .chosen-container-multi .chosen-choices .search-choice .search-choice-close,\n .chosen-container .chosen-results-scroll-down span,\n .chosen-container .chosen-results-scroll-up span {\n background-image: url('+___CSS_LOADER_URL_REPLACEMENT_10___+') !important;\n background-size: 52px 37px !important;\n background-repeat: no-repeat !important;\n }\n}\n/* @end */\n/* redefinitions */\n.chosen-container {\n margin-bottom: 0.5em;\n}\n.chosen-container.chosen-disabled a.chosen-single {\n border: 1px solid #222220;\n}\n.chosen-container a.chosen-single {\n color: #FFFFFC;\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n height: 38px;\n width: 100%;\n background: #444442;\n border-radius: 0;\n border: 1px solid #222220;\n border-top: 1px solid #30302D;\n box-shadow: none;\n margin: 0 0 0.5em 0;\n}\n.chosen-container a.chosen-single span {\n font-size: 16px;\n padding-top: 3px;\n margin-top: 2px;\n color: #FFFFFC;\n}\n.chosen-container a.chosen-single span.svg-icon {\n float: left;\n}\n.chosen-container a.chosen-single div b {\n background-position: 0 6px;\n}\n.chosen-container .chosen-search input.chosen-search-input[type=text] {\n width: 95% !important;\n color: #cacac9;\n}\n.chosen-container .chosen-drop {\n border: 1px solid #222220 !important;\n border-top: 0 !important;\n border-radius: 0 !important;\n background: #0C0C0A !important;\n}\n.chosen-container .chosen-drop .chosen-results {\n color: #FFFFFC;\n}\n.chosen-container.chosen-container-active.chosen-with-drop a.chosen-single {\n background: #0C0C0A;\n border: 1px solid #222220;\n border-top: 1px solid #30302D;\n box-shadow: none;\n}\n.chosen-container.chosen-container-active.chosen-with-drop a.chosen-single div b {\n background-position: -18px 8px;\n}\n/** Specific layout for connection info field\n This layout contains 3 fields on a single line:\n - a chosen select field to select the protocol\n - a host name text field\n - a port text field\n */\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host {\n border: 0;\n padding: 0;\n width: 70%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text {\n padding: 0;\n margin: 0;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text input {\n margin: 0;\n border-left: none;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.host {\n width: 75%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.host input[type=text] {\n width: 95%;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol {\n width: 25%;\n position: relative;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container {\n display: block;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single {\n height: 38px;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single div b {\n background-position: 0px 10px;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container a.chosen-single span {\n font-size: 16px;\n padding: 6px 0 0 0;\n}\n.singleline.connection_info.protocol_host_port .input.text.field_protocol_host .input.text.protocol .chosen-container-active.chosen-with-drop a.chosen-single div b {\n background-position: -18px 10px;\n}\n.singleline.connection_info.protocol_host_port .input.text.port {\n width: 9%;\n margin-left: 1%;\n}\n.singleline.connection_info.protocol_host_port .input.text.port input[type=number] {\n width: 100%;\n}\n/*\n * Footer\n */\n.footer {\n margin-top: 0;\n position: fixed;\n bottom: 0;\n padding: 1.167em 1.5% 0 0.5%;\n text-align: right;\n font-size: 0.75em;\n /* 12px */\n width: 98%;\n height: 2em;\n background: #30302D;\n border-top: 1px solid #0C0C0A;\n z-index: 890;\n}\n.footer .footer-links {\n width: 100%;\n margin-top: -0.25em;\n}\n.footer .footer-links li {\n display: inline;\n margin-right: 1.5em;\n}\n.footer .footer-links li.error-message a {\n background-color: #30302D;\n color: #FF6B70;\n}\n.footer .footer-links li .github-star {\n display: inline;\n position: absolute;\n margin-left: -8em;\n margin-top: -1px;\n}\n.footer .footer-links a:not(.gh-btn):not(.gh-count) {\n border: 0;\n}\n/* headers */\n.header {\n overflow: visible !important;\n /* top navigation */\n /* logo positioning */\n}\n.header.first {\n background: #222220;\n}\n.header.second {\n background: #3B3B39;\n}\n.header .navigation.primary {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.header .navigation.primary:before,\n.header .navigation.primary:after {\n content: "";\n display: table;\n}\n.header .navigation.primary:after {\n clear: both;\n}\n.header .navigation.primary:before,\n.header .navigation.primary:after {\n content: "";\n display: table;\n}\n.header .navigation.primary:after {\n clear: both;\n}\n.header .navigation.primary li {\n padding: 0.5em;\n float: left;\n}\n.header .navigation.primary li:first-child {\n padding-left: 1em;\n}\n.header .navigation.primary li.right {\n float: right;\n margin-right: 1em;\n}\n.header .navigation.primary li a {\n color: #F3F3F3;\n text-decoration: none;\n border: 0;\n display: inline-block;\n}\n.header .navigation.primary li a:hover {\n color: #EEEEEC;\n}\n.header .navigation.primary li a:active,\n.header .navigation.primary li a:focus {\n color: #2894DF;\n}\n.header .navigation.primary li a.highlighted {\n background-color: #2894DF;\n padding: 0 0.5em 0 0.5em;\n border-radius: 3px;\n}\n.header .navigation.primary li a.highlighted:active,\n.header .navigation.primary li a.highlighted:focus {\n color: #F3F3F3;\n}\n.header .navigation.primary li .row.selected a {\n color: #EEEEEC;\n}\n.header .navigation.primary li .row.selected a:focus {\n color: #2894DF;\n}\n.header .navigation.primary .github-star {\n display: none;\n position: absolute;\n right: 1em;\n top: 4px;\n}\n@media all and (min-width: 600px) {\n .header .navigation.primary .github-star {\n display: block;\n }\n}\n.header .logo {\n margin: 1.25em 0 0 1em;\n max-width: 80%;\n}\n/* Small Progress bar */\n.progress-bar {\n background: transparent;\n width: 100%;\n height: 2px;\n display: block;\n}\n.progress-bar span {\n background: #D40101;\n height: 2px;\n display: block;\n}\n/* larger progress bar */\n.progress-bar-wrapper {\n border: 1px solid #0C0C0A;\n height: 10px;\n display: block;\n margin: 2em 0 1em 0;\n padding: 2px;\n}\n.progress-bar-wrapper .progress-bar.big {\n width: 100%;\n height: 10px;\n display: block;\n clear: both;\n /* indefinite loading */\n}\n.progress-bar-wrapper .progress-bar.big .progress {\n background: #D40101;\n width: 5%;\n display: block;\n height: 10px;\n}\n.progress-bar-wrapper .progress-bar.big.infinite {\n background: #D40101;\n}\n.progress-bar-wrapper .progress-bar.big.infinite .progress {\n width: 100%;\n overflow: hidden;\n background: url('+___CSS_LOADER_URL_REPLACEMENT_11___+") repeat-x;\n -moz-opacity: 0.5;\n -khtml-opacity: 0.5;\n opacity: 0.5;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=5);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=5);\n filter: alpha(opacity=5);\n}\n.progress-details {\n color: #8B8B89;\n margin: 0.5em 0 0.5em 0;\n}\n.progress-details .progress-percent {\n float: right;\n}\n/*\n\tContextual loading bar\n\t it is situated at the bottom of the workspace\n*/\n.update-loading-bar {\n position: fixed;\n display: block;\n width: 100%;\n bottom: 2.35em;\n z-index: 991;\n}\n.update-loading-bar .progress-bar span {\n transition: width 2s;\n transition-timing-function: cubic-bezier(0.45, 1.27, 0.76, 0.9);\n}\n.logo.no-img {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+") 0 0 no-repeat;\n background-size: 150px auto;\n width: 150px;\n height: 30px;\n}\n.logo h1 {\n display: none;\n}\n.logo.bigger {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+') 0 0 no-repeat;\n background-size: 200px auto;\n width: 200px;\n height: 45px;\n}\n.header.second .col1 {\n min-width: 200px;\n}\n/* CSS for serving the retina image to devices with a high "device-pixel-ratio": */\n@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-devicepixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx) {\n .logo.no-img {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_12___+") 0 0 no-repeat;\n background-size: 150px auto;\n }\n .logo.bigger {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_12___+') 0 0 no-repeat;\n background-size: 200px auto;\n }\n}\n/*\n\tdo not show javascript needed warning if js is enabled\n\tthis needs modernizer to work\n*/\n.js .message.no-js {\n display: none;\n}\n.cookies .message.no-cookies {\n display: none;\n}\n/* message styling per types */\n.message {\n padding: 1em;\n}\n.message a {\n border-bottom: 1px solid #0C0C0A;\n}\n.message a:hover {\n border-bottom: 1px solid #2894DF;\n}\n.message.error {\n color: #333;\n background: #ffe4e4;\n}\n.message.error a:link,\n.message.error a:visited {\n color: #333;\n border-bottom: 1px dotted #0C0C0A;\n}\n.message.error a:hover {\n color: #333;\n border-bottom: 1px solid #0C0C0A;\n}\n.message.success {\n color: #333;\n background: #f4f4d9;\n}\n.message.notice {\n color: #333;\n background: #2894DF;\n}\n.message.warning {\n color: #333;\n background: #FEF0BF;\n}\n.message p:last-child {\n margin-bottom: 0;\n}\n/* big side info message blocks on setup or profile pages */\n.message.side-message {\n margin-left: 1em;\n font-size: 1em;\n margin-right: 2em;\n}\n.message.side-message ul,\n.message.side-message p {\n padding-bottom: 1em;\n}\n/* success animation */\n.message.success.success-large.animated {\n background: #30302D;\n color: #FFFFFC;\n display: flex;\n border: 1px solid #0C0C0A;\n border-radius: 3px;\n}\n.message.success.success-large.animated .illustration {\n flex: 0 0 180px;\n}\n.message.success.success-large.animated .additional-information {\n flex: 1 1;\n line-height: 180px;\n margin-top: 1.5em;\n padding-left: 1em;\n}\n@-webkit-keyframes drawCircle {\n 0% {\n stroke-dashoffset: 180px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@keyframes drawCircle {\n 0% {\n stroke-dashoffset: 180px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes drawCheck {\n 0% {\n stroke-dashoffset: 50px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n@keyframes drawCheck {\n 0% {\n stroke-dashoffset: 50px;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n}\n.message.success.success-large.animated #successAnimationCircle {\n stroke-dasharray: 180px 180px;\n stroke: #009900;\n}\n.message.success.success-large.animated #successAnimationCheck {\n stroke-dasharray: 50px 50px;\n stroke: #009900;\n}\n.message.success.success-large.animated #successAnimation.animated {\n -webkit-animation: 0.75s ease-out 0s 1 both pop;\n animation: 0.75s ease-out 0s 1 both pop;\n}\n.message.success.success-large.animated #successAnimation.animated #successAnimationCircle {\n -webkit-animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCircle;\n animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCircle;\n}\n.message.success.success-large.animated #successAnimation.animated #successAnimationCheck {\n -webkit-animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCheck;\n animation: 0.75s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 both drawCheck;\n}\n@media only screen and (max-width: 767px) {\n .message.success.success-large.animated {\n flex-direction: column;\n }\n}\n/*\n * Notification\n */\n.notification-container {\n font-size: 0.85em;\n top: 0;\n position: absolute;\n z-index: 991;\n height: 2em;\n padding-top: 1em;\n width: 60%;\n margin-left: 20%;\n}\n.notification-container .notification {\n position: relative;\n left: 50%;\n float: left;\n clear: both;\n margin-bottom: 1em;\n}\n.notification-container .notification .message {\n box-shadow: 0px 0px 10px 0px #000;\n border-radius: 2px;\n padding: 0.5em 1em;\n position: relative;\n left: -50%;\n float: left;\n color: #000;\n font-weight: normal;\n width: auto;\n}\n.notification-container .notification .message .content {\n margin-right: 1em;\n}\n.notification-container .notification .message .content strong {\n text-transform: capitalize;\n}\n.notification-container .notification .message .action {\n border-bottom: none;\n margin-left: 0.4em;\n}\n.notification-container .notification .message .action:hover .svg-icon svg {\n fill: #000000;\n}\n/* left panel navigation */\n.panel .navigation {\n font-size: 0.9375em;\n /* first block have a delimiter */\n /*\n Navigation row\n */\n}\n.panel .navigation li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel .navigation li:before,\n.panel .navigation li:after {\n content: "";\n display: table;\n}\n.panel .navigation li:after {\n clear: both;\n}\n.panel .navigation li:before,\n.panel .navigation li:after {\n content: "";\n display: table;\n}\n.panel .navigation li:after {\n clear: both;\n}\n.panel .navigation.first {\n border-bottom: 1px dotted #0C0C0A;\n padding: 0.625em 0;\n margin-bottom: 0.625em;\n}\n.panel .navigation .row {\n float: left;\n width: 100%;\n box-sizing: border-box;\n /*\n Row layout\n fluid main-cell\n fixed right-cell\n */\n /*\n Right Cell\n */\n /* title cell is higher than normal cell\n this centers the right cell vertically accordingly\n */\n}\n.panel .navigation .row:hover {\n background: #444442;\n}\n.panel .navigation .row.no-hover:hover {\n background: transparent;\n}\n.panel .navigation .row.selected {\n font-weight: bold;\n}\n.panel .navigation .row .main-cell-wrapper {\n float: left;\n width: 100%;\n}\n.panel .navigation .row .main-cell {\n margin: 0 1.5em 0 0;\n}\n.panel .navigation .row .main-cell h3 {\n border: 0;\n font-size: 1em;\n margin: 0 0.25em 0 1em;\n padding: 0.25em 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel .navigation .row .main-cell h3 a {\n /* suppress a padding so that it looks the same\n for all title if it is a link or not */\n padding-top: 0;\n padding-bottom: 0;\n}\n.panel .navigation .row .main-cell span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n display: block;\n}\n.panel .navigation .row .main-cell a {\n border: 0;\n padding: 0.2em 0.313em;\n /* 2px 5px */\n padding-left: 1em;\n color: #FFFFFC;\n display: block;\n}\n.panel .navigation .row .right-cell {\n float: right;\n width: 1em;\n height: 1em;\n margin-right: 1em;\n margin-top: -1.5em;\n}\n.panel .navigation .row .right-cell a {\n display: none;\n width: 1em;\n height: 1em;\n padding: 0.125em;\n color: #8B8B89;\n border: 1px solid transparent;\n}\n.panel .navigation .row .right-cell a .svg-icon {\n position: absolute;\n width: 16px;\n height: 16px;\n line-height: 16px;\n text-align: center;\n vertical-align: center;\n}\n.panel .navigation .row .right-cell a .svg-icon svg {\n fill: #606060;\n}\n.panel .navigation .row .right-cell a .svg-icon svg:hover {\n fill: #2894DF;\n}\n.panel .navigation .row .right-cell a:hover {\n color: #2894DF;\n background: #30302D;\n}\n.panel .navigation .row.title .right-cell {\n margin-top: -1.825em;\n}\n.panel .navigation .row:hover {\n background: #444442;\n}\n.panel .navigation .row:hover .right-cell a {\n display: block;\n}\n.dialog .form-content.permission-add {\n background-color: #30302D;\n padding: 0 1em 1em 1em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.dialog .form-content.permission-add:before,\n.dialog .form-content.permission-add:after {\n content: "";\n display: table;\n}\n.dialog .form-content.permission-add:after {\n clear: both;\n}\n.dialog .form-content.permission-add:before,\n.dialog .form-content.permission-add:after {\n content: "";\n display: table;\n}\n.dialog .form-content.permission-add:after {\n clear: both;\n}\n.dialog .form-content.permission-edit {\n padding: 0em;\n border-bottom: 1px solid #0C0C0A;\n}\n.dialog .permissions {\n /* shimmering skeleton when loading */\n}\n.dialog .permissions.scroll {\n /* Opera doesn\'t support this in the shorthand */\n overflow: auto;\n background: linear-gradient(#30302D 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #30302D 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)) 0 100%;\n background-repeat: no-repeat;\n background-color: #30302D;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n /* Opera doesn\'t support this in the shorthand */\n background-attachment: local, local, scroll, scroll;\n max-height: 19em;\n margin: 0;\n}\n.dialog .permissions .row {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n font-size: 0.813em;\n padding: 0.875em 0.5em 0.5em 0.875em;\n border-bottom: 1px dotted #0C0C0A;\n /* aro summary */\n}\n.dialog .permissions .row:before,\n.dialog .permissions .row:after {\n content: "";\n display: table;\n}\n.dialog .permissions .row:after {\n clear: both;\n}\n.dialog .permissions .row:before,\n.dialog .permissions .row:after {\n content: "";\n display: table;\n}\n.dialog .permissions .row:after {\n clear: both;\n}\n.dialog .permissions .row:last-child {\n border: 0;\n}\n.dialog .permissions .row.permission-updated {\n background: #5C564C;\n}\n.dialog .permissions .row .avatar img {\n float: left;\n}\n.dialog .permissions .row .aro {\n width: 48%;\n float: left;\n padding: 0 1em;\n}\n.dialog .permissions .row .aro .aro-details {\n margin-top: -0.25em;\n color: #8B8B89;\n}\n.dialog .permissions .row .aro .ellipsis {\n display: inline-block;\n max-width: 90%;\n}\n.dialog .permissions .row .aro .svg-icon svg {\n position: relative;\n top: -0.125em;\n}\n.dialog .permissions .row .tooltip-alt {\n margin-left: 0.25em;\n}\n.dialog .permissions .row .rights {\n float: left;\n margin-top: 0.5em;\n width: 27%;\n}\n.dialog .permissions .row .rights select {\n margin: 0;\n font-size: 1em;\n}\n.dialog .permissions .row .remove-item {\n color: #cacac9;\n float: right;\n margin-right: 1em;\n border: 0;\n padding: 0.625em;\n width: 1em;\n height: 1em;\n margin-top: 0.125em;\n /* hover */\n /* focus */\n /* active */\n}\n.dialog .permissions .row .remove-item:hover {\n color: #FFFFFC;\n text-decoration: none;\n}\n.dialog .permissions .row .remove-item:focus {\n color: #2894DF;\n}\n.dialog .permissions .row .remove-item:active {\n color: #2894DF;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.dialog .permissions .row .remove-item.disabled {\n cursor: default;\n color: #8B8B89;\n}\n.dialog .permissions .row.skeleton {\n height: 42px;\n}\n.dialog .permissions .row.skeleton .avatar {\n float: left;\n width: 3em;\n height: 3em;\n background: #444442;\n border-radius: 50%;\n}\n.dialog .permissions .row.skeleton .aro .aro-name {\n margin-top: 0.25em;\n width: 10em;\n height: 1em;\n background: #444442;\n border-radius: 0.214em;\n}\n.dialog .permissions .row.skeleton .aro .aro-details {\n border-radius: 0.214em;\n margin-top: 0.5em;\n width: 7em;\n height: 1em;\n background: #444442;\n}\n.dialog .permissions .row.skeleton .select.rights {\n border-radius: 0.214em;\n float: left;\n margin-top: 1em;\n width: 8em;\n height: 1.2em;\n background: #444442;\n}\n.dialog .permissions .row.skeleton .actions {\n border-radius: 50%;\n float: right;\n width: 1.5em;\n height: 1.5em;\n margin-top: 0.9em;\n margin-right: 1.5em;\n background: #444442;\n}\n/* hide icons if there is no space */\n@media all and (max-width: 480px) {\n .dialog .permissions.scroll {\n height: auto;\n margin: 0;\n }\n .dialog .permissions .row .user,\n .dialog .permissions .row .group {\n width: 45%;\n }\n}\n/* search */\nform.search {\n margin-top: 1em;\n}\nform.search legend,\nform.search label {\n display: none;\n width: 10em;\n}\nform.search input[type=search] {\n float: left;\n width: 65%;\n margin-bottom: 0;\n border-right: 1px solid #30302D;\n padding: 0.313em 0.625em;\n}\nform.search input[type=search]:focus,\nform.search input[type=search]:active {\n border-right: 1px solid #2894DF;\n}\nform.search button {\n height: 2.571em;\n /* 36px */\n width: 4.5em;\n float: left;\n margin-left: 0;\n border-radius: 0px 2px 2px 0px;\n}\nform.search button .svg-icon.icon-only svg {\n top: 0.125em;\n}\n/* remove webkit search input decoration and cancel button */\ninput[type="search"]::-webkit-search-decoration,\ninput[type="search"]::-webkit-search-cancel-button {\n display: none;\n}\n/* rescale on small screen */\n@media all and (max-width: 480px) {\n form.search {\n display: none;\n }\n}\n/*\n \tCopy secret component\n \t\tThis is what is used to copy a secret in the clipboard\n*/\n.secret-copy {\n overflow: visible;\n display: table-cell;\n vertical-align: middle;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.secret-copy:before,\n.secret-copy:after {\n content: "";\n display: table;\n}\n.secret-copy:after {\n clear: both;\n}\n.secret-copy:before,\n.secret-copy:after {\n content: "";\n display: table;\n}\n.secret-copy:after {\n clear: both;\n}\n.secret-copy > a {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_13___+") repeat-x left 3px;\n display: inline-block;\n width: 108px;\n height: 20px;\n float: left;\n border: 0;\n}\n.secret-copy > a:hover {\n background: transparent url("+___CSS_LOADER_URL_REPLACEMENT_14___+') repeat-x left 3px;\n}\n.secret-copy > a > span {\n display: none;\n}\n.secret-copy > pre {\n display: none;\n}\n/**\n * Sidebar\n */\n.panel.aside {\n position: absolute;\n right: 2em;\n min-width: 25em;\n width: 30%;\n bottom: 0;\n height: 100%;\n background: #3B3B39;\n box-shadow: 0px 0px 10px 0px #000;\n /* Controls */\n /** SECTIONS **/\n /** Sidebar forms **/\n}\n.panel.aside .sidebar-header {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel.aside .sidebar-header:before,\n.panel.aside .sidebar-header:after {\n content: "";\n display: table;\n}\n.panel.aside .sidebar-header:after {\n clear: both;\n}\n.panel.aside .sidebar-header:before,\n.panel.aside .sidebar-header:after {\n content: "";\n display: table;\n}\n.panel.aside .sidebar-header:after {\n clear: both;\n}\n.panel.aside .sidebar-header h3 {\n float: left;\n width: 67%;\n margin-top: 0.88em;\n padding: 0 0 0 0.6em;\n display: table-cell;\n vertical-align: middle;\n border: 0;\n}\n.panel.aside .sidebar-header h3 .title-wrapper {\n width: 100%;\n line-height: 1.2em;\n font-size: 1.2em;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .name {\n max-width: 85%;\n float: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link {\n border: 0;\n color: #cacac9;\n font-size: 0.875em;\n margin-left: 0.429em;\n vertical-align: bottom;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link:hover {\n color: #2894DF;\n}\n.panel.aside .sidebar-header h3 .title-wrapper .title-link .svg-icon {\n margin-top: 0.25em;\n}\n.panel.aside .sidebar-header h3 .subtitle {\n font-size: 0.8em;\n color: #8B8B89;\n font-weight: normal;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .sidebar-header .teaser-image {\n margin: 1em 0 1em 1em;\n float: left;\n width: 3em;\n height: 3em;\n border: 1px solid #8B8B89;\n line-height: 3em;\n text-align: center;\n border-radius: 50%;\n}\n.panel.aside .sidebar-header .teaser-image .svg-icon svg {\n width: 1.5rem;\n height: 1.5rem;\n margin-top: 0.75em;\n}\n.panel.aside .sidebar-header .teaser-image img {\n width: 3em;\n height: 3em;\n}\n.panel.aside .sidebar-header .dialog-close {\n position: absolute;\n right: 1em;\n top: 1em;\n}\n.panel.aside .sidebar-section {\n margin-top: -1px;\n border-bottom: 1px solid #0C0C0A;\n border-top: 1px solid #0C0C0A;\n font-size: 0.875em;\n background: #3B3B39;\n}\n.panel.aside .sidebar-section h4 {\n font-size: 1.125em;\n padding: 1em 1.125em;\n margin: 0;\n display: block;\n}\n.panel.aside .sidebar-section .accordion-content {\n padding: 1.25em 1.25em 1.5em 1.25em;\n background: #30302D;\n}\n.panel.aside .sidebar-section .accordion-content .section-action {\n font-size: 1.125em;\n position: absolute;\n margin-top: -3.1em;\n right: 3.25em;\n width: 1.125em;\n height: 1.125em;\n z-index: 401;\n border: 0;\n}\n.panel.aside .detailed-information li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding-bottom: 0.25em;\n}\n.panel.aside .detailed-information li:before,\n.panel.aside .detailed-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .detailed-information li:after {\n clear: both;\n}\n.panel.aside .detailed-information li:before,\n.panel.aside .detailed-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .detailed-information li:after {\n clear: both;\n}\n.panel.aside .detailed-information li span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .detailed-information li .label {\n width: 30%;\n display: inline-block;\n margin-right: 10%;\n float: left;\n height: 1.8em;\n}\n.panel.aside .detailed-information li .value {\n width: 60%;\n display: inline-block;\n float: left;\n height: 1.8em;\n}\n.panel.aside .description-content {\n white-space: pre-line;\n}\n.panel.aside .description-editor .actions {\n margin: 0.5em 0 1em 0;\n}\n.panel.aside .description-editor .actions .description-lock {\n float: left;\n}\n.panel.aside .description-editor .actions .description-lock span.tooltip.tooltip-right {\n white-space: normal;\n}\n.panel.aside .description-editor .actions .description-lock span.tooltip.tooltip-right .svg-icon {\n overflow: initial;\n}\n.panel.aside .key-information .fingerprint .value {\n height: 3.2em;\n}\n.panel.aside .key-information textarea {\n min-height: 30em;\n line-height: normal;\n margin-top: 0.8em;\n width: 100%;\n box-sizing: border-box;\n}\n.panel.aside .key-information li {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n padding-bottom: 0.25em;\n}\n.panel.aside .key-information li:before,\n.panel.aside .key-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .key-information li:after {\n clear: both;\n}\n.panel.aside .key-information li:before,\n.panel.aside .key-information li:after {\n content: "";\n display: table;\n}\n.panel.aside .key-information li:after {\n clear: both;\n}\n.panel.aside .key-information li span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.panel.aside .key-information li .label {\n width: 30%;\n display: inline-block;\n margin-right: 10%;\n float: left;\n height: 1.8em;\n}\n.panel.aside .key-information li .value {\n width: 60%;\n display: inline-block;\n float: left;\n height: 1.8em;\n}\n.panel.aside .form-content {\n margin: 0 0 0.5em 0;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.panel.aside .form-content:before,\n.panel.aside .form-content:after {\n content: "";\n display: table;\n}\n.panel.aside .form-content:after {\n clear: both;\n}\n.panel.aside .form-content:before,\n.panel.aside .form-content:after {\n content: "";\n display: table;\n}\n.panel.aside .form-content:after {\n clear: both;\n}\n.panel.aside .form-content label {\n display: none;\n}\n.panel.aside .form-content textarea {\n font-size: 1em;\n width: 100%;\n box-sizing: border-box;\n height: 5em;\n margin-top: 0;\n}\n.panel.aside .form-content .cancel,\n.panel.aside .form-content .button {\n float: right;\n margin-top: -0.25em;\n margin-right: 0;\n}\n.panel.aside .form-content .cancel {\n margin-right: 0.5em;\n}\n.panel.aside .form-content .message.notice {\n padding: 0.5em;\n margin: 0;\n font-size: 0.929em;\n /* 13px */\n background: #2894DF;\n}\n.panel.aside .form-content .message.notice span:last-child {\n display: inline-block;\n}\n/* place sidebar on top of everything when there is no space */\n@media all and (max-width: 1024px) {\n .panel.aside {\n position: absolute;\n right: 0;\n width: 100%;\n bottom: 0;\n top: 0;\n height: 100%;\n }\n}\n/*\n * Main Workspace - Table View\n */\n.tableview {\n background: #222220;\n position: relative;\n font-size: 0.9375em;\n /* 15px */\n height: 100%;\n /* header */\n /* main content */\n /* rows */\n}\n.tableview .tableview-header {\n background: #3B3B39;\n height: 2.125em;\n overflow-y: scroll;\n padding-top: 0.125em;\n}\n.tableview .tableview-header table {\n width: 100%;\n}\n.tableview .tableview-header table th.m-cell.sortable .svg-icon svg,\n.tableview .tableview-header table th.l-cell.sortable .svg-icon svg {\n margin-left: 0.55em;\n margin-top: -0.8em;\n}\n.tableview .tableview-content {\n top: 2.125em;\n bottom: 2.45em;\n padding: 0;\n position: absolute;\n width: 100%;\n border-top: 1px solid #0C0C0A;\n overflow-y: scroll;\n background: #222220;\n}\n.tableview .tableview-content table {\n width: 100%;\n}\n.tableview table {\n /* multi select and fav fix */\n}\n.tableview table a {\n border: 0;\n}\n.tableview table th,\n.tableview table td {\n text-align: left;\n padding: 0.2em 0.6em;\n /* 3px 9px */\n vertical-align: middle;\n}\n.tableview table th {\n font-weight: bold;\n}\n.tableview table td div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.tableview table .s-cell {\n width: 1em;\n max-width: 1em;\n min-width: 1em;\n}\n.tableview table .m-cell {\n width: 9em;\n max-width: 9em;\n vertical-align: middle;\n}\n.tableview table .l-cell {\n width: 14em;\n max-width: 14em;\n}\n.tableview table .xl-cell {\n width: 19em;\n max-width: 19em;\n}\n.tableview table tbody tr {\n height: 2em;\n}\n.tableview table tbody tr.selected {\n background: #0e3e60;\n}\n.tableview table tbody tr:hover {\n background: #3B3B39;\n}\n.tableview table tbody tr.selected:hover {\n background: #0e3e60;\n}\n.tableview table tbody tr.inactive {\n color: #8B8B89;\n}\n.tableview table th.cell-multiple-select,\n.tableview table td.cell-multiple-select {\n text-align: center;\n}\n.tableview table th.cell-multiple-select .input.checkbox label,\n.tableview table td.cell-multiple-select .input.checkbox label {\n display: none;\n}\n.tableview table td.password .secret {\n float: left;\n max-width: calc(100% - 1.8rem);\n}\n.tableview table td.password .password-view {\n display: none;\n position: relative;\n box-sizing: content-box;\n margin: 0 0 0 0.3rem;\n padding: 0 0.3rem 0 0.3rem;\n background: 0 0;\n border: 0;\n float: left;\n}\n.tableview table td.password .password-view.selected {\n background: #222220;\n}\n.tableview table td.password:hover .password-view {\n display: block;\n}\n@supports (-webkit-appearance:none) and (not (overflow:-webkit-marquee))\nand (not (-ms-ime-align:auto)) and (not (-moz-appearance:none)) {\n .tableview table th.cell-multiple-select .input.checkbox,\n .tableview table td.cell-multiple-select .input.checkbox {\n margin-top: 1px;\n }\n}\n/* hide secondary actions if there is no space */\n@media all and (max-width: 600px) {\n .tableview table tbody {\n background: #0e3e60;\n }\n .tableview table tbody td {\n display: block;\n }\n .tableview table tbody td.s-cell,\n .tableview table tbody td.s2-cell,\n .tableview table tbody td.m-cell,\n .tableview table tbody td.l-cell {\n max-width: 90%;\n width: 90%;\n padding: 0.5em;\n }\n .tableview table tbody td.s-cell {\n display: none;\n }\n .tableview thead {\n display: none;\n }\n .tableview .tableview-content {\n top: 0;\n border: 0;\n bottom: 0;\n }\n}\ntable.table-info,\ntable.table-info.vertical {\n border-collapse: separate;\n}\ntable.table-info td,\ntable.table-info.vertical td {\n padding: 0.625em;\n padding-right: 1.25em;\n color: #cacac9;\n}\ntable.table-info td.warning,\ntable.table-info.vertical td.warning {\n background: #FEF0BF;\n}\ntable.table-info td.error,\ntable.table-info.vertical td.error {\n background: #ffe4e4;\n}\ntable.table-info td .alt.side,\ntable.table-info.vertical td .alt.side {\n color: #cacac9;\n float: right;\n}\ntable.table-info td .alt.side:before,\ntable.table-info.vertical td .alt.side:before {\n content: "\\0028";\n /* unicode character ( */\n}\ntable.table-info td .alt.side:after,\ntable.table-info.vertical td .alt.side:after {\n content: "\\0029";\n /* unicode character ) */\n}\ntable.table-info td + td,\ntable.table-info.vertical td + td {\n color: #FFFFFC;\n padding-right: 0.625em;\n}\n/* horizontal tableview */\ntable.table-info.horizontal {\n width: 100%;\n border-collapse: collapse;\n padding: 0;\n border: 1px solid #0C0C0A;\n margin-bottom: 1em;\n}\ntable.table-info.horizontal.with-borders td,\ntable.table-info.horizontal.with-borders th {\n border-right: 1px solid #0C0C0A;\n}\ntable.table-info.horizontal td,\ntable.table-info.horizontal th {\n padding: 0.5em 0.5em 0.5em 0.75em;\n margin: 0;\n}\ntable.table-info.horizontal th {\n border-bottom: 1px solid #0C0C0A;\n}\ntable.table-info.horizontal th a {\n display: block;\n border: 0;\n}\ntable.table-info.horizontal th a.sortable .svg-icon svg {\n top: 0.15em;\n position: relative;\n margin-left: 0.5em;\n}\ntable.table-info.horizontal thead tr {\n background: #3B3B39;\n}\ntable.table-info.horizontal tbody {\n background: #222220;\n}\ntable.table-info.horizontal tbody tr:nth-child(odd) {\n background: #272725;\n}\ntable.table-info.horizontal tbody tr:hover {\n background: #3B3B39;\n}\n.table-info-pagination .pagination-limit {\n margin-top: -0.5em;\n float: left;\n}\n.table-info-pagination .pagination-limit label {\n float: left;\n font-weight: normal;\n}\n.table-info-pagination .pagination-limit select {\n float: left;\n margin: 0.35em;\n}\n.table-info-pagination .pagination-pages {\n float: right;\n}\n.table-info-pagination .pagination-pages .page-location {\n float: left;\n}\n.table-info-pagination .pagination-pages .page-buttons {\n float: right;\n}\n.table-info-pagination .pagination-pages .button {\n float: left;\n margin: -0.5em 0 0 0.75em;\n padding: 0.35em 0.75em;\n}\n/* tabs */\n.tabs {\n border-bottom: 1px solid #0C0C0A;\n width: 100%;\n}\n.tabs-nav {\n border-bottom: 1px solid #0C0C0A;\n}\n.tabs-nav li {\n display: inline;\n}\n.tabs-nav li div {\n display: inline-block;\n}\n.tabs-nav li a {\n display: inline-block;\n padding: 0.4em 1.75em;\n margin-left: 1.25em;\n font-size: 15px;\n border: 0;\n}\n.tabs-nav li a.selected {\n margin-bottom: -1px;\n border: 1px solid #0C0C0A;\n border-bottom: 1px solid #30302D;\n background: #30302D;\n border-radius: 0.214em;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n/* tab content */\n.tab-content {\n display: none;\n}\n.tab-content.selected {\n display: block;\n}\n/* tags */\n.tags-list {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.tags-list:before,\n.tags-list:after {\n content: "";\n display: table;\n}\n.tags-list:after {\n clear: both;\n}\n.tags-list:before,\n.tags-list:after {\n content: "";\n display: table;\n}\n.tags-list:after {\n clear: both;\n}\n.tags-list .tag-list-item {\n float: left;\n max-width: 95%;\n}\n.tag-editor {\n margin-bottom: 1em;\n}\n.tag-editor .message {\n font-size: 1em;\n margin-top: 0.5em;\n}\n.tag-editor .message span.svg-icon {\n display: initial;\n margin-left: -0.15em;\n padding-right: 0.15em;\n}\n.tag-editor .tag {\n padding-right: 0;\n}\n.tag-editor .tag-content {\n padding-right: 0.5em;\n padding-top: 0.25em;\n display: inline-block;\n max-width: 90%;\n}\n.tag-editor .tag-delete {\n border-left: 1px dotted #2894DF;\n margin-left: -0.25em;\n padding-left: 0.5em;\n font-size: 0.75em;\n vertical-align: 30%;\n cursor: pointer;\n}\n.tag-editor .tag:hover:after {\n border-color: #30302D;\n}\n.tag-editor .tag-editor-input-wrapper {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n min-height: 5em;\n padding: 0.5em;\n border: 1px solid #222220;\n border-top: 1px solid #30302D;\n position: relative;\n}\n.tag-editor .tag-editor-input-wrapper:before,\n.tag-editor .tag-editor-input-wrapper:after {\n content: "";\n display: table;\n}\n.tag-editor .tag-editor-input-wrapper:after {\n clear: both;\n}\n.tag-editor .tag-editor-input-wrapper:before,\n.tag-editor .tag-editor-input-wrapper:after {\n content: "";\n display: table;\n}\n.tag-editor .tag-editor-input-wrapper:after {\n clear: both;\n}\n.tag-editor .tag-editor-input-wrapper.input-focus {\n border-color: #2894DF;\n}\n.tag-editor .tag-editor-input {\n min-height: 1.5em;\n padding: 0.2em 0.4em 0 0.4em;\n box-shadow: none;\n min-width: 6em;\n max-width: 24em;\n float: left;\n word-break: break-word;\n}\n.tag-editor .autocomplete-suggestions {\n text-align: left;\n cursor: default;\n border: 1px solid #0C0C0A;\n border-top: 0;\n background: #30302D;\n box-shadow: 0px 0px 10px 0px #000;\n position: absolute;\n display: inline-flex;\n z-index: 9999;\n max-height: 120px;\n overflow: hidden;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-content.scroll {\n overflow-y: auto;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-content.scroll .name.ellipsis {\n display: block;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-suggestion.row {\n position: relative;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #FFFFFC;\n display: block;\n padding: 0.35em 0.43em;\n /* align autocomplete suggestion with tag input */\n border: 0;\n}\n.tag-editor .autocomplete-suggestions .autocomplete-suggestion.row.selected {\n background: #3B3B39;\n}\n.tags-list .tag,\n.tag-editor .tag {\n padding: 0 0.25em;\n float: left;\n position: relative;\n margin: 0 0.5em 0.5em 0;\n text-decoration: none;\n border-radius: 3px;\n max-width: 95%;\n border: 1px solid #b8d0fd;\n background: rgba(42, 156, 235, 0.1);\n color: #d4e4ff;\n}\n.tags-list .tag:active,\n.tag-editor .tag:active,\n.tags-list .tag:hover,\n.tag-editor .tag:hover {\n border: 1px solid #2A9CEB;\n background: #30302D;\n color: #2A9CEB;\n}\n/**\n * Tooltips!\n * credits: Chris Bracco http://cbracco.me/a-simple-css-tooltip/\n */\n/* Base styles for the element that has a tooltip */\n[data-tooltip],\n.tooltip {\n position: relative;\n cursor: pointer;\n}\n/* Base styles for the entire tooltip */\n[data-tooltip]:before,\n[data-tooltip]:after,\n.tooltip:before,\n.tooltip:after {\n position: absolute;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);\n transform: translate3d(0, 0, 0);\n pointer-events: none;\n text-align: center;\n}\n/* Show the entire tooltip on hover and focus */\n[data-tooltip]:hover:before,\n[data-tooltip]:hover:after,\n[data-tooltip]:focus:before,\n[data-tooltip]:focus:after,\n.tooltip:hover:before,\n.tooltip:hover:after,\n.tooltip:focus:before,\n.tooltip:focus:after,\n.always-show:before,\n.always-show:after {\n visibility: visible;\n opacity: 1;\n}\n/* Base styles for the tooltip\'s directional arrow */\n.tooltip:before,\n[data-tooltip]:before {\n z-index: 990;\n border: 6px solid transparent;\n background: transparent;\n content: "";\n}\n/* Base styles for the tooltip\'s content area */\n.tooltip:after,\n[data-tooltip]:after {\n z-index: 990;\n padding: 8px;\n width: 160px;\n background-color: #444442;\n color: #EEEEEC;\n content: attr(data-tooltip);\n font-size: 14px;\n line-height: 1.2em;\n font-weight: normal;\n text-shadow: none;\n}\n/* Directions */\n/* Top (default) */\n[data-tooltip]:before,\n[data-tooltip]:after,\n.tooltip:before,\n.tooltip:after,\n.tooltip-top:before,\n.tooltip-top:after {\n bottom: 100%;\n left: 50%;\n}\n[data-tooltip]:before,\n.tooltip:before,\n.tooltip-top:before {\n margin-left: -6px;\n margin-bottom: -12px;\n border-top-color: #444442;\n}\n/* Horizontally align top/bottom tooltips */\n[data-tooltip]:after,\n.tooltip:after,\n.tooltip-top:after {\n margin-left: -80px;\n}\n[data-tooltip]:hover:before,\n[data-tooltip]:hover:after,\n[data-tooltip]:focus:before,\n[data-tooltip]:focus:after,\n.tooltip:hover:before,\n.tooltip:hover:after,\n.tooltip:focus:before,\n.tooltip:focus:after,\n.tooltip.always-show:after,\n.tooltip.always-show:before,\n.tooltip-top.always-show:after,\n.tooltip-top.always-show:before,\n.tooltip-top:hover:before,\n.tooltip-top:hover:after,\n.tooltip-top:focus:before,\n.tooltip-top:focus:after {\n transform: translateY(-12px);\n}\n/* Left */\n.tooltip-left:before,\n.tooltip-left:after {\n right: 100%;\n bottom: 50%;\n left: auto;\n}\n.tooltip-left:before {\n margin-left: 0;\n margin-right: -12px;\n margin-bottom: 0;\n border-top-color: transparent;\n border-left-color: #222220;\n border-left-color: hsla(0, 0%, 20%, 0.9);\n}\n.tooltip-left:hover:before,\n.tooltip-left:hover:after,\n.tooltip-left.always-show:after,\n.tooltip-left.always-show:before,\n.tooltip-left:focus:before,\n.tooltip-left:focus:after {\n transform: translateX(-12px);\n}\n/* Bottom */\n.tooltip-bottom:before,\n.tooltip-bottom:after {\n top: 100%;\n bottom: auto;\n left: 50%;\n}\n.tooltip-bottom:before {\n margin-top: -12px;\n margin-bottom: 0;\n border-top-color: transparent;\n border-bottom-color: #222220;\n border-bottom-color: hsla(0, 0%, 20%, 0.9);\n}\n.tooltip-bottom:hover:before,\n.tooltip-bottom:hover:after,\n.tooltip-bottom.always-show:after,\n.tooltip-bottom.always-show:before,\n.tooltip-bottom:focus:before,\n.tooltip-bottom:focus:after {\n transform: translateY(12px);\n}\n/* Right */\n.tooltip-right:before,\n.tooltip-right:after {\n bottom: 50%;\n left: 100%;\n}\n.tooltip-right:before {\n margin-bottom: 0;\n margin-left: -12px;\n border-top-color: transparent;\n border-right-color: #222220;\n}\n.tooltip-right:hover:before,\n.tooltip-right:hover:after,\n.tooltip-right.always-show:after,\n.tooltip-right.always-show:before,\n.tooltip-right:focus:before,\n.tooltip-right:focus:after {\n transform: translateX(12px);\n}\n/* Move directional arrows down a bit for left/right tooltips */\n.tooltip-left:before,\n.tooltip-right:before {\n top: 3px;\n}\n/* Vertically center tooltip content for left/right tooltips */\n.tooltip-left:after,\n.tooltip-right:after {\n margin-left: 0;\n margin-bottom: -16px;\n}\n/* large width */\n.tooltip.large:after,\n[data-tooltip].large:after {\n width: 240px;\n}\n.tooltip-right.large:before,\n.tooltip-right.large:after,\n.tooltip-left.large:before,\n.tooltip-left.large:after {\n margin-top: 6px;\n}\n/*\n\tMore complex tooltips\n\tThat allows HTML in them\n*/\n/* Tooltip container */\n.tooltip-alt {\n cursor: pointer;\n display: inline-block;\n border-bottom: 0;\n /* Tooltip text */\n /* Ease the tooltip left when you mouse over the tooltip container */\n}\n.tooltip-alt .tooltip-text {\n position: absolute;\n visibility: hidden;\n width: 180px;\n background-color: #222220;\n color: #EEEEEC;\n padding: 0.5em 1em;\n transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);\n transform: translate3d(0, 0, 0);\n z-index: 99999;\n /* only right for now */\n}\n.tooltip-alt .tooltip-text.right {\n margin-left: 1em;\n margin-top: -1.75em;\n}\n.tooltip-alt .tooltip-text.right::after {\n content: " ";\n position: absolute;\n top: 1.125em;\n right: 100%;\n margin-top: -5px;\n border: 5px #333 solid;\n border-color: transparent #222220 transparent transparent;\n}\n.tooltip-alt:hover .tooltip-text {\n transform: translateX(12px);\n visibility: visible;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n opacity: 1;\n}\n.tooltip svg,\n.tooltip-alt svg {\n fill: #cacac9;\n top: 0.125em;\n position: relative;\n}\n/*\n * Profile user card\n */\n.user.profile {\n max-width: 16em;\n float: right;\n border: 1px solid #0C0C0A;\n margin-top: 0.5em;\n background: #3B3B39;\n overflow: hidden;\n cursor: pointer;\n border-radius: 3px;\n background: #444442;\n background-image: linear-gradient(top, #444442, #444442);\n /* fixed fluid fixed layout */\n /* user card styling */\n}\n.user.profile .more {\n background: #444442;\n background-image: linear-gradient(top, #444442, #444442);\n border-left: 1px dotted #0C0C0A;\n}\n.user.profile .left-cell,\n.user.profile .right-cell,\n.user.profile .center-cell-wrapper {\n float: left;\n height: 3.125em;\n /* 50px */\n}\n.user.profile .center-cell-wrapper {\n width: 100%;\n}\n.user.profile .center-cell {\n margin: 0 0 0 3.125em;\n overflow: hidden;\n}\n.user.profile .left-cell {\n width: 3.125em;\n margin-left: -100%;\n}\n.user.profile .right-cell {\n width: 1.6875em;\n margin-left: -1.75em;\n}\n.user.profile .picture img {\n width: 2.6em;\n padding: 0.28em 0.35em 0.35em 0.35em;\n border-radius: 50%;\n}\n.user.profile .details {\n float: left;\n font-size: 0.875em;\n padding: 0.357em 1em 0.5em 1em;\n /* 5/14/7/14px */\n}\n.user.profile .details .name,\n.user.profile .details .email {\n width: 11em;\n float: left;\n clear: both;\n text-overflow: clip;\n word-wrap: break-word;\n display: inline-block;\n line-height: normal;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.user.profile .details .name {\n font-weight: bold;\n padding-top: 0;\n}\n.user.profile .details .email {\n padding-bottom: 0;\n}\n.user.profile .more a {\n position: absolute;\n display: block;\n border: 0;\n color: #cacac9;\n}\n.user.profile .more a .svg-icon {\n margin: 16px 0 0 7px;\n display: inline-block;\n}\n.user.profile .more a .svg-icon svg {\n fill: #FFF;\n}\n.user.profile .more a:hover {\n color: #000;\n}\n.user.profile .more a:hover svg {\n fill: #8B8B89;\n}\n.user.profile .more a span:last-child {\n visibility: hidden;\n}\n.user.profile .dropdown-content {\n top: 59px;\n max-width: 16em;\n width: 100%;\n background: #3B3B39;\n}\n.user.profile .dropdown-content.visible {\n display: block;\n}\n/* hide left column when there is no space */\n@media all and (max-width: 1024px) {\n .user.profile {\n display: block;\n width: auto;\n }\n .user.profile .center-cell {\n display: none;\n }\n .user.profile .right-cell {\n display: none;\n }\n}\n.usercard-col-2 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 0 0 1em 0;\n}\n.usercard-col-2:before,\n.usercard-col-2:after {\n content: "";\n display: table;\n}\n.usercard-col-2:after {\n clear: both;\n}\n.usercard-col-2:before,\n.usercard-col-2:after {\n content: "";\n display: table;\n}\n.usercard-col-2:after {\n clear: both;\n}\n.usercard-col-2:last-of-type {\n margin-bottom: 0;\n}\n.usercard-col-2 .content-wrapper {\n float: left;\n width: 100%;\n}\n.usercard-col-2 .content-wrapper .content {\n margin-left: 36px;\n padding: 0 1em 0 1em;\n}\n.usercard-col-2 .content-wrapper .content .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.usercard-col-2 .content-wrapper .content .subinfo {\n color: #FFFFFC;\n font-size: 0.929em;\n /* 13px */\n}\n.usercard-col-2 .avatar {\n float: left;\n width: 36px;\n margin-left: -100%;\n}\n.usercard-col-2 .avatar img {\n width: 36px;\n height: 36px;\n}\n.usercard-col-2 ul.permissions-list {\n margin-top: 1em;\n font-size: 0.8em;\n}\n.usercard-col-2 ul.permissions-list li .avatar {\n margin-left: 0;\n float: left;\n width: 18px;\n}\n.usercard-col-2 ul.permissions-list li .avatar img {\n width: 18px;\n height: 18px;\n}\n.usercard-col-2 ul.permissions-list li .name {\n display: inline-block;\n padding-left: 7%;\n line-height: 18px;\n}\n.usercard-col-2 ul.permissions-list li .name.crossed {\n text-decoration: line-through;\n}\n.usercard-col-2 ul.permissions-list li .type {\n float: right;\n text-align: right;\n line-height: 18px;\n color: #606060;\n}\n.usercard-col-2 ul.permissions-list li .type span {\n background-color: white;\n font-size: 0.8em;\n color: white;\n padding: 0.1em 0.5em;\n border-radius: 0.5em;\n}\n.usercard-col-2 ul.permissions-list li .type span.created {\n background-color: #66CC00;\n}\n.usercard-col-2 ul.permissions-list li .type span.updated {\n background-color: #2A9CEB;\n}\n.usercard-col-2 ul.permissions-list li .type span.removed {\n background-color: #DB5454;\n}\n.usercard-detailed-col-2 {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 0 0 1em 0;\n padding: 0.5em 0;\n margin: 0;\n}\n.usercard-detailed-col-2:before,\n.usercard-detailed-col-2:after {\n content: "";\n display: table;\n}\n.usercard-detailed-col-2:after {\n clear: both;\n}\n.usercard-detailed-col-2:before,\n.usercard-detailed-col-2:after {\n content: "";\n display: table;\n}\n.usercard-detailed-col-2:after {\n clear: both;\n}\n.usercard-detailed-col-2:last-of-type {\n margin-bottom: 0;\n}\n.usercard-detailed-col-2 .content-wrapper {\n float: left;\n width: 100%;\n}\n.usercard-detailed-col-2 .content-wrapper .content {\n margin-left: 36px;\n padding: 0 1em 0 1em;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -o-text-overflow: ellipsis;\n -ms-text-overflow: ellipsis;\n}\n.usercard-detailed-col-2 .content-wrapper .content .subinfo {\n color: #FFFFFC;\n font-size: 0.929em;\n /* 13px */\n}\n.usercard-detailed-col-2 .avatar {\n float: left;\n width: 36px;\n margin-left: -100%;\n}\n.usercard-detailed-col-2 .avatar img {\n width: 36px;\n height: 36px;\n}\n.usercard-detailed-col-2 ul.permissions-list {\n margin-top: 1em;\n font-size: 0.8em;\n}\n.usercard-detailed-col-2 ul.permissions-list li .avatar {\n margin-left: 0;\n float: left;\n width: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .avatar img {\n width: 18px;\n height: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .name {\n display: inline-block;\n padding-left: 7%;\n line-height: 18px;\n}\n.usercard-detailed-col-2 ul.permissions-list li .name.crossed {\n text-decoration: line-through;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type {\n float: right;\n text-align: right;\n line-height: 18px;\n color: #606060;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span {\n background-color: white;\n font-size: 0.8em;\n color: white;\n padding: 0.1em 0.5em;\n border-radius: 0.5em;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.created {\n background-color: #66CC00;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.updated {\n background-color: #2A9CEB;\n}\n.usercard-detailed-col-2 ul.permissions-list li .type span.removed {\n background-color: #DB5454;\n}\n@-webkit-keyframes highlight {\n from {\n background-color: #0e3e60;\n }\n to {\n background-color: transparent;\n }\n}\n@keyframes highlight {\n from {\n background-color: #0e3e60;\n }\n to {\n background-color: transparent;\n }\n}\n.usercard-detailed-col-2.highlight {\n background-color: #0e3e60;\n -webkit-animation-delay: 2s;\n animation-delay: 2s;\n -webkit-animation-duration: 5s;\n animation-duration: 5s;\n -webkit-animation-name: highlight;\n animation-name: highlight;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name,\n.usercard-detailed-col-2 .content-wrapper .content .subinfo {\n color: #606060;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name {\n white-space: normal;\n}\n.usercard-detailed-col-2 .content-wrapper .content .name .creator {\n color: #FFFFFC;\n}\n.enter-passphrase {\n /** Passphrase input with security token **/\n}\n.enter-passphrase .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /* toggle button to preview passphrase */\n}\n.enter-passphrase .password:before,\n.enter-passphrase .password:after {\n content: "";\n display: table;\n}\n.enter-passphrase .password:after {\n clear: both;\n}\n.enter-passphrase .password:before,\n.enter-passphrase .password:after {\n content: "";\n display: table;\n}\n.enter-passphrase .password:after {\n clear: both;\n}\n.enter-passphrase .password input[type=text],\n.enter-passphrase .password input[type=password] {\n float: left;\n box-sizing: border-box;\n width: calc(100% - 4.1rem);\n}\n.enter-passphrase .password .password-view {\n width: 3em;\n float: left;\n margin-top: 0;\n margin-right: 0;\n margin-left: -0.1rem;\n height: 2.714em;\n border-radius: 0;\n padding: 0.6rem 0.8rem 0.6rem 1rem;\n background: #0C0C0A;\n border-left: 0;\n border-top: 1px solid #30302D;\n}\n.enter-passphrase .password .password-view.selected {\n background: #222220;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.enter-passphrase .password .password-view svg {\n margin-top: 3px;\n}\n.enter-passphrase .password input[type=text]:focus ~ .password-view,\n.enter-passphrase .password input[type=password]:focus ~ .password-view {\n border: 1px solid #2894DF;\n border-left: 0;\n}\n.enter-passphrase .password.with-token input[type=text],\n.enter-passphrase .password.with-token input[type=password] {\n width: calc(100% - 11rem);\n}\n.enter-passphrase .password.with-token .password-view {\n margin-right: 1rem;\n}\n.enter-passphrase .password.with-token .security-token {\n width: 4em;\n float: left;\n margin-top: 0;\n margin-right: 0;\n border-radius: 0;\n padding: 1.05rem 0;\n text-align: center;\n background: #0C0C0A;\n border: 1px solid #30302D;\n}\n.password-complexity .complexity-text {\n float: right;\n clear: right;\n width: 30%;\n font-size: 11px;\n text-align: left;\n padding-left: 0;\n}\n.password-complexity.not_available .complexity-text {\n color: #0C0C0A;\n}\n.password-complexity .progress {\n width: 100%;\n box-sizing: border-box;\n border: 1px solid #0C0C0A;\n height: 10px;\n display: block;\n clear: both;\n margin: 0.25em 0 0.5em 0;\n float: left;\n}\n.password-complexity .progress-bar {\n background: #000;\n width: 0;\n height: 6px;\n display: block;\n float: left;\n margin: 1px;\n}\n.password-complexity .progress-bar.very-weak {\n background: #000;\n width: 5%;\n}\n.password-complexity .progress-bar.weak {\n background: #D40101;\n width: 10%;\n}\n.password-complexity .progress-bar.fair {\n background: #FFBD2E;\n width: 60%;\n}\n.password-complexity .progress-bar.strong {\n background: #66CC00;\n width: 80%;\n}\n.password-complexity .progress-bar.very-strong {\n background: #009900;\n width: 99.5%;\n}\n.password-hints {\n margin: 0.5em 0 1em 0;\n}\n.password-hints li {\n font-size: 1.5rem;\n line-height: 2.4rem;\n}\n.password-hints li:before {\n content: "\\25CF";\n /* unicode character ● */\n color: #444442;\n padding-right: 0.5em;\n}\n.password-hints li.success:before {\n color: #009900;\n}\n.password-hints li.error:before {\n color: #D40101;\n}\n/* password share tab */\n.dialog .share-tab {\n /* message */\n}\n.dialog .share-tab .message {\n font-size: 0.875em;\n padding-left: 1em;\n}\n.share-password-dialog .processing-wrapper {\n background-color: #30302D;\n text-align: center;\n padding: 1em 0.5em 3em 1em;\n}\n.share-password-dialog .processing-wrapper .processing-text {\n position: relative;\n padding-left: 1.5em;\n}\n.share-password-dialog .processing-wrapper .processing-text:before {\n width: 100%;\n height: 100%;\n position: absolute;\n content: " ";\n top: 0px;\n left: 0px;\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_8___+') left center no-repeat;\n background-size: auto 75% ;\n}\n.input-password-wrapper {\n overflow: hidden;\n}\n.input-password-wrapper .message.error {\n display: block;\n clear: both;\n width: 100%;\n padding-bottom: 0.5em;\n font-size: 0.813em;\n}\n/* import password dialogs */\n.export-password-dialog .input-password-wrapper .input.password {\n width: 81%;\n}\n.export-password-dialog .input-password-wrapper .input.password input[type="text"],\n.export-password-dialog .input-password-wrapper .input.password input[type="password"] {\n width: 100%;\n text-overflow: ellipsis;\n}\n.export-password-dialog .input-password-wrapper .actions.inline {\n float: none;\n width: auto;\n}\n.export-password-dialog .input-password-wrapper .actions.inline .button {\n padding: 0.6em 0 0.4285714em 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.export-password-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.export-password-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.export-password-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n/* import password dialogs */\n.import-password-dialog .input-password-wrapper .input.password {\n width: 81%;\n}\n.import-password-dialog .input-password-wrapper .input.password input[type="text"],\n.import-password-dialog .input-password-wrapper .input.password input[type="password"] {\n width: 100%;\n text-overflow: ellipsis;\n}\n.import-password-dialog .input-password-wrapper .actions.inline {\n float: none;\n width: auto;\n}\n.import-password-dialog .input-password-wrapper .actions.inline .button {\n padding: 0.6em 0 0.4285714em 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.import-password-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.import-password-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.import-password-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.passphrase-entry.dialog {\n width: 95%;\n}\n.passphrase-entry.dialog .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.passphrase-entry.dialog .password:before,\n.passphrase-entry.dialog .password:after {\n content: "";\n display: table;\n}\n.passphrase-entry.dialog .password:after {\n clear: both;\n}\n.passphrase-entry.dialog .password:before,\n.passphrase-entry.dialog .password:after {\n content: "";\n display: table;\n}\n.passphrase-entry.dialog .password:after {\n clear: both;\n}\n.passphrase-entry.dialog .password input[type=text],\n.passphrase-entry.dialog .password input[type=password] {\n float: left;\n box-sizing: border-box;\n width: calc(90% - 5em);\n}\n.passphrase-entry.dialog .password .security-token {\n float: left;\n margin-top: 0;\n margin-left: 0;\n}\n.passphrase-entry.dialog .password .button.password-view {\n font-size: 0.975em;\n padding: 0.45em 1em;\n box-sizing: border-box;\n border-left: 0;\n float: left;\n margin-left: -1px;\n border-radius: 0;\n background: #0C0C0A;\n}\n.passphrase-entry.dialog .password .button.password-view.selected {\n background: #222220;\n}\n.passphrase-entry.dialog .password input[type=text]:focus ~ .button.password-view,\n.passphrase-entry.dialog .password input[type=password]:focus ~ .button.password-view {\n border: 1px solid #2894DF;\n border-left: 0;\n}\n.passphrase-entry.dialog .input.checkbox,\n.passphrase-entry.dialog .input.select {\n display: inline;\n}\n.passphrase-entry.dialog input[type="checkbox"] + label {\n margin-left: 0.5em;\n}\n.move-folder-dialog .folders-list-wrapper {\n border-bottom: 1px solid #0C0C0A;\n border-top: 1px solid #0C0C0A;\n}\n.move-folder-dialog .breadcrumbs {\n height: auto;\n padding-bottom: 0.625em;\n font-size: 1.2em;\n padding-top: 0.5em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.move-folder-dialog .breadcrumbs:before,\n.move-folder-dialog .breadcrumbs:after {\n content: "";\n display: table;\n}\n.move-folder-dialog .breadcrumbs:after {\n clear: both;\n}\n.move-folder-dialog .breadcrumbs:before,\n.move-folder-dialog .breadcrumbs:after {\n content: "";\n display: table;\n}\n.move-folder-dialog .breadcrumbs:after {\n clear: both;\n}\n.move-folder-dialog .breadcrumbs .button {\n float: left;\n width: 1.5em;\n padding: 0.125em 0.25em 0.25em 0.25em;\n margin-left: 0.5em;\n margin-right: 0;\n}\n.move-folder-dialog .breadcrumbs ul {\n box-sizing: border-box;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n float: left;\n width: calc(100% - 5em);\n margin-top: -0.125em;\n}\n.move-folder-dialog .folders-list {\n padding: 0;\n max-height: 19em;\n}\n.move-folder-dialog .folders-list:last-child {\n border-bottom: 0;\n}\n.move-folder-dialog .folders-list .folders-list-item {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0.75em 1.25em 0.75em 1.5em;\n border-bottom: 1px solid #0C0C0A;\n cursor: pointer;\n}\n.move-folder-dialog .folders-list .folders-list-item.disabled {\n color: #cacac9;\n background: #444442;\n cursor: default;\n}\n.move-folder-dialog .folders-list .folders-list-item.disabled .svg-icon svg {\n fill: #cacac9;\n}\n.move-folder-dialog .folders-list .folders-list-item.selected {\n background: #3B3B39;\n}\n.move-folder-dialog .folders-list .folders-list-item.selected .folder-view {\n border: 1px solid #3B3B39;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-name {\n margin-left: 0.4em;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-permission {\n color: #cacac9;\n font-size: 0.8em;\n margin-left: 0.4em;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-view {\n float: right;\n margin-top: -0.25em;\n margin-right: -0.25em;\n padding: 0.25em 0.5em;\n border: 1px solid #30302D;\n border-radius: 0.214em;\n}\n.move-folder-dialog .folders-list .folders-list-item .folder-view:hover {\n border: 1px solid #0C0C0A;\n}\n.move-folder-strategy-dialog p {\n font-size: 1em;\n padding-bottom: 0.5em;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:before,\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n content: "";\n display: table;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n clear: both;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:before,\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n content: "";\n display: table;\n}\n.move-folder-strategy-dialog .radiolist-alt .input.radio:after {\n clear: both;\n}\n.move-folder-strategy-dialog .radiolist-alt input {\n float: right;\n width: 5%;\n margin-top: 1em;\n margin-right: 0.75em;\n}\n.move-folder-strategy-dialog .radiolist-alt input:checked + label {\n border: 1px solid #2894DF;\n}\n.move-folder-strategy-dialog .radiolist-alt input:checked + label:hover {\n border: 1px solid #2894DF;\n}\n.move-folder-strategy-dialog .radiolist-alt label {\n border: 1px solid #0C0C0A;\n border-radius: 2px;\n padding: 1em;\n margin-top: -2em;\n margin-bottom: 1.5em;\n float: left;\n width: 93%;\n}\n.move-folder-strategy-dialog .radiolist-alt label:hover {\n border: 1px solid #222220;\n}\n.move-folder-strategy-dialog .radiolist-alt label .strategy-name {\n margin-top: -0.5em;\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n font-weight: bold;\n display: block;\n font-size: 1em;\n}\n.move-folder-strategy-dialog .radiolist-alt label .strategy-info {\n font-weight: normal;\n display: block;\n}\n.dialog .group .form-content.permission-edit {\n border-top: 1px solid #0C0C0A;\n margin: 0;\n}\n.edit-group-dialog .group_edit_form .form-content {\n padding-bottom: 0;\n}\n.edit-group-dialog .group_edit_form .form-content .input.text .message {\n padding-left: 0;\n}\n.edit-group-dialog .group_members {\n margin-top: -0.5em;\n}\n.edit-group-dialog .group_members .message.warning.feedback {\n margin-top: 0px;\n}\n.edit-group-dialog .group_members .message.warning.feedback span {\n display: block;\n}\n.edit-group-dialog .group_members ul.permissions {\n display: block;\n}\n.edit-group-dialog .group_members.empty ul.permissions {\n display: none;\n}\n.progress-bar-wrapper .progress-bar.big.infinite {\n width: 0;\n}\n.delete-user-dialog .intro p + p,\n.delete-group-dialog .intro p + p {\n margin-bottom: 0;\n}\n.delete-user-dialog .ownership-transfer,\n.delete-group-dialog .ownership-transfer {\n max-height: 20em;\n overflow: auto;\n background: #30302D;\n}\n.delete-user-dialog .ownership-transfer h3,\n.delete-group-dialog .ownership-transfer h3 {\n border: 0;\n padding: 0.5em 1.25em;\n margin: 0;\n background: #444442;\n}\n.delete-user-dialog .ownership-transfer li,\n.delete-group-dialog .ownership-transfer li {\n border-bottom: 1px dotted #0C0C0A;\n padding: 0.5em 1.25em;\n}\n.delete-user-dialog .ownership-transfer li select,\n.delete-group-dialog .ownership-transfer li select {\n width: 100%;\n}\n/* update avatar dialogs */\n.update-avatar-dialog .input-file-chooser-wrapper input[type="file"] {\n display: none;\n}\n.update-avatar-dialog .input-file-chooser-wrapper input[type="text"] {\n width: 60%;\n text-overflow: ellipsis;\n}\n.update-avatar-dialog .input-file-chooser-wrapper .button.primary {\n display: inline-block;\n top: -3px;\n padding: 0.6em 1.225em 0.55em 1.225em;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.ldap-test-settings-report div.directory-structure {\n border: 1px solid #8B8B89;\n padding: 0.5em 0 0.5em 0.5em;\n}\n.ldap-test-settings-report div.directory-structure > ul > li {\n margin-left: 0.5em;\n}\n.ldap-test-settings-report div.directory-structure ul {\n font-size: 0.8rem;\n list-style-type: square;\n list-style-position: inside;\n}\n.ldap-test-settings-report div.directory-structure ul li {\n margin-left: 1em;\n}\n.ldap-test-settings-report div.directory-structure ul li em {\n color: #606060;\n font-size: 0.8em;\n}\n.ldap-test-settings-report div.directory-structure ul li.user {\n font-weight: normal;\n list-style-type: circle;\n}\n.ldap-test-settings-report div.directory-structure ul li.group {\n font-weight: bold;\n}\n/*\n * Password workspace\n */\n.panel.aside .resource .detailed-information li.password .value {\n height: 1.6em;\n padding-top: 0.2em;\n}\n.panel.aside .resource .detailed-information li.password .value .secret {\n float: left;\n max-width: calc(100% - 1.8rem);\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.panel.aside .resource .detailed-information li.password .password-view {\n display: block;\n position: relative;\n box-sizing: content-box;\n margin: 0 0 0 0.3rem;\n padding: 0.05rem 0.3rem 0 0.3rem;\n background: 0 0;\n border: 0;\n float: left;\n}\n.panel.aside .resource .detailed-information li.password .password-view.selected {\n background: #222220;\n}\n/* Define state where there are no passwords, and the filter all items */\n.page.password .tableview.empty .tableview-header {\n /* No tableview-header */\n display: none;\n}\n.page.password .tableview.empty .tableview-content {\n /* No tableview-header */\n border: 0;\n top: 0;\n}\n.page.password .tableview.empty.all_items .tableview-content {\n /* Tablet version */\n /* Normal screen version */\n}\n@media all and (min-width: 780px) {\n .page.password .tableview.empty.all_items .tableview-content {\n background-position: center 60%;\n background-size: 10%;\n }\n}\n@media all and (min-width: 1024px) {\n .page.password .tableview.empty.all_items .tableview-content {\n background-position: center 80%;\n background-size: 20%;\n }\n}\n.page.password .tableview.empty .empty-content {\n text-align: center;\n margin: 2em 0.5em 0.67em 0.5em;\n padding-top: 2em;\n}\n.page.password .tableview.empty .empty-content h1 {\n font-size: 1.5em;\n}\n.page.password .tableview.empty .empty-content p {\n font-size: 1em;\n line-height: 1.5em;\n}\n@media all and (min-width: 780px) {\n .page.password .tableview.empty .empty-content h1 {\n font-size: 2.2em;\n }\n .page.password .tableview.empty .empty-content p {\n font-size: 1.2em;\n line-height: 1.8em;\n }\n}\n/* sidebar / user details in overview */\n.panel.aside .user .sidebar-header .logo img,\n.panel.aside .group .sidebar-header .logo img {\n margin: 0;\n width: 3em;\n height: 3em;\n}\n.panel.aside li.key {\n margin-bottom: 0.5em;\n}\n.panel.aside li.key a.button.copy-public-key {\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n font-size: 0.75em;\n}\n.panel.aside li textarea {\n width: 100%;\n}\n/* edit group dialog */\n.edit-group-dialog .permission-edit {\n margin-top: -1em;\n border-top: 1px solid #0C0C0A;\n}\n/* tabel view adjustments for avatar */\n.page.people .tableview-header th.cell-icon,\n.page.people .tableview-header th.cell-avatar {\n width: 45px;\n}\n.page.people .tableview-content th.cell-icon,\n.page.people .tableview-content td.cell-avatar {\n margin: 0;\n text-align: left;\n width: 45px;\n}\n.page.people .tableview-content th.cell-icon img,\n.page.people .tableview-content td.cell-avatar img {\n margin-top: 3px;\n width: 1.7em;\n height: 1.7em;\n border-radius: 50%;\n}\n/* login history icon column centerign */\n.login-history td:first-child {\n text-align: center;\n}\n/* Empty search feedback */\n.page.user .tableview.empty .tableview-header {\n /* No tableview-header */\n display: none;\n}\n.page.user .tableview.empty .tableview-content {\n border: 0;\n top: 0;\n}\n.page.user .tableview.empty .empty-content {\n text-align: center;\n margin: 3em 0.5em 0.67em 0.5em;\n}\n.page.user .tableview.empty .empty-content h1 {\n font-size: 1.5em;\n}\n.page.user .tableview.empty .empty-content p {\n font-size: 1em;\n line-height: 1.5em;\n}\n@media all and (min-width: 780px) {\n .page.user .tableview.empty .empty-content h1 {\n font-size: 2.2em;\n }\n .page.user .tableview.empty .empty-content p {\n font-size: 1.2em;\n line-height: 1.8em;\n }\n}\n.page.settings .main.panel .middle {\n overflow-y: auto;\n}\n.page.settings .profile-detailed-information {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-detailed-information:before,\n.page.settings .profile-detailed-information:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information:after {\n clear: both;\n}\n.page.settings .profile-detailed-information:before,\n.page.settings .profile-detailed-information:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar {\n float: left;\n}\n.page.settings .profile-detailed-information .avatar img {\n border: 1px solid #0C0C0A;\n padding: 0;\n width: 12.5em;\n height: 12.5em;\n margin: 0.5em 1em 0 0;\n}\n.page.settings .profile-detailed-information .avatar .edit {\n width: 12.5em;\n height: 3.125em;\n background-color: rgba(0, 0, 0, 0.7);\n border: 1px solid transparent;\n color: #EEEEEC;\n margin: -3.25em 0 2em 0;\n position: relative;\n}\n.page.settings .profile-detailed-information .avatar .edit a {\n color: #EEEEEC;\n display: block;\n height: 3.125em;\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-detailed-information .avatar .edit a:before,\n.page.settings .profile-detailed-information .avatar .edit a:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information .avatar .edit a:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar .edit a:before,\n.page.settings .profile-detailed-information .avatar .edit a:after {\n content: "";\n display: table;\n}\n.page.settings .profile-detailed-information .avatar .edit a:after {\n clear: both;\n}\n.page.settings .profile-detailed-information .avatar .edit a .svg-icon {\n float: left;\n}\n.page.settings .profile-detailed-information .avatar .edit a .svg-icon svg {\n float: left;\n fill: white;\n width: 1.6rem;\n height: 1.6rem;\n margin: 0.8em;\n}\n.page.settings .profile-detailed-information .avatar .edit a .help-text {\n float: left;\n display: block;\n font-size: 0.813em;\n margin-left: 0;\n padding: 0.5em;\n width: 9em;\n}\n.page.settings .profile-key-inspector-information .input.select.tooltip-top {\n display: inline-block;\n}\n.page.settings .key-export .actions {\n margin: 1em 0;\n}\n.page.settings .key-export .input.textarea.gpgkey textarea.fluid.code {\n height: 27em;\n}\n.page.settings .profile-passphrase .password-management-bg {\n background: transparent url('+___CSS_LOADER_URL_REPLACEMENT_15___+') center center no-repeat;\n background-size: contain;\n height: 16em;\n}\n.page.settings .profile-passphrase .input.checkbox {\n margin-bottom: 1em;\n}\n.page.settings .profile-passphrase .passphrase-help {\n margin-top: 2em;\n padding: 1.5em;\n background-color: #2894DF;\n}\n.page.settings .profile-passphrase .passphrase-help h3 {\n margin: 0;\n border-bottom: none;\n}\n.page.settings .profile-passphrase .password {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n}\n.page.settings .profile-passphrase .password:before,\n.page.settings .profile-passphrase .password:after {\n content: "";\n display: table;\n}\n.page.settings .profile-passphrase .password:after {\n clear: both;\n}\n.page.settings .profile-passphrase .password:before,\n.page.settings .profile-passphrase .password:after {\n content: "";\n display: table;\n}\n.page.settings .profile-passphrase .password:after {\n clear: both;\n}\n.page.settings .profile-passphrase .password input {\n width: calc(100% - 16rem);\n}\n.page.settings .profile-passphrase .password .input .message.error {\n clear: both;\n}\n.page.settings .profile-passphrase .password .password-view {\n width: 2em;\n height: 1.5em;\n padding: 0.44rem 0.8rem 0.5rem 0.9rem;\n}\n.page.settings .profile-passphrase .password-complexity .progress {\n width: calc(100% - 12.6rem);\n}\n.page.settings .profile-passphrase .password-hints {\n margin: 0.5em 0 1em 0;\n}\n.page.settings .profile-passphrase .password-hints li {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.page.settings .profile-choose-security-token .input-security-token {\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n /*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n zoom: 1;\n /*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n *\t`contenteditable` attribute is included anywhere else in the document.\n *\tOtherwise it causes space to appear at the top and bottom of elements\n *\tthat receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n *\t`:before` to contain the top-margins of child elements.\n */\n margin: 1em 0 1.5em 0;\n}\n.page.settings .profile-choose-security-token .input-security-token:before,\n.page.settings .profile-choose-security-token .input-security-token:after {\n content: "";\n display: table;\n}\n.page.settings .profile-choose-security-token .input-security-token:after {\n clear: both;\n}\n.page.settings .profile-choose-security-token .input-security-token:before,\n.page.settings .profile-choose-security-token .input-security-token:after {\n content: "";\n display: table;\n}\n.page.settings .profile-choose-security-token .input-security-token:after {\n clear: both;\n}\n.page.settings .profile-choose-security-token .input-security-token label {\n margin-bottom: 0.5em;\n}\n.page.settings .profile-choose-security-token .input-security-token .input.text {\n border-radius: 0.214em;\n font-size: 2rem;\n max-width: 5rem;\n float: left;\n text-align: center;\n margin-right: 1em;\n}\n.page.settings .profile-choose-security-token .input-security-token .circle-picker {\n float: left;\n}\n.page.settings .profile-choose-security-token .input-security-token .randomize-button-wrapper {\n float: left;\n text-align: center;\n clear: both;\n cursor: pointer;\n}\n.page.settings .profile-choose-security-token .input-security-token .svg-icon svg {\n height: 0.85em;\n width: 0.85em;\n}\n/* hide icons if there is no space */\n@media all and (max-width: 950px) {\n .page.settings .profile-detailed-information .avatar {\n float: none;\n }\n}\n/* table info is hard to fit because of fingerprint */\n@media (max-width: 1280px) {\n .key-info .table-info {\n font-size: 0.875em;\n }\n .key-info .table-info .select select {\n font-size: 0.929em;\n }\n}\n.themes .theme {\n float: left;\n border-radius: 2px;\n}\n.themes .theme a {\n max-width: 275px;\n display: block;\n margin: 1em;\n border: 1px solid #0C0C0A;\n padding: 1em;\n box-shadow: 0px 0px 10px 0px #000;\n border-radius: 3px;\n}\n.themes .theme a:hover {\n border: 1px solid #2A9CEB;\n}\n.themes .theme .theme-desc {\n padding-top: 1em;\n text-align: center;\n}\n.themes .theme.selected {\n font-weight: bold;\n}\n.themes .theme.selected a {\n background: #222220;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n border: 1px solid #0C0C0A;\n}\n.page.administration .workspace-main .grid {\n position: absolute;\n bottom: 0;\n top: 2.125em;\n padding: 0;\n overflow-y: scroll;\n}\n.dialog .ldap-test-settings-report .directory-list span.error {\n color: #D40101;\n}\n.dialog .ldap-test-settings-report p.directory-errors.error {\n padding: 1em 0 0 0;\n color: #D40101;\n}\n.dialog .ldap-test-settings-report .accordion-directory-structure .error {\n color: #D40101;\n}\n.dialog .ldap-test-settings-report .accordion-directory-errors textarea {\n font-family: "Courier New", Courier, monospace;\n font-size: 11px;\n overflow: auto;\n height: 220px;\n}\n',""]),module.exports=exports},1628:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/loading_dark.ea474c7f.svg"},1629:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/logo_white.cb32e694.svg"},1630:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/dot_white.f60f7331.svg"},1633:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(12),__webpack_require__(18),__webpack_require__(1);var react_router_dom__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(99),_CreateResourceFolder__WEBPACK_IMPORTED_MODULE_5__=(__webpack_require__(87),__webpack_require__(200)),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/ResourceFolder/CreateResourceFolder",component:_CreateResourceFolder__WEBPACK_IMPORTED_MODULE_5__.a};var Template=function Template(args){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_3__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_3__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_CreateResourceFolder__WEBPACK_IMPORTED_MODULE_5__.a,Object.assign({},args,routerProps))}})})};Template.displayName="Template";var Initial=Template.bind({});Initial.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <CreateResourceFolder {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},Initial.parameters)},1637:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(81),_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__),react_router_dom__WEBPACK_IMPORTED_MODULE_4__=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1),__webpack_require__(99)),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__=(__webpack_require__(87),__webpack_require__(13)),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_DeleteResourceFolder__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(266),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/ResourceFolder/DeleteResourceFolder",component:_DeleteResourceFolder__WEBPACK_IMPORTED_MODULE_8__.a};var Template=function Template(_ref){var context=_ref.context,args=_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref,["context"]);return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__.a.Provider,{value:context,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_DeleteResourceFolder__WEBPACK_IMPORTED_MODULE_8__.a,Object.assign({},args,routerProps))}})})})};Template.displayName="Template",Template.propTypes={context:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object};var Initial=Template.bind({});Initial.args={context:{folders:[{id:1,name:"My folder"}],folder:{id:1}}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DeleteResourceFolder {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1638:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(81),_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__),react_router_dom__WEBPACK_IMPORTED_MODULE_4__=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1),__webpack_require__(99)),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__=(__webpack_require__(87),__webpack_require__(13)),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_RenameResourceFolder__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(265),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/ResourceFolder/RenameResourceFolder",component:_RenameResourceFolder__WEBPACK_IMPORTED_MODULE_8__.a};var Template=function Template(_ref){var context=_ref.context,args=_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref,["context"]);return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__.a.Provider,{value:context,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_RenameResourceFolder__WEBPACK_IMPORTED_MODULE_8__.a,Object.assign({},args,routerProps))}})})})};Template.displayName="Template",Template.propTypes={context:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object};var Initial=Template.bind({});Initial.args={context:{folders:[{id:1,name:"My folder"}],folder:{id:1}}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <RenameResourceFolder {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1639:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(81),_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__),react_router_dom__WEBPACK_IMPORTED_MODULE_4__=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1),__webpack_require__(99)),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__=(__webpack_require__(87),__webpack_require__(13)),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_DeleteResourceTag__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(268),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/ResourceTag/DeleteResourceTag",component:_DeleteResourceTag__WEBPACK_IMPORTED_MODULE_8__.a};var Template=function Template(_ref){var context=_ref.context,args=_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref,["context"]);return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__.a.Provider,{value:context,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_DeleteResourceTag__WEBPACK_IMPORTED_MODULE_8__.a,Object.assign({},args,routerProps))}})})})};Template.displayName="Template",Template.propTypes={context:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object};var Initial=Template.bind({});Initial.args={context:{tagToDelete:{id:1,slug:"apache"}}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DeleteResourceTag {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1640:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(81),_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__),react_router_dom__WEBPACK_IMPORTED_MODULE_4__=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1),__webpack_require__(99)),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__=(__webpack_require__(87),__webpack_require__(13)),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_EditResourceTag__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(267),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(0);__webpack_exports__.default={title:"Passbolt/ResourceTag/EditResourceTag",component:_EditResourceTag__WEBPACK_IMPORTED_MODULE_8__.a};var Template=function Template(_ref){var context=_ref.context,args=_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref,["context"]);return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_contexts_AppContext__WEBPACK_IMPORTED_MODULE_6__.a.Provider,{value:context,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.a,{initialEntries:["/"],children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.b,{component:function component(routerProps){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_EditResourceTag__WEBPACK_IMPORTED_MODULE_8__.a,Object.assign({},args,routerProps))}})})})};Template.displayName="Template",Template.propTypes={context:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object};var Initial=Template.bind({});Initial.args={context:{tagToEdit:{id:1,slug:"apache"}}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <EditResourceTag {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1643:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(18),__webpack_require__(12);var asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator);__webpack_require__(77),__webpack_require__(20),__webpack_require__(247),__webpack_require__(29);function delay(t,v){return new Promise((function(resolve){setTimeout((function(){return resolve(v)}),t)}))}var mock_MockPort=function(){function MockPort(storage){classCallCheck_default()(this,MockPort),this.storage=storage,this.onListeners={},this.requestListeners={}}var _request;return createClass_default()(MockPort,[{key:"emit",value:function emit(name,eventObject){console.debug("PORT EMIT: ".concat(name)),console.debug(eventObject)}},{key:"on",value:function on(name){console.debug("PORT ON: ".concat(name))}},{key:"request",value:(_request=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(name){var result,listenerArguments,_args=arguments;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(console.debug("PORT REQUEST: ".concat(name)),console.debug("PORT REQUEST PARAMETERS:",Array.prototype.slice.call(_args)),!this.requestListeners[name]){_context.next=13;break}return listenerArguments=Array.prototype.slice.call(_args,1),console.debug("listenerArguments",listenerArguments),listenerArguments.push(this.storage),console.debug("listenerArguments",listenerArguments),_context.next=9,this.requestListeners[name].apply(null,listenerArguments);case 9:result=_context.sent,console.debug("response: ",result),_context.next=14;break;case 13:console.debug("The request ".concat(name," has not been mocked"));case 14:return _context.abrupt("return",delay(0,result));case 15:case"end":return _context.stop()}}),_callee,this)}))),function request(_x){return _request.apply(this,arguments)})},{key:"addEmitListener",value:function addEmitListener(name){console.debug("PORT EMIT: ".concat(name)),console.debug("PORT EMIT PARAMETERS:",Array.prototype.slice.call(arguments))}},{key:"addOnListener",value:function addOnListener(name,callback){console.debug("PORT ON: ".concat(name)),console.debug("PORT ON PARAMETERS:",callback)}},{key:"addRequestListener",value:function addRequestListener(name,callback){this.requestListeners[name]=callback}}]),MockPort}(),UserSettings=__webpack_require__(115),Settings_userSettings=__webpack_require__(116),helpers_typeof=__webpack_require__(108),typeof_default=__webpack_require__.n(helpers_typeof),getPropValue=(__webpack_require__(85),__webpack_require__(92),__webpack_require__(38),function(obj,key){return key.split(".").reduce((function(accumulator,x){return void 0===accumulator?accumulator:accumulator[x]}),obj)}),sanitizeUrl=__webpack_require__(90),SiteSettings_SiteSettings=function(){function SiteSettings(settings){classCallCheck_default()(this,SiteSettings),this.settings=settings}return createClass_default()(SiteSettings,[{key:"canIUse",value:function canIUse(name){var result=!1,configPath="passbolt.plugins.".concat(name),pluginSettings=getPropValue(this.settings,configPath)||null;if(pluginSettings&&"object"===typeof_default()(pluginSettings)){var pluginEnabled=getPropValue(pluginSettings,"enabled");void 0!==pluginEnabled&&!0!==pluginEnabled||(result=!0)}return result}},{key:"getPluginSettings",value:function getPluginSettings(name){var configPath="passbolt.plugins.".concat(name);return getPropValue(this.settings,configPath)}},{key:"getRememberMeOptions",value:function getRememberMeOptions(){return(this.getPluginSettings("rememberMe")||{}).options||{}}},{key:"hasRememberMeUntilILogoutOption",get:function get(){return void 0!==(this.getRememberMeOptions()||{})[-1]}},{key:"getServerTimezone",value:function getServerTimezone(){return getPropValue(this.settings,"passbolt.app.server_timezone")}},{key:"termsLink",get:function get(){var termsLink=getPropValue(this.settings,"passbolt.legal.terms.url");return!!termsLink&&Object(sanitizeUrl.a)(termsLink)}},{key:"privacyLink",get:function get(){var privacyLink=getPropValue(this.settings,"passbolt.legal.privacy_policy.url");return!!privacyLink&&Object(sanitizeUrl.a)(privacyLink)}},{key:"registrationPublic",get:function get(){return!0===getPropValue(this.settings,"passbolt.registration.public")}},{key:"debug",get:function get(){return!0===getPropValue(this.settings,"app.debug")}},{key:"url",get:function get(){return getPropValue(this.settings,"app.url")||""}},{key:"version",get:function get(){return getPropValue(this.settings,"app.version.number")}}]),SiteSettings}(),Settings_siteSettings={app:{version:{number:"2.13.5",name:"Stomp"},url:"http://127.0.0.1:3001",debug:1,server_timezone:"UTC",session_timeout:24,image_storage:{public_path:"img/public/"}},passbolt:{legal:{privacy_policy:{url:"https://passbolt.com/privacy"},terms:{url:"https://passbolt.com/terms"}},edition:"pro",plugins:{import:{version:"2.0.1",config:{format:["kdbx","csv"]}},export:{version:"2.0.0"},selenium_api:{version:"2.2.0"},passbolt_test_data:{version:"2.0"},license:{version:"2.0.0"},pro:{version:"2.0.0"},accountSettings:{version:"1.0.0",themes:{css:"api_main.min.css"}},rememberMe:{version:"2.0.0",options:{300:"5 minutes",900:"15 minutes",1800:"30 minutes",3600:"1 hour","-1":"until I log out"}},emailNotificationSettings:{version:"1.1.0"},emailDigest:{version:"1.0.0"},resourceTypes:{version:"1.0.0"},reports:{version:"1.0.0"},multiFactorAuthentication:{version:"1.1.0"},directorySync:{version:"1.0.0"},tags:{version:"1.0.1"},log:{version:"1.0.0"},audit_log:{version:"1.0.0"},folders:{version:"2.0.0"},previewPassword:{version:"3.0.0"}}}},DEFAULT_RESOURCE_TYPES_SLUGS=(__webpack_require__(35),__webpack_require__(170),__webpack_require__(71),{PASSWORD_STRING:"password-string",PASSWORD_AND_DESCRIPTION:"password-and-description"}),ResourceTypesSettings_ResourceTypesSettings=function(){function ResourceTypesSettings(settings,resourceTypes){classCallCheck_default()(this,ResourceTypesSettings),this.settings=settings||!1,Array.isArray(resourceTypes)?this.resourceTypes=resourceTypes:this.resourceTypes=[]}return createClass_default()(ResourceTypesSettings,[{key:"DEFAULT_RESOURCE_TYPES_SLUGS",get:function get(){return DEFAULT_RESOURCE_TYPES_SLUGS}},{key:"isLegacyResourceTypeEnabled",value:function isLegacyResourceTypeEnabled(){return this.isResourceTypeEnabled(this.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_STRING)}},{key:"isEncryptedDescriptionEnabled",value:function isEncryptedDescriptionEnabled(){return this.isResourceTypeEnabled(this.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_AND_DESCRIPTION)}},{key:"isResourceTypeEnabled",value:function isResourceTypeEnabled(slug){return!!this.areResourceTypesEnabled()&&this.resourceTypes.some((function(type){return type.slug===slug}))}},{key:"areResourceTypesEnabled",value:function areResourceTypesEnabled(){return!(!this.settings||!this.settings.canIUse("resourceTypes"))&&(!(!Array.isArray(this.resourceTypes)||!this.resourceTypes)&&this.resourceTypes.length>0)}},{key:"mustEncryptDescription",value:function mustEncryptDescription(resourceTypeId){return!(!this.areResourceTypesEnabled()||void 0===resourceTypeId)&&(!(this.isLegacyResourceTypeEnabled()||!this.isEncryptedDescriptionEnabled())||!(this.isLegacyResourceTypeEnabled()&&!this.isEncryptedDescriptionEnabled())&&this.assertResourceTypeIdHasEncryptedDescription(resourceTypeId))}},{key:"findResourceTypeIdBySlug",value:function findResourceTypeIdBySlug(slug){if(this.areResourceTypesEnabled()){var type=this.resourceTypes.find((function(type){return type.slug===slug}));return type&&type.id?type.id:void 0}}},{key:"findResourceTypeSlugById",value:function findResourceTypeSlugById(id){if(this.areResourceTypesEnabled()){var type=this.resourceTypes.find((function(type){return type.id===id}));return type&&type.slug?type.slug:void 0}}},{key:"assertResourceTypeSlugById",value:function assertResourceTypeSlugById(currentId,expectedSlug){return!(!currentId||!expectedSlug)&&this.findResourceTypeSlugById(currentId)===expectedSlug}},{key:"assertResourceTypeIdHasEncryptedDescription",value:function assertResourceTypeIdHasEncryptedDescription(resourceTypeId){return this.assertResourceTypeSlugById(resourceTypeId,this.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_AND_DESCRIPTION)}},{key:"assertResourceTypeIdIsLegacy",value:function assertResourceTypeIdIsLegacy(resourceTypeId){return this.assertResourceTypeSlugById(resourceTypeId,this.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_STRING)}}]),ResourceTypesSettings}(),ResourceTypes_resourceTypes=[{id:"669f8c64-242a-59fb-92fc-81f660975fd3",slug:"password-string",name:"Simple password",description:"The original passbolt resource type, where the secret is a non empty string.",definition:{resource:{type:"object",required:["name"],properties:{name:{type:"string",maxLength:64},username:{anyOf:[{type:"string",maxLength:64},{type:"null"}]},uri:{anyOf:[{type:"string",maxLength:1024},{type:"null"}]},description:{anyOf:[{type:"string",maxLength:1e4},{type:"null"}]}}},secret:{type:"string",maxLength:4064}},created:"2020-09-02T07:23:19+00:00",modified:"2020-09-02T07:23:19+00:00"},{id:"a28a04cd-6f53-518a-967c-9963bf9cec51",slug:"password-and-description",name:"Password with description",description:"A resource with the password and the description encrypted.",definition:{resource:{type:"object",required:["name"],properties:{name:{type:"string",maxLength:64},username:{anyOf:[{type:"string",maxLength:64},{type:"null"}]},uri:{anyOf:[{type:"string",maxLength:1024},{type:"null"}]}}},secret:{type:"object",required:["password"],properties:{password:{type:"string",maxLength:4064},description:{anyOf:[{type:"string",maxLength:1e4},{type:"null"}]}}}},created:"2020-09-02T07:23:19+00:00",modified:"2020-09-02T07:23:19+00:00"}];var mockResource={id:"8e3874ae-4b40-590b-968a-418f704b9d9a",name:"apache",username:"www-data",uri:"http://www.apache.org/",description:"Apache is the world's most used web server software.",deleted:!1,created:"2019-12-05T13:38:43+00:00",modified:"2019-12-06T13:38:43+00:00",created_by:"f848277c-5398-58f8-a82a-72397af2d450",modified_by:"f848277c-5398-58f8-a82a-72397af2d450"},EditResource=__webpack_require__(219),AppContext=(__webpack_require__(158),__webpack_require__(13)),react=__webpack_require__(1),DialogContext=__webpack_require__(41),react_router=__webpack_require__(99),inherits=(__webpack_require__(19),__webpack_require__(9)),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),i18next=__webpack_require__(690),context=__webpack_require__(157),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var MockTranslationProvider_MockTranslationProvider=function(_Component){inherits_default()(MockTranslationProvider,_Component);var _UNSAFE_componentWillMount,_super=_createSuper(MockTranslationProvider);function MockTranslationProvider(){return classCallCheck_default()(this,MockTranslationProvider),_super.apply(this,arguments)}return createClass_default()(MockTranslationProvider,[{key:"UNSAFE_componentWillMount",value:(_UNSAFE_componentWillMount=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,i18next.a.use(context.e).init({lng:"en-US",load:"currentOnly",resources:[],react:{useSuspense:!1},fallbackLng:!1,ns:["common"],defaultNS:"common",keySeparator:!1,nsSeparator:!1,debug:!1});case 2:case"end":return _context.stop()}}),_callee)}))),function UNSAFE_componentWillMount(){return _UNSAFE_componentWillMount.apply(this,arguments)})},{key:"render",value:function render(){return Object.assign({},this.props.children)}}]),MockTranslationProvider}(react.Component);MockTranslationProvider_MockTranslationProvider.propTypes={children:prop_types_default.a.any},MockTranslationProvider_MockTranslationProvider.__docgenInfo={description:"This component set up the translation process",methods:[],displayName:"MockTranslationProvider",props:{children:{type:{name:"any"},required:!1,description:""}}};var Internationalisation_MockTranslationProvider=MockTranslationProvider_MockTranslationProvider;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js"]={name:"MockTranslationProvider",docgenInfo:MockTranslationProvider_MockTranslationProvider.__docgenInfo,path:"src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js"});var jsx_runtime=__webpack_require__(0),EditResource_test_page_EditResourcePageTemplate=function EditResourcePageTemplate(appContext,props){return Object(jsx_runtime.jsx)(Internationalisation_MockTranslationProvider,{children:Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:appContext,children:Object(jsx_runtime.jsx)(DialogContext.a,{children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(EditResource.a,Object.assign({},props,routerProps))}})})})})})};EditResource_test_page_EditResourcePageTemplate.displayName="EditResourcePageTemplate";EditResource_test_page_EditResourcePageTemplate.__docgenInfo={description:"Page template for the EditResource component",methods:[],displayName:"EditResourcePageTemplate"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/EditResource/EditResource.test.page.js"]={name:"EditResourcePageTemplate",docgenInfo:EditResource_test_page_EditResourcePageTemplate.__docgenInfo,path:"src/react-extension/components/Resource/EditResource/EditResource.test.page.js"});__webpack_exports__.default={title:"Passbolt/Resource/EditResource",component:EditResource.a};var Initial=function Template(){return EditResource_test_page_EditResourcePageTemplate(function EditResource_test_data_defaultAppContext(appContext){var port=new mock_MockPort;port.addRequestListener("passbolt.secret.decrypt",(function(){return"secret-decrypted"}));var userSettings=new UserSettings.a(Settings_userSettings.a),siteSettings=new SiteSettings_SiteSettings(Settings_siteSettings),defaultAppContext={userSettings:userSettings,siteSettings:siteSettings,resourceTypesSettings:new ResourceTypesSettings_ResourceTypesSettings(siteSettings,ResourceTypes_resourceTypes),port:port,setContext:function setContext(newContext){Object.assign(this,newContext)},resources:[mockResource],passwordEditDialogProps:{id:mockResource.id}};return Object.assign(defaultAppContext,appContext||{})}(),{})}.bind({});Initial.parameters=Object.assign({storySource:{source:"() => EditResourcePageTemplate(defaultAppContext(), {})"}},Initial.parameters)},1644:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),toConsumableArray=(__webpack_require__(87),__webpack_require__(19),__webpack_require__(46)),toConsumableArray_default=__webpack_require__.n(toConsumableArray),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),Icon=(__webpack_require__(432),__webpack_require__(415),__webpack_require__(23),__webpack_require__(71),__webpack_require__(47),__webpack_require__(32),__webpack_require__(211),__webpack_require__(20),__webpack_require__(30),__webpack_require__(33),__webpack_require__(21),__webpack_require__(85),__webpack_require__(14),__webpack_require__(153),__webpack_require__(44),__webpack_require__(17)),prop_types=(__webpack_require__(170),__webpack_require__(1631),__webpack_require__(31),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),ContextualMenuContext=__webpack_require__(129),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),DialogContext=__webpack_require__(41),ContextualMenuWrapper=__webpack_require__(140),CreateResourceFolder=__webpack_require__(200),RenameResourceFolder=__webpack_require__(265),DeleteResourceFolder=__webpack_require__(266),ShareDialog=__webpack_require__(220),ResourceWorkspaceContext=(__webpack_require__(676),__webpack_require__(189),__webpack_require__(11)),DialogWrapper=__webpack_require__(58),FormSubmitButton=__webpack_require__(59),FormCancelButton=__webpack_require__(60),NotifyError=__webpack_require__(57),ActionFeedbackContext=__webpack_require__(48),slicedToArray=__webpack_require__(176),slicedToArray_default=__webpack_require__.n(slicedToArray),Trans=(__webpack_require__(77),__webpack_require__(92),__webpack_require__(38),__webpack_require__(91)),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var ExportResourcesCredentials_ExportResourcesCredentials=function(_Component){inherits_default()(ExportResourcesCredentials,_Component);var _onExportFailure,_onExportSuccess,_export2,_handleSubmit,_handleFileSelected,_handlePasswordViewToggled,_super=_createSuper(ExportResourcesCredentials);function ExportResourcesCredentials(props){var _this;return classCallCheck_default()(this,ExportResourcesCredentials),(_this=_super.call(this,props)).state=_this.defaultState,_this.bindHandlers(),_this.createReferences(),_this}return createClass_default()(ExportResourcesCredentials,[{key:"defaultState",get:function get(){return{showPassword:!1,keyFile:null,actions:{processing:!1}}}},{key:"bindHandlers",value:function bindHandlers(){this.handleSelectFile=this.handleSelectFile.bind(this),this.handleFileSelected=this.handleFileSelected.bind(this),this.handlePasswordViewToggled=this.handlePasswordViewToggled.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}},{key:"createReferences",value:function createReferences(){this.fileUploaderRef=react_default.a.createRef(),this.passwordInputRef=react_default.a.createRef()}},{key:"selectedFilename",get:function get(){return this.state.keyFile?this.state.keyFile.name:""}},{key:"isProcessing",get:function get(){return this.state.actions.processing}},{key:"areActionsAllowed",get:function get(){return!this.isProcessing}},{key:"handlePasswordViewToggled",value:(_handlePasswordViewToggled=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.setState({showPassword:!this.state.showPassword});case 2:case"end":return _context.stop()}}),_callee,this)}))),function handlePasswordViewToggled(){return _handlePasswordViewToggled.apply(this,arguments)})},{key:"handleSelectFile",value:function handleSelectFile(){this.fileUploaderRef.current.click()}},{key:"handleFileSelected",value:(_handleFileSelected=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(event){var _event$target$files,keyFile;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _event$target$files=slicedToArray_default()(event.target.files,1),keyFile=_event$target$files[0],_context2.next=3,this.setState({keyFile:keyFile});case 3:case"end":return _context2.stop()}}),_callee2,this)}))),function handleFileSelected(_x){return _handleFileSelected.apply(this,arguments)})},{key:"handleCancel",value:function handleCancel(){this.close()}},{key:"handleSubmit",value:(_handleSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(event){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return event.preventDefault(),_context3.next=3,this.setState({actions:{processing:!0}});case 3:return _context3.next=5,this.export().then(this.onExportSuccess.bind(this)).catch(this.onExportFailure.bind(this));case 5:case"end":return _context3.stop()}}),_callee3,this)}))),function handleSubmit(_x2){return _handleSubmit.apply(this,arguments)})},{key:"export",value:(_export2=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var password,keyfile,options,foldersIds,resourcesIds,exportDto;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return password=this.passwordInputRef.current.value,_context4.next=3,this.readFile();case 3:return keyfile=_context4.sent,options={credentials:{password:password,keyfile:keyfile}},foldersIds=this.props.resourceWorkspaceContext.resourcesToExport.foldersIds,resourcesIds=this.props.resourceWorkspaceContext.resourcesToExport.resourcesIds,exportDto={format:"kdbx",folders_ids:foldersIds,resources_ids:resourcesIds,options:options},_context4.next=10,this.context.port.request("passbolt.export-resources.export-to-file",exportDto);case 10:case"end":return _context4.stop()}}),_callee4,this)}))),function _export(){return _export2.apply(this,arguments)})},{key:"readFile",value:function readFile(){var _this2=this;if(this.state.keyFile){var reader=new FileReader;return new Promise((function(resolve,reject){reader.onloadend=function(event){try{var fileBase64=event.target.result.split(",")[1];resolve(fileBase64)}catch(e){reject(e)}},reader.readAsDataURL(_this2.state.keyFile)}))}}},{key:"onExportSuccess",value:(_onExportSuccess=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.next=2,this.props.resourceWorkspaceContext.onResourcesToExport({resourcesIds:null,foldersIds:null});case 2:return _context5.next=4,this.props.actionFeedbackContext.displaySuccess(this.translate("The passwords have been exported successfully"));case 4:this.close();case 5:case"end":return _context5.stop()}}),_callee5,this)}))),function onExportSuccess(){return _onExportSuccess.apply(this,arguments)})},{key:"onExportFailure",value:(_onExportFailure=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(error){var errorDialogProps;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if("UserAbortsOperationError"!==error.name){_context6.next=5;break}return _context6.next=4,this.setState({actions:{processing:!1}});case 4:return _context6.abrupt("return");case 5:return errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message},_context6.next=8,this.setState({actions:{processing:!1}});case 8:return _context6.next=10,this.context.setContext({errorDialogProps:errorDialogProps});case 10:this.props.dialogContext.open(NotifyError.a);case 11:case"end":return _context6.stop()}}),_callee6,this)}))),function onExportFailure(_x3){return _onExportFailure.apply(this,arguments)})},{key:"close",value:function close(){this.props.onClose()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)(DialogWrapper.a,{title:this.translate("Enter the password and/or key file"),className:"export-password-dialog",onClose:this.handleCancel,disabled:!this.areActionsAllowed,children:Object(jsx_runtime.jsxs)("form",{onSubmit:this.handleSubmit,children:[Object(jsx_runtime.jsxs)("div",{className:"form-content",children:[Object(jsx_runtime.jsxs)("div",{className:"input-password-wrapper",children:[Object(jsx_runtime.jsx)("label",{htmlFor:"password",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Keepass password"})}),Object(jsx_runtime.jsx)("div",{className:"input text password",children:Object(jsx_runtime.jsx)("input",{id:"password",type:this.state.showPassword?"text":"password",placeholder:this.translate("Passphrase"),ref:this.passwordInputRef,disabled:!this.areActionsAllowed})}),Object(jsx_runtime.jsx)("ul",{className:"actions inline",children:Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handlePasswordViewToggled,className:"password-view button button-icon toggle ".concat(this.state.showPassword?"selected":""," ").concat(this.areActionsAllowed?"":"disabled"),children:[Object(jsx_runtime.jsx)(Icon.a,{name:"eye-open",big:!0}),Object(jsx_runtime.jsx)("span",{className:"visually-hidden",children:"view"})]})})})]}),Object(jsx_runtime.jsx)("div",{className:"input-file-chooser-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"input text",children:[Object(jsx_runtime.jsx)("input",{type:"file",ref:this.fileUploaderRef,onChange:this.handleFileSelected}),Object(jsx_runtime.jsx)("label",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Keepass key file (optional)"})}),Object(jsx_runtime.jsx)("input",{type:"text",placeholder:this.translate("No key file selected"),disabled:!0,value:this.selectedFilename}),Object(jsx_runtime.jsxs)("a",{className:"button primary ".concat(this.areActionsAllowed?"":"disabled"),onClick:this.handleSelectFile,children:[Object(jsx_runtime.jsx)(Icon.a,{name:"upload-a"})," ",Object(jsx_runtime.jsx)(Trans.a,{children:"Choose a file"})]})]})})]}),Object(jsx_runtime.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(jsx_runtime.jsx)(FormSubmitButton.a,{disabled:!this.areActionsAllowed,processing:this.isProcessing,value:this.translate("Export")}),Object(jsx_runtime.jsx)(FormCancelButton.a,{disabled:!this.areActionsAllowed,onClick:this.handleCancel})]})]})})}}]),ExportResourcesCredentials}(react.Component);ExportResourcesCredentials_ExportResourcesCredentials.contextType=AppContext.a,ExportResourcesCredentials_ExportResourcesCredentials.propTypes={onClose:prop_types_default.a.func,actionFeedbackContext:prop_types_default.a.any,dialogContext:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func},ExportResourcesCredentials_ExportResourcesCredentials.__docgenInfo={description:"This component is the second step of the export dialog when the file to import is KDB(X) file",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"},{name:"bindHandlers",docblock:"Bind component handlers",modifiers:[],params:[],returns:null,description:"Bind component handlers"},{name:"createReferences",docblock:"Create elements references",modifiers:[],params:[],returns:null,description:"Create elements references"},{name:"selectedFilename",docblock:"Returns the selected file's name",modifiers:["get"],params:[],returns:null,description:"Returns the selected file's name"},{name:"isProcessing",docblock:"Return trus if the export is processing",modifiers:["get"],params:[],returns:null,description:"Return trus if the export is processing"},{name:"areActionsAllowed",docblock:"Returns true if actions can be performed",modifiers:["get"],params:[],returns:null,description:"Returns true if actions can be performed"},{name:"handlePasswordViewToggled",docblock:"Handle the password view mode toggle",modifiers:["async"],params:[],returns:null,description:"Handle the password view mode toggle"},{name:"handleSelectFile",docblock:"Handle the selection of a file by file explorer",modifiers:[],params:[],returns:null,description:"Handle the selection of a file by file explorer"},{name:"handleFileSelected",docblock:"Handle the event that a file has been selected\n@param event A dom event",modifiers:["async"],params:[{name:"event",description:"A dom event",type:null,optional:!1}],returns:null,description:"Handle the event that a file has been selected"},{name:"handleCancel",docblock:"Handle the cancellation of the import",modifiers:[],params:[],returns:null,description:"Handle the cancellation of the import"},{name:"handleSubmit",docblock:"Handle the export submit event\n@param event A dom event",modifiers:["async"],params:[{name:"event",description:"A dom event",type:null,optional:!1}],returns:null,description:"Handle the export submit event"},{name:"export",docblock:"Export the resource file",modifiers:["async"],params:[],returns:null,description:"Export the resource file"},{name:"readFile",docblock:"Read the selected file and returns its content in a base 64\n@return {Promise<string>}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"string"}]}},description:"Read the selected file and returns its content in a base 64"},{name:"onExportSuccess",docblock:"Whenever the export has been performed succesfully",modifiers:["async"],params:[],returns:null,description:"Whenever the export has been performed succesfully"},{name:"onExportFailure",docblock:"Whenever the export has been performed with failure",modifiers:["async"],params:[{name:"error"}],returns:null,description:"Whenever the export has been performed with failure"},{name:"close",docblock:"Close the dialog",modifiers:[],params:[],returns:null,description:"Close the dialog"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"ExportResourcesCredentials",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var ExportResources_ExportResourcesCredentials=Object(ResourceWorkspaceContext.c)(Object(ActionFeedbackContext.a)(Object(DialogContext.b)(Object(withTranslation.a)("common")(ExportResourcesCredentials_ExportResourcesCredentials))));function ExportResources_createSuper(Derived){var hasNativeReflectConstruct=function ExportResources_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js"]={name:"ExportResourcesCredentials",docgenInfo:ExportResourcesCredentials_ExportResourcesCredentials.__docgenInfo,path:"src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js"});var ExportResources_ExportResources=function(_React$Component){inherits_default()(ExportResources,_React$Component);var _onExportFailure,_onExportSuccess,_export2,_handleClose,_handleCancel,_handleExport,_super=ExportResources_createSuper(ExportResources);function ExportResources(props){var _this;return classCallCheck_default()(this,ExportResources),(_this=_super.call(this,props)).state=_this.defaultState,_this.bindHandlers(),_this}return createClass_default()(ExportResources,[{key:"defaultState",get:function get(){return{selectedExportFormat:this.exportFormats[0].value,actions:{processing:!1}}}},{key:"bindHandlers",value:function bindHandlers(){this.handleExport=this.handleExport.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleClose=this.handleClose.bind(this),this.handleExportFormatSelected=this.handleExportFormatSelected.bind(this)}},{key:"componentDidMount",value:function componentDidMount(){this.findContentToExport()}},{key:"findContentToExport",value:function findContentToExport(){var foldersIds=this.findFoldersIdsToExport(),resourcesIds=this.findResourcesIdsToExport(foldersIds);this.props.resourceWorkspaceContext.onResourcesToExport({resourcesIds:resourcesIds,foldersIds:foldersIds})}},{key:"isProcessing",get:function get(){return this.state.actions.processing}},{key:"areActionsAllowed",get:function get(){return!this.isProcessing}},{key:"hasFoldersToExport",get:function get(){var foldersIds=this.props.resourceWorkspaceContext.resourcesToExport.foldersIds;return foldersIds&&foldersIds.length>0}},{key:"hasResourcesToExport",get:function get(){var resourcesIds=this.props.resourceWorkspaceContext.resourcesToExport.resourcesIds;return resourcesIds&&resourcesIds.length>0}},{key:"findFoldersIdsToExport",value:function findFoldersIdsToExport(){var _this2=this;if(!this.hasFoldersToExport)return[];var foldersIds=this.props.resourceWorkspaceContext.resourcesToExport.foldersIds,childrenFoldersIds=foldersIds.map((function(folderId){return _this2.getChildrenFoldersIds(folderId)})).flat();return[].concat(toConsumableArray_default()(foldersIds),toConsumableArray_default()(childrenFoldersIds))}},{key:"getChildrenFoldersIds",value:function getChildrenFoldersIds(folderId){var _this3=this,childrenFoldersIds=this.context.folders.filter((function(folder){return folder.folder_parent_id===folderId})).map((function(folder){return folder.id}));if(0!==childrenFoldersIds.length){var grandChildrenFolders=childrenFoldersIds.map((function(childFolderId){return _this3.getChildrenFoldersIds(childFolderId)}));return[].concat(toConsumableArray_default()(childrenFoldersIds),toConsumableArray_default()(grandChildrenFolders.flat()))}return[]}},{key:"findResourcesIdsToExport",value:function findResourcesIdsToExport(foldersIds){var resourcesIdsOfFoldersIds=this.getResourcesIdsOfFoldersToExport(foldersIds),resourcesIdsToExport=this.props.resourceWorkspaceContext.resourcesToExport.resourcesIds||[];return Array.from(new Set([].concat(toConsumableArray_default()(resourcesIdsToExport),toConsumableArray_default()(resourcesIdsOfFoldersIds))))}},{key:"getResourcesIdsOfFoldersToExport",value:function getResourcesIdsOfFoldersToExport(foldersIds){return this.context.resources.filter((function belongsToFolder(resource){return foldersIds.some((function(folderId){return folderId===resource.folder_parent_id}))})).map((function(resource){return resource.id}))}},{key:"exportFormats",get:function get(){return[{label:"kdbx (keepass / keepassx)",value:"kdbx"},{label:"csv (keepass / keepassx)",value:"csv-kdbx"},{label:"csv (lastpass)",value:"csv-lastpass"},{label:"csv (1password)",value:"csv-1password"}]}},{key:"handleExportFormatSelected",value:function handleExportFormatSelected(event){this.selectFormat(event.target.value)}},{key:"handleExport",value:(_handleExport=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(event){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),!this.state.selectedExportFormat.startsWith("csv")){_context.next=8;break}return _context.next=5,this.setState({actions:{processing:!0}});case 5:this.export().then(this.onExportSuccess.bind(this)).catch(this.onExportFailure.bind(this)),_context.next=11;break;case 8:return _context.next=10,this.props.dialogContext.open(ExportResources_ExportResourcesCredentials);case 10:this.close();case 11:case"end":return _context.stop()}}),_callee,this)}))),function handleExport(_x){return _handleExport.apply(this,arguments)})},{key:"handleCancel",value:(_handleCancel=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.props.resourceWorkspaceContext.onResourcesToExport({resourcesIds:null,foldersIds:null});case 2:this.close();case 3:case"end":return _context2.stop()}}),_callee2,this)}))),function handleCancel(){return _handleCancel.apply(this,arguments)})},{key:"handleClose",value:(_handleClose=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.props.resourceWorkspaceContext.onResourcesToExport({resourcesIds:null,foldersIds:null});case 2:this.close();case 3:case"end":return _context3.stop()}}),_callee3,this)}))),function handleClose(){return _handleClose.apply(this,arguments)})},{key:"selectFormat",value:function selectFormat(selectedExportFormat){this.setState({selectedExportFormat:selectedExportFormat})}},{key:"export",value:(_export2=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var foldersIds,resourcesIds,exportDto;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return foldersIds=this.props.resourceWorkspaceContext.resourcesToExport.foldersIds,resourcesIds=this.props.resourceWorkspaceContext.resourcesToExport.resourcesIds,exportDto={format:this.state.selectedExportFormat,folders_ids:foldersIds,resources_ids:resourcesIds},_context4.next=5,this.context.port.request("passbolt.export-resources.export-to-file",exportDto);case 5:case"end":return _context4.stop()}}),_callee4,this)}))),function _export(){return _export2.apply(this,arguments)})},{key:"onExportSuccess",value:(_onExportSuccess=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.next=2,this.setState({actions:{processing:!1}});case 2:return _context5.next=4,this.props.actionFeedbackContext.displaySuccess(this.translate("The passwords have been exported successfully"));case 4:return _context5.next=6,this.props.resourceWorkspaceContext.onResourcesToExport({resourcesIds:null,foldersIds:null});case 6:this.close();case 7:case"end":return _context5.stop()}}),_callee5,this)}))),function onExportSuccess(){return _onExportSuccess.apply(this,arguments)})},{key:"onExportFailure",value:(_onExportFailure=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(error){var errorDialogProps;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if("UserAbortsOperationError"!==error.name){_context6.next=5;break}return _context6.next=4,this.setState({actions:{processing:!1}});case 4:return _context6.abrupt("return");case 5:return errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message},_context6.next=8,this.setState({actions:{processing:!1}});case 8:return _context6.next=10,this.context.setContext({errorDialogProps:errorDialogProps});case 10:this.props.dialogContext.open(NotifyError.a);case 11:case"end":return _context6.stop()}}),_callee6,this)}))),function onExportFailure(_x2){return _onExportFailure.apply(this,arguments)})},{key:"close",value:function close(){this.props.onClose()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var foldersIdsToExport=this.hasFoldersToExport&&this.props.resourceWorkspaceContext.resourcesToExport.foldersIds,resourcesIdsToExport=this.hasResourcesToExport&&this.props.resourceWorkspaceContext.resourcesToExport.resourcesIds;return Object(jsx_runtime.jsx)(DialogWrapper.a,{title:this.translate("Export passwords"),onClose:this.handleClose,disabled:!this.areActionsAllowed,children:Object(jsx_runtime.jsxs)("form",{onSubmit:this.handleExport,noValidate:!0,children:[Object(jsx_runtime.jsxs)("div",{className:"form-content",children:[Object(jsx_runtime.jsxs)("div",{className:"input text required",children:[Object(jsx_runtime.jsx)("label",{htmlFor:"export-format",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Choose the export format (csv and kdbx are supported)"})}),Object(jsx_runtime.jsx)("select",{id:"export-format",value:this.state.selectedExportFormat,onChange:this.handleExportFormatSelected,disabled:!this.areActionsAllowed,children:this.exportFormats.map((function(format){return Object(jsx_runtime.jsx)("option",{value:format.value,children:format.label},format.value)}))})]}),Object(jsx_runtime.jsxs)("p",{children:[this.hasFoldersToExport&&!this.hasResourcesToExport&&Object(jsx_runtime.jsx)("em",{children:this.translate("{{count}} folder is going to be exported.",{count:foldersIdsToExport.length})}),this.hasFoldersToExport&&this.hasResourcesToExport&&Object(jsx_runtime.jsx)("em",{children:this.translate("{{resources}} and {{folders}} are going to be exported.",{resources:this.translate("{{count}} password",{count:resourcesIdsToExport.length}),folders:this.translate("{{count}} folder",{count:foldersIdsToExport.length})})}),!this.hasFoldersToExport&&this.hasResourcesToExport&&Object(jsx_runtime.jsx)("em",{children:this.translate("{{count}} password is going to be exported.",{count:resourcesIdsToExport.length})})]})]}),Object(jsx_runtime.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(jsx_runtime.jsx)(FormSubmitButton.a,{disabled:!this.areActionsAllowed,processing:this.isProcessing,value:this.translate("Export")}),Object(jsx_runtime.jsx)(FormCancelButton.a,{disabled:!this.areActionsAllowed,processing:this.isProcessing,onClick:this.handleCancel})]})]})})}}]),ExportResources}(react_default.a.Component);ExportResources_ExportResources.contextType=AppContext.a,ExportResources_ExportResources.propTypes={onClose:prop_types_default.a.func,resourceWorkspaceContext:prop_types_default.a.object,dialogContext:prop_types_default.a.object,actionFeedbackContext:prop_types_default.a.object,t:prop_types_default.a.func},ExportResources_ExportResources.__docgenInfo={description:"This component allows to export resources to a specified format",methods:[{name:"defaultState",docblock:"Returns the component default state",modifiers:["get"],params:[],returns:null,description:"Returns the component default state"},{name:"bindHandlers",docblock:"Bind the component handlers",modifiers:[],params:[],returns:null,description:"Bind the component handlers"},{name:"findContentToExport",docblock:"Find the content to export and update the context.",modifiers:[],params:[],returns:null,description:"Find the content to export and update the context."},{name:"isProcessing",docblock:"Return trus if the export is processing",modifiers:["get"],params:[],returns:null,description:"Return trus if the export is processing"},{name:"areActionsAllowed",docblock:"Returns true if actions can be performed",modifiers:["get"],params:[],returns:null,description:"Returns true if actions can be performed"},{name:"hasFoldersToExport",docblock:"Returns true if some folders must be exported",modifiers:["get"],params:[],returns:null,description:"Returns true if some folders must be exported"},{name:"hasResourcesToExport",docblock:"Returns true if some resources must be exported",modifiers:["get"],params:[],returns:null,description:"Returns true if some resources must be exported"},{name:"findFoldersIdsToExport",docblock:"Returns the folders identifiers to export",modifiers:[],params:[],returns:null,description:"Returns the folders identifiers to export"},{name:"getChildrenFoldersIds",docblock:"Returns the children folders ids of the given folder\n@param folderId A folder identifier",modifiers:[],params:[{name:"folderId",description:"A folder identifier",type:null,optional:!1}],returns:null,description:"Returns the children folders ids of the given folder"},{name:"findResourcesIdsToExport",docblock:"Returns the resources identifiers to export\n@param {array} foldersIds The list of folders to crawl for resources",modifiers:[],params:[{name:"foldersIds",description:"The list of folders to crawl for resources",type:{name:"array"},optional:!1}],returns:null,description:"Returns the resources identifiers to export"},{name:"getResourcesIdsOfFoldersToExport",docblock:"Returns the resources ids of the folders to export\n@param foldersIds The folders to look into",modifiers:[],params:[{name:"foldersIds",description:"The folders to look into",type:null,optional:!1}],returns:null,description:"Returns the resources ids of the folders to export"},{name:"exportFormats",docblock:"Returns the list of available export formats",modifiers:["get"],params:[],returns:null,description:"Returns the list of available export formats"},{name:"handleExportFormatSelected",docblock:"Whenever the user selects an export format\n@param event Select DOM event",modifiers:[],params:[{name:"event",description:"Select DOM event",type:null,optional:!1}],returns:null,description:"Whenever the user selects an export format"},{name:"handleExport",docblock:"Whenever the export is submitted\n@param event A dom event",modifiers:["async"],params:[{name:"event",description:"A dom event",type:null,optional:!1}],returns:null,description:"Whenever the export is submitted"},{name:"handleCancel",docblock:"Whenever the export is cancelled",modifiers:["async"],params:[],returns:null,description:"Whenever the export is cancelled"},{name:"handleClose",docblock:"Whenever the dialog is closed",modifiers:["async"],params:[],returns:null,description:"Whenever the dialog is closed"},{name:"selectFormat",docblock:"Select the export format\n@param selectedExportFormat The selected export format",modifiers:[],params:[{name:"selectedExportFormat",description:"The selected export format",type:null,optional:!1}],returns:null,description:"Select the export format"},{name:"export",docblock:"Export the selected resources or folders",modifiers:["async"],params:[],returns:null,description:"Export the selected resources or folders"},{name:"onExportSuccess",docblock:"Whenever the export has been performed successfully",modifiers:["async"],params:[],returns:null,description:"Whenever the export has been performed successfully"},{name:"onExportFailure",docblock:"Whenever the export has been performed with failure",modifiers:["async"],params:[{name:"error"}],returns:null,description:"Whenever the export has been performed with failure"},{name:"close",docblock:"Close the dialog",modifiers:[],params:[],returns:null,description:"Close the dialog"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"ExportResources",props:{onClose:{type:{name:"func"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},dialogContext:{type:{name:"object"},required:!1,description:""},actionFeedbackContext:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_ExportResources_ExportResources=Object(ActionFeedbackContext.a)(Object(DialogContext.b)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(ExportResources_ExportResources))));function FilterResourcesByFoldersItemContextualMenu_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByFoldersItemContextualMenu_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/ExportResources/ExportResources.js"]={name:"ExportResources",docgenInfo:ExportResources_ExportResources.__docgenInfo,path:"src/react-extension/components/Resource/ExportResources/ExportResources.js"});var FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu=function(_React$Component){inherits_default()(FilterResourcesByFoldersItemContextualMenu,_React$Component);var _export2,_handleExportFolderItemClickEvent,_super=FilterResourcesByFoldersItemContextualMenu_createSuper(FilterResourcesByFoldersItemContextualMenu);function FilterResourcesByFoldersItemContextualMenu(props){var _this;return classCallCheck_default()(this,FilterResourcesByFoldersItemContextualMenu),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByFoldersItemContextualMenu,[{key:"getDefaultState",value:function getDefaultState(){return{}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleCreateFolderItemClickEvent=this.handleCreateFolderItemClickEvent.bind(this),this.handleRenameFolderItemClickEvent=this.handleRenameFolderItemClickEvent.bind(this),this.handleShareFolderItemClickEvent=this.handleShareFolderItemClickEvent.bind(this),this.handleExportFolderItemClickEvent=this.handleExportFolderItemClickEvent.bind(this),this.handleDeleteFolderItemClickEvent=this.handleDeleteFolderItemClickEvent.bind(this)}},{key:"handleCreateFolderItemClickEvent",value:function handleCreateFolderItemClickEvent(){this.canUpdate()&&(this.context.setContext({folderCreateDialogProps:{folderParentId:this.props.folder.id}}),this.props.dialogContext.open(CreateResourceFolder.a),this.props.hide())}},{key:"handleRenameFolderItemClickEvent",value:function handleRenameFolderItemClickEvent(){this.canUpdate()&&(this.context.setContext({folder:this.props.folder}),this.props.dialogContext.open(RenameResourceFolder.a),this.props.hide())}},{key:"handleShareFolderItemClickEvent",value:function handleShareFolderItemClickEvent(){if(this.canShare()){var foldersIds=[this.props.folder.id];this.context.setContext({shareDialogProps:{foldersIds:foldersIds}}),this.props.dialogContext.open(ShareDialog.a),this.props.hide()}}},{key:"handleExportFolderItemClickEvent",value:(_handleExportFolderItemClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!this.canExport()){_context.next=4;break}return _context.next=3,this.export();case 3:this.props.hide();case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleExportFolderItemClickEvent(){return _handleExportFolderItemClickEvent.apply(this,arguments)})},{key:"handleDeleteFolderItemClickEvent",value:function handleDeleteFolderItemClickEvent(){this.canUpdate()&&(this.context.setContext({folder:this.props.folder}),this.props.dialogContext.open(DeleteResourceFolder.a),this.props.hide())}},{key:"canUpdate",value:function canUpdate(){return this.props.folder.permission.type>=7}},{key:"canShare",value:function canShare(){return 15===this.props.folder.permission.type}},{key:"canExport",value:function canExport(){return this.context.siteSettings.settings.passbolt.plugins.export}},{key:"export",value:(_export2=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){var foldersIds;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return foldersIds=[this.props.folder.id],_context2.next=3,this.props.resourceWorkspaceContext.onResourcesToExport({foldersIds:foldersIds});case 3:return _context2.next=5,this.props.dialogContext.open(Resource_ExportResources_ExportResources);case 5:case"end":return _context2.stop()}}),_callee2,this)}))),function _export(){return _export2.apply(this,arguments)})},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var canUpdate=this.canUpdate(),canShare=this.canShare(),canExport=this.canExport();return Object(jsx_runtime.jsxs)(ContextualMenuWrapper.a,{hide:this.props.hide,left:this.props.left,top:this.props.top,children:[Object(jsx_runtime.jsx)("li",{className:"ready closed ".concat(canUpdate?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleCreateFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Create folder"})})})})})})},"option-create-folder"),Object(jsx_runtime.jsx)("li",{className:"separator-after ready closed ".concat(canUpdate?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleRenameFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Rename"})})})})})})},"option-rename-folder"),Object(jsx_runtime.jsx)("li",{className:"ready closed ".concat(canShare?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleShareFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Share"})})})})})})},"option-share-folder"),Object(jsx_runtime.jsx)("li",{className:"ready closed ".concat(canExport?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{className:"".concat(this.canExport()?"":"disabled"),onClick:this.handleExportFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Export"})})})})})})},"option-export-folder"),Object(jsx_runtime.jsx)("li",{className:"ready closed ".concat(canUpdate?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleDeleteFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Delete"})})})})})})},"option-delete-folder")]})}}]),FilterResourcesByFoldersItemContextualMenu}(react_default.a.Component);FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu.contextType=AppContext.a,FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu.propTypes={folder:prop_types_default.a.object,hide:prop_types_default.a.func,left:prop_types_default.a.number,top:prop_types_default.a.number,dialogContext:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleCreateFolderItemClickEvent",docblock:"Handle click on the create a folder menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the create a folder menu option."},{name:"handleRenameFolderItemClickEvent",docblock:"Handle click on the rename a folder menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the rename a folder menu option."},{name:"handleShareFolderItemClickEvent",docblock:"Handle click on the share a folder menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the share a folder menu option."},{name:"handleExportFolderItemClickEvent",docblock:"Handle click on the export a folder menu option.",modifiers:["async"],params:[],returns:null,description:"Handle click on the export a folder menu option."},{name:"handleDeleteFolderItemClickEvent",docblock:"Handle click on the delete a folder menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the delete a folder menu option."},{name:"canUpdate",docblock:"Check if the user can update the folder.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can update the folder."},{name:"canShare",docblock:"Check if the user can share the folder.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can share the folder."},{name:"canExport",docblock:"Returns true if the user can export",modifiers:[],params:[],returns:null,description:"Returns true if the user can export"},{name:"export",docblock:"Exports the selected resources",modifiers:["async"],params:[],returns:null,description:"Exports the selected resources"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByFoldersItemContextualMenu",props:{folder:{type:{name:"object"},required:!1,description:""},hide:{type:{name:"func"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var FilterResourcesByFolders_FilterResourcesByFoldersItemContextualMenu=Object(ResourceWorkspaceContext.c)(Object(DialogContext.b)(Object(withTranslation.a)("common")(FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu)));function FilterResourcesByFoldersItem_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByFoldersItem_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js"]={name:"FilterResourcesByFoldersItemContextualMenu",docgenInfo:FilterResourcesByFoldersItemContextualMenu_FilterResourcesByFoldersItemContextualMenu.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItemContextualMenu.js"});var FilterResourcesByFoldersItem_FilterResourcesByFoldersItem=function(_React$Component){inherits_default()(FilterResourcesByFoldersItem,_React$Component);var _super=FilterResourcesByFoldersItem_createSuper(FilterResourcesByFoldersItem);function FilterResourcesByFoldersItem(props){var _this;return classCallCheck_default()(this,FilterResourcesByFoldersItem),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByFoldersItem,[{key:"getDefaultState",value:function getDefaultState(){return{draggingOver:!1,draggingOverSince:null,open:!1}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleClickLeftCaretEvent=this.handleClickLeftCaretEvent.bind(this),this.handleContextualMenuEvent=this.handleContextualMenuEvent.bind(this),this.handleDragEndEvent=this.handleDragEndEvent.bind(this),this.handleDragLeaveEvent=this.handleDragLeaveEvent.bind(this),this.handleDragOverEvent=this.handleDragOverEvent.bind(this),this.handleDragStartEvent=this.handleDragStartEvent.bind(this),this.handleDropEvent=this.handleDropEvent.bind(this),this.handleMoreClickEvent=this.handleMoreClickEvent.bind(this),this.handleSelectEvent=this.handleSelectEvent.bind(this)}},{key:"handleDragStartEvent",value:function handleDragStartEvent(event){this.setState({dragging:!0}),this.props.onDragStart(event,this.props.folder)}},{key:"handleClickLeftCaretEvent",value:function handleClickLeftCaretEvent(event){event.stopPropagation(),this.isOpen()?this.props.onClose(event,this.props.folder):this.props.onOpen(event,this.props.folder)}},{key:"isOpen",value:function isOpen(){var _this2=this;return this.props.openFolders.some((function(folder){return folder.id===_this2.props.folder.id}))}},{key:"handleContextualMenuEvent",value:function handleContextualMenuEvent(event){event.preventDefault();var top=event.pageY,left=event.pageX,contextualMenuProps={folder:this.props.folder,left:left,top:top};this.props.contextualMenuContext.show(FilterResourcesByFolders_FilterResourcesByFoldersItemContextualMenu,contextualMenuProps)}},{key:"handleMoreClickEvent",value:function handleMoreClickEvent(event){var top=event.pageY,left=event.pageX,contextualMenuProps={folder:this.props.folder,left:left,top:top};this.props.contextualMenuContext.show(FilterResourcesByFolders_FilterResourcesByFoldersItemContextualMenu,contextualMenuProps)}},{key:"handleDragEndEvent",value:function handleDragEndEvent(event){this.props.onDragEnd(event)}},{key:"handleDragLeaveEvent",value:function handleDragLeaveEvent(){this.setState({draggingOver:!1,draggingOverSince:null})}},{key:"handleDragOverEvent",value:function handleDragOverEvent(event){if(event.preventDefault(),this.state.draggingOver)this.openOnLongDragOver(event);else{var draggingOverSince=Date.now();this.setState({draggingOver:!0,draggingOverSince:draggingOverSince})}}},{key:"openOnLongDragOver",value:function openOnLongDragOver(event){this.isOpen()||Date.now()-this.state.draggingOverSince>2e3&&this.props.onOpen(event,this.props.folder)}},{key:"handleDropEvent",value:function handleDropEvent(event){var _this3=this;this.props.draggedItems.folders.some((function(item){return item.id===_this3.props.folder.id}))||this.props.onDrop(event,this.props.folder);this.setState({draggingOver:!1})}},{key:"handleSelectEvent",value:function handleSelectEvent(event){this.props.onSelect(event,this.props.folder)}},{key:"isSelected",value:function isSelected(){var filter=this.props.resourceWorkspaceContext.filter;return!(filter.type!==ResourceWorkspaceContext.a.FOLDER||!filter.payload.folder)&&filter.payload.folder.id===this.props.folder.id}},{key:"isChildOfAny",value:function isChildOfAny(folder,folders){for(var i in folders)if(folder.folder_parent_id===folders[i].id)return!0;if(null!==folder.folder_parent_id){var folderParent=this.props.context.folders.find((function(item){return item.id===folder.folder_parent_id}));return this.isChildOfAny(folderParent,folders)}return!1}},{key:"canDragItem",value:function canDragItem(item){if(null===item.folder_parent_id)return!0;var folderParent=this.props.context.folders.find((function(folder){return folder.id===item.folder_parent_id}));return!!folderParent.personal||!(folderParent.permission.type<7)&&!(item.permission.type<7)}},{key:"canDragItems",value:function canDragItems(draggedItems){var _this4=this,canDragItems=draggedItems.folders.reduce((function(accumulator,folder){return accumulator&&_this4.canDragItem(folder)}),!0);return canDragItems&=draggedItems.resources.reduce((function(accumulator,folder){return accumulator&&_this4.canDragItem(folder)}),!0),canDragItems}},{key:"getItemsListLowestPermission",value:function getItemsListLowestPermission(items){return items.reduce((function(accumulator,draggedItem){return draggedItem.permission.type<accumulator&&(accumulator=draggedItem.permission.type),accumulator}),15)}},{key:"getDraggedItemsLowestPermission",value:function getDraggedItemsLowestPermission(){var draggedFoldersLowestPermission=this.getItemsListLowestPermission(this.props.draggedItems.folders),draggedResourcesLowestPermission=this.getItemsListLowestPermission(this.props.draggedItems.resources);return draggedFoldersLowestPermission<draggedResourcesLowestPermission?draggedFoldersLowestPermission:draggedResourcesLowestPermission}},{key:"canDropInto",value:function canDropInto(){if(!this.props.isDragging)return!1;if(this.props.folder.permission.type<7)return!1;if(!this.props.folder.personal&&this.getDraggedItemsLowestPermission()<7)return!1;if(this.isChildOfAny(this.props.folder,this.props.draggedItems.folders))return!1;for(var i in this.props.draggedItems.folders)if(this.props.folder.id===this.props.draggedItems.folders[i].id)return!1;return!0}},{key:"isDragged",value:function isDragged(){for(var i in this.props.draggedItems.folders)if(this.props.folder.id===this.props.draggedItems.folders[i].id)return!0;return!1}},{key:"isDisabled",value:function isDisabled(){if(this.props.isDragging){if(!this.canDragItems(this.props.draggedItems))return!0;if(!this.canDropInto())return!0}return!1}},{key:"sortFoldersAlphabetically",value:function sortFoldersAlphabetically(folders){folders.sort((function(folderA,folderB){var folderAName=folderA.name.toLowerCase(),folderBName=folderB.name.toLowerCase();return folderAName<folderBName?-1:folderAName>folderBName?1:0}))}},{key:"getChildrenFolders",value:function getChildrenFolders(){var _this5=this,folders=this.props.context.folders.filter((function(folder){return folder.folder_parent_id===_this5.props.folder.id}));return this.sortFoldersAlphabetically(folders),folders}},{key:"render",value:function render(){var _this6=this,folderChildren=this.getChildrenFolders(),hasChildren=folderChildren.length>0,isSelected=this.isSelected(),isDisabled=this.isDisabled(),isDragged=this.isDragged(),isOpen=this.isOpen(),canDropInto=this.canDropInto(),showDropFocus=this.state.draggingOver&&canDropInto;return Object(jsx_runtime.jsxs)("li",{className:"".concat(isOpen?"opened":"closed"," folder-item"),children:[Object(jsx_runtime.jsxs)("div",{className:"row ".concat(isSelected?"selected":""," ").concat(isDisabled?"disabled":""," ").concat(isDragged?"is-dragged":""," ").concat(showDropFocus?"drop-focus":""),draggable:"true",onDrop:this.handleDropEvent,onDragOver:this.handleDragOverEvent,onDragEnd:this.handleDragEndEvent,onDragLeave:this.handleDragLeaveEvent,onDragStart:this.handleDragStartEvent,children:[Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",onClick:this.handleSelectEvent,onContextMenu:this.handleContextualMenuEvent,children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsxs)("a",{role:"button",children:[hasChildren&&Object(jsx_runtime.jsxs)(react.Fragment,{children:[isOpen&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down",onClick:this.handleClickLeftCaretEvent}),!isOpen&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right",onClick:this.handleClickLeftCaretEvent})]}),!this.props.folder.personal&&Object(jsx_runtime.jsx)(Icon.a,{name:"folder-shared"}),this.props.folder.personal&&Object(jsx_runtime.jsx)(Icon.a,{name:"folder"}),Object(jsx_runtime.jsx)("span",{title:this.props.folder.name,className:"folder-name",children:this.props.folder.name})]})})}),!isDragged&&Object(jsx_runtime.jsx)("div",{className:"right-cell more-ctrl",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleMoreClickEvent,children:Object(jsx_runtime.jsx)(Icon.a,{name:"plus-square"})})})]}),hasChildren&&isOpen&&Object(jsx_runtime.jsx)("ul",{className:"folders-tree",children:folderChildren.map((function(folder){return Object(jsx_runtime.jsx)(DecoratedFoldersTreeItem,{draggedItems:_this6.props.draggedItems,folder:folder,folders:_this6.props.context.folders,isDragging:_this6.props.isDragging,onClose:_this6.props.onClose,onDragEnd:_this6.props.onDragEnd,onDragStart:_this6.props.onDragStart,onDrop:_this6.props.onDrop,onOpen:_this6.props.onOpen,onSelect:_this6.props.onSelect,openFolders:_this6.props.openFolders},"folders-tree-".concat(folder.id))}))})]})}}]),FilterResourcesByFoldersItem}(react_default.a.Component);FilterResourcesByFoldersItem_FilterResourcesByFoldersItem.propTypes={context:prop_types_default.a.any,contextualMenuContext:prop_types_default.a.any,draggedItems:prop_types_default.a.object,folder:prop_types_default.a.object,isDragging:prop_types_default.a.bool,onClose:prop_types_default.a.func,onDragEnd:prop_types_default.a.func,onDragStart:prop_types_default.a.func,onDrop:prop_types_default.a.func,onOpen:prop_types_default.a.func,onSelect:prop_types_default.a.func,openFolders:prop_types_default.a.array,resourceWorkspaceContext:prop_types_default.a.any};var DecoratedFoldersTreeItem=Object(AppContext.b)(Object(ContextualMenuContext.a)(Object(ResourceWorkspaceContext.c)(FilterResourcesByFoldersItem_FilterResourcesByFoldersItem)));FilterResourcesByFoldersItem_FilterResourcesByFoldersItem.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"bindCallbacks",docblock:null,modifiers:[],params:[],returns:null},{name:"handleDragStartEvent",docblock:"Handle when the user start dragging the folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user start dragging the folder."},{name:"handleClickLeftCaretEvent",docblock:"Handle when the user click on the folder left caret.\nFold/Unfold the folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user click on the folder left caret.\nFold/Unfold the folder."},{name:"isOpen",docblock:"Check if the current folder is open.\n@return {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the current folder is open."},{name:"handleContextualMenuEvent",docblock:"Handle when the user right clicks on a folder name.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user right clicks on a folder name."},{name:"handleMoreClickEvent",docblock:"Handle when the user clicks on the more button.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user clicks on the more button."},{name:"handleDragEndEvent",docblock:"Handle when the user stop dragging content.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user stop dragging content."},{name:"handleDragLeaveEvent",docblock:"Handle when the user is not dragging over this component anymore.",modifiers:[],params:[],returns:null,description:"Handle when the user is not dragging over this component anymore."},{name:"handleDragOverEvent",docblock:"Handle when the user is dragging over this component.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user is dragging over this component."},{name:"openOnLongDragOver",docblock:"Open the folder when the user is dragging for a defined period on a folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Open the folder when the user is dragging for a defined period on a folder."},{name:"handleDropEvent",docblock:"Handle when the user drop content on this component.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user drop content on this component."},{name:"handleSelectEvent",docblock:"Handle when this component is selected.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when this component is selected."},{name:"isSelected",docblock:"Check if the folder associated to this component is selected.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the folder associated to this component is selected."},{name:"isChildOfAny",docblock:"Check if a folder is a child of any of the given folders.\n@param {object} folder The target folder to check if it is a child\n@param {array} folders The folders to check for",modifiers:[],params:[{name:"folder",description:"The target folder to check if it is a child",type:{name:"object"},optional:!1},{name:"folders",description:"The folders to check for",type:{name:"array"},optional:!1}],returns:null,description:"Check if a folder is a child of any of the given folders."},{name:"canDragItem",docblock:"Check if the user can drag an item.\n@param {object} item The target item",modifiers:[],params:[{name:"item",description:"The target item",type:{name:"object"},optional:!1}],returns:null,description:"Check if the user can drag an item."},{name:"canDragItems",docblock:"Check if the user can drag all the items they are currently dragging.\n@param {array} draggedItems The list of dragged items.\n@returns {boolean}",modifiers:[],params:[{name:"draggedItems",description:"The list of dragged items.",type:{name:"array"},optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can drag all the items they are currently dragging."},{name:"getItemsListLowestPermission",docblock:"Get the lowest permissions among a list of items\n@param {array} items The list of items to look into\n@returns {int}",modifiers:[],params:[{name:"items",description:"The list of items to look into",type:{name:"array"},optional:!1}],returns:{description:null,type:{name:"int"}},description:"Get the lowest permissions among a list of items"},{name:"getDraggedItemsLowestPermission",docblock:"Get the lowest permissions among all the dragged items.\n@returns {int}",modifiers:[],params:[],returns:{description:null,type:{name:"int"}},description:"Get the lowest permissions among all the dragged items."},{name:"canDropInto",docblock:"Check if the user can drop the content they are dragging into the folder associated to this component.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can drop the content they are dragging into the folder associated to this component."},{name:"isDragged",docblock:"Check if the component is dragged.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the component is dragged."},{name:"isDisabled",docblock:"Check if the component is disabled.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the component is disabled."},{name:"sortFoldersAlphabetically",docblock:"Sort a list of folders alphabetically\n@param {array} folders The list of folders to sort",modifiers:[],params:[{name:"folders",description:"The list of folders to sort",type:{name:"array"},optional:!1}],returns:null,description:"Sort a list of folders alphabetically"},{name:"getChildrenFolders",docblock:"Get the folder children.\n@returns {array}",modifiers:[],params:[],returns:{description:null,type:{name:"array"}},description:"Get the folder children."}],displayName:"FilterResourcesByFoldersItem",props:{context:{type:{name:"any"},required:!1,description:""},contextualMenuContext:{type:{name:"any"},required:!1,description:""},draggedItems:{type:{name:"object"},required:!1,description:""},folder:{type:{name:"object"},required:!1,description:""},isDragging:{type:{name:"bool"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""},onDragEnd:{type:{name:"func"},required:!1,description:""},onDragStart:{type:{name:"func"},required:!1,description:""},onDrop:{type:{name:"func"},required:!1,description:""},onOpen:{type:{name:"func"},required:!1,description:""},onSelect:{type:{name:"func"},required:!1,description:""},openFolders:{type:{name:"array"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""}}};var FilterResourcesByFolders_FilterResourcesByFoldersItem=Object(AppContext.b)(Object(ContextualMenuContext.a)(Object(ResourceWorkspaceContext.c)(FilterResourcesByFoldersItem_FilterResourcesByFoldersItem)));function FilterResourcesByRootFolderContextualMenu_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByRootFolderContextualMenu_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js"]={name:"FilterResourcesByFoldersItem",docgenInfo:FilterResourcesByFoldersItem_FilterResourcesByFoldersItem.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFoldersItem.js"});var FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu=function(_React$Component){inherits_default()(FilterResourcesByRootFolderContextualMenu,_React$Component);var _export2,_handleExportFolderItemClickEvent,_super=FilterResourcesByRootFolderContextualMenu_createSuper(FilterResourcesByRootFolderContextualMenu);function FilterResourcesByRootFolderContextualMenu(props){var _this;return classCallCheck_default()(this,FilterResourcesByRootFolderContextualMenu),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.createRefs(),_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByRootFolderContextualMenu,[{key:"getDefaultState",value:function getDefaultState(){return{}}},{key:"createRefs",value:function createRefs(){this.elementRef=react_default.a.createRef()}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleCreateFolderItemClickEvent=this.handleCreateFolderItemClickEvent.bind(this),this.handleExportFolderItemClickEvent=this.handleExportFolderItemClickEvent.bind(this)}},{key:"handleCreateFolderItemClickEvent",value:function handleCreateFolderItemClickEvent(){this.context.setContext({folderCreateDialogProps:{folderParentId:null}}),this.props.dialogContext.open(CreateResourceFolder.a),this.props.hide()}},{key:"handleExportFolderItemClickEvent",value:(_handleExportFolderItemClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.export();case 2:this.props.hide();case 3:case"end":return _context.stop()}}),_callee,this)}))),function handleExportFolderItemClickEvent(){return _handleExportFolderItemClickEvent.apply(this,arguments)})},{key:"canExport",value:function canExport(){return this.context.siteSettings.settings.passbolt.plugins.export}},{key:"export",value:(_export2=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){var foldersIds,resourcesIds;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return foldersIds=this.context.folders.filter((function(folder){return null===folder.folder_parent_id})).map((function(folder){return folder.id})),resourcesIds=this.context.resources.filter((function(resource){return null===resource.folder_parent_id})).map((function(resource){return resource.id})),_context2.next=4,this.props.resourceWorkspaceContext.onResourcesToExport({foldersIds:foldersIds,resourcesIds:resourcesIds});case 4:return _context2.next=6,this.props.dialogContext.open(Resource_ExportResources_ExportResources);case 6:case"end":return _context2.stop()}}),_callee2,this)}))),function _export(){return _export2.apply(this,arguments)})},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)(ContextualMenuWrapper.a,{hide:this.props.hide,left:this.props.left,top:this.props.top,children:[Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleCreateFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Create folder"})})})})})})},"option-create-folder"),Object(jsx_runtime.jsx)("li",{className:"ready closed ".concat(this.canExport()?"":"disabled"),children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleExportFolderItemClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Export all"})})})})})})},"option-export-folder")]})}}]),FilterResourcesByRootFolderContextualMenu}(react_default.a.Component);FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu.contextType=AppContext.a,FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu.propTypes={hide:prop_types_default.a.func,left:prop_types_default.a.number,top:prop_types_default.a.number,dialogContext:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"createRefs",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleCreateFolderItemClickEvent",docblock:"Handle click on the create a folder menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the create a folder menu option."},{name:"handleExportFolderItemClickEvent",docblock:"Handle click on the export a folder menu option.",modifiers:["async"],params:[],returns:null,description:"Handle click on the export a folder menu option."},{name:"canExport",docblock:"Returns true if the user can export",modifiers:[],params:[],returns:null,description:"Returns true if the user can export"},{name:"export",docblock:"Exports the selected resources",modifiers:["async"],params:[],returns:null,description:"Exports the selected resources"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByRootFolderContextualMenu",props:{hide:{type:{name:"func"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var FilterResourcesByFolders_FilterResourcesByRootFolderContextualMenu=Object(ResourceWorkspaceContext.c)(Object(DialogContext.b)(Object(withTranslation.a)("common")(FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js"]={name:"FilterResourcesByRootFolderContextualMenu",docgenInfo:FilterResourcesByRootFolderContextualMenu_FilterResourcesByRootFolderContextualMenu.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByRootFolderContextualMenu.js"});var react_list=__webpack_require__(330),react_list_default=__webpack_require__.n(react_list);function FilterResourcesByFolders_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByFolders_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByFolders_FilterResourcesByFolders=function(_React$Component){inherits_default()(FilterResourcesByFolders,_React$Component);var _super=FilterResourcesByFolders_createSuper(FilterResourcesByFolders);function FilterResourcesByFolders(props){var _this;return classCallCheck_default()(this,FilterResourcesByFolders),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.createElementsRef(),_this.bindCallbacks(),_this.initEventHandlers(),_this}return createClass_default()(FilterResourcesByFolders,[{key:"getDefaultState",value:function getDefaultState(){return{draggedItems:{folders:[],resources:[]},dragging:!1,draggingOverTitle:!1,open:!0,openFolders:[]}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(prevProps,prevState){return prevState!==this.state||prevProps.context.folders!==this.props.context.folders}},{key:"createElementsRef",value:function createElementsRef(){this.dragFeedbackElementRef=react_default.a.createRef(),this.listElement=react_default.a.createRef(),this.titleElementRef=react_default.a.createRef()}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleClickOnTitle=this.handleClickOnTitle.bind(this),this.handleTitleContextualMenuEvent=this.handleTitleContextualMenuEvent.bind(this),this.handleDragLeaveTitle=this.handleDragLeaveTitle.bind(this),this.handleDragOverTitle=this.handleDragOverTitle.bind(this),this.handleDropTitle=this.handleDropTitle.bind(this),this.handleFolderCloseEvent=this.handleFolderCloseEvent.bind(this),this.handleFolderDragEndEvent=this.handleFolderDragEndEvent.bind(this),this.handleFolderDragStartEvent=this.handleFolderDragStartEvent.bind(this),this.handleFolderDropEvent=this.handleFolderDropEvent.bind(this),this.handleFolderOpenEvent=this.handleFolderOpenEvent.bind(this),this.handleFolderSelectEvent=this.handleFolderSelectEvent.bind(this),this.handleGridDragStartEvent=this.handleGridDragStartEvent.bind(this),this.handleGridDragEndEvent=this.handleGridDragEndEvent.bind(this),this.handleTitleMoreClickEvent=this.handleTitleMoreClickEvent.bind(this)}},{key:"initEventHandlers",value:function initEventHandlers(){document.addEventListener("passbolt.resources.drag-start",this.handleGridDragStartEvent),document.addEventListener("passbolt.resources.drag-end",this.handleGridDragEndEvent)}},{key:"handleFolderCloseEvent",value:function handleFolderCloseEvent(event,folder){var openFolders=this.state.openFolders,folderIndex=openFolders.findIndex((function(item){return item.id===folder.id}));openFolders.splice(folderIndex,1),this.setState({openFolders:openFolders})}},{key:"handleFolderOpenEvent",value:function handleFolderOpenEvent(event,folder){var openFolders=this.state.openFolders;openFolders.push(folder),this.setState({openFolders:openFolders})}},{key:"handleClickOnTitle",value:function handleClickOnTitle(){var filter={type:ResourceWorkspaceContext.a.ROOT_FOLDER};this.props.history.push("/app/passwords",{filter:filter})}},{key:"handleTitleContextualMenuEvent",value:function handleTitleContextualMenuEvent(event){event.preventDefault();var top=event.pageY,contextualMenuProps={left:event.pageX,top:top};this.props.contextualMenuContext.show(FilterResourcesByFolders_FilterResourcesByRootFolderContextualMenu,contextualMenuProps)}},{key:"handleTitleMoreClickEvent",value:function handleTitleMoreClickEvent(event){var top=event.pageY,contextualMenuProps={left:event.pageX,top:top};this.props.contextualMenuContext.show(FilterResourcesByFolders_FilterResourcesByRootFolderContextualMenu,contextualMenuProps)}},{key:"handleSectionTitleClickCaretEvent",value:function handleSectionTitleClickCaretEvent(){var open=!this.state.open;this.setState({open:open})}},{key:"handleDragLeaveTitle",value:function handleDragLeaveTitle(){this.setState({draggingOverTitle:!1})}},{key:"handleDragOverTitle",value:function handleDragOverTitle(event){if(event.preventDefault(),!this.state.draggingOverTitle){this.setState({draggingOverTitle:!0})}}},{key:"handleDropTitle",value:function handleDropTitle(){var folders=this.state.draggedItems.folders.map((function(folder){return folder.id})),resources=this.state.draggedItems.resources.map((function(resource){return resource.id}));this.props.context.port.request("passbolt.folders.open-move-confirmation-dialog",{folders:folders,resources:resources,folderParentId:null});this.setState({draggingOverTitle:!1})}},{key:"handleFolderDragEndEvent",value:function handleFolderDragEndEvent(){this.setState({draggedItems:{folders:[],resources:[]},dragging:!1})}},{key:"handleFolderDragStartEvent",value:function handleFolderDragStartEvent(event,folder){var draggedItems={folders:[folder],resources:[]};this.setState({dragging:!0,draggedItems:draggedItems}),event.dataTransfer.setDragImage(this.dragFeedbackElementRef.current,5,5)}},{key:"handleFolderDropEvent",value:function handleFolderDropEvent(event,dropFolder){var folders=this.state.draggedItems.folders.map((function(folder){return folder.id})),resources=this.state.draggedItems.resources.map((function(resource){return resource.id})),folderParentId=dropFolder.id;this.props.context.port.request("passbolt.folders.open-move-confirmation-dialog",{folders:folders,resources:resources,folderParentId:folderParentId})}},{key:"handleFolderSelectEvent",value:function handleFolderSelectEvent(event,folder){this.props.history.push("/app/folders/view/".concat(folder.id))}},{key:"handleGridDragStartEvent",value:function handleGridDragStartEvent(event){var draggedItems=event.detail;this.setState({draggedItems:draggedItems})}},{key:"handleGridDragEndEvent",value:function handleGridDragEndEvent(){this.setState({draggedItems:{folders:[],resources:[]}})}},{key:"openFolderTree",value:function openFolderTree(folder){var _this2=this,openFolders=this.state.openFolders;if(folder.folder_parent_id){var folderParent=this.props.context.folders.folders.find((function(item){return item.id===folder.folder_parent_id}));folderParent&&(openFolders=Array.from(new Set([].concat(toConsumableArray_default()(openFolders),[folderParent]))),this.setState({openFolders:openFolders},(function(){return _this2.openFolderTree(folderParent)})))}}},{key:"canDragItem",value:function canDragItem(item){if(null===item.folder_parent_id)return!0;var folderParent=this.props.context.folders.find((function(folder){return folder.id===item.folder_parent_id}));return!!folderParent.personal||!(folderParent.permission.type<7)&&!(item.permission.type<7)}},{key:"canDragItems",value:function canDragItems(draggedItems){var _this3=this,canDragItems=draggedItems.folders.reduce((function(accumulator,folder){return accumulator&&_this3.canDragItem(folder)}),!0),draggedResources=draggedItems.resources;return canDragItems=canDragItems&&draggedResources.reduce((function(accumulator,folder){return accumulator&&_this3.canDragItem(folder)}),!0),canDragItems}},{key:"renderDragFeedback",value:function renderDragFeedback(){var error=!1,dragFeedbackText="";this.state.dragging&&(this.canDragItems(this.state.draggedItems)?dragFeedbackText=this.state.draggedItems.folders[0].name:(error=!0,dragFeedbackText=this.translate("You are not allowed to move this content")));return Object(jsx_runtime.jsxs)("div",{ref:this.dragFeedbackElementRef,className:"drag-and-drop",children:[error&&Object(jsx_runtime.jsx)(Icon.a,{name:"ban"}),Object(jsx_runtime.jsx)("span",{className:"message ".concat(error?"not-allowed":""),children:dragFeedbackText})]})}},{key:"isLoading",value:function isLoading(){return null===this.props.context.folders}},{key:"sortFoldersAlphabetically",value:function sortFoldersAlphabetically(folders){folders.sort((function(folderA,folderB){var folderAName=folderA.name.toLowerCase(),folderBName=folderB.name.toLowerCase();return folderAName<folderBName?-1:folderAName>folderBName?1:0}))}},{key:"getRootFolders",value:function getRootFolders(){var folders=[];return this.isLoading()||(folders=this.props.context.folders.filter((function(folder){return null===folder.folder_parent_id}))),this.sortFoldersAlphabetically(folders),folders}},{key:"isDragging",value:function isDragging(){return 0!==this.state.draggedItems.folders.length||0!==this.state.draggedItems.resources.length}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this4=this,isLoading=this.isLoading(),isOpen=this.state.open,rootFolders=this.getRootFolders(),isDragging=this.isDragging(),showDropFocus=!1,disabled=!1;isDragging&&this.state.draggingOverTitle&&(this.canDragItems(this.state.draggedItems)?showDropFocus=!0:disabled=!0);return Object(jsx_runtime.jsxs)("div",{className:"folders navigation first accordion",children:[this.renderDragFeedback(),Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("div",{className:"".concat(isOpen?"open":"close"," node root"),children:Object(jsx_runtime.jsx)("div",{className:"row title ".concat(showDropFocus?"drop-focus":""," ").concat(disabled?"disabled":""),children:Object(jsx_runtime.jsxs)("div",{className:"main-cell-wrapper",children:[Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("h3",{children:Object(jsx_runtime.jsxs)("span",{className:"folders-label",children:[!isLoading&&Object(jsx_runtime.jsxs)(react.Fragment,{children:[isOpen&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down",onClick:function onClick(){return _this4.handleSectionTitleClickCaretEvent()}}),!isOpen&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right",onClick:function onClick(){return _this4.handleSectionTitleClickCaretEvent()}})]}),Object(jsx_runtime.jsx)("span",{ref:this.titleElementRef,onDragOver:this.handleDragOverTitle,onDragLeave:this.handleDragLeaveTitle,onDrop:this.handleDropTitle,onClick:this.handleClickOnTitle,onContextMenu:this.handleTitleContextualMenuEvent,children:Object(jsx_runtime.jsx)(Trans.a,{children:"Folders"})})]})})}),Object(jsx_runtime.jsx)("div",{className:"right-cell more-ctrl",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleTitleMoreClickEvent,children:Object(jsx_runtime.jsx)(Icon.a,{name:"plus-square"})})})]})})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[!isLoading&&isOpen&&0===rootFolders.length&&Object(jsx_runtime.jsx)("em",{className:"empty-content",children:"empty"}),!isLoading&&isOpen&&rootFolders.length>0&&Object(jsx_runtime.jsx)(react_list_default.a,{itemRenderer:function itemRenderer(index,key){return Object(jsx_runtime.jsx)(FilterResourcesByFolders_FilterResourcesByFoldersItem,{draggedItems:_this4.state.draggedItems,folder:rootFolders[index],folders:_this4.props.context.folders,isDragging:isDragging,onClose:_this4.handleFolderCloseEvent,onDragEnd:_this4.handleFolderDragEndEvent,onDragStart:_this4.handleFolderDragStartEvent,onDrop:_this4.handleFolderDropEvent,onOpen:_this4.handleFolderOpenEvent,openFolders:_this4.state.openFolders,onSelect:_this4.handleFolderSelectEvent,selectedFolder:_this4.selectedFolder},key)},itemsRenderer:function itemsRenderer(items,ref){return Object(jsx_runtime.jsx)("ul",{ref:ref,className:"folders-tree",children:items})},length:rootFolders.length,pageSize:20,minSize:20,type:"uniform",useStaticSize:!0,ref:this.listElement})]})]})}}]),FilterResourcesByFolders}(react_default.a.Component);FilterResourcesByFolders_FilterResourcesByFolders.propTypes={context:prop_types_default.a.any,contextualMenuContext:prop_types_default.a.any,history:prop_types_default.a.object,resourceWorkspaceContext:prop_types_default.a.object,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByFolders_FilterResourcesByFolders.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"createElementsRef",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"initEventHandlers",docblock:"Initialize event listeners.",modifiers:[],params:[],returns:null,description:"Initialize event listeners."},{name:"handleFolderCloseEvent",docblock:"Handle when the user opens a folder.\n@param {ReactEvent} event The event\n@param {Object} folder The open folder",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"folder",description:"The open folder",type:{name:"Object"},optional:!1}],returns:null,description:"Handle when the user opens a folder."},{name:"handleFolderOpenEvent",docblock:"Handle when the user opens a folder.\n@param {ReactEvent} event The event\n@param {Object} folder The open folder",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"folder",description:"The open folder",type:{name:"Object"},optional:!1}],returns:null,description:"Handle when the user opens a folder."},{name:"handleClickOnTitle",docblock:"Handle when the user clicks on the section title.",modifiers:[],params:[],returns:null,description:"Handle when the user clicks on the section title."},{name:"handleTitleContextualMenuEvent",docblock:"Handle when the user requests to display the contextual menu on the root folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user requests to display the contextual menu on the root folder."},{name:"handleTitleMoreClickEvent",docblock:"Handle when the user requests to display the contextual menu on the root folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user requests to display the contextual menu on the root folder."},{name:"handleSectionTitleClickCaretEvent",docblock:"Handle fold/unfold root folder icon click",modifiers:[],params:[],returns:null,description:"Handle fold/unfold root folder icon click"},{name:"handleDragLeaveTitle",docblock:"Handle when the user is not dragging over the section title anymore.",modifiers:[],params:[],returns:null,description:"Handle when the user is not dragging over the section title anymore."},{name:"handleDragOverTitle",docblock:"Handle when the user is dragging content over the section title.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user is dragging content over the section title."},{name:"handleDropTitle",docblock:"Handle when the user is dropping the content on the title.",modifiers:[],params:[],returns:null,description:"Handle when the user is dropping the content on the title."},{name:"handleFolderDragEndEvent",docblock:"Handle when the user stop dragging a folder.",modifiers:[],params:[],returns:null,description:"Handle when the user stop dragging a folder."},{name:"handleFolderDragStartEvent",docblock:"Handle when the user starts dragging a folder.\n@param {ReactEvent} event The event\n@param {Object} folder The dragged folder",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"folder",description:"The dragged folder",type:{name:"Object"},optional:!1}],returns:null,description:"Handle when the user starts dragging a folder."},{name:"handleFolderDropEvent",docblock:"Handle when the user drop the content on a folder.\n@param {ReactEvent} event The event\n@param {Object} folder The drop folder",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"dropFolder"}],returns:null,description:"Handle when the user drop the content on a folder."},{name:"handleFolderSelectEvent",docblock:"Handle the user selects a folder from the list.\n@param {ReactEvent} event The event\n@param {Object} folder The folder",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"folder",description:"The folder",type:{name:"Object"},optional:!1}],returns:null,description:"Handle the user selects a folder from the list."},{name:"handleGridDragStartEvent",docblock:"Handle when the user is dragging content from the grid.\n@param {ReactEvent} event The event\nevent.details should be formatted as following:\n{\n array folders The list of dragged folders\n array resources The list of dragged resources\n}",modifiers:[],params:[{name:"event",description:"The event\nevent.details should be formatted as following:\n{\n array folders The list of dragged folders\n array resources The list of dragged resources\n}",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user is dragging content from the grid."},{name:"handleGridDragEndEvent",docblock:"Handle when the user stops dragging content from the grid.",modifiers:[],params:[],returns:null,description:"Handle when the user stops dragging content from the grid."},{name:"openFolderTree",docblock:"Open the tree until a given folder\n@param {object} folder The folder to scroll to",modifiers:[],params:[{name:"folder",description:"The folder to scroll to",type:{name:"object"},optional:!1}],returns:null,description:"Open the tree until a given folder"},{name:"canDragItem",docblock:"Check if the user can drag an item.\n@param {object} item The target item",modifiers:[],params:[{name:"item",description:"The target item",type:{name:"object"},optional:!1}],returns:null,description:"Check if the user can drag an item."},{name:"canDragItems",docblock:"Check if the user can drag all the items they are currently dragging.\n@param {array} draggedItems The list of dragged items.\n@returns {boolean}",modifiers:[],params:[{name:"draggedItems",description:"The list of dragged items.",type:{name:"array"},optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can drag all the items they are currently dragging."},{name:"renderDragFeedback",docblock:"Render the drag feedback\n@returns {JSX}",modifiers:[],params:[],returns:{description:null,type:{name:"JSX"}},description:"Render the drag feedback"},{name:"isLoading",docblock:"Check if the component is loading.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the component is loading."},{name:"sortFoldersAlphabetically",docblock:"Sort a list of folders alphabetically\n@param {array} folders The list of folders to sort",modifiers:[],params:[{name:"folders",description:"The list of folders to sort",type:{name:"array"},optional:!1}],returns:null,description:"Sort a list of folders alphabetically"},{name:"getRootFolders",docblock:"Get the folders that are at the root of the user.\n@returns {array}",modifiers:[],params:[],returns:{description:null,type:{name:"array"}},description:"Get the folders that are at the root of the user."},{name:"isDragging",docblock:"Check if the user is currently dragging content.\n@returns {number}",modifiers:[],params:[],returns:{description:null,type:{name:"number"}},description:"Check if the user is currently dragging content."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByFolders",props:{context:{type:{name:"any"},required:!1,description:""},contextualMenuContext:{type:{name:"any"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_FilterResourcesByFolders_FilterResourcesByFolders=Object(react_router.c)(Object(DialogContext.b)(Object(ContextualMenuContext.a)(Object(ResourceWorkspaceContext.c)(Object(AppContext.b)(Object(withTranslation.a)("common")(FilterResourcesByFolders_FilterResourcesByFolders))))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js"]={name:"FilterResourcesByFolders",docgenInfo:FilterResourcesByFolders_FilterResourcesByFolders.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByFolders",component:Resource_FilterResourcesByFolders_FilterResourcesByFolders};var context={folders:[{id:1,name:"Root",folder_parent_id:null},{id:2,name:"My Folder",folder_parent_id:1},{id:3,name:"My Folder 2",folder_parent_id:1},{id:4,name:"My Sub-Folder 1",folder_parent_id:2}]},FilterResourcesByFolders_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)("div",{className:"panel",children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByFolders_FilterResourcesByFolders,Object.assign({},args,routerProps))}})})})})};FilterResourcesByFolders_test_stories_Template.displayName="Template";var Initial=FilterResourcesByFolders_test_stories_Template.bind({});Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <div className=\"panel\">\n <Route component={routerProps => <FilterResourcesByFolders {...args} {...routerProps}/>}></Route>\n </div>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1645:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"DecryptedDescription",(function(){return DecryptedDescription}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),UserSettings=(__webpack_require__(87),__webpack_require__(115)),userSettings=__webpack_require__(116),classCallCheck=(__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),ResourceWorkspaceContext=(__webpack_require__(153),__webpack_require__(23),__webpack_require__(11)),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var EditResourceTagsItemViewer_EditResourceTagsItemViewer=function(_React$Component){inherits_default()(EditResourceTagsItemViewer,_React$Component);var _super=_createSuper(EditResourceTagsItemViewer);function EditResourceTagsItemViewer(props){var _this;return classCallCheck_default()(this,EditResourceTagsItemViewer),(_this=_super.call(this,props)).bindCallbacks(),_this}return createClass_default()(EditResourceTagsItemViewer,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleOnClickTag=this.handleOnClickTag.bind(this)}},{key:"handleOnClickTag",value:function handleOnClickTag(event,tag){event.stopPropagation();var filter={type:ResourceWorkspaceContext.a.TAG,payload:{tag:tag}};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"isLoading",value:function isLoading(){return!this.props.tags}},{key:"getTags",value:function getTags(){return this.isLoading()?null:this.props.tags.sort((function(tagA,tagB){return tagA.slug.localeCompare(tagB.slug)}))}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this2=this,isLoading=this.isLoading();return Object(jsx_runtime.jsxs)("div",{children:[isLoading&&Object(jsx_runtime.jsx)("div",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Retrieving tags"})})}),!isLoading&&0===this.props.tags.length&&Object(jsx_runtime.jsx)("em",{className:"empty-content",onClick:this.props.toggleInputTagEditor,children:Object(jsx_runtime.jsx)(Trans.a,{children:"There is no tag, click here to add one"})}),!isLoading&&this.props.tags.length>0&&Object(jsx_runtime.jsx)("ul",{className:"tags tags-list",onClick:this.props.toggleInputTagEditor,children:this.getTags().map((function(tag){return Object(jsx_runtime.jsx)("li",{className:"tag-list-item",children:Object(jsx_runtime.jsx)("a",{onClick:function onClick(event){return _this2.handleOnClickTag(event,tag)},className:"tag ellipsis",children:tag.slug})},tag.id)}))})]})}}]),EditResourceTagsItemViewer}(react_default.a.Component);EditResourceTagsItemViewer_EditResourceTagsItemViewer.propTypes={tags:prop_types_default.a.array,toggleInputTagEditor:prop_types_default.a.func,resourceWorkspaceContext:prop_types_default.a.any,history:prop_types_default.a.any,t:prop_types_default.a.func},EditResourceTagsItemViewer_EditResourceTagsItemViewer.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleOnClickTag",docblock:"Handle on click event\n@param event\n@param tag",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1},{name:"tag",description:null,type:null,optional:!1}],returns:null,description:"Handle on click event"},{name:"isLoading",docblock:null,modifiers:[],params:[],returns:null},{name:"getTags",docblock:null,modifiers:[],params:[],returns:null},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"EditResourceTagsItemViewer",props:{tags:{type:{name:"array"},required:!1,description:""},toggleInputTagEditor:{type:{name:"func"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},history:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var EditResourceTags_EditResourceTagsItemViewer=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(EditResourceTagsItemViewer_EditResourceTagsItemViewer)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js"]={name:"EditResourceTagsItemViewer",docgenInfo:EditResourceTagsItemViewer_EditResourceTagsItemViewer.__docgenInfo,path:"src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTagsItemViewer.js"});var asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),toConsumableArray=__webpack_require__(46),toConsumableArray_default=__webpack_require__.n(toConsumableArray),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),Icon=(__webpack_require__(189),__webpack_require__(44),__webpack_require__(247),__webpack_require__(123),__webpack_require__(29),__webpack_require__(415),__webpack_require__(36),__webpack_require__(17));function AutocompleteItem_createSuper(Derived){var hasNativeReflectConstruct=function AutocompleteItem_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var AutocompleteItem_AutocompleteItem=function(_Component){inherits_default()(AutocompleteItem,_Component);var _super=AutocompleteItem_createSuper(AutocompleteItem);function AutocompleteItem(props){var _this;return classCallCheck_default()(this,AutocompleteItem),(_this=_super.call(this,props)).bindEventHandlers(),_this}return createClass_default()(AutocompleteItem,[{key:"bindEventHandlers",value:function bindEventHandlers(){this.onClick=this.onClick.bind(this)}},{key:"getClassName",value:function getClassName(){return this.props.selected?"row selected":"row"}},{key:"onClick",value:function onClick(event){this.props.onClick(event,this.props.id)}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsx)("li",{className:"autocomplete-item",children:Object(jsx_runtime.jsx)("div",{className:"autocomplete-suggestion ".concat(this.getClassName()," "),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell ",children:Object(jsx_runtime.jsx)("a",{role:"button",onClick:function onClick(event){return _this2.onClick(event)},children:Object(jsx_runtime.jsx)("div",{className:"user",children:Object(jsx_runtime.jsx)("span",{className:"name ellipsis",children:this.props.slug})})})})})})})}}]),AutocompleteItem}(react.Component);AutocompleteItem_AutocompleteItem.propTypes={id:prop_types_default.a.number,slug:prop_types_default.a.string,selected:prop_types_default.a.bool,onClick:prop_types_default.a.func},AutocompleteItem_AutocompleteItem.__docgenInfo={description:"",methods:[{name:"bindEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"getClassName",docblock:null,modifiers:[],params:[],returns:null},{name:"onClick",docblock:null,modifiers:[],params:[{name:"event",type:null}],returns:null}],displayName:"AutocompleteItem",props:{id:{type:{name:"number"},required:!1,description:""},slug:{type:{name:"string"},required:!1,description:""},selected:{type:{name:"bool"},required:!1,description:""},onClick:{type:{name:"func"},required:!1,description:""}}};var Autocomplete_AutocompleteItem=AutocompleteItem_AutocompleteItem;function Autocomplete_createSuper(Derived){var hasNativeReflectConstruct=function Autocomplete_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Common/Autocomplete/AutocompleteItem.js"]={name:"AutocompleteItem",docgenInfo:AutocompleteItem_AutocompleteItem.__docgenInfo,path:"src/react-extension/components/Common/Autocomplete/AutocompleteItem.js"});var Autocomplete_Autocomplete=function(_Component){inherits_default()(Autocomplete,_Component);var _super=Autocomplete_createSuper(Autocomplete);function Autocomplete(props){var _this;return classCallCheck_default()(this,Autocomplete),(_this=_super.call(this,props)).bindEventHandlers(),_this.createInputRefs(),_this.state=_this.getDefaultState(),_this}return createClass_default()(Autocomplete,[{key:"getDefaultState",value:function getDefaultState(){return{selected:-1}}},{key:"componentDidMount",value:function componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"createInputRefs",value:function createInputRefs(){this.listRef=react_default.a.createRef()}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleKeyDown=this.handleKeyDown.bind(this),this.selectNext=this.selectNext.bind(this),this.selectPrevious=this.selectPrevious.bind(this),this.handleSelect=this.handleSelect.bind(this)}},{key:"handleKeyDown",value:function handleKeyDown(event){if(this.props.autocompleteItems){if(40===event.keyCode)return event.preventDefault(),void this.selectNext();if(38===event.keyCode)return event.preventDefault(),void this.selectPrevious();if(8!==event.keyCode){if(13===event.keyCode||9===event.keyCode){if(null===this.state.selected||-1===this.state.selected)return;event.preventDefault();var obj=this.props.autocompleteItems[this.state.selected];this.props.onSelect(obj)}}else this.setState({selected:-1})}}},{key:"handleSelect",value:function handleSelect(event,selected){var obj=this.props.autocompleteItems[selected];this.props.onSelect(obj),event.nativeEvent.stopImmediatePropagation()}},{key:"handleArrowFocus",value:function handleArrowFocus(){if(-1===this.state.selected)this.props.onArrowFocus(this.props.value);else{var slug=this.props.autocompleteItems[this.state.selected].slug;this.props.onArrowFocus(slug)}}},{key:"selectPrevious",value:function selectPrevious(){-1===this.state.selected?this.setState({selected:this.props.autocompleteItems.length-1}):this.setState({selected:this.state.selected-1}),this.scrollToSelectedItem(),this.handleArrowFocus()}},{key:"selectNext",value:function selectNext(){this.state.selected===this.props.autocompleteItems.length-1?this.setState({selected:-1}):this.setState({selected:this.state.selected+1}),this.scrollToSelectedItem(),this.handleArrowFocus()}},{key:"isItemSelected",value:function isItemSelected(key){return null!==this.state.selected&&key===this.state.selected}},{key:"getStyle",value:function getStyle(){var maxWidth=this.props.width-this.props.left;return{left:this.props.left,top:this.props.top,maxWidth:maxWidth}}},{key:"scrollToSelectedItem",value:function scrollToSelectedItem(){if(this.props.autocompleteItems&&0!==this.props.autocompleteItems.length&&-1!==this.state.selected){var itemHeight=this.listRef.current.scrollHeight/this.props.autocompleteItems.length,visibleHeight=this.listRef.current.clientHeight,fitOffset=visibleHeight-itemHeight*Math.round(visibleHeight/itemHeight),currentItemPosition=itemHeight*this.state.selected,currentScroll=this.listRef.current.scrollTop;if(currentItemPosition-fitOffset<currentScroll)return void(this.listRef.current.scrollTop=this.listRef.current.scrollTop-visibleHeight);if(currentItemPosition>currentScroll+visibleHeight)return void(this.listRef.current.scrollTop=currentItemPosition)}else this.listRef.current.scrollTop=0}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsx)("div",{className:"autocomplete-suggestions",style:this.getStyle(),children:Object(jsx_runtime.jsx)("div",{className:"autocomplete-content scroll",ref:this.listRef,children:Object(jsx_runtime.jsx)("ul",{children:!this.state.processing&&this.props.autocompleteItems&&this.props.autocompleteItems.map((function(tag,key){return Object(jsx_runtime.jsx)(Autocomplete_AutocompleteItem,{id:key,slug:tag.slug,selected:_this2.isItemSelected(key),onClick:_this2.handleSelect},key)}))})})})}}]),Autocomplete}(react.Component);Autocomplete_Autocomplete.propTypes={id:prop_types_default.a.string,autocompleteItems:prop_types_default.a.array,top:prop_types_default.a.number,left:prop_types_default.a.number,width:prop_types_default.a.number,onSelect:prop_types_default.a.func,onArrowFocus:prop_types_default.a.func,value:prop_types_default.a.string},Autocomplete_Autocomplete.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"getDefaultState\n@return {object}",modifiers:[],params:[],returns:{description:null,type:{name:"object"}},description:"getDefaultState"},{name:"createInputRefs",docblock:null,modifiers:[],params:[],returns:null},{name:"bindEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"handleKeyDown",docblock:"Handle key down to navigate and select the item\n@param event",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1}],returns:null,description:"Handle key down to navigate and select the item"},{name:"handleSelect",docblock:"Handle when an item is selected\n@param event\n@param selected",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1},{name:"selected",description:null,type:null,optional:!1}],returns:null,description:"Handle when an item is selected"},{name:"handleArrowFocus",docblock:"Handle when item is selected by arrows",modifiers:[],params:[],returns:null,description:"Handle when item is selected by arrows"},{name:"selectPrevious",docblock:"Navigate to select the previous item",modifiers:[],params:[],returns:null,description:"Navigate to select the previous item"},{name:"selectNext",docblock:"Navigate to select the next item",modifiers:[],params:[],returns:null,description:"Navigate to select the next item"},{name:"isItemSelected",docblock:"check if an item is selected\n@param key\n@returns {boolean}",modifiers:[],params:[{name:"key",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"check if an item is selected"},{name:"getStyle",docblock:"Get the autocomplete style.",modifiers:[],params:[],returns:null,description:"Get the autocomplete style."},{name:"scrollToSelectedItem",docblock:null,modifiers:[],params:[],returns:null}],displayName:"Autocomplete",props:{id:{type:{name:"string"},required:!1,description:""},autocompleteItems:{type:{name:"array"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},width:{type:{name:"number"},required:!1,description:""},onSelect:{type:{name:"func"},required:!1,description:""},onArrowFocus:{type:{name:"func"},required:!1,description:""},value:{type:{name:"string"},required:!1,description:""}}};var Common_Autocomplete_Autocomplete=Autocomplete_Autocomplete;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Common/Autocomplete/Autocomplete.js"]={name:"Autocomplete",docgenInfo:Autocomplete_Autocomplete.__docgenInfo,path:"src/react-extension/components/Common/Autocomplete/Autocomplete.js"});var ActionFeedbackContext=__webpack_require__(48),LoadingContext=__webpack_require__(114);function EditResourceTags_createSuper(Derived){var hasNativeReflectConstruct=function EditResourceTags_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var EditResourceTags_EditResourceTags=function(_React$Component){inherits_default()(EditResourceTags,_React$Component);var _updateTags,_handleOnSubmit,_fetchAllTags,_super=EditResourceTags_createSuper(EditResourceTags);function EditResourceTags(props){var _this;return classCallCheck_default()(this,EditResourceTags),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.createRefs(),_this.bindCallbacks(),_this}return createClass_default()(EditResourceTags,[{key:"getDefaultState",value:function getDefaultState(){return{tags:this.getResourceTags(),inputTagValue:"",processing:!1,loading:!0,tagAlreadyPresent:"",allTags:null,autocompletePosition:{top:0,left:0,width:0},suggestedTags:null,errorMessage:""}}},{key:"getResourceTags",value:function getResourceTags(){return this.props.tags?toConsumableArray_default()(this.props.tags):[]}},{key:"createRefs",value:function createRefs(){this.elementRef=react_default.a.createRef(),this.inputTagRef=react_default.a.createRef()}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleEditorClickEvent=this.handleEditorClickEvent.bind(this),this.handleOnSubmit=this.handleOnSubmit.bind(this),this.handleOnInput=this.handleOnInput.bind(this),this.handleKeyPressed=this.handleKeyPressed.bind(this),this.handleOnKeyDown=this.handleOnKeyDown.bind(this),this.deleteTag=this.deleteTag.bind(this),this.focusOnInputTag=this.focusOnInputTag.bind(this),this.handleAutocompleteSelect=this.handleAutocompleteSelect.bind(this),this.handleAutocompleteArrowFocus=this.handleAutocompleteArrowFocus.bind(this)}},{key:"componentDidMount",value:function componentDidMount(){var _this2=this;document.addEventListener("click",this.handleEditorClickEvent),this.fetchAllTags(),this.setState({loading:!1},(function(){_this2.focusOnInputTag()}))}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("click",this.handleEditorClickEvent)}},{key:"focusOnInputTag",value:function focusOnInputTag(){this.inputTagRef.current.focus()}},{key:"fetchAllTags",value:(_fetchAllTags=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){var allTags;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.context.port.request("passbolt.tags.find-all");case 2:(allTags=_context.sent)&&this.setState({allTags:allTags});case 4:case"end":return _context.stop()}}),_callee,this)}))),function fetchAllTags(){return _fetchAllTags.apply(this,arguments)})},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"handleEditorClickEvent",value:function handleEditorClickEvent(event){this.elementRef.current.contains(event.target)||(this.inputTagRef.current.contains(event.target)?this.focusOnInputTag():this.props.toggleInputTagEditor())}},{key:"handleOnInput",value:function handleOnInput(){this.setInputTagValue(),this.getSuggestedTags(),this.getPositionOfInputTag()}},{key:"setInputTagValue",value:function setInputTagValue(){var inputTagValue=this.inputTagRef.current.textContent;this.setState({inputTagValue:inputTagValue})}},{key:"resetInputTagValue",value:function resetInputTagValue(){this.inputTagRef.current.textContent="",this.setInputTagValue()}},{key:"getPositionOfInputTag",value:function getPositionOfInputTag(){var top=this.inputTagRef.current.offsetTop+30,autocompletePosition={left:this.inputTagRef.current.offsetLeft,top:top,width:this.elementRef.current.getBoundingClientRect().width};this.setState({autocompletePosition:autocompletePosition})}},{key:"createTag",value:function createTag(slug){var is_shared=!1;return slug.startsWith("#")&&(is_shared=!0),{slug:slug,is_shared:is_shared}}},{key:"isTagDeletable",value:function isTagDeletable(tag){return(this.props.isOwner||!tag.is_shared)&&!this.hasAllInputDisabled()}},{key:"isTagAlreadyPresent",value:function isTagAlreadyPresent(slug){return!!this.state.tags.filter((function(tag){return tag.slug===slug})).shift()}},{key:"setErrorMessage",value:function setErrorMessage(errorMessage){this.setState({errorMessage:errorMessage})}},{key:"blinkTagAlreadyPresent",value:function blinkTagAlreadyPresent(slug){var _this3=this;this.setState({tagAlreadyPresent:slug}),setTimeout((function(){_this3.setState({tagAlreadyPresent:""})}),2e3)}},{key:"isTagExceedMaxLength",value:function isTagExceedMaxLength(slug){return slug.length>128}},{key:"validateTag",value:function validateTag(slug){return!(!slug&&0===slug.trim().length)&&(this.isTagExceedMaxLength(slug.trim())?(this.setErrorMessage(this.translate("This tag can't be added, the length cannot exceeds {{tagMaxLength}}",{tagMaxLength:128})),!1):!this.props.isOwner&&slug.startsWith("#")?(this.setErrorMessage(this.translate("This shared tag can't be added, you are not the owner")),!1):!this.isTagAlreadyPresent(slug.trim())||(this.blinkTagAlreadyPresent(slug.trim()),this.setErrorMessage(this.translate("This tag is already present")),this.resetInputTagValue(),!1))}},{key:"checkTagToBeSaved",value:function checkTagToBeSaved(){var inputTag=this.inputTagRef.current.textContent;if(this.setErrorMessage(""),!inputTag&&0===inputTag.trim().length)return!0;if(this.validateTag(inputTag)){var tag=this.createTag(inputTag.trim());return this.insertTag(tag),this.resetInputTagValue(),this.hideAutocomplete(),!0}return!1}},{key:"insertTag",value:function insertTag(tag){var tags=this.state.tags;tags.push(tag),this.setState({tags:tags})}},{key:"handleKeyPressed",value:function handleKeyPressed(event){13!==event.which||this.inputTagRef.current.textContent?13!==event.which&&44!==event.which||(event.preventDefault(),this.checkTagToBeSaved()):this.handleOnSubmit()}},{key:"checkTagToDelete",value:function checkTagToDelete(){if(!this.inputTagRef.current.textContent){var tag=this.state.tags.slice(-1)[0];if(this.isTagDeletable(tag)){var tags=this.state.tags;tags.pop(),this.setState({tags:tags}),this.setErrorMessage("")}else this.setErrorMessage(this.translate("This shared tag can't be deleted, you are not the owner"))}}},{key:"deleteTag",value:function deleteTag(event,indexTag){event.nativeEvent.stopImmediatePropagation();var tags=this.state.tags;tags.splice(indexTag,1),this.setState({tags:tags})}},{key:"mustShowAutocomplete",value:function mustShowAutocomplete(){return this.state.suggestedTags&&this.state.suggestedTags.length>0}},{key:"hideAutocomplete",value:function hideAutocomplete(){this.setState({suggestedTags:null})}},{key:"handleOnKeyDown",value:function handleOnKeyDown(event){8===event.which?this.checkTagToDelete():27===event.which&&(this.mustShowAutocomplete()?(this.inputTagRef.current.textContent=this.state.inputTagValue,this.setCaretCursorToEnd(),this.hideAutocomplete()):this.props.toggleInputTagEditor())}},{key:"handleOnSubmit",value:(_handleOnSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(this.state.processing){_context2.next=8;break}if(this.setState({processing:!0}),!this.checkTagToBeSaved()){_context2.next=7;break}return _context2.next=5,this.updateTags();case 5:_context2.next=8;break;case 7:this.setState({processing:!1});case 8:case"end":return _context2.stop()}}),_callee2,this)}))),function handleOnSubmit(){return _handleOnSubmit.apply(this,arguments)})},{key:"updateTags",value:(_updateTags=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.prev=0,this.props.loadingContext.add(),_context3.next=4,this.context.port.request("passbolt.tags.update-resource-tags",this.props.resourceId,this.state.tags);case 4:return this.props.loadingContext.remove(),_context3.next=7,this.props.actionFeedbackContext.displaySuccess(this.translate("The tags have been updated successfully"));case 7:this.setState({processing:!1}),this.props.toggleInputTagEditor(),_context3.next=16;break;case 11:_context3.prev=11,_context3.t0=_context3.catch(0),this.props.loadingContext.remove(),console.error(_context3.t0),this.setState({errorMessage:_context3.t0.message,processing:!1});case 16:case"end":return _context3.stop()}}),_callee3,this,[[0,11]])}))),function updateTags(){return _updateTags.apply(this,arguments)})},{key:"getSuggestedTags",value:function getSuggestedTags(){var _this4=this,inputTagValue=this.inputTagRef.current.textContent;if(inputTagValue&&this.state.allTags){var suggestedTags=this.state.allTags.filter((function(tag){return 0===_this4.state.tags.filter((function(tagResources){return tagResources.slug===tag.slug})).length&&_this4.isTagDeletable(tag)&&-1!=tag.slug.toLowerCase().indexOf(inputTagValue.toLowerCase())}));this.setState({suggestedTags:suggestedTags})}else this.setState({suggestedTags:null})}},{key:"handleAutocompleteSelect",value:function handleAutocompleteSelect(tag){this.insertTag(tag),this.resetInputTagValue(),this.focusOnInputTag(),this.hideAutocomplete()}},{key:"handleAutocompleteArrowFocus",value:function handleAutocompleteArrowFocus(slug){this.inputTagRef.current.textContent=slug,this.setCaretCursorToEnd(),this.getPositionOfInputTag()}},{key:"setCaretCursorToEnd",value:function setCaretCursorToEnd(){var range=document.createRange(),selection=window.getSelection();range.setStart(this.inputTagRef.current.childNodes[0],this.inputTagRef.current.textContent.length),range.collapse(!0),selection.removeAllRanges(),selection.addRange(range)}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this5=this;return Object(jsx_runtime.jsxs)("div",{className:"form-content",ref:this.elementRef,children:[Object(jsx_runtime.jsxs)("div",{className:"input tag-editor",children:[Object(jsx_runtime.jsxs)("div",{className:"tag-editor-input-wrapper",onClick:this.focusOnInputTag,children:[this.state.tags&&this.state.tags.map((function(tag,index){return Object(jsx_runtime.jsxs)("div",{className:"tag",children:[Object(jsx_runtime.jsx)("span",{className:"tag-content ellipsis ".concat(_this5.state.tagAlreadyPresent===tag.slug?"blink-fast":""),children:tag.slug}),_this5.isTagDeletable(tag)&&Object(jsx_runtime.jsx)("span",{className:"tag-delete",onClick:function onClick(event){return _this5.deleteTag(event,index)},children:Object(jsx_runtime.jsx)(Icon.a,{name:"close"})})]},index)})),Object(jsx_runtime.jsx)("div",{ref:this.inputTagRef,className:"tag-editor-input",contentEditable:!this.hasAllInputDisabled(),suppressContentEditableWarning:"true",onKeyPress:this.handleKeyPressed,onKeyDown:this.handleOnKeyDown,onInput:this.handleOnInput}),this.mustShowAutocomplete()&&Object(jsx_runtime.jsx)(Common_Autocomplete_Autocomplete,{id:"tag-autocomplete",value:this.state.inputTagValue,autocompleteItems:this.state.suggestedTags,left:this.state.autocompletePosition.left,top:this.state.autocompletePosition.top,width:this.state.autocompletePosition.width,onSelect:this.handleAutocompleteSelect,onArrowFocus:this.handleAutocompleteArrowFocus})]}),!this.state.errorMessage&&this.props.isOwner&&Object(jsx_runtime.jsxs)("div",{className:"message notice",children:[Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"info-circle"}),Object(jsx_runtime.jsxs)("strong",{children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Pro tip"}),":"]})," ",Object(jsx_runtime.jsx)(Trans.a,{children:"Tags starting with # are shared with all users who have access. Separate tags using commas."})]}),this.state.errorMessage&&Object(jsx_runtime.jsx)("div",{className:"message error",children:this.state.errorMessage})]}),Object(jsx_runtime.jsxs)("div",{className:"actions",children:[Object(jsx_runtime.jsx)("a",{className:"button tag-editor-submit ".concat(this.hasAllInputDisabled()?"primary processing disabled":""),onClick:this.handleOnSubmit,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Save"})})}),Object(jsx_runtime.jsx)("a",{className:"button cancel tag-editor-cancel ".concat(this.hasAllInputDisabled()?"disabled":""),role:"button",onClick:this.props.toggleInputTagEditor,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Cancel"})})})]})]})}}]),EditResourceTags}(react_default.a.Component);EditResourceTags_EditResourceTags.contextType=AppContext.a,EditResourceTags_EditResourceTags.propTypes={tags:prop_types_default.a.array,isOwner:prop_types_default.a.bool,toggleInputTagEditor:prop_types_default.a.func,resourceId:prop_types_default.a.string,actionFeedbackContext:prop_types_default.a.any,loadingContext:prop_types_default.a.any,t:prop_types_default.a.func},EditResourceTags_EditResourceTags.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"getResourceTags",docblock:null,modifiers:[],params:[],returns:null},{name:"createRefs",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"focusOnInputTag",docblock:null,modifiers:[],params:[],returns:null},{name:"fetchAllTags",docblock:"Find all tags.\n@return {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Find all tags."},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"handleEditorClickEvent",docblock:"Handle click events on editor. Hide the component if the click occurred outside of the component.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle click events on editor. Hide the component if the click occurred outside of the component."},{name:"handleOnInput",docblock:"handle onInput event",modifiers:[],params:[],returns:null,description:"handle onInput event"},{name:"setInputTagValue",docblock:"Set state inputTagValue",modifiers:[],params:[],returns:null,description:"Set state inputTagValue"},{name:"resetInputTagValue",docblock:"reset the tag input value",modifiers:[],params:[],returns:null,description:"reset the tag input value"},{name:"getPositionOfInputTag",docblock:"get The position of the input tag to\nset the position of the autocomplete",modifiers:[],params:[],returns:null,description:"get The position of the input tag to\nset the position of the autocomplete"},{name:"createTag",docblock:"Create a new Tag\n@param slug the name of the tag\n@returns {{is_shared: boolean, slug: string}}",modifiers:[],params:[{name:"slug",description:"the name of the tag",type:null,optional:!1}],returns:{description:null,type:null},description:"Create a new Tag"},{name:"isTagDeletable",docblock:"Check if the user have the rights to edit a tag\n@param tag\n@returns {boolean}",modifiers:[],params:[{name:"tag",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the user have the rights to edit a tag"},{name:"isTagAlreadyPresent",docblock:"check if a tag is already present or not in resource\n@param slug\n@returns {boolean}",modifiers:[],params:[{name:"slug",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"check if a tag is already present or not in resource"},{name:"setErrorMessage",docblock:"set and display an error message if it's not empty\n@param errorMessage",modifiers:[],params:[{name:"errorMessage",description:null,type:null,optional:!1}],returns:null,description:"set and display an error message if it's not empty"},{name:"blinkTagAlreadyPresent",docblock:"Blink the tag already present\n@param slug the name of the tag",modifiers:[],params:[{name:"slug",description:"the name of the tag",type:null,optional:!1}],returns:null,description:"Blink the tag already present"},{name:"isTagExceedMaxLength",docblock:"if the tag exceed the max length\nreturn true\nelse false\n@param slug\n@returns {boolean}",modifiers:[],params:[{name:"slug",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"if the tag exceed the max length\nreturn true\nelse false"},{name:"validateTag",docblock:"Check if the tag is valid or not\n@param slug\n@returns {boolean}",modifiers:[],params:[{name:"slug",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the tag is valid or not"},{name:"checkTagToBeSaved",docblock:"Check if the tag can be insert or not",modifiers:[],params:[],returns:null,description:"Check if the tag can be insert or not"},{name:"insertTag",docblock:"insert tag in the editor\n@param tag",modifiers:[],params:[{name:"tag",description:null,type:null,optional:!1}],returns:null,description:"insert tag in the editor"},{name:"handleKeyPressed",docblock:"Handle key pressed event\nAdd tag if key enter or comma\n@param event",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1}],returns:null,description:"Handle key pressed event\nAdd tag if key enter or comma"},{name:"checkTagToDelete",docblock:"Check if the tag can be deleted or not",modifiers:[],params:[],returns:null,description:"Check if the tag can be deleted or not"},{name:"deleteTag",docblock:"Delete the tag\n@param event\n@param indexTag",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1},{name:"indexTag",description:null,type:null,optional:!1}],returns:null,description:"Delete the tag"},{name:"mustShowAutocomplete",docblock:"must show the autocomplete or not\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"must show the autocomplete or not"},{name:"hideAutocomplete",docblock:"hide autocomplete",modifiers:[],params:[],returns:null,description:"hide autocomplete"},{name:"handleOnKeyDown",docblock:"Handle on key down event\nDelete tag if key code is 8 (backspace)\nClose editor tag if key code is 27 (escape)\n@param event",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1}],returns:null,description:"Handle on key down event\nDelete tag if key code is 8 (backspace)\nClose editor tag if key code is 27 (escape)"},{name:"handleOnSubmit",docblock:"Save all tags",modifiers:["async"],params:[],returns:null,description:"Save all tags"},{name:"updateTags",docblock:"Update tags of a resource\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Update tags of a resource"},{name:"getSuggestedTags",docblock:"Get tags matching the input\n@returns {array} array",modifiers:[],params:[],returns:{description:"array",type:{name:"array"}},description:"Get tags matching the input"},{name:"handleAutocompleteSelect",docblock:"handleAutocompleteSelect\nWhat happens when an item in the autocomplete list is selected\ne.g. if it's not already in the list, add it\n@param {object} tag",modifiers:[],params:[{name:"tag",description:null,type:{name:"object"},optional:!1}],returns:null,description:"handleAutocompleteSelect\nWhat happens when an item in the autocomplete list is selected\ne.g. if it's not already in the list, add it"},{name:"handleAutocompleteArrowFocus",docblock:"Handle the autocomplete slug selected by arrow\n@param slug",modifiers:[],params:[{name:"slug",description:null,type:null,optional:!1}],returns:null,description:"Handle the autocomplete slug selected by arrow"},{name:"setCaretCursorToEnd",docblock:"Set the caret cursor position at the end of the tag editor input",modifiers:[],params:[],returns:null,description:"Set the caret cursor position at the end of the tag editor input"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"EditResourceTags",props:{tags:{type:{name:"array"},required:!1,description:""},isOwner:{type:{name:"bool"},required:!1,description:""},toggleInputTagEditor:{type:{name:"func"},required:!1,description:""},resourceId:{type:{name:"string"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},loadingContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var ResourceTag_EditResourceTags_EditResourceTags=Object(LoadingContext.a)(Object(ActionFeedbackContext.a)(Object(withTranslation.a)("common")(EditResourceTags_EditResourceTags)));function DisplayResourceDetailsTag_createSuper(Derived){var hasNativeReflectConstruct=function DisplayResourceDetailsTag_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js"]={name:"EditResourceTags",docgenInfo:EditResourceTags_EditResourceTags.__docgenInfo,path:"src/react-extension/components/ResourceTag/EditResourceTags/EditResourceTags.js"});var DisplayResourceDetailsTag_DisplayResourceDetailsTag=function(_React$Component){inherits_default()(DisplayResourceDetailsTag,_React$Component);var _super=DisplayResourceDetailsTag_createSuper(DisplayResourceDetailsTag);function DisplayResourceDetailsTag(props){var _this;return classCallCheck_default()(this,DisplayResourceDetailsTag),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceDetailsTag,[{key:"getDefaultState",value:function getDefaultState(){return{open:!1,showTagEditor:!1}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.toggleInputTagEditor=this.toggleInputTagEditor.bind(this)}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;this.setState({open:open})}},{key:"resource",get:function get(){return this.props.resourceWorkspaceContext.details.resource}},{key:"toggleInputTagEditor",value:function toggleInputTagEditor(){var showTagEditor=!this.state.showTagEditor;this.setState({showTagEditor:showTagEditor})}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var hasResource=this.resource,isOwner=hasResource&&15===this.resource.permission.type,tags=hasResource&&this.resource.tags;return Object(jsx_runtime.jsxs)("div",{className:"detailed-information accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Tags"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[Object(jsx_runtime.jsxs)("a",{className:"edit_tags_button section-action",onClick:this.toggleInputTagEditor,children:[Object(jsx_runtime.jsx)(Icon.a,{name:"edit"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:"edit"})]}),!this.state.showTagEditor&&Object(jsx_runtime.jsx)(EditResourceTags_EditResourceTagsItemViewer,{tags:tags,toggleInputTagEditor:this.toggleInputTagEditor}),this.state.showTagEditor&&Object(jsx_runtime.jsx)(ResourceTag_EditResourceTags_EditResourceTags,{tags:tags,isOwner:isOwner,toggleInputTagEditor:this.toggleInputTagEditor,resourceId:this.resource.id})]})]})}}]),DisplayResourceDetailsTag}(react_default.a.Component);DisplayResourceDetailsTag_DisplayResourceDetailsTag.propTypes={history:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func},DisplayResourceDetailsTag_DisplayResourceDetailsTag.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleTitleClickEvent",docblock:"Handle when the user selects the folder parent.",modifiers:[],params:[],returns:null,description:"Handle when the user selects the folder parent."},{name:"resource",docblock:"Get the current detailed resource",modifiers:["get"],params:[],returns:null,description:"Get the current detailed resource"},{name:"toggleInputTagEditor",docblock:"Display or not the input tag editor",modifiers:[],params:[],returns:null,description:"Display or not the input tag editor"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceDetailsTag",props:{history:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var DisplayResourceDetails_DisplayResourceDetailsTag=Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceDetailsTag_DisplayResourceDetailsTag));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.js"]={name:"DisplayResourceDetailsTag",docgenInfo:DisplayResourceDetailsTag_DisplayResourceDetailsTag.__docgenInfo,path:"src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.js"});__webpack_exports__.default={title:"Passbolt/ResourceDetails/DisplayResourceDetailsTag",component:DisplayResourceDetails_DisplayResourceDetailsTag};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}},userSettings:new UserSettings.a(userSettings.a),port:{request:function request(){return"A resource description"}}},DisplayResourceDetailsTag_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceDetails_DisplayResourceDetailsTag,Object.assign({},args,routerProps))}})})})};DisplayResourceDetailsTag_test_stories_Template.displayName="Template";var DecryptedDescription=DisplayResourceDetailsTag_test_stories_Template.bind({});DecryptedDescription.args={resourceWorkspaceContext:{details:{resource:{permission:{type:15},tags:[{id:1,slug:"apache"}]}}}},DecryptedDescription.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceDetailsTag {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},DecryptedDescription.parameters)},1646:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"AllFilter",(function(){return AllFilter})),__webpack_require__.d(__webpack_exports__,"FolderFilter",(function(){return FolderFilter})),__webpack_require__.d(__webpack_exports__,"RootFolderFilter",(function(){return RootFolderFilter})),__webpack_require__.d(__webpack_exports__,"TagFilter",(function(){return TagFilter})),__webpack_require__.d(__webpack_exports__,"GroupFilter",(function(){return GroupFilter})),__webpack_require__.d(__webpack_exports__,"ItemsIOwnFilter",(function(){return ItemsIOwnFilter})),__webpack_require__.d(__webpack_exports__,"FavoriteFilter",(function(){return FavoriteFilter})),__webpack_require__.d(__webpack_exports__,"ShareWithMeFilter",(function(){return ShareWithMeFilter})),__webpack_require__.d(__webpack_exports__,"RecentlyModifiedFilter",(function(){return RecentlyModifiedFilter}));__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),ResourceWorkspaceContext=__webpack_require__(11),react_router=__webpack_require__(99),asyncToGenerator=(__webpack_require__(87),__webpack_require__(19),__webpack_require__(4)),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),prop_types=(__webpack_require__(44),__webpack_require__(21),__webpack_require__(14),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),jsx_runtime=(__webpack_require__(23),__webpack_require__(0));function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var Breadcrumbs_Breadcrumbs=function(_Component){inherits_default()(Breadcrumbs,_Component);var _super=_createSuper(Breadcrumbs);function Breadcrumbs(){return classCallCheck_default()(this,Breadcrumbs),_super.apply(this,arguments)}return createClass_default()(Breadcrumbs,[{key:"render",value:function render(){var index=0;return Object(jsx_runtime.jsx)("div",{className:"breadcrumbs",children:Object(jsx_runtime.jsx)("ul",{className:"menu",children:this.props.items&&this.props.items.map((function(breadcrumb){return index++,Object(jsx_runtime.jsx)("li",{className:"ellipsis",children:breadcrumb},index)}))})})}}]),Breadcrumbs}(react.Component);Breadcrumbs_Breadcrumbs.propTypes={items:prop_types_default.a.array},Breadcrumbs_Breadcrumbs.__docgenInfo={description:"",methods:[],displayName:"Breadcrumbs",props:{items:{type:{name:"array"},required:!1,description:""}}};var Navigation_Breadcrumbs_Breadcrumbs=Breadcrumbs_Breadcrumbs;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Navigation/Breadcrumbs/Breadcrumbs.js"]={name:"Breadcrumbs",docgenInfo:Breadcrumbs_Breadcrumbs.__docgenInfo,path:"src/react/components/Common/Navigation/Breadcrumbs/Breadcrumbs.js"});var AppContext=__webpack_require__(13);function Breadcrumb_createSuper(Derived){var hasNativeReflectConstruct=function Breadcrumb_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var Breadcrumb_Breadcrumb=function(_Component){inherits_default()(Breadcrumb,_Component);var _super=Breadcrumb_createSuper(Breadcrumb);function Breadcrumb(){return classCallCheck_default()(this,Breadcrumb),_super.apply(this,arguments)}return createClass_default()(Breadcrumb,[{key:"render",value:function render(){return Object(jsx_runtime.jsx)("a",{onClick:this.props.onClick,children:this.props.name})}}]),Breadcrumb}(react.Component);Breadcrumb_Breadcrumb.propTypes={name:prop_types_default.a.string,onClick:prop_types_default.a.func},Breadcrumb_Breadcrumb.__docgenInfo={description:"",methods:[],displayName:"Breadcrumb",props:{name:{type:{name:"string"},required:!1,description:""},onClick:{type:{name:"func"},required:!1,description:""}}};var Breadcrumbs_Breadcrumb=Breadcrumb_Breadcrumb;function NavigationContext_createSuper(Derived){var hasNativeReflectConstruct=function NavigationContext_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Navigation/Breadcrumbs/Breadcrumb.js"]={name:"Breadcrumb",docgenInfo:Breadcrumb_Breadcrumb.__docgenInfo,path:"src/react/components/Common/Navigation/Breadcrumbs/Breadcrumb.js"});var NavigationContext=react.createContext({onGoToAdministrationRequested:function onGoToAdministrationRequested(){},onGoToPasswordsRequested:function onGoToPasswordsRequested(){},onGoToUsersRequested:function onGoToUsersRequested(){},onGoToUserSettingsProfileRequested:function onGoToUserSettingsProfileRequested(){},onGoToUserSettingsPassphraseRequested:function onGoToUserSettingsPassphraseRequested(){},onGoToUserSettingsSecurityTokenRequested:function onGoToUserSettingsSecurityTokenRequested(){},onGoToUserSettingsThemeRequested:function onGoToUserSettingsThemeRequested(){},onGoToUserSettingsMfaRequested:function onGoToUserSettingsMfaRequested(){},onGoToUserSettingsKeysRequested:function onGoToUserSettingsKeysRequested(){}}),NavigationContext_NavigationContextProvider=function(_React$Component){inherits_default()(NavigationContextProvider,_React$Component);var _onGoToUserSettingsKeysRequested,_onGoToUserSettingsMfaRequested,_onGoToUserSettingsThemeRequested,_onGoToUserSettingsSecurityTokenRequested,_onGoToUserSettingsPassphraseRequested,_onGoToUserSettingsProfileRequested,_onGoToUsersRequested,_onGoToPasswordsRequested,_onGoToAdministrationRequested,_goTo,_super=NavigationContext_createSuper(NavigationContextProvider);function NavigationContextProvider(props){var _this;return classCallCheck_default()(this,NavigationContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this}return createClass_default()(NavigationContextProvider,[{key:"defaultState",get:function get(){return{onGoToAdministrationRequested:this.onGoToAdministrationRequested.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:(_goTo=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(appName,pathname){var trustedDomain,url;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(appName!==this.props.context.name){_context.next=5;break}return _context.next=3,this.props.history.push({pathname:pathname});case 3:_context.next=8;break;case 5:trustedDomain=this.props.context.userSettings?this.props.context.userSettings.getTrustedDomain():this.props.context.trustedDomain,url="".concat(trustedDomain).concat(pathname),window.open(url,"_parent","noopener,noreferrer");case 8:case"end":return _context.stop()}}),_callee,this)}))),function goTo(_x,_x2){return _goTo.apply(this,arguments)})},{key:"onGoToAdministrationRequested",value:(_onGoToAdministrationRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){var pathname;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return pathname="/app/administration/email-notification",this.isMfaEnabled?pathname="/app/administration/mfa":this.isUserDirectoryEnabled&&(pathname="/app/administration/users-directory"),_context2.next=4,this.goTo("api",pathname);case 4:case"end":return _context2.stop()}}),_callee2,this)}))),function onGoToAdministrationRequested(){return _onGoToAdministrationRequested.apply(this,arguments)})},{key:"isMfaEnabled",get:function get(){var siteSettings=this.props.context.siteSettings;return siteSettings&&siteSettings.canIUse("multiFactorAuthentication")}},{key:"isUserDirectoryEnabled",get:function get(){var siteSettings=this.props.context.siteSettings;return siteSettings&&siteSettings.canIUse("directorySync")}},{key:"onGoToPasswordsRequested",value:(_onGoToPasswordsRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.goTo("browser-extension","/app/passwords");case 2:case"end":return _context3.stop()}}),_callee3,this)}))),function onGoToPasswordsRequested(){return _onGoToPasswordsRequested.apply(this,arguments)})},{key:"onGoToUsersRequested",value:(_onGoToUsersRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return _context4.next=2,this.goTo("browser-extension","/app/users");case 2:case"end":return _context4.stop()}}),_callee4,this)}))),function onGoToUsersRequested(){return _onGoToUsersRequested.apply(this,arguments)})},{key:"onGoToUserSettingsProfileRequested",value:(_onGoToUserSettingsProfileRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.next=2,this.goTo("browser-extension","/app/settings/profile");case 2:case"end":return _context5.stop()}}),_callee5,this)}))),function onGoToUserSettingsProfileRequested(){return _onGoToUserSettingsProfileRequested.apply(this,arguments)})},{key:"onGoToUserSettingsPassphraseRequested",value:(_onGoToUserSettingsPassphraseRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(){return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return _context6.next=2,this.goTo("browser-extension","/app/settings/passphrase");case 2:case"end":return _context6.stop()}}),_callee6,this)}))),function onGoToUserSettingsPassphraseRequested(){return _onGoToUserSettingsPassphraseRequested.apply(this,arguments)})},{key:"onGoToUserSettingsSecurityTokenRequested",value:(_onGoToUserSettingsSecurityTokenRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee7(){return regenerator_default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return _context7.next=2,this.goTo("browser-extension","/app/settings/security-token");case 2:case"end":return _context7.stop()}}),_callee7,this)}))),function onGoToUserSettingsSecurityTokenRequested(){return _onGoToUserSettingsSecurityTokenRequested.apply(this,arguments)})},{key:"onGoToUserSettingsThemeRequested",value:(_onGoToUserSettingsThemeRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee8(){return regenerator_default.a.wrap((function _callee8$(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:return _context8.next=2,this.goTo("browser-extension","/app/settings/theme");case 2:case"end":return _context8.stop()}}),_callee8,this)}))),function onGoToUserSettingsThemeRequested(){return _onGoToUserSettingsThemeRequested.apply(this,arguments)})},{key:"onGoToUserSettingsMfaRequested",value:(_onGoToUserSettingsMfaRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee9(){return regenerator_default.a.wrap((function _callee9$(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:return _context9.next=2,this.goTo("api","/app/settings/mfa");case 2:case"end":return _context9.stop()}}),_callee9,this)}))),function onGoToUserSettingsMfaRequested(){return _onGoToUserSettingsMfaRequested.apply(this,arguments)})},{key:"onGoToUserSettingsKeysRequested",value:(_onGoToUserSettingsKeysRequested=asyncToGenerator_default()(regenerator_default.a.mark((function _callee10(){return regenerator_default.a.wrap((function _callee10$(_context10){for(;;)switch(_context10.prev=_context10.next){case 0:return _context10.next=2,this.goTo("browser-extension","/app/settings/keys");case 2:case"end":return _context10.stop()}}),_callee10,this)}))),function onGoToUserSettingsKeysRequested(){return _onGoToUserSettingsKeysRequested.apply(this,arguments)})},{key:"render",value:function render(){return Object(jsx_runtime.jsx)(NavigationContext.Provider,{value:this.state,children:this.props.children})}}]),NavigationContextProvider}(react.Component);NavigationContext_NavigationContextProvider.displayName="NavigationContextProvider",NavigationContext_NavigationContextProvider.propTypes={context:prop_types_default.a.object,children:prop_types_default.a.any,location:prop_types_default.a.object,match:prop_types_default.a.object,history:prop_types_default.a.object},NavigationContext_NavigationContextProvider.__docgenInfo={description:"The navigation context provider provider",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"},{name:"goTo",docblock:"@param appName\n@param pathname\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"appName",description:null,type:null,optional:!1},{name:"pathname",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:null},{name:"onGoToAdministrationRequested",docblock:"Whenever the user wants to navigate to the administration workspace.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the administration workspace."},{name:"isMfaEnabled",docblock:"Returns true if the user has the MFA capability\n@returns {boolean}",modifiers:["get"],params:[],returns:{description:null,type:{name:"boolean"}},description:"Returns true if the user has the MFA capability"},{name:"isUserDirectoryEnabled",docblock:"Returns true if the user has the user directory capability\n@returns {boolean}",modifiers:["get"],params:[],returns:{description:null,type:{name:"boolean"}},description:"Returns true if the user has the user directory capability"},{name:"onGoToPasswordsRequested",docblock:"Whenever the user wants to navigate to the passwords workspace.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the passwords workspace."},{name:"onGoToUsersRequested",docblock:"Whenever the user wants to navigate to the users workspace.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users workspace."},{name:"onGoToUserSettingsProfileRequested",docblock:"Whenever the user wants to navigate to the users settings workspace profile section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace profile section."},{name:"onGoToUserSettingsPassphraseRequested",docblock:"Whenever the user wants to navigate to the users settings workspace passphrase section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace passphrase section."},{name:"onGoToUserSettingsSecurityTokenRequested",docblock:"Whenever the user wants to navigate to the users settings workspace security token section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace security token section."},{name:"onGoToUserSettingsThemeRequested",docblock:"Whenever the user wants to navigate to the users settings workspace theme section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace theme section."},{name:"onGoToUserSettingsMfaRequested",docblock:"Whenever the user wants to navigate to the users settings workspace mfa section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace mfa section."},{name:"onGoToUserSettingsKeysRequested",docblock:"Whenever the user wants to navigate to the users settings workspace keys section.\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user wants to navigate to the users settings workspace keys section."}],displayName:"NavigationContextProvider",props:{context:{type:{name:"object"},required:!1,description:""},children:{type:{name:"any"},required:!1,description:""},location:{type:{name:"object"},required:!1,description:""},match:{type:{name:"object"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""}}};Object(react_router.c)(Object(AppContext.b)(NavigationContext_NavigationContextProvider));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/contexts/NavigationContext.js"]={name:"NavigationContextProvider",docgenInfo:NavigationContext_NavigationContextProvider.__docgenInfo,path:"src/react-extension/contexts/NavigationContext.js"});var withTranslation=__webpack_require__(177);function FilterResourcesByBreadcrumb_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByBreadcrumb_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb=function(_Component){inherits_default()(FilterResourcesByBreadcrumb,_Component);var _onLastBreadcrumbClick,_super=FilterResourcesByBreadcrumb_createSuper(FilterResourcesByBreadcrumb);function FilterResourcesByBreadcrumb(){return classCallCheck_default()(this,FilterResourcesByBreadcrumb),_super.apply(this,arguments)}return createClass_default()(FilterResourcesByBreadcrumb,[{key:"items",get:function get(){var items=[this.allItemsBreadcrumb];switch(this.props.resourceWorkspaceContext.filter.type){case ResourceWorkspaceContext.a.NONE:return[];case ResourceWorkspaceContext.a.ALL:return items;case ResourceWorkspaceContext.a.TEXT:var isEmptySearchText=!this.props.resourceWorkspaceContext.filter.payload,filterText=this.props.resourceWorkspaceContext.filter.payload;return isEmptySearchText?items:[].concat(items,[this.getLastBreadcrumb(this.translate("Search: {{filterText}}",{filterText:filterText}))]);case ResourceWorkspaceContext.a.FAVORITE:return[].concat(items,[this.getLastBreadcrumb(this.translate("Favorite"))]);case ResourceWorkspaceContext.a.RECENTLY_MODIFIED:return[].concat(items,[this.getLastBreadcrumb(this.translate("Recently modified"))]);case ResourceWorkspaceContext.a.SHARED_WITH_ME:return[].concat(items,[this.getLastBreadcrumb(this.translate("Shared with me"))]);case ResourceWorkspaceContext.a.ITEMS_I_OWN:return[].concat(items,[this.getLastBreadcrumb(this.translate("Items I own"))]);case ResourceWorkspaceContext.a.TAG:var filteredTagName=this.props.resourceWorkspaceContext.filter.payload.tag.slug;return[].concat(items,[this.getLastBreadcrumb(this.translate("{{filteredTagName}} (tag)",{filteredTagName:filteredTagName}))]);case ResourceWorkspaceContext.a.ROOT_FOLDER:return[].concat(items,[this.getLastBreadcrumb(this.translate("root (folder)"))]);case ResourceWorkspaceContext.a.FOLDER:var folder=this.props.resourceWorkspaceContext.filter.payload.folder,currentFolderName=folder&&folder.name||this.translate("N/A");return[].concat(items,[this.getLastBreadcrumb(this.translate("{{currentFolderName}} (folder)",{currentFolderName:currentFolderName}))]);case ResourceWorkspaceContext.a.GROUP:var group=this.props.resourceWorkspaceContext.filter.payload.group,currentGroupName=group&&group.name||this.translate("N/A");return[].concat(items,[this.getLastBreadcrumb(this.translate("{{currentGroupName}} (group)",{currentGroupName:currentGroupName}))])}return items}},{key:"allItemsBreadcrumb",get:function get(){return Object(jsx_runtime.jsx)(Breadcrumbs_Breadcrumb,{name:this.translate("All items"),onClick:this.props.navigationContext.onGoToPasswordsRequested})}},{key:"getLastBreadcrumb",value:function getLastBreadcrumb(name){return Object(jsx_runtime.jsx)(Breadcrumbs_Breadcrumb,{name:name,onClick:this.onLastBreadcrumbClick.bind(this)})}},{key:"onLastBreadcrumbClick",value:(_onLastBreadcrumbClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){var pathname;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:pathname=this.props.location.pathname,this.props.history.push({pathname:pathname});case 2:case"end":return _context.stop()}}),_callee,this)}))),function onLastBreadcrumbClick(){return _onLastBreadcrumbClick.apply(this,arguments)})},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)(Navigation_Breadcrumbs_Breadcrumbs,{items:this.items})}}]),FilterResourcesByBreadcrumb}(react.Component);FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb.context=AppContext.a,FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb.propTypes={resourceWorkspaceContext:prop_types_default.a.object,location:prop_types_default.a.object,history:prop_types_default.a.object,navigationContext:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb.__docgenInfo={description:"The component displays a navigation breadcrumb given the applied resources filter",methods:[{name:"items",docblock:"Returns the current list of breadcrumb items",modifiers:["get"],params:[],returns:null,description:"Returns the current list of breadcrumb items"},{name:"allItemsBreadcrumb",docblock:"Returns the all items breadcrumb items\n@return {JSX.Element}",modifiers:["get"],params:[],returns:{description:null,type:{name:"JSX.Element"}},description:"Returns the all items breadcrumb items"},{name:"getLastBreadcrumb",docblock:"Return the last breadcrumb\n@param {string} name the breadcrumb name\n@return {JSX.Element}",modifiers:[],params:[{name:"name",description:"the breadcrumb name",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"JSX.Element"}},description:"Return the last breadcrumb"},{name:"onLastBreadcrumbClick",docblock:"Whenever the user click on the last breadcrumb\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Whenever the user click on the last breadcrumb"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByBreadcrumb",props:{resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},location:{type:{name:"object"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""},navigationContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb=Object(react_router.c)(function withNavigationContext(WrappedComponent){return function(_React$Component2){inherits_default()(WithAdministrationWorkspace,_React$Component2);var _super2=NavigationContext_createSuper(WithAdministrationWorkspace);function WithAdministrationWorkspace(){return classCallCheck_default()(this,WithAdministrationWorkspace),_super2.apply(this,arguments)}return createClass_default()(WithAdministrationWorkspace,[{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsx)(NavigationContext.Consumer,{children:function children(navigationContext){return Object(jsx_runtime.jsx)(WrappedComponent,Object.assign({navigationContext:navigationContext},_this2.props))}})}}]),WithAdministrationWorkspace}(react.Component)}(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js"]={name:"FilterResourcesByBreadcrumb",docgenInfo:FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByBreadcrumb",component:Resource_FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb};var FilterResourcesByBreadcrumb_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByBreadcrumb_FilterResourcesByBreadcrumb,Object.assign({},args,routerProps))}})})};FilterResourcesByBreadcrumb_test_stories_Template.displayName="Template";var AllFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});AllFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.ALL}}};var FolderFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});FolderFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.FOLDER,payload:{folder:{name:"My Folder"}}}}};var RootFolderFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});RootFolderFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.ROOT_FOLDER}}};var TagFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});TagFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.TAG,payload:{tag:{slug:"#charlie"}}}}};var GroupFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});GroupFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.GROUP,payload:{group:{name:"My super group"}}}}};var ItemsIOwnFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});ItemsIOwnFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.ITEMS_I_OWN}}};var FavoriteFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});FavoriteFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.FAVORITE}}};var ShareWithMeFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});ShareWithMeFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.SHARED_WITH_ME}}};var RecentlyModifiedFilter=FilterResourcesByBreadcrumb_test_stories_Template.bind({});RecentlyModifiedFilter.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.RECENTLY_MODIFIED}}},AllFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},AllFilter.parameters),FolderFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},FolderFilter.parameters),RootFolderFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},RootFolderFilter.parameters),TagFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},TagFilter.parameters),GroupFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},GroupFilter.parameters),ItemsIOwnFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},ItemsIOwnFilter.parameters),FavoriteFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},FavoriteFilter.parameters),ShareWithMeFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},ShareWithMeFilter.parameters),RecentlyModifiedFilter.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByBreadcrumb {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},RecentlyModifiedFilter.parameters)},1647:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var objectWithoutProperties=__webpack_require__(81),objectWithoutProperties_default=__webpack_require__.n(objectWithoutProperties),react=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1)),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=(__webpack_require__(87),__webpack_require__(13)),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),classCallCheck=(__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),Icon=(__webpack_require__(44),__webpack_require__(85),__webpack_require__(676),__webpack_require__(23),__webpack_require__(71),__webpack_require__(153),__webpack_require__(17)),ContextualMenuWrapper=__webpack_require__(140),defineProperty=__webpack_require__(34),defineProperty_default=__webpack_require__.n(defineProperty),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),EditResourceTag=__webpack_require__(267),DeleteResourceTag=__webpack_require__(268),DialogContext=__webpack_require__(41),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu=function(_React$Component){inherits_default()(FilterResourcesByTagsListContextualMenu,_React$Component);var _super=_createSuper(FilterResourcesByTagsListContextualMenu);function FilterResourcesByTagsListContextualMenu(props){var _this;return classCallCheck_default()(this,FilterResourcesByTagsListContextualMenu),(_this=_super.call(this,props)).bindCallbacks(),_this}return createClass_default()(FilterResourcesByTagsListContextualMenu,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleEditClickEvent=this.handleEditClickEvent.bind(this),this.handleDeleteClickEvent=this.handleDeleteClickEvent.bind(this)}},{key:"handleEditClickEvent",value:function handleEditClickEvent(){this.context.setContext({tagToEdit:this.props.selectedTag}),this.props.dialogContext.open(EditResourceTag.a),this.props.hide()}},{key:"handleDeleteClickEvent",value:function handleDeleteClickEvent(){this.context.setContext({tagToDelete:this.props.selectedTag}),this.props.dialogContext.open(DeleteResourceTag.a),this.props.hide()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)(ContextualMenuWrapper.a,{hide:this.props.hide,left:this.props.left,top:this.props.top,children:[Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"edit-tag",onClick:this.handleEditClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Edit Tag"})})})})})})},"option-edit-tag"),Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"delete-tag",onClick:this.handleDeleteClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Delete Tag"})})})})})})},"option-delete-tag")]})}}]),FilterResourcesByTagsListContextualMenu}(react_default.a.Component);FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu.contextType=AppContext.a,FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu.propTypes={hide:prop_types_default.a.func,left:prop_types_default.a.number,top:prop_types_default.a.number,selectedTag:prop_types_default.a.object,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleEditClickEvent",docblock:"Handle click on the edit tag menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the edit tag menu option."},{name:"handleDeleteClickEvent",docblock:"Handle click on the delete tag menu option.",modifiers:[],params:[],returns:null,description:"Handle click on the delete tag menu option."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByTagsListContextualMenu",props:{hide:{type:{name:"func"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},selectedTag:{type:{name:"object"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var FilterResourcesByTags_FilterResourcesByTagsListContextualMenu=Object(DialogContext.b)(Object(withTranslation.a)("common")(FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsListContextualMenu.js"]={name:"FilterResourcesByTagsListContextualMenu",docgenInfo:FilterResourcesByTagsListContextualMenu_FilterResourcesByTagsListContextualMenu.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsListContextualMenu.js"});var ResourceWorkspaceContext=__webpack_require__(11),ContextualMenuContext=__webpack_require__(129);function FilterResourcesByTagsList_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByTagsList_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByTagsList_FilterResourcesByTagsList=function(_React$Component){inherits_default()(FilterResourcesByTagsList,_React$Component);var _componentDidUpdate,_super=FilterResourcesByTagsList_createSuper(FilterResourcesByTagsList);function FilterResourcesByTagsList(props){var _this;return classCallCheck_default()(this,FilterResourcesByTagsList),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByTagsList,[{key:"getDefaultState",value:function getDefaultState(){return{open:!0,selectedTag:null}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleContextualMenuEvent=this.handleContextualMenuEvent.bind(this),this.handleMoreClickEvent=this.handleMoreClickEvent.bind(this)}},{key:"handleContextualMenuEvent",value:function handleContextualMenuEvent(event,selectedTag){event.preventDefault(),selectedTag.is_shared||this.showContextualMenu(event.pageY,event.pageX,selectedTag)}},{key:"handleMoreClickEvent",value:function handleMoreClickEvent(event,selectedTag){this.showContextualMenu(event.pageY,event.pageX,selectedTag)}},{key:"showContextualMenu",value:function showContextualMenu(top,left,selectedTag){var contextualMenuProps={left:left,selectedTag:selectedTag,top:top};this.props.contextualMenuContext.show(FilterResourcesByTags_FilterResourcesByTagsListContextualMenu,contextualMenuProps)}},{key:"handleOnClickTag",value:function handleOnClickTag(tag){var filter={type:ResourceWorkspaceContext.a.TAG,payload:{tag:tag}};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"componentDidUpdate",value:(_componentDidUpdate=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(prevProps){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:this.handleAllFilterRequired(prevProps.tags);case 1:case"end":return _context.stop()}}),_callee,this)}))),function componentDidUpdate(_x){return _componentDidUpdate.apply(this,arguments)})},{key:"handleAllFilterRequired",value:function handleAllFilterRequired(previousTags){if(previousTags&&this.props.tags.length!==previousTags.length){var filter=this.props.resourceWorkspaceContext.filter;if(filter&&filter.type===ResourceWorkspaceContext.a.TAG)if(!(this.props.tags.filter((function(tag){return tag.id===filter.payload.tag.id})).length>0)){var _filter={type:ResourceWorkspaceContext.a.ALL};this.props.history.push({pathname:"/app/passwords",state:{filter:_filter}})}}}},{key:"filters",get:function get(){var _ref;return _ref={},defineProperty_default()(_ref,filterByTagsOptions.personal,(function(tag){return!tag.is_shared})),defineProperty_default()(_ref,filterByTagsOptions.shared,(function(tag){return tag.is_shared})),defineProperty_default()(_ref,filterByTagsOptions.all,(function(tag){return tag})),_ref}},{key:"filteredTags",get:function get(){var filterType=this.props.filterType||filterByTagsOptions.all,filter=this.filters[filterType];return this.props.tags.filter(filter)}},{key:"isLoading",value:function isLoading(){return!this.props.tags}},{key:"isSelected",value:function isSelected(tagId){var filter=this.props.resourceWorkspaceContext.filter;return filter.type===ResourceWorkspaceContext.a.TAG&&filter.payload.tag.id===tagId}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[this.isLoading()&&Object(jsx_runtime.jsx)("div",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Retrieving tags"})})}),!this.isLoading()&&0===this.filteredTags.length&&Object(jsx_runtime.jsx)("em",{className:"empty-content",children:Object(jsx_runtime.jsx)(Trans.a,{children:"empty"})}),!this.isLoading()&&this.filteredTags.length>0&&Object(jsx_runtime.jsx)("ul",{className:"tree ready",children:this.filteredTags.map((function(tag){return Object(jsx_runtime.jsx)("li",{className:"open node root tag-item",children:Object(jsx_runtime.jsxs)("div",{className:"row ".concat(_this2.isSelected(tag.id)?"selected":""),children:[Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",onClick:function onClick(){return _this2.handleOnClickTag(tag)},onContextMenu:function onContextMenu(event){return _this2.handleContextualMenuEvent(event,tag)},children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{title:tag.slug,children:Object(jsx_runtime.jsx)("span",{className:"ellipsis",children:tag.slug})})})}),!tag.is_shared&&Object(jsx_runtime.jsx)("div",{className:"right-cell more-ctrl",children:Object(jsx_runtime.jsx)("a",{className:"more",onClick:function onClick(event){return _this2.handleMoreClickEvent(event,tag)},children:Object(jsx_runtime.jsx)(Icon.a,{name:"plus-square"})})})]})},tag.id)}))})]})}}]),FilterResourcesByTagsList}(react_default.a.Component);FilterResourcesByTagsList_FilterResourcesByTagsList.propTypes={contextualMenuContext:prop_types_default.a.any,tags:prop_types_default.a.array,filterType:prop_types_default.a.string,resourceWorkspaceContext:prop_types_default.a.object,history:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByTagsList_FilterResourcesByTagsList.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleContextualMenuEvent",docblock:"Handle when the user clicks right on a tag\n@param {ReactEvent} event The event\n@param {Object} selectedTag The target tag",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"selectedTag",description:"The target tag",type:{name:"Object"},optional:!1}],returns:null,description:"Handle when the user clicks right on a tag"},{name:"handleMoreClickEvent",docblock:"Handle when the user clicks on the more button\n@param {ReactEvent} event The event\n@param {Object} selectedTag The target tag",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1},{name:"selectedTag",description:"The target tag",type:{name:"Object"},optional:!1}],returns:null,description:"Handle when the user clicks on the more button"},{name:"showContextualMenu",docblock:"Show the contextual menu\n@param {int} left The left position to display the menu\n@param {int} top The top position to display the menu\n@param {Object} selectedTag The target tag",modifiers:[],params:[{name:"top",description:"The top position to display the menu",type:{name:"int"},optional:!1},{name:"left",description:"The left position to display the menu",type:{name:"int"},optional:!1},{name:"selectedTag",description:"The target tag",type:{name:"Object"},optional:!1}],returns:null,description:"Show the contextual menu"},{name:"handleOnClickTag",docblock:null,modifiers:[],params:[{name:"tag",type:null}],returns:null},{name:"handleAllFilterRequired",docblock:"If the tag filtered is deleted\nApply an all filter to unfiltered the resources\n@param previousTags",modifiers:[],params:[{name:"previousTags",description:null,type:null,optional:!1}],returns:null,description:"If the tag filtered is deleted\nApply an all filter to unfiltered the resources"},{name:"filters",docblock:"get the filter according to the type of the filter\n@returns {{shared: (function(*): *), default: (function(*): *), personal: (function(*): *)}}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"get the filter according to the type of the filter"},{name:"filteredTags",docblock:"filter tag to display only the type selected\n@returns {*[filtered tags]}",modifiers:["get"],params:[],returns:null,description:"filter tag to display only the type selected"},{name:"isLoading",docblock:"check if no tag is present\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"check if no tag is present"},{name:"isSelected",docblock:"Check if the tag associated to this component is selected.\n@returns {boolean}\n@param tagId\n@returns {boolean}",modifiers:[],params:[{name:"tagId",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the tag associated to this component is selected."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByTagsList",props:{contextualMenuContext:{type:{name:"any"},required:!1,description:""},tags:{type:{name:"array"},required:!1,description:""},filterType:{type:{name:"string"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},history:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var FilterResourcesByTags_FilterResourcesByTagsList=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(ContextualMenuContext.a)(Object(withTranslation.a)("common")(FilterResourcesByTagsList_FilterResourcesByTagsList)))),filterByTagsOptions={all:"all",shared:"shared",personal:"personal"};function FilterResourcesByTagsContextualMenu_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByTagsContextualMenu_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js"]={name:"FilterResourcesByTagsList",docgenInfo:FilterResourcesByTagsList_FilterResourcesByTagsList.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js"});var FilterResourcesByTagsContextualMenu_FilterResourcesByTagsContextualMenu=function(_React$Component){inherits_default()(FilterResourcesByTagsContextualMenu,_React$Component);var _super=FilterResourcesByTagsContextualMenu_createSuper(FilterResourcesByTagsContextualMenu);function FilterResourcesByTagsContextualMenu(props){var _this;return classCallCheck_default()(this,FilterResourcesByTagsContextualMenu),(_this=_super.call(this,props)).bindCallbacks(),_this}return createClass_default()(FilterResourcesByTagsContextualMenu,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleFilterClickEvent=this.handleFilterClickEvent.bind(this)}},{key:"handleFilterClickEvent",value:function handleFilterClickEvent(filterType){this.props.onFilterSelected(filterType),this.props.hide()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsxs)(ContextualMenuWrapper.a,{hide:this.props.hide,left:this.props.left,top:this.props.top,children:[Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"all-tag",onClick:function onClick(){return _this2.handleFilterClickEvent(filterByTagsOptions.all)},children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"All tags"})})})})})})},"option-filter-all-tag"),Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"personal-tag",onClick:function onClick(){return _this2.handleFilterClickEvent(filterByTagsOptions.personal)},children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"My tags"})})})})})})},"option-filter-personal-tag"),Object(jsx_runtime.jsx)("li",{className:"ready closed",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"shared-tag",onClick:function onClick(){return _this2.handleFilterClickEvent(filterByTagsOptions.shared)},children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Shared tags"})})})})})})},"option-filter-share-tag")]})}}]),FilterResourcesByTagsContextualMenu}(react_default.a.Component);FilterResourcesByTagsContextualMenu_FilterResourcesByTagsContextualMenu.propTypes={onFilterSelected:prop_types_default.a.func,left:prop_types_default.a.number,hide:prop_types_default.a.func,top:prop_types_default.a.number,t:prop_types_default.a.func},FilterResourcesByTagsContextualMenu_FilterResourcesByTagsContextualMenu.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleFilterClickEvent",docblock:"Handle click on the filter type menu option.\n@param {string} filterType",modifiers:[],params:[{name:"filterType",description:null,type:{name:"string"},optional:!1}],returns:null,description:"Handle click on the filter type menu option."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByTagsContextualMenu",props:{onFilterSelected:{type:{name:"func"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},hide:{type:{name:"func"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var FilterResourcesByTags_FilterResourcesByTagsContextualMenu=Object(withTranslation.a)("common")(FilterResourcesByTagsContextualMenu_FilterResourcesByTagsContextualMenu);function FilterResourcesByTags_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByTags_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsContextualMenu.js"]={name:"FilterResourcesByTagsContextualMenu",docgenInfo:FilterResourcesByTagsContextualMenu_FilterResourcesByTagsContextualMenu.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsContextualMenu.js"});var FilterResourcesByTags_FilterResourcesByTags=function(_React$Component){inherits_default()(FilterResourcesByTags,_React$Component);var _super=FilterResourcesByTags_createSuper(FilterResourcesByTags);function FilterResourcesByTags(props){var _this;return classCallCheck_default()(this,FilterResourcesByTags),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByTags,[{key:"getDefaultState",value:function getDefaultState(){return{open:!0,title:this.translate("Filter by tags"),filterType:null}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.handleTitleContextualMenuEvent=this.handleTitleContextualMenuEvent.bind(this),this.handleTitleMoreClickEvent=this.handleTitleMoreClickEvent.bind(this),this.handleFilterTagsType=this.handleFilterTagsType.bind(this)}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;this.setState({open:open})}},{key:"handleTitleContextualMenuEvent",value:function handleTitleContextualMenuEvent(event){event.preventDefault(),this.showContextualMenu(event.pageY,event.pageX)}},{key:"handleTitleMoreClickEvent",value:function handleTitleMoreClickEvent(event){this.showContextualMenu(event.pageY,event.pageX)}},{key:"showContextualMenu",value:function showContextualMenu(top,left){var contextualMenuProps={left:left,onFilterSelected:this.handleFilterTagsType,top:top};this.props.contextualMenuContext.show(FilterResourcesByTags_FilterResourcesByTagsContextualMenu,contextualMenuProps)}},{key:"handleFilterTagsType",value:function handleFilterTagsType(filterType){var _this2=this;if(this.isAllFilterRequire(filterType)){var filter={type:ResourceWorkspaceContext.a.ALL};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}this.setState({filterType:filterType},(function(){_this2.updateTitle()}))}},{key:"isAllFilterRequire",value:function isAllFilterRequire(filterType){var filter=this.props.resourceWorkspaceContext.filter,isSharedTag=filter.type===ResourceWorkspaceContext.a.TAG&&filter.payload.tag.is_shared;return!isSharedTag&&"shared"===filterType||isSharedTag&&"personal"===filterType}},{key:"titles",get:function get(){return{personal:this.translate("My tags"),shared:this.translate("Shared tags"),default:this.translate("Filter by tags")}}},{key:"updateTitle",value:function updateTitle(){var title=this.titles[this.state.filterType]||this.titles.default;this.setState({title:title})}},{key:"getTagsFromResources",value:function getTagsFromResources(){return this.context.resources?this.context.resources.map((function(resource){return resource.tags})).flat().reduce((function(accumulator,resourceTags){return resourceTags&&!accumulator.find((function(tag){return tag.id===resourceTags.id}))&&accumulator.push(resourceTags),accumulator}),[]).sort((function(tagA,tagB){return tagA.slug.localeCompare(tagB.slug)})):null}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("div",{className:"folders navigation first accordion",children:[Object(jsx_runtime.jsx)("ul",{className:"accordion-header",children:Object(jsx_runtime.jsx)("li",{className:"node root ".concat(this.state.open?"open":"close"),children:Object(jsx_runtime.jsxs)("div",{className:"row title",children:[Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("h3",{children:Object(jsx_runtime.jsxs)("span",{className:"folders-label",onClick:this.handleTitleClickEvent,children:[Object(jsx_runtime.jsxs)(react.Fragment,{children:[this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]}),Object(jsx_runtime.jsx)("span",{onContextMenu:this.handleTitleContextualMenuEvent,children:this.state.title})]})})})}),Object(jsx_runtime.jsx)("div",{className:"right-cell more-ctrl",children:Object(jsx_runtime.jsx)("a",{className:"filter",onClick:this.handleTitleMoreClickEvent,children:Object(jsx_runtime.jsx)(Icon.a,{name:"filter"})})})]})})}),this.state.open&&Object(jsx_runtime.jsx)(FilterResourcesByTags_FilterResourcesByTagsList,{tags:this.getTagsFromResources(),filterType:this.state.filterType})]})}}]),FilterResourcesByTags}(react_default.a.Component);FilterResourcesByTags_FilterResourcesByTags.contextType=AppContext.a,FilterResourcesByTags_FilterResourcesByTags.propTypes={contextualMenuContext:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.object,history:prop_types_default.a.any,t:prop_types_default.a.func},FilterResourcesByTags_FilterResourcesByTags.__docgenInfo={description:"This component display the tag to filter the resources",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleTitleClickEvent",docblock:"Handle when the user selects the folder parent.",modifiers:[],params:[],returns:null,description:"Handle when the user selects the folder parent."},{name:"handleTitleContextualMenuEvent",docblock:"Handle when the user requests to display the contextual menu on the root folder.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user requests to display the contextual menu on the root folder."},{name:"handleTitleMoreClickEvent",docblock:"Handle when the user requests to display the contextual menu on the tag title section.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle when the user requests to display the contextual menu on the tag title section."},{name:"showContextualMenu",docblock:"Show the contextual menu\n@param {int} left The left position to display the menu\n@param {int} top The top position to display the menu",modifiers:[],params:[{name:"top",description:"The top position to display the menu",type:{name:"int"},optional:!1},{name:"left",description:"The left position to display the menu",type:{name:"int"},optional:!1}],returns:null,description:"Show the contextual menu"},{name:"handleFilterTagsType",docblock:"Handle when the user wants to filter tags\n@param {string} filterType",modifiers:[],params:[{name:"filterType",description:null,type:{name:"string"},optional:!1}],returns:null,description:"Handle when the user wants to filter tags"},{name:"isAllFilterRequire",docblock:"Check if the all filter is required\n@param filterType\n@returns {boolean}",modifiers:[],params:[{name:"filterType",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the all filter is required"},{name:"titles",docblock:"get the title\n@returns {{shared: string, default: string, personal: string}}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"get the title"},{name:"updateTitle",docblock:"update the title of the filter tag",modifiers:[],params:[],returns:null,description:"update the title of the filter tag"},{name:"getTagsFromResources",docblock:"Get tags from resources\n@returns {array} all tags from resources",modifiers:[],params:[],returns:{description:"all tags from resources",type:{name:"array"}},description:"Get tags from resources"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByTags",props:{contextualMenuContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},history:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_FilterResourcesByTags_FilterResourcesByTags=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(ContextualMenuContext.a)(Object(withTranslation.a)("common")(FilterResourcesByTags_FilterResourcesByTags))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js"]={name:"FilterResourcesByTags",docgenInfo:FilterResourcesByTags_FilterResourcesByTags.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTags.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByTags",component:Resource_FilterResourcesByTags_FilterResourcesByTags};var FilterResourcesByTags_test_stories_Template=function Template(_ref){var context=_ref.context,args=objectWithoutProperties_default()(_ref,["context"]);return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)("div",{className:"panel",children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByTags_FilterResourcesByTags,Object.assign({},args,routerProps))}})})})})};FilterResourcesByTags_test_stories_Template.displayName="Template",FilterResourcesByTags_test_stories_Template.propTypes={context:prop_types_default.a.object};var Initial=FilterResourcesByTags_test_stories_Template.bind({});Initial.args={context:{resources:[{tags:[{id:1,slug:"Apache"}]},{tags:[{id:2,slug:"Charlie"},{id:3,slug:"Network"}]}]}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <div className=\"panel\">\n <Route component={routerProps => <FilterResourcesByTags {...args} {...routerProps}/>}></Route>\n </div>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1649:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Empty",(function(){return Empty})),__webpack_require__.d(__webpack_exports__,"Populated",(function(){return Populated}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18),__webpack_require__(19);var slicedToArray=__webpack_require__(176),slicedToArray_default=__webpack_require__.n(slicedToArray),helpers_typeof=__webpack_require__(108),typeof_default=__webpack_require__.n(helpers_typeof),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),prop_types=(__webpack_require__(170),__webpack_require__(14),__webpack_require__(432),__webpack_require__(71),__webpack_require__(44),__webpack_require__(21),__webpack_require__(96),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_list=__webpack_require__(330),react_list_default=__webpack_require__.n(react_list),AppContext=__webpack_require__(13),ResourceWorkspaceContext=__webpack_require__(11),dist=__webpack_require__(331),dist_default=__webpack_require__.n(dist),Icon=__webpack_require__(17),ActionFeedbackContext=__webpack_require__(48),react_router=__webpack_require__(99),DialogContext=__webpack_require__(41),ContextualMenuWrapper=__webpack_require__(140),EditResource=__webpack_require__(219),ShareDialog=__webpack_require__(220),DeleteResource=__webpack_require__(264),sanitizeUrl=__webpack_require__(90),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu=function(_React$Component){inherits_default()(DisplayResourcesListContextualMenu,_React$Component);var _handlePasswordClickEvent,_copyPasswordToClipboard,_handlePermalinkClickEvent,_handleUriClickEvent,_handleUsernameClickEvent,_super=_createSuper(DisplayResourcesListContextualMenu);function DisplayResourcesListContextualMenu(props){var _this;return classCallCheck_default()(this,DisplayResourcesListContextualMenu),(_this=_super.call(this,props)).bindCallbacks(),_this}return createClass_default()(DisplayResourcesListContextualMenu,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleEditClickEvent=this.handleEditClickEvent.bind(this),this.handleShareClickEvent=this.handleShareClickEvent.bind(this),this.handleUsernameClickEvent=this.handleUsernameClickEvent.bind(this),this.handleUriClickEvent=this.handleUriClickEvent.bind(this),this.handlePermalinkClickEvent=this.handlePermalinkClickEvent.bind(this),this.handlePasswordClickEvent=this.handlePasswordClickEvent.bind(this),this.handleDeleteClickEvent=this.handleDeleteClickEvent.bind(this),this.handleGoToResourceUriClick=this.handleGoToResourceUriClick.bind(this)}},{key:"handleEditClickEvent",value:function handleEditClickEvent(){var passwordEditDialogProps={id:this.resource.id};this.context.setContext({passwordEditDialogProps:passwordEditDialogProps}),this.props.dialogContext.open(EditResource.a),this.props.hide()}},{key:"handleShareClickEvent",value:function handleShareClickEvent(){var resourcesIds=[this.resource.id];this.context.setContext({shareDialogProps:{resourcesIds:resourcesIds}}),this.props.dialogContext.open(ShareDialog.a),this.props.hide()}},{key:"handleUsernameClickEvent",value:(_handleUsernameClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.context.port.request("passbolt.clipboard.copy",this.resource.username);case 2:this.props.actionFeedbackContext.displaySuccess(this.translate("The username has been copied to clipboard")),this.props.hide();case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleUsernameClickEvent(){return _handleUsernameClickEvent.apply(this,arguments)})},{key:"handleUriClickEvent",value:(_handleUriClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.context.port.request("passbolt.clipboard.copy",this.resource.uri);case 2:this.props.actionFeedbackContext.displaySuccess(this.translate("The uri has been copied to clipboard")),this.props.hide();case 4:case"end":return _context2.stop()}}),_callee2,this)}))),function handleUriClickEvent(){return _handleUriClickEvent.apply(this,arguments)})},{key:"handlePermalinkClickEvent",value:(_handlePermalinkClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){var baseUrl,permalink;return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return baseUrl=this.context.userSettings.getTrustedDomain(),permalink="".concat(baseUrl,"/app/passwords/view/").concat(this.resource.id),_context3.next=4,this.context.port.request("passbolt.clipboard.copy",permalink);case 4:this.props.actionFeedbackContext.displaySuccess(this.translate("The permalink has been copied to clipboard")),this.props.hide();case 6:case"end":return _context3.stop()}}),_callee3,this)}))),function handlePermalinkClickEvent(){return _handlePermalinkClickEvent.apply(this,arguments)})},{key:"copyPasswordToClipboard",value:(_copyPasswordToClipboard=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(plaintextDto){return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(plaintextDto){_context4.next=2;break}throw new TypeError(this.translate("The password is empty."));case 2:if("string"!=typeof plaintextDto){_context4.next=8;break}return _context4.next=5,this.context.port.request("passbolt.clipboard.copy",plaintextDto);case 5:this.props.resourceWorkspaceContext.onResourceCopied(),_context4.next=15;break;case 8:if(!Object.prototype.hasOwnProperty.call(plaintextDto,"password")){_context4.next=14;break}return _context4.next=11,this.context.port.request("passbolt.clipboard.copy",plaintextDto.password);case 11:this.props.resourceWorkspaceContext.onResourceCopied(),_context4.next=15;break;case 14:throw new TypeError(this.translate("The password field is not defined."));case 15:case"end":return _context4.stop()}}),_callee4,this)}))),function copyPasswordToClipboard(_x){return _copyPasswordToClipboard.apply(this,arguments)})},{key:"handlePasswordClickEvent",value:(_handlePasswordClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){var plaintextDto;return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return this.props.hide(),_context5.prev=1,_context5.next=4,this.context.port.request("passbolt.secret.decrypt",this.resource.id,{showProgress:!0});case 4:return plaintextDto=_context5.sent,_context5.next=7,this.copyPasswordToClipboard(plaintextDto);case 7:this.props.actionFeedbackContext.displaySuccess(this.translate("The secret has been copied to clipboard")),_context5.next=13;break;case 10:_context5.prev=10,_context5.t0=_context5.catch(1),"UserAbortsOperationError"!==_context5.t0.name&&this.props.actionFeedbackContext.displayError(_context5.t0.message);case 13:case"end":return _context5.stop()}}),_callee5,this,[[1,10]])}))),function handlePasswordClickEvent(){return _handlePasswordClickEvent.apply(this,arguments)})},{key:"handleDeleteClickEvent",value:function handleDeleteClickEvent(){var resources=[this.resource];this.context.setContext({passwordDeleteDialogProps:{resources:resources}}),this.props.dialogContext.open(DeleteResource.a),this.props.hide()}},{key:"handleGoToResourceUriClick",value:function handleGoToResourceUriClick(){this.props.resourceWorkspaceContext.onGoToResourceUriRequested(this.resource)}},{key:"resource",get:function get(){return this.props.resource}},{key:"safeUri",get:function get(){return Object(sanitizeUrl.a)(this.resource.uri,{whiteListedProtocols:ResourceWorkspaceContext.b,defaultProtocol:sanitizeUrl.b.HTTPS})}},{key:"canUpdate",value:function canUpdate(){return this.resource.permission.type>=7}},{key:"canShare",value:function canShare(){return 15===this.resource.permission.type}},{key:"canCopyUsername",value:function canCopyUsername(){return""!==this.resource.username}},{key:"canCopyUri",value:function canCopyUri(){return""!==this.resource.uri}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)(ContextualMenuWrapper.a,{hide:this.props.hide,left:this.props.left,top:this.props.top,children:[Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"username",className:"".concat(this.canCopyUsername()?"":"disabled"),onClick:this.handleUsernameClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Copy username"})})})})})})},"option-username-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"password",onClick:this.handlePasswordClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Copy password"})})})})})})},"option-copy-password-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"username",className:"".concat(this.canCopyUri()?"":"disabled"),onClick:this.handleUriClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Copy URI"})})})})})})},"option-copy-uri-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"permalink",onClick:this.handlePermalinkClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Copy permalink"})})})})})})},"option-permalink-resource"),Object(jsx_runtime.jsx)("li",{className:"ready separator-after",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"permalink",className:"".concat(this.safeUri?"":"disabled"),onClick:this.handleGoToResourceUriClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Open URI in a new Tab"})})})})})})},"option-open-uri-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"edit",className:"".concat(this.canUpdate()?"":"disabled"),onClick:this.handleEditClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Edit"})})})})})})},"option-edit-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"share",className:"".concat(this.canShare()?"":"disabled"),onClick:this.handleShareClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Share"})})})})})})},"option-share-resource"),Object(jsx_runtime.jsx)("li",{className:"ready",children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{id:"delete",className:"".concat(this.canUpdate()?"":"disabled"),onClick:this.handleDeleteClickEvent,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Delete"})})})})})})},"option-delete-resource")]})}}]),DisplayResourcesListContextualMenu}(react_default.a.Component);DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu.contextType=AppContext.a,DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu.propTypes={hide:prop_types_default.a.func,left:prop_types_default.a.number,top:prop_types_default.a.number,resourceWorkspaceContext:prop_types_default.a.any,dialogContext:prop_types_default.a.any,resource:prop_types_default.a.object,actionFeedbackContext:prop_types_default.a.any,t:prop_types_default.a.func},DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleEditClickEvent",docblock:"handle edit resource",modifiers:[],params:[],returns:null,description:"handle edit resource"},{name:"handleShareClickEvent",docblock:"handle share resource",modifiers:[],params:[],returns:null,description:"handle share resource"},{name:"handleUsernameClickEvent",docblock:"handle username resource",modifiers:["async"],params:[],returns:null,description:"handle username resource"},{name:"handleUriClickEvent",docblock:"handle uri resource",modifiers:["async"],params:[],returns:null,description:"handle uri resource"},{name:"handlePermalinkClickEvent",docblock:"handle permalink resource",modifiers:["async"],params:[],returns:null,description:"handle permalink resource"},{name:"copyPasswordToClipboard",docblock:"Copy password from dto to clipboard\nSupport original password (a simple string) and composed objects)\n\n@param {string|object} plaintextDto\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"plaintextDto",description:null,type:{name:"union",elements:[{name:"string"},{name:"object"}]},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Copy password from dto to clipboard\nSupport original password (a simple string) and composed objects)"},{name:"handlePasswordClickEvent",docblock:"handle password resource",modifiers:["async"],params:[],returns:null,description:"handle password resource"},{name:"handleDeleteClickEvent",docblock:"handle delete resource",modifiers:[],params:[],returns:null,description:"handle delete resource"},{name:"handleGoToResourceUriClick",docblock:"handle open the uri in a new tab",modifiers:[],params:[],returns:null,description:"handle open the uri in a new tab"},{name:"resource",docblock:"the resource selected\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"the resource selected"},{name:"safeUri",docblock:"the resource safe uri\n@return {string|bool} Return safe uri or false if not safe",modifiers:["get"],params:[],returns:{description:"Return safe uri or false if not safe",type:{name:"union",elements:[{name:"string"},{name:"bool"}]}},description:"the resource safe uri"},{name:"canUpdate",docblock:"Can update the resource",modifiers:[],params:[],returns:null,description:"Can update the resource"},{name:"canShare",docblock:"Can share the resource",modifiers:[],params:[],returns:null,description:"Can share the resource"},{name:"canCopyUsername",docblock:"Can copy username\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Can copy username"},{name:"canCopyUri",docblock:"Can copy uri\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Can copy uri"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourcesListContextualMenu",props:{hide:{type:{name:"func"},required:!1,description:""},left:{type:{name:"number"},required:!1,description:""},top:{type:{name:"number"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},resource:{type:{name:"object"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var DisplayResourcesList_DisplayResourcesListContextualMenu=Object(ResourceWorkspaceContext.c)(Object(DialogContext.b)(Object(ActionFeedbackContext.a)(Object(withTranslation.a)("common")(DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js"]={name:"DisplayResourcesListContextualMenu",docgenInfo:DisplayResourcesListContextualMenu_DisplayResourcesListContextualMenu.__docgenInfo,path:"src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js"});var ContextualMenuContext=__webpack_require__(129),luxon=__webpack_require__(128);function DisplayResourcesList_createSuper(Derived){var hasNativeReflectConstruct=function DisplayResourcesList_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourcesList_DisplayResourcesList=function(_React$Component){inherits_default()(DisplayResourcesList,_React$Component);var _unfavoriteResource,_favoriteResource,_selectResource,_handleDragStartEvent,_handleSortByColumnClick,_handleFavoriteClick,_previewPassword,_togglePreviewPassword,_copyPasswordToClipboard,_handlePreviewPasswordButtonClick,_handleCopyPasswordClick,_handleCopyUsernameClick,_handleCheckboxWrapperClick,_handleResourceSelected,_super=DisplayResourcesList_createSuper(DisplayResourcesList);function DisplayResourcesList(props){var _this;return classCallCheck_default()(this,DisplayResourcesList),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.initEventHandlers(),_this.handleFavoriteClickDebounced=dist_default()(_this.handleFavoriteUpdate,200),_this.createRefs(),_this}return createClass_default()(DisplayResourcesList,[{key:"getDefaultState",value:function getDefaultState(){return{resources:[],selectStrategy:"",previewedPassword:null}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleSelectAllChange=this.handleSelectAllChange.bind(this),this.handleResourceSelected=this.handleResourceSelected.bind(this),this.handleResourceRightClick=this.handleResourceRightClick.bind(this),this.handleCheckboxWrapperClick=this.handleCheckboxWrapperClick.bind(this),this.handleCopyPasswordClick=this.handleCopyPasswordClick.bind(this),this.handleCopyUsernameClick=this.handleCopyUsernameClick.bind(this),this.handleFavoriteClick=this.handleFavoriteClick.bind(this),this.handleSortByColumnClick=this.handleSortByColumnClick.bind(this),this.handleGoToResourceUriClick=this.handleGoToResourceUriClick.bind(this),this.handlePreviewPasswordButtonClick=this.handlePreviewPasswordButtonClick.bind(this)}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.handleResourceScroll()}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(prevProps,prevState){var _this$props$resourceW=this.props.resourceWorkspaceContext,filteredResources=_this$props$resourceW.filteredResources,selectedResources=_this$props$resourceW.selectedResources,sorter=_this$props$resourceW.sorter,scrollTo=_this$props$resourceW.scrollTo,hasFilteredResourcesChanged=prevProps.resourceWorkspaceContext.filteredResources!==filteredResources,hasSingleSelectedResourceChanged=1===selectedResources.length&&1===prevProps.resourceWorkspaceContext.selectedResources.length&&selectedResources[0].id!==prevProps.resourceWorkspaceContext.selectedResources[0].id,hasSelectedResourcesLengthChanged=prevProps.resourceWorkspaceContext.selectedResources.length!==selectedResources.length,hasSorterChanged=sorter!==prevProps.resourceWorkspaceContext.sorter,hasResourceToScrollChange=Boolean(scrollTo.resource&&scrollTo.resource.id),hasResourcePreviewPasswordChange=prevState.previewedPassword!==this.state.previewedPassword;return(hasFilteredResourcesChanged||hasSingleSelectedResourceChanged||hasSelectedResourcesLengthChanged||hasSorterChanged)&&this.hidePreviewedPassword(),hasFilteredResourcesChanged||hasSelectedResourcesLengthChanged||hasSingleSelectedResourceChanged||hasSorterChanged||hasResourceToScrollChange||hasResourcePreviewPasswordChange}},{key:"createRefs",value:function createRefs(){this.listRef=react_default.a.createRef(),this.dragFeedbackElement=react_default.a.createRef()}},{key:"handleSelectAllChange",value:function handleSelectAllChange(event){var operationName=event.target.checked?"all":"none";this.props.resourceWorkspaceContext.onResourceSelected[operationName]()}},{key:"handleResourceSelected",value:(_handleResourceSelected=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(event,resource){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return event.preventDefault(),event.stopPropagation(),_context.next=4,this.selectResource(resource,event);case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleResourceSelected(_x,_x2){return _handleResourceSelected.apply(this,arguments)})},{key:"handleSelectResources",value:function handleSelectResources(resources){var _this2=this,selectedResources=resources;this.setState({selectedFolders:[],selectedResources:selectedResources},(function(){1===resources.length&&_this2.props.history.push("/app/passwords/view/".concat(resources[0].id))}))}},{key:"handleResourceRightClick",value:function handleResourceRightClick(event,resource){event.preventDefault(),this.handleSelectResources([resource]);var contextualMenuProps={left:event.pageX,top:event.pageY,resource:resource};this.props.contextualMenuContext.show(DisplayResourcesList_DisplayResourcesListContextualMenu,contextualMenuProps)}},{key:"handleCheckboxWrapperClick",value:(_handleCheckboxWrapperClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(event,resource){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.stopPropagation(),!event||!event.shiftKey){_context2.next=7;break}return _context2.next=5,this.props.resourceWorkspaceContext.onResourceSelected.range(resource);case 5:_context2.next=9;break;case 7:return _context2.next=9,this.props.resourceWorkspaceContext.onResourceSelected.multiple(resource);case 9:case"end":return _context2.stop()}}),_callee2,this)}))),function handleCheckboxWrapperClick(_x3,_x4){return _handleCheckboxWrapperClick.apply(this,arguments)})},{key:"handleResourceScroll",value:function handleResourceScroll(){var resourceToScroll=this.props.resourceWorkspaceContext.scrollTo.resource;resourceToScroll&&(this.scrollTo(resourceToScroll.id),this.props.resourceWorkspaceContext.onResourceScrolled())}},{key:"resources",get:function get(){return this.props.resourceWorkspaceContext.filteredResources}},{key:"selectedResources",get:function get(){return this.props.resourceWorkspaceContext.selectedResources}},{key:"canUsePreviewPassword",get:function get(){return this.props.context.siteSettings.canIUse("previewPassword")}},{key:"isResourceSelected",value:function isResourceSelected(resource){return this.props.resourceWorkspaceContext.selectedResources.some((function(selectedResource){return resource.id===selectedResource.id}))}},{key:"handleCopyUsernameClick",value:(_handleCopyUsernameClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(ev,resource){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return ev.stopPropagation(),_context3.next=3,this.props.context.port.request("passbolt.clipboard.copy",resource.username);case 3:this.props.actionFeedbackContext.displaySuccess(this.translate("The username has been copied to clipboard"));case 4:case"end":return _context3.stop()}}),_callee3,this)}))),function handleCopyUsernameClick(_x5,_x6){return _handleCopyUsernameClick.apply(this,arguments)})},{key:"handleCopyPasswordClick",value:(_handleCopyPasswordClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(ev,resource){return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return ev.stopPropagation(),_context4.next=3,this.copyPasswordToClipboard(resource.id);case 3:case"end":return _context4.stop()}}),_callee4,this)}))),function handleCopyPasswordClick(_x7,_x8){return _handleCopyPasswordClick.apply(this,arguments)})},{key:"handlePreviewPasswordButtonClick",value:(_handlePreviewPasswordButtonClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(ev,resourceId){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return ev.stopPropagation(),_context5.next=3,this.togglePreviewPassword(resourceId);case 3:case"end":return _context5.stop()}}),_callee5,this)}))),function handlePreviewPasswordButtonClick(_x9,_x10){return _handlePreviewPasswordButtonClick.apply(this,arguments)})},{key:"extractPlaintextPassword",value:function extractPlaintextPassword(plaintextDto){if(!plaintextDto)throw new TypeError(this.translate("The secret plaintext is empty."));if("string"==typeof plaintextDto)return plaintextDto;if("object"!==typeof_default()(plaintextDto))throw new TypeError("The secret plaintext must be a string or an object.");if(!Object.prototype.hasOwnProperty.call(plaintextDto,"password"))throw new TypeError("The secret plaintext must have a password property.");return plaintextDto.password}},{key:"copyPasswordToClipboard",value:(_copyPasswordToClipboard=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(resourceId){var password,plaintext;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if(!this.isPasswordPreviewed(resourceId)){_context6.next=4;break}password=this.state.previewedPassword.password,_context6.next=16;break;case 4:return _context6.prev=4,_context6.next=7,this.decryptResourceSecret(resourceId);case 7:plaintext=_context6.sent,password=this.extractPlaintextPassword(plaintext),_context6.next=16;break;case 11:if(_context6.prev=11,_context6.t0=_context6.catch(4),"UserAbortsOperationError"===_context6.t0.name){_context6.next=16;break}return this.props.actionFeedbackContext.displayError(_context6.t0.message),_context6.abrupt("return");case 16:return _context6.next=18,this.props.context.port.request("passbolt.clipboard.copy",password);case 18:return _context6.next=20,this.props.resourceWorkspaceContext.onResourceCopied();case 20:return _context6.next=22,this.props.actionFeedbackContext.displaySuccess(this.translate("The secret has been copied to clipboard"));case 22:case"end":return _context6.stop()}}),_callee6,this,[[4,11]])}))),function copyPasswordToClipboard(_x11){return _copyPasswordToClipboard.apply(this,arguments)})},{key:"togglePreviewPassword",value:(_togglePreviewPassword=asyncToGenerator_default()(regenerator_default.a.mark((function _callee7(resourceId){return regenerator_default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:if(!this.isPasswordPreviewed(resourceId)){_context7.next=5;break}this.hidePreviewedPassword(),_context7.next=7;break;case 5:return _context7.next=7,this.previewPassword(resourceId);case 7:case"end":return _context7.stop()}}),_callee7,this)}))),function togglePreviewPassword(_x12){return _togglePreviewPassword.apply(this,arguments)})},{key:"hidePreviewedPassword",value:function hidePreviewedPassword(){this.setState({previewedPassword:null})}},{key:"previewPassword",value:(_previewPassword=asyncToGenerator_default()(regenerator_default.a.mark((function _callee8(resourceId){var password,plaintext,previewedPassword;return regenerator_default.a.wrap((function _callee8$(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:return _context8.prev=0,_context8.next=3,this.decryptResourceSecret(resourceId);case 3:plaintext=_context8.sent,password=this.extractPlaintextPassword(plaintext),previewedPassword={resourceId:resourceId,password:password},this.setState({previewedPassword:previewedPassword}),_context8.next=12;break;case 9:_context8.prev=9,_context8.t0=_context8.catch(0),"UserAbortsOperationError"!==_context8.t0.name&&this.props.actionFeedbackContext.displayError(_context8.t0.message);case 12:case"end":return _context8.stop()}}),_callee8,this,[[0,9]])}))),function previewPassword(_x13){return _previewPassword.apply(this,arguments)})},{key:"decryptResourceSecret",value:function decryptResourceSecret(resourceId){return this.props.context.port.request("passbolt.secret.decrypt",resourceId,{showProgress:!0})}},{key:"handleFavoriteClick",value:(_handleFavoriteClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee9(event,resource){return regenerator_default.a.wrap((function _callee9$(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:return event.stopPropagation(),_context9.next=3,this.handleFavoriteClickDebounced(resource);case 3:case"end":return _context9.stop()}}),_callee9,this)}))),function handleFavoriteClick(_x14,_x15){return _handleFavoriteClick.apply(this,arguments)})},{key:"handleFavoriteUpdate",value:function handleFavoriteUpdate(resource){null===resource.favorite?this.favoriteResource(resource):this.unfavoriteResource(resource)}},{key:"handleSortByColumnClick",value:(_handleSortByColumnClick=asyncToGenerator_default()(regenerator_default.a.mark((function _callee10(event,sortProperty){return regenerator_default.a.wrap((function _callee10$(_context10){for(;;)switch(_context10.prev=_context10.next){case 0:this.props.resourceWorkspaceContext.onSorterChanged(sortProperty);case 1:case"end":return _context10.stop()}}),_callee10,this)}))),function handleSortByColumnClick(_x16,_x17){return _handleSortByColumnClick.apply(this,arguments)})},{key:"handleDragStartEvent",value:(_handleDragStartEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee11(event,resource){var draggedItems,triggerEvent;return regenerator_default.a.wrap((function _callee11$(_context11){for(;;)switch(_context11.prev=_context11.next){case 0:if(event.persist(),this.isResourceSelected(resource)){_context11.next=4;break}return _context11.next=4,this.props.resourceWorkspaceContext.onResourceSelected.single(resource);case 4:event.dataTransfer.setDragImage(this.dragFeedbackElement.current,5,5),draggedItems={resources:this.props.resourceWorkspaceContext.selectedResources,folders:[]},(triggerEvent=document.createEvent("CustomEvent")).initCustomEvent("passbolt.resources.drag-start",!0,!0,draggedItems),document.dispatchEvent(triggerEvent);case 9:case"end":return _context11.stop()}}),_callee11,this)}))),function handleDragStartEvent(_x18,_x19){return _handleDragStartEvent.apply(this,arguments)})},{key:"handleDragEndEvent",value:function handleDragEndEvent(){var trigerEvent=document.createEvent("CustomEvent");trigerEvent.initCustomEvent("passbolt.resources.drag-end",!0,!0),document.dispatchEvent(trigerEvent)}},{key:"selectResource",value:(_selectResource=asyncToGenerator_default()(regenerator_default.a.mark((function _callee12(resource,event){var isMultipleSelection,isRangeSelection;return regenerator_default.a.wrap((function _callee12$(_context12){for(;;)switch(_context12.prev=_context12.next){case 0:if(isMultipleSelection=event&&event.metaKey,isRangeSelection=event&&event.shiftKey,event&&!isMultipleSelection){_context12.next=8;break}return _context12.next=6,this.props.resourceWorkspaceContext.onResourceSelected.multiple(resource);case 6:_context12.next=15;break;case 8:if(!isRangeSelection){_context12.next=13;break}return _context12.next=11,this.props.resourceWorkspaceContext.onResourceSelected.range(resource);case 11:_context12.next=15;break;case 13:return _context12.next=15,this.props.resourceWorkspaceContext.onResourceSelected.single(resource);case 15:case"end":return _context12.stop()}}),_callee12,this)}))),function selectResource(_x20,_x21){return _selectResource.apply(this,arguments)})},{key:"favoriteResource",value:(_favoriteResource=asyncToGenerator_default()(regenerator_default.a.mark((function _callee13(resource){return regenerator_default.a.wrap((function _callee13$(_context13){for(;;)switch(_context13.prev=_context13.next){case 0:return _context13.prev=0,_context13.next=3,this.props.context.port.request("passbolt.favorite.add",resource.id);case 3:this.displaySuccessNotification(this.translate("The password has been added as a favorite")),_context13.next=9;break;case 6:_context13.prev=6,_context13.t0=_context13.catch(0),this.displayErrorNotification(_context13.t0.message);case 9:case"end":return _context13.stop()}}),_callee13,this,[[0,6]])}))),function favoriteResource(_x22){return _favoriteResource.apply(this,arguments)})},{key:"unfavoriteResource",value:(_unfavoriteResource=asyncToGenerator_default()(regenerator_default.a.mark((function _callee14(resource){return regenerator_default.a.wrap((function _callee14$(_context14){for(;;)switch(_context14.prev=_context14.next){case 0:return _context14.prev=0,_context14.next=3,this.props.context.port.request("passbolt.favorite.delete",resource.id);case 3:this.displaySuccessNotification(this.translate("The password has been removed from favorites")),_context14.next=9;break;case 6:_context14.prev=6,_context14.t0=_context14.catch(0),this.displayErrorNotification(_context14.t0.message);case 9:case"end":return _context14.stop()}}),_callee14,this,[[0,6]])}))),function unfavoriteResource(_x23){return _unfavoriteResource.apply(this,arguments)})},{key:"displaySuccessNotification",value:function displaySuccessNotification(message){this.props.actionFeedbackContext.displaySuccess(message)}},{key:"displayErrorNotification",value:function displayErrorNotification(message){this.props.actionFeedbackContext.displayError(message)}},{key:"scrollTo",value:function scrollTo(resourceId){if(null!==this.listRef.current){var resourceIndex=this.resources.findIndex((function(resource){return resource.id===resourceId})),_this$listRef$current=this.listRef.current.getVisibleRange(),_this$listRef$current2=slicedToArray_default()(_this$listRef$current,2),visibleStartIndex=_this$listRef$current2[0],visibleEndIndex=_this$listRef$current2[1];(resourceIndex<visibleStartIndex||resourceIndex>visibleEndIndex)&&this.listRef.current.scrollTo(resourceIndex)}}},{key:"renderTable",value:function renderTable(items,ref){return Object(jsx_runtime.jsx)("table",{style:{MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none"},children:Object(jsx_runtime.jsx)("tbody",{ref:ref,children:items})})}},{key:"isSortedColumn",value:function isSortedColumn(column){return this.props.resourceWorkspaceContext.sorter.propertyName===column}},{key:"isSortedAsc",value:function isSortedAsc(){return this.props.resourceWorkspaceContext.sorter.asc}},{key:"handleGoToResourceUriClick",value:function handleGoToResourceUriClick(resource){this.props.resourceWorkspaceContext.onGoToResourceUriRequested(resource)}},{key:"isPasswordPreviewed",value:function isPasswordPreviewed(resourceId){return this.state.previewedPassword&&this.state.previewedPassword.resourceId===resourceId}},{key:"safeUri",value:function safeUri(resource){return Object(sanitizeUrl.a)(resource.uri,{whiteListedProtocols:ResourceWorkspaceContext.b,defaultProtocol:sanitizeUrl.b.HTTPS})||""}},{key:"renderItem",value:function renderItem(index,key){var _this3=this,resource=this.resources[index],isSelected=this.isResourceSelected(resource),isFavorite=null!==resource.favorite&&void 0!==resource.favorite,safeUri=this.safeUri(resource),modifiedFormatted=luxon.DateTime.fromISO(resource.modified).toRelative({locale:this.props.i18n.lng}),isPasswordPreviewed=this.isPasswordPreviewed(resource.id);return Object(jsx_runtime.jsxs)("tr",{id:"resource_".concat(resource.id),draggable:"true",className:isSelected?"selected":"",unselectable:"range"===this.state.selectStrategy?"on":"",onClick:function onClick(ev){return _this3.handleResourceSelected(ev,resource)},onContextMenu:function onContextMenu(ev){return _this3.handleResourceRightClick(ev,resource)},onDragStart:function onDragStart(event){return _this3.handleDragStartEvent(event,resource)},onDragEnd:function onDragEnd(event){return _this3.handleDragEndEvent(event,resource)},children:[Object(jsx_runtime.jsx)("td",{className:"cell-multiple-select selections s-cell",onClick:function onClick(ev){return _this3.handleCheckboxWrapperClick(ev,resource)},children:Object(jsx_runtime.jsx)("div",{className:"ready",children:Object(jsx_runtime.jsxs)("div",{className:"input checkbox",children:[Object(jsx_runtime.jsx)("input",{type:"checkbox",id:"checkbox_multiple_select_checkbox_".concat(resource.id),checked:isSelected,readOnly:!0}),Object(jsx_runtime.jsx)("label",{htmlFor:"checkbox_multiple_select_checkbox_".concat(resource.id)})]})})}),Object(jsx_runtime.jsx)("td",{className:"cell-favorite selections s-cell",children:Object(jsx_runtime.jsx)("div",{className:"ready",children:Object(jsx_runtime.jsxs)("a",{className:"no-text ".concat(isFavorite?"fav":"unfav"),onClick:function onClick(ev){return _this3.handleFavoriteClick(ev,resource)},children:[Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"star"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:"fav"})]})})}),Object(jsx_runtime.jsx)("td",{className:"cell-name m-cell uri",children:Object(jsx_runtime.jsx)("div",{title:resource.name,children:resource.name})}),Object(jsx_runtime.jsx)("td",{className:"cell-username m-cell username",children:Object(jsx_runtime.jsx)("div",{title:resource.username,children:Object(jsx_runtime.jsx)("a",{onClick:function onClick(ev){return _this3.handleCopyUsernameClick(ev,resource)},children:resource.username})})}),Object(jsx_runtime.jsxs)("td",{className:"cell-secret m-cell password",children:[Object(jsx_runtime.jsx)("div",{className:"secret ".concat(isPasswordPreviewed?"":"secret-copy"),title:isPasswordPreviewed?this.state.previewedPassword.password:"secret",children:Object(jsx_runtime.jsx)("a",{onClick:function(){var _ref=asyncToGenerator_default()(regenerator_default.a.mark((function _callee15(ev){return regenerator_default.a.wrap((function _callee15$(_context15){for(;;)switch(_context15.prev=_context15.next){case 0:return _context15.abrupt("return",_this3.handleCopyPasswordClick(ev,resource));case 1:case"end":return _context15.stop()}}),_callee15)})));return function(_x24){return _ref.apply(this,arguments)}}(),children:Object(jsx_runtime.jsxs)("span",{children:[isPasswordPreviewed&&this.state.previewedPassword.password,!isPasswordPreviewed&&"Copy password to clipboard"]})})}),this.canUsePreviewPassword&&Object(jsx_runtime.jsxs)("a",{onClick:function(){var _ref2=asyncToGenerator_default()(regenerator_default.a.mark((function _callee16(ev){return regenerator_default.a.wrap((function _callee16$(_context16){for(;;)switch(_context16.prev=_context16.next){case 0:return _context16.abrupt("return",_this3.handlePreviewPasswordButtonClick(ev,resource.id));case 1:case"end":return _context16.stop()}}),_callee16)})));return function(_x25){return _ref2.apply(this,arguments)}}(),className:"password-view button button-icon button-toggle ".concat(this.isPasswordPreviewed(resource.id)?"selected":""),children:[Object(jsx_runtime.jsx)(Icon.a,{name:"eye-open",baseline:!0}),Object(jsx_runtime.jsx)("span",{className:"visually-hidden",children:"view"})]})]}),Object(jsx_runtime.jsx)("td",{className:"cell-uri l-cell",children:Object(jsx_runtime.jsxs)("div",{title:resource.uri,children:[safeUri&&Object(jsx_runtime.jsx)("a",{onClick:function onClick(){return _this3.handleGoToResourceUriClick(resource)},children:resource.uri}),!safeUri&&Object(jsx_runtime.jsx)("span",{children:resource.uri})]})}),Object(jsx_runtime.jsx)("td",{className:"cell-modified m-cell",children:Object(jsx_runtime.jsx)("div",{title:resource.modified,children:modifiedFormatted})})]},key)}},{key:"renderDragFeedback",value:function renderDragFeedback(){var _this4=this,isSelected=this.props.resourceWorkspaceContext.selectedResources.length>0,isMultipleSelected=this.props.resourceWorkspaceContext.selectedResources.length>1,dragFeedbackText="",dragElementClassname="";if(isSelected){var firstSelectedResource=this.resources.find((function _isSelected(resource){return resource.id===_this4.props.resourceWorkspaceContext.selectedResources[0].id}));firstSelectedResource&&(dragElementClassname=isMultipleSelected?"drag-and-drop-multiple":"drag-and-drop",dragFeedbackText=firstSelectedResource.name)}return Object(jsx_runtime.jsxs)("div",{ref:this.dragFeedbackElement,className:dragElementClassname,children:[dragFeedbackText,isMultipleSelected&&Object(jsx_runtime.jsx)("span",{className:"count",children:this.props.resourceWorkspaceContext.selectedResources.length})]})}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this5=this,isReady=null!==this.resources,isEmpty=isReady&&0===this.resources.length,selectAll=isReady&&this.resources.length===this.selectedResources.length,filterType=this.props.resourceWorkspaceContext.filter.type;return Object(jsx_runtime.jsx)("div",{className:"tableview ready ".concat(isEmpty?"empty":""," ").concat(["default","modified"].includes(filterType)?"all_items":""),children:Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[isEmpty&&filterType===ResourceWorkspaceContext.a.TEXT&&Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h2",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"None of your passwords matched this search."})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Try another search or use the left panel to navigate into your passwords."})})]}),isEmpty&&filterType===ResourceWorkspaceContext.a.FAVORITE&&Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h2",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"None of your passwords are yet marked as favorite."})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Add stars to passwords you want to easily find later."})})]}),isEmpty&&filterType===ResourceWorkspaceContext.a.GROUP&&Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h2",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"No passwords are shared with this group yet."})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Share a password with this group or wait for a team member to share one with this group."})})]}),isEmpty&&filterType===ResourceWorkspaceContext.a.FOLDER&&Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h2",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"No passwords in this folder yet."})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"It does feel a bit empty here."})})]}),isEmpty&&filterType===ResourceWorkspaceContext.a.SHARED_WITH_ME&&Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h2",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"No passwords are shared with you yet."})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"It does feel a bit empty here. Wait for a team member to share a password with you."})})]}),isEmpty&&(filterType===ResourceWorkspaceContext.a.ITEMS_I_OWN||filterType===ResourceWorkspaceContext.a.RECENTLY_MODIFIED||filterType===ResourceWorkspaceContext.a.ALL)&&Object(jsx_runtime.jsx)(react_default.a.Fragment,{children:Object(jsx_runtime.jsxs)("div",{className:"empty-content",children:[Object(jsx_runtime.jsx)("h1",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Welcome to passbolt!"})}),Object(jsx_runtime.jsx)("p",{children:Object(jsx_runtime.jsxs)(Trans.a,{children:["It does feel a bit empty here. Create your first password or",Object(jsx_runtime.jsx)("br",{}),"wait for a team member to share one with you."]})})]})}),!isEmpty&&Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[this.renderDragFeedback(),Object(jsx_runtime.jsx)("div",{className:"tableview-header",children:Object(jsx_runtime.jsx)("table",{children:Object(jsx_runtime.jsx)("thead",{children:Object(jsx_runtime.jsxs)("tr",{children:[Object(jsx_runtime.jsx)("th",{className:"cell-multiple-select selections s-cell",children:Object(jsx_runtime.jsxs)("div",{className:"input checkbox",children:[Object(jsx_runtime.jsx)("input",{type:"checkbox",name:"select all",checked:selectAll,onChange:this.handleSelectAllChange}),Object(jsx_runtime.jsx)("label",{htmlFor:"js-passwords-select-all",children:"select all"})]})}),Object(jsx_runtime.jsx)("th",{className:"cell-favorite selections s-cell sortable",children:Object(jsx_runtime.jsxs)("a",{onClick:function onClick(ev){return _this5.handleSortByColumnClick(ev,"favorite")},className:"unfav",children:[Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"star"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:"fav"}),this.isSortedColumn("favorite")&&this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-up"}),this.isSortedColumn("favorite")&&!this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-down"})]})}),Object(jsx_runtime.jsx)("th",{className:"cell-name m-cell sortable",children:Object(jsx_runtime.jsxs)("a",{onClick:function onClick(ev){return _this5.handleSortByColumnClick(ev,"name")},children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Resource"}),this.isSortedColumn("name")&&this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-up"}),this.isSortedColumn("name")&&!this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-down"})]})}),Object(jsx_runtime.jsx)("th",{className:"cell-username m-cell username sortable",children:Object(jsx_runtime.jsxs)("a",{onClick:function onClick(ev){return _this5.handleSortByColumnClick(ev,"username")},children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Username"}),this.isSortedColumn("username")&&this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-up"}),this.isSortedColumn("username")&&!this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-down"})]})}),Object(jsx_runtime.jsx)("th",{className:"cell-secret m-cell password",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Password"})}),Object(jsx_runtime.jsx)("th",{className:"cell-uri l-cell sortable",children:Object(jsx_runtime.jsxs)("a",{onClick:function onClick(ev){return _this5.handleSortByColumnClick(ev,"uri")},children:[Object(jsx_runtime.jsx)(Trans.a,{children:"URI"}),this.isSortedColumn("uri")&&this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-up"}),this.isSortedColumn("uri")&&!this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-down"})]})}),Object(jsx_runtime.jsx)("th",{className:"cell-modified m-cell sortable",children:Object(jsx_runtime.jsxs)("a",{onClick:function onClick(ev){return _this5.handleSortByColumnClick(ev,"modified")},children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Modified"}),this.isSortedColumn("modified")&&this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-up"}),this.isSortedColumn("modified")&&!this.isSortedAsc()&&Object(jsx_runtime.jsx)(Icon.a,{baseline:!0,name:"caret-down"})]})})]})})})}),isReady&&Object(jsx_runtime.jsx)("div",{className:"tableview-content scroll",children:Object(jsx_runtime.jsx)(react_list_default.a,{itemRenderer:function itemRenderer(index,key){return _this5.renderItem(index,key)},itemsRenderer:function itemsRenderer(items,ref){return _this5.renderTable(items,ref)},length:this.resources.length,pageSize:20,minSize:20,type:"uniform",ref:this.listRef})})]})]})})}}]),DisplayResourcesList}(react_default.a.Component);DisplayResourcesList_DisplayResourcesList.propTypes={context:prop_types_default.a.any,resourceWorkspaceContext:prop_types_default.a.any,actionFeedbackContext:prop_types_default.a.any,contextualMenuContext:prop_types_default.a.any,history:prop_types_default.a.any,t:prop_types_default.a.func,i18n:prop_types_default.a.any},DisplayResourcesList_DisplayResourcesList.__docgenInfo={description:"This component allows to display the filtered resources into a grid",methods:[{name:"getDefaultState",docblock:"Returns the component default state",modifiers:[],params:[],returns:null,description:"Returns the component default state"},{name:"initEventHandlers",docblock:"Initialize the component event handlers",modifiers:[],params:[],returns:null,description:"Initialize the component event handlers"},{name:"createRefs",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"handleSelectAllChange",docblock:"Handle the All resources selection\n@param event The DOM event",modifiers:[],params:[{name:"event",description:"The DOM event",type:null,optional:!1}],returns:null,description:"Handle the All resources selection"},{name:"handleResourceSelected",docblock:"Handle the resource selection\n@param event The DOM event\n@param resource The selected resource",modifiers:["async"],params:[{name:"event",description:"The DOM event",type:null,optional:!1},{name:"resource",description:"The selected resource",type:null,optional:!1}],returns:null,description:"Handle the resource selection"},{name:"handleSelectResources",docblock:"Handle when the user selects an element in the grid.\n@param {array} resources The selected resources",modifiers:[],params:[{name:"resources",description:"The selected resources",type:{name:"array"},optional:!1}],returns:null,description:"Handle when the user selects an element in the grid."},{name:"handleResourceRightClick",docblock:"Handle the right click on a resource\n@param event\n@param resource",modifiers:[],params:[{name:"event",description:null,type:null,optional:!1},{name:"resource",description:null,type:null,optional:!1}],returns:null,description:"Handle the right click on a resource"},{name:"handleCheckboxWrapperClick",docblock:null,modifiers:["async"],params:[{name:"event",type:null},{name:"resource",type:null}],returns:null},{name:"handleResourceScroll",docblock:"Handles the initial resource scroll ( with a specific manual resource url /password/view/:id )",modifiers:[],params:[],returns:null,description:"Handles the initial resource scroll ( with a specific manual resource url /password/view/:id )"},{name:"resources",docblock:"Returns the current list of filtered resources to display",modifiers:["get"],params:[],returns:null,description:"Returns the current list of filtered resources to display"},{name:"selectedResources",docblock:"Returns the current list of selected resources",modifiers:["get"],params:[],returns:null,description:"Returns the current list of selected resources"},{name:"canUsePreviewPassword",docblock:"Returns true if the logged in user can use the preview password capability.\n@returns {boolean}",modifiers:["get"],params:[],returns:{description:null,type:{name:"boolean"}},description:"Returns true if the logged in user can use the preview password capability."},{name:"isResourceSelected",docblock:"Returns true if the given resource is selected\n@param resource A resource",modifiers:[],params:[{name:"resource",description:"A resource",type:null,optional:!1}],returns:null,description:"Returns true if the given resource is selected"},{name:"handleCopyUsernameClick",docblock:null,modifiers:["async"],params:[{name:"ev",type:null},{name:"resource",type:null}],returns:null},{name:"handleCopyPasswordClick",docblock:"Handle copy password button click.",modifiers:["async"],params:[{name:"ev"},{name:"resource"}],returns:null,description:"Handle copy password button click."},{name:"handlePreviewPasswordButtonClick",docblock:"Handle preview password button click.",modifiers:["async"],params:[{name:"ev"},{name:"resourceId"}],returns:null,description:"Handle preview password button click."},{name:"extractPlaintextPassword",docblock:"Get the password property from a secret plaintext object.\n@param {string|object} plaintextDto The secret plaintext\n@returns {string}",modifiers:[],params:[{name:"plaintextDto",description:"The secret plaintext",type:{name:"union",elements:[{name:"string"},{name:"object"}]},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Get the password property from a secret plaintext object."},{name:"copyPasswordToClipboard",docblock:"Copy a resource secret to clipboard.\n@param {string} resourceId The target resource id\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resourceId",description:"The target resource id",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Copy a resource secret to clipboard."},{name:"togglePreviewPassword",docblock:"Toggle preview password for a given resource\n@param {string} resourceId The resource id to preview the password for\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resourceId",description:"The resource id to preview the password for",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle preview password for a given resource"},{name:"hidePreviewedPassword",docblock:"Hide the previewed resource password.",modifiers:[],params:[],returns:null,description:"Hide the previewed resource password."},{name:"previewPassword",docblock:"Preview password for a given resource\n@param {string} resourceId The resource id to preview the password for\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"resourceId",description:"The resource id to preview the password for",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Preview password for a given resource"},{name:"decryptResourceSecret",docblock:"Decrypt the resource secret\n@param {string} resourceId The target resource id\n@returns {Promise<object>} The secret in plaintext format\n@throw UserAbortsOperationError If the user cancel the operation",modifiers:[],params:[{name:"resourceId",description:"The target resource id",type:{name:"string"},optional:!1}],returns:{description:"The secret in plaintext format",type:{name:"Promise",elements:[{name:"object"}]}},description:"Decrypt the resource secret"},{name:"handleFavoriteClick",docblock:null,modifiers:["async"],params:[{name:"event",type:null},{name:"resource",type:null}],returns:null},{name:"handleFavoriteUpdate",docblock:null,modifiers:[],params:[{name:"resource",type:null}],returns:null},{name:"handleSortByColumnClick",docblock:"Handle the resource sorter change\n@param event A DOM event\n@param sortProperty The resource property to sort on",modifiers:["async"],params:[{name:"event",description:"A DOM event",type:null,optional:!1},{name:"sortProperty",description:"The resource property to sort on",type:null,optional:!1}],returns:null,description:"Handle the resource sorter change"},{name:"handleDragStartEvent",docblock:"Handle the drag start on the selected resource\n@param event The DOM event\n@param resource The selected resource\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"event",description:"The DOM event",type:null,optional:!1},{name:"resource",description:"The selected resource",type:null,optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Handle the drag start on the selected resource"},{name:"handleDragEndEvent",docblock:null,modifiers:[],params:[],returns:null},{name:"selectResource",docblock:"Select the resource given the selection event.\nIf no event is provided, the selection is considered as multiple\n@param resource",modifiers:["async"],params:[{name:"resource",description:null,type:null,optional:!1},{name:"event"}],returns:null,description:"Select the resource given the selection event.\nIf no event is provided, the selection is considered as multiple"},{name:"favoriteResource",docblock:null,modifiers:["async"],params:[{name:"resource",type:null}],returns:null},{name:"unfavoriteResource",docblock:null,modifiers:["async"],params:[{name:"resource",type:null}],returns:null},{name:"displaySuccessNotification",docblock:"Display success notification (toaster)\n@param message",modifiers:[],params:[{name:"message",description:null,type:null,optional:!1}],returns:null,description:"Display success notification (toaster)"},{name:"displayErrorNotification",docblock:"Display error notification (toaster)\n@param message",modifiers:[],params:[{name:"message",description:null,type:null,optional:!1}],returns:null,description:"Display error notification (toaster)"},{name:"scrollTo",docblock:null,modifiers:[],params:[{name:"resourceId",type:null}],returns:null},{name:"renderTable",docblock:null,modifiers:[],params:[{name:"items",type:null},{name:"ref",type:null}],returns:null},{name:"isSortedColumn",docblock:"Check if the grid is sorted for a given column\n@param column The column name",modifiers:[],params:[{name:"column",description:"The column name",type:null,optional:!1}],returns:null,description:"Check if the grid is sorted for a given column"},{name:"isSortedAsc",docblock:"Check if the sort is ascendant.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the sort is ascendant."},{name:"handleGoToResourceUriClick",docblock:"Whenever the user wants to follow a resource uri.\n@param {object} resource The resource",modifiers:[],params:[{name:"resource",description:"The resource",type:{name:"object"},optional:!1}],returns:null,description:"Whenever the user wants to follow a resource uri."},{name:"isPasswordPreviewed",docblock:"Check if the password of the given resource is previewed.\n@param {string} resourceId The resource id\n@returns {boolean}",modifiers:[],params:[{name:"resourceId",description:"The resource id",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if the password of the given resource is previewed."},{name:"safeUri",docblock:"Get safe uri of a resource\n@param {object} resource The resource to get the safe uri for\n@return {string}",modifiers:[],params:[{name:"resource",description:"The resource to get the safe uri for",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Get safe uri of a resource"},{name:"renderItem",docblock:null,modifiers:[],params:[{name:"index",type:null},{name:"key",type:null}],returns:null},{name:"renderDragFeedback",docblock:"Render the drag tooltip of the selected resources\n@returns {JSX.Element}",modifiers:[],params:[],returns:{description:null,type:{name:"JSX.Element"}},description:"Render the drag tooltip of the selected resources"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourcesList",props:{context:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},contextualMenuContext:{type:{name:"any"},required:!1,description:""},history:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""},i18n:{type:{name:"any"},required:!1,description:""}}};var Resource_DisplayResourcesList_DisplayResourcesList=Object(AppContext.b)(Object(react_router.c)(Object(ActionFeedbackContext.a)(Object(ContextualMenuContext.a)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourcesList_DisplayResourcesList))))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js"]={name:"DisplayResourcesList",docgenInfo:DisplayResourcesList_DisplayResourcesList.__docgenInfo,path:"src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js"});__webpack_exports__.default={title:"Passbolt/Resource/DisplayResourcesList",component:Resource_DisplayResourcesList_DisplayResourcesList};var defaultContext={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toLocaleString()},canIUse:function canIUse(){return!0}}},DisplayResourcesList_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:defaultContext,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_DisplayResourcesList_DisplayResourcesList,Object.assign({},args,routerProps))}})})})};DisplayResourcesList_test_stories_Template.displayName="Template";var Empty=DisplayResourcesList_test_stories_Template.bind({}),Populated=DisplayResourcesList_test_stories_Template.bind({});Populated.args={resourceWorkspaceContext:{filteredResources:[{id:"8e3874ae-4b40-590b-968a-418f704b9d9a",name:"apache",username:"www-data",uri:"http://www.apache.org/",description:"Apache is the world's most used web server software.",deleted:!1,created:"2020-08-25T08:35:19+00:00",modified:"2020-08-26T08:35:19+00:00",created_by:"f848277c-5398-58f8-a82a-72397af2d450",modified_by:"f848277c-5398-58f8-a82a-72397af2d450",favorite:{id:"56216dba-b6da-592b-87cb-fb5cbbd0a424",user_id:"f848277c-5398-58f8-a82a-72397af2d450",foreign_key:"8e3874ae-4b40-590b-968a-418f704b9d9a",foreign_model:"Resource",created:"2020-08-27T08:35:21+00:00",modified:"2020-08-27T08:35:21+00:00"},permission:{id:"8dfd59a7-852d-5c57-bd45-75c28bbb3f6c",aco:"Resource",aco_foreign_key:"8e3874ae-4b40-590b-968a-418f704b9d9a",aro:"User",aro_foreign_key:"f848277c-5398-58f8-a82a-72397af2d450",type:15,created:"2020-08-27T08:35:19+00:00",modified:"2020-08-27T08:35:19+00:00"}}],selectedResources:[],filter:{type:ResourceWorkspaceContext.a.ALL},sorter:{propertyName:"asc"}}},Empty.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={defaultContext}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourcesList {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Empty.parameters),Populated.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={defaultContext}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourcesList {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Populated.parameters)},1650:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),classCallCheck=(__webpack_require__(87),__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),prop_types=(__webpack_require__(44),__webpack_require__(212),__webpack_require__(38),__webpack_require__(247),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),Icon=__webpack_require__(17),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var SearchBar_SearchBar=function(_Component){inherits_default()(SearchBar,_Component);var _super=_createSuper(SearchBar);function SearchBar(props){var _this;return classCallCheck_default()(this,SearchBar),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this.createReferences(),_this}return createClass_default()(SearchBar,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleChangeEvent=this.handleChangeEvent.bind(this),this.handleOnSubmitEvent=this.handleOnSubmitEvent.bind(this)}},{key:"getDefaultState",value:function getDefaultState(){return{}}},{key:"createReferences",value:function createReferences(){this.searchInputRef=react_default.a.createRef()}},{key:"handleChangeEvent",value:function handleChangeEvent(event){var text=event.target.value;this.props.onSearch&&this.props.onSearch(text)}},{key:"handleOnSubmitEvent",value:function handleOnSubmitEvent(event){if(event.preventDefault(),this.props.onSearch){var text=this.searchInputRef.current.value;this.props.onSearch(text)}}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)("div",{className:"col2 search-wrapper",children:Object(jsx_runtime.jsxs)("form",{className:"search",onSubmit:this.handleOnSubmitEvent,children:[Object(jsx_runtime.jsxs)("div",{className:"input search required",children:[Object(jsx_runtime.jsx)("label",{children:"Search"}),Object(jsx_runtime.jsx)("input",{ref:this.searchInputRef,className:"required",type:"search",disabled:this.props.disabled?"disabled":"",onChange:this.handleChangeEvent,placeholder:this.props.placeholder,value:this.props.value})]}),Object(jsx_runtime.jsxs)("button",{value:"search",type:"submit",disabled:this.props.disabled?"disabled":"",children:[Object(jsx_runtime.jsx)(Icon.a,{name:"search"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:"Search"})]})]})})}}]),SearchBar}(react.Component);SearchBar_SearchBar.propTypes={disabled:prop_types_default.a.bool,onSearch:prop_types_default.a.func,placeholder:prop_types_default.a.string,value:prop_types_default.a.string},SearchBar_SearchBar.defaultProps={disabled:!1,placeholder:"Search"},SearchBar_SearchBar.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"createReferences",docblock:"Create elements references",modifiers:[],params:[],returns:null,description:"Create elements references"},{name:"handleChangeEvent",docblock:"Handle search input change\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle search input change"},{name:"handleOnSubmitEvent",docblock:"Handle on submit\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle on submit"}],displayName:"SearchBar",props:{disabled:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},placeholder:{defaultValue:{value:"'Search'",computed:!1},type:{name:"string"},required:!1,description:""},onSearch:{type:{name:"func"},required:!1,description:""},value:{type:{name:"string"},required:!1,description:""}}};var Search_SearchBar=SearchBar_SearchBar;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Navigation/Search/SearchBar.js"]={name:"SearchBar",docgenInfo:SearchBar_SearchBar.__docgenInfo,path:"src/react/components/Common/Navigation/Search/SearchBar.js"});var ResourceWorkspaceContext=__webpack_require__(11);function FilterResourcesByText_createSuper(Derived){var hasNativeReflectConstruct=function FilterResourcesByText_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByText_FilterResourcesByText=function(_Component){inherits_default()(FilterResourcesByText,_Component);var _super=FilterResourcesByText_createSuper(FilterResourcesByText);function FilterResourcesByText(props){var _this;return classCallCheck_default()(this,FilterResourcesByText),(_this=_super.call(this,props)).state=_this.defaultState,_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByText,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleSearchEvent=this.handleSearchEvent.bind(this)}},{key:"defaultState",get:function get(){return{text:"",debounceTimeoutIt:null}}},{key:"componentDidUpdate",value:function componentDidUpdate(previousProps){this.handleFilterChanged(previousProps.resourceWorkspaceContext.filter)}},{key:"componentWillUnmount",value:function componentWillUnmount(){clearTimeout(this.state.debounceTimeoutIt)}},{key:"handleFilterChanged",value:function handleFilterChanged(previousFilter){var wasTextFilter=previousFilter.type===ResourceWorkspaceContext.a.TEXT,isTextFilter=this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.TEXT;wasTextFilter&&!isTextFilter&&this.setState({text:""})}},{key:"handleSearchEvent",value:function handleSearchEvent(text){this.search(text)}},{key:"search",value:function search(text){var _this2=this;clearTimeout(this.state.debounceTimeoutId);var debounceTimeoutId=setTimeout((function(){var filter=_this2.generateFilter(text);_this2.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}),300);this.setState({debounceTimeoutId:debounceTimeoutId,text:text})}},{key:"generateFilter",value:function generateFilter(text){return text.length>0?{type:ResourceWorkspaceContext.a.TEXT,payload:text}:{type:ResourceWorkspaceContext.a.ALL}}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)(Search_SearchBar,{disabled:this.props.disabled,onSearch:this.handleSearchEvent,placeholder:this.props.placeholder,value:this.state.text})}}]),FilterResourcesByText}(react.Component);FilterResourcesByText_FilterResourcesByText.propTypes={disabled:prop_types_default.a.bool,placeholder:prop_types_default.a.string,resourceWorkspaceContext:prop_types_default.a.object,history:prop_types_default.a.object},FilterResourcesByText_FilterResourcesByText.defaultProps={disabled:!1,placeholder:"Search"},FilterResourcesByText_FilterResourcesByText.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"defaultState",docblock:"Get default state\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"handleFilterChanged",docblock:"Whenever the resource filter changed",modifiers:[],params:[{name:"previousFilter"}],returns:null,description:"Whenever the resource filter changed"},{name:"handleSearchEvent",docblock:"Handle search input change\n@params {string} text The entered text",modifiers:[],params:[{name:"text"}],returns:null,description:"Handle search input change"},{name:"search",docblock:"Search for the text\n@param text",modifiers:[],params:[{name:"text",description:null,type:null,optional:!1}],returns:null,description:"Search for the text"},{name:"generateFilter",docblock:"Generate the filter to apply on resources\n@param text\n@returns {{payload, type: string}|{type: string}}",modifiers:[],params:[{name:"text",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"union",elements:[null,null]}},description:"Generate the filter to apply on resources"}],displayName:"FilterResourcesByText",props:{disabled:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},placeholder:{defaultValue:{value:"'Search'",computed:!1},type:{name:"string"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""}}};var Resource_FilterResourcesByText_FilterResourcesByText=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(FilterResourcesByText_FilterResourcesByText));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.js"]={name:"FilterResourcesByText",docgenInfo:FilterResourcesByText_FilterResourcesByText.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByText/FilterResourcesByText.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByText",component:Resource_FilterResourcesByText_FilterResourcesByText};var FilterResourcesByText_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByText_FilterResourcesByText,Object.assign({},args,routerProps))}})})};FilterResourcesByText_test_stories_Template.displayName="Template";var Initial=FilterResourcesByText_test_stories_Template.bind({});Initial.parameters=Object.assign({storySource:{source:"args =>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <FilterResourcesByText {...args} {...routerProps}/>}></Route>\n </MemoryRouter>"}},Initial.parameters)},1651:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"DecryptedDescription",(function(){return DecryptedDescription}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),UserSettings=(__webpack_require__(87),__webpack_require__(115)),userSettings=__webpack_require__(116),asyncToGenerator=(__webpack_require__(19),__webpack_require__(4)),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),prop_types=(__webpack_require__(16),__webpack_require__(27),__webpack_require__(20),__webpack_require__(37),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),Icon=__webpack_require__(17),defineProperty=__webpack_require__(34),defineProperty_default=__webpack_require__.n(defineProperty),ActionFeedbackContext=(__webpack_require__(14),__webpack_require__(48)),LoadingContext=__webpack_require__(114),Tooltip=__webpack_require__(118),ResourceWorkspaceContext=__webpack_require__(11),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var EditResourceDescription_EditResourceDescription=function(_React$Component){inherits_default()(EditResourceDescription,_React$Component);var _handleDescriptionToggle,_handleFormSubmit,_updateWithEncryptedDescription,_updateCleartextDescription,_updateResource,_save,_super=_createSuper(EditResourceDescription);function EditResourceDescription(props){var _this;return classCallCheck_default()(this,EditResourceDescription),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this.createInputRef(),_this}return createClass_default()(EditResourceDescription,[{key:"getDefaultState",value:function getDefaultState(){return{encryptDescription:!1,description:void 0,plaintextDto:void 0,loading:!0,processing:!1,error:""}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleEditorClickEvent=this.handleEditorClickEvent.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleDescriptionToggle=this.handleDescriptionToggle.bind(this)}},{key:"createInputRef",value:function createInputRef(){this.elementRef=react_default.a.createRef(),this.textareaRef=react_default.a.createRef()}},{key:"componentDidMount",value:function componentDidMount(){this.handleOutsideEditorClickEvent();var state={loading:!1,plaintextDto:this.props.plaintextDto,description:this.props.description,encryptDescription:this.mustEncryptDescription()};this.setState(state,this.setFocusOnDescriptionEditor.bind(this))}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.removeOutsideEditorClickEvent()}},{key:"mustEncryptDescription",value:function mustEncryptDescription(){return this.context.resourceTypesSettings.mustEncryptDescription(this.props.resource.resource_type_id)}},{key:"resourceTypesSettings",get:function get(){return this.context.resourceTypesSettings}},{key:"isEncryptedDescriptionEnabled",value:function isEncryptedDescriptionEnabled(){return this.resourceTypesSettings.isEncryptedDescriptionEnabled()}},{key:"areResourceTypesEnabled",value:function areResourceTypesEnabled(){return this.resourceTypesSettings.areResourceTypesEnabled()}},{key:"description",get:function get(){return this.state.description}},{key:"plaintextDto",get:function get(){return this.state.plaintextDto}},{key:"save",value:(_save=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return this.setState({processing:!0}),_context.prev=1,_context.next=4,this.updateResource();case 4:return _context.next=6,this.props.actionFeedbackContext.displaySuccess(this.translate("The description has been updated successfully"));case 6:return _context.next=8,this.props.resourceWorkspaceContext.onResourceDescriptionEdited();case 8:this.close(),_context.next=14;break;case 11:_context.prev=11,_context.t0=_context.catch(1),"UserAbortsOperationError"===_context.t0.name?this.setState({processing:!1}):(console.error(_context.t0),this.setState({error:_context.t0.message,processing:!1}));case 14:case"end":return _context.stop()}}),_callee,this,[[1,11]])}))),function save(){return _save.apply(this,arguments)})},{key:"updateResource",value:(_updateResource=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(this.state.encryptDescription){_context2.next=2;break}return _context2.abrupt("return",this.updateCleartextDescription());case 2:return _context2.abrupt("return",this.updateWithEncryptedDescription());case 3:case"end":return _context2.stop()}}),_callee2,this)}))),function updateResource(){return _updateResource.apply(this,arguments)})},{key:"updateCleartextDescription",value:(_updateCleartextDescription=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){var resourceDto;return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return(resourceDto=Object.assign({},this.props.resource)).description=this.description,_context3.abrupt("return",this.context.port.request("passbolt.resources.update",resourceDto,null));case 3:case"end":return _context3.stop()}}),_callee3,this)}))),function updateCleartextDescription(){return _updateCleartextDescription.apply(this,arguments)})},{key:"updateWithEncryptedDescription",value:(_updateWithEncryptedDescription=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var resourceDto,plaintextDto,password;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if((resourceDto=Object.assign({},this.props.resource)).description="",resourceDto.resource_type_id=this.context.resourceTypesSettings.findResourceTypeIdBySlug(this.context.resourceTypesSettings.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_AND_DESCRIPTION),plaintextDto={},void 0!==this.plaintextDto){_context4.next=11;break}return _context4.next=7,this.context.port.request("passbolt.secret.decrypt",resourceDto.id,{showProgress:!1});case 7:password=_context4.sent,plaintextDto.password=password,_context4.next=12;break;case 11:plaintextDto=Object.assign({},this.plaintextDto);case 12:return plaintextDto.description=this.description,_context4.next=15,this.setState({plaintextDto:plaintextDto});case 15:return _context4.abrupt("return",this.context.port.request("passbolt.resources.update",resourceDto,plaintextDto));case 16:case"end":return _context4.stop()}}),_callee4,this)}))),function updateWithEncryptedDescription(){return _updateWithEncryptedDescription.apply(this,arguments)})},{key:"close",value:function close(){return this.props.onClose(this.description,this.plaintextDto)}},{key:"removeOutsideEditorClickEvent",value:function removeOutsideEditorClickEvent(){document.removeEventListener("click",this.handleEditorClickEvent)}},{key:"handleOutsideEditorClickEvent",value:function handleOutsideEditorClickEvent(){document.addEventListener("click",this.handleEditorClickEvent)}},{key:"setFocusOnDescriptionEditor",value:function setFocusOnDescriptionEditor(){var descriptionLength=this.description?this.description.length:0;this.textareaRef.current.selectionStart=descriptionLength,this.textareaRef.current.selectionEnd=descriptionLength,this.textareaRef.current.focus()}},{key:"handleEditorClickEvent",value:function handleEditorClickEvent(event){this.elementRef.current.contains(event.target)||this.state.processing||this.close()}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"handleKeyDown",value:function handleKeyDown(event){27===event.keyCode&&(event.stopPropagation(),this.close())}},{key:"handleCancel",value:function handleCancel(){this.close()}},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value=target.value,name=target.name;this.setState(defineProperty_default()({},name,value))}},{key:"handleFormSubmit",value:(_handleFormSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(event){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:if(event.preventDefault(),this.state.processing){_context5.next=6;break}return this.props.loadingContext.add(),_context5.next=5,this.save();case 5:this.props.loadingContext.remove();case 6:case"end":return _context5.stop()}}),_callee5,this)}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleDescriptionToggle",value:(_handleDescriptionToggle=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(event){var encrypt;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if(event.nativeEvent.stopImmediatePropagation(),this.isEncryptedDescriptionEnabled()||this.state.encryptDescription){_context6.next=3;break}return _context6.abrupt("return");case 3:this.mustEncryptDescription()||(encrypt=!this.state.encryptDescription,this.setState({encryptDescription:encrypt}));case 4:case"end":return _context6.stop()}}),_callee6,this)}))),function handleDescriptionToggle(_x2){return _handleDescriptionToggle.apply(this,arguments)})},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsx)("form",{onKeyDown:this.handleKeyDown,noValidate:!0,className:"description-editor",children:Object(jsx_runtime.jsxs)("div",{className:"form-content",ref:this.elementRef,children:[Object(jsx_runtime.jsx)("div",{className:"input textarea required",children:Object(jsx_runtime.jsx)("textarea",{name:"description",className:"fluid",ref:this.textareaRef,maxLength:"10000",placeholder:this.translate("Enter a description"),value:this.description,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled(),autoComplete:"off"})}),this.state.error&&Object(jsx_runtime.jsx)("div",{className:"feedbacks message error",children:this.state.error}),Object(jsx_runtime.jsxs)("div",{className:"actions",children:[Object(jsx_runtime.jsx)("a",{className:"button description-editor-submit ".concat(this.hasAllInputDisabled()?"primary processing disabled":""),onClick:this.handleFormSubmit,role:"button",children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Save"})})}),Object(jsx_runtime.jsx)("a",{className:"cancel button ".concat(this.hasAllInputDisabled()?"disabled":""),role:"button",onClick:this.handleCancel,children:Object(jsx_runtime.jsx)(Trans.a,{children:"Cancel"})}),Object(jsx_runtime.jsxs)("div",{className:"description-lock",children:[!this.areResourceTypesEnabled()&&Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("Do not store sensitive data. Unlike the password, this data is not encrypted. Upgrade to version 3 to encrypt this information."),icon:"info-circle"}),this.areResourceTypesEnabled()&&!this.state.encryptDescription&&Object(jsx_runtime.jsx)("a",{role:"button",onClick:function onClick(event){return _this2.handleDescriptionToggle(event)},className:"lock-toggle",children:Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("Do not store sensitive data or click here to enable encryption for the description field."),icon:"lock-open"})}),this.areResourceTypesEnabled()&&this.state.encryptDescription&&Object(jsx_runtime.jsx)("a",{role:"button",onClick:function onClick(event){return _this2.handleDescriptionToggle(event)},className:"lock-toggle",children:Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("The description content will be encrypted."),icon:"lock"})})]})]})]})})}}]),EditResourceDescription}(react_default.a.Component);EditResourceDescription_EditResourceDescription.contextType=AppContext.a,EditResourceDescription_EditResourceDescription.propTypes={description:prop_types_default.a.string,resource:prop_types_default.a.any,plaintextDto:prop_types_default.a.any,onClose:prop_types_default.a.func,resourceWorkspaceContext:prop_types_default.a.any,actionFeedbackContext:prop_types_default.a.any,loadingContext:prop_types_default.a.any,t:prop_types_default.a.func},EditResourceDescription_EditResourceDescription.__docgenInfo={description:"This component allows the current user to edit the description of a resource",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"createInputRef",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"mustEncryptDescription",docblock:"Must the description be kept encrypted?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Must the description be kept encrypted?"},{name:"resourceTypesSettings",docblock:"@returns {ResourceTypesSettings}",modifiers:["get"],params:[],returns:{description:null,type:{name:"ResourceTypesSettings"}},description:null},{name:"isEncryptedDescriptionEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"areResourceTypesEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"description",docblock:"@returns {string}",modifiers:["get"],params:[],returns:{description:null,type:{name:"string"}},description:null},{name:"plaintextDto",docblock:"@returns {}",modifiers:["get"],params:[],returns:null,description:null},{name:"save",docblock:"Save the changes.",modifiers:["async"],params:[],returns:null,description:"Save the changes."},{name:"updateResource",docblock:"Update the resource\n@returns {Promise<Object>} updated resource",modifiers:["async"],params:[],returns:{description:"updated resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the resource"},{name:"updateCleartextDescription",docblock:"Update the resource (LEGACY)\n@returns {Promise<Object>} updated resource\n@deprecated will be removed when v2 support is dropped",modifiers:["async"],params:[],returns:{description:"updated resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the resource (LEGACY)"},{name:"updateWithEncryptedDescription",docblock:"Update the resource with encrypted description content type\n@returns {Promise<Object>} updated resource",modifiers:["async"],params:[],returns:{description:"updated resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the resource with encrypted description content type"},{name:"close",docblock:"Toggle the editor back to display mode\n@returns {string} send back the updated description and plaintextDto to avoid potential unnecessary decrypt round",modifiers:[],params:[],returns:{description:"send back the updated description and plaintextDto to avoid potential unnecessary decrypt round",type:{name:"string"}},description:"Toggle the editor back to display mode"},{name:"removeOutsideEditorClickEvent",docblock:"Remove listener for outside description editor clicks that aims to closes the editor",modifiers:[],params:[],returns:null,description:"Remove listener for outside description editor clicks that aims to closes the editor"},{name:"handleOutsideEditorClickEvent",docblock:"handle a click outside of the editor",modifiers:[],params:[],returns:null,description:"handle a click outside of the editor"},{name:"setFocusOnDescriptionEditor",docblock:"set the focus at the end of the description editor",modifiers:[],params:[],returns:null,description:"set the focus at the end of the description editor"},{name:"handleEditorClickEvent",docblock:"Handle click events on editor. Hide the component if the click occurred outside of the component.\n@param {ReactEvent} event The event",modifiers:[],params:[{name:"event",description:"The event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle click events on editor. Hide the component if the click occurred outside of the component."},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"handleKeyDown",docblock:"Handle key down on the component.\n@params {ReactEvent} The react event",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle key down on the component."},{name:"handleCancel",docblock:"On cancel button click",modifiers:[],params:[],returns:null,description:"On cancel button click"},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleDescriptionToggle",docblock:"Switch to toggle description field encryption",modifiers:["async"],params:[{name:"event"}],returns:null,description:"Switch to toggle description field encryption"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"EditResourceDescription",props:{description:{type:{name:"string"},required:!1,description:""},resource:{type:{name:"any"},required:!1,description:""},plaintextDto:{type:{name:"any"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},loadingContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var ResourceDescription_EditResourceDescription_EditResourceDescription=Object(ResourceWorkspaceContext.c)(Object(LoadingContext.a)(Object(ActionFeedbackContext.a)(Object(withTranslation.a)("common")(EditResourceDescription_EditResourceDescription))));function DisplayResourceDetailsDescription_createSuper(Derived){var hasNativeReflectConstruct=function DisplayResourceDetailsDescription_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js"]={name:"EditResourceDescription",docgenInfo:EditResourceDescription_EditResourceDescription.__docgenInfo,path:"src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.js"});var DisplayResourceDetailsDescription_DisplayResourceDetailsDescription=function(_React$Component){inherits_default()(DisplayResourceDetailsDescription,_React$Component);var _decryptSecret,_super=DisplayResourceDetailsDescription_createSuper(DisplayResourceDetailsDescription);function DisplayResourceDetailsDescription(props){var _this;return classCallCheck_default()(this,DisplayResourceDetailsDescription),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceDetailsDescription,[{key:"getDefaultState",value:function getDefaultState(){return{open:!1,error:!1,isSecretDecrypting:!1,showDescriptionEditor:!1,description:void 0,plaintextDto:void 0}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.toggleInputDescriptionEditor=this.toggleInputDescriptionEditor.bind(this),this.onCloseDescriptionEditor=this.onCloseDescriptionEditor.bind(this),this.handleEditClickEvent=this.handleEditClickEvent.bind(this),this.handleRetryDecryptClickEvent=this.handleRetryDecryptClickEvent.bind(this)}},{key:"componentDidMount",value:function componentDidMount(){this.state.open&&this.setDescription()}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){(this.resource.id!==prevProps.resourceWorkspaceContext.details.resource.id||this.resource.modified!==prevProps.resourceWorkspaceContext.details.resource.modified&&!this.state.showDescriptionEditor)&&(this.state.open?this.setDescription():this.setState({description:void 0}))}},{key:"setDescription",value:function setDescription(){this.isResourceDescriptionEncrypted()?this.decryptSecret():this.setState({description:this.resource.description})}},{key:"isResourceDescriptionEncrypted",value:function isResourceDescriptionEncrypted(){return!!this.resource.resource_type_id&&this.context.resourceTypesSettings.assertResourceTypeIdHasEncryptedDescription(this.resource.resource_type_id)}},{key:"getSecretDescription",value:function getSecretDescription(plaintextDto){var description=void 0;return"string"==typeof plaintextDto?description=plaintextDto:plaintextDto.description&&(description=plaintextDto.description),description}},{key:"decryptSecret",value:(_decryptSecret=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){var plaintextDto,description;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return this.setState({isSecretDecrypting:!0}),_context.prev=1,_context.next=4,this.context.port.request("passbolt.secret.decrypt",this.resource.id,{showProgress:!1});case 4:plaintextDto=_context.sent,description=this.getSecretDescription(plaintextDto),this.setState({plaintextDto:plaintextDto,description:description,isSecretDecrypting:!1,error:!1}),this.props.resourceWorkspaceContext.onResourceDescriptionDecrypted(),_context.next=15;break;case 10:return _context.prev=10,_context.t0=_context.catch(1),console.error(_context.t0),this.setState({description:void 0,isSecretDecrypting:!1,error:!0,errorMsg:this.translate("Decryption failed, click here to retry")+(_context.t0.message||"")}),_context.abrupt("return",!1);case 15:return _context.abrupt("return",!0);case 16:case"end":return _context.stop()}}),_callee,this,[[1,10]])}))),function decryptSecret(){return _decryptSecret.apply(this,arguments)})},{key:"resource",get:function get(){return this.props.resourceWorkspaceContext.details.resource}},{key:"plaintextDto",get:function get(){return this.state.plaintextDto}},{key:"resourceTypesSettings",get:function get(){return this.context.resourceTypesSettings.resourceTypesSettings}},{key:"description",get:function get(){return this.state.description}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;open&&void 0===this.state.description&&this.setDescription(),this.setState({open:open})}},{key:"toggleInputDescriptionEditor",value:function toggleInputDescriptionEditor(){if(!Boolean(window.getSelection().toString())&&this.canEdit()){var showDescriptionEditor=!this.state.showDescriptionEditor;this.setState({showDescriptionEditor:showDescriptionEditor})}}},{key:"handleEditClickEvent",value:function handleEditClickEvent(){void 0===this.state.description&&this.handleRetryDecryptClickEvent(),this.toggleInputDescriptionEditor()}},{key:"handleRetryDecryptClickEvent",value:function handleRetryDecryptClickEvent(){this.setDescription()}},{key:"onCloseDescriptionEditor",value:function onCloseDescriptionEditor(description,plaintextDto){this.setState({description:description,plaintextDto:plaintextDto,showDescriptionEditor:!1})}},{key:"hasNoDescription",value:function hasNoDescription(){return!this.description}},{key:"canEdit",value:function canEdit(){return this.resource.permission&&this.resource.permission.type>=7}},{key:"mustShowDescriptionEditor",value:function mustShowDescriptionEditor(){return!this.state.error&&!this.state.isSecretDecrypting&&this.canEdit()&&this.state.showDescriptionEditor}},{key:"mustShowEmptyDescription",value:function mustShowEmptyDescription(){return!this.state.error&&!this.state.isSecretDecrypting&&this.hasNoDescription()&&!this.state.showDescriptionEditor}},{key:"mustShowDescription",value:function mustShowDescription(){return!(this.state.error||this.state.isSecretDecrypting||this.hasNoDescription()||this.state.showDescriptionEditor)}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("div",{className:"detailed-information accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",className:"section-opener",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Description"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[this.canEdit()&&Object(jsx_runtime.jsxs)("a",{className:"section-action",onClick:this.handleEditClickEvent,children:[Object(jsx_runtime.jsx)(Icon.a,{name:"edit"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:Object(jsx_runtime.jsx)(Trans.a,{children:"edit"})})]}),this.state.isSecretDecrypting&&Object(jsx_runtime.jsx)("p",{className:"description-content",children:Object(jsx_runtime.jsx)("span",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Decrypting"})})})}),this.state.error&&Object(jsx_runtime.jsx)("p",{className:"description-content error-message",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleRetryDecryptClickEvent,children:Object(jsx_runtime.jsx)("em",{className:"empty-content",children:this.state.errorMsg})})}),this.mustShowEmptyDescription()&&Object(jsx_runtime.jsxs)("p",{className:"description-content",children:[!this.canEdit()&&Object(jsx_runtime.jsx)("em",{className:"empty-content",children:Object(jsx_runtime.jsx)(Trans.a,{children:"There is no description."})}),this.canEdit()&&Object(jsx_runtime.jsx)("em",{className:"empty-content",onClick:this.toggleInputDescriptionEditor,children:Object(jsx_runtime.jsx)(Trans.a,{children:"There is no description yet, click here to add one."})})]}),this.mustShowDescription()&&Object(jsx_runtime.jsx)("p",{className:"description-content",onClick:this.toggleInputDescriptionEditor,children:this.description}),this.mustShowDescriptionEditor()&&Object(jsx_runtime.jsx)(ResourceDescription_EditResourceDescription_EditResourceDescription,{description:this.description,resource:this.resource,plaintextDto:this.state.plaintextDto,onClose:this.onCloseDescriptionEditor})]})]})}}]),DisplayResourceDetailsDescription}(react_default.a.Component);DisplayResourceDetailsDescription_DisplayResourceDetailsDescription.contextType=AppContext.a,DisplayResourceDetailsDescription_DisplayResourceDetailsDescription.propTypes={resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func},DisplayResourceDetailsDescription_DisplayResourceDetailsDescription.__docgenInfo={description:"This component display the description section of a resource",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"setDescription",docblock:null,modifiers:[],params:[],returns:null},{name:"isResourceDescriptionEncrypted",docblock:null,modifiers:[],params:[],returns:null},{name:"getSecretDescription",docblock:"Return the description from a given plaintextDto\n@param {object|string} plaintextDto",modifiers:[],params:[{name:"plaintextDto",description:null,type:{name:"union",elements:[{name:"object"},{name:"string"}]},optional:!1}],returns:null,description:"Return the description from a given plaintextDto"},{name:"decryptSecret",docblock:"Decrypt the password plaintextDto\n@return {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Decrypt the password plaintextDto"},{name:"resource",docblock:"Get the currently selected resource from workspace context\n@returns {object} resource dto",modifiers:["get"],params:[],returns:{description:"resource dto",type:{name:"object"}},description:"Get the currently selected resource from workspace context"},{name:"plaintextDto",docblock:"Get the current plaintextDto\n@returns {object|string|undefined} plaintextDto dto",modifiers:["get"],params:[],returns:{description:"plaintextDto dto",type:{name:"union",elements:[{name:"object"},{name:"string"},null]}},description:"Get the current plaintextDto"},{name:"resourceTypesSettings",docblock:"Get the currently selected resource from workspace context\n@returns {object} resource dto",modifiers:["get"],params:[],returns:{description:"resource dto",type:{name:"object"}},description:"Get the currently selected resource from workspace context"},{name:"description",docblock:"Get the description if decrypted undefined otherwise\n@returns {string|undefined} description",modifiers:["get"],params:[],returns:{description:"description",type:{name:"union",elements:[{name:"string"},null]}},description:"Get the description if decrypted undefined otherwise"},{name:"handleTitleClickEvent",docblock:"Handle when the user selects the folder parent.",modifiers:[],params:[],returns:null,description:"Handle when the user selects the folder parent."},{name:"toggleInputDescriptionEditor",docblock:"Display or not the input tag editor",modifiers:[],params:[],returns:null,description:"Display or not the input tag editor"},{name:"handleEditClickEvent",docblock:"Check if description must be decrypted before editing",modifiers:[],params:[],returns:null,description:"Check if description must be decrypted before editing"},{name:"handleRetryDecryptClickEvent",docblock:"Retry to decrypted description",modifiers:[],params:[],returns:null,description:"Retry to decrypted description"},{name:"onCloseDescriptionEditor",docblock:null,modifiers:[],params:[{name:"description",type:null},{name:"plaintextDto",type:null}],returns:null},{name:"hasNoDescription",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"canEdit",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"mustShowDescriptionEditor",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"mustShowEmptyDescription",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"mustShowDescription",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceDetailsDescription",props:{resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var DisplayResourceDetails_DisplayResourceDetailsDescription=Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceDetailsDescription_DisplayResourceDetailsDescription));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js"]={name:"DisplayResourceDetailsDescription",docgenInfo:DisplayResourceDetailsDescription_DisplayResourceDetailsDescription.__docgenInfo,path:"src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.js"});__webpack_exports__.default={title:"Passbolt/ResourceDetails/DisplayResourceDetailsDescription",component:DisplayResourceDetails_DisplayResourceDetailsDescription};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}},userSettings:new UserSettings.a(userSettings.a),port:{request:function request(){return"A resource description"}}},DisplayResourceDetailsDescription_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceDetails_DisplayResourceDetailsDescription,Object.assign({},args,routerProps))}})})})};DisplayResourceDetailsDescription_test_stories_Template.displayName="Template";var DecryptedDescription=DisplayResourceDetailsDescription_test_stories_Template.bind({});DecryptedDescription.args={resourceWorkspaceContext:{details:{resource:{description:"A resource description"}}}},DecryptedDescription.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceDetailsDescription {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},DecryptedDescription.parameters)},1652:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));var objectWithoutProperties=__webpack_require__(81),objectWithoutProperties_default=__webpack_require__.n(objectWithoutProperties),react=(__webpack_require__(12),__webpack_require__(18),__webpack_require__(1)),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=(__webpack_require__(87),__webpack_require__(13)),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),defineProperty=(__webpack_require__(19),__webpack_require__(34)),defineProperty_default=__webpack_require__.n(defineProperty),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=(__webpack_require__(71),__webpack_require__(14),__webpack_require__(77),__webpack_require__(20),__webpack_require__(3)),regenerator_default=__webpack_require__.n(regenerator),FormSubmitButton=__webpack_require__(59),FormCancelButton=__webpack_require__(60),DialogWrapper=__webpack_require__(58),wrapNativeSuper=__webpack_require__(689);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var Error_UserAbortsOperationError=function(_Error){inherits_default()(UserAbortsOperationError,_Error);var _super=_createSuper(UserAbortsOperationError);function UserAbortsOperationError(message){var _this;return classCallCheck_default()(this,UserAbortsOperationError),(_this=_super.call(this,message)).name="UserAbortsOperationError",_this}return UserAbortsOperationError}(__webpack_require__.n(wrapNativeSuper)()(Error)),NotifyError=__webpack_require__(57),DialogContext=__webpack_require__(41),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function DefineResourceFolderMoveStrategy_createSuper(Derived){var hasNativeReflectConstruct=function DefineResourceFolderMoveStrategy_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy=function(_Component){inherits_default()(DefineResourceFolderMoveStrategy,_Component);var _toggleProcessing,_handleFormSubmit,_componentDidMount,_super=DefineResourceFolderMoveStrategy_createSuper(DefineResourceFolderMoveStrategy);function DefineResourceFolderMoveStrategy(props,context){var _this;return classCallCheck_default()(this,DefineResourceFolderMoveStrategy),(_this=_super.call(this,props,context)).state=_this.getStateBasedOnContext(context,props,_this.getDefaultState()),_this.moveOptionChangeRef=react_default.a.createRef(),_this.moveOptionKeepRef=react_default.a.createRef(),_this.bindEventHandlers(),_this}return createClass_default()(DefineResourceFolderMoveStrategy,[{key:"componentDidMount",value:(_componentDidMount=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:this.setState({loading:!1,moveOption:"change"}),this.moveOptionChangeRef.current.focus();case 2:case"end":return _context.stop()}}),_callee,this)}))),function componentDidMount(){return _componentDidMount.apply(this,arguments)})},{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,moveOption:"change",cascade:!1}}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this)}},{key:"getStateBasedOnContext",value:function getStateBasedOnContext(context,props,defaultState){var _this2=this,folders=context.folders,error={message:this.translate("The folder could not be found. Maybe it was deleted or you lost access.")};folders||(console.error("No folders context defined."),this.handleError(error));var folder=context.folders.find((function(item){return item.id===_this2.context.folderMoveStrategyProps.folders[0]}))||!1;return folder?defaultState.name=folder.name:(console.error("Folder ".concat(this.context.folderMoveStrategyProps.folders[0]," not found in context.")),this.handleError(error)),defaultState}},{key:"handleFormSubmit",value:(_handleFormSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(event){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.preventDefault(),!this.state.processing){_context2.next=3;break}return _context2.abrupt("return");case 3:return _context2.next=5,this.toggleProcessing();case 5:return _context2.prev=5,_context2.next=8,this.context.port.emit(this.context.folderMoveStrategyProps.requestId,"SUCCESS",{moveOption:this.state.moveOption});case 8:this.handleSaveSuccess(),_context2.next=14;break;case 11:_context2.prev=11,_context2.t0=_context2.catch(5),this.handleSaveError(_context2.t0);case 14:case"end":return _context2.stop()}}),_callee2,this,[[5,11]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleSaveSuccess",value:function handleSaveSuccess(){this.context.setContext({folderMoveStrategyProps:{}}),this.props.onClose()}},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(NotifyError.a)}},{key:"toggleProcessing",value:(_toggleProcessing=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){var prev,_this3=this;return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return prev=this.state.processing,_context3.abrupt("return",new Promise((function(resolve){_this3.setState({processing:!prev},resolve())})));case 2:case"end":return _context3.stop()}}),_callee3,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value="checkbox"===target.type?target.checked:target.value,name=target.name;this.setState(defineProperty_default()({},name,value))}},{key:"handleClose",value:function handleClose(){if(!this.state.processing){var error=new Error_UserAbortsOperationError(this.translate("The dialog has been closed."));this.context.port.emit(this.context.folderMoveStrategyProps.requestId,"ERROR",error),this.context.setContext({folderMoveStrategyProps:{}}),this.props.onClose()}}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"getIntroMessage",value:function getIntroMessage(){var message="";return message=this.isAboutItems()?Object(jsx_runtime.jsx)(Trans.a,{children:"You are about to move several items."}):this.isAboutAFolder()?Object(jsx_runtime.jsx)(Trans.a,{children:"You are about to move a folder."}):this.isAboutFolders()?Object(jsx_runtime.jsx)(Trans.a,{children:"You are about to move several folders."}):this.isAboutAResource()?Object(jsx_runtime.jsx)(Trans.a,{children:"You are about to move one resource."}):Object(jsx_runtime.jsx)(Trans.a,{children:"You are about to move several resources."}),message+=Object(jsx_runtime.jsx)(Trans.a,{children:"The permissions do not match the destination folder permissions."})}},{key:"isAboutItems",value:function isAboutItems(){return this.context.folderMoveStrategyProps.resources&&this.context.folderMoveStrategyProps.folders&&this.context.folderMoveStrategyProps.resources.length&&this.context.folderMoveStrategyProps.folders.length}},{key:"isAboutResources",value:function isAboutResources(){return this.context.folderMoveStrategyProps.resources&&this.context.folderMoveStrategyProps.resources.length>1}},{key:"isAboutFolders",value:function isAboutFolders(){return this.context.folderMoveStrategyProps.folders&&this.context.folderMoveStrategyProps.folders.length>1}},{key:"isAboutAFolder",value:function isAboutAFolder(){return this.context.folderMoveStrategyProps.folders&&1===this.context.folderMoveStrategyProps.folders.length}},{key:"isAboutAResource",value:function isAboutAResource(){return this.context.folderMoveStrategyProps.resources&&1===this.context.folderMoveStrategyProps.resources.length}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)(DialogWrapper.a,{className:"move-folder-strategy-dialog",title:this.translate("How do you want to proceed?"),onClose:this.handleClose,disabled:this.hasAllInputDisabled(),children:Object(jsx_runtime.jsxs)("form",{className:"folder-create-form",onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(jsx_runtime.jsxs)("div",{className:"form-content",children:[Object(jsx_runtime.jsx)("p",{children:this.getIntroMessage()}),Object(jsx_runtime.jsxs)("div",{className:"radiolist-alt",children:[Object(jsx_runtime.jsxs)("div",{className:"input radio",children:[Object(jsx_runtime.jsx)("input",{name:"moveOption",value:"change",id:"moveOptionChange",type:"radio",onChange:this.handleInputChange,ref:this.moveOptionChangeRef,checked:"change"===this.state.moveOption}),Object(jsx_runtime.jsxs)("label",{htmlFor:"moveOptionChange",children:[Object(jsx_runtime.jsx)("span",{className:"strategy-name",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Change permissions"})}),Object(jsx_runtime.jsx)("span",{className:"strategy-info",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Remove old inherited permissions and apply the new destination folder permissions recursively."})})]})]}),Object(jsx_runtime.jsxs)("div",{className:"input radio last",children:[Object(jsx_runtime.jsx)("input",{name:"moveOption",value:"keep",id:"moveOptionKeep",type:"radio",onChange:this.handleInputChange,ref:this.moveOptionKeepRef,checked:"keep"===this.state.moveOption}),Object(jsx_runtime.jsxs)("label",{htmlFor:"moveOptionKeep",children:[Object(jsx_runtime.jsx)("span",{className:"strategy-name",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Keep existing permissions"})}),Object(jsx_runtime.jsx)("span",{className:"strategy-info",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Keep the original permissions, do not apply the destination folder permissions."})})]})]})]})]}),Object(jsx_runtime.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(jsx_runtime.jsx)(FormSubmitButton.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Move")}),Object(jsx_runtime.jsx)(FormCancelButton.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleClose})]})]})})}}]),DefineResourceFolderMoveStrategy}(react.Component);DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy.contextType=AppContext.a,DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy.propTypes={onClose:prop_types_default.a.func,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"bindEventHandlers",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"getStateBasedOnContext",docblock:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value\n\n@param context\n@param props\n@param defaultState\n@returns {*}",modifiers:[],params:[{name:"context",description:null,type:null,optional:!1},{name:"props",description:null,type:null,optional:!1},{name:"defaultState",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"mixed"}},description:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value"},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:[],params:[],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error"},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handleClose",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"getIntroMessage",docblock:"Return an intro message explaining the context of the move to the user\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Return an intro message explaining the context of the move to the user"},{name:"isAboutItems",docblock:"Is this share screen handling sharing of multiple Acos?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple Acos?"},{name:"isAboutResources",docblock:"Is this share screen handling sharing of multiple resources?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple resources?"},{name:"isAboutFolders",docblock:"Is this share screen handling sharing of multiple folders?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple folders?"},{name:"isAboutAFolder",docblock:"Is this share screen handling sharing one folder?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing one folder?"},{name:"isAboutAResource",docblock:"Is this share screen handling sharing one resource?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing one resource?"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DefineResourceFolderMoveStrategy",props:{onClose:{type:{name:"func"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var ResourceFolder_DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy=Object(DialogContext.b)(Object(withTranslation.a)("common")(DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.js"]={name:"DefineResourceFolderMoveStrategy",docgenInfo:DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy.__docgenInfo,path:"src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.js"});__webpack_exports__.default={title:"Passbolt/ResourceFolder/DefineResourceFolderMoveStrategy",component:ResourceFolder_DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy};var DefineResourceFolderMoveStrategy_test_stories_Template=function Template(_ref){var context=_ref.context,args=objectWithoutProperties_default()(_ref,["context"]);return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(ResourceFolder_DefineResourceFolderMoveStrategy_DefineResourceFolderMoveStrategy,Object.assign({},args,routerProps))}})})})};DefineResourceFolderMoveStrategy_test_stories_Template.displayName="Template",DefineResourceFolderMoveStrategy_test_stories_Template.propTypes={context:prop_types_default.a.object};var Initial=DefineResourceFolderMoveStrategy_test_stories_Template.bind({});Initial.args={context:{folders:[{id:1,name:"My folder"}],folderMoveStrategyProps:{folders:[{id:1}]},setContext:function setContext(){}}},Initial.argTypes={context:{control:{type:"object"}}},Initial.parameters=Object.assign({storySource:{source:"({context, ...args}) =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DefineResourceFolderMoveStrategy {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1653:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(12),__webpack_require__(18);var react_router=__webpack_require__(99),react=__webpack_require__(1),react_default=__webpack_require__.n(react),AppContext=__webpack_require__(13),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),defineProperty=(__webpack_require__(19),__webpack_require__(34)),defineProperty_default=__webpack_require__.n(defineProperty),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),Icon=(__webpack_require__(77),__webpack_require__(20),__webpack_require__(32),__webpack_require__(30),__webpack_require__(33),__webpack_require__(123),__webpack_require__(14),__webpack_require__(16),__webpack_require__(27),__webpack_require__(17)),Tooltip=__webpack_require__(118),SecretComplexity=__webpack_require__(221),ActionFeedbackContext=__webpack_require__(48),NotifyError=__webpack_require__(57),DialogContext=__webpack_require__(41),DialogWrapper=__webpack_require__(58),FormSubmitButton=__webpack_require__(59),FormCancelButton=__webpack_require__(60),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var CreateResource_CreateResource=function(_Component){inherits_default()(CreateResource,_Component);var _handleSaveError,_handleSaveSuccess,_createWithoutEncryptedDescription,_createWithEncryptedDescription,_createResourceLegacy,_createResource,_validate,_toggleProcessing,_handleFormSubmit,_super=_createSuper(CreateResource);function CreateResource(){var _this;return classCallCheck_default()(this,CreateResource),(_this=_super.call(this)).state=_this.getDefaultState(),_this.initEventHandlers(),_this.createInputRef(),_this}return createClass_default()(CreateResource,[{key:"getDefaultState",value:function getDefaultState(){return{name:"",nameError:"",username:"",usernameError:"",uri:"",uriError:"",password:"",passwordError:"",description:"",descriptionError:"",viewPassword:!1,passwordInputHasFocus:!1,encryptDescription:!1,hasAlreadyBeenValidated:!1}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handlePasswordInputFocus=this.handlePasswordInputFocus.bind(this),this.handlePasswordInputBlur=this.handlePasswordInputBlur.bind(this),this.handleNameInputKeyUp=this.handleNameInputKeyUp.bind(this),this.handlePasswordInputKeyUp=this.handlePasswordInputKeyUp.bind(this),this.handleViewPasswordButtonClick=this.handleViewPasswordButtonClick.bind(this),this.handleGeneratePasswordButtonClick=this.handleGeneratePasswordButtonClick.bind(this),this.handleDescriptionToggle=this.handleDescriptionToggle.bind(this)}},{key:"createInputRef",value:function createInputRef(){this.nameInputRef=react_default.a.createRef(),this.passwordInputRef=react_default.a.createRef()}},{key:"componentDidMount",value:function componentDidMount(){this.isEncryptedDescriptionEnabled()&&this.setState({encryptDescription:!0})}},{key:"isEncryptedDescriptionEnabled",value:function isEncryptedDescriptionEnabled(){return this.context.resourceTypesSettings.isEncryptedDescriptionEnabled()}},{key:"isLegacyResourceTypeEnabled",value:function isLegacyResourceTypeEnabled(){return this.context.resourceTypesSettings.isLegacyResourceTypeEnabled()}},{key:"areResourceTypesEnabled",value:function areResourceTypesEnabled(){return this.context.resourceTypesSettings.areResourceTypesEnabled()}},{key:"handleFormSubmit",value:(_handleFormSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(event){var resource;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),!this.state.processing){_context.next=3;break}return _context.abrupt("return");case 3:return _context.next=5,this.setState({hasAlreadyBeenValidated:!0});case 5:return _context.next=7,this.toggleProcessing();case 7:return _context.next=9,this.validate();case 9:if(_context.sent){_context.next=14;break}return _context.next=12,this.toggleProcessing();case 12:return this.focusFirstFieldError(),_context.abrupt("return");case 14:return _context.prev=14,_context.next=17,this.createResource();case 17:return resource=_context.sent,_context.next=20,this.handleSaveSuccess(resource);case 20:_context.next=28;break;case 22:return _context.prev=22,_context.t0=_context.catch(14),_context.next=26,this.toggleProcessing();case 26:return _context.next=28,this.handleSaveError(_context.t0);case 28:case"end":return _context.stop()}}),_callee,this,[[14,22]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"toggleProcessing",value:(_toggleProcessing=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){var prev,_this2=this;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return prev=this.state.processing,_context2.abrupt("return",new Promise((function(resolve){_this2.setState({processing:!prev},resolve())})));case 2:case"end":return _context2.stop()}}),_callee2,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"validate",value:(_validate=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return this.setState({nameError:"",uriError:"",usernameError:"",passwordError:"",descriptionError:""}),_context3.next=3,Promise.all([this.validateNameInput(),this.validatePasswordInput()]);case 3:return _context3.abrupt("return",""===this.state.nameError&&""===this.state.passwordError);case 4:case"end":return _context3.stop()}}),_callee3,this)}))),function validate(){return _validate.apply(this,arguments)})},{key:"validatePasswordInput",value:function validatePasswordInput(){var _this3=this,password=this.state.password,passwordError="";return password.length||(passwordError=this.translate("A password is required.")),new Promise((function(resolve){_this3.setState({passwordError:passwordError},resolve)}))}},{key:"validateNameInput",value:function validateNameInput(){var _this4=this,name=this.state.name.trim(),nameError="";return name.length||(nameError=this.translate("A name is required.")),new Promise((function(resolve){_this4.setState({nameError:nameError},resolve)}))}},{key:"createResource",value:(_createResource=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var resourceDto;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(resourceDto={name:this.state.name,username:this.state.username,uri:this.state.uri,folder_parent_id:this.context.resourceCreateDialogProps.folderParentId},this.areResourceTypesEnabled()){_context4.next=3;break}return _context4.abrupt("return",this.createResourceLegacy(resourceDto,this.state.password));case 3:if(this.state.encryptDescription){_context4.next=5;break}return _context4.abrupt("return",this.createWithoutEncryptedDescription(resourceDto,this.state.password));case 5:return _context4.abrupt("return",this.createWithEncryptedDescription(resourceDto,{description:this.state.description,password:this.state.password}));case 6:case"end":return _context4.stop()}}),_callee4,this)}))),function createResource(){return _createResource.apply(this,arguments)})},{key:"createResourceLegacy",value:(_createResourceLegacy=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(resourceDto,secretString){return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return resourceDto.description=this.state.description,_context5.abrupt("return",this.context.port.request("passbolt.resources.create",resourceDto,secretString));case 2:case"end":return _context5.stop()}}),_callee5,this)}))),function createResourceLegacy(_x2,_x3){return _createResourceLegacy.apply(this,arguments)})},{key:"createWithEncryptedDescription",value:(_createWithEncryptedDescription=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(resourceDto,secretDto){return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return resourceDto.resource_type_id=this.context.resourceTypesSettings.findResourceTypeIdBySlug(this.context.resourceTypesSettings.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_AND_DESCRIPTION),_context6.abrupt("return",this.context.port.request("passbolt.resources.create",resourceDto,secretDto));case 2:case"end":return _context6.stop()}}),_callee6,this)}))),function createWithEncryptedDescription(_x4,_x5){return _createWithEncryptedDescription.apply(this,arguments)})},{key:"createWithoutEncryptedDescription",value:(_createWithoutEncryptedDescription=asyncToGenerator_default()(regenerator_default.a.mark((function _callee7(resourceDto,secretString){return regenerator_default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return resourceDto.resource_type_id=this.context.resourceTypesSettings.findResourceTypeIdBySlug(this.context.resourceTypesSettings.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_STRING),resourceDto.description=this.state.description,_context7.abrupt("return",this.context.port.request("passbolt.resources.create",resourceDto,secretString));case 3:case"end":return _context7.stop()}}),_callee7,this)}))),function createWithoutEncryptedDescription(_x6,_x7){return _createWithoutEncryptedDescription.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=asyncToGenerator_default()(regenerator_default.a.mark((function _callee8(resource){return regenerator_default.a.wrap((function _callee8$(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:return _context8.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The password has been added successfully"));case 2:resource.folder_parent_id?this.selectAndScrollToFolder(resource.folder_parent_id):this.selectAndScrollToResource(resource.id),this.context.setContext({passwordEditDialogProps:null}),this.props.history.push("/app/passwords/view/".concat(resource.id)),this.props.onClose();case 6:case"end":return _context8.stop()}}),_callee8,this)}))),function handleSaveSuccess(_x8){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:(_handleSaveError=asyncToGenerator_default()(regenerator_default.a.mark((function _callee9(error){return regenerator_default.a.wrap((function _callee9$(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error));case 1:case"end":return _context9.stop()}}),_callee9,this)}))),function handleSaveError(_x9){return _handleSaveError.apply(this,arguments)})},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(NotifyError.a)}},{key:"focusFirstFieldError",value:function focusFirstFieldError(){this.state.nameError?this.nameInputRef.current.focus():this.state.passwordError&&this.passwordInputRef.current.focus()}},{key:"selectAndScrollToResource",value:function selectAndScrollToResource(id){this.context.port.emit("passbolt.resources.select-and-scroll-to",id)}},{key:"selectAndScrollToFolder",value:function selectAndScrollToFolder(id){this.context.port.emit("passbolt.folders.select-and-scroll-to",id)}},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value=target.value,name=target.name;this.setState(defineProperty_default()({},name,value))}},{key:"handlePasswordInputFocus",value:function handlePasswordInputFocus(){this.setState({passwordInputHasFocus:!0})}},{key:"handlePasswordInputBlur",value:function handlePasswordInputBlur(){this.setState({passwordInputHasFocus:!1})}},{key:"handleNameInputKeyUp",value:function handleNameInputKeyUp(){if(this.state.hasAlreadyBeenValidated){var state=this.validateNameInput();this.setState(state)}}},{key:"handlePasswordInputKeyUp",value:function handlePasswordInputKeyUp(){if(this.state.hasAlreadyBeenValidated){var state=this.validatePasswordInput();this.setState(state)}}},{key:"handleViewPasswordButtonClick",value:function handleViewPasswordButtonClick(){this.state.processing||this.setState({viewPassword:!this.state.viewPassword})}},{key:"handleGeneratePasswordButtonClick",value:function handleGeneratePasswordButtonClick(){if(!this.state.processing){var password=SecretComplexity.a.generate();this.setState({password:password,passwordError:""})}}},{key:"handleClose",value:function handleClose(){this.props.onClose(),this.context.setContext({resourceCreateDialogProps:null})}},{key:"handleDescriptionToggle",value:function handleDescriptionToggle(){var isCurrentlyEncrypted=this.state.encryptDescription;return isCurrentlyEncrypted&&this.isLegacyResourceTypeEnabled()?this.setState({encryptDescription:!1}):!isCurrentlyEncrypted&&this.isEncryptedDescriptionEnabled()?this.setState({encryptDescription:!0}):void 0}},{key:"getPasswordInputStyle",value:function getPasswordInputStyle(){return this.state.passwordInputHasFocus?{background:this.context.userSettings.getSecurityTokenBackgroundColor(),color:this.context.userSettings.getSecurityTokenTextColor()}:{background:"",color:""}}},{key:"getSecurityTokenStyle",value:function getSecurityTokenStyle(){var backgroundColor=this.context.userSettings.getSecurityTokenBackgroundColor(),textColor=this.context.userSettings.getSecurityTokenTextColor();return this.state.passwordInputHasFocus?{background:textColor,color:backgroundColor}:{background:backgroundColor,color:textColor}}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var passwordInputStyle=this.getPasswordInputStyle(),securityTokenStyle=this.getSecurityTokenStyle(),securityTokenCode=this.context.userSettings.getSecurityTokenCode(),passwordStrength=SecretComplexity.a.getStrength(this.state.password);return Object(jsx_runtime.jsx)(DialogWrapper.a,{title:this.translate("Create a password"),className:"create-password-dialog",disabled:this.state.processing,onClose:this.handleClose,children:Object(jsx_runtime.jsxs)("form",{onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(jsx_runtime.jsxs)("div",{className:"form-content",children:[Object(jsx_runtime.jsxs)("div",{className:"input text required ".concat(this.state.nameError?"error":""),children:[Object(jsx_runtime.jsx)("label",{htmlFor:"create-password-form-name",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Name"})}),Object(jsx_runtime.jsx)("input",{id:"create-password-form-name",name:"name",type:"text",value:this.state.name,onKeyUp:this.handleNameInputKeyUp,onChange:this.handleInputChange,disabled:this.state.processing,ref:this.nameInputRef,className:"required fluid",maxLength:"64",required:"required",autoComplete:"off",autoFocus:!0,placeholder:this.translate("Name")}),this.state.nameError&&Object(jsx_runtime.jsx)("div",{className:"name error message",children:this.state.nameError})]}),Object(jsx_runtime.jsxs)("div",{className:"input text ".concat(this.state.uriError?"error":""),children:[Object(jsx_runtime.jsx)("label",{htmlFor:"create-password-form-uri",children:Object(jsx_runtime.jsx)(Trans.a,{children:"URI"})}),Object(jsx_runtime.jsx)("input",{id:"create-password-form-uri",name:"uri",className:"fluid",maxLength:"1024",type:"text",autoComplete:"off",value:this.state.uri,onChange:this.handleInputChange,placeholder:this.translate("URI"),disabled:this.state.processing}),this.state.uriError&&Object(jsx_runtime.jsx)("div",{className:"error message",children:this.state.uriError})]}),Object(jsx_runtime.jsxs)("div",{className:"input text ".concat(this.state.usernameError?"error":""),children:[Object(jsx_runtime.jsx)("label",{htmlFor:"create-password-form-username",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Username"})}),Object(jsx_runtime.jsx)("input",{id:"create-password-form-username",name:"username",type:"text",className:"fluid",maxLength:"64",autoComplete:"off",value:this.state.username,onChange:this.handleInputChange,placeholder:this.translate("Username"),disabled:this.state.processing}),this.state.usernameError&&Object(jsx_runtime.jsx)("div",{className:"error message",children:this.state.usernameError})]}),Object(jsx_runtime.jsxs)("div",{className:"input-password-wrapper input required ".concat(this.state.passwordError?"error":""),children:[Object(jsx_runtime.jsx)("label",{htmlFor:"create-password-form-password",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Password"})}),Object(jsx_runtime.jsxs)("div",{className:"input text password",children:[Object(jsx_runtime.jsx)("input",{id:"create-password-form-password",name:"password",className:"required",maxLength:"4096",placeholder:this.translate("Password"),required:"required",type:this.state.viewPassword?"text":"password",onKeyUp:this.handlePasswordInputKeyUp,value:this.state.password,onFocus:this.handlePasswordInputFocus,onBlur:this.handlePasswordInputBlur,onChange:this.handleInputChange,disabled:this.state.processing,style:passwordInputStyle,ref:this.passwordInputRef}),Object(jsx_runtime.jsx)("div",{className:"security-token",style:securityTokenStyle,children:securityTokenCode})]}),Object(jsx_runtime.jsxs)("ul",{className:"actions inline",children:[Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleViewPasswordButtonClick,className:"password-view button button-icon toggle ".concat(this.state.viewPassword?"selected":""),children:[Object(jsx_runtime.jsx)(Icon.a,{name:"eye-open",big:!0}),Object(jsx_runtime.jsx)("span",{className:"visually-hidden",children:"view"})]})}),Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleGeneratePasswordButtonClick,className:"password-generate button-icon button",children:[Object(jsx_runtime.jsx)(Icon.a,{name:"magic-wand",big:!0}),Object(jsx_runtime.jsx)("span",{className:"visually-hidden",children:"generate"})]})})]}),Object(jsx_runtime.jsxs)("div",{className:"password-complexity ".concat(passwordStrength.id),children:[Object(jsx_runtime.jsx)("span",{className:"progress",children:Object(jsx_runtime.jsx)("span",{className:"progress-bar ".concat(passwordStrength.id)})}),Object(jsx_runtime.jsxs)("span",{className:"complexity-text",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"complexity:"})," ",Object(jsx_runtime.jsx)("strong",{children:this.translate(passwordStrength.label)})]})]}),this.state.passwordError&&Object(jsx_runtime.jsx)("div",{className:"input text",children:Object(jsx_runtime.jsx)("div",{className:"password message error",children:this.state.passwordError})})]}),Object(jsx_runtime.jsxs)("div",{className:"input textarea",children:[Object(jsx_runtime.jsxs)("label",{htmlFor:"create-password-form-description",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Description"})," ",!this.areResourceTypesEnabled()&&Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("Do not store sensitive data. Unlike the password, this data is not encrypted. Upgrade to version 3 to encrypt this information."),icon:"info-circle"}),this.areResourceTypesEnabled()&&!this.state.encryptDescription&&Object(jsx_runtime.jsx)("a",{role:"button",onClick:this.handleDescriptionToggle,className:"lock-toggle",children:Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("Do not store sensitive data or click here to enable encryption for the description field."),icon:"lock-open"})}),this.areResourceTypesEnabled()&&this.state.encryptDescription&&Object(jsx_runtime.jsx)("a",{role:"button",onClick:this.handleDescriptionToggle,className:"lock-toggle",children:Object(jsx_runtime.jsx)(Tooltip.a,{message:this.translate("The description content will be encrypted."),icon:"lock"})})]}),Object(jsx_runtime.jsx)("textarea",{id:"create-password-form-description",name:"description",maxLength:"10000",className:"required",placeholder:this.translate("Add a description"),value:this.state.description,disabled:this.state.processing,onChange:this.handleInputChange}),this.state.descriptionError&&Object(jsx_runtime.jsx)("div",{className:"error message",children:this.state.descriptionError})]})]}),Object(jsx_runtime.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(jsx_runtime.jsx)(FormSubmitButton.a,{value:this.translate("Create"),disabled:this.state.processing,processing:this.state.processing}),Object(jsx_runtime.jsx)(FormCancelButton.a,{disabled:this.state.processing,onClick:this.handleClose})]})]})})}}]),CreateResource}(react.Component);CreateResource_CreateResource.contextType=AppContext.a,CreateResource_CreateResource.propTypes={history:prop_types_default.a.object,onClose:prop_types_default.a.func,actionFeedbackContext:prop_types_default.a.any,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},CreateResource_CreateResource.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:null,modifiers:[],params:[],returns:null},{name:"initEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"createInputRef",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"isEncryptedDescriptionEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"isLegacyResourceTypeEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"areResourceTypesEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"toggleProcessing",docblock:"Toggle processing state when validating / saving\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state when validating / saving"},{name:"validate",docblock:"Validate the form.\n@return {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Validate the form."},{name:"validatePasswordInput",docblock:"Validate the password input.\n@return {Promise}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise"}},description:"Validate the password input."},{name:"validateNameInput",docblock:"Validate the name input.\n@return {Promise}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise"}},description:"Validate the name input."},{name:"createResource",docblock:"Create the resource\n@returns {Promise<Object>} returns the newly created resource",modifiers:["async"],params:[],returns:{description:"returns the newly created resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Create the resource"},{name:"createResourceLegacy",docblock:"Create legacy resource with no resource type\n\n@param resourceDto\n@param {string} secretString\n@returns {Promise<*>}\n@deprecated will be removed when v2 support is dropped",modifiers:["async"],params:[{name:"resourceDto",description:null,type:null,optional:!1},{name:"secretString",description:null,type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"mixed"}]}},description:"Create legacy resource with no resource type"},{name:"createWithEncryptedDescription",docblock:"Create with encrypted description type\n\n@param {object} resourceDto\n@param {object} secretDto\n@returns {Promise<*>}",modifiers:["async"],params:[{name:"resourceDto",description:null,type:{name:"object"},optional:!1},{name:"secretDto",description:null,type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"mixed"}]}},description:"Create with encrypted description type"},{name:"createWithoutEncryptedDescription",docblock:"Create with legacy secret type\n\n@param {object} resourceDto\n@param {string} secretString\n@returns {Promise<*>}",modifiers:["async"],params:[{name:"resourceDto",description:null,type:{name:"object"},optional:!1},{name:"secretString",description:null,type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"mixed"}]}},description:"Create with legacy secret type"},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[{name:"resource"}],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:["async"],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"focusFirstFieldError",docblock:"Focus the first field of the form which is in error state.",modifiers:[],params:[],returns:null,description:"Focus the first field of the form which is in error state."},{name:"selectAndScrollToResource",docblock:"Select and scroll to a given resource.\n@param {string} id The resource id.",modifiers:[],params:[{name:"id",description:"The resource id.",type:{name:"string"},optional:!1}],returns:null,description:"Select and scroll to a given resource."},{name:"selectAndScrollToFolder",docblock:"Select and scroll to a given resource.\n@param {string} id The resource id.\n@returns {void}",modifiers:[],params:[{name:"id",description:"The resource id.",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Select and scroll to a given resource."},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handlePasswordInputFocus",docblock:"Handle password input focus.",modifiers:[],params:[],returns:null,description:"Handle password input focus."},{name:"handlePasswordInputBlur",docblock:"Handle password input blur.",modifiers:[],params:[],returns:null,description:"Handle password input blur."},{name:"handleNameInputKeyUp",docblock:"Handle name input keyUp event.",modifiers:[],params:[],returns:null,description:"Handle name input keyUp event."},{name:"handlePasswordInputKeyUp",docblock:"Handle password input keyUp event.",modifiers:[],params:[],returns:null,description:"Handle password input keyUp event."},{name:"handleViewPasswordButtonClick",docblock:"Handle view password button click.",modifiers:[],params:[],returns:null,description:"Handle view password button click."},{name:"handleGeneratePasswordButtonClick",docblock:"Handle generate password button click.",modifiers:[],params:[],returns:null,description:"Handle generate password button click."},{name:"handleClose",docblock:"Handle close",modifiers:[],params:[],returns:null,description:"Handle close"},{name:"handleDescriptionToggle",docblock:"Switch to toggle description field encryption",modifiers:[],params:[],returns:null,description:"Switch to toggle description field encryption"},{name:"getPasswordInputStyle",docblock:"Get the password input style.\n@return {Object}",modifiers:[],params:[],returns:{description:null,type:{name:"Object"}},description:"Get the password input style."},{name:"getSecurityTokenStyle",docblock:"Get the security token style.\n@return {Object}",modifiers:[],params:[],returns:{description:null,type:{name:"Object"}},description:"Get the security token style."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"CreateResource",props:{history:{type:{name:"object"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_CreateResource_CreateResource=Object(ActionFeedbackContext.a)(Object(react_router.c)(Object(DialogContext.b)(Object(withTranslation.a)("common")(CreateResource_CreateResource))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/CreateResource/CreateResource.js"]={name:"CreateResource",docgenInfo:CreateResource_CreateResource.__docgenInfo,path:"src/react-extension/components/Resource/CreateResource/CreateResource.js"});__webpack_exports__.default={title:"Passbolt/Resource/CreateResource",component:Resource_CreateResource_CreateResource};var context={userSettings:{getSecurityTokenBackgroundColor:function getSecurityTokenBackgroundColor(){return"#FFFF"},getSecurityTokenTextColor:function getSecurityTokenTextColor(){return"#080808"},getSecurityTokenCode:function getSecurityTokenCode(){return"ABC"}},resourceTypesSettings:{areResourceTypesEnabled:function areResourceTypesEnabled(){return!0},isEncryptedDescriptionEnabled:function isEncryptedDescriptionEnabled(){return!0}}},CreateResource_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_CreateResource_CreateResource,Object.assign({},args,routerProps))}})})})};CreateResource_test_stories_Template.displayName="Template",CreateResource_test_stories_Template.propTypes={context:prop_types_default.a.object};var Initial=CreateResource_test_stories_Template.bind({});Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <CreateResource {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1654:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial})),__webpack_require__.d(__webpack_exports__,"SelectedGroup",(function(){return SelectedGroup}));__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),ResourceWorkspaceContext=__webpack_require__(11),classCallCheck=(__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),Icon=(__webpack_require__(44),__webpack_require__(153),__webpack_require__(14),__webpack_require__(23),__webpack_require__(17)),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByGroups_FilterResourcesByGroups=function(_React$Component){inherits_default()(FilterResourcesByGroups,_React$Component);var _super=_createSuper(FilterResourcesByGroups);function FilterResourcesByGroups(props){var _this;return classCallCheck_default()(this,FilterResourcesByGroups),(_this=_super.call(this,props)).state=_this.defaultState,_this.bindCallbacks(),_this}return createClass_default()(FilterResourcesByGroups,[{key:"defaultState",get:function get(){return{open:!0}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.handleClickGroupEvent=this.handleClickGroupEvent.bind(this)}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;this.setState({open:open})}},{key:"handleClickGroupEvent",value:function handleClickGroupEvent(group){var filter={type:ResourceWorkspaceContext.a.GROUP,payload:{group:group}};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"isSelected",value:function isSelected(groupId){var filter=this.props.resourceWorkspaceContext.filter;return filter.type===ResourceWorkspaceContext.a.GROUP&&filter.payload.group.id===groupId}},{key:"hasGroup",value:function hasGroup(){return this.context.groups&&this.groups.length>0}},{key:"groups",get:function get(){return this.context.groups.filter((function(group){return null!==group.my_group_user}))}},{key:"groupsSorted",get:function get(){return this.groups.sort((function(groupA,groupB){return groupA.name.localeCompare(groupB.name)}))}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this2=this;return Object(jsx_runtime.jsx)("div",{children:this.hasGroup()&&Object(jsx_runtime.jsxs)("div",{className:"folders navigation first accordion",children:[Object(jsx_runtime.jsx)("ul",{className:"accordion-header",children:Object(jsx_runtime.jsx)("li",{className:"node root ".concat(this.state.open?"open":"close"),children:Object(jsx_runtime.jsx)("div",{className:"row title",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("h3",{children:Object(jsx_runtime.jsxs)("span",{className:"folders-label",onClick:this.handleTitleClickEvent,children:[Object(jsx_runtime.jsxs)(react.Fragment,{children:[this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]}),Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Filter by groups"})})]})})})})})})}),this.state.open&&Object(jsx_runtime.jsx)("div",{className:"accordion-content",children:Object(jsx_runtime.jsx)("ul",{className:"tree ready",children:this.groupsSorted.map((function(group){return Object(jsx_runtime.jsx)("li",{className:"node root group-item",children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(_this2.isSelected(group.id)?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",onClick:function onClick(){return _this2.handleClickGroupEvent(group)},children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{title:group.name,children:Object(jsx_runtime.jsx)("span",{className:"ellipsis",children:group.name})})})})})},group.id)}))})})]})})}}]),FilterResourcesByGroups}(react_default.a.Component);FilterResourcesByGroups_FilterResourcesByGroups.contextType=AppContext.a,FilterResourcesByGroups_FilterResourcesByGroups.propTypes={resourceWorkspaceContext:prop_types_default.a.any,history:prop_types_default.a.object,t:prop_types_default.a.func},FilterResourcesByGroups_FilterResourcesByGroups.__docgenInfo={description:"This component display groups to filter the resources",methods:[{name:"defaultState",docblock:"Get default state\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleTitleClickEvent",docblock:"Handle when the user click on the title.",modifiers:[],params:[],returns:null,description:"Handle when the user click on the title."},{name:"handleClickGroupEvent",docblock:"Handle when the user selects a group.",modifiers:[],params:[{name:"group"}],returns:null,description:"Handle when the user selects a group."},{name:"isSelected",docblock:"Check if the tag associated to this component is selected.\n@returns {boolean}\n@param tagId\n@returns {boolean}",modifiers:[],params:[{name:"groupId"}],returns:{description:null,type:{name:"boolean"}},description:"Check if the tag associated to this component is selected."},{name:"hasGroup",docblock:"has at least one group that the user belongs to\n@returns {*|boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"union",elements:[{name:"mixed"},{name:"boolean"}]}},description:"has at least one group that the user belongs to"},{name:"groups",docblock:"get groups that the user belongs to\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"get groups that the user belongs to"},{name:"groupsSorted",docblock:"get the groups sorted\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"get the groups sorted"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByGroups",props:{resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_FilterResourcesByGroups_FilterResourcesByGroups=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(FilterResourcesByGroups_FilterResourcesByGroups)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js"]={name:"FilterResourcesByGroups",docgenInfo:FilterResourcesByGroups_FilterResourcesByGroups.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByGroups/FilterResourcesByGroups.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByGroups",component:Resource_FilterResourcesByGroups_FilterResourcesByGroups};var context={groups:[{id:1,name:"Group 1"},{id:2,name:"Group 2"},{id:3,name:"Group 3"}]},FilterResourcesByGroups_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)("div",{className:"panel",children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByGroups_FilterResourcesByGroups,Object.assign({},args,routerProps))}})})})})};FilterResourcesByGroups_test_stories_Template.displayName="Template";var Initial=FilterResourcesByGroups_test_stories_Template.bind({}),SelectedGroup=FilterResourcesByGroups_test_stories_Template.bind({});SelectedGroup.args={resourceWorkspaceContext:{filter:{type:ResourceWorkspaceContext.a.GROUP,payload:{group:{id:1}}}}},Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <div className=\"panel\">\n <Route component={routerProps => <FilterResourcesByGroups {...args} {...routerProps}/>}></Route>\n </div>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters),SelectedGroup.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <div className=\"panel\">\n <Route component={routerProps => <FilterResourcesByGroups {...args} {...routerProps}/>}></Route>\n </div>\n </MemoryRouter>\n </AppContext.Provider>"}},SelectedGroup.parameters)},1655:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),classCallCheck=(__webpack_require__(87),__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),prop_types=(__webpack_require__(44),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),ResourceWorkspaceContext=__webpack_require__(11),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var FilterResourcesByShortcuts_FilterResourcesByShortcuts=function(_React$Component){inherits_default()(FilterResourcesByShortcuts,_React$Component);var _super=_createSuper(FilterResourcesByShortcuts);function FilterResourcesByShortcuts(props){var _this;return classCallCheck_default()(this,FilterResourcesByShortcuts),(_this=_super.call(this,props)).bindHandlers(),_this}return createClass_default()(FilterResourcesByShortcuts,[{key:"bindHandlers",value:function bindHandlers(){this.handleAllItemsClick=this.handleAllItemsClick.bind(this),this.handleItemsIOwnClick=this.handleItemsIOwnClick.bind(this),this.handleFavoriteClick=this.handleFavoriteClick.bind(this),this.handleSharedWithMeClick=this.handleSharedWithMeClick.bind(this),this.handleRecentlyModifiedClick=this.handleRecentlyModifiedClick.bind(this)}},{key:"isAllItemsSelected",get:function get(){return this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.ALL}},{key:"isItemsIOwnSelected",get:function get(){return this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.ITEMS_I_OWN}},{key:"isFavoriteSelected",get:function get(){return this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.FAVORITE}},{key:"isSharedWithMeSelected",get:function get(){return this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.SHARED_WITH_ME}},{key:"isRecentlyModifiedSelected",get:function get(){return this.props.resourceWorkspaceContext.filter.type===ResourceWorkspaceContext.a.RECENTLY_MODIFIED}},{key:"handleAllItemsClick",value:function handleAllItemsClick(){var filter={type:ResourceWorkspaceContext.a.ALL};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"handleRecentlyModifiedClick",value:function handleRecentlyModifiedClick(){var filter={type:ResourceWorkspaceContext.a.RECENTLY_MODIFIED};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"handleFavoriteClick",value:function handleFavoriteClick(){var filter={type:ResourceWorkspaceContext.a.FAVORITE};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"handleItemsIOwnClick",value:function handleItemsIOwnClick(){var filter={type:ResourceWorkspaceContext.a.ITEMS_I_OWN};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"handleSharedWithMeClick",value:function handleSharedWithMeClick(){var filter={type:ResourceWorkspaceContext.a.SHARED_WITH_ME};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)("div",{className:"navigation first shortcuts",children:Object(jsx_runtime.jsxs)("ul",{children:[Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(this.isAllItemsSelected?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleAllItemsClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"All items"})})})})})})}),Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(this.isFavoriteSelected?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleFavoriteClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Favorites"})})})})})})}),Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(this.isRecentlyModifiedSelected?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleRecentlyModifiedClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Recently Modified"})})})})})})}),Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(this.isSharedWithMeSelected?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleSharedWithMeClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Shared with me"})})})})})})}),Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row ".concat(this.isItemsIOwnSelected?"selected":""),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleItemsIOwnClick,children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"Owned by me"})})})})})})})]})})}}]),FilterResourcesByShortcuts}(react_default.a.Component);FilterResourcesByShortcuts_FilterResourcesByShortcuts.propTypes={history:prop_types_default.a.object,resourceWorkspaceContext:prop_types_default.a.object,t:prop_types_default.a.func},FilterResourcesByShortcuts_FilterResourcesByShortcuts.__docgenInfo={description:"This component allows to select shortcut filters applied on resources",methods:[{name:"bindHandlers",docblock:"Bind the component handlers",modifiers:[],params:[],returns:null,description:"Bind the component handlers"},{name:"isAllItemsSelected",docblock:"Returns true if the All Items shortcut is currently selected",modifiers:["get"],params:[],returns:null,description:"Returns true if the All Items shortcut is currently selected"},{name:"isItemsIOwnSelected",docblock:"Returns true if the All Items shortcut is currently selected",modifiers:["get"],params:[],returns:null,description:"Returns true if the All Items shortcut is currently selected"},{name:"isFavoriteSelected",docblock:"Returns true if the Favorite shortcut is currently selected",modifiers:["get"],params:[],returns:null,description:"Returns true if the Favorite shortcut is currently selected"},{name:"isSharedWithMeSelected",docblock:"Returns true if the Shared With Me shortcut is currently selected",modifiers:["get"],params:[],returns:null,description:"Returns true if the Shared With Me shortcut is currently selected"},{name:"isRecentlyModifiedSelected",docblock:"Returns true if the Recently Modified shortcut is currently selected",modifiers:["get"],params:[],returns:null,description:"Returns true if the Recently Modified shortcut is currently selected"},{name:"handleAllItemsClick",docblock:'Whenever the shortcut "All items" has been selected',modifiers:[],params:[],returns:null,description:'Whenever the shortcut "All items" has been selected'},{name:"handleRecentlyModifiedClick",docblock:'Whenever the shortcut "Recently modified" has been selected',modifiers:[],params:[],returns:null,description:'Whenever the shortcut "Recently modified" has been selected'},{name:"handleFavoriteClick",docblock:'Whenever the shortcut "Favorite" has been selected',modifiers:[],params:[],returns:null,description:'Whenever the shortcut "Favorite" has been selected'},{name:"handleItemsIOwnClick",docblock:'Whenever the shortcut "Items I own" has been selected',modifiers:[],params:[],returns:null,description:'Whenever the shortcut "Items I own" has been selected'},{name:"handleSharedWithMeClick",docblock:'Whenever the shortcut "Shared with me" has been selected',modifiers:[],params:[],returns:null,description:'Whenever the shortcut "Shared with me" has been selected'},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FilterResourcesByShortcuts",props:{history:{type:{name:"object"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Resource_FilterResourcesByShortcuts_FilterResourcesByShortcuts=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(FilterResourcesByShortcuts_FilterResourcesByShortcuts)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js"]={name:"FilterResourcesByShortcuts",docgenInfo:FilterResourcesByShortcuts_FilterResourcesByShortcuts.__docgenInfo,path:"src/react-extension/components/Resource/FilterResourcesByShortcuts/FilterResourcesByShortcuts.js"});__webpack_exports__.default={title:"Passbolt/Resource/FilterResourcesByShortcuts",component:Resource_FilterResourcesByShortcuts_FilterResourcesByShortcuts};var context={},FilterResourcesByShortcuts_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)("div",{className:"panel",children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(Resource_FilterResourcesByShortcuts_FilterResourcesByShortcuts,Object.assign({},args,routerProps))}})})})})};FilterResourcesByShortcuts_test_stories_Template.displayName="Template";var Initial=FilterResourcesByShortcuts_test_stories_Template.bind({});Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <div className=\"panel\">\n <Route component={routerProps => <FilterResourcesByShortcuts {...args} {...routerProps}/>}></Route>\n </div>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1656:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),UserSettings=(__webpack_require__(87),__webpack_require__(115)),userSettings=__webpack_require__(116),toConsumableArray=(__webpack_require__(19),__webpack_require__(46)),toConsumableArray_default=__webpack_require__.n(toConsumableArray),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=(__webpack_require__(21),__webpack_require__(14),__webpack_require__(23),__webpack_require__(170),__webpack_require__(3)),regenerator_default=__webpack_require__.n(regenerator),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),UserAvatar=__webpack_require__(82),GroupAvatar=__webpack_require__(141),ResourceWorkspaceContext=__webpack_require__(11),Icon=__webpack_require__(17),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),luxon=__webpack_require__(128),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourceDetailsActivity_DisplayResourceDetailsActivity=function(_React$Component){inherits_default()(DisplayResourceDetailsActivity,_React$Component);var _fetch,_handleMoreClickEvent,_handleTitleClickEvent,_handleResourceActivitiesRefresh,_handleResourceChange,_componentDidUpdate,_super=_createSuper(DisplayResourceDetailsActivity);function DisplayResourceDetailsActivity(props){var _this;return classCallCheck_default()(this,DisplayResourceDetailsActivity),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceDetailsActivity,[{key:"getDefaultState",value:function getDefaultState(){return{activities:null,activitiesPage:1,loadingMore:!1,open:!1,loading:!0}}},{key:"componentDidUpdate",value:(_componentDidUpdate=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(prevProps){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!prevProps.resourceWorkspaceContext.details){_context.next=3;break}return _context.next=3,this.handleResourceChange(prevProps.resourceWorkspaceContext.details.resource);case 3:if(!prevProps.resourceWorkspaceContext.refresh){_context.next=6;break}return _context.next=6,this.handleResourceActivitiesRefresh(prevProps.resourceWorkspaceContext.refresh.activities);case 6:case"end":return _context.stop()}}),_callee,this)}))),function componentDidUpdate(_x){return _componentDidUpdate.apply(this,arguments)})},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.handleMoreClickEvent=this.handleMoreClickEvent.bind(this)}},{key:"handleResourceChange",value:(_handleResourceChange=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(previousResource){var state;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(this.state.open){_context2.next=2;break}return _context2.abrupt("return");case 2:if(this.resource.id!==previousResource.id){_context2.next=4;break}return _context2.abrupt("return");case 4:return state=Object.assign({},this.getDefaultState(),{open:!0}),_context2.next=7,this.setState(state);case 7:return _context2.next=9,this.fetch();case 9:this.setState({loading:!1});case 10:case"end":return _context2.stop()}}),_callee2,this)}))),function handleResourceChange(_x2){return _handleResourceChange.apply(this,arguments)})},{key:"handleResourceActivitiesRefresh",value:(_handleResourceActivitiesRefresh=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(hasPreviouslyRefreshed){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:if(hasPreviouslyRefreshed||!this.props.resourceWorkspaceContext.refresh.activities){_context3.next=6;break}return _context3.next=4,this.fetch();case 4:return _context3.next=6,this.props.resourceWorkspaceContext.onResourceActivitiesRefreshed();case 6:case"end":return _context3.stop()}}),_callee3,this)}))),function handleResourceActivitiesRefresh(_x3){return _handleResourceActivitiesRefresh.apply(this,arguments)})},{key:"handleTitleClickEvent",value:(_handleTitleClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var defaultState;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(!this.state.open){_context4.next=5;break}defaultState=this.getDefaultState(),this.setState(defaultState),_context4.next=10;break;case 5:return _context4.next=7,this.setState({loading:!0,open:!0});case 7:return _context4.next=9,this.fetch();case 9:this.setState({loading:!1});case 10:case"end":return _context4.stop()}}),_callee4,this)}))),function handleTitleClickEvent(){return _handleTitleClickEvent.apply(this,arguments)})},{key:"handleMoreClickEvent",value:(_handleMoreClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){var activitiesPage;return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return activitiesPage=this.state.activitiesPage+1,_context5.next=4,this.setState({activitiesPage:activitiesPage,loadingMore:!0});case 4:return _context5.next=6,this.fetch();case 6:this.setState({loadingMore:!1});case 7:case"end":return _context5.stop()}}),_callee5,this)}))),function handleMoreClickEvent(){return _handleMoreClickEvent.apply(this,arguments)})},{key:"fetch",value:(_fetch=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(){var page,options,newActivities,activities;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return page=this.state.activitiesPage,options={limit:5,page:page},_context6.next=5,this.context.port.request("passbolt.actionlogs.find-all-for","Resource",this.resource.id,options);case 5:newActivities=_context6.sent,activities=this.state.activitiesPage>1?[].concat(toConsumableArray_default()(this.state.activities||[]),toConsumableArray_default()(newActivities)):toConsumableArray_default()(newActivities),this.setState({activities:activities});case 8:case"end":return _context6.stop()}}),_callee6,this)}))),function fetch(){return _fetch.apply(this,arguments)})},{key:"formatDateTimeAgo",value:function formatDateTimeAgo(date){return luxon.DateTime.fromISO(date).toRelative({locale:this.props.i18n.lng})}},{key:"getActivityCreatorFullName",value:function getActivityCreatorFullName(user){return"".concat(user.profile.first_name," ").concat(user.profile.last_name)}},{key:"getPermissionAroName",value:function getPermissionAroName(permission){if(permission.user){var profile=permission.user.profile;return"".concat(profile.first_name," ").concat(profile.last_name)}return permission.group.name}},{key:"getPermissionLabel",value:function getPermissionLabel(permission){switch(permission.type){case 1:return this.translate("can read");case 7:return this.translate("can update");case 15:return this.translate("is owner")}}},{key:"getPermissionChangeTypeLabel",value:function getPermissionChangeTypeLabel(type){switch(type){case"created":return this.translate("new");case"updated":return this.translate("updated");case"removed":return this.translate("deleted")}}},{key:"renderResouceCreatedActivity",value:function renderResouceCreatedActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),resourceLink="/app/passwords/view/".concat(this.resource.id),resourceName=this.resource.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," created item ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:resourceLink,children:{resourceName:resourceName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.id)}},{key:"renderResourceUpdatedActivity",value:function renderResourceUpdatedActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),resourceLink="/app/passwords/view/".concat(this.resource.id),resourceName=this.resource.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," updated item ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:resourceLink,children:{resourceName:resourceName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.id)}},{key:"renderSecretReadActivity",value:function renderSecretReadActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),resourceLink="/app/passwords/view/".concat(this.resource.id),resourceName=this.resource.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," accessed secret of item ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:resourceLink,children:{resourceName:resourceName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.id)}},{key:"renderSecretUpdatedActivity",value:function renderSecretUpdatedActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),resourceLink="/app/passwords/view/".concat(this.resource.id),resourceName=this.resource.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," updated secret of item ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:resourceLink,children:{resourceName:resourceName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.id)}},{key:"renderSharedActivityPermissionChangeItem",value:function renderSharedActivityPermissionChangeItem(permission,changeType){var permissionLabel=this.getPermissionLabel(permission),permissionAroName=this.getPermissionAroName(permission),changeTypeLabel=this.getPermissionChangeTypeLabel(changeType);return Object(jsx_runtime.jsxs)("li",{className:"clearfix",children:[permission.user&&Object(jsx_runtime.jsx)(UserAvatar.a,{user:permission.user,baseUrl:this.context.userSettings.getTrustedDomain()}),permission.group&&Object(jsx_runtime.jsx)(GroupAvatar.a,{group:permission.group,baseUrl:this.context.userSettings.getTrustedDomain()}),Object(jsx_runtime.jsxs)("div",{className:"name",children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:permissionAroName}),Object(jsx_runtime.jsxs)("span",{className:"permission-type",children:[" - ",permissionLabel]})]}),Object(jsx_runtime.jsx)("div",{className:"type",children:Object(jsx_runtime.jsx)("span",{className:changeType,children:changeTypeLabel})})]},permission.id)}},{key:"renderPermissionsUpdatedActivity",value:function renderPermissionsUpdatedActivity(activity){var _this2=this,activityCreatorName=this.getActivityCreatorFullName(activity.creator),resourceLink="/app/passwords/view/".concat(this.resource.id),resourceName=this.resource.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," changed permissions of item ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:resourceLink,children:{resourceName:resourceName}})," with"]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate}),Object(jsx_runtime.jsxs)("ul",{className:"permissions-list",children:[activity.data.permissions.added.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"created")})),activity.data.permissions.updated.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"updated")})),activity.data.permissions.removed.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"removed")}))]})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.id)}},{key:"renderUnknownActivity",value:function renderUnknownActivity(activity){return Object(jsx_runtime.jsx)("li",{className:"usercard-detailed-col-2",children:Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"content",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Unknown activity, please contact your administrator."})})})},activity.id)}},{key:"renderActivity",value:function renderActivity(activity){var render;switch(activity.type){case"Resources.created":render=this.renderResouceCreatedActivity(activity);break;case"Resources.updated":render=this.renderResourceUpdatedActivity(activity);break;case"Permissions.updated":render=this.renderPermissionsUpdatedActivity(activity);break;case"Resource.Secrets.read":render=this.renderSecretReadActivity(activity);break;case"Resource.Secrets.updated":render=this.renderSecretUpdatedActivity(activity);break;default:render=this.renderUnknownActivity(activity)}return render}},{key:"mustDisplayMoreButton",value:function mustDisplayMoreButton(){return!this.state.activities.some((function(activity){return"Resources.created"===activity.type}))}},{key:"resource",get:function get(){return this.props.resourceWorkspaceContext.details.resource}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this3=this;return Object(jsx_runtime.jsxs)("div",{className:"activity accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Activity"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[this.state.loading&&Object(jsx_runtime.jsx)("div",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Retrieving activities"})})}),!this.state.loading&&Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[Object(jsx_runtime.jsx)("ul",{className:"ready",children:this.state.activities.map((function(activity){return _this3.renderActivity(activity)}))}),this.mustDisplayMoreButton()&&Object(jsx_runtime.jsx)("div",{className:"actions",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleMoreClickEvent,className:"button action-logs-load-more ".concat(this.state.loadingMore?"processing disabled":""),role:"button",children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"More"})})})})]})]})]})}}]),DisplayResourceDetailsActivity}(react_default.a.Component);DisplayResourceDetailsActivity_DisplayResourceDetailsActivity.contextType=AppContext.a,DisplayResourceDetailsActivity_DisplayResourceDetailsActivity.propTypes={resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func,i18n:prop_types_default.a.any},DisplayResourceDetailsActivity_DisplayResourceDetailsActivity.__docgenInfo={description:"This component display activity section of a resource",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleResourceChange",docblock:"Check if the resource has changed and fetch\n@param previousResource",modifiers:["async"],params:[{name:"previousResource",description:null,type:null,optional:!1}],returns:null,description:"Check if the resource has changed and fetch"},{name:"handleResourceActivitiesRefresh",docblock:"Handle the refresh of the activities\n@param hasPreviouslyRefreshed True if one previously refreshed the activities",modifiers:["async"],params:[{name:"hasPreviouslyRefreshed",description:"True if one previously refreshed the activities",type:null,optional:!1}],returns:null,description:"Handle the refresh of the activities"},{name:"handleTitleClickEvent",docblock:"handle when the users click on the section header.\nOpen/Close it.",modifiers:["async"],params:[],returns:null,description:"handle when the users click on the section header.\nOpen/Close it."},{name:"handleMoreClickEvent",docblock:"handle when the users click on the more button.\nOpen/Close it.",modifiers:["async"],params:[],returns:null,description:"handle when the users click on the more button.\nOpen/Close it."},{name:"fetch",docblock:"Fetch the resource activities\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Fetch the resource activities"},{name:"formatDateTimeAgo",docblock:"Format date in time ago\n@param {string} date The date to format\n@return {string}",modifiers:[],params:[{name:"date",description:"The date to format",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Format date in time ago"},{name:"getActivityCreatorFullName",docblock:"Get an activity creator full name\n@param {object} user The creator\n@return string",modifiers:[],params:[{name:"user",description:"The creator",type:{name:"object"},optional:!1}],returns:{description:"string",type:null},description:"Get an activity creator full name"},{name:"getPermissionAroName",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"getPermissionLabel",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"getPermissionChangeTypeLabel",docblock:"Get permission change type label\n@param {string} type The target change type",modifiers:[],params:[{name:"type",description:"The target change type",type:{name:"string"},optional:!1}],returns:null,description:"Get permission change type label"},{name:"renderResouceCreatedActivity",docblock:"Render a resource created activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a resource created activity."},{name:"renderResourceUpdatedActivity",docblock:"Render a resource updated activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a resource updated activity."},{name:"renderSecretReadActivity",docblock:"Render a secret read activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a secret read activity."},{name:"renderSecretUpdatedActivity",docblock:"Render a secret updated activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a secret updated activity."},{name:"renderSharedActivityPermissionChangeItem",docblock:"Render a shared activity permission change item.\n@param {object} permission The target permission\n@param {string} changeType The change type\n@returns {JSX}",modifiers:[],params:[{name:"permission",description:"The target permission",type:{name:"object"},optional:!1},{name:"changeType",description:"The change type",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a shared activity permission change item."},{name:"renderPermissionsUpdatedActivity",docblock:"Render a permissions updated activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a permissions updated activity."},{name:"renderUnknownActivity",docblock:"Render an unknown activity.\n@returns {JSX}",modifiers:[],params:[{name:"activity"}],returns:{description:null,type:{name:"JSX"}},description:"Render an unknown activity."},{name:"renderActivity",docblock:"Render an activity\n@param {object} activity The activity to render",modifiers:[],params:[{name:"activity",description:"The activity to render",type:{name:"object"},optional:!1}],returns:null,description:"Render an activity"},{name:"mustDisplayMoreButton",docblock:"Check if the more button should be displayed.\n@return {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the more button should be displayed."},{name:"resource",docblock:"Returns the current detailed resource",modifiers:["get"],params:[],returns:null,description:"Returns the current detailed resource"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceDetailsActivity",props:{resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""},i18n:{type:{name:"any"},required:!1,description:""}}};var DisplayResourceDetails_DisplayResourceDetailsActivity=Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceDetailsActivity_DisplayResourceDetailsActivity));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.js"]={name:"DisplayResourceDetailsActivity",docgenInfo:DisplayResourceDetailsActivity_DisplayResourceDetailsActivity.__docgenInfo,path:"src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.js"});__webpack_exports__.default={title:"Passbolt/ResourceDetails/DisplayResourceDetailsActivity",component:DisplayResourceDetails_DisplayResourceDetailsActivity};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}},userSettings:new UserSettings.a(userSettings.a),port:{request:function request(){return[{id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",type:"Resources.created",creator:{profile:{first_name:"Ada",last_name:"Lovelace"}}}]}}},DisplayResourceDetailsActivity_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceDetails_DisplayResourceDetailsActivity,Object.assign({},args,routerProps))}})})})};DisplayResourceDetailsActivity_test_stories_Template.displayName="Template";var Initial=DisplayResourceDetailsActivity_test_stories_Template.bind({});Initial.args={resourceWorkspaceContext:{details:{resource:{}}}},Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceDetailsActivity {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1657:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),UserSettings=(__webpack_require__(87),__webpack_require__(115)),userSettings=__webpack_require__(116),toConsumableArray=(__webpack_require__(19),__webpack_require__(46)),toConsumableArray_default=__webpack_require__.n(toConsumableArray),asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),prop_types=(__webpack_require__(21),__webpack_require__(14),__webpack_require__(23),__webpack_require__(170),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),luxon=__webpack_require__(128),UserAvatar=__webpack_require__(82),GroupAvatar=__webpack_require__(141),ResourceWorkspaceContext=__webpack_require__(11),Icon=__webpack_require__(17),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity=function(_React$Component){inherits_default()(DisplayResourceFolderDetailsActivity,_React$Component);var _fetch,_handleMoreClickEvent,_handleTitleClickEvent,_handleResourceChange,_componentDidUpdate,_super=_createSuper(DisplayResourceFolderDetailsActivity);function DisplayResourceFolderDetailsActivity(props){var _this;return classCallCheck_default()(this,DisplayResourceFolderDetailsActivity),(_this=_super.call(this,props)).state=_this.defaultState,_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceFolderDetailsActivity,[{key:"defaultState",get:function get(){return{activities:null,activitiesPage:1,loadingMore:!1,open:!1,loading:!0}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this),this.handleMoreClickEvent=this.handleMoreClickEvent.bind(this)}},{key:"componentDidUpdate",value:(_componentDidUpdate=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(prevProps){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.handleResourceChange(prevProps.resourceWorkspaceContext.details.folder);case 2:case"end":return _context.stop()}}),_callee,this)}))),function componentDidUpdate(_x){return _componentDidUpdate.apply(this,arguments)})},{key:"handleResourceChange",value:(_handleResourceChange=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(previousFolder){var state;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(!this.state.open||this.folder.id===previousFolder.id){_context2.next=7;break}return state=Object.assign({},this.defaultState,{open:!0}),_context2.next=4,this.setState(state);case 4:return _context2.next=6,this.fetch();case 6:this.setState({loading:!1});case 7:case"end":return _context2.stop()}}),_callee2,this)}))),function handleResourceChange(_x2){return _handleResourceChange.apply(this,arguments)})},{key:"handleTitleClickEvent",value:(_handleTitleClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){var defaultState;return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:if(!this.state.open){_context3.next=5;break}defaultState=this.defaultState,this.setState(defaultState),_context3.next=10;break;case 5:return _context3.next=7,this.setState({loading:!0,open:!0});case 7:return _context3.next=9,this.fetch();case 9:this.setState({loading:!1});case 10:case"end":return _context3.stop()}}),_callee3,this)}))),function handleTitleClickEvent(){return _handleTitleClickEvent.apply(this,arguments)})},{key:"handleMoreClickEvent",value:(_handleMoreClickEvent=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){var activitiesPage;return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return activitiesPage=this.state.activitiesPage+1,_context4.next=4,this.setState({activitiesPage:activitiesPage,loadingMore:!0});case 4:return _context4.next=6,this.fetch();case 6:this.setState({loadingMore:!1});case 7:case"end":return _context4.stop()}}),_callee4,this)}))),function handleMoreClickEvent(){return _handleMoreClickEvent.apply(this,arguments)})},{key:"fetch",value:(_fetch=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(){var page,options,newActivities,activities;return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return page=this.state.activitiesPage,options={limit:5,page:page},_context5.next=5,this.context.port.request("passbolt.actionlogs.find-all-for","Folder",this.folder.id,options);case 5:newActivities=_context5.sent,activities=this.state.activitiesPage>1?[].concat(toConsumableArray_default()(this.state.activities||[]),toConsumableArray_default()(newActivities)):toConsumableArray_default()(newActivities),this.setState({activities:activities});case 8:case"end":return _context5.stop()}}),_callee5,this)}))),function fetch(){return _fetch.apply(this,arguments)})},{key:"formatDateTimeAgo",value:function formatDateTimeAgo(date){return luxon.DateTime.fromISO(date).toRelative({locale:this.props.i18n.lng})}},{key:"getActivityCreatorFullName",value:function getActivityCreatorFullName(user){return"".concat(user.profile.first_name," ").concat(user.profile.last_name)}},{key:"getFolderPermalink",value:function getFolderPermalink(folder){var baseUrl=this.context.userSettings.getTrustedDomain();return"".concat(baseUrl,"/app/folders/view/").concat(folder.id)}},{key:"getPermissionAroName",value:function getPermissionAroName(permission){if(permission.user){var profile=permission.user.profile;return"".concat(profile.first_name," ").concat(profile.last_name)}return permission.group.name}},{key:"getPermissionLabel",value:function getPermissionLabel(permission){switch(permission.type){case 1:return this.translate("can read");case 7:return this.translate("can update");case 15:return this.translate("is owner")}}},{key:"getPermissionChangeTypeLabel",value:function getPermissionChangeTypeLabel(type){switch(type){case"created":return this.translate("new");case"updated":return this.translate("updated");case"removed":return this.translate("deleted")}}},{key:"renderFolderCreatedActivity",value:function renderFolderCreatedActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),folderPermalink=this.getFolderPermalink(this.folder),folderName=this.folder.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," created folder ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:folderPermalink,children:{folderName:folderName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.action_log_id)}},{key:"renderFolderUpdatedActivity",value:function renderFolderUpdatedActivity(activity){var activityCreatorName=this.getActivityCreatorFullName(activity.creator),folderPermalink=this.getFolderPermalink(this.folder),folderName=this.folder.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," updated folder ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:folderPermalink,children:{folderName:folderName}})]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.action_log_id)}},{key:"renderSharedActivityPermissionChangeItem",value:function renderSharedActivityPermissionChangeItem(permission,changeType){var permissionLabel=this.getPermissionLabel(permission),permissionAroName=this.getPermissionAroName(permission),changeTypeLabel=this.getPermissionChangeTypeLabel(changeType);return Object(jsx_runtime.jsxs)("li",{className:"clearfix",children:[permission.user&&Object(jsx_runtime.jsx)(UserAvatar.a,{user:permission.user,baseUrl:this.context.userSettings.getTrustedDomain()}),permission.group&&Object(jsx_runtime.jsx)(GroupAvatar.a,{group:permission.group,baseUrl:this.context.userSettings.getTrustedDomain()}),Object(jsx_runtime.jsxs)("div",{className:"name",children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:permissionAroName}),Object(jsx_runtime.jsxs)("span",{className:"permission-type",children:[" - ",permissionLabel]})]}),Object(jsx_runtime.jsx)("div",{className:"type",children:Object(jsx_runtime.jsx)("span",{className:changeType,children:changeTypeLabel})})]},permission.id)}},{key:"renderPermissionsUpdatedActivity",value:function renderPermissionsUpdatedActivity(activity){var _this2=this,activityCreatorName=this.getActivityCreatorFullName(activity.creator),folderPermalink=this.getFolderPermalink(this.folder),folderName=this.folder.name,activityFormattedDate=this.formatDateTimeAgo(activity.created);return Object(jsx_runtime.jsxs)("li",{className:"usercard-detailed-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:Object(jsx_runtime.jsxs)(Trans.a,{children:[Object(jsx_runtime.jsx)("span",{className:"creator",children:{activityCreatorName:activityCreatorName}})," changed permissions of folder ",Object(jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:folderPermalink,children:{folderName:folderName}})," with"]})}),Object(jsx_runtime.jsx)("div",{className:"subinfo light",children:activityFormattedDate}),Object(jsx_runtime.jsxs)("ul",{className:"permissions-list",children:[activity.data.permissions.added.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"created")})),activity.data.permissions.updated.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"updated")})),activity.data.permissions.removed.map((function(permission){return _this2.renderSharedActivityPermissionChangeItem(permission,"removed")}))]})]})}),Object(jsx_runtime.jsx)(UserAvatar.a,{user:activity.creator,baseUrl:this.context.userSettings.getTrustedDomain()})]},activity.action_log_id)}},{key:"renderUnknownActivity",value:function renderUnknownActivity(){return Object(jsx_runtime.jsx)("li",{className:"usercard-detailed-col-2",children:Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"content",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Unknown activity, please contact your administrator."})})})})}},{key:"renderActivity",value:function renderActivity(activity){var render;switch(activity.type){case"Folders.created":render=this.renderFolderCreatedActivity(activity);break;case"Folders.updated":render=this.renderFolderUpdatedActivity(activity);break;case"Permissions.updated":render=this.renderPermissionsUpdatedActivity(activity);break;default:render=this.renderUnknownActivity(activity)}return render}},{key:"isMoreButtonVisible",value:function isMoreButtonVisible(){return null!==this.state.activities&&!this.state.activities.some((function(activity){return"Folders.created"===activity.type}))}},{key:"folder",get:function get(){return this.props.resourceWorkspaceContext.details.folder}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this3=this,loadingActivities=null===this.state.activities,isMoreButtonVisible=this.isMoreButtonVisible();return Object(jsx_runtime.jsxs)("div",{className:"activity accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Activity"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[loadingActivities&&Object(jsx_runtime.jsx)("div",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Retrieving activities"})})}),!loadingActivities&&Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[Object(jsx_runtime.jsx)("ul",{className:"ready",children:this.state.activities.map((function(activity){return _this3.renderActivity(activity)}))}),isMoreButtonVisible&&Object(jsx_runtime.jsx)("div",{className:"actions",children:Object(jsx_runtime.jsx)("a",{onClick:this.handleMoreClickEvent,className:"button action-logs-load-more ".concat(this.state.loadingMore?"processing disabled":""),role:"button",children:Object(jsx_runtime.jsx)("span",{children:Object(jsx_runtime.jsx)(Trans.a,{children:"More"})})})})]})]})]})}}]),DisplayResourceFolderDetailsActivity}(react_default.a.Component);DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity.contextType=AppContext.a,DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity.propTypes={resourceWorkspaceContext:prop_types_default.a.any,t:prop_types_default.a.func,i18n:prop_types_default.a.any},DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity.__docgenInfo={description:"",methods:[{name:"defaultState",docblock:"Get default state\n@returns {*}",modifiers:["get"],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleResourceChange",docblock:"Check if the folder has changed and fetch\n@param previousFolder",modifiers:["async"],params:[{name:"previousFolder",description:null,type:null,optional:!1}],returns:null,description:"Check if the folder has changed and fetch"},{name:"handleTitleClickEvent",docblock:"handle when the users click on the section header.\nOpen/Close it.",modifiers:["async"],params:[],returns:null,description:"handle when the users click on the section header.\nOpen/Close it."},{name:"handleMoreClickEvent",docblock:"handle when the users click on the more button.",modifiers:["async"],params:[],returns:null,description:"handle when the users click on the more button."},{name:"fetch",docblock:"Fetch the folder activities\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Fetch the folder activities"},{name:"formatDateTimeAgo",docblock:"Format date in time ago\n@param {string} date The date to format\n@return {string}",modifiers:[],params:[{name:"date",description:"The date to format",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Format date in time ago"},{name:"getActivityCreatorFullName",docblock:"Get an activity creator full name\n@param {object} user The creator\n@return string",modifiers:[],params:[{name:"user",description:"The creator",type:{name:"object"},optional:!1}],returns:{description:"string",type:null},description:"Get an activity creator full name"},{name:"getFolderPermalink",docblock:"Get a folder permalink\n@param {object} folder The target folder\n@returns {string}",modifiers:[],params:[{name:"folder",description:"The target folder",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Get a folder permalink"},{name:"getPermissionAroName",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"getPermissionLabel",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"getPermissionChangeTypeLabel",docblock:"Get permission change type label\n@param {string} type The target change type",modifiers:[],params:[{name:"type",description:"The target change type",type:{name:"string"},optional:!1}],returns:null,description:"Get permission change type label"},{name:"renderFolderCreatedActivity",docblock:"Render a created activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a created activity."},{name:"renderFolderUpdatedActivity",docblock:"Render an updated activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render an updated activity."},{name:"renderSharedActivityPermissionChangeItem",docblock:"Render a shared activity permission change item.\n@param {object} permission The target permission\n@param {string} changeType The change type\n@returns {JSX}",modifiers:[],params:[{name:"permission",description:"The target permission",type:{name:"object"},optional:!1},{name:"changeType",description:"The change type",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a shared activity permission change item."},{name:"renderPermissionsUpdatedActivity",docblock:"Render a permissions updated activity.\n@param {object} activity The target activity\n@returns {JSX}",modifiers:[],params:[{name:"activity",description:"The target activity",type:{name:"object"},optional:!1}],returns:{description:null,type:{name:"JSX"}},description:"Render a permissions updated activity."},{name:"renderUnknownActivity",docblock:"Render an unknown activity.\n@returns {JSX}",modifiers:[],params:[],returns:{description:null,type:{name:"JSX"}},description:"Render an unknown activity."},{name:"renderActivity",docblock:"Render an activity\n@param {object} activity The activity to render",modifiers:[],params:[{name:"activity",description:"The activity to render",type:{name:"object"},optional:!1}],returns:null,description:"Render an activity"},{name:"isMoreButtonVisible",docblock:"Is the more button visible\n@return {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is the more button visible"},{name:"folder",docblock:"Returns the current detailed folder",modifiers:["get"],params:[],returns:null,description:"Returns the current detailed folder"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceFolderDetailsActivity",props:{resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""},i18n:{type:{name:"any"},required:!1,description:""}}};var DisplayResourceFolderDetails_DisplayResourceFolderDetailsActivity=Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.js"]={name:"DisplayResourceFolderDetailsActivity",docgenInfo:DisplayResourceFolderDetailsActivity_DisplayResourceFolderDetailsActivity.__docgenInfo,path:"src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.js"});__webpack_exports__.default={title:"Passbolt/ResourceFolderDetails/DisplayResourceFolderDetailsActivity",component:DisplayResourceFolderDetails_DisplayResourceFolderDetailsActivity};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}},userSettings:new UserSettings.a(userSettings.a),port:{request:function request(){return[{action_log_id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",type:"Folders.created",creator:{profile:{first_name:"Ada",last_name:"Lovelace"}}}]}}},DisplayResourceFolderDetailsActivity_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceFolderDetails_DisplayResourceFolderDetailsActivity,Object.assign({},args,routerProps))}})})})};DisplayResourceFolderDetailsActivity_test_stories_Template.displayName="Template";var Initial=DisplayResourceFolderDetailsActivity_test_stories_Template.bind({});Initial.args={resourceWorkspaceContext:{details:{resource:{id:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",name:"Accounting",created:"2020-02-01T00:00:00+00:00",modified:"2020-02-01T00:00:00+00:00",created_by:"f848277c-5398-58f8-a82a-72397af2d450",modified_by:"f848277c-5398-58f8-a82a-72397af2d450",permission:{id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",aco:"Folder",aco_foreign_key:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",aro:"User",aro_foreign_key:"f848277c-5398-58f8-a82a-72397af2d450",type:1,created:"2020-05-11T10:11:13+00:00",modified:"2020-05-11T10:11:13+00:00"},folder_parent_id:null,personal:!1}}}},Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceFolderDetailsActivity {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1658:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),classCallCheck=(__webpack_require__(87),__webpack_require__(19),__webpack_require__(6)),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),Icon=(__webpack_require__(71),__webpack_require__(14),__webpack_require__(17)),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),ResourceWorkspaceContext=__webpack_require__(11),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),luxon=__webpack_require__(128),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation=function(_React$Component){inherits_default()(DisplayResourceFolderDetailsInformation,_React$Component);var _super=_createSuper(DisplayResourceFolderDetailsInformation);function DisplayResourceFolderDetailsInformation(props){var _this;return classCallCheck_default()(this,DisplayResourceFolderDetailsInformation),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceFolderDetailsInformation,[{key:"getDefaultState",value:function getDefaultState(){return{open:!0}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleFolderParentClickEvent=this.handleFolderParentClickEvent.bind(this),this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this)}},{key:"handleFolderParentClickEvent",value:function handleFolderParentClickEvent(){var _this2=this;if(this.folder.folder_parent_id){var folderParent=this.context.folders.find((function(item){return item.id===_this2.folder.folder_parent_id}));this.props.history.push("/app/folders/view/".concat(folderParent.id))}else{var filter={type:ResourceWorkspaceContext.a.ROOT_FOLDER};this.props.history.push("/app/passwords",{filter:filter})}}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;this.setState({open:open})}},{key:"folder",get:function get(){return this.props.resourceWorkspaceContext.details.folder}},{key:"formatDateTimeAgo",value:function formatDateTimeAgo(date){return luxon.DateTime.fromISO(date).toRelative({locale:this.props.i18n.lng})}},{key:"getUserUsername",value:function getUserUsername(userId){if(this.context.users){var user=this.context.users.find((function(item){return item.id===userId}));if(user)return user.username}return""}},{key:"getFolderName",value:function getFolderName(folderId){return null===folderId?"/":this.context.folders?this.context.folders.find((function(item){return item.id===folderId})).name:""}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var creatorUsername=this.getUserUsername(this.folder.created_by),modifierUsername=this.getUserUsername(this.folder.modified_by),createdDateTimeAgo=this.formatDateTimeAgo(this.folder.created),modifiedDateTimeAgo=this.formatDateTimeAgo(this.folder.modified),folderParentName=this.getFolderName(this.folder.folder_parent_id);return Object(jsx_runtime.jsxs)("div",{className:"detailed-information accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Information"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsx)("div",{className:"accordion-content",children:Object(jsx_runtime.jsxs)("ul",{children:[Object(jsx_runtime.jsxs)("li",{className:"username",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Name"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:this.folder.name})]}),Object(jsx_runtime.jsxs)("li",{className:"modified",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Modified"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:modifiedDateTimeAgo})]}),Object(jsx_runtime.jsxs)("li",{className:"modified-by",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Modified by"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:modifierUsername})]}),Object(jsx_runtime.jsxs)("li",{className:"modified",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Created"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:createdDateTimeAgo})]}),Object(jsx_runtime.jsxs)("li",{className:"modified-by",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Created by"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:creatorUsername})]}),Object(jsx_runtime.jsxs)("li",{className:"location",children:[Object(jsx_runtime.jsx)("span",{className:"label",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Location"})}),Object(jsx_runtime.jsx)("span",{className:"value",children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleFolderParentClickEvent,className:"folder-link ".concat(this.context.folders?"":"disabled"),children:[Object(jsx_runtime.jsx)(Icon.a,{name:"folder"})," ",folderParentName]})})]})]})})]})}}]),DisplayResourceFolderDetailsInformation}(react_default.a.Component);DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation.contextType=AppContext.a,DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation.propTypes={history:prop_types_default.a.object,resourceWorkspaceContext:prop_types_default.a.object,t:prop_types_default.a.func,i18n:prop_types_default.a.any},DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleFolderParentClickEvent",docblock:"Handle when the user selects the folder parent.",modifiers:[],params:[],returns:null,description:"Handle when the user selects the folder parent."},{name:"handleTitleClickEvent",docblock:"Handle when the user selects the folder parent.",modifiers:[],params:[],returns:null,description:"Handle when the user selects the folder parent."},{name:"folder",docblock:"Returns the current detailed folder",modifiers:["get"],params:[],returns:null,description:"Returns the current detailed folder"},{name:"formatDateTimeAgo",docblock:"Format date in time ago\n@param {string} date The date to format\n@return {string}",modifiers:[],params:[{name:"date",description:"The date to format",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Format date in time ago"},{name:"getUserUsername",docblock:"Get a user username\n@param {string} userId The user id",modifiers:[],params:[{name:"userId",description:"The user id",type:{name:"string"},optional:!1}],returns:null,description:"Get a user username"},{name:"getFolderName",docblock:"Get the folder name.\n@param {string} folderId The folder id\n@returns {string}",modifiers:[],params:[{name:"folderId",description:"The folder id",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Get the folder name."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceFolderDetailsInformation",props:{history:{type:{name:"object"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""},i18n:{type:{name:"any"},required:!1,description:""}}};var DisplayResourceFolderDetails_DisplayResourceFolderDetailsInformation=Object(react_router.c)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.js"]={name:"DisplayResourceFolderDetailsInformation",docgenInfo:DisplayResourceFolderDetailsInformation_DisplayResourceFolderDetailsInformation.__docgenInfo,path:"src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.js"});__webpack_exports__.default={title:"Passbolt/ResourceFolderDetails/DisplayResourceFolderDetailsInformation",component:DisplayResourceFolderDetails_DisplayResourceFolderDetailsInformation};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}}},DisplayResourceFolderDetailsInformation_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceFolderDetails_DisplayResourceFolderDetailsInformation,Object.assign({},args,routerProps))}})})})};DisplayResourceFolderDetailsInformation_test_stories_Template.displayName="Template";var Initial=DisplayResourceFolderDetailsInformation_test_stories_Template.bind({});Initial.args={resourceWorkspaceContext:{details:{folder:{id:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",name:"Accounting",created:"2020-02-01T00:00:00+00:00",modified:"2020-02-01T00:00:00+00:00",created_by:"f848277c-5398-58f8-a82a-72397af2d450",modified_by:"f848277c-5398-58f8-a82a-72397af2d450",permission:{id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",aco:"Folder",aco_foreign_key:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",aro:"User",aro_foreign_key:"f848277c-5398-58f8-a82a-72397af2d450",type:1,created:"2020-05-11T10:11:13+00:00",modified:"2020-05-11T10:11:13+00:00"},folder_parent_id:null,personal:!1}}}},Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceFolderDetailsInformation {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},1659:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"Initial",(function(){return Initial}));__webpack_require__(31),__webpack_require__(12),__webpack_require__(18);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_router=__webpack_require__(99),AppContext=__webpack_require__(13),UserSettings=(__webpack_require__(87),__webpack_require__(115)),userSettings=__webpack_require__(116),asyncToGenerator=(__webpack_require__(19),__webpack_require__(4)),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),prop_types=(__webpack_require__(153),__webpack_require__(14),__webpack_require__(21),__webpack_require__(23),__webpack_require__(2)),prop_types_default=__webpack_require__.n(prop_types),UserAvatar=__webpack_require__(82),GroupAvatar=__webpack_require__(141),Icon=__webpack_require__(17),DialogContext=__webpack_require__(41),ShareDialog=__webpack_require__(220),ResourceWorkspaceContext=__webpack_require__(11),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions=function(_React$Component){inherits_default()(DisplayResourceFolderDetailsPermissions,_React$Component);var _fetch,_componentDidUpdate,_super=_createSuper(DisplayResourceFolderDetailsPermissions);function DisplayResourceFolderDetailsPermissions(props){var _this;return classCallCheck_default()(this,DisplayResourceFolderDetailsPermissions),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return createClass_default()(DisplayResourceFolderDetailsPermissions,[{key:"getDefaultState",value:function getDefaultState(){return{permissions:null,open:!1,loading:!0}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handlePermissionsEditClickEvent=this.handlePermissionsEditClickEvent.bind(this),this.handleTitleClickEvent=this.handleTitleClickEvent.bind(this)}},{key:"componentDidUpdate",value:(_componentDidUpdate=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(prevProps){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.handleFolderChange(prevProps.resourceWorkspaceContext.details.folder);case 2:case"end":return _context.stop()}}),_callee,this)}))),function componentDidUpdate(_x){return _componentDidUpdate.apply(this,arguments)})},{key:"handleFolderChange",value:function handleFolderChange(previousFolder){this.folder.id!==previousFolder.id&&this.state.open&&this.fetch()}},{key:"fetch",value:(_fetch=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(){var permissions,_this2=this;return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return this.setState({loading:!0}),_context2.next=3,this.context.port.request("passbolt.folders.find-permissions",this.folder.id);case 3:(permissions=_context2.sent)&&permissions.sort((function(permissionA,permissionB){return _this2.sortPermissions(permissionA,permissionB)})),this.setState({permissions:permissions,loading:!1});case 6:case"end":return _context2.stop()}}),_callee2,this)}))),function fetch(){return _fetch.apply(this,arguments)})},{key:"sortPermissions",value:function sortPermissions(permissionA,permissionB){return permissionA.user&&permissionB.user?permissionA.user.profile.first_name===permissionB.user.profile.first_name?permissionA.user.profile.last_name<permissionB.user.profile.last_name?-1:1:permissionA.user.profile.first_name<permissionB.user.profile.first_name?-1:1:!permissionA.user&&permissionB.user?1:permissionA.user&&!permissionB.user||permissionA.group.name<permissionB.group.name?-1:1}},{key:"handleTitleClickEvent",value:function handleTitleClickEvent(){var open=!this.state.open;open&&this.fetch(),this.setState({open:open})}},{key:"handlePermissionsEditClickEvent",value:function handlePermissionsEditClickEvent(){var foldersIds=[this.folder.id];this.context.setContext({shareDialogProps:{foldersIds:foldersIds}}),this.props.dialogContext.open(ShareDialog.a)}},{key:"folder",get:function get(){return this.props.resourceWorkspaceContext.details.folder}},{key:"getPermissionAroName",value:function getPermissionAroName(permission){if(permission.user){var profile=permission.user.profile;return"".concat(profile.first_name," ").concat(profile.last_name)}return permission.group.name}},{key:"getPermissionLabel",value:function getPermissionLabel(permission){switch(permission.type){case 1:return this.translate("can read");case 7:return this.translate("can update");case 15:return this.translate("is owner")}}},{key:"isLoading",value:function isLoading(){return this.state.loading}},{key:"canShare",value:function canShare(){return this.folder.permission&&15===this.folder.permission.type}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this3=this;return Object(jsx_runtime.jsxs)("div",{className:"sharedwith accordion sidebar-section ".concat(this.state.open?"":"closed"),children:[Object(jsx_runtime.jsx)("div",{className:"accordion-header",children:Object(jsx_runtime.jsx)("h4",{children:Object(jsx_runtime.jsxs)("a",{onClick:this.handleTitleClickEvent,role:"button",children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Shared with"}),this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-down"}),!this.state.open&&Object(jsx_runtime.jsx)(Icon.a,{name:"caret-right"})]})})}),Object(jsx_runtime.jsxs)("div",{className:"accordion-content",children:[this.canShare()&&Object(jsx_runtime.jsxs)("a",{onClick:this.handlePermissionsEditClickEvent,className:"section-action",children:[Object(jsx_runtime.jsx)(Icon.a,{name:"edit"}),Object(jsx_runtime.jsx)("span",{className:"visuallyhidden",children:Object(jsx_runtime.jsx)(Trans.a,{children:"modify"})})]}),Object(jsx_runtime.jsx)("div",{children:Object(jsx_runtime.jsxs)("ul",{className:"shared-with ready",children:[this.isLoading()&&Object(jsx_runtime.jsx)("div",{className:"processing-wrapper",children:Object(jsx_runtime.jsx)("span",{className:"processing-text",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Retrieving permissions"})})}),this.state.permissions&&this.state.permissions.map((function(permission){return Object(jsx_runtime.jsxs)("li",{className:"usercard-col-2",children:[Object(jsx_runtime.jsx)("div",{className:"content-wrapper",children:Object(jsx_runtime.jsxs)("div",{className:"content",children:[Object(jsx_runtime.jsx)("div",{className:"name",children:_this3.getPermissionAroName(permission)}),Object(jsx_runtime.jsx)("div",{className:"subinfo",children:_this3.getPermissionLabel(permission)})]})}),permission.user&&Object(jsx_runtime.jsx)(UserAvatar.a,{user:permission.user,baseUrl:_this3.context.userSettings.getTrustedDomain()}),permission.group&&Object(jsx_runtime.jsx)(GroupAvatar.a,{group:permission.group,baseUrl:_this3.context.userSettings.getTrustedDomain()})]},permission.id)}))]})})]})]})}}]),DisplayResourceFolderDetailsPermissions}(react_default.a.Component);DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions.contextType=AppContext.a,DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions.propTypes={resourceWorkspaceContext:prop_types_default.a.object,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"handleFolderChange",docblock:"Check if the folder has changed and fetch\n@param previousFolder",modifiers:[],params:[{name:"previousFolder",description:null,type:null,optional:!1}],returns:null,description:"Check if the folder has changed and fetch"},{name:"fetch",docblock:"Get the folder permissions.",modifiers:["async"],params:[],returns:null,description:"Get the folder permissions."},{name:"sortPermissions",docblock:"Sort permission by user firstname and by group name\n@param permissionA\n@param permissionB\n@returns {number}",modifiers:[],params:[{name:"permissionA",description:null,type:null,optional:!1},{name:"permissionB",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"number"}},description:"Sort permission by user firstname and by group name"},{name:"handleTitleClickEvent",docblock:"handle when the users click on the section header.\nOpen/Close it.",modifiers:[],params:[],returns:null,description:"handle when the users click on the section header.\nOpen/Close it."},{name:"handlePermissionsEditClickEvent",docblock:"Handle when the user edits the folder permissions.",modifiers:[],params:[],returns:null,description:"Handle when the user edits the folder permissions."},{name:"folder",docblock:"Returns the current detailed resource",modifiers:["get"],params:[],returns:null,description:"Returns the current detailed resource"},{name:"getPermissionAroName",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"getPermissionLabel",docblock:"Get a permission aro name\n@param {object} permission The permission",modifiers:[],params:[{name:"permission",description:"The permission",type:{name:"object"},optional:!1}],returns:null,description:"Get a permission aro name"},{name:"isLoading",docblock:"check if no permission is present\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"check if no permission is present"},{name:"canShare",docblock:"Check if the user can share the folder.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the user can share the folder."},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DisplayResourceFolderDetailsPermissions",props:{resourceWorkspaceContext:{type:{name:"object"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var DisplayResourceFolderDetails_DisplayResourceFolderDetailsPermissions=Object(DialogContext.b)(Object(ResourceWorkspaceContext.c)(Object(withTranslation.a)("common")(DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions)));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.js"]={name:"DisplayResourceFolderDetailsPermissions",docgenInfo:DisplayResourceFolderDetailsPermissions_DisplayResourceFolderDetailsPermissions.__docgenInfo,path:"src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.js"});__webpack_exports__.default={title:"Passbolt/ResourceFolderDetails/DisplayResourceFolderDetailsPermissions",component:DisplayResourceFolderDetails_DisplayResourceFolderDetailsPermissions};var context={siteSettings:{getServerTimezone:function getServerTimezone(){return(new Date).toDateString()}},setContext:function setContext(){},userSettings:new UserSettings.a(userSettings.a),port:{request:function request(){return[{id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",aco:"Folder",aco_foreign_key:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",aro:"User",aro_foreign_key:"f848277c-5398-58f8-a82a-72397af2d450",type:15,created:"2020-05-11T10:11:13+00:00",modified:"2020-05-11T10:11:13+00:00",group:{name:"My shared group"}}]}}},DisplayResourceFolderDetailsPermissions_test_stories_Template=function Template(args){return Object(jsx_runtime.jsx)(AppContext.a.Provider,{value:context,children:Object(jsx_runtime.jsx)(react_router.a,{initialEntries:["/"],children:Object(jsx_runtime.jsx)(react_router.b,{component:function component(routerProps){return Object(jsx_runtime.jsx)(DisplayResourceFolderDetails_DisplayResourceFolderDetailsPermissions,Object.assign({},args,routerProps))}})})})};DisplayResourceFolderDetailsPermissions_test_stories_Template.displayName="Template";var Initial=DisplayResourceFolderDetailsPermissions_test_stories_Template.bind({});Initial.args={resourceWorkspaceContext:{details:{folder:{id:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",name:"Accounting",created:"2020-02-01T00:00:00+00:00",modified:"2020-02-01T00:00:00+00:00",created_by:"f848277c-5398-58f8-a82a-72397af2d450",modified_by:"f848277c-5398-58f8-a82a-72397af2d450",permission:{id:"6aada140-fe8b-5e69-a90f-ae0cec6d3dcf",aco:"Folder",aco_foreign_key:"9e03fd73-04c0-5514-95fa-1a6cf2c7c093",aro:"User",aro_foreign_key:"f848277c-5398-58f8-a82a-72397af2d450",type:15,created:"2020-05-11T10:11:13+00:00",modified:"2020-05-11T10:11:13+00:00"},folder_parent_id:null,personal:!1}}}},Initial.parameters=Object.assign({storySource:{source:"args =>\n <AppContext.Provider value={context}>\n <MemoryRouter initialEntries={['/']}>\n <Route component={routerProps => <DisplayResourceFolderDetailsPermissions {...args} {...routerProps}/>}></Route>\n </MemoryRouter>\n </AppContext.Provider>"}},Initial.parameters)},17:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_8__=(__webpack_require__(14),__webpack_require__(628),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var Icon=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Icon,_Component);var _super=_createSuper(Icon);function Icon(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,Icon),_super.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Icon,[{key:"getClassName",value:function getClassName(){var className="svg-icon ".concat(this.props.name);return this.props.big&&(className+=" icon-only"),this.props.baseline&&(className+=" baseline"),className}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("span",{className:this.getClassName(),onClick:this.props.onClick,children:["ban"===this.props.name&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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"})}),"eye-open"===this.props.name&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{viewBox:"2 2 20 20",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"512",height:"512",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 384 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"2048",height:"1792",viewBox:"0 0 2048 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"448",height:"512",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"640",height:"512",viewBox:"0 0 640 512",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("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"})})]})}}]),Icon}(react__WEBPACK_IMPORTED_MODULE_8__.Component);Icon.defaultProps={big:!1,baseline:!1,onClick:function onClick(){}},Icon.propTypes={name:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,big:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,baseline:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,onClick:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func},Icon.__docgenInfo={description:"",methods:[{name:"getClassName",docblock:"Get icon classname\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get icon classname"}],displayName:"Icon",props:{big:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},baseline:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},onClick:{defaultValue:{value:"() => {\n}",computed:!1},type:{name:"func"},required:!1,description:""},name:{type:{name:"string"},required:!1,description:""}}},__webpack_exports__.a=Icon,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Icons/Icon.js"]={name:"Icon",docgenInfo:Icon.__docgenInfo,path:"src/react/components/Common/Icons/Icon.js"})},200:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__),react__WEBPACK_IMPORTED_MODULE_14__=(__webpack_require__(18),__webpack_require__(14),__webpack_require__(77),__webpack_require__(20),__webpack_require__(123),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(13),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(58),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(57),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(60),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(48),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(41),react_i18next__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var CreateResourceFolder=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(CreateResourceFolder,_Component);var _resetValidation,_validate,_createFolder,_toggleProcessing,_handleSaveSuccess,_handleFormSubmit,_super=_createSuper(CreateResourceFolder);function CreateResourceFolder(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,CreateResourceFolder),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.createInputRefs(),_this.bindEventHandlers(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(CreateResourceFolder,[{key:"componentDidMount",value:function componentDidMount(){var _this2=this;this.setState({loading:!1,name:""},(function(){_this2.nameRef.current.focus()}))}},{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,inlineValidation:!1,name:this.translate("loading..."),nameError:!1}}},{key:"createInputRefs",value:function createInputRefs(){this.nameRef=react__WEBPACK_IMPORTED_MODULE_14___default.a.createRef()}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this)}},{key:"handleClose",value:function handleClose(){this.props.onClose()}},{key:"handleInputChange",value:function handleInputChange(event){var _this3=this,target=event.target,value=target.value,name=target.name;this.setState(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()({},name,value),(function(){_this3.state.inlineValidation&&_this3.validate()}))}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee(event){var folder;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),!this.state.processing){_context.next=3;break}return _context.abrupt("return");case 3:return this.setState({inlineValidation:this.state.inlineValidation||!0}),_context.next=6,this.toggleProcessing();case 6:return _context.next=8,this.validate();case 8:if(!this.hasValidationError()){_context.next=13;break}return _context.next=11,this.toggleProcessing();case 11:return this.focusFirstFieldError(),_context.abrupt("return");case 13:return _context.prev=13,_context.next=16,this.createFolder();case 16:return folder=_context.sent,_context.next=19,this.handleSaveSuccess(folder.id);case 19:_context.next=24;break;case 21:_context.prev=21,_context.t0=_context.catch(13),this.handleSaveError(_context.t0);case 24:case"end":return _context.stop()}}),_callee,this,[[13,21]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee2(folderId){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The folder has been added successfully"));case 2:this.selectAndScrollToFolder(folderId),this.props.onClose();case 4:case"end":return _context2.stop()}}),_callee2,this)}))),function handleSaveSuccess(_x2){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_18__.a)}},{key:"toggleProcessing",value:(_toggleProcessing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee3(){var prev,_this4=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return prev=this.state.processing,_context3.abrupt("return",new Promise((function(resolve){_this4.setState({processing:!prev},resolve())})));case 2:case"end":return _context3.stop()}}),_callee3,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"focusFirstFieldError",value:function focusFirstFieldError(){this.nameRef.current.focus()}},{key:"createFolder",value:(_createFolder=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee4(){var folderDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return folderDto={name:this.state.name,folder_parent_id:this.context.folderCreateDialogProps.folderParentId},_context4.next=3,this.context.port.request("passbolt.folders.create",folderDto);case 3:return _context4.abrupt("return",_context4.sent);case 4:case"end":return _context4.stop()}}),_callee4,this)}))),function createFolder(){return _createFolder.apply(this,arguments)})},{key:"selectAndScrollToFolder",value:function selectAndScrollToFolder(id){this.context.port.emit("passbolt.folders.select-and-scroll-to",id)}},{key:"validate",value:(_validate=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee5(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.next=2,this.resetValidation();case 2:return _context5.next=4,this.validateNameInput();case 4:return _context5.abrupt("return",this.hasValidationError());case 5:case"end":return _context5.stop()}}),_callee5,this)}))),function validate(){return _validate.apply(this,arguments)})},{key:"resetValidation",value:(_resetValidation=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee6(){var _this5=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return _context6.abrupt("return",new Promise((function(resolve){_this5.setState({nameError:!1},resolve())})));case 1:case"end":return _context6.stop()}}),_callee6)}))),function resetValidation(){return _resetValidation.apply(this,arguments)})},{key:"validateNameInput",value:function validateNameInput(){var _this6=this,nameError=!1,name=this.state.name.trim();return name.length||(nameError=this.translate("A name is required.")),name.length>64&&(nameError=this.translate("A name can not be more than 64 char in length.")),new Promise((function(resolve){_this6.setState({nameError:nameError},resolve)}))}},{key:"hasValidationError",value:function hasValidationError(){return!1!==this.state.nameError}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_17__.a,{className:"folder-create-dialog",title:this.translate("Create a new folder"),onClose:this.handleClose,disabled:this.hasAllInputDisabled(),children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsxs)("form",{className:"folder-create-form",onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)("div",{className:"form-content",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsxs)("div",{className:"input text required",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)("label",{htmlFor:"folder-name-input",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_23__.a,{children:"Name"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)("input",{id:"folder-name-input",name:"name",ref:this.nameRef,type:"text",value:this.state.name,placeholder:this.translate("Untitled folder"),maxLength:"64",required:"required",disabled:this.hasAllInputDisabled(),onChange:this.handleInputChange,autoComplete:"off",autoFocus:!0}),this.state.nameError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)("div",{className:"error message",children:this.state.nameError})]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_19__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Save")}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_25__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_20__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleClose})]})]})})}}]),CreateResourceFolder}(react__WEBPACK_IMPORTED_MODULE_14__.Component);CreateResourceFolder.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_16__.a,CreateResourceFolder.propTypes={actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.any,onClose:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func},CreateResourceFolder.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"createInputRefs",docblock:"Create references\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Create references"},{name:"bindEventHandlers",docblock:"Bind event handlers\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind event handlers"},{name:"handleClose",docblock:"Handle close button click.\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle close button click."},{name:"handleInputChange",docblock:"Handle form input changes.\n@params {ReactEvent} The react event\n@returns {void}",modifiers:[],params:[{name:"event"}],returns:{description:null,type:{name:"void"}},description:"Handle form input changes."},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@returns {void}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"void"}},description:"Handle form submit event."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[{name:"folderId"}],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"focusFirstFieldError",docblock:"Focus the first field of the form which is in error state.\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Focus the first field of the form which is in error state."},{name:"createFolder",docblock:"Create the folder\n@returns {Promise<Object>} Folder entity or Error",modifiers:["async"],params:[],returns:{description:"Folder entity or Error",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Create the folder"},{name:"selectAndScrollToFolder",docblock:"Select and scroll to a given resource.\n@param {string} id The resource id.\n@returns {void}",modifiers:[],params:[{name:"id",description:"The resource id.",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Select and scroll to a given resource."},{name:"validate",docblock:"Validate the form.\n@returns {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Validate the form."},{name:"resetValidation",docblock:"Reset validation errors\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Reset validation errors"},{name:"validateNameInput",docblock:"Validate the name input.\n@returns {Promise<void>}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Validate the name input."},{name:"hasValidationError",docblock:"Return true if the form has some validation error\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if the form has some validation error"},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"CreateResourceFolder",props:{actionFeedbackContext:{type:{name:"any"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_21__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_22__.b)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_24__.a)("common")(CreateResourceFolder))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js"]={name:"CreateResourceFolder",docgenInfo:CreateResourceFolder.__docgenInfo,path:"src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js"})},219:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__),react__WEBPACK_IMPORTED_MODULE_21__=(__webpack_require__(71),__webpack_require__(14),__webpack_require__(16),__webpack_require__(27),__webpack_require__(18),__webpack_require__(77),__webpack_require__(20),__webpack_require__(32),__webpack_require__(30),__webpack_require__(33),__webpack_require__(123),__webpack_require__(21),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_21___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_21__),prop_types__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_22___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_22__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(13),_react_components_Common_Icons_Icon__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(17),_react_components_Common_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__(118),_lib_Secret_SecretComplexity__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__(221),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__(48),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__(41),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__(57),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__(58),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__(60),_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__(11),react_i18next__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var EditResource=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(EditResource,_Component);var _getDecryptedSecret,_decryptSecret,_handleDescriptionToggle,_handleViewPasswordButtonClick,_handleDescriptionInputFocus,_handlePasswordInputFocus,_handleSaveSuccess,_updateWithEncryptedDescription,_updateWithoutEncryptedDescription,_updateResourceLegacy,_updateResource,_validate,_toggleProcessing,_handleFormSubmit,_initialize,_super=_createSuper(EditResource);function EditResource(props,context){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,EditResource),(_this=_super.call(this,props,context)).state=_this.getDefaultState(context),_this.initEventHandlers(),_this.createInputRef(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(EditResource,[{key:"getDefaultState",value:function getDefaultState(context){var _this2=this,resource=context.resources.find((function(item){return item.id===_this2.context.passwordEditDialogProps.id}))||{};return{nameOriginal:resource.name||"",name:resource.name||"",nameError:"",username:resource.username||"",usernameError:"",uri:resource.uri||"",uriError:"",password:"",passwordError:"",description:resource.description||"",descriptionError:"",viewPassword:!1,passwordInputHasFocus:!1,isSecretDecrypting:!0,encryptDescription:null,resourceTypeId:resource.resource_type_id||""}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handlePasswordInputFocus=this.handlePasswordInputFocus.bind(this),this.handlePasswordInputBlur=this.handlePasswordInputBlur.bind(this),this.handleNameInputKeyUp=this.handleNameInputKeyUp.bind(this),this.handlePasswordInputKeyUp=this.handlePasswordInputKeyUp.bind(this),this.handleViewPasswordButtonClick=this.handleViewPasswordButtonClick.bind(this),this.handleGeneratePasswordButtonClick=this.handleGeneratePasswordButtonClick.bind(this),this.handleDescriptionInputFocus=this.handleDescriptionInputFocus.bind(this),this.handleDescriptionInputBlur=this.handleDescriptionInputBlur.bind(this),this.handleDescriptionToggle=this.handleDescriptionToggle.bind(this)}},{key:"createInputRef",value:function createInputRef(){this.nameInputRef=react__WEBPACK_IMPORTED_MODULE_21___default.a.createRef(),this.passwordInputRef=react__WEBPACK_IMPORTED_MODULE_21___default.a.createRef(),this.descriptionInputRef=react__WEBPACK_IMPORTED_MODULE_21___default.a.createRef()}},{key:"componentDidMount",value:function componentDidMount(){this.initialize()}},{key:"initialize",value:(_initialize=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee(){var encrypt;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.decryptSecret();case 2:_context.sent&&(encrypt=this.mustEncryptDescription(),this.setState({encryptDescription:encrypt}));case 4:case"end":return _context.stop()}}),_callee,this)}))),function initialize(){return _initialize.apply(this,arguments)})},{key:"isEncryptedDescriptionEnabled",value:function isEncryptedDescriptionEnabled(){return this.context.resourceTypesSettings.isEncryptedDescriptionEnabled()}},{key:"areResourceTypesEnabled",value:function areResourceTypesEnabled(){return this.context.resourceTypesSettings.areResourceTypesEnabled()}},{key:"mustEncryptDescription",value:function mustEncryptDescription(){return this.context.resourceTypesSettings.mustEncryptDescription(this.state.resourceTypeId)}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee2(event){var resource;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.preventDefault(),!this.state.processing){_context2.next=3;break}return _context2.abrupt("return");case 3:return _context2.next=5,this.toggleProcessing();case 5:return _context2.next=7,this.validate();case 7:if(_context2.sent){_context2.next=12;break}return _context2.next=10,this.toggleProcessing();case 10:return this.focusFirstFieldError(),_context2.abrupt("return");case 12:return _context2.prev=12,_context2.next=15,this.updateResource();case 15:return resource=_context2.sent,_context2.next=18,this.handleSaveSuccess(resource);case 18:_context2.next=25;break;case 20:return _context2.prev=20,_context2.t0=_context2.catch(12),_context2.next=24,this.toggleProcessing();case 24:this.handleSaveError(_context2.t0);case 25:case"end":return _context2.stop()}}),_callee2,this,[[12,20]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"toggleProcessing",value:(_toggleProcessing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee3(){var prev,_this3=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return prev=this.state.processing,_context3.abrupt("return",new Promise((function(resolve){_this3.setState({processing:!prev},resolve())})));case 2:case"end":return _context3.stop()}}),_callee3,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"validate",value:(_validate=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee4(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return this.setState({error:"",nameError:"",uriError:"",usernameError:"",passwordError:"",descriptionError:""}),_context4.next=3,Promise.all([this.validateNameInput(),this.validatePasswordInput()]);case 3:return _context4.abrupt("return",""===this.state.nameError&&""===this.state.passwordError);case 4:case"end":return _context4.stop()}}),_callee4,this)}))),function validate(){return _validate.apply(this,arguments)})},{key:"validateNameInput",value:function validateNameInput(){var _this4=this,name=this.state.name.trim(),nameError="";return name.length||(nameError=this.translate("A name is required.")),new Promise((function(resolve){_this4.setState({nameError:nameError},resolve)}))}},{key:"validatePasswordInput",value:function validatePasswordInput(){var _this5=this,password=this.state.password,passwordError="";return password.length||(passwordError=this.translate("A password is required.")),new Promise((function(resolve){_this5.setState({passwordError:passwordError},resolve)}))}},{key:"updateResource",value:(_updateResource=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee5(){var resourceDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:if(resourceDto={id:this.context.passwordEditDialogProps.id,name:this.state.name,username:this.state.username,uri:this.state.uri},this.areResourceTypesEnabled()){_context5.next=3;break}return _context5.abrupt("return",this.updateResourceLegacy(resourceDto));case 3:if(this.state.encryptDescription){_context5.next=5;break}return _context5.abrupt("return",this.updateWithoutEncryptedDescription(resourceDto));case 5:return _context5.abrupt("return",this.updateWithEncryptedDescription(resourceDto));case 6:case"end":return _context5.stop()}}),_callee5,this)}))),function updateResource(){return _updateResource.apply(this,arguments)})},{key:"updateResourceLegacy",value:(_updateResourceLegacy=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee6(resourceDto){var plaintextDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return resourceDto.description=this.state.description,plaintextDto=this.state.password,_context6.abrupt("return",this.context.port.request("passbolt.resources.update",resourceDto,plaintextDto));case 3:case"end":return _context6.stop()}}),_callee6,this)}))),function updateResourceLegacy(_x2){return _updateResourceLegacy.apply(this,arguments)})},{key:"updateWithoutEncryptedDescription",value:(_updateWithoutEncryptedDescription=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee7(resourceDto){var plaintextDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return resourceDto.description=this.state.description,resourceDto.resource_type_id=this.context.resourceTypesSettings.findResourceTypeIdBySlug(this.context.resourceTypesSettings.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_STRING),plaintextDto=this.state.password,_context7.abrupt("return",this.context.port.request("passbolt.resources.update",resourceDto,plaintextDto));case 4:case"end":return _context7.stop()}}),_callee7,this)}))),function updateWithoutEncryptedDescription(_x3){return _updateWithoutEncryptedDescription.apply(this,arguments)})},{key:"updateWithEncryptedDescription",value:(_updateWithEncryptedDescription=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee8(resourceDto){var plaintextDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee8$(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:return resourceDto.resource_type_id=this.context.resourceTypesSettings.findResourceTypeIdBySlug(this.context.resourceTypesSettings.DEFAULT_RESOURCE_TYPES_SLUGS.PASSWORD_AND_DESCRIPTION),resourceDto.description="",plaintextDto={description:this.state.description,password:this.state.password},_context8.abrupt("return",this.context.port.request("passbolt.resources.update",resourceDto,plaintextDto));case 4:case"end":return _context8.stop()}}),_callee8,this)}))),function updateWithEncryptedDescription(_x4){return _updateWithEncryptedDescription.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee9(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee9$(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:return _context9.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The password has been updated successfully"));case 2:this.selectAndScrollToResource(this.context.passwordEditDialogProps.id),this.props.resourceWorkspaceContext.onResourceEdited(),this.props.onClose(),this.context.setContext({passwordEditDialogProps:null});case 6:case"end":return _context9.stop()}}),_callee9,this)}))),function handleSaveSuccess(){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error))}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_29__.a)}},{key:"focusFirstFieldError",value:function focusFirstFieldError(){this.state.nameError?this.nameInputRef.current.focus():this.state.passwordError&&this.passwordInputRef.current.focus()}},{key:"selectAndScrollToResource",value:function selectAndScrollToResource(id){this.context.port.emit("passbolt.resources.select-and-scroll-to",id)}},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value=target.value,name=target.name;this.setState(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({},name,value))}},{key:"handlePasswordInputFocus",value:(_handlePasswordInputFocus=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee10(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee10$(_context10){for(;;)switch(_context10.prev=_context10.next){case 0:this.setState({passwordInputHasFocus:!0}),this.passwordInputRef.current.focus();case 3:case"end":return _context10.stop()}}),_callee10,this)}))),function handlePasswordInputFocus(){return _handlePasswordInputFocus.apply(this,arguments)})},{key:"handleDescriptionInputFocus",value:(_handleDescriptionInputFocus=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee11(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee11$(_context11){for(;;)switch(_context11.prev=_context11.next){case 0:this.setState({passwordInputHasFocus:!0}),this.descriptionInputRef.current.focus();case 3:case"end":return _context11.stop()}}),_callee11,this)}))),function handleDescriptionInputFocus(){return _handleDescriptionInputFocus.apply(this,arguments)})},{key:"handlePasswordInputBlur",value:function handlePasswordInputBlur(){this.setState({passwordInputHasFocus:!1})}},{key:"handleDescriptionInputBlur",value:function handleDescriptionInputBlur(){this.setState({descriptionInputHasFocus:!1})}},{key:"handleNameInputKeyUp",value:function handleNameInputKeyUp(){var state=this.validateNameInput();this.setState(state)}},{key:"handlePasswordInputKeyUp",value:function handlePasswordInputKeyUp(){this.validatePasswordInput()}},{key:"handleViewPasswordButtonClick",value:(_handleViewPasswordButtonClick=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee12(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee12$(_context12){for(;;)switch(_context12.prev=_context12.next){case 0:if(!this.hasAllInputDisabled()){_context12.next=2;break}return _context12.abrupt("return");case 2:this.setState({viewPassword:!this.state.viewPassword});case 3:case"end":return _context12.stop()}}),_callee12,this)}))),function handleViewPasswordButtonClick(){return _handleViewPasswordButtonClick.apply(this,arguments)})},{key:"handleGeneratePasswordButtonClick",value:function handleGeneratePasswordButtonClick(){if(!this.hasAllInputDisabled()){var password=_lib_Secret_SecretComplexity__WEBPACK_IMPORTED_MODULE_26__.a.generate();this.setState({password:password})}}},{key:"handleClose",value:function handleClose(){this.context.setContext({passwordEditDialogProps:null}),this.props.onClose()}},{key:"handleDescriptionToggle",value:(_handleDescriptionToggle=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee13(){var encrypt;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee13$(_context13){for(;;)switch(_context13.prev=_context13.next){case 0:if(this.isEncryptedDescriptionEnabled()||this.state.encryptDescription){_context13.next=2;break}return _context13.abrupt("return");case 2:this.mustEncryptDescription()||(encrypt=!this.state.encryptDescription,this.setState({encryptDescription:encrypt}));case 3:case"end":return _context13.stop()}}),_callee13,this)}))),function handleDescriptionToggle(){return _handleDescriptionToggle.apply(this,arguments)})},{key:"decryptSecret",value:(_decryptSecret=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee14(){var secretDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee14$(_context14){for(;;)switch(_context14.prev=_context14.next){case 0:return this.setState({isSecretDecrypting:!0}),_context14.prev=1,_context14.next=4,this.getDecryptedSecret();case 4:return secretDto=_context14.sent,this.setState({password:secretDto.password,description:secretDto.description,isSecretDecrypting:!1}),_context14.abrupt("return",!0);case 9:return _context14.prev=9,_context14.t0=_context14.catch(1),this.handleClose(),_context14.abrupt("return",!1);case 13:case"end":return _context14.stop()}}),_callee14,this,[[1,9]])}))),function decryptSecret(){return _decryptSecret.apply(this,arguments)})},{key:"getDecryptedSecret",value:(_getDecryptedSecret=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee15(){var plaintext;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee15$(_context15){for(;;)switch(_context15.prev=_context15.next){case 0:return _context15.next=2,this.context.port.request("passbolt.secret.decrypt",this.context.passwordEditDialogProps.id,{showProgress:!1});case 2:if("string"!=typeof(plaintext=_context15.sent)){_context15.next=5;break}return _context15.abrupt("return",{password:plaintext,description:this.state.description});case 5:return _context15.abrupt("return",plaintext);case 6:case"end":return _context15.stop()}}),_callee15,this)}))),function getDecryptedSecret(){return _getDecryptedSecret.apply(this,arguments)})},{key:"getPasswordInputStyle",value:function getPasswordInputStyle(){return this.state.passwordInputHasFocus?{background:this.context.userSettings.getSecurityTokenBackgroundColor(),color:this.context.userSettings.getSecurityTokenTextColor()}:{background:"",color:""}}},{key:"getSecurityTokenStyle",value:function getSecurityTokenStyle(){var backgroundColor=this.context.userSettings.getSecurityTokenBackgroundColor(),textColor=this.context.userSettings.getSecurityTokenTextColor();return this.state.passwordInputHasFocus?{background:textColor,color:backgroundColor}:{background:backgroundColor,color:textColor}}},{key:"getPasswordInputPlaceholder",value:function getPasswordInputPlaceholder(){var placeholder=this.translate("Password");return this.state.isSecretDecrypting&&(placeholder=this.translate("Decrypting")),placeholder}},{key:"getDescriptionPlaceholder",value:function getDescriptionPlaceholder(){return this.state.isSecretDecrypting&&this.mustEncryptDescription()?this.translate("Decrypting"):this.translate("Description")}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing}},{key:"isPasswordDisabled",value:function isPasswordDisabled(){return this.state.isSecretDecrypting}},{key:"isDescriptionDisabled",value:function isDescriptionDisabled(){return this.state.isSecretDecrypting&&this.mustEncryptDescription()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var passwordInputStyle=this.getPasswordInputStyle(),securityTokenStyle=this.getSecurityTokenStyle(),securityTokenCode=this.context.userSettings.getSecurityTokenCode(),passwordStrength=_lib_Secret_SecretComplexity__WEBPACK_IMPORTED_MODULE_26__.a.getStrength(this.state.password),passwordPlaceholder=this.getPasswordInputPlaceholder();return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_30__.a,{title:this.translate("Edit"),subtitle:this.state.nameOriginal,className:"edit-password-dialog",disabled:this.hasAllInputDisabled(),onClose:this.handleClose,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("form",{onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"form-content",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input text required ".concat(this.state.nameError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("label",{htmlFor:"edit-password-form-name",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"Name"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("input",{id:"edit-password-form-name",name:"name",type:"text",value:this.state.name,onKeyUp:this.handleNameInputKeyUp,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled(),ref:this.nameInputRef,className:"required fluid",maxLength:"64",required:"required",autoComplete:"off",autoFocus:!0}),this.state.nameError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"name error message",children:this.state.nameError})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input text ".concat(this.state.uriError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("label",{htmlFor:"edit-password-form-uri",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"URI"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("input",{id:"edit-password-form-uri",name:"uri",className:"fluid",maxLength:"1024",type:"text",autoComplete:"off",value:this.state.uri,onChange:this.handleInputChange,placeholder:this.translate("URI"),disabled:this.hasAllInputDisabled()}),this.state.uriError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"error message",children:this.state.uriError})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input text ".concat(this.state.usernameError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("label",{htmlFor:"edit-password-form-username",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"Username"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("input",{id:"edit-password-form-username",name:"username",type:"text",className:"fluid",maxLength:"64",autoComplete:"off",value:this.state.username,onChange:this.handleInputChange,placeholder:this.translate("Username"),disabled:this.hasAllInputDisabled()}),this.state.usernameError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"error message",children:this.state.usernameError})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input-password-wrapper input required ".concat(this.state.passwordError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("label",{htmlFor:"edit-password-form-password",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"Password"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input text password",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("input",{id:"edit-password-form-password",name:"password",className:"required ".concat(this.state.isSecretDecrypting?"":"decrypted"),required:"required",maxLength:"4096",type:this.state.viewPassword?"text":"password",onKeyUp:this.handlePasswordInputKeyUp,value:this.state.password,placeholder:passwordPlaceholder,onFocus:this.handlePasswordInputFocus,onBlur:this.handlePasswordInputBlur,onChange:this.handleInputChange,disabled:this.hasAllInputDisabled()||this.isPasswordDisabled(),style:passwordInputStyle,ref:this.passwordInputRef}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"security-token",style:securityTokenStyle,children:securityTokenCode})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("ul",{className:"actions inline",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("li",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("a",{onClick:this.handleViewPasswordButtonClick,className:"password-view button button-icon toggle ".concat(this.state.viewPassword?"selected":""," ").concat(this.hasAllInputDisabled()?"disabled":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Icons_Icon__WEBPACK_IMPORTED_MODULE_24__.a,{name:"eye-open",big:!0}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("span",{className:"visually-hidden",children:"view"})]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("li",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("a",{onClick:this.handleGeneratePasswordButtonClick,className:"password-generate button-icon button ".concat(this.hasAllInputDisabled()?"disabled":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Icons_Icon__WEBPACK_IMPORTED_MODULE_24__.a,{name:"magic-wand",big:!0}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("span",{className:"visually-hidden",children:"generate"})]})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"password-complexity ".concat(passwordStrength.id),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("span",{className:"progress",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("span",{className:"progress-bar ".concat(passwordStrength.id)})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("span",{className:"complexity-text",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"complexity:"})," ",Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("strong",{children:this.translate(passwordStrength.label)})]})]}),this.state.passwordError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"input text",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"password message error",children:this.state.passwordError})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"input textarea",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("label",{htmlFor:"edit-password-form-description",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_34__.a,{children:"Description"})," ",!this.areResourceTypesEnabled()&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_25__.a,{message:this.translate("Do not store sensitive data. Unlike the password, this data is not encrypted. Upgrade to version 3 to encrypt this information."),icon:"info-circle"}),this.areResourceTypesEnabled()&&!this.state.encryptDescription&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("a",{role:"button",onClick:this.handleDescriptionToggle,className:"lock-toggle",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_25__.a,{message:this.translate("Do not store sensitive data or click here to enable encryption for the description field."),icon:"lock-open"})}),this.areResourceTypesEnabled()&&this.state.encryptDescription&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("a",{role:"button",onClick:this.handleDescriptionToggle,className:"lock-toggle",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_25__.a,{message:this.translate("The description content will be encrypted."),icon:"lock"})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("textarea",{id:"edit-password-form-description",name:"description",maxLength:"10000",className:"required",placeholder:this.getDescriptionPlaceholder(),value:this.state.description,disabled:this.hasAllInputDisabled()||this.isDescriptionDisabled(),onChange:this.handleInputChange,ref:this.descriptionInputRef,onFocus:this.handleDescriptionInputFocus,onBlur:this.handleDescriptionInputBlur}),this.state.descriptionError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)("div",{className:"error message",children:this.state.descriptionError})]})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_31__.a,{value:this.translate("Save"),disabled:this.hasAllInputDisabled()||this.isPasswordDisabled()||this.isDescriptionDisabled(),processing:this.hasAllInputDisabled()}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_36__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_32__.a,{disabled:this.hasAllInputDisabled()||this.isPasswordDisabled()||this.isDescriptionDisabled(),onClick:this.handleClose})]})]})})}}]),EditResource}(react__WEBPACK_IMPORTED_MODULE_21__.Component);EditResource.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_23__.a,EditResource.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_22___default.a.func,resourceWorkspaceContext:prop_types__WEBPACK_IMPORTED_MODULE_22___default.a.any,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_22___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_22___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_22___default.a.func},EditResource.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:null,modifiers:[],params:[{name:"context",type:null}],returns:null},{name:"initEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"createInputRef",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"initialize",docblock:null,modifiers:["async"],params:[],returns:null},{name:"isEncryptedDescriptionEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"areResourceTypesEnabled",docblock:null,modifiers:[],params:[],returns:null},{name:"mustEncryptDescription",docblock:"Must the description be kept encrypted?\nE.g. prevent downgrading from an encrypted description to a cleartext one\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Must the description be kept encrypted?\nE.g. prevent downgrading from an encrypted description to a cleartext one"},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"validate",docblock:"Validate the form.\n@return {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Validate the form."},{name:"validateNameInput",docblock:"Validate the name input.\n@return {Promise}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise"}},description:"Validate the name input."},{name:"validatePasswordInput",docblock:"Validate the password input.\n@return {Promise}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise"}},description:"Validate the password input."},{name:"updateResource",docblock:"Update the resource\n@returns {Promise<Object>} updated resource",modifiers:["async"],params:[],returns:{description:"updated resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the resource"},{name:"updateResourceLegacy",docblock:"Update the resource (LEGACY)\n@returns {Promise<Object>} updated resource\n@deprecated will be removed when v2 support is dropped",modifiers:["async"],params:[{name:"resourceDto"}],returns:{description:"updated resource",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the resource (LEGACY)"},{name:"updateWithoutEncryptedDescription",docblock:"Update the resource with non encrypted description content type\n@param resourceDto",modifiers:["async"],params:[{name:"resourceDto",description:null,type:null,optional:!1}],returns:null,description:"Update the resource with non encrypted description content type"},{name:"updateWithEncryptedDescription",docblock:"Update the resource with encrypted description content type\n@param resourceDto",modifiers:["async"],params:[{name:"resourceDto",description:null,type:null,optional:!1}],returns:null,description:"Update the resource with encrypted description content type"},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"focusFirstFieldError",docblock:"Focus the first field of the form which is in error state.",modifiers:[],params:[],returns:null,description:"Focus the first field of the form which is in error state."},{name:"selectAndScrollToResource",docblock:"Select and scroll to a given resource.\n@param {string} id The resource id.",modifiers:[],params:[{name:"id",description:"The resource id.",type:{name:"string"},optional:!1}],returns:null,description:"Select and scroll to a given resource."},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handlePasswordInputFocus",docblock:"Handle password input focus.",modifiers:["async"],params:[],returns:null,description:"Handle password input focus."},{name:"handleDescriptionInputFocus",docblock:"Handle description input focus.",modifiers:["async"],params:[],returns:null,description:"Handle description input focus."},{name:"handlePasswordInputBlur",docblock:"Handle password input blur.",modifiers:[],params:[],returns:null,description:"Handle password input blur."},{name:"handleDescriptionInputBlur",docblock:"Handle description input blur.",modifiers:[],params:[],returns:null,description:"Handle description input blur."},{name:"handleNameInputKeyUp",docblock:"Handle name input keyUp event.",modifiers:[],params:[],returns:null,description:"Handle name input keyUp event."},{name:"handlePasswordInputKeyUp",docblock:"Handle password input keyUp event.",modifiers:[],params:[],returns:null,description:"Handle password input keyUp event."},{name:"handleViewPasswordButtonClick",docblock:"Handle view password button click.",modifiers:["async"],params:[],returns:null,description:"Handle view password button click."},{name:"handleGeneratePasswordButtonClick",docblock:"Handle generate password button click.",modifiers:[],params:[],returns:null,description:"Handle generate password button click."},{name:"handleClose",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"handleDescriptionToggle",docblock:"Switch to toggle description field encryption",modifiers:["async"],params:[],returns:null,description:"Switch to toggle description field encryption"},{name:"decryptSecret",docblock:"Decrypt the password secret\n@return {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Decrypt the password secret"},{name:"getDecryptedSecret",docblock:"Get the decrypted password secret\n@return {Promise<Object>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"Object"}]}},description:"Get the decrypted password secret"},{name:"getPasswordInputStyle",docblock:"Get the password input style.\n@return {Object}",modifiers:[],params:[],returns:{description:null,type:{name:"Object"}},description:"Get the password input style."},{name:"getSecurityTokenStyle",docblock:"Get the security token style.\n@return {Object}",modifiers:[],params:[],returns:{description:null,type:{name:"Object"}},description:"Get the security token style."},{name:"getPasswordInputPlaceholder",docblock:"Get the password input field placeholder.\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the password input field placeholder."},{name:"getDescriptionPlaceholder",docblock:"Get the description placeholder text depending on state\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the description placeholder text depending on state"},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is processing"},{name:"isPasswordDisabled",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"isDescriptionDisabled",docblock:"@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:null},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"EditResource",props:{onClose:{type:{name:"func"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_33__.c)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_27__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_28__.b)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_35__.a)("common")(EditResource)))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/EditResource/EditResource.js"]={name:"EditResource",docgenInfo:EditResource.__docgenInfo,path:"src/react-extension/components/Resource/EditResource/EditResource.js"})},220:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),inherits=__webpack_require__(9),inherits_default=__webpack_require__.n(inherits),possibleConstructorReturn=__webpack_require__(10),possibleConstructorReturn_default=__webpack_require__.n(possibleConstructorReturn),getPrototypeOf=__webpack_require__(5),getPrototypeOf_default=__webpack_require__.n(getPrototypeOf),regenerator=(__webpack_require__(18),__webpack_require__(14),__webpack_require__(44),__webpack_require__(23),__webpack_require__(80),__webpack_require__(77),__webpack_require__(20),__webpack_require__(3)),regenerator_default=__webpack_require__.n(regenerator),react=__webpack_require__(1),react_default=__webpack_require__.n(react),prop_types=__webpack_require__(2),prop_types_default=__webpack_require__.n(prop_types),FormSubmitButton=__webpack_require__(59),DialogWrapper=__webpack_require__(58),FormCancelButton=__webpack_require__(60),NotifyError=__webpack_require__(57),defineProperty=__webpack_require__(34),defineProperty_default=__webpack_require__.n(defineProperty),dist=(__webpack_require__(31),__webpack_require__(598),__webpack_require__(331)),dist_default=__webpack_require__.n(dist),UserAvatar=(__webpack_require__(21),__webpack_require__(79),__webpack_require__(38),__webpack_require__(82)),GroupAvatar=__webpack_require__(141),jsx_runtime=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var AutocompleteItem_AutocompleteItem=function(_Component){inherits_default()(AutocompleteItem,_Component);var _super=_createSuper(AutocompleteItem);function AutocompleteItem(props){var _this;return classCallCheck_default()(this,AutocompleteItem),(_this=_super.call(this,props)).bindCallbacks(),_this}return createClass_default()(AutocompleteItem,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleClick=this.handleClick.bind(this)}},{key:"getTitle",value:function getTitle(){return this.props.user?"".concat(this.props.user.profile.first_name," ").concat(this.props.user.profile.last_name," (").concat(this.props.user.username,")"):"".concat(this.props.group.name)}},{key:"getSubtitle",value:function getSubtitle(){return this.props.user?this.props.user.gpgkey.fingerprint.substr(this.props.user.gpgkey.fingerprint.length-16).replace(/(.{4})/g,"$1 "):this.props.group.user_count>1?"".concat(this.props.group.user_count," group members"):"One group member"}},{key:"getClassName",value:function getClassName(){return this.props.selected?"row selected":"row"}},{key:"handleClick",value:function handleClick(){this.props.onClick(this.props.id)}},{key:"render",value:function render(){return Object(jsx_runtime.jsx)("li",{id:"autocomplete-item",children:Object(jsx_runtime.jsx)("div",{className:this.getClassName(),children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell ",children:Object(jsx_runtime.jsxs)("a",{role:"button",onClick:this.handleClick,children:[this.props.user&&Object(jsx_runtime.jsx)(UserAvatar.a,{user:this.props.user,baseUrl:this.props.baseUrl}),this.props.group&&Object(jsx_runtime.jsx)(GroupAvatar.a,{group:this.props.group,baseUrl:this.props.baseUrl}),Object(jsx_runtime.jsxs)("div",{className:"user",children:[Object(jsx_runtime.jsx)("span",{className:"name",children:this.getTitle()}),Object(jsx_runtime.jsx)("span",{className:"details",children:this.getSubtitle()})]})]})})})})})}}]),AutocompleteItem}(react.Component);AutocompleteItem_AutocompleteItem.propTypes={baseUrl:prop_types_default.a.string,id:prop_types_default.a.number,user:prop_types_default.a.object,group:prop_types_default.a.object,selected:prop_types_default.a.bool,onClick:prop_types_default.a.func},AutocompleteItem_AutocompleteItem.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"getTitle",docblock:"Get the item title\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the item title"},{name:"getSubtitle",docblock:"Get the item subtitle\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the item subtitle"},{name:"getClassName",docblock:"Get the autocomplete item classname\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the autocomplete item classname"},{name:"handleClick",docblock:"Handle click on an autocomplete item",modifiers:[],params:[],returns:null,description:"Handle click on an autocomplete item"}],displayName:"AutocompleteItem",props:{baseUrl:{type:{name:"string"},required:!1,description:""},id:{type:{name:"number"},required:!1,description:""},user:{type:{name:"object"},required:!1,description:""},group:{type:{name:"object"},required:!1,description:""},selected:{type:{name:"bool"},required:!1,description:""},onClick:{type:{name:"func"},required:!1,description:""}}};var Autocomplete_AutocompleteItem=AutocompleteItem_AutocompleteItem;function AutocompleteItemEmpty_createSuper(Derived){var hasNativeReflectConstruct=function AutocompleteItemEmpty_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/Autocomplete/AutocompleteItem.js"]={name:"AutocompleteItem",docgenInfo:AutocompleteItem_AutocompleteItem.__docgenInfo,path:"src/react/components/Common/Inputs/Autocomplete/AutocompleteItem.js"});var AutocompleteItemEmpty_AutocompleteItemEmpty=function(_Component){inherits_default()(AutocompleteItemEmpty,_Component);var _super=AutocompleteItemEmpty_createSuper(AutocompleteItemEmpty);function AutocompleteItemEmpty(){return classCallCheck_default()(this,AutocompleteItemEmpty),_super.apply(this,arguments)}return createClass_default()(AutocompleteItemEmpty,[{key:"render",value:function render(){return Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsx)("p",{children:"No one found"})})})})})}}]),AutocompleteItemEmpty}(react.Component);AutocompleteItemEmpty_AutocompleteItemEmpty.__docgenInfo={description:"",methods:[],displayName:"AutocompleteItemEmpty"};var Autocomplete_AutocompleteItemEmpty=AutocompleteItemEmpty_AutocompleteItemEmpty;function AutocompleteItemLoading_createSuper(Derived){var hasNativeReflectConstruct=function AutocompleteItemLoading_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/Autocomplete/AutocompleteItemEmpty.js"]={name:"AutocompleteItemEmpty",docgenInfo:AutocompleteItemEmpty_AutocompleteItemEmpty.__docgenInfo,path:"src/react/components/Common/Inputs/Autocomplete/AutocompleteItemEmpty.js"});var AutocompleteItemLoading_AutocompleteItemLoading=function(_Component){inherits_default()(AutocompleteItemLoading,_Component);var _super=AutocompleteItemLoading_createSuper(AutocompleteItemLoading);function AutocompleteItemLoading(){return classCallCheck_default()(this,AutocompleteItemLoading),_super.apply(this,arguments)}return createClass_default()(AutocompleteItemLoading,[{key:"render",value:function render(){return Object(jsx_runtime.jsx)("li",{children:Object(jsx_runtime.jsx)("div",{className:"row loading",children:Object(jsx_runtime.jsx)("div",{className:"main-cell-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"main-cell",children:Object(jsx_runtime.jsxs)("div",{className:"info",children:[Object(jsx_runtime.jsx)("span",{className:"name",children:"Loading..."}),Object(jsx_runtime.jsx)("span",{className:"details",children:"Please wait."})]})})})})})}}]),AutocompleteItemLoading}(react.Component);AutocompleteItemLoading_AutocompleteItemLoading.__docgenInfo={description:"",methods:[],displayName:"AutocompleteItemLoading"};var Autocomplete_AutocompleteItemLoading=AutocompleteItemLoading_AutocompleteItemLoading;function Autocomplete_createSuper(Derived){var hasNativeReflectConstruct=function Autocomplete_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/Autocomplete/AutocompleteItemLoading.js"]={name:"AutocompleteItemLoading",docgenInfo:AutocompleteItemLoading_AutocompleteItemLoading.__docgenInfo,path:"src/react/components/Common/Inputs/Autocomplete/AutocompleteItemLoading.js"});var Autocomplete_Autocomplete=function(_Component){inherits_default()(Autocomplete,_Component);var _handleAutocompleteChange,_autocompleteSearch,_getItems,_super=Autocomplete_createSuper(Autocomplete);function Autocomplete(props){var _this;return classCallCheck_default()(this,Autocomplete),(_this=_super.call(this,props)).bindCallbacks(),_this.createInputRefs(),_this.state=_this.getDefaultState(),_this.getItemsDebounced=dist_default()(_this.getItems,150,{leading:!0}),_this.cache=[],_this.cacheExpiry=1e4,_this}return createClass_default()(Autocomplete,[{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,selected:null,autocompleteItems:null,name:"loading...",nameError:!1}}},{key:"componentDidMount",value:function componentDidMount(){var _this2=this;this.setState({loading:!1,name:""},(function(){_this2.inputRef.current.focus()})),document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){prevProps.disabled!==this.props.disabled&&this.inputRef.current.focus()}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"createInputRefs",value:function createInputRefs(){this.listRef=react_default.a.createRef(),this.inputRef=react_default.a.createRef()}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleKeyDown=this.handleKeyDown.bind(this),this.selectNext=this.selectNext.bind(this),this.selectPrevious=this.selectPrevious.bind(this),this.handleAutocompleteChange=this.handleAutocompleteChange.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleInputChange=this.handleInputChange.bind(this)}},{key:"getItems",value:(_getItems=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(keyword){return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return this.setState({processing:!0}),_context.next=3,this.props.searchCallback(keyword);case 3:return _context.abrupt("return",_context.sent);case 4:case"end":return _context.stop()}}),_callee,this)}))),function getItems(_x){return _getItems.apply(this,arguments)})},{key:"autocompleteSearch",value:(_autocompleteSearch=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(keyword){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(this.cache[keyword]&&!(this.cache[keyword].cacheExpiry<(new Date).getTime())){_context2.next=5;break}return _context2.next=3,this.getItemsDebounced(keyword);case 3:this.cache[keyword]=_context2.sent,this.cache[keyword].cacheExpiry=(new Date).getTime()+this.cacheExpiry;case 5:return _context2.abrupt("return",this.cache[keyword]);case 6:case"end":return _context2.stop()}}),_callee2,this)}))),function autocompleteSearch(_x2){return _autocompleteSearch.apply(this,arguments)})},{key:"closeAutocomplete",value:function closeAutocomplete(){this.cache=[],this.setState({processing:!1,autocompleteItems:null,selected:null}),this.props.onClose()}},{key:"handleKeyDown",value:function handleKeyDown(event){if(!this.state.disabled&&!this.state.processing&&null!==this.state.autocompleteItems){if(40===event.keyCode)return event.preventDefault(),void this.selectNext();if(38===event.keyCode)return event.preventDefault(),void this.selectPrevious();if(13===event.keyCode||9===event.keyCode){if(null===this.state.selected)return;event.preventDefault(),this.handleSelect(this.state.selected)}}}},{key:"handleSelect",value:function handleSelect(selected){var obj=this.state.autocompleteItems[selected];this.cache=[],this.setState({name:""}),this.props.onSelect(obj),this.closeAutocomplete()}},{key:"handleInputChange",value:function handleInputChange(event){var _this3=this,target=event.target,value="checkbox"===target.type?target.checked:target.value,name=target.name;this.setState(defineProperty_default()({},name,value),(function(){"name"===name&&_this3.handleAfterNameUpdate()}))}},{key:"handleAfterNameUpdate",value:function handleAfterNameUpdate(){this.state.name?this.state.name.endsWith(" ")||this.handleAutocompleteChange():this.closeAutocomplete()}},{key:"handleAutocompleteChange",value:(_handleAutocompleteChange=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){var keyword,autocompleteItems,selected,_this4=this;return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:if(keyword=this.state.name){_context3.next=4;break}return this.closeAutocomplete(),_context3.abrupt("return");case 4:return _context3.prev=4,_context3.next=7,this.autocompleteSearch(keyword);case 7:if(autocompleteItems=_context3.sent,selected=null,autocompleteItems.length>0&&(selected=0),this.props.onOpen(),keyword!==this.state.name){_context3.next=13;break}return _context3.abrupt("return",new Promise((function(resolve){_this4.setState({autocompleteItems:autocompleteItems,processing:!1,selected:selected},resolve())})));case 13:_context3.next=20;break;case 15:_context3.prev=15,_context3.t0=_context3.catch(4),console.error(_context3.t0),this.closeAutocomplete(),this.setState({serviceError:_context3.t0.message});case 20:case"end":return _context3.stop()}}),_callee3,this,[[4,15]])}))),function handleAutocompleteChange(){return _handleAutocompleteChange.apply(this,arguments)})},{key:"selectPrevious",value:function selectPrevious(){0===this.state.selected||null===this.state.selected?this.setState({selected:this.state.autocompleteItems.length-1}):this.setState({selected:this.state.selected-1}),this.scrollToSelectedItem()}},{key:"selectNext",value:function selectNext(){null===this.state.selected||this.state.selected===this.state.autocompleteItems.length-1?this.setState({selected:0}):this.setState({selected:this.state.selected+1}),this.scrollToSelectedItem()}},{key:"isItemSelected",value:function isItemSelected(key){return null!==this.state.selected&&key===this.state.selected}},{key:"getPlaceholder",value:function getPlaceholder(){return this.props.disabled?"please wait...":this.props.placeholder}},{key:"isInputDisabled",value:function isInputDisabled(){return this.state.loading||this.props.disabled}},{key:"scrollToSelectedItem",value:function scrollToSelectedItem(){if(this.state.autocompleteItems&&0!==this.state.autocompleteItems.length){var itemHeight=this.listRef.current.scrollHeight/this.state.autocompleteItems.length,visibleHeight=this.listRef.current.clientHeight,fitOffset=visibleHeight-itemHeight*Math.round(visibleHeight/itemHeight),currentItemPosition=itemHeight*this.state.selected,currentScroll=this.listRef.current.scrollTop;if(currentItemPosition-fitOffset<currentScroll)return void(this.listRef.current.scrollTop=this.listRef.current.scrollTop-visibleHeight);if(currentItemPosition>currentScroll+visibleHeight)return void(this.listRef.current.scrollTop=currentItemPosition)}else this.listRef.current.scrollTop=0}},{key:"render",value:function render(){var _this5=this;return Object(jsx_runtime.jsx)("div",{children:Object(jsx_runtime.jsxs)("div",{children:[Object(jsx_runtime.jsxs)("div",{className:"input text autocomplete",children:[Object(jsx_runtime.jsx)("label",{htmlFor:this.props.id,children:this.props.label}),Object(jsx_runtime.jsx)("input",{id:this.props.id,name:this.props.name,ref:this.inputRef,maxLength:"64",type:"text",placeholder:this.getPlaceholder(),autoComplete:"off",value:this.state.name,disabled:this.isInputDisabled(),onChange:this.handleInputChange})]}),(this.state.processing||this.state.autocompleteItems)&&Object(jsx_runtime.jsx)("div",{className:"autocomplete-wrapper",children:Object(jsx_runtime.jsx)("div",{className:"autocomplete-content scroll",ref:this.listRef,children:Object(jsx_runtime.jsxs)("ul",{children:[this.state.processing&&Object(jsx_runtime.jsx)(Autocomplete_AutocompleteItemLoading,{}),!this.state.processing&&(!this.state.autocompleteItems||!this.state.autocompleteItems.length)&&Object(jsx_runtime.jsx)(Autocomplete_AutocompleteItemEmpty,{}),!this.state.processing&&this.state.autocompleteItems&&this.state.autocompleteItems.map((function(item,key){return item.username?Object(jsx_runtime.jsx)(Autocomplete_AutocompleteItem,{id:key,user:item,selected:_this5.isItemSelected(key),onClick:_this5.handleSelect,baseUrl:_this5.props.baseUrl},key):Object(jsx_runtime.jsx)(Autocomplete_AutocompleteItem,{id:key,group:item,selected:_this5.isItemSelected(key),onClick:_this5.handleSelect,baseUrl:_this5.props.baseUrl},key)}))]})})})]})})}}]),Autocomplete}(react.Component);Autocomplete_Autocomplete.propTypes={baseUrl:prop_types_default.a.string,id:prop_types_default.a.string,searchCallback:prop_types_default.a.func,onSelect:prop_types_default.a.func,onOpen:prop_types_default.a.func,onClose:prop_types_default.a.func,label:prop_types_default.a.string,disabled:prop_types_default.a.bool,name:prop_types_default.a.string,placeholder:prop_types_default.a.string},Autocomplete_Autocomplete.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"getDefaultState\n@return {object}",modifiers:[],params:[],returns:{description:null,type:{name:"object"}},description:"getDefaultState"},{name:"createInputRefs",docblock:"Create references\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Create references"},{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"getItems",docblock:"Retrieve the items to display based on a keyword\n@param {string} keyword The keyword to search for\n@returns {Promise<void>}",modifiers:["async"],params:[{name:"keyword",description:"The keyword to search for",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Retrieve the items to display based on a keyword"},{name:"autocompleteSearch",docblock:"Retrieve the items to display based on keywords.\nCheck in the cache first, or plan a search call.\n@param {string} keyword The keyword to search for\n@returns {Promise<*>}",modifiers:["async"],params:[{name:"keyword",description:"The keyword to search for",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"Promise",elements:[{name:"mixed"}]}},description:"Retrieve the items to display based on keywords.\nCheck in the cache first, or plan a search call."},{name:"closeAutocomplete",docblock:"Close the autocomplete area\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Close the autocomplete area"},{name:"handleKeyDown",docblock:"Handle the user key down\n@param {ReactEvent} event The triggered event\n@return {void}",modifiers:[],params:[{name:"event",description:"The triggered event",type:{name:"ReactEvent"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Handle the user key down"},{name:"handleSelect",docblock:"Handle a suggested item selection\n@param {Object} selected The selected item\n@return {void}",modifiers:[],params:[{name:"selected",description:"The selected item",type:{name:"Object"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Handle a suggested item selection"},{name:"handleInputChange",docblock:"Handle the search input change\n@param {ReactEvent} event The triggered event\n@return {void}",modifiers:[],params:[{name:"event",description:"The triggered event",type:{name:"ReactEvent"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Handle the search input change"},{name:"handleAfterNameUpdate",docblock:"Handle after name update\n@param {ReactEvent} event The triggered event\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle after name update"},{name:"handleAutocompleteChange",docblock:"Handle autocomplete change\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Handle autocomplete change"},{name:"selectPrevious",docblock:"Select previous item in the list\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Select previous item in the list"},{name:"selectNext",docblock:"Select next item in the list\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Select next item in the list"},{name:"isItemSelected",docblock:"Check if an item is selected\n@param {int} key the item key to look for\n@returns {boolean}",modifiers:[],params:[{name:"key",description:"the item key to look for",type:{name:"int"},optional:!1}],returns:{description:null,type:{name:"boolean"}},description:"Check if an item is selected"},{name:"getPlaceholder",docblock:"Get the loading placeholder.\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the loading placeholder."},{name:"isInputDisabled",docblock:"Check if the input search is disabled.\n@returns {Boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"Boolean"}},description:"Check if the input search is disabled."},{name:"scrollToSelectedItem",docblock:"Scroll to the selected item\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Scroll to the selected item"}],displayName:"Autocomplete",props:{baseUrl:{type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!1,description:""},searchCallback:{type:{name:"func"},required:!1,description:""},onSelect:{type:{name:"func"},required:!1,description:""},onOpen:{type:{name:"func"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""},label:{type:{name:"string"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""},name:{type:{name:"string"},required:!1,description:""},placeholder:{type:{name:"string"},required:!1,description:""}}};var Inputs_Autocomplete_Autocomplete=Autocomplete_Autocomplete;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/Autocomplete/Autocomplete.js"]={name:"Autocomplete",docgenInfo:Autocomplete_Autocomplete.__docgenInfo,path:"src/react/components/Common/Inputs/Autocomplete/Autocomplete.js"});var toConsumableArray=__webpack_require__(46),toConsumableArray_default=__webpack_require__.n(toConsumableArray),ShareChanges_ShareChanges=(__webpack_require__(67),__webpack_require__(68),__webpack_require__(85),__webpack_require__(71),__webpack_require__(153),__webpack_require__(36),function(){function ShareChanges(resources,folders){var _this=this;classCallCheck_default()(this,ShareChanges),this._folders=folders||[],this._resources=resources||[],this._permissions=[],this._aroPermissions=[],this._aros={},this._acos=[],this._resources.forEach((function(resource){resource._type="Resource",_this._acos.push(resource)})),this._folders.forEach((function(folder){folder._type="Folder",_this._acos.push(folder)})),this._acos.forEach((function(aco){aco.permissions.forEach((function(permission){var aro=permission.user||permission.group;_this._aros[aro.id]||(_this._aros[aro.id]=aro),_this._permissions.push(permission)}))})),this._changes=[]}return createClass_default()(ShareChanges,[{key:"getChanges",value:function getChanges(){return this._changes}},{key:"getResourcesChanges",value:function getResourcesChanges(){return this._changes.filter((function(element){return"Resource"===element.aco}))}},{key:"getFoldersChanges",value:function getFoldersChanges(){return this._changes.filter((function(element){return"Folder"===element.aco}))}},{key:"getAcos",value:function getAcos(){return this._acos}},{key:"isOriginalResourcesOwner",value:function isOriginalResourcesOwner(){return this._acos.reduce((function(carry,aco){return carry&&15===aco.permission.type}),!0)}},{key:"aggregatePermissionsByAro",value:function aggregatePermissionsByAro(){var _this2=this,arosPermissions=this._permissions.reduce((function(carry,permission){var aroPermission=carry.find((function(_data){return _data.id===permission.aro_foreign_key}));if(!aroPermission){var aro=permission.user||permission.group;aroPermission={id:aro.id,aro:aro,type:permission.type,permissions:[]},carry.push(aroPermission)}return aroPermission.type=aroPermission.type===permission.type?aroPermission.type:-1,aroPermission.permissions.push(permission),carry}),[]);return arosPermissions.forEach((function(aroPermissions){aroPermissions.permissions.length!==_this2._acos.length&&(aroPermissions.type=-1),-1===aroPermissions.type&&(aroPermissions.variesDetails=_this2._acos.reduce((function(carry,aco){var result=aroPermissions.permissions.filter((function(permission){return permission.aco_foreign_key===aco.id}));return result.length?carry[result[0].type].push(aco.name):carry[0].push(aco.name),carry}),{0:[],1:[],7:[],15:[]}))})),arosPermissions.sort((function(a,b){var aValue=a.aro.profile?a.aro.profile.first_name:a.aro.name,bValue=b.aro.profile?b.aro.profile.first_name:b.aro.name;return aValue<bValue?-1:aValue>bValue?1:0})),this._aroPermissions=arosPermissions,this._aroPermissions}},{key:"hasChanges",value:function hasChanges(aroId){return void 0!==this._changes.find((function(change){return change.aro_foreign_key===aroId}))}},{key:"addAroPermissions",value:function addAroPermissions(aro){return this._aros[aro.id]=aro,this.updateAroPermissions(aro.id,1),{id:aro.id,aro:aro,type:1,permissions:[]}}},{key:"updateAroPermissions",value:function updateAroPermissions(aroId,type){var _this3=this;this._removeAroChanges(aroId),this._acos.forEach((function(aco){var permissionOriginal=_this3.getAcoAroPermission(aco,aroId);if(permissionOriginal){if(permissionOriginal.type!==type){var permissionChange=JSON.parse(JSON.stringify(permissionOriginal));permissionChange.type=type,_this3._changes.push(permissionChange)}}else{var aro=_this3._aros[aroId],_permissionChange=_this3._buildChange(aco,aro,type);_this3._changes.push(_permissionChange)}}))}},{key:"deleteAroPermissions",value:function deleteAroPermissions(aroId){var _this4=this;this._removeAroChanges(aroId),this._acos.forEach((function(aco){var permissionOriginal=_this4.getAcoAroPermission(aco,aroId);if(permissionOriginal){var permissionChange=JSON.parse(JSON.stringify(permissionOriginal));permissionChange.delete=!0,_this4._changes.push(permissionChange)}})),delete this._aros[aroId]}},{key:"getAcoAroPermission",value:function getAcoAroPermission(aco,aroId){return this._permissions.find((function(permission){return permission.aro_foreign_key===aroId&&permission.aco_foreign_key===aco.id}))}},{key:"getResourcesWithNoOwner",value:function getResourcesWithNoOwner(){var _this5=this;return this._acos.filter((function(aco){var changes=_this5._changes.filter((function(change){return change.aco_foreign_key===aco.id}));if(changes.find((function(change){return 15===change.type&&!change.delete})))return!1;var originalOwnersPermissionsIds=_this5._permissions.reduce((function(carry,permission){return permission.aco_foreign_key===aco.id&&15===permission.type&&(carry=[].concat(toConsumableArray_default()(carry),[permission.id])),carry}),[]);return changes.filter((function(change){return(change.delete||15!==change.type)&&-1!==originalOwnersPermissionsIds.indexOf(change.id)})).length===originalOwnersPermissionsIds.length}))}},{key:"_removeAroChanges",value:function _removeAroChanges(aroId){var _this6=this;this._acos.forEach((function(aco){_this6._changes=_this6._changes.filter((function(change){return!(change.aco_foreign_key===aco.id&&change.aro_foreign_key===aroId)}))}))}},{key:"_buildChange",value:function _buildChange(aco,aro,type){return{is_new:!0,aro:aro.profile?"User":"Group",aro_foreign_key:aro.id,aco:aco._type,aco_foreign_key:aco.id,type:type}}}]),ShareChanges}()),Icon=(__webpack_require__(542),__webpack_require__(245),__webpack_require__(583),__webpack_require__(17));function SharePermissionDeleteButton_createSuper(Derived){var hasNativeReflectConstruct=function SharePermissionDeleteButton_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var SharePermissionDeleteButton_SharePermissionDeleteButton=function(_Component){inherits_default()(SharePermissionDeleteButton,_Component);var _super=SharePermissionDeleteButton_createSuper(SharePermissionDeleteButton);function SharePermissionDeleteButton(){return classCallCheck_default()(this,SharePermissionDeleteButton),_super.apply(this,arguments)}return createClass_default()(SharePermissionDeleteButton,[{key:"handleCloseClick",value:function handleCloseClick(){this.props.onClose()}},{key:"getClassName",value:function getClassName(){var className="remove-item";return this.props.disabled&&(className+=" disabled"),className}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("a",{className:this.getClassName(),onClick:this.handleCloseClick.bind(this),role:"button",children:[Object(jsx_runtime.jsx)(Icon.a,{name:"close-circle"}),Object(jsx_runtime.jsx)("span",{className:"visually-hidden",children:"Remove"})]})}}]),SharePermissionDeleteButton}(react.Component);SharePermissionDeleteButton_SharePermissionDeleteButton.propTypes={onClose:prop_types_default.a.func,disabled:prop_types_default.a.bool},SharePermissionDeleteButton_SharePermissionDeleteButton.__docgenInfo={description:"",methods:[{name:"handleCloseClick",docblock:null,modifiers:[],params:[],returns:null},{name:"getClassName",docblock:null,modifiers:[],params:[],returns:null}],displayName:"SharePermissionDeleteButton",props:{onClose:{type:{name:"func"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""}}};var Share_SharePermissionDeleteButton=SharePermissionDeleteButton_SharePermissionDeleteButton;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Share/SharePermissionDeleteButton.js"]={name:"SharePermissionDeleteButton",docgenInfo:SharePermissionDeleteButton_SharePermissionDeleteButton.__docgenInfo,path:"src/react-extension/components/Share/SharePermissionDeleteButton.js"});var TooltipHtml=__webpack_require__(329),Trans=__webpack_require__(91),withTranslation=__webpack_require__(177);function ShareVariesDetails_createSuper(Derived){var hasNativeReflectConstruct=function ShareVariesDetails_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var ShareVariesDetails_ShareVariesDetails=function(_Component){inherits_default()(ShareVariesDetails,_Component);var _super=ShareVariesDetails_createSuper(ShareVariesDetails);function ShareVariesDetails(){return classCallCheck_default()(this,ShareVariesDetails),_super.apply(this,arguments)}return createClass_default()(ShareVariesDetails,[{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("span",{className:"share-varies-details",children:[this.props.variesDetails[0].length>0&&Object(jsx_runtime.jsxs)("span",{children:[Object(jsx_runtime.jsxs)("strong",{children:[Object(jsx_runtime.jsx)(Trans.a,{children:"No access"}),": ",this.props.variesDetails[0].join(", ")]}),Object(jsx_runtime.jsx)("br",{})]}),this.props.variesDetails[1].length>0&&Object(jsx_runtime.jsxs)("span",{children:[Object(jsx_runtime.jsxs)("strong",{children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Can read"}),": ",this.props.variesDetails[1].join(", ")]}),Object(jsx_runtime.jsx)("br",{})]}),this.props.variesDetails[7].length>0&&Object(jsx_runtime.jsxs)("span",{children:[Object(jsx_runtime.jsxs)("strong",{children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Can edit"}),": ",this.props.variesDetails[7].join(", ")]}),Object(jsx_runtime.jsx)("br",{})]}),this.props.variesDetails[15].length>0&&Object(jsx_runtime.jsxs)("span",{children:[Object(jsx_runtime.jsxs)("strong",{children:[Object(jsx_runtime.jsx)(Trans.a,{children:"Is owner"}),": ",this.props.variesDetails[15].join(", ")]}),Object(jsx_runtime.jsx)("br",{})]})]})}}]),ShareVariesDetails}(react.Component);ShareVariesDetails_ShareVariesDetails.propTypes={variesDetails:prop_types_default.a.object,t:prop_types_default.a.func},ShareVariesDetails_ShareVariesDetails.__docgenInfo={description:"",methods:[{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"ShareVariesDetails",props:{variesDetails:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Share_ShareVariesDetails=Object(withTranslation.a)("common")(ShareVariesDetails_ShareVariesDetails);"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Share/ShareVariesDetails.js"]={name:"ShareVariesDetails",docgenInfo:ShareVariesDetails_ShareVariesDetails.__docgenInfo,path:"src/react-extension/components/Share/ShareVariesDetails.js"});var AppContext=__webpack_require__(13);function SharePermissionItem_createSuper(Derived){var hasNativeReflectConstruct=function SharePermissionItem_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var SharePermissionItem_SharePermissionItem=function(_Component){inherits_default()(SharePermissionItem,_Component);var _super=SharePermissionItem_createSuper(SharePermissionItem);function SharePermissionItem(props){var _this;if(classCallCheck_default()(this,SharePermissionItem),(_this=_super.call(this,props)).state={},!Number.isInteger(props.permissionType))throw new TypeError(_this.translate("Invalid permission type for share permission item."));return _this.state.permissionType=props.permissionType,_this.bindEventHandlers(),_this}return createClass_default()(SharePermissionItem,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){prevProps.permissionType!==this.props.permissionType&&this.setState({permissionType:this.props.permissionType})}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleUpdate=this.handleUpdate.bind(this),this.handleDelete=this.handleDelete.bind(this)}},{key:"getAroDetails",value:function getAroDetails(){return this.props.aro.profile?this.props.aro.username:"Group"}},{key:"isInputDisabled",value:function isInputDisabled(){return this.props.disabled}},{key:"getSelectClassName",value:function getSelectClassName(){return this.isInputDisabled()?"permission disabled":"permission"}},{key:"getAroName",value:function getAroName(){if(this.props.aro.profile){var profile=this.props.aro.profile;return"".concat(profile.first_name," ").concat(profile.last_name)}return this.props.aro.name}},{key:"isUser",value:function isUser(){return!this.isGroup()}},{key:"isGroup",value:function isGroup(){return!(this.props.aro&&this.props.aro.profile)}},{key:"getClassName",value:function getClassName(){var className="row";return this.props.updated&&(className+=" permission-updated"),className}},{key:"handleUpdate",value:function handleUpdate(event){var newType=parseInt(event.target.value);this.props.onUpdate(this.props.id,newType)}},{key:"handleDelete",value:function handleDelete(){this.props.onDelete(this.props.id)}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("li",{id:"permission-item-".concat(this.props.id),className:this.getClassName(),children:[this.isUser()&&Object(jsx_runtime.jsx)(UserAvatar.a,{user:this.props.aro,baseUrl:this.context.userSettings.getTrustedDomain()}),this.isGroup()&&Object(jsx_runtime.jsx)(GroupAvatar.a,{group:this.props.aro,baseUrl:this.context.userSettings.getTrustedDomain()}),Object(jsx_runtime.jsxs)("div",{className:"aro",children:[Object(jsx_runtime.jsx)("div",{className:"aro-name",children:Object(jsx_runtime.jsx)("span",{className:"ellipsis",children:this.getAroName()})}),Object(jsx_runtime.jsx)("div",{className:"aro-details",children:Object(jsx_runtime.jsx)("span",{className:"ellipsis",children:this.getAroDetails()})})]}),Object(jsx_runtime.jsxs)("div",{className:"select rights",children:[Object(jsx_runtime.jsxs)("select",{name:"permissionSelect",className:this.getSelectClassName(),value:this.state.permissionType,disabled:this.isInputDisabled(),onChange:this.handleUpdate,children:[Object(jsx_runtime.jsx)("option",{value:"1",children:Object(jsx_runtime.jsx)(Trans.a,{children:"can read"})}),Object(jsx_runtime.jsx)("option",{value:"7",children:Object(jsx_runtime.jsx)(Trans.a,{children:"can update"})}),Object(jsx_runtime.jsx)("option",{value:"15",children:Object(jsx_runtime.jsx)(Trans.a,{children:"is owner"})}),this.props.variesDetails&&Object(jsx_runtime.jsx)("option",{value:"-1",children:Object(jsx_runtime.jsx)(Trans.a,{children:"varies"})})]}),this.props.variesDetails&&Object(jsx_runtime.jsx)(TooltipHtml.a,{offset:!0,children:Object(jsx_runtime.jsx)(Share_ShareVariesDetails,{variesDetails:this.props.variesDetails})})]}),Object(jsx_runtime.jsx)("div",{className:"actions",children:Object(jsx_runtime.jsx)(Share_SharePermissionDeleteButton,{onClose:this.handleDelete,disabled:this.isInputDisabled()})})]})}}]),SharePermissionItem}(react.Component);SharePermissionItem_SharePermissionItem.contextType=AppContext.a,SharePermissionItem_SharePermissionItem.propTypes={id:prop_types_default.a.string,aro:prop_types_default.a.object,variesDetails:prop_types_default.a.object,updated:prop_types_default.a.bool,disabled:prop_types_default.a.bool,onUpdate:prop_types_default.a.func,onDelete:prop_types_default.a.func,permissionType:prop_types_default.a.number,t:prop_types_default.a.func},SharePermissionItem_SharePermissionItem.__docgenInfo={description:"",methods:[{name:"bindEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"getAroDetails",docblock:"R\n@returns {string} Group or User name",modifiers:[],params:[],returns:{description:"Group or User name",type:{name:"string"}},description:"R"},{name:"isInputDisabled",docblock:null,modifiers:[],params:[],returns:null},{name:"getSelectClassName",docblock:null,modifiers:[],params:[],returns:null},{name:"getAroName",docblock:null,modifiers:[],params:[],returns:null},{name:"isUser",docblock:"Return true if aro in props is a user\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if aro in props is a user"},{name:"isGroup",docblock:"Return true if aro in props is a group\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if aro in props is a group"},{name:"getClassName",docblock:null,modifiers:[],params:[],returns:null},{name:"handleUpdate",docblock:null,modifiers:[],params:[{name:"event",type:null}],returns:null},{name:"handleDelete",docblock:null,modifiers:[],params:[],returns:null},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"SharePermissionItem",props:{id:{type:{name:"string"},required:!1,description:""},aro:{type:{name:"object"},required:!1,description:""},variesDetails:{type:{name:"object"},required:!1,description:""},updated:{type:{name:"bool"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""},onUpdate:{type:{name:"func"},required:!1,description:""},onDelete:{type:{name:"func"},required:!1,description:""},permissionType:{type:{name:"number"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};var Share_SharePermissionItem=Object(withTranslation.a)("common")(SharePermissionItem_SharePermissionItem);function SharePermissionItemSkeleton_createSuper(Derived){var hasNativeReflectConstruct=function SharePermissionItemSkeleton_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Share/SharePermissionItem.js"]={name:"SharePermissionItem",docgenInfo:SharePermissionItem_SharePermissionItem.__docgenInfo,path:"src/react-extension/components/Share/SharePermissionItem.js"});var SharePermissionItemSkeleton_SharePermissionItemSkeleton=function(_Component){inherits_default()(SharePermissionItemSkeleton,_Component);var _super=SharePermissionItemSkeleton_createSuper(SharePermissionItemSkeleton);function SharePermissionItemSkeleton(){return classCallCheck_default()(this,SharePermissionItemSkeleton),_super.apply(this,arguments)}return createClass_default()(SharePermissionItemSkeleton,[{key:"render",value:function render(){return Object(jsx_runtime.jsxs)("li",{className:"row skeleton",children:[Object(jsx_runtime.jsx)("div",{className:"avatar"}),Object(jsx_runtime.jsxs)("div",{className:"aro",children:[Object(jsx_runtime.jsx)("div",{className:"aro-name"}),Object(jsx_runtime.jsx)("div",{className:"aro-details"})]}),Object(jsx_runtime.jsx)("div",{className:"select rights"}),Object(jsx_runtime.jsx)("div",{className:"actions"}),Object(jsx_runtime.jsx)("div",{className:"shimmer"})]})}}]),SharePermissionItemSkeleton}(react.Component);SharePermissionItemSkeleton_SharePermissionItemSkeleton.propTypes={},SharePermissionItemSkeleton_SharePermissionItemSkeleton.__docgenInfo={description:"",methods:[],displayName:"SharePermissionItemSkeleton"};var Share_SharePermissionItemSkeleton=SharePermissionItemSkeleton_SharePermissionItemSkeleton;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Share/SharePermissionItemSkeleton.js"]={name:"SharePermissionItemSkeleton",docgenInfo:SharePermissionItemSkeleton_SharePermissionItemSkeleton.__docgenInfo,path:"src/react-extension/components/Share/SharePermissionItemSkeleton.js"});var DialogContext=__webpack_require__(41),ActionFeedbackContext=__webpack_require__(48),ResourceWorkspaceContext=__webpack_require__(11);function ShareDialog_createSuper(Derived){var hasNativeReflectConstruct=function ShareDialog_isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=getPrototypeOf_default()(Derived);if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf_default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return possibleConstructorReturn_default()(this,result)}}var ShareDialog_ShareDialog=function(_Component){inherits_default()(ShareDialog,_Component);var _toggleProcessing,_fetchAutocompleteItems,_shareSave,_handleSaveSuccess,_handleFormSubmit,_componentDidMount,_super=ShareDialog_createSuper(ShareDialog);function ShareDialog(props){var _this;return classCallCheck_default()(this,ShareDialog),(_this=_super.call(this,props)).resources=[],_this.folders=[],_this.state=_this.getDefaultState(),_this.shareChanges=null,_this.permissionListRef=react_default.a.createRef(),_this.bindEventHandlers(),_this}return createClass_default()(ShareDialog,[{key:"componentDidMount",value:(_componentDidMount=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(){var permissions,_this2=this;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!this.context.shareDialogProps.resourcesIds){_context.next=4;break}return _context.next=3,this.context.port.request("passbolt.share.get-resources",this.context.shareDialogProps.resourcesIds);case 3:this.resources=_context.sent;case 4:if(!this.context.shareDialogProps.foldersIds){_context.next=8;break}return _context.next=7,this.context.port.request("passbolt.share.get-folders",this.context.shareDialogProps.foldersIds);case 7:this.folders=_context.sent;case 8:this.shareChanges=new ShareChanges_ShareChanges(this.resources,this.folders),permissions=this.shareChanges.aggregatePermissionsByAro(),this.setState({loading:!1,name:"",permissions:permissions},(function(){_this2.permissionListRef.current.scrollTop=0}));case 11:case"end":return _context.stop()}}),_callee,this)}))),function componentDidMount(){return _componentDidMount.apply(this,arguments)})},{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,permissions:null,autocompleteOpen:!1}}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleAutocompleteSelect=this.handleAutocompleteSelect.bind(this),this.handleAutocompleteClose=this.handleAutocompleteClose.bind(this),this.handleAutocompleteOpen=this.handleAutocompleteOpen.bind(this),this.fetchAutocompleteItems=this.fetchAutocompleteItems.bind(this),this.handlePermissionUpdate=this.handlePermissionUpdate.bind(this),this.handlePermissionDelete=this.handlePermissionDelete.bind(this)}},{key:"handleClose",value:function handleClose(){this.props.onClose()}},{key:"handleAutocompleteOpen",value:function handleAutocompleteOpen(){this.setState({autocompleteOpen:!0})}},{key:"handleAutocompleteClose",value:function handleAutocompleteClose(){this.setState({autocompleteOpen:!1})}},{key:"handleFormSubmit",value:(_handleFormSubmit=asyncToGenerator_default()(regenerator_default.a.mark((function _callee2(event){return regenerator_default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.preventDefault(),!this.state.autocompleteOpen){_context2.next=3;break}return _context2.abrupt("return");case 3:if(!this.state.processing){_context2.next=5;break}return _context2.abrupt("return");case 5:if(!this.state.autocompleteItems){_context2.next=7;break}return _context2.abrupt("return");case 7:return _context2.next=9,this.toggleProcessing();case 9:return _context2.prev=9,_context2.next=12,this.shareSave();case 12:return _context2.next=14,this.handleSaveSuccess();case 14:_context2.next=19;break;case 16:_context2.prev=16,_context2.t0=_context2.catch(9),this.handleSaveError(_context2.t0);case 19:case"end":return _context2.stop()}}),_callee2,this,[[9,16]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=asyncToGenerator_default()(regenerator_default.a.mark((function _callee3(){return regenerator_default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The permissions have been changed successfully."));case 2:return _context3.next=4,this.props.resourceWorkspaceContext.onResourceShared();case 4:this.props.onClose();case 5:case"end":return _context3.stop()}}),_callee3,this)}))),function handleSaveSuccess(){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(NotifyError.a)}},{key:"handleAutocompleteSelect",value:function handleAutocompleteSelect(aro){var _this3=this;if(!(this.state.permissions.filter((function(permission){return permission.aro.id===aro.id})).length>0)){var permission=this.shareChanges.addAroPermissions(aro);permission.updated=!0;var permissions=this.state.permissions;permissions.push(permission),this.setState({permissions:permissions},(function(){_this3.permissionListRef.current.scrollTop=_this3.permissionListRef.current.scrollHeight}))}}},{key:"handlePermissionUpdate",value:function handlePermissionUpdate(aroId,type){var _this4=this;this.shareChanges.updateAroPermissions(aroId,type);var newPermissions=this.state.permissions.map((function(permission){return permission.aro.id===aroId&&(permission.type=type,permission.updated=_this4.shareChanges.hasChanges(aroId)),permission}));this.setState({permissions:newPermissions})}},{key:"handlePermissionDelete",value:function handlePermissionDelete(aroId){this.shareChanges.deleteAroPermissions(aroId);var newPermissions=this.state.permissions.filter((function(permission){return permission.aro.id!==aroId}));this.setState({permissions:newPermissions})}},{key:"shareSave",value:(_shareSave=asyncToGenerator_default()(regenerator_default.a.mark((function _callee4(){return regenerator_default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(!this.context.shareDialogProps.resourcesIds||!this.context.shareDialogProps.foldersIds){_context4.next=2;break}throw new Error(this.translate("Multi resource and folder share is not implemented."));case 2:if(!this.context.shareDialogProps.resourcesIds){_context4.next=6;break}return _context4.next=5,this.context.port.request("passbolt.share.resources.save",this.resources,this.shareChanges.getResourcesChanges());case 5:return _context4.abrupt("return");case 6:if(!this.context.shareDialogProps.foldersIds){_context4.next=9;break}return _context4.next=9,this.context.port.request("passbolt.share.folders.save",this.folders,this.shareChanges.getFoldersChanges());case 9:case"end":return _context4.stop()}}),_callee4,this)}))),function shareSave(){return _shareSave.apply(this,arguments)})},{key:"fetchAutocompleteItems",value:(_fetchAutocompleteItems=asyncToGenerator_default()(regenerator_default.a.mark((function _callee5(keyword){var ids,items,_this5=this;return regenerator_default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return ids=this.context.shareDialogProps.resourcesIds||this.context.shareDialogProps.foldersIds,_context5.next=3,this.context.port.request("passbolt.share.search-aros",keyword,ids);case 3:return items=_context5.sent,_context5.abrupt("return",items.filter((function(item){return 0===_this5.state.permissions.filter((function(permission){return permission.aro.id===item.id})).length})));case 5:case"end":return _context5.stop()}}),_callee5,this)}))),function fetchAutocompleteItems(_x2){return _fetchAutocompleteItems.apply(this,arguments)})},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"isAboutItems",value:function isAboutItems(){return this.context.shareDialogProps.resourcesIds&&this.context.shareDialogProps.foldersIds&&this.context.shareDialogProps.resourcesIds.length&&this.context.shareDialogProps.foldersIds.length}},{key:"isAboutResources",value:function isAboutResources(){return this.context.shareDialogProps.resourcesIds&&this.context.shareDialogProps.resourcesIds.length>1}},{key:"isAboutFolders",value:function isAboutFolders(){return this.context.shareDialogProps.foldersIds&&this.context.shareDialogProps.foldersIds.length>1}},{key:"isAboutAFolder",value:function isAboutAFolder(){return this.context.shareDialogProps.foldersIds&&1===this.context.shareDialogProps.foldersIds.length}},{key:"isAboutAResource",value:function isAboutAResource(){return this.context.shareDialogProps.resourcesIds&&1===this.context.shareDialogProps.resourcesIds.length}},{key:"getTitle",value:function getTitle(){return this.state.loading?this.translate("Loading..."):this.isAboutItems()?this.translate("Share {{numberItems}} items",{numberItems:this.context.shareDialogProps.resourcesIds.length+this.context.shareDialogProps.foldersIds.length}):this.isAboutAResource()?this.translate("Share resource {{resourceName}}",{resourceName:this.resources[0].name}):this.isAboutResources()?this.translate("Share {{numberResource}} resources",{numberResource:this.context.shareDialogProps.resourcesIds.length}):this.isAboutAFolder()?this.translate("Share folder {{folderName}}",{folderName:this.folders[0].name}):this.isAboutFolders()?this.translate("Share {numberFolder} folders",{numberFolder:this.context.shareDialogProps.foldersIds.length}):void 0}},{key:"getTooltip",value:function getTooltip(){if(!this.shareChanges)return"";var acos=this.shareChanges.getAcos();return acos&&acos.length&&1!==acos.length?acos.map((function(acos){return acos.name})).join(", "):""}},{key:"toggleProcessing",value:(_toggleProcessing=asyncToGenerator_default()(regenerator_default.a.mark((function _callee6(){var prev,_this6=this;return regenerator_default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return prev=this.state.processing,_context6.abrupt("return",new Promise((function(resolve){_this6.setState({processing:!prev},resolve())})));case 2:case"end":return _context6.stop()}}),_callee6,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"hasNoOwner",value:function hasNoOwner(){return this.shareChanges&&this.shareChanges.getResourcesWithNoOwner().length>0}},{key:"hasChanges",value:function hasChanges(){return this.shareChanges&&this.shareChanges.getChanges().length>0}},{key:"hasSubmitDisabled",value:function hasSubmitDisabled(){return this.hasNoOwner()||this.hasAllInputDisabled()||!this.hasChanges()}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){var _this7=this;return Object(jsx_runtime.jsx)(DialogWrapper.a,{title:this.getTitle(),tooltip:this.getTooltip(),onClose:this.handleClose,disabled:this.hasAllInputDisabled(),children:Object(jsx_runtime.jsxs)("form",{className:"share-form",onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(jsx_runtime.jsxs)("div",{className:"form-content permission-edit",children:[this.state.loading&&Object(jsx_runtime.jsxs)("ul",{className:"permissions scroll",children:[Object(jsx_runtime.jsx)(Share_SharePermissionItemSkeleton,{}),Object(jsx_runtime.jsx)(Share_SharePermissionItemSkeleton,{}),Object(jsx_runtime.jsx)(Share_SharePermissionItemSkeleton,{})]}),!this.state.loading&&Object(jsx_runtime.jsx)("ul",{className:"permissions scroll",ref:this.permissionListRef,children:this.state.permissions&&this.state.permissions.map((function(permission,key){return Object(jsx_runtime.jsx)(Share_SharePermissionItem,{id:permission.aro.id,aro:permission.aro,permissionType:permission.type,variesDetails:permission.variesDetails,updated:permission.updated,disabled:_this7.hasAllInputDisabled(),onUpdate:_this7.handlePermissionUpdate,onDelete:_this7.handlePermissionDelete},key)}))})]}),this.hasNoOwner()&&Object(jsx_runtime.jsx)("div",{className:"message error",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Please make sure there is at least one owner."})}),this.hasChanges()&&!this.hasNoOwner()&&Object(jsx_runtime.jsx)("div",{className:"message warning",children:Object(jsx_runtime.jsx)(Trans.a,{children:"Click save to apply your pending changes."})}),Object(jsx_runtime.jsx)("div",{className:"form-content permission-add",children:Object(jsx_runtime.jsx)(Inputs_Autocomplete_Autocomplete,{id:"share-name-input",name:"name",label:this.translate("Share with people or groups"),placeholder:this.translate("Start typing a user or group name"),searchCallback:this.fetchAutocompleteItems,onSelect:this.handleAutocompleteSelect,onOpen:this.handleAutocompleteOpen,onClose:this.handleAutocompleteClose,disabled:this.hasAllInputDisabled(),baseUrl:this.context.userSettings.getTrustedDomain()})}),Object(jsx_runtime.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(jsx_runtime.jsx)(FormSubmitButton.a,{disabled:this.hasSubmitDisabled(),processing:this.state.processing,value:this.translate("Save")}),Object(jsx_runtime.jsx)(FormCancelButton.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleClose})]})]})})}}]),ShareDialog}(react.Component);ShareDialog_ShareDialog.contextType=AppContext.a,ShareDialog_ShareDialog.propTypes={onClose:prop_types_default.a.func,resourceWorkspaceContext:prop_types_default.a.any,actionFeedbackContext:prop_types_default.a.any,dialogContext:prop_types_default.a.any,t:prop_types_default.a.func},ShareDialog_ShareDialog.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindEventHandlers",docblock:"Bind event handlers\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind event handlers"},{name:"handleClose",docblock:"Handle close button click.\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle close button click."},{name:"handleAutocompleteOpen",docblock:"handleAutocompleteOpen\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"handleAutocompleteOpen"},{name:"handleAutocompleteClose",docblock:"handleAutocompleteClose\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"handleAutocompleteClose"},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@returns {void}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"void"}},description:"Handle form submit event."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"handleAutocompleteSelect",docblock:"handleAutocompleteSelect\nWhat happens when an item in the autocomplete list is selected\ne.g. if it's not already in the list, add it and scroll\n@param {object} aro",modifiers:[],params:[{name:"aro",description:null,type:{name:"object"},optional:!1}],returns:null,description:"handleAutocompleteSelect\nWhat happens when an item in the autocomplete list is selected\ne.g. if it's not already in the list, add it and scroll"},{name:"handlePermissionUpdate",docblock:"What happens when the user changes a permission for a group or user\ne.g. highlight if it's different than original, update permission list in the state\n\n@param {string} aroId The aro to update the permissions for\n@param {int} type like create, owner, etc.",modifiers:[],params:[{name:"aroId",description:"The aro to update the permissions for",type:{name:"string"},optional:!1},{name:"type",description:"like create, owner, etc.",type:{name:"int"},optional:!1}],returns:null,description:"What happens when the user changes a permission for a group or user\ne.g. highlight if it's different than original, update permission list in the state"},{name:"handlePermissionDelete",docblock:"What happens when the user delete a user or group from permission list\ne.g. delete permission from the shareChanges and update the state\n@param {string} aroId uuid",modifiers:[],params:[{name:"aroId",description:"uuid",type:{name:"string"},optional:!1}],returns:null,description:"What happens when the user delete a user or group from permission list\ne.g. delete permission from the shareChanges and update the state"},{name:"shareSave",docblock:"Save the permissions\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Save the permissions"},{name:"fetchAutocompleteItems",docblock:"Get users or groups matching the given keyword\n@param {string} keyword\n@returns {Promise<Object>} aros,",modifiers:["async"],params:[{name:"keyword",description:null,type:{name:"string"},optional:!1}],returns:{description:"aros,",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Get users or groups matching the given keyword"},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"isAboutItems",docblock:"Is this share screen handling sharing of multiple Acos?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple Acos?"},{name:"isAboutResources",docblock:"Is this share screen handling sharing of multiple resources?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple resources?"},{name:"isAboutFolders",docblock:"Is this share screen handling sharing of multiple folders?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing of multiple folders?"},{name:"isAboutAFolder",docblock:"Is this share screen handling sharing one folder?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing one folder?"},{name:"isAboutAResource",docblock:"Is this share screen handling sharing one resource?\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Is this share screen handling sharing one resource?"},{name:"getTitle",docblock:"Return a relevant title in case of single resource/folder or multiple item share, etc.\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return a relevant title in case of single resource/folder or multiple item share, etc."},{name:"getTooltip",docblock:"Return the dialog title tooltip content (multi-share details)\nor false in case of single resource share\n@returns {false|string} tool",modifiers:[],params:[],returns:{description:"tool",type:{name:"union",elements:[null,{name:"string"}]}},description:"Return the dialog title tooltip content (multi-share details)\nor false in case of single resource share"},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"hasNoOwner",docblock:"Return true if the permission list does not have at least one owner\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if the permission list does not have at least one owner"},{name:"hasChanges",docblock:"Return true if the permission list have changed since the start\n@returns {null|boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"union",elements:[null,{name:"boolean"}]}},description:"Return true if the permission list have changed since the start"},{name:"hasSubmitDisabled",docblock:"Return true if submit button should be disabled\nTrue if there is no owner, if all input should be disabled, if there is no change since the start\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if submit button should be disabled\nTrue if there is no owner, if all input should be disabled, if there is no change since the start"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"ShareDialog",props:{onClose:{type:{name:"func"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}};__webpack_exports__.a=Object(ResourceWorkspaceContext.c)(Object(ActionFeedbackContext.a)(Object(DialogContext.b)(Object(withTranslation.a)("common")(ShareDialog_ShareDialog))));"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Share/ShareDialog.js"]={name:"ShareDialog",docgenInfo:ShareDialog_ShareDialog.__docgenInfo,path:"src/react-extension/components/Share/ShareDialog.js"})},221:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return SecretComplexity_SecretComplexity}));var asyncToGenerator=__webpack_require__(4),asyncToGenerator_default=__webpack_require__.n(asyncToGenerator),toConsumableArray=__webpack_require__(46),toConsumableArray_default=__webpack_require__.n(toConsumableArray),classCallCheck=__webpack_require__(6),classCallCheck_default=__webpack_require__.n(classCallCheck),createClass=__webpack_require__(7),createClass_default=__webpack_require__.n(createClass),regenerator=__webpack_require__(3),regenerator_default=__webpack_require__.n(regenerator),sha=(__webpack_require__(1306),__webpack_require__(1312),__webpack_require__(1314),__webpack_require__(1315),__webpack_require__(1316),__webpack_require__(1318),__webpack_require__(1319),__webpack_require__(1320),__webpack_require__(1321),__webpack_require__(1322),__webpack_require__(1323),__webpack_require__(1324),__webpack_require__(1325),__webpack_require__(1327),__webpack_require__(1328),__webpack_require__(1329),__webpack_require__(1330),__webpack_require__(1331),__webpack_require__(1332),__webpack_require__(1333),__webpack_require__(1334),__webpack_require__(1335),__webpack_require__(1336),__webpack_require__(1337),__webpack_require__(20),__webpack_require__(30),__webpack_require__(1338),__webpack_require__(137),__webpack_require__(38),__webpack_require__(85),__webpack_require__(21),__webpack_require__(77),__webpack_require__(23),__webpack_require__(44),__webpack_require__(92),__webpack_require__(245),__webpack_require__(684)),PwnedPasswords_PwnedPasswords=function(){function PwnedPasswords(){classCallCheck_default()(this,PwnedPasswords)}var _pwnedPasswords;return createClass_default()(PwnedPasswords,null,[{key:"pwnedPasswords",value:(_pwnedPasswords=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(password){var err,shaObj,hashedPassword,hashedPasswordPrefix,hashedPasswordSuffix,url,response,data;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if("string"==typeof password){_context.next=3;break}return err=new Error("Input password must be a string."),_context.abrupt("return",Promise.reject(err));case 3:return(shaObj=new sha.a("SHA-1","TEXT")).update(password),hashedPassword=shaObj.getHash("HEX"),hashedPasswordPrefix=hashedPassword.substr(0,5),hashedPasswordSuffix=hashedPassword.substr(5),url="https://api.pwnedpasswords.com/range/"+hashedPasswordPrefix,_context.next=11,fetch(url);case 11:if(200===(response=_context.sent).status){_context.next=14;break}return _context.abrupt("return",Promise.reject(new Error("Failed to load pwnedpasswords API: ".concat(response.status))));case 14:return _context.next=16,response.text();case 16:return data=_context.sent,_context.abrupt("return",data.split("\n").map((function(line){return line.split(":")})).filter((function(filtered){return filtered[0].toLowerCase()===hashedPasswordSuffix})).map((function(mapped){return Number(mapped[1])})).shift()||0);case 18:case"end":return _context.stop()}}),_callee)}))),function pwnedPasswords(_x){return _pwnedPasswords.apply(this,arguments)})}]),PwnedPasswords}(),STRENGTH=[{id:"not_available",label:"n/a",strength:0},{id:"very-weak",label:"very weak",strength:1},{id:"weak",label:"weak",strength:60},{id:"fair",label:"fair",strength:80},{id:"strong",label:"strong",strength:112},{id:"very-strong",label:"very strong",strength:128}],MASKS={alpha:{size:26,data:"abcdefghijklmnopqrstuvwxyz",pattern:/[a-z]/},uppercase:{size:26,data:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",pattern:/[A-Z]/},digit:{size:10,data:"0123456789",pattern:/[0-9]/},special:{size:32,data:"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",pattern:/[!"#$%&\'\(\)*+,\-./:;<=>?@\[\\\]^_`{|}~]/}},SecretComplexity_SecretComplexity=function(){function SecretComplexity(){classCallCheck_default()(this,SecretComplexity)}var _ispwned;return createClass_default()(SecretComplexity,null,[{key:"randomRange",value:function randomRange(min,max){var arr=new Uint32Array(1);window.crypto.getRandomValues(arr);var random=arr[0]/4294967296;return Math.floor(random*(max-min+1))+min}},{key:"calculEntropy",value:function calculEntropy(length,maskSize){return length*(Math.log(maskSize)/Math.log(2))}},{key:"entropy",value:function entropy(pwd){var maskSize=0;for(var i in MASKS)pwd.match(MASKS[i].pattern)&&(maskSize+=MASKS[i].size);return this.calculEntropy(pwd.length,maskSize)}},{key:"getStrength",value:function getStrength(txt){txt=txt||"";var entropy=this.entropy(txt);return STRENGTH.reduce((function(accumulator,item){return accumulator?item.strength>accumulator.strength&&entropy>=item.strength?item:accumulator:item}))}},{key:"matchMasks",value:function matchMasks(txt){var matches={};for(var i in MASKS)matches[i]=!1,txt.match(MASKS[i].pattern)&&(matches[i]=!0);return matches}},{key:"generate",value:function generate(length,masks){var secret="",mask=[];for(var i in length=length||18,masks=masks||["alpha","uppercase","digit","special"])mask=[].concat(toConsumableArray_default()(mask),toConsumableArray_default()(MASKS[masks[i]].data));var j=0,expectedEntropy=this.calculEntropy(length,mask.length);do{secret="";for(var _i=0;_i<length;_i++)secret+=mask[this.randomRange(0,mask.length-1)]}while(this.entropy(secret)<expectedEntropy&&j++<10);return secret}},{key:"ispwned",value:(_ispwned=asyncToGenerator_default()(regenerator_default.a.mark((function _callee(password){var count;return regenerator_default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,PwnedPasswords_PwnedPasswords.pwnedPasswords(password);case 2:return count=_context.sent,_context.abrupt("return",count>0);case 4:case"end":return _context.stop()}}),_callee)}))),function ispwned(_x){return _ispwned.apply(this,arguments)})}]),SecretComplexity}()},264:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__),react__WEBPACK_IMPORTED_MODULE_11__=(__webpack_require__(18),__webpack_require__(14),__webpack_require__(23),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(13),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(58),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(48),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(57),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(41),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(60),_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(11),react_i18next__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this,result)}}var DeleteResource=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(DeleteResource,_Component);var _delete2,_handleSaveSuccess,_handleFormSubmit,_super=_createSuper(DeleteResource);function DeleteResource(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this,DeleteResource),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.initEventHandlers(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(DeleteResource,[{key:"getDefaultState",value:function getDefaultState(){return{processing:!1}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleCloseClick=this.handleCloseClick.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this)}},{key:"resources",get:function get(){return this.context.passwordDeleteDialogProps.resources}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark((function _callee(event){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),this.state.processing){_context.next=4;break}return _context.next=4,this.delete();case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleCloseClick",value:function handleCloseClick(){this.props.onClose()}},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark((function _callee2(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The password has been deleted successfully",{count:this.resources.length}));case 2:this.props.onClose();case 3:case"end":return _context2.stop()}}),_callee2,this)}))),function handleSaveSuccess(){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"delete",value:(_delete2=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark((function _callee3(){var resourcesIds;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return this.setState({processing:!0}),_context3.prev=1,resourcesIds=this.resources.map((function(resource){return resource.id})),_context3.next=5,this.context.port.request("passbolt.resources.delete-all",resourcesIds);case 5:return _context3.next=7,this.handleSaveSuccess();case 7:_context3.next=12;break;case 9:_context3.prev=9,_context3.t0=_context3.catch(1),this.handleSaveError(_context3.t0);case 12:case"end":return _context3.stop()}}),_callee3,this,[[1,9]])}))),function _delete(){return _delete2.apply(this,arguments)})},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_16__.a)}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing}},{key:"hasMultipleResources",value:function hasMultipleResources(){return this.resources.length>1}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_14__.a,{title:this.translate("Delete password?"),onClose:this.handleCloseClick,disabled:this.state.processing,className:"delete-password-dialog",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsxs)("form",{onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsxs)("div",{className:"form-content",children:[!this.hasMultipleResources()&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsxs)("div",{children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsxs)(react_i18next__WEBPACK_IMPORTED_MODULE_21__.a,{children:["Are you sure you want to delete the password ",Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)("strong",{children:this.resources[0].name}),"?"]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_21__.a,{children:"Warning: Once the password is deleted, it’ll be removed permanently and will not be recoverable."})})]}),this.hasMultipleResources()&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_21__.a,{children:"Please confirm you really want to delete the passwords. After clicking ok, the passwords will be deleted permanently."})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_18__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Delete"),warning:!0}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_23__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_19__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleCloseClick})]})]})})}}]),DeleteResource}(react__WEBPACK_IMPORTED_MODULE_11__.Component);DeleteResource.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_13__.a,DeleteResource.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.any,resourceWorkspaceContext:prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func},DeleteResource.__docgenInfo={description:"This component allows user to delete a tag of the resources",methods:[{name:"getDefaultState",docblock:null,modifiers:[],params:[],returns:null},{name:"initEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"resources",docblock:"get the resources\n@returns {[]|null}",modifiers:["get"],params:[],returns:{description:null,type:{name:"union",elements:[{name:"tuple",elements:[]},null]}},description:"get the resources"},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleCloseClick",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"delete",docblock:"Save the changes.",modifiers:["async"],params:[],returns:null,description:"Save the changes."},{name:"handleError",docblock:"handle error and display error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error and display error dialog"},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is processing"},{name:"hasMultipleResources",docblock:"has multiple resources\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"has multiple resources"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DeleteResource",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_20__.c)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_15__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_17__.b)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_22__.a)("common")(DeleteResource)))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Resource/DeleteResource/DeleteResource.js"]={name:"DeleteResource",docgenInfo:DeleteResource.__docgenInfo,path:"src/react-extension/components/Resource/DeleteResource/DeleteResource.js"})},265:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14__=(__webpack_require__(71),__webpack_require__(14),__webpack_require__(18),__webpack_require__(77),__webpack_require__(20),__webpack_require__(123),__webpack_require__(3)),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14__),react__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_15__),prop_types__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_16__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(13),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(57),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(58),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(60),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(41),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(48),react_i18next__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var RenameResourceFolder=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(RenameResourceFolder,_Component);var _resetValidation,_validate,_updateFolder,_toggleProcessing,_handleSaveSuccess,_handleFormSubmit,_componentDidMount,_super=_createSuper(RenameResourceFolder);function RenameResourceFolder(props,context){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,RenameResourceFolder),(_this=_super.call(this,props,context)).state=_this.getStateBasedOnContext(context,props,_this.getDefaultState()),_this.createInputRefs(),_this.bindEventHandlers(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(RenameResourceFolder,[{key:"componentDidMount",value:(_componentDidMount=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee(){var _this2=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:this.setState({loading:!1},(function(){_this2.nameRef.current.focus()}));case 1:case"end":return _context.stop()}}),_callee,this)}))),function componentDidMount(){return _componentDidMount.apply(this,arguments)})},{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,inlineValidation:!1,name:this.translate("loading..."),nameError:!1}}},{key:"getStateBasedOnContext",value:function getStateBasedOnContext(context,props,defaultState){var folders=context.folders,error={message:this.translate("The folder could not be found. Maybe it was deleted or you lost access.")};folders||(console.error("No folders context defined."),this.handleError(error));var folder=context.folders.find((function(item){return item.id===context.folder.id}))||!1;return folder?defaultState.name=folder.name:(console.error("Folder ".concat(context.folder.id," not found in context.")),this.handleError(error)),defaultState}},{key:"createInputRefs",value:function createInputRefs(){this.nameRef=react__WEBPACK_IMPORTED_MODULE_15___default.a.createRef()}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this)}},{key:"handleClose",value:function handleClose(){this.props.onClose()}},{key:"handleInputChange",value:function handleInputChange(event){var _this3=this,target=event.target,value=target.value,name=target.name;this.setState(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({},name,value),(function(){_this3.state.inlineValidation&&_this3.validate()}))}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee2(event){var folder;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.preventDefault(),!this.state.processing){_context2.next=3;break}return _context2.abrupt("return");case 3:return this.setState({inlineValidation:this.state.inlineValidation||!0}),_context2.next=6,this.toggleProcessing();case 6:return _context2.next=8,this.validate();case 8:if(!this.hasValidationError()){_context2.next=13;break}return _context2.next=11,this.toggleProcessing();case 11:return this.focusFirstFieldError(),_context2.abrupt("return");case 13:return _context2.prev=13,_context2.next=16,this.updateFolder();case 16:return folder=_context2.sent,_context2.next=19,this.handleSaveSuccess(folder.id);case 19:_context2.next=24;break;case 21:_context2.prev=21,_context2.t0=_context2.catch(13),this.handleSaveError(_context2.t0);case 24:case"end":return _context2.stop()}}),_callee2,this,[[13,21]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee3(folderId){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.props.actionFeedbackContext.displaySuccess(this.translate("The folder was renamed successfully"));case 2:this.selectAndScrollToFolder(folderId),this.props.onClose();case 4:case"end":return _context3.stop()}}),_callee3,this)}))),function handleSaveSuccess(_x2){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_18__.a)}},{key:"toggleProcessing",value:(_toggleProcessing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee4(){var prev,_this4=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return prev=this.state.processing,_context4.abrupt("return",new Promise((function(resolve){_this4.setState({processing:!prev},resolve())})));case 2:case"end":return _context4.stop()}}),_callee4,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"focusFirstFieldError",value:function focusFirstFieldError(){this.nameRef.current.focus()}},{key:"updateFolder",value:(_updateFolder=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee5(){var folderDto;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee5$(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return folderDto={id:this.context.folder.id,name:this.state.name},_context5.next=3,this.context.port.request("passbolt.folders.update",folderDto);case 3:return _context5.abrupt("return",_context5.sent);case 4:case"end":return _context5.stop()}}),_callee5,this)}))),function updateFolder(){return _updateFolder.apply(this,arguments)})},{key:"selectAndScrollToFolder",value:function selectAndScrollToFolder(id){this.context.port.emit("passbolt.folders.select-and-scroll-to",id)}},{key:"validate",value:(_validate=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee6(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee6$(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return _context6.next=2,this.resetValidation();case 2:return _context6.next=4,this.validateNameInput();case 4:return _context6.abrupt("return",this.hasValidationError());case 5:case"end":return _context6.stop()}}),_callee6,this)}))),function validate(){return _validate.apply(this,arguments)})},{key:"resetValidation",value:(_resetValidation=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.mark((function _callee7(){var _this5=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_14___default.a.wrap((function _callee7$(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return _context7.abrupt("return",new Promise((function(resolve){_this5.setState({nameError:!1},resolve())})));case 1:case"end":return _context7.stop()}}),_callee7)}))),function resetValidation(){return _resetValidation.apply(this,arguments)})},{key:"validateNameInput",value:function validateNameInput(){var _this6=this,nameError=!1,name=this.state.name.trim();return name.length||(nameError=this.translate("A name is required.")),name.length>64&&(nameError=this.translate("A name can not be more than 64 char in length.")),new Promise((function(resolve){_this6.setState({nameError:nameError},resolve)}))}},{key:"hasValidationError",value:function hasValidationError(){return!1!==this.state.nameError}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_19__.a,{className:"rename-folder-dialog",title:this.translate("Rename a folder"),onClose:this.handleClose,disabled:this.hasAllInputDisabled(),children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("form",{className:"folder-rename-form",onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("div",{className:"form-content",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("div",{className:"input text required ".concat(this.state.nameError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("label",{htmlFor:"folder-name-input",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_24__.a,{children:"Folder name"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("input",{id:"folder-name-input",name:"name",ref:this.nameRef,type:"text",value:this.state.name,placeholder:this.translate("Untitled folder"),maxLength:"64",required:"required",onChange:this.handleInputChange,disabled:this.hasAllInputDisabled(),autoComplete:"off",autoFocus:!0}),this.state.nameError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("div",{className:"name error message",children:this.state.nameError})]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_20__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Rename")}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_21__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleClose})]})]})})}}]),RenameResourceFolder}(react__WEBPACK_IMPORTED_MODULE_15__.Component);RenameResourceFolder.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_17__.a,RenameResourceFolder.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.func,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.func},RenameResourceFolder.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"getStateBasedOnContext",docblock:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value\n\n@param context\n@param props\n@param defaultState\n@returns {*}",modifiers:[],params:[{name:"context",description:null,type:null,optional:!1},{name:"props",description:null,type:null,optional:!1},{name:"defaultState",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"mixed"}},description:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value"},{name:"createInputRefs",docblock:"Create references\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Create references"},{name:"bindEventHandlers",docblock:"Bind event handlers\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind event handlers"},{name:"handleClose",docblock:"Handle close button click.\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle close button click."},{name:"handleInputChange",docblock:"Handle form input changes.\n@params {ReactEvent} The react event\n@returns {void}",modifiers:[],params:[{name:"event"}],returns:{description:null,type:{name:"void"}},description:"Handle form input changes."},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@returns {void}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"void"}},description:"Handle form submit event."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[{name:"folderId"}],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"focusFirstFieldError",docblock:"Focus the first field of the form which is in error state.\n@returns {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Focus the first field of the form which is in error state."},{name:"updateFolder",docblock:"Update the folder\n@returns {Promise<Object>} Folder entity or Error",modifiers:["async"],params:[],returns:{description:"Folder entity or Error",type:{name:"Promise",elements:[{name:"Object"}]}},description:"Update the folder"},{name:"selectAndScrollToFolder",docblock:"Select and scroll to a given resource.\n@param {string} id The resource id.\n@returns {void}",modifiers:[],params:[{name:"id",description:"The resource id.",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"void"}},description:"Select and scroll to a given resource."},{name:"validate",docblock:"Validate the form.\n@returns {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Validate the form."},{name:"resetValidation",docblock:"Reset validation errors\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Reset validation errors"},{name:"validateNameInput",docblock:"Validate the name input.\n@returns {Promise<void>}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Validate the name input."},{name:"hasValidationError",docblock:"Return true if the form has some validation error\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if the form has some validation error"},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"RenameResourceFolder",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_22__.b)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_23__.a)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_25__.a)("common")(RenameResourceFolder))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js"]={name:"RenameResourceFolder",docgenInfo:RenameResourceFolder.__docgenInfo,path:"src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js"})},266:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13__=(__webpack_require__(18),__webpack_require__(71),__webpack_require__(14),__webpack_require__(77),__webpack_require__(20),__webpack_require__(3)),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13__),react__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(13),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(57),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(60),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(58),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(41),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(48),_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(114),react_i18next__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var DeleteResourceFolder=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(DeleteResourceFolder,_Component);var _toggleProcessing,_handleSaveSuccess,_handleFormSubmit,_componentDidMount,_super=_createSuper(DeleteResourceFolder);function DeleteResourceFolder(props,context){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,DeleteResourceFolder),(_this=_super.call(this,props,context)).state=_this.getStateBasedOnContext(context,props,_this.getDefaultState()),_this.bindEventHandlers(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(DeleteResourceFolder,[{key:"componentDidMount",value:(_componentDidMount=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.mark((function _callee(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:this.setState({loading:!1});case 1:case"end":return _context.stop()}}),_callee,this)}))),function componentDidMount(){return _componentDidMount.apply(this,arguments)})},{key:"getDefaultState",value:function getDefaultState(){return{loading:!0,processing:!1,cascade:!1}}},{key:"bindEventHandlers",value:function bindEventHandlers(){this.handleClose=this.handleClose.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this)}},{key:"getStateBasedOnContext",value:function getStateBasedOnContext(context,props,defaultState){var folders=context.folders,error={message:this.translate("The folder could not be found. Maybe it was deleted or you lost access.")};folders||(console.error("No folders context defined."),this.handleError(error));var folder=context.folders.find((function(item){return item.id===context.folder.id}))||!1;return folder?defaultState.name=folder.name:(console.error("Folder ".concat(context.folder.id," not found in context.")),this.handleError(error)),defaultState}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.mark((function _callee2(event){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(event.preventDefault(),!this.state.processing){_context2.next=3;break}return _context2.abrupt("return");case 3:return _context2.next=5,this.toggleProcessing();case 5:return _context2.prev=5,this.props.loadingContext.add(),_context2.next=9,this.context.port.request("passbolt.folders.delete",this.context.folder.id,this.state.cascade);case 9:return _context2.next=11,this.handleSaveSuccess();case 11:_context2.next=16;break;case 13:_context2.prev=13,_context2.t0=_context2.catch(5),this.handleSaveError(_context2.t0);case 16:case"end":return _context2.stop()}}),_callee2,this,[[5,13]])}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.mark((function _callee3(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return this.props.loadingContext.remove(),_context3.next=3,this.props.actionFeedbackContext.displaySuccess(this.translate("The folder was deleted successfully"));case 3:this.props.onClose();case 4:case"end":return _context3.stop()}}),_callee3,this)}))),function handleSaveSuccess(){return _handleSaveSuccess.apply(this,arguments)})},{key:"handleSaveError",value:function handleSaveError(error){this.props.loadingContext.remove(),"UserAbortsOperationError"===error.name||(console.error(error),this.handleError(error)),this.setState({processing:!1})}},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_17__.a)}},{key:"toggleProcessing",value:(_toggleProcessing=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.mark((function _callee4(){var prev,_this2=this;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_13___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return prev=this.state.processing,_context4.abrupt("return",new Promise((function(resolve){_this2.setState({processing:!prev},resolve())})));case 2:case"end":return _context4.stop()}}),_callee4,this)}))),function toggleProcessing(){return _toggleProcessing.apply(this,arguments)})},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value="checkbox"===target.type?target.checked:target.value,name=target.name;this.setState(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({},name,value))}},{key:"handleClose",value:function handleClose(){this.state.processing||this.props.onClose()}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing||this.state.loading}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_20__.a,{className:"folder-create-dialog",title:this.translate("Delete folder?"),onClose:this.handleClose,disabled:this.hasAllInputDisabled(),children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("form",{className:"folder-create-form",onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("div",{className:"form-content",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)(react_i18next__WEBPACK_IMPORTED_MODULE_24__.a,{children:["Are you sure you want to delete the folder ",Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("strong",{children:{folderName:this.state.name}}),"?"]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_24__.a,{children:"Warning: This action can’t be undone. Other users may lose access."})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("div",{className:"input checkbox",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("input",{id:"delete-cascade",type:"checkbox",name:"cascade",onChange:this.handleInputChange,autoFocus:!0,disabled:this.hasAllInputDisabled()})," ",Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)("label",{htmlFor:"delete-cascade",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_24__.a,{children:"Also delete items inside this folder."})})]})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_18__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Delete"),warning:!0}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_26__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_19__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleClose})]})]})})}}]),DeleteResourceFolder}(react__WEBPACK_IMPORTED_MODULE_14__.Component);DeleteResourceFolder.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_16__.a,DeleteResourceFolder.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.any,loadingContext:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func},DeleteResourceFolder.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Return default state\n@returns {Object} default state",modifiers:[],params:[],returns:{description:"default state",type:{name:"Object"}},description:"Return default state"},{name:"bindEventHandlers",docblock:"Bind callbacks methods",modifiers:[],params:[],returns:null,description:"Bind callbacks methods"},{name:"getStateBasedOnContext",docblock:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value\n\n@param context\n@param props\n@param defaultState\n@returns {*}",modifiers:[],params:[{name:"context",description:null,type:null,optional:!1},{name:"props",description:null,type:null,optional:!1},{name:"defaultState",description:null,type:null,optional:!1}],returns:{description:null,type:{name:"mixed"}},description:"Return default state based on context and props\nFor example if folder doesn't exist then we show an error message\nOtherwise set the input name value"},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleSaveSuccess",docblock:"Handle save operation success.",modifiers:["async"],params:[],returns:null,description:"Handle save operation success."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"handleError",docblock:"handle error to display the error dialog\n@param error",modifiers:[],params:[{name:"error",description:null,type:null,optional:!1}],returns:null,description:"handle error to display the error dialog"},{name:"toggleProcessing",docblock:"Toggle processing state\n@returns {Promise<void>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"void"}]}},description:"Toggle processing state"},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handleClose",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is loading or processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is loading or processing"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DeleteResourceFolder",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},loadingContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_23__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_21__.b)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_22__.a)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_25__.a)("common")(DeleteResourceFolder)))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.js"]={name:"DeleteResourceFolder",docgenInfo:DeleteResourceFolder.__docgenInfo,path:"src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.js"})},267:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(34),_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__),react__WEBPACK_IMPORTED_MODULE_15__=(__webpack_require__(18),__webpack_require__(14),__webpack_require__(44),__webpack_require__(123),__webpack_require__(77),__webpack_require__(20),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_15__),prop_types__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_16__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(13),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(58),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(48),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(41),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(57),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(60),_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(114),_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__(11),react_router_dom__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__(99),react_i18next__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var EditResourceTag=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(EditResourceTag,_Component);var _validate,_handleSaveSuccess,_save,_handleFormSubmit,_super=_createSuper(EditResourceTag);function EditResourceTag(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,EditResourceTag),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.initEventHandlers(),_this.createInputRef(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(EditResourceTag,[{key:"getDefaultState",value:function getDefaultState(){return{name:"",nameError:"",processing:!1}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleCloseClick=this.handleCloseClick.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleNameInputKeyUp=this.handleNameInputKeyUp.bind(this)}},{key:"createInputRef",value:function createInputRef(){this.nameInputRef=react__WEBPACK_IMPORTED_MODULE_15___default.a.createRef()}},{key:"componentDidMount",value:function componentDidMount(){this.setState({name:this.context.tagToEdit.slug})}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee(event){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),this.state.processing){_context.next=4;break}return _context.next=4,this.save();case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleInputChange",value:function handleInputChange(event){var target=event.target,value=target.value,name=target.name;this.setState(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({},name,value))}},{key:"handleNameInputKeyUp",value:function handleNameInputKeyUp(){var state=this.validateNameInput();this.setState(state)}},{key:"handleCloseClick",value:function handleCloseClick(){this.context.setContext({tagToEdit:null}),this.props.onClose()}},{key:"save",value:(_save=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee2(){var tagDto,updatedTag;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return this.setState({processing:!0}),_context2.next=3,this.validate();case 3:if(_context2.sent){_context2.next=6;break}return this.handleValidateError(),_context2.abrupt("return");case 6:return tagDto={id:this.context.tagToEdit.id,slug:this.state.name,is_shared:this.context.tagToEdit.is_shared},_context2.prev=7,this.props.loadingContext.add(),_context2.next=11,this.context.port.request("passbolt.tags.update",tagDto);case 11:return updatedTag=_context2.sent,_context2.next=14,this.handleSaveSuccess(updatedTag);case 14:_context2.next=22;break;case 16:return _context2.prev=16,_context2.t0=_context2.catch(7),this.handleSaveError(_context2.t0),this.setState({processing:!1}),this.focusFieldError(),_context2.abrupt("return");case 22:case"end":return _context2.stop()}}),_callee2,this,[[7,16]])}))),function save(){return _save.apply(this,arguments)})},{key:"handleValidateError",value:function handleValidateError(){this.setState({processing:!1}),this.focusFieldError()}},{key:"handleSaveSuccess",value:(_handleSaveSuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee3(updatedTag){var previousTagId;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return this.props.loadingContext.remove(),this.props.onClose(),_context3.next=4,this.props.actionFeedbackContext.displaySuccess(this.translate("The tag has been updated successfully"));case 4:previousTagId=this.context.tagToEdit.id,this.context.setContext({tagToEdit:null}),this.selectUpdatedTag(previousTagId,updatedTag);case 7:case"end":return _context3.stop()}}),_callee3,this)}))),function handleSaveSuccess(_x2){return _handleSaveSuccess.apply(this,arguments)})},{key:"selectUpdatedTag",value:function selectUpdatedTag(previousTagId,updatedTag){if(this.props.resourceWorkspaceContext.filter.type===_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_25__.a.TAG&&this.props.resourceWorkspaceContext.filter.payload.tag.id===previousTagId){var filter={type:_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_25__.a.TAG,payload:{tag:updatedTag}};this.props.history.push({pathname:"/app/passwords",state:{filter:filter}})}}},{key:"handleSaveError",value:function handleSaveError(error){if(this.props.loadingContext.remove(),"UserAbortsOperationError"===error.name)this.setState({processing:!1});else{console.error(error);var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_21__.a)}}},{key:"focusFieldError",value:function focusFieldError(){this.state.nameError&&this.nameInputRef.current.focus()}},{key:"validateNameInput",value:function validateNameInput(){var _this2=this,name=this.state.name.trim(),nameError="";return name.length||(nameError=this.translate("A tag name is required.")),new Promise((function(resolve){_this2.setState({nameError:nameError},resolve)}))}},{key:"validate",value:(_validate=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee4(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee4$(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return this.setState({error:"",nameError:""}),_context4.next=3,this.validateNameInput();case 3:return _context4.abrupt("return",""===this.state.nameError);case 4:case"end":return _context4.stop()}}),_callee4,this)}))),function validate(){return _validate.apply(this,arguments)})},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_18__.a,{title:this.translate("Edit tag"),onClose:this.handleCloseClick,disabled:this.state.processing,className:"edit-tag-dialog",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsxs)("form",{onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)("div",{className:"form-content",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsxs)("div",{className:"input text required ".concat(this.state.nameError?"error":""),children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)("label",{htmlFor:"edit-tag-form-name",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_27__.a,{children:"Tag name"})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)("input",{id:"edit-tag-form-name",name:"name",type:"text",value:this.state.name,onKeyUp:this.handleNameInputKeyUp,onChange:this.handleInputChange,disabled:this.state.processing,ref:this.nameInputRef,className:"required fluid",maxLength:"128",required:"required",autoComplete:"off",autoFocus:!0}),this.state.nameError&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)("div",{className:"name error message",children:this.state.nameError})]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_22__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Save")}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_29__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_23__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleCloseClick})]})]})})}}]),EditResourceTag}(react__WEBPACK_IMPORTED_MODULE_15__.Component);EditResourceTag.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_17__.a,EditResourceTag.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.func,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,loadingContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,resourceWorkspaceContext:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.any,location:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.object,match:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.object,history:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.object,t:prop_types__WEBPACK_IMPORTED_MODULE_16___default.a.func},EditResourceTag.__docgenInfo={description:"Component allows the user to edit a tag from a dialog",methods:[{name:"getDefaultState",docblock:null,modifiers:[],params:[],returns:null},{name:"initEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"createInputRef",docblock:"Create DOM nodes or React elements references in order to be able to access them programmatically.",modifiers:[],params:[],returns:null,description:"Create DOM nodes or React elements references in order to be able to access them programmatically."},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleInputChange",docblock:"Handle form input change.\n@params {ReactEvent} The react event.",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle form input change."},{name:"handleNameInputKeyUp",docblock:"Handle name input keyUp event.",modifiers:[],params:[],returns:null,description:"Handle name input keyUp event."},{name:"handleCloseClick",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"save",docblock:"Save the changes.",modifiers:["async"],params:[],returns:null,description:"Save the changes."},{name:"handleValidateError",docblock:"Handle validation error.",modifiers:[],params:[],returns:null,description:"Handle validation error."},{name:"handleSaveSuccess",docblock:"Handle save operation success.\n@param {object} updatedTag The updated tag",modifiers:["async"],params:[{name:"updatedTag",description:"The updated tag",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation success."},{name:"selectUpdatedTag",docblock:"Select the updated tag if required.\nWhile updating a tag, a new tag with a new id is returned, that's why if the tag was selected it needs to\nbe reselected manually.\n\n@param {string} previousTagId The updated tag previous id\n@param {object} updatedTag The updated tag",modifiers:[],params:[{name:"previousTagId",description:"The updated tag previous id",type:{name:"string"},optional:!1},{name:"updatedTag",description:"The updated tag",type:{name:"object"},optional:!1}],returns:null,description:"Select the updated tag if required.\nWhile updating a tag, a new tag with a new id is returned, that's why if the tag was selected it needs to\nbe reselected manually."},{name:"handleSaveError",docblock:"Handle save operation error.\n@param {object} error The returned error",modifiers:[],params:[{name:"error",description:"The returned error",type:{name:"object"},optional:!1}],returns:null,description:"Handle save operation error."},{name:"focusFieldError",docblock:"Focus the field of the form which is in error state.",modifiers:[],params:[],returns:null,description:"Focus the field of the form which is in error state."},{name:"validateNameInput",docblock:"Validate the name input.\n@return {Promise}",modifiers:[],params:[],returns:{description:null,type:{name:"Promise"}},description:"Validate the name input."},{name:"validate",docblock:"Validate the form.\n@return {Promise<boolean>}",modifiers:["async"],params:[],returns:{description:null,type:{name:"Promise",elements:[{name:"boolean"}]}},description:"Validate the form."},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is processing"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"EditResourceTag",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},loadingContext:{type:{name:"any"},required:!1,description:""},resourceWorkspaceContext:{type:{name:"any"},required:!1,description:""},location:{type:{name:"object"},required:!1,description:""},match:{type:{name:"object"},required:!1,description:""},history:{type:{name:"object"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(react_router_dom__WEBPACK_IMPORTED_MODULE_26__.c)(Object(_contexts_ResourceWorkspaceContext__WEBPACK_IMPORTED_MODULE_25__.c)(Object(_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_24__.a)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_19__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_20__.b)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_28__.a)("common")(EditResourceTag)))))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js"]={name:"EditResourceTag",docgenInfo:EditResourceTag.__docgenInfo,path:"src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js"})},268:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__),react__WEBPACK_IMPORTED_MODULE_10__=(__webpack_require__(18),__webpack_require__(14),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(13),_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(58),_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(48),_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(57),_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(41),_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(59),_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(60),_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(114),react_i18next__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(91),react_i18next__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this,result)}}var DeleteResourceTag=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(DeleteResourceTag,_Component);var _delete2,_handleFormSubmit,_super=_createSuper(DeleteResourceTag);function DeleteResourceTag(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this,DeleteResourceTag),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.initEventHandlers(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(DeleteResourceTag,[{key:"getDefaultState",value:function getDefaultState(){return{processing:!1}}},{key:"initEventHandlers",value:function initEventHandlers(){this.handleCloseClick=this.handleCloseClick.bind(this),this.handleFormSubmit=this.handleFormSubmit.bind(this)}},{key:"handleFormSubmit",value:(_handleFormSubmit=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark((function _callee(event){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(event.preventDefault(),this.state.processing){_context.next=4;break}return _context.next=4,this.delete();case 4:case"end":return _context.stop()}}),_callee,this)}))),function handleFormSubmit(_x){return _handleFormSubmit.apply(this,arguments)})},{key:"handleCloseClick",value:function handleCloseClick(){this.props.onClose(),this.context.setContext({tagToDelete:null})}},{key:"delete",value:(_delete2=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark((function _callee2(){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return this.setState({processing:!0}),_context2.prev=1,this.props.loadingContext.add(),_context2.next=5,this.context.port.request("passbolt.tags.delete",this.context.tagToDelete.id);case 5:return this.props.loadingContext.remove(),_context2.next=8,this.props.actionFeedbackContext.displaySuccess(this.translate("The tag has been deleted successfully"));case 8:this.props.onClose(),this.context.setContext({tagToDelete:null}),_context2.next=16;break;case 12:_context2.prev=12,_context2.t0=_context2.catch(1),this.props.loadingContext.remove(),"UserAbortsOperationError"===_context2.t0.name||(console.error(_context2.t0),this.handleError(_context2.t0)),this.setState({processing:!1});case 16:case"end":return _context2.stop()}}),_callee2,this,[[1,12]])}))),function _delete(){return _delete2.apply(this,arguments)})},{key:"handleError",value:function handleError(error){var errorDialogProps={title:this.translate("There was an unexpected error..."),message:error.message};this.context.setContext({errorDialogProps:errorDialogProps}),this.props.dialogContext.open(_Common_Error_NotifyError_NotifyError__WEBPACK_IMPORTED_MODULE_15__.a)}},{key:"hasAllInputDisabled",value:function hasAllInputDisabled(){return this.state.processing}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)(_react_components_Common_Dialog_DialogWrapper_DialogWrapper__WEBPACK_IMPORTED_MODULE_13__.a,{title:"Delete tag?",onClose:this.handleCloseClick,disabled:this.state.processing,className:"delete-tag-dialog",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsxs)("form",{onSubmit:this.handleFormSubmit,noValidate:!0,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsxs)("div",{className:"form-content",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsxs)(react_i18next__WEBPACK_IMPORTED_MODULE_20__.a,{children:["Are you sure you want to delete the tag ",Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)("strong",{children:{tagName:this.context.tagToDelete.slug}}),"?"]})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)("p",{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)(react_i18next__WEBPACK_IMPORTED_MODULE_20__.a,{children:"Warning: Once the tag is deleted, it’ll be removed permanently and will not be recoverable."})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsxs)("div",{className:"submit-wrapper clearfix",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormSubmitButton__WEBPACK_IMPORTED_MODULE_17__.a,{disabled:this.hasAllInputDisabled(),processing:this.state.processing,value:this.translate("Delete"),warning:!0}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_22__.jsx)(_react_components_Common_Inputs_FormSubmitButton_FormCancelButton__WEBPACK_IMPORTED_MODULE_18__.a,{disabled:this.hasAllInputDisabled(),onClick:this.handleCloseClick})]})]})})}}]),DeleteResourceTag}(react__WEBPACK_IMPORTED_MODULE_10__.Component);DeleteResourceTag.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_12__.a,DeleteResourceTag.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.func,actionFeedbackContext:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.any,dialogContext:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.any,loadingContext:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.any,t:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.func},DeleteResourceTag.__docgenInfo={description:"This component allows user to delete a tag of the resources",methods:[{name:"getDefaultState",docblock:null,modifiers:[],params:[],returns:null},{name:"initEventHandlers",docblock:null,modifiers:[],params:[],returns:null},{name:"handleFormSubmit",docblock:"Handle form submit event.\n@params {ReactEvent} The react event\n@return {Promise}",modifiers:["async"],params:[{name:"event"}],returns:{description:null,type:{name:"Promise"}},description:"Handle form submit event."},{name:"handleCloseClick",docblock:"Handle close button click.",modifiers:[],params:[],returns:null,description:"Handle close button click."},{name:"delete",docblock:"Save the changes.",modifiers:["async"],params:[],returns:null,description:"Save the changes."},{name:"handleError",docblock:null,modifiers:[],params:[{name:"error",type:null}],returns:null},{name:"hasAllInputDisabled",docblock:"Should input be disabled? True if state is processing\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Should input be disabled? True if state is processing"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"DeleteResourceTag",props:{onClose:{type:{name:"func"},required:!1,description:""},actionFeedbackContext:{type:{name:"any"},required:!1,description:""},dialogContext:{type:{name:"any"},required:!1,description:""},loadingContext:{type:{name:"any"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(_react_contexts_Common_LoadingContext__WEBPACK_IMPORTED_MODULE_19__.a)(Object(_contexts_ActionFeedbackContext__WEBPACK_IMPORTED_MODULE_14__.a)(Object(_react_contexts_Common_DialogContext__WEBPACK_IMPORTED_MODULE_16__.b)(Object(react_i18next__WEBPACK_IMPORTED_MODULE_21__.a)("common")(DeleteResourceTag)))),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.js"]={name:"DeleteResourceTag",docgenInfo:DeleteResourceTag.__docgenInfo,path:"src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.js"})},328:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),_Icons_Icon__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(17),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var DialogCloseButton=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(DialogCloseButton,_Component);var _super=_createSuper(DialogCloseButton);function DialogCloseButton(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,DialogCloseButton),(_this=_super.call(this,props)).bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(DialogCloseButton,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleCloseClick=this.handleCloseClick.bind(this)}},{key:"handleCloseClick",value:function handleCloseClick(){this.props.onClose()}},{key:"getClassName",value:function getClassName(){var className="dialog-close";return this.props.disabled&&(className+=" disabled"),className}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("a",{className:this.getClassName(),onClick:this.handleCloseClick,role:"button",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_Icons_Icon__WEBPACK_IMPORTED_MODULE_9__.a,{name:"close"}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("span",{className:"visually-hidden",children:"Close"})]})}}]),DialogCloseButton}(react__WEBPACK_IMPORTED_MODULE_7__.Component);DialogCloseButton.propTypes={onClose:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,disabled:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool},DialogCloseButton.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"handleCloseClick",docblock:"Handle close click.\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle close click."},{name:"getClassName",docblock:"Get the close button classname\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the close button classname"}],displayName:"DialogCloseButton",props:{onClose:{type:{name:"func"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""}}},__webpack_exports__.a=DialogCloseButton,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Dialog/DialogCloseButton/DialogCloseButton.js"]={name:"DialogCloseButton",docgenInfo:DialogCloseButton.__docgenInfo,path:"src/react/components/Common/Dialog/DialogCloseButton/DialogCloseButton.js"})},329:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),_Icons_Icon__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(17),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var TooltipHtml=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(TooltipHtml,_Component);var _super=_createSuper(TooltipHtml);function TooltipHtml(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,TooltipHtml),(_this=_super.call(this,props)).state={top:null},_this.tooltipRef=react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef(),_this.bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(TooltipHtml,[{key:"bindCallbacks",value:function bindCallbacks(){this.setTop=this.setTop.bind(this)}},{key:"getInlineCss",value:function getInlineCss(){return this.state.top?{top:"".concat(this.tooltipRef.current.getBoundingClientRect().top,"px")}:{}}},{key:"setTop",value:function setTop(){this.props.offset&&this.setState({top:this.tooltipRef.current.getBoundingClientRect().top})}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div",{className:"more-details tooltip-alt",ref:this.tooltipRef,onMouseEnter:this.setTop,children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_Icons_Icon__WEBPACK_IMPORTED_MODULE_9__.a,{name:"info-circle"}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("div",{className:"tooltip-text right",style:this.getInlineCss(),children:this.props.children})]})}}]),TooltipHtml}(react__WEBPACK_IMPORTED_MODULE_7__.Component);TooltipHtml.propTypes={offset:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,children:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.node},TooltipHtml.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"getInlineCss",docblock:"Change the tooltip inline style\n@return {Object}",modifiers:[],params:[],returns:{description:null,type:{name:"Object"}},description:"Change the tooltip inline style"},{name:"setTop",docblock:"Change the tooltip top style\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Change the tooltip top style"}],displayName:"TooltipHtml",props:{offset:{type:{name:"bool"},required:!1,description:""},children:{type:{name:"node"},required:!1,description:""}}},__webpack_exports__.a=TooltipHtml,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Tooltip/TooltipHtml.js"]={name:"TooltipHtml",docgenInfo:TooltipHtml.__docgenInfo,path:"src/react/components/Common/Tooltip/TooltipHtml.js"})},41:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DialogContextProvider})),__webpack_require__.d(__webpack_exports__,"b",(function(){return withDialog}));__webpack_require__(19);var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(46),_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__),react__WEBPACK_IMPORTED_MODULE_12__=(__webpack_require__(21),__webpack_require__(44),__webpack_require__(12),__webpack_require__(1)),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),prop_types__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__),uuid__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(263),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var DialogContext=react__WEBPACK_IMPORTED_MODULE_12___default.a.createContext({dialogs:[],open:function open(){},close:function close(){}}),DialogContextProvider=function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(DialogContextProvider,_React$Component);var _super=_createSuper(DialogContextProvider);function DialogContextProvider(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,DialogContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(DialogContextProvider,[{key:"defaultState",get:function get(){var _close,_this2=this;return{dialogs:[],open:function open(Dialog,DialogProps){var dialogKey=Object(uuid__WEBPACK_IMPORTED_MODULE_14__.a)();return _this2.setState({dialogs:[].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(_this2.state.dialogs),[{key:dialogKey,Dialog:Dialog,DialogProps:DialogProps}])}),dialogKey},close:(_close=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee(dialogKey){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,_this2.setState({dialogs:_this2.state.dialogs.filter((function(dialog){return dialogKey!==dialog.key}))});case 2:return _context.abrupt("return",_context.sent);case 3:case"end":return _context.stop()}}),_callee)}))),function close(_x){return _close.apply(this,arguments)})}}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(DialogContext.Provider,{value:this.state,children:this.props.children})}}]),DialogContextProvider}(react__WEBPACK_IMPORTED_MODULE_12___default.a.Component);function withDialog(WrappedComponent){return function(_React$Component2){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(WithDialog,_React$Component2);var _super2=_createSuper(WithDialog);function WithDialog(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,WithDialog),_super2.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(WithDialog,[{key:"render",value:function render(){var _this3=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(DialogContext.Consumer,{children:function children(dialogContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(WrappedComponent,Object.assign({dialogContext:dialogContext},_this3.props))}})}}]),WithDialog}(react__WEBPACK_IMPORTED_MODULE_12___default.a.Component)}DialogContextProvider.displayName="DialogContextProvider",DialogContextProvider.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.any},DialogContextProvider.__docgenInfo={description:"The related context provider",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"}],displayName:"DialogContextProvider",props:{children:{type:{name:"any"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/contexts/Common/DialogContext.js"]={name:"DialogContextProvider",docgenInfo:DialogContextProvider.__docgenInfo,path:"src/react/contexts/Common/DialogContext.js"})},48:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return withActionFeedback}));__webpack_require__(19);var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(46),_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(3),_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8__),react__WEBPACK_IMPORTED_MODULE_13__=(__webpack_require__(18),__webpack_require__(21),__webpack_require__(44),__webpack_require__(12),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__),uuid__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(263),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this,result)}}var ActionFeedbackContext=react__WEBPACK_IMPORTED_MODULE_13__.createContext({feedbacks:[],displaySuccess:function displaySuccess(){},displayError:function displayError(){},remove:function remove(){}}),ActionFeedbackContextProvider=function(_React$Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(ActionFeedbackContextProvider,_React$Component);var _remove,_displayError,_displaySuccess,_super=_createSuper(ActionFeedbackContextProvider);function ActionFeedbackContextProvider(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,ActionFeedbackContextProvider),(_this=_super.call(this,props)).state=_this.defaultState,_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ActionFeedbackContextProvider,[{key:"defaultState",get:function get(){return{feedbacks:[],displaySuccess:this.displaySuccess.bind(this),displayError:this.displayError.bind(this),remove:this.remove.bind(this)}}},{key:"displaySuccess",value:(_displaySuccess=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee(feedbackToAdd){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.setState({feedbacks:[].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(this.state.feedbacks),[{id:Object(uuid__WEBPACK_IMPORTED_MODULE_15__.a)(),type:"success",message:feedbackToAdd}])});case 2:case"end":return _context.stop()}}),_callee,this)}))),function displaySuccess(_x){return _displaySuccess.apply(this,arguments)})},{key:"displayError",value:(_displayError=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee2(feedbackToAdd){return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee2$(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.setState({feedbacks:[].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(this.state.feedbacks),[{id:Object(uuid__WEBPACK_IMPORTED_MODULE_15__.a)(),type:"error",message:feedbackToAdd}])});case 2:case"end":return _context2.stop()}}),_callee2,this)}))),function displayError(_x2){return _displayError.apply(this,arguments)})},{key:"remove",value:(_remove=_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.mark((function _callee3(feedbackToRemove){var hasSameId;return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_8___default.a.wrap((function _callee3$(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return hasSameId=function hasSameId(feedback){return feedbackToRemove.id!==feedback.id},_context3.next=3,this.setState({feedbacks:this.state.feedbacks.filter(hasSameId)});case 3:case"end":return _context3.stop()}}),_callee3,this)}))),function remove(_x3){return _remove.apply(this,arguments)})},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_16__.jsx)(ActionFeedbackContext.Provider,{value:this.state,children:this.props.children})}}]),ActionFeedbackContextProvider}(react__WEBPACK_IMPORTED_MODULE_13__.Component);function withActionFeedback(WrappedComponent){return function(_React$Component2){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(WithActionFeedback,_React$Component2);var _super2=_createSuper(WithActionFeedback);function WithActionFeedback(){return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this,WithActionFeedback),_super2.apply(this,arguments)}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(WithActionFeedback,[{key:"render",value:function render(){var _this2=this;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_16__.jsx)(ActionFeedbackContext.Consumer,{children:function children(actionFeedbackContext){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_16__.jsx)(WrappedComponent,Object.assign({actionFeedbackContext:actionFeedbackContext},_this2.props))}})}}]),WithActionFeedback}(react__WEBPACK_IMPORTED_MODULE_13__.Component)}ActionFeedbackContextProvider.displayName="ActionFeedbackContextProvider",ActionFeedbackContextProvider.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.any},ActionFeedbackContextProvider.__docgenInfo={description:"The related context provider",methods:[{name:"defaultState",docblock:"Returns the default component state",modifiers:["get"],params:[],returns:null,description:"Returns the default component state"},{name:"displaySuccess",docblock:"Display the feedback in a success mode\n@param feedbackToAdd A feedback",modifiers:["async"],params:[{name:"feedbackToAdd",description:"A feedback",type:null,optional:!1}],returns:null,description:"Display the feedback in a success mode"},{name:"displayError",docblock:"Display the feedback in a error mode\n@param feedbackToAdd A feedback",modifiers:["async"],params:[{name:"feedbackToAdd",description:"A feedback",type:null,optional:!1}],returns:null,description:"Display the feedback in a error mode"},{name:"remove",docblock:"Remove the feedback\n@param feedbackToRemove A feedback",modifiers:["async"],params:[{name:"feedbackToRemove",description:"A feedback",type:null,optional:!1}],returns:null,description:"Remove the feedback"}],displayName:"ActionFeedbackContextProvider",props:{children:{type:{name:"any"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/contexts/ActionFeedbackContext.js"]={name:"ActionFeedbackContextProvider",docgenInfo:ActionFeedbackContextProvider.__docgenInfo,path:"src/react-extension/contexts/ActionFeedbackContext.js"})},57:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),_react_components_Common_Dialog_DialogCloseButton_DialogCloseButton__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(328),_contexts_AppContext__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(13),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var NotifyError=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(NotifyError,_Component);var _super=_createSuper(NotifyError);function NotifyError(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,NotifyError),(_this=_super.call(this,props)).bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(NotifyError,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleKeyDown=this.handleKeyDown.bind(this)}},{key:"componentDidMount",value:function componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"getTitle",value:function getTitle(){return this.context.errorDialogProps&&this.context.errorDialogProps.title||this.props.title||NotifyError.defaultProps.title}},{key:"getMessage",value:function getMessage(){return this.context.errorDialogProps&&this.context.errorDialogProps.message||this.props.message||NotifyError.defaultProps.message}},{key:"handleKeyDown",value:function handleKeyDown(event){27!==event.keyCode&&13!==event.keyCode||(event.stopPropagation(),this.props.onClose())}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"dialog-wrapper error-dialog",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"dialog",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"dialog-header",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("h2",{children:this.getTitle()}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_react_components_Common_Dialog_DialogCloseButton_DialogCloseButton__WEBPACK_IMPORTED_MODULE_9__.a,{onClose:this.props.onClose})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"dialog-content",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"form-content",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{children:this.getMessage()})}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"submit-wrapper clearfix",children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("a",{className:"button primary warning",onClick:this.props.onClose,children:"Ok"})})]})]})})}}]),NotifyError}(react__WEBPACK_IMPORTED_MODULE_7__.Component);NotifyError.contextType=_contexts_AppContext__WEBPACK_IMPORTED_MODULE_10__.a,NotifyError.defaultProps={title:"Oops something went wrong.",message:"An internal error occurred, please try again later."},NotifyError.propTypes={title:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,message:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,onClose:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func},NotifyError.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"getTitle",docblock:"Get the error dialog title\n@returns {String|string} return default if string is empty",modifiers:[],params:[],returns:{description:"return default if string is empty",type:{name:"union",elements:[{name:"String"},{name:"string"}]}},description:"Get the error dialog title"},{name:"getMessage",docblock:"Get the error dialog main message\n@returns {String|string} return default if string is empty",modifiers:[],params:[],returns:{description:"return default if string is empty",type:{name:"union",elements:[{name:"String"},{name:"string"}]}},description:"Get the error dialog main message"},{name:"handleKeyDown",docblock:"Handle key down on the component.\n@params {ReactEvent} The react event",modifiers:[],params:[{name:"event"}],returns:null,description:"Handle key down on the component."}],displayName:"NotifyError",props:{title:{defaultValue:{value:'"Oops something went wrong."',computed:!1},type:{name:"string"},required:!1,description:""},message:{defaultValue:{value:'"An internal error occurred, please try again later."',computed:!1},type:{name:"string"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=NotifyError,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react-extension/components/Common/Error/NotifyError/NotifyError.js"]={name:"NotifyError",docgenInfo:NotifyError.__docgenInfo,path:"src/react-extension/components/Common/Error/NotifyError/NotifyError.js"})},58:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),_DialogCloseButton_DialogCloseButton__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(328),_Tooltip_TooltipHtml__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(329),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var DialogWrapper=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(DialogWrapper,_Component);var _super=_createSuper(DialogWrapper);function DialogWrapper(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,DialogWrapper),(_this=_super.call(this,props)).bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(DialogWrapper,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleKeyDown=this.handleKeyDown.bind(this),this.handleClose=this.handleClose.bind(this)}},{key:"handleKeyDown",value:function handleKeyDown(event){27===event.keyCode&&this.handleClose()}},{key:"handleClose",value:function handleClose(){this.props.disabled||this.props.onClose()}},{key:"componentDidMount",value:function componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"".concat(this.props.className," dialog-wrapper"),children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"dialog",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"dialog-header",children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("h2",{children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span",{className:"dialog-header-title",children:this.props.title}),this.props.subtitle&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span",{className:"dialog-header-subtitle",children:this.props.subtitle}),this.props.tooltip&&""!==this.props.tooltip&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_Tooltip_TooltipHtml__WEBPACK_IMPORTED_MODULE_10__.a,{children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span",{children:this.props.tooltip})})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_DialogCloseButton_DialogCloseButton__WEBPACK_IMPORTED_MODULE_9__.a,{onClose:this.handleClose,disabled:this.props.disabled})]}),Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"dialog-content",children:this.props.children})]})})}}]),DialogWrapper}(react__WEBPACK_IMPORTED_MODULE_7__.Component);DialogWrapper.propTypes={children:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.node,className:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,title:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,subtitle:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,tooltip:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,loading:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,disabled:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,onClose:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func},DialogWrapper.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"handleKeyDown",docblock:"Handle key down\n@param {ReactEvent} event The triggered event",modifiers:[],params:[{name:"event",description:"The triggered event",type:{name:"ReactEvent"},optional:!1}],returns:null,description:"Handle key down"},{name:"handleClose",docblock:"Handle close",modifiers:[],params:[],returns:null,description:"Handle close"}],displayName:"DialogWrapper",props:{children:{type:{name:"node"},required:!1,description:""},className:{type:{name:"string"},required:!1,description:""},title:{type:{name:"string"},required:!1,description:""},subtitle:{type:{name:"string"},required:!1,description:""},tooltip:{type:{name:"string"},required:!1,description:""},loading:{type:{name:"bool"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""},onClose:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=DialogWrapper,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Dialog/DialogWrapper/DialogWrapper.js"]={name:"DialogWrapper",docgenInfo:DialogWrapper.__docgenInfo,path:"src/react/components/Common/Dialog/DialogWrapper/DialogWrapper.js"})},59:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_8__=(__webpack_require__(18),__webpack_require__(628),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var FormSubmitButton=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(FormSubmitButton,_Component);var _super=_createSuper(FormSubmitButton);function FormSubmitButton(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,FormSubmitButton),(_this=_super.call(this,props)).bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(FormSubmitButton,[{key:"bindCallbacks",value:function bindCallbacks(){this.getClassName=this.getClassName.bind(this)}},{key:"getClassName",value:function getClassName(){var name="button primary";return this.props.warning&&(name+=" warning"),this.props.disabled&&(name+=" disabled"),this.props.processing&&(name+=" processing"),this.props.big&&(name+=" big"),this.props.fullWidth&&(name+=" full-width"),name}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("input",{type:"submit",className:this.getClassName(),disabled:this.props.disabled,value:this.props.value||"Save"})}}]),FormSubmitButton}(react__WEBPACK_IMPORTED_MODULE_8__.Component);FormSubmitButton.defaultProps={warning:!1},FormSubmitButton.propTypes={processing:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,disabled:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,value:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,warning:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,big:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,fullWidth:prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool},FormSubmitButton.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"getClassName",docblock:"Get the input button classname\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the input button classname"}],displayName:"FormSubmitButton",props:{warning:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},processing:{type:{name:"bool"},required:!1,description:""},disabled:{type:{name:"bool"},required:!1,description:""},value:{type:{name:"string"},required:!1,description:""},big:{type:{name:"bool"},required:!1,description:""},fullWidth:{type:{name:"bool"},required:!1,description:""}}},__webpack_exports__.a=FormSubmitButton,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js"]={name:"FormSubmitButton",docgenInfo:FormSubmitButton.__docgenInfo,path:"src/react/components/Common/Inputs/FormSubmitButton/FormSubmitButton.js"})},60:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_7__=(__webpack_require__(18),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),react_i18next__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(177),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var FormCancelButton=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(FormCancelButton,_Component);var _super=_createSuper(FormCancelButton);function FormCancelButton(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,FormCancelButton),(_this=_super.call(this,props)).bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(FormCancelButton,[{key:"bindCallbacks",value:function bindCallbacks(){this.handleClick=this.handleClick.bind(this)}},{key:"handleClick",value:function handleClick(){this.props.disabled||this.props.onClick()}},{key:"getClassName",value:function getClassName(){var name="cancel";return this.props.disabled&&(name+=" disabled"),name}},{key:"translate",get:function get(){return this.props.t}},{key:"render",value:function render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("a",{className:this.getClassName(),role:"button",onClick:this.handleClick,children:this.translate("Cancel")})}}]),FormCancelButton}(react__WEBPACK_IMPORTED_MODULE_7__.Component);FormCancelButton.propTypes={disabled:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,onClick:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,t:prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func},FormCancelButton.__docgenInfo={description:"",methods:[{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"handleClick",docblock:"Handle cancel click\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle cancel click"},{name:"getClassName",docblock:"Get the input button classname\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the input button classname"},{name:"translate",docblock:"Get the translate function\n@returns {function(...[*]=)}",modifiers:["get"],params:[],returns:{description:null,type:null},description:"Get the translate function"}],displayName:"FormCancelButton",props:{disabled:{type:{name:"bool"},required:!1,description:""},onClick:{type:{name:"func"},required:!1,description:""},t:{type:{name:"func"},required:!1,description:""}}},__webpack_exports__.a=Object(react_i18next__WEBPACK_IMPORTED_MODULE_9__.a)("common")(FormCancelButton),"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Inputs/FormSubmitButton/FormCancelButton.js"]={name:"FormCancelButton",docgenInfo:FormCancelButton.__docgenInfo,path:"src/react/components/Common/Inputs/FormSubmitButton/FormCancelButton.js"})},615:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/opensans-regular.7812bd0b.woff"},616:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/opensans-bold.a6b4768c.woff"},617:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.8b43027f.eot"},618:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.8b43027f.eot"},619:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.20fd1704.woff2"},620:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.f691f37e.woff"},621:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.1e59d233.ttf"},622:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/fontawesome-webfont.c1e38fd9.svg"},623:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/chosen-sprite.6768c197.png"},624:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/chosen-sprite@2x.a0b7f3f1.png"},625:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/infinite-bar.f5327dc3.gif"},626:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/dot_red.7b34541d.svg"},627:function(module,exports,__webpack_require__){module.exports=__webpack_require__.p+"static/media/passphrase_intro.37a1ba4e.png"},693:function(module,exports,__webpack_require__){__webpack_require__(694),__webpack_require__(849),__webpack_require__(850),__webpack_require__(1012),__webpack_require__(1227),__webpack_require__(1260),__webpack_require__(1268),__webpack_require__(1280),__webpack_require__(1282),__webpack_require__(1287),__webpack_require__(1289),module.exports=__webpack_require__(1298)},761:function(module,exports){},82:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7),_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9),_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10),_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(5),_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__),react__WEBPACK_IMPORTED_MODULE_9__=(__webpack_require__(18),__webpack_require__(189),__webpack_require__(21),__webpack_require__(1)),prop_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2),prop_types__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0);function _createSuper(Derived){var hasNativeReflectConstruct=function _isNativeReflectConstruct(){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 _createSuperInternal(){var result,Super=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived);if(hasNativeReflectConstruct){var NewTarget=_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this,result)}}var UserAvatar=function(_Component){_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(UserAvatar,_Component);var _super=_createSuper(UserAvatar);function UserAvatar(props){var _this;return _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this,UserAvatar),(_this=_super.call(this,props)).state=_this.getDefaultState(),_this.bindCallbacks(),_this}return _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(UserAvatar,[{key:"getDefaultState",value:function getDefaultState(){return{error:!1}}},{key:"bindCallbacks",value:function bindCallbacks(){this.handleError=this.handleError.bind(this)}},{key:"propsHasUrl",value:function 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}},{key:"propsUrlHasProtocol",value:function propsUrlHasProtocol(){return this.props.user.profile.avatar.url.medium.startsWith("https://")}},{key:"formatUrl",value:function formatUrl(url){return"".concat(this.props.baseUrl,"/").concat(url)}},{key:"getDefaultAvatarUrl",value:function getDefaultAvatarUrl(){return"".concat(this.props.baseUrl,"/img/avatar/user.png")}},{key:"getAvatarSrc",value:function 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()}},{key:"handleError",value:function handleError(){console.error("Could not load avatar image url: ".concat(this.getAvatarSrc())),this.setState({error:!0})}},{key:"getAltText",value:function getAltText(){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 render(){return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:this.props.className,children:[!this.state.error&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("img",{src:this.getAvatarSrc(),onError:this.handleError,alt:this.getAltText()}),this.state.error&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("img",{src:this.getDefaultAvatarUrl(),alt:this.getAltText()})]})}}]),UserAvatar}(react__WEBPACK_IMPORTED_MODULE_9__.Component);UserAvatar.defaultProps={className:"avatar user-avatar"},UserAvatar.propTypes={baseUrl:prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.string,user:prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.object,className:prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.string},UserAvatar.__docgenInfo={description:"",methods:[{name:"getDefaultState",docblock:"Get default state\n@returns {*}",modifiers:[],params:[],returns:{description:null,type:{name:"mixed"}},description:"Get default state"},{name:"bindCallbacks",docblock:"Bind callbacks methods\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Bind callbacks methods"},{name:"propsHasUrl",docblock:"Return true if the user from props contains a valid profile with avatar url properties\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Return true if the user from props contains a valid profile with avatar url properties"},{name:"propsUrlHasProtocol",docblock:"Check if the url has a protocol like http or https?\n@todo only check https for now\n@returns {boolean}",modifiers:[],params:[],returns:{description:null,type:{name:"boolean"}},description:"Check if the url has a protocol like http or https?"},{name:"formatUrl",docblock:"Format the avatar url to point on the site url.\n@param {string} url The relative url\n@returns {string}",modifiers:[],params:[{name:"url",description:"The relative url",type:{name:"string"},optional:!1}],returns:{description:null,type:{name:"string"}},description:"Format the avatar url to point on the site url."},{name:"getDefaultAvatarUrl",docblock:"Get the default avatar url\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the default avatar url"},{name:"getAvatarSrc",docblock:"Get the user avatar url. If the user has no avatar defined, return the default one.\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the user avatar url. If the user has no avatar defined, return the default one."},{name:"handleError",docblock:"Handle error while loading the user avatar image.\nBy instance when the image is not present on the server.\n@return {void}",modifiers:[],params:[],returns:{description:null,type:{name:"void"}},description:"Handle error while loading the user avatar image.\nBy instance when the image is not present on the server."},{name:"getAltText",docblock:"Get the user avatar image alternative text.\n@returns {string}",modifiers:[],params:[],returns:{description:null,type:{name:"string"}},description:"Get the user avatar image alternative text."}],displayName:"UserAvatar",props:{className:{defaultValue:{value:'"avatar user-avatar"',computed:!1},type:{name:"string"},required:!1,description:""},baseUrl:{type:{name:"string"},required:!1,description:""},user:{type:{name:"object"},required:!1,description:""}}},__webpack_exports__.a=UserAvatar,"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/react/components/Common/Avatar/UserAvatar.js"]={name:"UserAvatar",docgenInfo:UserAvatar.__docgenInfo,path:"src/react/components/Common/Avatar/UserAvatar.js"})},850:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__(500)},87:function(module,exports,__webpack_require__){var api=__webpack_require__(612),content=__webpack_require__(1627);"string"==typeof(content=content.__esModule?content.default:content)&&(content=[[module.i,content,""]]);var options={insert:"head",singleton:!1};api(content,options);module.exports=content.locals||{}},90:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return urlProtocols}));__webpack_require__(35),__webpack_require__(21),__webpack_require__(294),__webpack_require__(20),__webpack_require__(32),__webpack_require__(30),__webpack_require__(33),__webpack_require__(96),__webpack_require__(121);__webpack_exports__.a=function(uri,options){if(void 0===uri||"string"!=typeof uri||!uri.length)return!1;if((options=options||{}).whitelistedProtocols&&!Array.isArray(options.whitelistedProtocols))throw new TypeError("The whitelistedProtocols should be an array of string.");if(options.defaultProtocol&&"string"!=typeof options.defaultProtocol)throw new TypeError("The defaultProtocol should be a string.");var whitelistedProtocols=options.whitelistedProtocols||[urlProtocols.HTTP,urlProtocols.HTTPS],blacklistedProtocols=[urlProtocols.JAVASCRIPT],defaultProtocol=options.defaultProtocol||"";!/^((?!:\/\/).)*:\/\//.test(uri)&&defaultProtocol&&(uri="".concat(defaultProtocol,"//").concat(uri));try{var url=new URL(uri);return!blacklistedProtocols.includes(url.protocol)&&(!!whitelistedProtocols.includes(url.protocol)&&url.href)}catch(error){return!1}};var urlProtocols={FTP:"http:",FTPS:"https:",HTTP:"http:",HTTPS:"https:",JAVASCRIPT:"javascript:",SSH:"ssh:"}}},[[693,1,2]]]);
3
- //# sourceMappingURL=main.b0c44c8759149ccf4f67.bundle.js.map