@finsemble/finsemble-ui 6.6.3 → 7.0.0-beta-X

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 (902) hide show
  1. package/package.json +31 -43
  2. package/react/actions/favoriteActions.d.ts +1 -0
  3. package/react/actions/favoriteActions.js +1 -0
  4. package/react/actions/favoriteActions.js.map +1 -1
  5. package/react/actions/menuActions.d.ts +1 -0
  6. package/react/actions/menuActions.js +1 -0
  7. package/react/actions/menuActions.js.map +1 -1
  8. package/react/actions/rootActions.d.ts +1 -0
  9. package/react/actions/rootActions.js +1 -0
  10. package/react/actions/rootActions.js.map +1 -1
  11. package/react/actions/searchActions.d.ts +1 -0
  12. package/react/actions/searchActions.js +1 -0
  13. package/react/actions/searchActions.js.map +1 -1
  14. package/react/actions/toolbarActions.d.ts +34 -0
  15. package/react/actions/toolbarActions.js +17 -0
  16. package/react/actions/toolbarActions.js.map +1 -1
  17. package/react/actions/workspaceActions.d.ts +1 -0
  18. package/react/actions/workspaceActions.js +1 -0
  19. package/react/actions/workspaceActions.js.map +1 -1
  20. package/react/assets/css/advancedAppLauncher.css +22 -19
  21. package/react/assets/css/appCatalog.css +67 -72
  22. package/react/assets/css/authentication.css +4 -3
  23. package/react/assets/css/button.css +4 -11
  24. package/react/assets/css/core/formElements.css +1 -1
  25. package/react/assets/css/core/icons.css +3 -2
  26. package/react/assets/css/core/notifications.css +2 -2
  27. package/react/assets/css/core/windowFrame.css +9 -9
  28. package/react/assets/css/dashbar.css +1 -1
  29. package/react/assets/css/defaultTheme.css +9 -53
  30. package/react/assets/css/dialogs.css +13 -11
  31. package/react/assets/css/favorites.css +3 -48
  32. package/react/assets/css/finsemble.css +6 -2
  33. package/react/assets/css/font-finance.css +233 -120
  34. package/react/assets/css/fonts/Open_Sans/OpenSans-Definition.css +10 -10
  35. package/react/assets/css/linkerWindow.css +15 -3
  36. package/react/assets/css/menus.css +12 -12
  37. package/react/assets/css/notificationsCenter.css +49 -33
  38. package/react/assets/css/processMonitor.css +7 -4
  39. package/react/assets/css/search.css +1 -1
  40. package/react/assets/css/shared/animations.css +10 -4
  41. package/react/assets/css/shared/common.css +40 -0
  42. package/react/assets/css/tags.css +10 -10
  43. package/react/assets/css/toolbar.css +22 -19
  44. package/react/assets/css/userPreferences.css +29 -26
  45. package/react/assets/css/windowTitleBar.css +86 -40
  46. package/react/assets/icons/server.svg +26 -0
  47. package/react/componentTemplateGenerator.js +3 -2
  48. package/react/componentTemplateGenerator.js.map +1 -1
  49. package/react/components/FinsembleProvider.d.ts +7 -0
  50. package/react/components/FinsembleProvider.js +2 -0
  51. package/react/components/FinsembleProvider.js.map +1 -1
  52. package/react/components/appCatalog/AppCatalog.d.ts +4 -0
  53. package/react/components/appCatalog/AppCatalog.js +4 -0
  54. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  55. package/react/components/appCatalog/AppCatalogComponent.d.ts +58 -0
  56. package/react/components/appCatalog/AppCatalogComponent.js +70 -1
  57. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  58. package/react/components/appCatalog/components/AppCard.d.ts +35 -0
  59. package/react/components/appCatalog/components/AppCard.js +42 -0
  60. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  61. package/react/components/appCatalog/components/AppResults.d.ts +10 -0
  62. package/react/components/appCatalog/components/AppResults.js +24 -0
  63. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  64. package/react/components/appCatalog/components/Carousel.d.ts +26 -0
  65. package/react/components/appCatalog/components/Carousel.js +34 -0
  66. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  67. package/react/components/appCatalog/components/EmptyResults.d.ts +4 -0
  68. package/react/components/appCatalog/components/EmptyResults.js +8 -0
  69. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  70. package/react/components/appCatalog/components/Hero.d.ts +15 -0
  71. package/react/components/appCatalog/components/Hero.js +15 -0
  72. package/react/components/appCatalog/components/Hero.js.map +1 -1
  73. package/react/components/appCatalog/components/Home.d.ts +6 -4
  74. package/react/components/appCatalog/components/Home.js +10 -0
  75. package/react/components/appCatalog/components/Home.js.map +1 -1
  76. package/react/components/appCatalog/components/SearchBar.d.ts +31 -0
  77. package/react/components/appCatalog/components/SearchBar.js +33 -0
  78. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  79. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -0
  80. package/react/components/appCatalog/components/Showcase/AppDescription.js +9 -0
  81. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  82. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +7 -0
  83. package/react/components/appCatalog/components/Showcase/AppDevNotes.js +15 -0
  84. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  85. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +17 -0
  86. package/react/components/appCatalog/components/Showcase/AppShowcase.js +25 -0
  87. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  88. package/react/components/appCatalog/components/Showcase/Header.d.ts +7 -0
  89. package/react/components/appCatalog/components/Showcase/Header.js +12 -0
  90. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  91. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +7 -0
  92. package/react/components/appCatalog/components/Showcase/ImageCarousel.js +11 -0
  93. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  94. package/react/components/appCatalog/components/Showcase/Modal.d.ts +10 -0
  95. package/react/components/appCatalog/components/Showcase/Modal.js +10 -0
  96. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  97. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +5 -0
  98. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +9 -0
  99. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  100. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +6 -0
  101. package/react/components/appCatalog/components/Showcase/SupportNotes.js +11 -0
  102. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  103. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +5 -0
  104. package/react/components/appCatalog/components/Showcase/VersionNotes.js +9 -0
  105. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  106. package/react/components/appCatalog/components/Tag.d.ts +6 -0
  107. package/react/components/appCatalog/components/Tag.js +10 -0
  108. package/react/components/appCatalog/components/Tag.js.map +1 -1
  109. package/react/components/appCatalog/components/Toast.d.ts +5 -0
  110. package/react/components/appCatalog/components/Toast.js +9 -0
  111. package/react/components/appCatalog/components/Toast.js.map +1 -1
  112. package/react/components/appCatalog/components/helpers.js +1 -0
  113. package/react/components/appCatalog/components/helpers.js.map +1 -1
  114. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -0
  115. package/react/components/appCatalog/modules/AppDirectory.js +5 -0
  116. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  117. package/react/components/appCatalog/modules/FDC3.d.ts +37 -0
  118. package/react/components/appCatalog/modules/FDC3.js +40 -0
  119. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  120. package/react/components/appCatalog/stores/appStore.js +1 -0
  121. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  122. package/react/components/appCatalog/stores/storeActions.d.ts +91 -0
  123. package/react/components/appCatalog/stores/storeActions.js +116 -1
  124. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  125. package/react/components/common/ButtonIcon.js +1 -1
  126. package/react/components/common/ButtonIcon.js.map +1 -1
  127. package/react/components/common/ButtonRow.js +2 -2
  128. package/react/components/common/ButtonRow.js.map +1 -1
  129. package/react/components/common/Checkbox.d.ts +1 -0
  130. package/react/components/common/Checkbox.js +3 -3
  131. package/react/components/common/Checkbox.js.map +1 -1
  132. package/react/components/common/ColorPicker.d.ts +5 -0
  133. package/react/components/common/ColorPicker.js +56 -15
  134. package/react/components/common/ColorPicker.js.map +1 -1
  135. package/react/components/common/DropZone.d.ts +11 -0
  136. package/react/components/common/DropZone.js +21 -1
  137. package/react/components/common/DropZone.js.map +1 -1
  138. package/react/components/common/DropdownButton.d.ts +4 -0
  139. package/react/components/common/DropdownButton.js +4 -0
  140. package/react/components/common/DropdownButton.js.map +1 -1
  141. package/react/components/common/ErrorBoundary.d.ts +34 -0
  142. package/react/components/common/ErrorBoundary.js +43 -0
  143. package/react/components/common/ErrorBoundary.js.map +1 -0
  144. package/react/components/common/FileInput.d.ts +8 -1
  145. package/react/components/common/FileInput.js +19 -4
  146. package/react/components/common/FileInput.js.map +1 -1
  147. package/react/components/common/FinsembleIcon.d.ts +13 -2
  148. package/react/components/common/FinsembleIcon.js +61 -5
  149. package/react/components/common/FinsembleIcon.js.map +1 -1
  150. package/react/components/common/FinsembleLink.d.ts +6 -0
  151. package/react/components/common/FinsembleLink.js +12 -0
  152. package/react/components/common/FinsembleLink.js.map +1 -0
  153. package/react/components/common/FinsembleSelect.js +5 -1
  154. package/react/components/common/FinsembleSelect.js.map +1 -1
  155. package/react/components/common/FinsembleToggle.d.ts +1 -2
  156. package/react/components/common/FinsembleToggle.js +2 -6
  157. package/react/components/common/FinsembleToggle.js.map +1 -1
  158. package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
  159. package/react/components/common/FinsembleToggleButtonBar.js +44 -0
  160. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
  161. package/react/components/common/InputTable.d.ts +10 -3
  162. package/react/components/common/InputTable.js +20 -13
  163. package/react/components/common/InputTable.js.map +1 -1
  164. package/react/components/common/Tab.js +36 -5
  165. package/react/components/common/Tab.js.map +1 -1
  166. package/react/components/common/TimeSelect.js +34 -3
  167. package/react/components/common/TimeSelect.js.map +1 -1
  168. package/react/components/common/Tooltip.js +2 -0
  169. package/react/components/common/Tooltip.js.map +1 -1
  170. package/react/components/common/css/FinsembleToggle.css +22 -0
  171. package/react/components/common/css/accordion.css +9 -6
  172. package/react/components/common/css/application-edit-page.css +48 -45
  173. package/react/components/common/css/button.css +10 -5
  174. package/react/components/common/css/color-picker.css +3 -3
  175. package/react/components/common/css/drop-zone.css +2 -6
  176. package/react/components/common/css/file-input.css +5 -5
  177. package/react/components/common/css/header.css +3 -2
  178. package/react/components/common/css/icon.css +1 -1
  179. package/react/components/common/css/loading-spinner.css +7 -12
  180. package/react/components/common/css/selector.css +4 -4
  181. package/react/components/common/css/styles.css +22 -16
  182. package/react/components/common/css/tab.css +14 -14
  183. package/react/components/common/css/time-select.css +2 -1
  184. package/react/components/common/css/toggle.css +4 -12
  185. package/react/components/common/css/tooltip.css +2 -3
  186. package/react/components/common/file_helpers.js +2 -0
  187. package/react/components/common/file_helpers.js.map +1 -1
  188. package/react/components/common/helpers.js +12 -1
  189. package/react/components/common/helpers.js.map +1 -1
  190. package/react/components/common/stories/ColorPicker.stories.js +9 -11
  191. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  192. package/react/components/common/stories/FileInput.stories.d.ts +3 -1
  193. package/react/components/common/stories/FileInput.stories.js +12 -0
  194. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  195. package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
  196. package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
  197. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  198. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
  199. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
  200. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
  201. package/react/components/common/stories/InputTable.stories.d.ts +4 -3
  202. package/react/components/common/stories/InputTable.stories.js +18 -8
  203. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  204. package/react/components/common/tests/Accordion.spec.js +6 -0
  205. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  206. package/react/components/common/tests/ButtonRow.spec.js +5 -0
  207. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  208. package/react/components/common/tests/Checkbox.spec.js +1 -0
  209. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  210. package/react/components/common/tests/ColorPicker.spec.js +6 -0
  211. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  212. package/react/components/common/tests/DropZone.spec.js +1 -0
  213. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  214. package/react/components/common/tests/FileInput.spec.js +22 -0
  215. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  216. package/react/components/common/tests/FinsembleSelect.spec.js +1 -0
  217. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  218. package/react/components/common/tests/FinsembleToggle.spec.js +2 -6
  219. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  220. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
  221. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +41 -0
  222. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
  223. package/react/components/common/tests/InputTable.spec.js +3 -3
  224. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  225. package/react/components/common/tests/TimeSelect.spec.js +4 -0
  226. package/react/components/common/tests/TimeSelect.spec.js.map +1 -1
  227. package/react/components/common/tests/Tooltip.spec.js +16 -0
  228. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  229. package/react/components/favorites/FavoriteMaker.d.ts +8 -0
  230. package/react/components/favorites/FavoriteMaker.js +10 -1
  231. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  232. package/react/components/favorites/FavoritesShell.d.ts +4 -0
  233. package/react/components/favorites/FavoritesShell.js +13 -1
  234. package/react/components/favorites/FavoritesShell.js.map +1 -1
  235. package/react/components/favorites/FavoritesShell.spec.js +3 -0
  236. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  237. package/react/components/fdc3Resolver/ResolverContainer.js +12 -7
  238. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  239. package/react/components/fdc3Resolver/ResolverDialog.css +16 -3
  240. package/react/components/fdc3Resolver/ResolverDialog.js +7 -2
  241. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  242. package/react/components/fdc3Resolver/ResolverDialog.spec.js +3 -2
  243. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  244. package/react/components/fdc3Resolver/ResolverDialog.stories.js +2 -0
  245. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  246. package/react/components/icon/Icon.d.ts +14 -1
  247. package/react/components/icon/Icon.js +42 -1
  248. package/react/components/icon/Icon.js.map +1 -1
  249. package/react/components/legacyControls/FinsembleDialog.d.ts +4 -0
  250. package/react/components/legacyControls/FinsembleDialog.js +16 -1
  251. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  252. package/react/components/legacyControls/FinsembleDialogButton.d.ts +3 -0
  253. package/react/components/legacyControls/FinsembleDialogButton.js +6 -1
  254. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  255. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +7 -0
  256. package/react/components/legacyControls/FinsembleDialogQuestion.js +7 -0
  257. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  258. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +3 -0
  259. package/react/components/legacyControls/FinsembleDialogTextInput.js +14 -0
  260. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  261. package/react/components/legacyControls/FinsembleDnDContext.d.ts +19 -0
  262. package/react/components/legacyControls/FinsembleDnDContext.js +133 -8
  263. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  264. package/react/components/legacyControls/FinsembleDraggable.d.ts +3 -0
  265. package/react/components/legacyControls/FinsembleDraggable.js +3 -0
  266. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  267. package/react/components/legacyControls/FinsembleHoverDetector.d.ts +15 -0
  268. package/react/components/legacyControls/FinsembleHoverDetector.js +26 -1
  269. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  270. package/react/components/legacyControls/FinsembleMenuSection.d.ts +4 -0
  271. package/react/components/legacyControls/FinsembleMenuSection.js +38 -0
  272. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  273. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +1 -0
  274. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  275. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -0
  276. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  277. package/react/components/linker/LinkerMenu.d.ts +3 -0
  278. package/react/components/linker/LinkerMenu.js +21 -0
  279. package/react/components/linker/LinkerMenu.js.map +1 -1
  280. package/react/components/linker/LinkerMenuDeprecated.d.ts +3 -0
  281. package/react/components/linker/LinkerMenuDeprecated.js +9 -0
  282. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  283. package/react/components/linker/remoteRedux.js +1 -0
  284. package/react/components/linker/remoteRedux.js.map +1 -1
  285. package/react/components/menu/Menu.d.ts +15 -0
  286. package/react/components/menu/Menu.js +15 -0
  287. package/react/components/menu/Menu.js.map +1 -1
  288. package/react/components/menu/MenuAutoResizer.d.ts +7 -0
  289. package/react/components/menu/MenuAutoResizer.js +27 -0
  290. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  291. package/react/components/menu/MenuContent.d.ts +4 -0
  292. package/react/components/menu/MenuContent.js +4 -0
  293. package/react/components/menu/MenuContent.js.map +1 -1
  294. package/react/components/menu/MenuHotKey.d.ts +14 -0
  295. package/react/components/menu/MenuHotKey.js +15 -0
  296. package/react/components/menu/MenuHotKey.js.map +1 -1
  297. package/react/components/menu/MenuItem.d.ts +8 -0
  298. package/react/components/menu/MenuItem.js +13 -2
  299. package/react/components/menu/MenuItem.js.map +1 -1
  300. package/react/components/menu/MenuPortal.js +125 -24
  301. package/react/components/menu/MenuPortal.js.map +1 -1
  302. package/react/components/menu/MenuShell.d.ts +16 -0
  303. package/react/components/menu/MenuShell.js +26 -0
  304. package/react/components/menu/MenuShell.js.map +1 -1
  305. package/react/components/menu/MenuToggle.d.ts +3 -0
  306. package/react/components/menu/MenuToggle.js +5 -2
  307. package/react/components/menu/MenuToggle.js.map +1 -1
  308. package/react/components/menu/keyboardNavigation.d.ts +13 -22
  309. package/react/components/menu/keyboardNavigation.js +165 -160
  310. package/react/components/menu/keyboardNavigation.js.map +1 -1
  311. package/react/components/menu/menuContext.d.ts +6 -0
  312. package/react/components/menu/menuContext.js +6 -0
  313. package/react/components/menu/menuContext.js.map +1 -1
  314. package/react/components/menu/menuHelpers.d.ts +22 -0
  315. package/react/components/menu/menuHelpers.js +58 -1
  316. package/react/components/menu/menuHelpers.js.map +1 -1
  317. package/react/components/notifications/components/drawer/DrawerControls.js +47 -25
  318. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  319. package/react/components/notifications/components/drawer/DrawerHeader.js +5 -0
  320. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  321. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +37 -6
  322. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  323. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +3 -0
  324. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  325. package/react/components/notifications/components/shared/CheckButton.js +19 -8
  326. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  327. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +9 -0
  328. package/react/components/notifications/components/shared/NotificationCardShell.js +15 -7
  329. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  330. package/react/components/notifications/components/shared/OverflowMenu.d.ts +4 -0
  331. package/react/components/notifications/components/shared/OverflowMenu.js +16 -2
  332. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  333. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
  334. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  335. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
  336. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  337. package/react/components/notifications/components/views/CardView.js +8 -3
  338. package/react/components/notifications/components/views/CardView.js.map +1 -1
  339. package/react/components/notifications/components/views/ListView.js +11 -1
  340. package/react/components/notifications/components/views/ListView.js.map +1 -1
  341. package/react/components/notifications/notificationsContext.d.ts +4 -0
  342. package/react/components/notifications/notificationsContext.js +4 -0
  343. package/react/components/notifications/notificationsContext.js.map +1 -1
  344. package/react/components/notifications/types.d.ts +6 -0
  345. package/react/components/notifications/types.js.map +1 -1
  346. package/react/components/notifications/utils.d.ts +4 -0
  347. package/react/components/notifications/utils.js +4 -0
  348. package/react/components/notifications/utils.js.map +1 -1
  349. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -0
  350. package/react/components/processMonitor/ProcessMonitor.js +21 -3
  351. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  352. package/react/components/processMonitor/components/ChildWindow.d.ts +3 -0
  353. package/react/components/processMonitor/components/ChildWindow.js +5 -0
  354. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  355. package/react/components/processMonitor/components/ListHeader.d.ts +5 -0
  356. package/react/components/processMonitor/components/ListHeader.js +7 -0
  357. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  358. package/react/components/processMonitor/components/ProcessStatistics.js +12 -3
  359. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  360. package/react/components/processMonitor/constants.js +6 -0
  361. package/react/components/processMonitor/constants.js.map +1 -1
  362. package/react/components/processMonitor/helpers.d.ts +13 -0
  363. package/react/components/processMonitor/helpers.js +27 -6
  364. package/react/components/processMonitor/helpers.js.map +1 -1
  365. package/react/components/processMonitor/helpers.spec.js +7 -3
  366. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  367. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +39 -0
  368. package/react/components/processMonitor/stores/ProcessMonitorStore.js +50 -0
  369. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  370. package/react/components/quickComponentForm/QuickComponentForm.d.ts +3 -0
  371. package/react/components/quickComponentForm/QuickComponentForm.js +20 -0
  372. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  373. package/react/components/quickComponentForm/quickComponent.css +1 -1
  374. package/react/components/sdd/AddApp.d.ts +7 -4
  375. package/react/components/sdd/AddApp.js +144 -34
  376. package/react/components/sdd/AddApp.js.map +1 -1
  377. package/react/components/sdd/AppEditAccess.d.ts +4 -3
  378. package/react/components/sdd/AppEditAccess.js +8 -0
  379. package/react/components/sdd/AppEditAccess.js.map +1 -1
  380. package/react/components/sdd/AppEditPage.d.ts +6 -4
  381. package/react/components/sdd/AppEditPage.js +205 -393
  382. package/react/components/sdd/AppEditPage.js.map +1 -1
  383. package/react/components/sdd/Appearance.css +1 -1
  384. package/react/components/sdd/Appearance.d.ts +2 -1
  385. package/react/components/sdd/Appearance.js +18 -7
  386. package/react/components/sdd/Appearance.js.map +1 -1
  387. package/react/components/sdd/Application.d.ts +5 -4
  388. package/react/components/sdd/Application.js +94 -44
  389. package/react/components/sdd/Application.js.map +1 -1
  390. package/react/components/sdd/Applications.d.ts +12 -11
  391. package/react/components/sdd/Applications.js +110 -15
  392. package/react/components/sdd/Applications.js.map +1 -1
  393. package/react/components/sdd/AssetsPage.css +3 -3
  394. package/react/components/sdd/Authentication.js +1 -6
  395. package/react/components/sdd/Authentication.js.map +1 -1
  396. package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
  397. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
  398. package/react/components/sdd/EditPreload.d.ts +4 -3
  399. package/react/components/sdd/EditPreload.js +49 -22
  400. package/react/components/sdd/EditPreload.js.map +1 -1
  401. package/react/components/sdd/Export.d.ts +7 -6
  402. package/react/components/sdd/Export.js +4 -3
  403. package/react/components/sdd/Export.js.map +1 -1
  404. package/react/components/sdd/ExportCloud.js +4 -0
  405. package/react/components/sdd/ExportCloud.js.map +1 -1
  406. package/react/components/sdd/GettingStarted.js +3 -3
  407. package/react/components/sdd/GettingStarted.js.map +1 -1
  408. package/react/components/sdd/Navigation.js +28 -4
  409. package/react/components/sdd/Navigation.js.map +1 -1
  410. package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
  411. package/react/components/sdd/OptionalSettingsView.js +2 -10
  412. package/react/components/sdd/OptionalSettingsView.js.map +1 -1
  413. package/react/components/sdd/ProjectErrors.js +1 -1
  414. package/react/components/sdd/ProjectErrors.js.map +1 -1
  415. package/react/components/sdd/Publish.js +4 -2
  416. package/react/components/sdd/Publish.js.map +1 -1
  417. package/react/components/sdd/PublishProgress.js +11 -1
  418. package/react/components/sdd/PublishProgress.js.map +1 -1
  419. package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
  420. package/react/components/sdd/SmartDesktopDesigner.js +54 -34
  421. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  422. package/react/components/sdd/ThemePage.css +6 -23
  423. package/react/components/sdd/ThemePage.js +8 -5
  424. package/react/components/sdd/ThemePage.js.map +1 -1
  425. package/react/components/sdd/Themes.d.ts +2 -1
  426. package/react/components/sdd/Themes.js +4 -2
  427. package/react/components/sdd/Themes.js.map +1 -1
  428. package/react/components/sdd/Toolbar.d.ts +5 -4
  429. package/react/components/sdd/Toolbar.js +18 -9
  430. package/react/components/sdd/Toolbar.js.map +1 -1
  431. package/react/components/sdd/appEditPage/Behavior.d.ts +34 -0
  432. package/react/components/sdd/appEditPage/Behavior.js +134 -0
  433. package/react/components/sdd/appEditPage/Behavior.js.map +1 -0
  434. package/react/components/sdd/appEditPage/Component.d.ts +22 -0
  435. package/react/components/sdd/appEditPage/Component.js +76 -0
  436. package/react/components/sdd/appEditPage/Component.js.map +1 -0
  437. package/react/components/sdd/appEditPage/DebugToolkit.d.ts +9 -0
  438. package/react/components/sdd/appEditPage/DebugToolkit.js +20 -0
  439. package/react/components/sdd/appEditPage/DebugToolkit.js.map +1 -0
  440. package/react/components/sdd/appEditPage/Interop.d.ts +10 -0
  441. package/react/components/sdd/appEditPage/Interop.js +40 -0
  442. package/react/components/sdd/appEditPage/Interop.js.map +1 -0
  443. package/react/components/sdd/appEditPage/Position.d.ts +18 -0
  444. package/react/components/sdd/appEditPage/Position.js +72 -0
  445. package/react/components/sdd/appEditPage/Position.js.map +1 -0
  446. package/react/components/sdd/appEditPage/Preloads.d.ts +9 -0
  447. package/react/components/sdd/appEditPage/Preloads.js +16 -0
  448. package/react/components/sdd/appEditPage/Preloads.js.map +1 -0
  449. package/react/components/sdd/appEditPage/SelectConnect.d.ts +15 -0
  450. package/react/components/sdd/appEditPage/SelectConnect.js +28 -0
  451. package/react/components/sdd/appEditPage/SelectConnect.js.map +1 -0
  452. package/react/components/sdd/appEditPage/Workspace.d.ts +12 -0
  453. package/react/components/sdd/appEditPage/Workspace.js +30 -0
  454. package/react/components/sdd/appEditPage/Workspace.js.map +1 -0
  455. package/react/components/sdd/common/getCSSVars.js +7 -2
  456. package/react/components/sdd/common/getCSSVars.js.map +1 -1
  457. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
  458. package/react/components/sdd/common/setPreloadDefaults.js +9 -4
  459. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  460. package/react/components/sdd/common/views.js +7 -4
  461. package/react/components/sdd/common/views.js.map +1 -1
  462. package/react/components/sdd/css/addApp.css +65 -0
  463. package/react/components/sdd/css/appearance.css +6 -0
  464. package/react/components/sdd/css/applications.css +27 -34
  465. package/react/components/sdd/css/authentication.css +7 -6
  466. package/react/components/sdd/css/buttons.css +1 -1
  467. package/react/components/sdd/css/export.css +5 -3
  468. package/react/components/sdd/css/getting-started.css +2 -2
  469. package/react/components/sdd/css/nav.css +11 -14
  470. package/react/components/sdd/css/project-header.css +5 -7
  471. package/react/components/sdd/css/styles.css +29 -23
  472. package/react/components/sdd/css/views.css +4 -3
  473. package/react/components/sdd/fixtures/apps.js +12 -0
  474. package/react/components/sdd/fixtures/apps.js.map +1 -1
  475. package/react/components/sdd/fixtures/authenticationProps.js +15 -1
  476. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
  477. package/react/components/sdd/fixtures/configTemplate.js +1 -0
  478. package/react/components/sdd/fixtures/configTemplate.js.map +1 -1
  479. package/react/components/sdd/fixtures/preloads.js +14 -12
  480. package/react/components/sdd/fixtures/preloads.js.map +1 -1
  481. package/react/components/sdd/fixtures/publishProgress.js +40 -0
  482. package/react/components/sdd/fixtures/publishProgress.js.map +1 -1
  483. package/react/components/sdd/sdd_helpers.d.ts +6 -0
  484. package/react/components/sdd/sdd_helpers.js +6 -0
  485. package/react/components/sdd/sdd_helpers.js.map +1 -1
  486. package/react/components/sdd/smartDesktopClient.d.ts +466 -0
  487. package/react/components/sdd/smartDesktopClient.js +906 -0
  488. package/react/components/sdd/smartDesktopClient.js.map +1 -0
  489. package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
  490. package/react/components/sdd/smartDesktopClient.spec.js +64 -0
  491. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
  492. package/react/components/sdd/stories/AddApp.stories.d.ts +11 -0
  493. package/react/components/sdd/stories/AddApp.stories.js +26 -0
  494. package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
  495. package/react/components/sdd/stories/AppEditPage.stories.d.ts +5 -1
  496. package/react/components/sdd/stories/AppEditPage.stories.js +5 -0
  497. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  498. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  499. package/react/components/sdd/stories/Appearance.stories.js +2 -0
  500. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  501. package/react/components/sdd/stories/Authentication.stories.js +2 -16
  502. package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
  503. package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
  504. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
  505. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  506. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
  507. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  508. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  509. package/react/components/sdd/stories/Themes.stories.js +1 -0
  510. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  511. package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
  512. package/react/components/sdd/tests/AddApp.spec.js +133 -0
  513. package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
  514. package/react/components/sdd/tests/AppEditPage.spec.js +108 -23
  515. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  516. package/react/components/sdd/tests/Application.spec.js +351 -369
  517. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  518. package/react/components/sdd/tests/Applications.spec.d.ts +1 -1
  519. package/react/components/sdd/tests/Applications.spec.js +30 -50
  520. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  521. package/react/components/sdd/tests/Authentication.spec.js +8 -1
  522. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  523. package/react/components/sdd/tests/ContentHeader.spec.js +2 -0
  524. package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -1
  525. package/react/components/sdd/tests/EditPreload.spec.js +63 -7
  526. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  527. package/react/components/sdd/tests/Export.spec.js +8 -1
  528. package/react/components/sdd/tests/Export.spec.js.map +1 -1
  529. package/react/components/sdd/tests/ItemList.spec.js +4 -0
  530. package/react/components/sdd/tests/ItemList.spec.js.map +1 -1
  531. package/react/components/sdd/tests/Navigation.spec.js +2 -2
  532. package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
  533. package/react/components/sdd/tests/OptionalSettingsView.spec.js +264 -0
  534. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  535. package/react/components/sdd/tests/ProjectErrors.spec.js +3 -1
  536. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  537. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
  538. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
  539. package/react/components/sdd/tests/Themes.spec.js +1 -1
  540. package/react/components/sdd/tests/Themes.spec.js.map +1 -1
  541. package/react/components/sdd/tests/Toolbar.spec.js +53 -0
  542. package/react/components/sdd/tests/Toolbar.spec.js.map +1 -1
  543. package/react/components/sdd/tests/a11y_helper.js +8 -0
  544. package/react/components/sdd/tests/a11y_helper.js.map +1 -1
  545. package/react/components/search/Highlight.d.ts +6 -0
  546. package/react/components/search/Highlight.js +19 -0
  547. package/react/components/search/Highlight.js.map +1 -1
  548. package/react/components/search/Highlight.stories.js +1 -1
  549. package/react/components/search/Highlight.stories.js.map +1 -1
  550. package/react/components/search/Search.js +1 -1
  551. package/react/components/search/Search.js.map +1 -1
  552. package/react/components/search/SearchBestMatch.d.ts +4 -0
  553. package/react/components/search/SearchBestMatch.js +11 -0
  554. package/react/components/search/SearchBestMatch.js.map +1 -1
  555. package/react/components/search/SearchInput.d.ts +5 -0
  556. package/react/components/search/SearchInput.js +6 -0
  557. package/react/components/search/SearchInput.js.map +1 -1
  558. package/react/components/search/SearchProviderResults.js +2 -0
  559. package/react/components/search/SearchProviderResults.js.map +1 -1
  560. package/react/components/search/SearchResult.d.ts +5 -0
  561. package/react/components/search/SearchResult.js +6 -0
  562. package/react/components/search/SearchResult.js.map +1 -1
  563. package/react/components/search/SearchResult.spec.d.ts +1 -0
  564. package/react/components/search/SearchResult.spec.js +46 -0
  565. package/react/components/search/SearchResult.spec.js.map +1 -0
  566. package/react/components/search/SearchResult.stories.d.ts +16 -0
  567. package/react/components/search/SearchResult.stories.js +113 -0
  568. package/react/components/search/SearchResult.stories.js.map +1 -0
  569. package/react/components/search/SearchResults.js +5 -1
  570. package/react/components/search/SearchResults.js.map +1 -1
  571. package/react/components/search/SearchResults.spec.d.ts +1 -0
  572. package/react/components/search/SearchResults.spec.js +35 -0
  573. package/react/components/search/SearchResults.spec.js.map +1 -0
  574. package/react/components/search/SearchResults.stories.d.ts +11 -0
  575. package/react/components/search/SearchResults.stories.js +458 -0
  576. package/react/components/search/SearchResults.stories.js.map +1 -0
  577. package/react/components/shared/Animate.d.ts +5 -0
  578. package/react/components/shared/Animate.js +12 -1
  579. package/react/components/shared/Animate.js.map +1 -1
  580. package/react/components/shared/DefaultDropdownButton.js +26 -6
  581. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  582. package/react/components/shared/Tag.d.ts +0 -4
  583. package/react/components/shared/Tag.js +4 -0
  584. package/react/components/shared/Tag.js.map +1 -1
  585. package/react/components/shared/TagsMenu.d.ts +6 -0
  586. package/react/components/shared/TagsMenu.js +7 -0
  587. package/react/components/shared/TagsMenu.js.map +1 -1
  588. package/react/components/shared/addProtocolToValidURL.d.ts +6 -0
  589. package/react/components/shared/addProtocolToValidURL.js +6 -0
  590. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  591. package/react/components/shared/openQuitConfirmationDialog.d.ts +1 -1
  592. package/react/components/shared/openQuitConfirmationDialog.js +4 -4
  593. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  594. package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
  595. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  596. package/react/components/shared/tests/addProtocolToValidURL.spec.js +1 -0
  597. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
  598. package/react/components/shared/validateURL.d.ts +18 -0
  599. package/react/components/shared/validateURL.js +24 -5
  600. package/react/components/shared/validateURL.js.map +1 -1
  601. package/react/components/singleInputDialog/SingleInputDialog.css +1 -1
  602. package/react/components/singleInputDialog/SingleInputDialog.d.ts +3 -0
  603. package/react/components/singleInputDialog/SingleInputDialog.js +46 -0
  604. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  605. package/react/components/singleInputDialog/SingleInputDialog.stories.js +2 -2
  606. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  607. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
  608. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +5 -3
  609. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  610. package/react/components/system/System.d.ts +22 -0
  611. package/react/components/system/System.js +23 -1
  612. package/react/components/system/System.js.map +1 -1
  613. package/react/components/system/System.stories.js +1 -0
  614. package/react/components/system/System.stories.js.map +1 -1
  615. package/react/components/system/SystemTrayComponentShell.d.ts +6 -0
  616. package/react/components/system/SystemTrayComponentShell.js +9 -0
  617. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  618. package/react/components/toolbar/AutoArrange.d.ts +5 -0
  619. package/react/components/toolbar/AutoArrange.js +8 -1
  620. package/react/components/toolbar/AutoArrange.js.map +1 -1
  621. package/react/components/toolbar/AutoArrange.spec.js +10 -4
  622. package/react/components/toolbar/AutoArrange.spec.js.map +1 -1
  623. package/react/components/toolbar/AutoArrange.stories.js +1 -0
  624. package/react/components/toolbar/AutoArrange.stories.js.map +1 -1
  625. package/react/components/toolbar/DragHandle.d.ts +4 -0
  626. package/react/components/toolbar/DragHandle.js +11 -0
  627. package/react/components/toolbar/DragHandle.js.map +1 -1
  628. package/react/components/toolbar/DragHandle.spec.js +1 -0
  629. package/react/components/toolbar/DragHandle.spec.js.map +1 -1
  630. package/react/components/toolbar/DragHandle.stories.js +1 -0
  631. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  632. package/react/components/toolbar/MinimizeAll.d.ts +4 -0
  633. package/react/components/toolbar/MinimizeAll.js +7 -1
  634. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  635. package/react/components/toolbar/MinimizeAll.spec.js +1 -0
  636. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  637. package/react/components/toolbar/MinimizeAll.stories.js +1 -0
  638. package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
  639. package/react/components/toolbar/NotificationControl.d.ts +5 -0
  640. package/react/components/toolbar/NotificationControl.js +8 -1
  641. package/react/components/toolbar/NotificationControl.js.map +1 -1
  642. package/react/components/toolbar/RevealAll.d.ts +4 -0
  643. package/react/components/toolbar/RevealAll.js +7 -1
  644. package/react/components/toolbar/RevealAll.js.map +1 -1
  645. package/react/components/toolbar/RevealAll.spec.js +1 -0
  646. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  647. package/react/components/toolbar/RevealAll.stories.js +1 -0
  648. package/react/components/toolbar/RevealAll.stories.js.map +1 -1
  649. package/react/components/toolbar/SddButton.d.ts +4 -0
  650. package/react/components/toolbar/SddButton.js +4 -0
  651. package/react/components/toolbar/SddButton.js.map +1 -1
  652. package/react/components/toolbar/ToolbarIcon.d.ts +4 -0
  653. package/react/components/toolbar/ToolbarIcon.js +6 -2
  654. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  655. package/react/components/toolbar/ToolbarSection.d.ts +8 -9
  656. package/react/components/toolbar/ToolbarSection.js +21 -7
  657. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  658. package/react/components/toolbar/ToolbarShell.d.ts +5 -0
  659. package/react/components/toolbar/ToolbarShell.js +7 -0
  660. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  661. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +16 -0
  662. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +20 -0
  663. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  664. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +52 -0
  665. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +58 -0
  666. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  667. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +5 -0
  668. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +5 -0
  669. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  670. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +27 -0
  671. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +49 -0
  672. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  673. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +13 -0
  674. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +14 -0
  675. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  676. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +5 -0
  677. package/react/components/toolbar/advancedAppLauncher/components/Content.js +19 -0
  678. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  679. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +4 -0
  680. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -0
  681. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  682. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +16 -0
  683. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +39 -0
  684. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  685. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +4 -0
  686. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +9 -0
  687. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  688. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +3 -0
  689. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  690. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +6 -0
  691. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +7 -0
  692. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  693. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +5 -0
  694. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +5 -0
  695. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  696. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -0
  697. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +5 -0
  698. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  699. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +37 -0
  700. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +40 -0
  701. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  702. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +3 -0
  703. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +83 -1
  704. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  705. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +10 -0
  706. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +12 -3
  707. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  708. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +18 -0
  709. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +20 -0
  710. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  711. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +9 -0
  712. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +12 -0
  713. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  714. package/react/components/toolbar/appLauncher/appLauncher.css +1 -1
  715. package/react/components/toolbar/appLauncher/components/componentList.d.ts +3 -0
  716. package/react/components/toolbar/appLauncher/components/componentList.js +17 -3
  717. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  718. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +6 -0
  719. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +26 -0
  720. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  721. package/react/components/toolbar/dashbar/Dashbar.js +91 -15
  722. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  723. package/react/components/toolbar/dashbar/DashbarItem.js +5 -0
  724. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  725. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +8 -1
  726. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +7 -0
  727. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  728. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +17 -1
  729. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +21 -1
  730. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  731. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +26 -0
  732. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +29 -0
  733. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  734. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +6 -1
  735. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +6 -0
  736. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  737. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +78 -2
  738. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +191 -40
  739. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  740. package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +8 -18
  741. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +4 -0
  742. package/react/components/userPreferences/NotificationsPreferencesContext.js +4 -0
  743. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  744. package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -0
  745. package/react/components/userPreferences/UserPreferences.d.ts +8 -0
  746. package/react/components/userPreferences/UserPreferences.js +8 -0
  747. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  748. package/react/components/userPreferences/UserPreferencesBase.js +4 -0
  749. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  750. package/react/components/userPreferences/components/ContentSection.d.ts +5 -0
  751. package/react/components/userPreferences/components/ContentSection.js +1 -1
  752. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  753. package/react/components/userPreferences/components/LeftNav.d.ts +4 -0
  754. package/react/components/userPreferences/components/content/DashbarEditor.js +3 -0
  755. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  756. package/react/components/userPreferences/components/content/Notifications.js +3 -0
  757. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  758. package/react/components/userPreferences/components/content/Workspaces.d.ts +14 -2
  759. package/react/components/userPreferences/components/content/Workspaces.js +78 -38
  760. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  761. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +7 -3
  762. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  763. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +3 -0
  764. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  765. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +3 -0
  766. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  767. package/react/components/userPreferences/components/general/ScheduledClose.js +26 -5
  768. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  769. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
  770. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  771. package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +1 -1
  772. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +20 -10
  773. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  774. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +18 -1
  775. package/react/components/userPreferences/stores/UserPreferencesStore.js +35 -6
  776. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  777. package/react/components/userPreferences/tests/LeftNav.spec.js +15 -1
  778. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
  779. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
  780. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  781. package/react/components/userPreferences/tests/UserPreferencesBase.spec.d.ts +1 -0
  782. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js +42 -0
  783. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js.map +1 -0
  784. package/react/components/userPreferences/tests/Workspace.spec.d.ts +1 -0
  785. package/react/components/userPreferences/tests/Workspace.spec.js +139 -0
  786. package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -0
  787. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +130 -2
  788. package/react/components/windowTitleBar/WindowTitleBarShell.js +386 -27
  789. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  790. package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
  791. package/react/components/windowTitleBar/components/center/Tab.js +3 -0
  792. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  793. package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
  794. package/react/components/windowTitleBar/components/center/TabList.js +170 -4
  795. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  796. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
  797. package/react/components/windowTitleBar/components/left/LinkerButton.js +27 -5
  798. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  799. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
  800. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
  801. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  802. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
  803. package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
  804. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  805. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
  806. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
  807. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  808. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
  809. package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
  810. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  811. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
  812. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  813. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
  814. package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
  815. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  816. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
  817. package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
  818. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  819. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
  820. package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
  821. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  822. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
  823. package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
  824. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  825. package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
  826. package/react/components/windowTitleBar/components/windowTitle.js +245 -48
  827. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  828. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
  829. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +81 -6
  830. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  831. package/react/components/yesNoDialog/YesNoDialog.css +1 -1
  832. package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
  833. package/react/components/yesNoDialog/YesNoDialog.js +64 -1
  834. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  835. package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
  836. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  837. package/react/components/yesNoDialog/YesNoDialog.stories.js +2 -2
  838. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  839. package/react/components/yesNoDialog/timer.js +2 -0
  840. package/react/components/yesNoDialog/timer.js.map +1 -1
  841. package/react/enzymeSetup.js +10 -0
  842. package/react/enzymeSetup.js.map +1 -1
  843. package/react/hooks/useDashbar.js +10 -0
  844. package/react/hooks/useDashbar.js.map +1 -1
  845. package/react/hooks/useDeepEffect.d.ts +4 -0
  846. package/react/hooks/useDeepEffect.js +21 -0
  847. package/react/hooks/useDeepEffect.js.map +1 -1
  848. package/react/hooks/useFavorites.d.ts +15 -0
  849. package/react/hooks/useFavorites.js +3 -0
  850. package/react/hooks/useFavorites.js.map +1 -1
  851. package/react/hooks/useFavoritesShell.d.ts +4 -0
  852. package/react/hooks/useFavoritesShell.js +23 -0
  853. package/react/hooks/useFavoritesShell.js.map +1 -1
  854. package/react/hooks/useHotkey.d.ts +6 -0
  855. package/react/hooks/useHotkey.js +9 -0
  856. package/react/hooks/useHotkey.js.map +1 -1
  857. package/react/hooks/useLinker.js +14 -0
  858. package/react/hooks/useLinker.js.map +1 -1
  859. package/react/hooks/useMenu.d.ts +29 -0
  860. package/react/hooks/useMenu.js +12 -1
  861. package/react/hooks/useMenu.js.map +1 -1
  862. package/react/hooks/useNotifications.d.ts +44 -0
  863. package/react/hooks/useNotifications.js +104 -12
  864. package/react/hooks/useNotifications.js.map +1 -1
  865. package/react/hooks/useOutsideClickDetector.d.ts +3 -0
  866. package/react/hooks/useOutsideClickDetector.js +3 -0
  867. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  868. package/react/hooks/usePubSub.d.ts +17 -0
  869. package/react/hooks/usePubSub.js +18 -0
  870. package/react/hooks/usePubSub.js.map +1 -1
  871. package/react/hooks/useSearch.d.ts +5 -0
  872. package/react/hooks/useSearch.js +30 -0
  873. package/react/hooks/useSearch.js.map +1 -1
  874. package/react/hooks/useToolbar.d.ts +1 -1
  875. package/react/hooks/useToolbar.js +54 -2
  876. package/react/hooks/useToolbar.js.map +1 -1
  877. package/react/reducers/favoriteReducer.d.ts +3 -0
  878. package/react/reducers/linkerReducer.d.ts +3 -0
  879. package/react/reducers/linkerReducer.js +4 -0
  880. package/react/reducers/linkerReducer.js.map +1 -1
  881. package/react/reducers/menuReducer.d.ts +28 -0
  882. package/react/reducers/menuReducer.js +34 -0
  883. package/react/reducers/menuReducer.js.map +1 -1
  884. package/react/reducers/rootReducer.d.ts +2 -2
  885. package/react/reducers/rootReducer.js +3 -0
  886. package/react/reducers/rootReducer.js.map +1 -1
  887. package/react/reducers/searchReducer.d.ts +7 -0
  888. package/react/reducers/searchReducer.js +6 -0
  889. package/react/reducers/searchReducer.js.map +1 -1
  890. package/react/reducers/workspaceReducer.js +1 -0
  891. package/react/reducers/workspaceReducer.js.map +1 -1
  892. package/react/store.d.ts +8 -4
  893. package/react/store.js +11 -0
  894. package/react/store.js.map +1 -1
  895. package/react/tsconfig.tsbuildinfo +1 -0
  896. package/react/types/fdc3.d.ts +2 -0
  897. package/react/types/linkerTypes.d.ts +13 -0
  898. package/react/types/linkerTypes.js +1 -0
  899. package/react/types/linkerTypes.js.map +1 -1
  900. package/react/types/smartDesktopDesignerTypes.d.ts +8 -0
  901. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  902. package/react/types/workspaceTypes.d.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPreferencesHome.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useState } from \"react\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport { Checkbox } from \"../../../../common/Checkbox\";\nimport DefaultDropdownButton, {\n\tIFinsembleDefaultDropdownButtonOptionsProps,\n} from \"../../../../shared/DefaultDropdownButton\";\nimport ButtonRow from \"../../../../common/ButtonRow\";\n\n// Utils\nimport { loadSources } from \"./notificationViewsUtils\";\n\nconst PREFERENCE_PATH_KEY = \"finsemble.servicesConfig.notifications.userPreferences\";\nconst NOTIFICATIONS_PREFERENCES_KEYS = {\n\tDISABLE_DOT_ON_TOOLBAR_ICON: \"disableDotOnToolbarIcon\",\n\tSHOW_DOT_ON_TOOLBAR_ICON_MUTED_NOTIFICATIONS: \"showDotOnToolbarIconForMutedNotifications\",\n\tINFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS: \"informationalNotificationToastPeriodSeconds\",\n\tDEFAULT_SNOOZE_PERIOD_SECONDS: \"defaultSnoozePeriodSeconds\",\n\tNEW_NOTIFICATION_HALO_PERIOD_SECONDS: \"newNotificationHaloPeriodSeconds\",\n};\n\nconst setAndTransmitPreferenceChange = (preferenceKey: string, value: any) => {\n\tFSBL.Clients.ConfigClient.setPreference(\n\t\t{\n\t\t\tfield: `${PREFERENCE_PATH_KEY}.${preferenceKey}`,\n\t\t\tvalue,\n\t\t},\n\t\t(err) => {\n\t\t\tif (err) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t`Error setting preference from Notifications Preferences Home Component - preference: ${preferenceKey} - value: ${value} `,\n\t\t\t\t\terr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleUserPreferencesChannel\", {\n\t\t\t\t\tnotificationPreferences: {\n\t\t\t\t\t\t[preferenceKey]: value,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t);\n};\n\nconst informationalToastDuration: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"10 seconds\",\n\t\toptionValue: 10,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t10\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"30 seconds\",\n\t\toptionValue: 30,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t30\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"45 seconds\",\n\t\toptionValue: 45,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t45\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"60 seconds\",\n\t\toptionValue: 60,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t60\n\t\t\t);\n\t\t},\n\t},\n];\n\nconst snoozeDuration: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"5 minutes\",\n\t\toptionValue: 300,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 300);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"10 minutes\",\n\t\toptionValue: 600,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 600);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"20 minutes\",\n\t\toptionValue: 1200,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 1200);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"30 minutes\",\n\t\toptionValue: 1800,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 1800);\n\t\t},\n\t},\n];\n\nconst newNotificationsHalo: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"30 seconds\",\n\t\toptionValue: 30,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 30);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"1 minute\",\n\t\toptionValue: 60,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 60);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"3 minutes\",\n\t\toptionValue: 180,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 180);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"5 minutes\",\n\t\toptionValue: 600,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 600);\n\t\t},\n\t},\n];\n\nconst NotificationsMainPreferences: React.FunctionComponent = () => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst {\n\t\tnotificationSources,\n\t\tsetNotificationSources,\n\t\tsetSelectedNotificationSource,\n\t\tsetCurrentNotificationsPreferencesView,\n\t} = notificationsPreferencesContext;\n\n\tconst [reloadSources, setReloadSources] = useState(false);\n\n\tconst [notificationPreferences, setNotificationPreferences] = useState<any>({});\n\n\tuseEffect(() => {\n\t\tasync function getNotificationsPreferences() {\n\t\t\treturn await FSBL.Clients.NotificationClient.getPreferences();\n\t\t}\n\n\t\tgetNotificationsPreferences().then((preferences: any) => {\n\t\t\tsetNotificationPreferences(preferences);\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tfunction listenForRefreshEvent(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data === \"notificationReceived\") {\n\t\t\t\t\tsetReloadSources(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\t};\n\t}, []);\n\t{\n\t\tnotificationSources &&\n\t\t\tuseEffect(() => {\n\t\t\t\tloadSources(setNotificationSources, setReloadSources);\n\t\t\t}, [notificationSources.length == 0, reloadSources]);\n\t}\n\n\tuseEffect(() => {\n\t\tfunction navigateToSourceDetail(err: any, response: any) {\n\t\t\tconst { data } = response;\n\t\t\tif (data.notification) {\n\t\t\t\tconst selectedSource = notificationSources.find((source) => source.source === data.notification.source) || null;\n\t\t\t\tsetSelectedNotificationSource(selectedSource);\n\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsNavigationChannel\", navigateToSourceDetail);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsNavigationChannel\", navigateToSourceDetail);\n\t\t};\n\t}, [notificationSources]);\n\n\tconst toggleNotificationDot = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\tdisableDotOnToolbarIcon: !notificationPreferences.disableDotOnToolbarIcon,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\"disableDotOnToolbarIcon\", !notificationPreferences.disableDotOnToolbarIcon);\n\t};\n\n\tconst toggleActionableNotificationToast = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\ttoastTimeoutOnActionableNotifications: !notificationPreferences.toastTimeoutOnActionableNotifications,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\n\t\t\t\"toastTimeoutOnActionableNotifications\",\n\t\t\t!notificationPreferences.toastTimeoutOnActionableNotifications\n\t\t);\n\t};\n\n\tconst toggleNotificationDotForMutedNotifications = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\tshowDotOnToolbarIconForMutedNotifications: !notificationPreferences.showDotOnToolbarIconForMutedNotifications,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\n\t\t\t\"showDotOnToolbarIconForMutedNotifications\",\n\t\t\t!notificationPreferences.showDotOnToolbarIconForMutedNotifications\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<ButtonRow\n\t\t\t\t\tlabel=\"Notification sources\"\n\t\t\t\t\tonClick={() => setCurrentNotificationsPreferencesView(\"Sources\")}\n\t\t\t\t\ticonClass=\"ff-caret-up rotate-90\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tonClick={toggleNotificationDot}\n\t\t\t\t\tchecked={!notificationPreferences.disableDotOnToolbarIcon}\n\t\t\t\t\tlabel=\"Show notification dot for new notifications\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={notificationPreferences.disableDotOnToolbarIcon}\n\t\t\t\t\tonClick={toggleNotificationDotForMutedNotifications}\n\t\t\t\t\tchecked={notificationPreferences.showDotOnToolbarIconForMutedNotifications}\n\t\t\t\t\tlabel=\"Show notification dot for notifications marked as “Don’t show”\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tonClick={toggleActionableNotificationToast}\n\t\t\t\t\tchecked={notificationPreferences.toastTimeoutOnActionableNotifications}\n\t\t\t\t\tlabel=\"Enable toast timeouts on actionable notifications\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Toast times out after</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={informationalToastDuration.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.informationalNotificationToastPeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={informationalToastDuration}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Snooze for</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={snoozeDuration.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.defaultSnoozePeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={snoozeDuration}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Turn off the new notification halo after</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={newNotificationsHalo.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.newNotificationHaloPeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={newNotificationsHalo}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default NotificationsMainPreferences;\n"]}
1
+ {"version":3,"file":"NotificationsPreferencesHome.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useState } from \"react\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport { Checkbox } from \"../../../../common/Checkbox\";\nimport DefaultDropdownButton, {\n\tIFinsembleDefaultDropdownButtonOptionsProps,\n} from \"../../../../shared/DefaultDropdownButton\";\nimport ButtonRow from \"../../../../common/ButtonRow\";\n\n// Utils\nimport { loadSources } from \"./notificationViewsUtils\";\n\nconst FINSEMBLE_NOTIFICATIONS_SERVICE_CONFIG_PATH = \"finsemble.servicesConfig.notifications\";\nconst NOTIFICATIONS_PREFERENCES_KEYS = {\n\tDISABLE_DOT_ON_TOOLBAR_ICON: \"disableDotOnToolbarIcon\",\n\tSHOW_DOT_ON_TOOLBAR_ICON_MUTED_NOTIFICATIONS: \"showDotOnToolbarIconForMutedNotifications\",\n\tINFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS: \"informationalNotificationToastPeriodSeconds\",\n\tDEFAULT_SNOOZE_PERIOD_SECONDS: \"defaultSnoozePeriodSeconds\",\n\tNEW_NOTIFICATION_HALO_PERIOD_SECONDS: \"newNotificationHaloPeriodSeconds\",\n};\n\nconst setAndTransmitPreferenceChange = (preferenceKey: string, value: any) => {\n\tFSBL.Clients.ConfigClient.setPreference(\n\t\t{\n\t\t\tfield: `${FINSEMBLE_NOTIFICATIONS_SERVICE_CONFIG_PATH}.${preferenceKey}`,\n\t\t\tvalue,\n\t\t},\n\t\t(err) => {\n\t\t\tif (err) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t`Error setting preference from Notifications Preferences Home Component - preference: ${preferenceKey} - value: ${value} `,\n\t\t\t\t\terr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleUserPreferencesChannel\", {\n\t\t\t\t\tnotificationPreferences: {\n\t\t\t\t\t\t[preferenceKey]: value,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t);\n};\n\nconst informationalToastDuration: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"10 seconds\",\n\t\toptionValue: 10,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t10\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"30 seconds\",\n\t\toptionValue: 30,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t30\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"45 seconds\",\n\t\toptionValue: 45,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t45\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"60 seconds\",\n\t\toptionValue: 60,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(\n\t\t\t\tNOTIFICATIONS_PREFERENCES_KEYS.INFORMATIONAL_NOTIFICATION_TOAST_PERIOD_SECONDS,\n\t\t\t\t60\n\t\t\t);\n\t\t},\n\t},\n];\n\nconst snoozeDuration: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"5 minutes\",\n\t\toptionValue: 300,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 300);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"10 minutes\",\n\t\toptionValue: 600,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 600);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"20 minutes\",\n\t\toptionValue: 1200,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 1200);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"30 minutes\",\n\t\toptionValue: 1800,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.DEFAULT_SNOOZE_PERIOD_SECONDS, 1800);\n\t\t},\n\t},\n];\n\nconst newNotificationsHalo: IFinsembleDefaultDropdownButtonOptionsProps[] = [\n\t{\n\t\toptionLabel: \"30 seconds\",\n\t\toptionValue: 30,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 30);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"1 minute\",\n\t\toptionValue: 60,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 60);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"3 minutes\",\n\t\toptionValue: 180,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 180);\n\t\t},\n\t},\n\t{\n\t\toptionLabel: \"5 minutes\",\n\t\toptionValue: 600,\n\t\tclickHandler: () => {\n\t\t\tsetAndTransmitPreferenceChange(NOTIFICATIONS_PREFERENCES_KEYS.NEW_NOTIFICATION_HALO_PERIOD_SECONDS, 600);\n\t\t},\n\t},\n];\n\nconst NotificationsMainPreferences: React.FunctionComponent = () => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst {\n\t\tnotificationSources,\n\t\tsetNotificationSources,\n\t\tsetSelectedNotificationSource,\n\t\tsetCurrentNotificationsPreferencesView,\n\t} = notificationsPreferencesContext;\n\n\tconst [reloadSources, setReloadSources] = useState(false);\n\n\tconst [notificationPreferences, setNotificationPreferences] = useState<any>({});\n\n\tuseEffect(() => {\n\t\tasync function getNotificationsPreferences() {\n\t\t\treturn await FSBL.Clients.NotificationClient.getPreferences();\n\t\t}\n\n\t\tgetNotificationsPreferences().then((preferences: any) => {\n\t\t\tFSBL.Clients.Logger.info(\"NotificationsPreferencesHome\", preferences);\n\t\t\tsetNotificationPreferences(preferences);\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tfunction listenForRefreshEvent(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data === \"notificationReceived\") {\n\t\t\t\t\tsetReloadSources(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\t};\n\t}, []);\n\t{\n\t\tnotificationSources &&\n\t\t\tuseEffect(() => {\n\t\t\t\tloadSources(setNotificationSources, setReloadSources);\n\t\t\t}, [notificationSources.length == 0, reloadSources]);\n\t}\n\n\tuseEffect(() => {\n\t\tfunction navigateToSourceDetail(err: any, response: any) {\n\t\t\tconst { data } = response;\n\t\t\tif (data.notification) {\n\t\t\t\tconst selectedSource = notificationSources.find((source) => source.source === data.notification.source) || null;\n\t\t\t\tsetSelectedNotificationSource(selectedSource);\n\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsNavigationChannel\", navigateToSourceDetail);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsNavigationChannel\", navigateToSourceDetail);\n\t\t};\n\t}, [notificationSources]);\n\n\tconst toggleNotificationDot = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\tdisableDotOnToolbarIcon: !notificationPreferences.disableDotOnToolbarIcon,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\"disableDotOnToolbarIcon\", !notificationPreferences.disableDotOnToolbarIcon);\n\t};\n\n\tconst toggleActionableNotificationToast = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\ttoastTimeoutOnActionableNotifications: !notificationPreferences.toastTimeoutOnActionableNotifications,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\n\t\t\t\"toastTimeoutOnActionableNotifications\",\n\t\t\t!notificationPreferences.toastTimeoutOnActionableNotifications\n\t\t);\n\t};\n\n\tconst toggleNotificationDotForMutedNotifications = () => {\n\t\tsetNotificationPreferences((prevState: any) => {\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\tshowDotOnToolbarIconForMutedNotifications: !notificationPreferences.showDotOnToolbarIconForMutedNotifications,\n\t\t\t};\n\t\t});\n\t\tsetAndTransmitPreferenceChange(\n\t\t\t\"showDotOnToolbarIconForMutedNotifications\",\n\t\t\t!notificationPreferences.showDotOnToolbarIconForMutedNotifications\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<ButtonRow\n\t\t\t\t\tlabel=\"Notification sources\"\n\t\t\t\t\tonClick={() => setCurrentNotificationsPreferencesView(\"Sources\")}\n\t\t\t\t\ticonClass=\"ff-caret-up rotate-90\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tonClick={toggleNotificationDot}\n\t\t\t\t\tchecked={!notificationPreferences.disableDotOnToolbarIcon}\n\t\t\t\t\tlabel=\"Show notification dot for new notifications\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={notificationPreferences.disableDotOnToolbarIcon}\n\t\t\t\t\tonClick={toggleNotificationDotForMutedNotifications}\n\t\t\t\t\tchecked={notificationPreferences.showDotOnToolbarIconForMutedNotifications}\n\t\t\t\t\tlabel=\"Show notification dot for notifications marked as “Don’t show”\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\" style={{ paddingTop: \"15px\", paddingBottom: \"15px\" }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tonClick={toggleActionableNotificationToast}\n\t\t\t\t\tchecked={notificationPreferences.toastTimeoutOnActionableNotifications}\n\t\t\t\t\tlabel=\"Enable toast timeouts on actionable notifications\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Toast times out after</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={informationalToastDuration.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.informationalNotificationToastPeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={informationalToastDuration}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Snooze for</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={snoozeDuration.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.defaultSnoozePeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={snoozeDuration}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"row-section\">\n\t\t\t\t<span className=\"row__lbl\">Turn off the new notification halo after</span>\n\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\tcaretLocation=\"right\"\n\t\t\t\t\tdefaultSelection={newNotificationsHalo.find(\n\t\t\t\t\t\t(element) => element.optionValue === notificationPreferences.newNotificationHaloPeriodSeconds\n\t\t\t\t\t)}\n\t\t\t\t\tbuttonOptions={newNotificationsHalo}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default NotificationsMainPreferences;\n"]}
@@ -1,5 +1,7 @@
1
1
  import React, { useContext, useEffect, useState } from "react";
2
+ // Context
2
3
  import { NotificationsPreferencesContext } from "../../../NotificationsPreferencesContext";
4
+ // Components
3
5
  import BellIcon from "../../../../shared/BellIcon";
4
6
  import BellIconCrossed from "../../../../shared/BellIconCrossed";
5
7
  import { Button } from "../../../../common/Button";
@@ -79,6 +81,7 @@ const NotificationsSourceTypes = (context) => {
79
81
  setTypesMutedState(newTypesMutedState);
80
82
  setAllMuted(!allMuted);
81
83
  };
84
+ // Navigation Hook
82
85
  useEffect(() => {
83
86
  function listenForPreference(error, response) {
84
87
  if (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsSourceTypes.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Dispatch, SetStateAction, useContext, useEffect, useState } from \"react\";\n\n// Types\nimport { IType } from \"../Notifications\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport BellIcon from \"../../../../shared/BellIcon\";\nimport BellIconCrossed from \"../../../../shared/BellIconCrossed\";\nimport { Button } from \"../../../../common/Button\";\nimport { services } from \"@finsemble/finsemble-api\";\n\ntype IMuteFilter = services.notification.types.IMuteFilter;\n\nconst renderTypes = (\n\tmuteFilters: IMuteFilter[],\n\tsourceTypes: IType[],\n\tsetTypesMutedState: Dispatch<SetStateAction<IType[]>>\n) =>\n\tsourceTypes.map((sourceType, index) => {\n\t\tconst toggleMute = (type: string) => {\n\t\t\tconst newState = [...sourceTypes].map((typeToUpdate) => {\n\t\t\t\tif (typeToUpdate.name === type) {\n\t\t\t\t\tconst muteFilter: IMuteFilter | undefined = muteFilters.find(\n\t\t\t\t\t\t(muteFilterItem) => muteFilterItem.type === typeToUpdate.name\n\t\t\t\t\t);\n\t\t\t\t\tif (!muteFilter) {\n\t\t\t\t\t\tconsole.error(`Unable to find mute filter ${typeToUpdate.muted} for source`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet isMuted = false;\n\t\t\t\t\t\tif (typeToUpdate.muted) {\n\t\t\t\t\t\t\tFSBL.Clients.NotificationClient.unmute(muteFilter);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tFSBL.Clients.NotificationClient.mute(muteFilter);\n\t\t\t\t\t\t\tisMuted = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleNotificationsMuteStateChannel\", {\n\t\t\t\t\t\t\tsource: muteFilter.source,\n\t\t\t\t\t\t\ttype: muteFilter.type,\n\t\t\t\t\t\t\tisMuted: isMuted,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\ttypeToUpdate.muted = !typeToUpdate.muted;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn typeToUpdate;\n\t\t\t});\n\t\t\tsetTypesMutedState(newState);\n\t\t};\n\n\t\treturn (\n\t\t\t<div key={`${sourceType.name}__${index}`} className=\"row-section\">\n\t\t\t\t<div className=\"row\">\n\t\t\t\t\t<div className=\"row__lbl\">{sourceType.name}</div>\n\t\t\t\t\t<div className=\"row_right__icon\" onClick={() => toggleMute(sourceType.name)}>\n\t\t\t\t\t\t{sourceType.muted ? <BellIconCrossed /> : <BellIcon />}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t});\n\nconst NotificationsSourceTypes = (context?: any) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst currentNotificationSource = notificationsPreferencesContext.selectedNotificationSource;\n\tconst sourceTypes = currentNotificationSource?.types.filter((type) => type.name !== \"default\") || [];\n\tconst muteFilters: IMuteFilter[] = sourceTypes.map((sourceType) => {\n\t\tconst muteFilter: IMuteFilter = { type: sourceType.name };\n\t\tif (currentNotificationSource?.source) {\n\t\t\tmuteFilter.source = currentNotificationSource.source;\n\t\t}\n\t\treturn muteFilter;\n\t});\n\n\tconst goBack = () => {\n\t\tnotificationsPreferencesContext.setCurrentNotificationsPreferencesView(\"Sources\");\n\t};\n\n\tconst [typesMutedState, setTypesMutedState] = useState(sourceTypes);\n\tconst [allMuted, setAllMuted] = useState(false);\n\n\tconst toggleMuteAll = () => {\n\t\tlet newTypesMutedState: IType[] = [];\n\t\tif (allMuted) {\n\t\t\tnewTypesMutedState = typesMutedState.map((sourceType) => {\n\t\t\t\tsourceType.muted = false;\n\t\t\t\treturn sourceType;\n\t\t\t});\n\t\t\tFSBL.Clients.NotificationClient.unmute(muteFilters);\n\t\t} else {\n\t\t\tnewTypesMutedState = typesMutedState.map((sourceType) => {\n\t\t\t\tsourceType.muted = true;\n\t\t\t\treturn sourceType;\n\t\t\t});\n\t\t\tFSBL.Clients.NotificationClient.mute(muteFilters);\n\t\t}\n\t\tnewTypesMutedState.forEach((element) => {\n\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleNotificationsMuteStateChannel\", {\n\t\t\t\tsource: currentNotificationSource?.source,\n\t\t\t\ttype: element.name,\n\t\t\t\tisMuted: !allMuted,\n\t\t\t});\n\t\t});\n\t\tsetTypesMutedState(newTypesMutedState);\n\t\tsetAllMuted(!allMuted);\n\t};\n\n\t// Navigation Hook\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleUserPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (!data.notification) {\n\t\t\t\t\tnotificationsPreferencesContext.setCurrentNotificationsPreferencesView(\"Home\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tfunction listenMuteStateChanged(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsMuteStateChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tconst newTypesMutedState = [...typesMutedState].map((muteState) => {\n\t\t\t\t\tif (muteState.name !== data.type) return muteState;\n\n\t\t\t\t\treturn { name: data.type, muted: data.isMuted };\n\t\t\t\t});\n\t\t\t\tsetTypesMutedState(newTypesMutedState);\n\t\t\t\tsetAllMuted(newTypesMutedState.every((sourceType) => sourceType.muted));\n\t\t\t}\n\t\t}\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsMuteStateChannel\", listenMuteStateChanged);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsMuteStateChannel\", listenMuteStateChanged);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"notification-sources__container\">\n\t\t\t<div className=\"notification-sources__header\">\n\t\t\t\t<div style={{ paddingRight: 8, marginLeft: -3 }}>\n\t\t\t\t\t<Button onClick={() => goBack()} fashion=\"primary\" iconBefore=\"chevron-left\" text=\"Back\" />\n\t\t\t\t</div>\n\t\t\t\t<span className=\"heading-larger\">\n\t\t\t\t\t{JSON.stringify(notificationsPreferencesContext) === \"{}\" && context\n\t\t\t\t\t\t? context.context.source\n\t\t\t\t\t\t: currentNotificationSource?.source}\n\t\t\t\t</span>\n\t\t\t\t{muteFilters.length > 0 ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tfashion=\"primary\"\n\t\t\t\t\t\tclassName=\"accent-negative\"\n\t\t\t\t\t\ttext={allMuted ? \"Show All\" : \"Don't Show All\"}\n\t\t\t\t\t\tonClick={toggleMuteAll}\n\t\t\t\t\t\tfixedSize={110}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className=\"notification-sources__types\">\n\t\t\t\t{typesMutedState && typesMutedState.length > 0 ? (\n\t\t\t\t\trenderTypes(muteFilters, typesMutedState, setTypesMutedState)\n\t\t\t\t) : (\n\t\t\t\t\t<div id=\"no-source-types\" className=\"row-section\">\n\t\t\t\t\t\tNo source types configured\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NotificationsSourceTypes;\n"]}
1
+ {"version":3,"file":"NotificationsSourceTypes.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Dispatch, SetStateAction, useContext, useEffect, useState } from \"react\";\n\n// Types\nimport { IType } from \"../Notifications\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport BellIcon from \"../../../../shared/BellIcon\";\nimport BellIconCrossed from \"../../../../shared/BellIconCrossed\";\nimport { Button } from \"../../../../common/Button\";\nimport { services } from \"@finsemble/finsemble-api\";\n\ntype IMuteFilter = services.notification.types.IMuteFilter;\n\nconst renderTypes = (\n\tmuteFilters: IMuteFilter[],\n\tsourceTypes: IType[],\n\tsetTypesMutedState: Dispatch<SetStateAction<IType[]>>\n) =>\n\tsourceTypes.map((sourceType, index) => {\n\t\tconst toggleMute = (type: string) => {\n\t\t\tconst newState = [...sourceTypes].map((typeToUpdate) => {\n\t\t\t\tif (typeToUpdate.name === type) {\n\t\t\t\t\tconst muteFilter: IMuteFilter | undefined = muteFilters.find(\n\t\t\t\t\t\t(muteFilterItem) => muteFilterItem.type === typeToUpdate.name\n\t\t\t\t\t);\n\t\t\t\t\tif (!muteFilter) {\n\t\t\t\t\t\tconsole.error(`Unable to find mute filter ${typeToUpdate.muted} for source`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet isMuted = false;\n\t\t\t\t\t\tif (typeToUpdate.muted) {\n\t\t\t\t\t\t\tFSBL.Clients.NotificationClient.unmute(muteFilter);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tFSBL.Clients.NotificationClient.mute(muteFilter);\n\t\t\t\t\t\t\tisMuted = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleNotificationsMuteStateChannel\", {\n\t\t\t\t\t\t\tsource: muteFilter.source,\n\t\t\t\t\t\t\ttype: muteFilter.type,\n\t\t\t\t\t\t\tisMuted: isMuted,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\ttypeToUpdate.muted = !typeToUpdate.muted;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn typeToUpdate;\n\t\t\t});\n\t\t\tsetTypesMutedState(newState);\n\t\t};\n\n\t\treturn (\n\t\t\t<div key={`${sourceType.name}__${index}`} className=\"row-section\">\n\t\t\t\t<div className=\"row\">\n\t\t\t\t\t<div className=\"row__lbl\">{sourceType.name}</div>\n\t\t\t\t\t<div className=\"row_right__icon\" onClick={() => toggleMute(sourceType.name)}>\n\t\t\t\t\t\t{sourceType.muted ? <BellIconCrossed /> : <BellIcon />}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t});\n\nconst NotificationsSourceTypes = (context?: any) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst currentNotificationSource = notificationsPreferencesContext.selectedNotificationSource;\n\tconst sourceTypes = currentNotificationSource?.types.filter((type) => type.name !== \"default\") || [];\n\tconst muteFilters: IMuteFilter[] = sourceTypes.map((sourceType) => {\n\t\tconst muteFilter: IMuteFilter = { type: sourceType.name };\n\t\tif (currentNotificationSource?.source) {\n\t\t\tmuteFilter.source = currentNotificationSource.source;\n\t\t}\n\t\treturn muteFilter;\n\t});\n\n\tconst goBack = () => {\n\t\tnotificationsPreferencesContext.setCurrentNotificationsPreferencesView(\"Sources\");\n\t};\n\n\tconst [typesMutedState, setTypesMutedState] = useState(sourceTypes);\n\tconst [allMuted, setAllMuted] = useState(false);\n\n\tconst toggleMuteAll = () => {\n\t\tlet newTypesMutedState: IType[] = [];\n\t\tif (allMuted) {\n\t\t\tnewTypesMutedState = typesMutedState.map((sourceType) => {\n\t\t\t\tsourceType.muted = false;\n\t\t\t\treturn sourceType;\n\t\t\t});\n\t\t\tFSBL.Clients.NotificationClient.unmute(muteFilters);\n\t\t} else {\n\t\t\tnewTypesMutedState = typesMutedState.map((sourceType) => {\n\t\t\t\tsourceType.muted = true;\n\t\t\t\treturn sourceType;\n\t\t\t});\n\t\t\tFSBL.Clients.NotificationClient.mute(muteFilters);\n\t\t}\n\t\tnewTypesMutedState.forEach((element) => {\n\t\t\tFSBL.Clients.RouterClient.transmit(\"FinsembleNotificationsMuteStateChannel\", {\n\t\t\t\tsource: currentNotificationSource?.source,\n\t\t\t\ttype: element.name,\n\t\t\t\tisMuted: !allMuted,\n\t\t\t});\n\t\t});\n\t\tsetTypesMutedState(newTypesMutedState);\n\t\tsetAllMuted(!allMuted);\n\t};\n\n\t// Navigation Hook\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleUserPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (!data.notification) {\n\t\t\t\t\tnotificationsPreferencesContext.setCurrentNotificationsPreferencesView(\"Home\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tfunction listenMuteStateChanged(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsMuteStateChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tconst newTypesMutedState = [...typesMutedState].map((muteState) => {\n\t\t\t\t\tif (muteState.name !== data.type) return muteState;\n\n\t\t\t\t\treturn { name: data.type, muted: data.isMuted };\n\t\t\t\t});\n\t\t\t\tsetTypesMutedState(newTypesMutedState);\n\t\t\t\tsetAllMuted(newTypesMutedState.every((sourceType) => sourceType.muted));\n\t\t\t}\n\t\t}\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsMuteStateChannel\", listenMuteStateChanged);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsMuteStateChannel\", listenMuteStateChanged);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"notification-sources__container\">\n\t\t\t<div className=\"notification-sources__header\">\n\t\t\t\t<div style={{ paddingRight: 8, marginLeft: -3 }}>\n\t\t\t\t\t<Button onClick={() => goBack()} fashion=\"primary\" iconBefore=\"chevron-left\" text=\"Back\" />\n\t\t\t\t</div>\n\t\t\t\t<span className=\"heading-larger\">\n\t\t\t\t\t{JSON.stringify(notificationsPreferencesContext) === \"{}\" && context\n\t\t\t\t\t\t? context.context.source\n\t\t\t\t\t\t: currentNotificationSource?.source}\n\t\t\t\t</span>\n\t\t\t\t{muteFilters.length > 0 ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tfashion=\"primary\"\n\t\t\t\t\t\tclassName=\"accent-negative\"\n\t\t\t\t\t\ttext={allMuted ? \"Show All\" : \"Don't Show All\"}\n\t\t\t\t\t\tonClick={toggleMuteAll}\n\t\t\t\t\t\tfixedSize={110}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className=\"notification-sources__types\">\n\t\t\t\t{typesMutedState && typesMutedState.length > 0 ? (\n\t\t\t\t\trenderTypes(muteFilters, typesMutedState, setTypesMutedState)\n\t\t\t\t) : (\n\t\t\t\t\t<div id=\"no-source-types\" className=\"row-section\">\n\t\t\t\t\t\tNo source types configured\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NotificationsSourceTypes;\n"]}
@@ -1,7 +1,10 @@
1
1
  import React, { useContext, useEffect, useState } from "react";
2
2
  import ButtonRow from "../../../../common/ButtonRow";
3
+ // Context
3
4
  import { NotificationsPreferencesContext } from "../../../NotificationsPreferencesContext";
5
+ // Components
4
6
  import { Button } from "../../../../common/Button";
7
+ // Utils
5
8
  import { loadSources } from "./notificationViewsUtils";
6
9
  const NotificationSourceRowButton = ({ source }) => {
7
10
  const notificationsPreferencesContext = useContext(NotificationsPreferencesContext);
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsSourcesPreferences.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useState } from \"react\";\nimport ButtonRow from \"../../../../common/ButtonRow\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport { Button } from \"../../../../common/Button\";\n\n// Types\nimport { INotificationSources } from \"../Notifications\";\n\n// Utils\nimport { loadSources } from \"./notificationViewsUtils\";\n\nconst NotificationSourceRowButton: React.FunctionComponent<{ source: INotificationSources }> = ({ source }) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst { setSelectedNotificationSource, setCurrentNotificationsPreferencesView } = notificationsPreferencesContext;\n\n\tconst [showDefaultIcon] = useState(!source.icon);\n\n\treturn (\n\t\t<div className=\"row-section\">\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetSelectedNotificationSource(source);\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t\t}}\n\t\t\t\tlabel={source.source}\n\t\t\t\timg={source.icon}\n\t\t\t\tshowDefaultIcon={showDefaultIcon}\n\t\t\t\ticonClass=\"ff-caret-up rotate-90\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst NotificationsSourcesPreferences: React.FunctionComponent<{ context?: any }> = ({ context }) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tlet {\n\t\tnotificationSources,\n\t\tsetNotificationSources,\n\t\tsetSelectedNotificationSource,\n\t\tsetCurrentNotificationsPreferencesView,\n\t} = notificationsPreferencesContext;\n\tif (JSON.stringify(notificationsPreferencesContext) === \"{}\" && context) {\n\t\tnotificationSources = context;\n\t}\n\tconst [reloadSources, setReloadSources] = useState(false);\n\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsNavigationChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (!data.notification) {\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Home\");\n\t\t\t\t} else {\n\t\t\t\t\tconst selectedSource =\n\t\t\t\t\t\tnotificationSources.find((source) => source.source === data.notification.source) || null;\n\t\t\t\t\tsetSelectedNotificationSource(selectedSource);\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsNavigationChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsNavigationChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tloadSources(setNotificationSources, setReloadSources);\n\t}, [reloadSources]);\n\n\tuseEffect(() => {\n\t\tasync function listenForRefreshEvent(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data === \"notificationReceived\") {\n\t\t\t\t\tsetReloadSources(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\t};\n\t}, []);\n\n\tconst goBack = () => {\n\t\tsetCurrentNotificationsPreferencesView(\"Home\");\n\t};\n\n\treturn (\n\t\t<div className=\"notification-sources__container\">\n\t\t\t<div className=\"notification-sources__header\">\n\t\t\t\t<div style={{ paddingRight: 8, marginLeft: -3 }}>\n\t\t\t\t\t<Button onClick={() => goBack()} fashion=\"primary\" iconBefore=\"chevron-left\" text=\"Back\" />\n\t\t\t\t</div>\n\t\t\t\t<span className=\"heading-larger\">Notification sources</span>\n\t\t\t</div>\n\t\t\t<div className=\"notification-sources__list\">\n\t\t\t\t{notificationSources && notificationSources.length > 0 ? (\n\t\t\t\t\tnotificationSources.map((source, index) => <NotificationSourceRowButton key={index} source={source} />)\n\t\t\t\t) : (\n\t\t\t\t\t<span id=\"no-notification-sources\">No notification sources to display</span>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NotificationsSourcesPreferences;\n"]}
1
+ {"version":3,"file":"NotificationsSourcesPreferences.js","sourceRoot":"","sources":["../../../../../../src/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,UAAU;AACV,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,2BAA2B,GAA8D,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7G,MAAM,+BAA+B,GAAG,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACpF,MAAM,EAAE,6BAA6B,EAAE,sCAAsC,EAAE,GAAG,+BAA+B,CAAC;IAElH,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,CACN,6BAAK,SAAS,EAAC,aAAa;QAC3B,oBAAC,SAAS,IACT,OAAO,EAAE,GAAG,EAAE;gBACb,6BAA6B,CAAC,MAAM,CAAC,CAAC;gBACtC,sCAAsC,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC,EACD,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,IAAI,EAChB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAC,uBAAuB,GAChC,CACG,CACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAA+C,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACnG,MAAM,+BAA+B,GAAG,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACpF,IAAI,EACH,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,sCAAsC,GACtC,GAAG,+BAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,KAAK,IAAI,IAAI,OAAO,EAAE;QACxE,mBAAmB,GAAG,OAAO,CAAC;KAC9B;IACD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,mBAAmB,CAAC,KAAU,EAAE,QAAa;YACrD,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;aAClE;iBAAM;gBACN,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACvB,sCAAsC,CAAC,MAAM,CAAC,CAAC;iBAC/C;qBAAM;oBACN,MAAM,cAAc,GACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;oBAC1F,6BAA6B,CAAC,cAAc,CAAC,CAAC;oBAC9C,sCAAsC,CAAC,SAAS,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,yCAAyC,EAAE,mBAAmB,CAAC,CAAC;QACtG,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,yCAAyC,EAAE,mBAAmB,CAAC,CAAC;QAC1G,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,UAAU,qBAAqB,CAAC,KAAU,EAAE,QAAa;YAC7D,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;aACnE;iBAAM;gBACN,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC1B,IAAI,IAAI,KAAK,sBAAsB,EAAE;oBACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBACvB;aACD;QACF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,CAAC;QACzG,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,CAAC;QAC7G,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,sCAAsC,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAC,iCAAiC;QAC/C,6BAAK,SAAS,EAAC,8BAA8B;YAC5C,6BAAK,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC9C,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAC,SAAS,EAAC,UAAU,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAG,CACtF;YACN,8BAAM,SAAS,EAAC,gBAAgB,2BAA4B,CACvD;QACN,6BAAK,SAAS,EAAC,4BAA4B,IACzC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACxD,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAC,2BAA2B,IAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC,CACvG,CAAC,CAAC,CAAC,CACH,8BAAM,EAAE,EAAC,yBAAyB,yCAA0C,CAC5E,CACI,CACD,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC","sourcesContent":["import React, { useContext, useEffect, useState } from \"react\";\nimport ButtonRow from \"../../../../common/ButtonRow\";\n\n// Context\nimport { NotificationsPreferencesContext } from \"../../../NotificationsPreferencesContext\";\n\n// Components\nimport { Button } from \"../../../../common/Button\";\n\n// Types\nimport { INotificationSources } from \"../Notifications\";\n\n// Utils\nimport { loadSources } from \"./notificationViewsUtils\";\n\nconst NotificationSourceRowButton: React.FunctionComponent<{ source: INotificationSources }> = ({ source }) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tconst { setSelectedNotificationSource, setCurrentNotificationsPreferencesView } = notificationsPreferencesContext;\n\n\tconst [showDefaultIcon] = useState(!source.icon);\n\n\treturn (\n\t\t<div className=\"row-section\">\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetSelectedNotificationSource(source);\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t\t}}\n\t\t\t\tlabel={source.source}\n\t\t\t\timg={source.icon}\n\t\t\t\tshowDefaultIcon={showDefaultIcon}\n\t\t\t\ticonClass=\"ff-caret-up rotate-90\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst NotificationsSourcesPreferences: React.FunctionComponent<{ context?: any }> = ({ context }) => {\n\tconst notificationsPreferencesContext = useContext(NotificationsPreferencesContext);\n\tlet {\n\t\tnotificationSources,\n\t\tsetNotificationSources,\n\t\tsetSelectedNotificationSource,\n\t\tsetCurrentNotificationsPreferencesView,\n\t} = notificationsPreferencesContext;\n\tif (JSON.stringify(notificationsPreferencesContext) === \"{}\" && context) {\n\t\tnotificationSources = context;\n\t}\n\tconst [reloadSources, setReloadSources] = useState(false);\n\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsNavigationChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (!data.notification) {\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Home\");\n\t\t\t\t} else {\n\t\t\t\t\tconst selectedSource =\n\t\t\t\t\t\tnotificationSources.find((source) => source.source === data.notification.source) || null;\n\t\t\t\t\tsetSelectedNotificationSource(selectedSource);\n\t\t\t\t\tsetCurrentNotificationsPreferencesView(\"Details\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsNavigationChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsNavigationChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tloadSources(setNotificationSources, setReloadSources);\n\t}, [reloadSources]);\n\n\tuseEffect(() => {\n\t\tasync function listenForRefreshEvent(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleNotificationsPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data === \"notificationReceived\") {\n\t\t\t\t\tsetReloadSources(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleNotificationsPreferencesChannel\", listenForRefreshEvent);\n\t\t};\n\t}, []);\n\n\tconst goBack = () => {\n\t\tsetCurrentNotificationsPreferencesView(\"Home\");\n\t};\n\n\treturn (\n\t\t<div className=\"notification-sources__container\">\n\t\t\t<div className=\"notification-sources__header\">\n\t\t\t\t<div style={{ paddingRight: 8, marginLeft: -3 }}>\n\t\t\t\t\t<Button onClick={() => goBack()} fashion=\"primary\" iconBefore=\"chevron-left\" text=\"Back\" />\n\t\t\t\t</div>\n\t\t\t\t<span className=\"heading-larger\">Notification sources</span>\n\t\t\t</div>\n\t\t\t<div className=\"notification-sources__list\">\n\t\t\t\t{notificationSources && notificationSources.length > 0 ? (\n\t\t\t\t\tnotificationSources.map((source, index) => <NotificationSourceRowButton key={index} source={source} />)\n\t\t\t\t) : (\n\t\t\t\t\t<span id=\"no-notification-sources\">No notification sources to display</span>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NotificationsSourcesPreferences;\n"]}
@@ -1,14 +1,15 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import { Checkbox } from "../../../common/Checkbox";
3
3
  import { TimeSelect } from "../../../common/TimeSelect";
4
- import { FinsembleToggle } from "../../../common/FinsembleToggle";
5
4
  import DefaultDropdownButton from "../../../shared/DefaultDropdownButton";
5
+ import { FinsembleToggleButtonBar } from "../../../common/FinsembleToggleButtonBar";
6
6
  const DEFAULT_TIME = {
7
7
  hour: 4,
8
8
  minute: 0,
9
9
  meridiem: "AM",
10
10
  };
11
11
  export const ScheduledClose = (props) => {
12
+ var _a;
12
13
  const [initialized, setInitialized] = useState(false);
13
14
  const [enabled, setEnabled] = useState(false);
14
15
  const [weekly, setWeekly] = useState(false);
@@ -28,13 +29,22 @@ export const ScheduledClose = (props) => {
28
29
  },
29
30
  });
30
31
  }
32
+ /**
33
+ * Toggle the enabled state of the select boxes.
34
+ */
31
35
  const toggleEnabled = () => {
32
36
  const toggled = !enabled;
37
+ // If the select boxes are no longer enabled, reset the scheduled restart time and call a method on the Actions object.
38
+ // That function will set scheduledRestart to null via the preferences API. But we want our display to look nice, hence the bit where we reset it to the default value.
33
39
  setEnabled(toggled);
34
40
  };
35
41
  const onTimeSelectChange = (time) => {
36
42
  setScheduledClose(time);
37
43
  };
44
+ /**
45
+ * Add listener on the store. When the preferences field changes, we change our local state.
46
+ * Also, get the initial state from the store.
47
+ */
38
48
  useEffect(() => {
39
49
  props.getPreferences((err, data) => {
40
50
  var _a;
@@ -78,16 +88,27 @@ export const ScheduledClose = (props) => {
78
88
  return (React.createElement("div", { className: "complex-menu-content-row", style: { overflow: "visible" } },
79
89
  React.createElement("div", { className: "close-toggle-container" },
80
90
  React.createElement(Checkbox, { onClick: toggleEnabled, checked: enabled, label: props.label }),
81
- React.createElement(FinsembleToggle, { key: `${weekly}`, checked: !weekly, onChange: (value) => {
91
+ React.createElement(FinsembleToggleButtonBar, { selected: !weekly, options: [
92
+ {
93
+ label: "Daily",
94
+ value: true,
95
+ },
96
+ {
97
+ label: "Weekly",
98
+ value: false,
99
+ },
100
+ ], onChange: (value) => {
101
+ // Day representes the day of the week, and is false when irrelevant.
102
+ // Here, we only ever set it to false. The day number comes from the dropdown below.
82
103
  if (!value) {
83
104
  setDay(false);
84
105
  }
85
106
  setWeekly(!value);
86
- }, textToggle: ["Daily", "Weekly"], enabled: enabled })),
107
+ }, enabled: enabled })),
87
108
  weekly && (React.createElement("div", { className: `time-selectors daily-select ${enabled ? "" : "disabled"}` },
88
- React.createElement("div", { className: "daily-select-label" }, "Day:"),
109
+ React.createElement("div", { className: "daily-select-label", "aria-label": "Day" }, "Day:"),
89
110
  React.createElement("div", { className: "daily-select-dropdown" },
90
- React.createElement(DefaultDropdownButton, { key: `${day}`, buttonOptions: dayOptions, classNames: "push-right", allowEmpty: false, caretLocation: "right", enabled: enabled, defaultSelection: dayOptions[day ? day : 0] })))),
111
+ React.createElement(DefaultDropdownButton, { key: `${day}`, buttonOptions: dayOptions, classNames: "push-right", allowEmpty: false, caretLocation: "right", enabled: enabled, buttonLabel: `${(_a = dayOptions[day ? day : 0]) === null || _a === void 0 ? void 0 : _a.optionLabel}`, defaultSelection: dayOptions[day ? day : 0] })))),
91
112
  React.createElement("div", { className: "time-selectors" },
92
113
  React.createElement(TimeSelect, { key: `${scheduledClose.hour}${scheduledClose.minute}${scheduledClose.meridiem}`, enabled: enabled, initialTime: scheduledClose, onChange: onTimeSelectChange }))));
93
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledClose.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/general/ScheduledClose.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAkB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,qBAEN,MAAM,uCAAuC,CAAC;AAI/C,MAAM,YAAY,GAAG;IACpB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,IAAI;CACd,CAAC;AASF,MAAM,CAAC,MAAM,cAAc,GAAiD,CAAC,KAAK,EAAE,EAAE;IACrF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAiB,YAAY,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAiB,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,CAAC,QAAa,EAAE,EAAE;QACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAkD,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5F,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;QACnB,UAAU,CAAC,IAAI,CAAC;YACf,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,GAAG,EAAE;gBAClB,UAAU,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;SACD,CAAC,CAAC;KACH;IAKD,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC;QAGzB,UAAU,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,IAAoB,EAAE,EAAE;QACnD,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAMF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,cAAc,CAAC,CAAC,GAAQ,EAAE,IAAS,EAAE,EAAE;;YAC5C,IAAI,IAAI,EAAE;gBACT,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC;gBAClD,IAAI,cAAc,GAAmB,KAAK,CAAC;gBAC3C,IAAI,SAAS,EAAE;oBACd,cAAc,GAAG,MAAA,WAAW,CAAC,SAAS,mCAAI,KAAK,CAAC;oBAChD,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC3D;qBAAM;oBACN,WAAW,GAAG,YAAY,CAAC;iBAC3B;gBAED,MAAM,CAAC,cAAc,CAAC,CAAC;gBACvB,SAAS,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;gBACpC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACtB,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,CAAC;aACrB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,GAAuC,EAAE;QAC5D,IAAI,WAAW,GAAuC,KAAK,CAAC;QAE5D,IAAI,OAAO,EAAE;YACZ,WAAW,qBAAQ,cAAc,CAAE,CAAC;YACpC,IAAI,MAAM,EAAE;gBACX,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;iBAAM;gBACN,OAAO,WAAW,CAAC,SAAS,CAAC;aAC7B;SACD;QAED,OAAO,WAAW,CAAC;IACpB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,WAAW,EAAE;YAChB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;SACrD;IACF,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE3C,OAAO,CACN,6BAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;QACvE,6BAAK,SAAS,EAAC,wBAAwB;YACtC,oBAAC,QAAQ,IAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI;YAC1E,oBAAC,eAAe,IACf,GAAG,EAAE,GAAG,MAAM,EAAE,EAChB,OAAO,EAAE,CAAC,MAAM,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,EAAE;wBACX,MAAM,CAAC,KAAK,CAAC,CAAC;qBACd;oBACD,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,EACD,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,CACG;QACL,MAAM,IAAI,CACV,6BAAK,SAAS,EAAE,+BAA+B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;YACzE,6BAAK,SAAS,EAAC,oBAAoB,WAAW;YAC9C,6BAAK,SAAS,EAAC,uBAAuB;gBACrC,oBAAC,qBAAqB,IACrB,GAAG,EAAE,GAAG,GAAG,EAAE,EACb,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,KAAK,EACjB,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1C,CACG,CACD,CACN;QACD,6BAAK,SAAS,EAAC,gBAAgB;YAC9B,oBAAC,UAAU,IACV,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,EAC/E,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,kBAAkB,GAC3B,CACG,CACD,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Checkbox } from \"../../../common/Checkbox\";\nimport { TimeSelect, TimeSelectTime } from \"../../../common/TimeSelect\";\nimport { FinsembleToggle } from \"../../../common/FinsembleToggle\";\nimport DefaultDropdownButton, {\n\tIFinsembleDefaultDropdownButtonOptionsProps,\n} from \"../../../shared/DefaultDropdownButton\";\nimport { ScheduledDayTimeObjectType } from \"../../UserPreferenceTypes\";\nimport { StandardCallback } from \"@finsemble/finsemble-api/types/types\";\n\nconst DEFAULT_TIME = {\n\thour: 4,\n\tminute: 0,\n\tmeridiem: \"AM\",\n};\n\nexport type ScheduledCloseProps = {\n\tgetPreferences: (cb: StandardCallback) => void;\n\tsetPreferences: (key: any, value: any) => void;\n\tconfigKey: string;\n\tlabel: string;\n};\n\nexport const ScheduledClose: React.FunctionComponent<ScheduledCloseProps> = (props) => {\n\tconst [initialized, setInitialized] = useState<boolean>(false);\n\tconst [enabled, setEnabled] = useState(false);\n\tconst [weekly, setWeekly] = useState<boolean>(false);\n\tconst [scheduledClose, setScheduledClose] = useState<TimeSelectTime>(DEFAULT_TIME);\n\tconst [day, setDay] = useState<false | number>(false);\n\n\tconst dayChanged = (dayValue: any) => {\n\t\tsetDay(Number.parseInt(dayValue, 10));\n\t};\n\n\tconst dayOptions: IFinsembleDefaultDropdownButtonOptionsProps[] = [];\n\tconst DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\tfor (let k in DAYS) {\n\t\tdayOptions.push({\n\t\t\toptionLabel: DAYS[k],\n\t\t\toptionValue: k,\n\t\t\tclickHandler: () => {\n\t\t\t\tdayChanged(k);\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * Toggle the enabled state of the select boxes.\n\t */\n\tconst toggleEnabled = () => {\n\t\tconst toggled = !enabled;\n\t\t// If the select boxes are no longer enabled, reset the scheduled restart time and call a method on the Actions object.\n\t\t// That function will set scheduledRestart to null via the preferences API. But we want our display to look nice, hence the bit where we reset it to the default value.\n\t\tsetEnabled(toggled);\n\t};\n\n\tconst onTimeSelectChange = (time: TimeSelectTime) => {\n\t\tsetScheduledClose(time);\n\t};\n\n\t/**\n\t * Add listener on the store. When the preferences field changes, we change our local state.\n\t * Also, get the initial state from the store.\n\t */\n\tuseEffect(() => {\n\t\tprops.getPreferences((err: any, data: any) => {\n\t\t\tif (data) {\n\t\t\t\tlet configValue = data[props.configKey];\n\t\t\t\tconst isEnabled = typeof configValue === \"object\";\n\t\t\t\tlet preferencesDay: number | false = false;\n\t\t\t\tif (isEnabled) {\n\t\t\t\t\tpreferencesDay = configValue.dayOfWeek ?? false;\n\t\t\t\t\tconfigValue.meridiem = configValue.hour > 11 ? \"PM\" : \"AM\";\n\t\t\t\t} else {\n\t\t\t\t\tconfigValue = DEFAULT_TIME;\n\t\t\t\t}\n\n\t\t\t\tsetDay(preferencesDay);\n\t\t\t\tsetWeekly(preferencesDay !== false);\n\t\t\t\tsetEnabled(isEnabled);\n\t\t\t\tsetScheduledClose(configValue);\n\t\t\t\tsetInitialized(true);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tconst getSchedule = (): ScheduledDayTimeObjectType | false => {\n\t\tlet returnValue: ScheduledDayTimeObjectType | false = false;\n\n\t\tif (enabled) {\n\t\t\treturnValue = { ...scheduledClose };\n\t\t\tif (weekly) {\n\t\t\t\treturnValue.dayOfWeek = day ? day : 0;\n\t\t\t} else {\n\t\t\t\tdelete returnValue.dayOfWeek;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tuseEffect(() => {\n\t\tif (initialized) {\n\t\t\tprops.setPreferences(props.configKey, getSchedule());\n\t\t}\n\t}, [scheduledClose, weekly, enabled, day]);\n\n\treturn (\n\t\t<div className=\"complex-menu-content-row\" style={{ overflow: \"visible\" }}>\n\t\t\t<div className=\"close-toggle-container\">\n\t\t\t\t<Checkbox onClick={toggleEnabled} checked={enabled} label={props.label} />\n\t\t\t\t<FinsembleToggle\n\t\t\t\t\tkey={`${weekly}`}\n\t\t\t\t\tchecked={!weekly}\n\t\t\t\t\tonChange={(value) => {\n\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\tsetDay(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetWeekly(!value);\n\t\t\t\t\t}}\n\t\t\t\t\ttextToggle={[\"Daily\", \"Weekly\"]}\n\t\t\t\t\tenabled={enabled}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{weekly && (\n\t\t\t\t<div className={`time-selectors daily-select ${enabled ? \"\" : \"disabled\"}`}>\n\t\t\t\t\t<div className=\"daily-select-label\">Day:</div>\n\t\t\t\t\t<div className=\"daily-select-dropdown\">\n\t\t\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\t\t\tkey={`${day}`}\n\t\t\t\t\t\t\tbuttonOptions={dayOptions}\n\t\t\t\t\t\t\tclassNames={\"push-right\"}\n\t\t\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\t\t\tcaretLocation={\"right\"}\n\t\t\t\t\t\t\tenabled={enabled}\n\t\t\t\t\t\t\tdefaultSelection={dayOptions[day ? day : 0]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"time-selectors\">\n\t\t\t\t<TimeSelect\n\t\t\t\t\tkey={`${scheduledClose.hour}${scheduledClose.minute}${scheduledClose.meridiem}`}\n\t\t\t\t\tenabled={enabled}\n\t\t\t\t\tinitialTime={scheduledClose}\n\t\t\t\t\tonChange={onTimeSelectChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ScheduledClose;\n"]}
1
+ {"version":3,"file":"ScheduledClose.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/general/ScheduledClose.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Checkbox } from \"../../../common/Checkbox\";\nimport { TimeSelect, TimeSelectTime } from \"../../../common/TimeSelect\";\nimport DefaultDropdownButton, {\n\tIFinsembleDefaultDropdownButtonOptionsProps,\n} from \"../../../shared/DefaultDropdownButton\";\nimport { ScheduledDayTimeObjectType } from \"../../UserPreferenceTypes\";\nimport { StandardCallback } from \"@finsemble/finsemble-api/types/types\";\nimport { FinsembleToggleButtonBar } from \"../../../common/FinsembleToggleButtonBar\";\n\nconst DEFAULT_TIME = {\n\thour: 4,\n\tminute: 0,\n\tmeridiem: \"AM\",\n};\n\nexport type ScheduledCloseProps = {\n\tgetPreferences: (cb: StandardCallback) => void;\n\tsetPreferences: (key: any, value: any) => void;\n\tconfigKey: string;\n\tlabel: string;\n};\n\nexport const ScheduledClose: React.FunctionComponent<ScheduledCloseProps> = (props) => {\n\tconst [initialized, setInitialized] = useState<boolean>(false);\n\tconst [enabled, setEnabled] = useState(false);\n\tconst [weekly, setWeekly] = useState<boolean>(false);\n\tconst [scheduledClose, setScheduledClose] = useState<TimeSelectTime>(DEFAULT_TIME);\n\tconst [day, setDay] = useState<false | number>(false);\n\n\tconst dayChanged = (dayValue: any) => {\n\t\tsetDay(Number.parseInt(dayValue, 10));\n\t};\n\n\tconst dayOptions: IFinsembleDefaultDropdownButtonOptionsProps[] = [];\n\tconst DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\tfor (let k in DAYS) {\n\t\tdayOptions.push({\n\t\t\toptionLabel: DAYS[k],\n\t\t\toptionValue: k,\n\t\t\tclickHandler: () => {\n\t\t\t\tdayChanged(k);\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * Toggle the enabled state of the select boxes.\n\t */\n\tconst toggleEnabled = () => {\n\t\tconst toggled = !enabled;\n\t\t// If the select boxes are no longer enabled, reset the scheduled restart time and call a method on the Actions object.\n\t\t// That function will set scheduledRestart to null via the preferences API. But we want our display to look nice, hence the bit where we reset it to the default value.\n\t\tsetEnabled(toggled);\n\t};\n\n\tconst onTimeSelectChange = (time: TimeSelectTime) => {\n\t\tsetScheduledClose(time);\n\t};\n\n\t/**\n\t * Add listener on the store. When the preferences field changes, we change our local state.\n\t * Also, get the initial state from the store.\n\t */\n\tuseEffect(() => {\n\t\tprops.getPreferences((err: any, data: any) => {\n\t\t\tif (data) {\n\t\t\t\tlet configValue = data[props.configKey];\n\t\t\t\tconst isEnabled = typeof configValue === \"object\";\n\t\t\t\tlet preferencesDay: number | false = false;\n\t\t\t\tif (isEnabled) {\n\t\t\t\t\tpreferencesDay = configValue.dayOfWeek ?? false;\n\t\t\t\t\tconfigValue.meridiem = configValue.hour > 11 ? \"PM\" : \"AM\";\n\t\t\t\t} else {\n\t\t\t\t\tconfigValue = DEFAULT_TIME;\n\t\t\t\t}\n\n\t\t\t\tsetDay(preferencesDay);\n\t\t\t\tsetWeekly(preferencesDay !== false);\n\t\t\t\tsetEnabled(isEnabled);\n\t\t\t\tsetScheduledClose(configValue);\n\t\t\t\tsetInitialized(true);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tconst getSchedule = (): ScheduledDayTimeObjectType | false => {\n\t\tlet returnValue: ScheduledDayTimeObjectType | false = false;\n\n\t\tif (enabled) {\n\t\t\treturnValue = { ...scheduledClose };\n\t\t\tif (weekly) {\n\t\t\t\treturnValue.dayOfWeek = day ? day : 0;\n\t\t\t} else {\n\t\t\t\tdelete returnValue.dayOfWeek;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tuseEffect(() => {\n\t\tif (initialized) {\n\t\t\tprops.setPreferences(props.configKey, getSchedule());\n\t\t}\n\t}, [scheduledClose, weekly, enabled, day]);\n\n\treturn (\n\t\t<div className=\"complex-menu-content-row\" style={{ overflow: \"visible\" }}>\n\t\t\t<div className=\"close-toggle-container\">\n\t\t\t\t<Checkbox onClick={toggleEnabled} checked={enabled} label={props.label} />\n\t\t\t\t<FinsembleToggleButtonBar\n\t\t\t\t\tselected={!weekly}\n\t\t\t\t\toptions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: \"Daily\",\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: \"Weekly\",\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t\tonChange={(value) => {\n\t\t\t\t\t\t// Day representes the day of the week, and is false when irrelevant.\n\t\t\t\t\t\t// Here, we only ever set it to false. The day number comes from the dropdown below.\n\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\tsetDay(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetWeekly(!value);\n\t\t\t\t\t}}\n\t\t\t\t\tenabled={enabled}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{weekly && (\n\t\t\t\t<div className={`time-selectors daily-select ${enabled ? \"\" : \"disabled\"}`}>\n\t\t\t\t\t<div className=\"daily-select-label\" aria-label=\"Day\">\n\t\t\t\t\t\tDay:\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"daily-select-dropdown\">\n\t\t\t\t\t\t<DefaultDropdownButton\n\t\t\t\t\t\t\tkey={`${day}`}\n\t\t\t\t\t\t\tbuttonOptions={dayOptions}\n\t\t\t\t\t\t\tclassNames={\"push-right\"}\n\t\t\t\t\t\t\tallowEmpty={false}\n\t\t\t\t\t\t\tcaretLocation={\"right\"}\n\t\t\t\t\t\t\tenabled={enabled}\n\t\t\t\t\t\t\tbuttonLabel={`${dayOptions[day ? day : 0]?.optionLabel}`}\n\t\t\t\t\t\t\tdefaultSelection={dayOptions[day ? day : 0]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"time-selectors\">\n\t\t\t\t<TimeSelect\n\t\t\t\t\tkey={`${scheduledClose.hour}${scheduledClose.minute}${scheduledClose.meridiem}`}\n\t\t\t\t\tenabled={enabled}\n\t\t\t\t\tinitialTime={scheduledClose}\n\t\t\t\t\tonChange={onTimeSelectChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ScheduledClose;\n"]}
@@ -4,6 +4,6 @@ export const WorkspaceButton = ({ title, onMouseDown, onClick, type }) => (React
4
4
  onClick();
5
5
  }
6
6
  } },
7
- React.createElement("i", { className: `workspace-action-button-icon ${type === "import" ? "ff-import" : "ff-export"}` }),
7
+ React.createElement("i", { className: `workspace-action-button-icon ${type === "import" ? "ff-import" : "ff-export"}`, "aria-hidden": "true" }),
8
8
  React.createElement("div", { className: "workspace-action-button-label" }, type === "import" ? "Import" : "Export")));
9
9
  //# sourceMappingURL=WorkspaceButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceButton.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/workspaces/WorkspaceButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAQ1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAwB,EAAE,EAAE,CAAC,CAC/F,6BACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,uCAAuC,EACjD,IAAI,EAAC,QAAQ,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,CAAsB,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACvC,OAAO,EAAE,CAAC;SACV;IACF,CAAC;IAED,2BAAG,SAAS,EAAE,gCAAgC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,GAAM;IACnG,6BAAK,SAAS,EAAC,+BAA+B,IAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAO,CACzF,CACN,CAAC","sourcesContent":["import React, { MouseEvent } from \"react\";\n\nexport type WorkspaceButtonProps = {\n\tonClick: (e?: React.MouseEvent<HTMLDivElement>) => void;\n\tonMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n\ttitle?: string;\n\ttype?: string;\n};\nexport const WorkspaceButton = ({ title, onMouseDown, onClick, type }: WorkspaceButtonProps) => (\n\t<div\n\t\ttitle={title}\n\t\tclassName=\"action-button workspace-action-button\"\n\t\trole=\"button\"\n\t\tonMouseDown={onMouseDown}\n\t\tonClick={onClick}\n\t\ttabIndex={0}\n\t\tonKeyDown={(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === \" \" || e.key === \"Enter\") {\n\t\t\t\tonClick();\n\t\t\t}\n\t\t}}\n\t>\n\t\t<i className={`workspace-action-button-icon ${type === \"import\" ? \"ff-import\" : \"ff-export\"}`}></i>\n\t\t<div className=\"workspace-action-button-label\">{type === \"import\" ? \"Import\" : \"Export\"}</div>\n\t</div>\n);\n"]}
1
+ {"version":3,"file":"WorkspaceButton.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/workspaces/WorkspaceButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAQ1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAwB,EAAE,EAAE,CAAC,CAC/F,6BACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,uCAAuC,EACjD,IAAI,EAAC,QAAQ,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,CAAsB,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACvC,OAAO,EAAE,CAAC;SACV;IACF,CAAC;IAED,2BACC,SAAS,EAAE,gCAAgC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,iBAC9E,MAAM,GACd;IACL,6BAAK,SAAS,EAAC,+BAA+B,IAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAO,CACzF,CACN,CAAC","sourcesContent":["import React, { MouseEvent } from \"react\";\n\nexport type WorkspaceButtonProps = {\n\tonClick: (e?: React.MouseEvent<HTMLDivElement>) => void;\n\tonMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n\ttitle?: string;\n\ttype?: string;\n};\nexport const WorkspaceButton = ({ title, onMouseDown, onClick, type }: WorkspaceButtonProps) => (\n\t<div\n\t\ttitle={title}\n\t\tclassName=\"action-button workspace-action-button\"\n\t\trole=\"button\"\n\t\tonMouseDown={onMouseDown}\n\t\tonClick={onClick}\n\t\ttabIndex={0}\n\t\tonKeyDown={(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === \" \" || e.key === \"Enter\") {\n\t\t\t\tonClick();\n\t\t\t}\n\t\t}}\n\t>\n\t\t<i\n\t\t\tclassName={`workspace-action-button-icon ${type === \"import\" ? \"ff-import\" : \"ff-export\"}`}\n\t\t\taria-hidden=\"true\"\n\t\t></i>\n\t\t<div className=\"workspace-action-button-label\">{type === \"import\" ? \"Import\" : \"Export\"}</div>\n\t</div>\n);\n"]}
@@ -9,11 +9,11 @@ declare type WorkspaceEditorState = {
9
9
  finished: boolean;
10
10
  };
11
11
  export declare class WorkspaceEditor extends React.Component<WorkspaceEditorProps, WorkspaceEditorState> {
12
+ initialWorkspaceName: string;
12
13
  constructor(props: WorkspaceEditorProps);
13
14
  onKeyDown(e: any): void;
14
15
  onChange(e: any): void;
15
16
  onFocus(e: any): void;
16
- onBlur(): void;
17
17
  render(): JSX.Element;
18
18
  }
19
19
  export declare type WorkspaceItemProps = {
@@ -7,14 +7,14 @@ export class WorkspaceEditor extends React.Component {
7
7
  value: props.value || "",
8
8
  finished: false,
9
9
  };
10
+ this.initialWorkspaceName = props.value || "";
10
11
  this.onKeyDown = this.onKeyDown.bind(this);
11
12
  this.onChange = this.onChange.bind(this);
12
- this.onBlur = this.onBlur.bind(this);
13
13
  this.onFocus = this.onFocus.bind(this);
14
14
  }
15
15
  onKeyDown(e) {
16
16
  if (e.key === "Escape") {
17
- this.setState({ finished: true }, () => {
17
+ this.setState({ finished: true, value: this.initialWorkspaceName }, () => {
18
18
  var _a, _b;
19
19
  (_b = (_a = this.props).cancelHandler) === null || _b === void 0 ? void 0 : _b.call(_a);
20
20
  });
@@ -24,6 +24,7 @@ export class WorkspaceEditor extends React.Component {
24
24
  var _a, _b;
25
25
  (_b = (_a = this.props).saveHandler) === null || _b === void 0 ? void 0 : _b.call(_a, val);
26
26
  };
27
+ // binding so we don't lose the event inside of react's crazy callback structure
27
28
  this.setState({ finished: true }, finish.bind(this, e.target.value));
28
29
  }
29
30
  }
@@ -35,15 +36,24 @@ export class WorkspaceEditor extends React.Component {
35
36
  onFocus(e) {
36
37
  e.target.select();
37
38
  }
38
- onBlur() {
39
- const finish = (val) => {
40
- var _a, _b;
41
- (_b = (_a = this.props).saveHandler) === null || _b === void 0 ? void 0 : _b.call(_a, val);
42
- };
43
- this.setState({ finished: true }, finish.bind(this, this.state.value));
44
- }
45
39
  render() {
46
- return (React.createElement("input", { onFocus: this.onFocus, onBlur: this.onBlur, autoFocus: true, value: this.state.value, className: "workspace-editor", onChange: this.onChange, onKeyDown: this.onKeyDown }));
40
+ return (React.createElement(React.Fragment, null,
41
+ React.createElement("input", { onFocus: this.onFocus, autoFocus: true, value: this.state.value, className: "workspace-editor", onChange: this.onChange, onKeyDown: this.onKeyDown }),
42
+ React.createElement("div", { className: "individual-workspace-actions" },
43
+ React.createElement("div", { title: "Save", className: "individual-workspace-action", onClick: () => {
44
+ this.setState({ finished: true }, () => {
45
+ var _a, _b;
46
+ (_b = (_a = this.props).saveHandler) === null || _b === void 0 ? void 0 : _b.call(_a, this.state.value);
47
+ });
48
+ } },
49
+ React.createElement("i", { className: "ff-check-mark" })),
50
+ React.createElement("div", { title: "Cancel", className: "individual-workspace-action", onClick: () => {
51
+ this.setState({ finished: true, value: this.initialWorkspaceName }, () => {
52
+ var _a, _b;
53
+ (_b = (_a = this.props).cancelHandler) === null || _b === void 0 ? void 0 : _b.call(_a);
54
+ });
55
+ } },
56
+ React.createElement("i", { className: "ff-close" })))));
47
57
  }
48
58
  }
49
59
  const WorkspaceItem = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceItem.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/workspaces/WorkspaceItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { MouseEventHandler } from \"react\";\nimport { FinsembleDraggable } from \"../../../legacyControls/FinsembleDraggable\";\n\ntype WorkspaceEditorProps = {\n\tcancelHandler?: Function;\n\tsaveHandler?: Function;\n\tvalue?: string;\n};\n\ntype WorkspaceEditorState = {\n\tvalue: string;\n\tfinished: boolean;\n};\n\nexport class WorkspaceEditor extends React.Component<WorkspaceEditorProps, WorkspaceEditorState> {\n\tconstructor(props: WorkspaceEditorProps) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tvalue: props.value || \"\",\n\t\t\tfinished: false,\n\t\t};\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onBlur = this.onBlur.bind(this);\n\t\tthis.onFocus = this.onFocus.bind(this);\n\t}\n\n\tonKeyDown(e: any) {\n\t\tif (e.key === \"Escape\") {\n\t\t\tthis.setState({ finished: true }, () => {\n\t\t\t\tthis.props.cancelHandler?.();\n\t\t\t});\n\t\t} else if (e.key === \"Enter\") {\n\t\t\tconst finish = (val: string) => {\n\t\t\t\tthis.props.saveHandler?.(val);\n\t\t\t};\n\t\t\t// binding so we don't lose the event inside of react's crazy callback structure\n\t\t\tthis.setState({ finished: true }, finish.bind(this, e.target.value));\n\t\t}\n\t}\n\n\tonChange(e: any) {\n\t\tthis.setState({\n\t\t\tvalue: e.target.value,\n\t\t});\n\t}\n\n\tonFocus(e: any) {\n\t\te.target.select();\n\t}\n\n\tonBlur() {\n\t\t// console.log(\"ON BLUR\", performance.now());\n\t\tconst finish = (val: string) => {\n\t\t\tthis.props.saveHandler?.(val);\n\t\t};\n\t\t// binding so we don't lose the event inside of react's crazy callback structure. Finished is set so that the component doesn't call the saveHandler again on unMount\n\t\tthis.setState({ finished: true }, finish.bind(this, this.state.value));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tonFocus={this.onFocus}\n\t\t\t\tonBlur={this.onBlur}\n\t\t\t\tautoFocus={true}\n\t\t\t\tvalue={this.state.value}\n\t\t\t\tclassName=\"workspace-editor\"\n\t\t\t\tonChange={this.onChange}\n\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport type WorkspaceItemProps = {\n\tworkspace: { name?: string; components?: Array<String> };\n\tworkspaceToLoadOnStart?: any;\n\tfocusedWorkspace?: string;\n\ti?: number;\n\tediting?: boolean;\n\tadding?: boolean;\n\tkey?: number;\n\trenameWorkspace?: Function;\n\taddWorkspace?: Function;\n\tcancelEdit?: Function;\n\tsetFocusedWorkspace?: Function;\n\trenameTooltip?: string;\n\trenameButtonClasses?: string;\n\thandleButtonClicks?: MouseEventHandler<HTMLDivElement>;\n\tallowRename?: boolean;\n\tstartEditingWorkspace?: (e: React.SyntheticEvent, name: string) => void;\n\tdeleteTooltip?: string;\n\tdeleteButtonClasses?: string;\n\tallowDelete?: boolean;\n\tdeleteWorkspace?: (name: string) => void;\n};\nconst WorkspaceItem = (props: WorkspaceItemProps) => {\n\tlet baseClass = \"workspace-item\";\n\tlet classNames = baseClass;\n\tif (FSBL.Clients.WorkspaceClient.activeWorkspace?.name === props.workspace.name) {\n\t\tclassNames = `${classNames} active-workspace`;\n\t}\n\n\tif (props.workspaceToLoadOnStart === props.workspace.name) {\n\t\tclassNames = `${classNames} auto-start-workspace-item`;\n\t}\n\n\tif (props.focusedWorkspace === props.workspace.name) {\n\t\tclassNames = `${classNames} focused-workspace-item`;\n\t\tif (props.i === 0) {\n\t\t\tclassNames = `${classNames} no-top-border`;\n\t\t}\n\t\tif (props.editing || props.adding) {\n\t\t\tclassNames = `${classNames} workspace-item-editing`;\n\t\t\treturn (\n\t\t\t\t<div key={props.i} className={classNames}>\n\t\t\t\t\t<WorkspaceEditor\n\t\t\t\t\t\tvalue={props.workspace.name || \"\"}\n\t\t\t\t\t\tsaveHandler={props.editing ? props.renameWorkspace : props.addWorkspace}\n\t\t\t\t\t\tcancelHandler={props.cancelEdit}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<FinsembleDraggable\n\t\t\tonClick={() => {\n\t\t\t\tprops.setFocusedWorkspace?.(props.workspace.name);\n\t\t\t}}\n\t\t\twrapperClass={classNames}\n\t\t\tdraggableId={props.workspace.name || \"\"}\n\t\t\tindex={props.i || 0}\n\t\t\tonKeydown={(e) => {\n\t\t\t\tif (e.code === \"F2\") {\n\t\t\t\t\tprops.allowRename && props.startEditingWorkspace?.(e, props.workspace.name || \"\");\n\t\t\t\t} else if (e.code === \"Delete\") {\n\t\t\t\t\tprops.allowDelete && props.deleteWorkspace?.(props.workspace.name || \"\");\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"ff-adp-hamburger\"></div>\n\t\t\t<div className=\"workspace-name\" title={props.workspace.name}>\n\t\t\t\t{props.workspace.name}\n\t\t\t</div>\n\t\t\t<div className=\"individual-workspace-actions\">\n\t\t\t\t{props.workspace.name !== FSBL.Clients.WorkspaceClient.activeWorkspace?.name && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttitle={props.renameTooltip}\n\t\t\t\t\t\t\tclassName={props.renameButtonClasses}\n\t\t\t\t\t\t\tonMouseDown={props.handleButtonClicks}\n\t\t\t\t\t\t\tonClick={(e: any) => {\n\t\t\t\t\t\t\t\tprops.allowRename && props.startEditingWorkspace?.(e, props.workspace.name || \"\");\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i className=\"ff-adp-edit\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttitle={props.deleteTooltip}\n\t\t\t\t\t\t\tclassName={props.deleteButtonClasses}\n\t\t\t\t\t\t\tonMouseDown={props.handleButtonClicks}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops.allowDelete && props.deleteWorkspace?.(props.workspace.name || \"\");\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i className=\"ff-adp-trash-outline\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</FinsembleDraggable>\n\t);\n};\n\nexport default WorkspaceItem;\n"]}
1
+ {"version":3,"file":"WorkspaceItem.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/workspaces/WorkspaceItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { MouseEventHandler } from \"react\";\nimport { FinsembleDraggable } from \"../../../legacyControls/FinsembleDraggable\";\n\ntype WorkspaceEditorProps = {\n\tcancelHandler?: Function;\n\tsaveHandler?: Function;\n\tvalue?: string;\n};\n\ntype WorkspaceEditorState = {\n\tvalue: string;\n\tfinished: boolean;\n};\n\nexport class WorkspaceEditor extends React.Component<WorkspaceEditorProps, WorkspaceEditorState> {\n\t// variable to save the initial workspace name\n\tinitialWorkspaceName: string;\n\n\tconstructor(props: WorkspaceEditorProps) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tvalue: props.value || \"\",\n\t\t\tfinished: false,\n\t\t};\n\t\tthis.initialWorkspaceName = props.value || \"\";\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.onChange = this.onChange.bind(this);\n\t\tthis.onFocus = this.onFocus.bind(this);\n\t}\n\n\tonKeyDown(e: any) {\n\t\tif (e.key === \"Escape\") {\n\t\t\tthis.setState({ finished: true, value: this.initialWorkspaceName }, () => {\n\t\t\t\tthis.props.cancelHandler?.();\n\t\t\t});\n\t\t} else if (e.key === \"Enter\") {\n\t\t\tconst finish = (val: string) => {\n\t\t\t\tthis.props.saveHandler?.(val);\n\t\t\t};\n\t\t\t// binding so we don't lose the event inside of react's crazy callback structure\n\t\t\tthis.setState({ finished: true }, finish.bind(this, e.target.value));\n\t\t}\n\t}\n\n\tonChange(e: any) {\n\t\tthis.setState({\n\t\t\tvalue: e.target.value,\n\t\t});\n\t}\n\n\tonFocus(e: any) {\n\t\te.target.select();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<input\n\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\tautoFocus={true}\n\t\t\t\t\tvalue={this.state.value}\n\t\t\t\t\tclassName=\"workspace-editor\"\n\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t/>\n\t\t\t\t<div className=\"individual-workspace-actions\">\n\t\t\t\t\t<div\n\t\t\t\t\t\ttitle=\"Save\"\n\t\t\t\t\t\tclassName=\"individual-workspace-action\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.setState({ finished: true }, () => {\n\t\t\t\t\t\t\t\tthis.props.saveHandler?.(this.state.value);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<i className=\"ff-check-mark\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\ttitle=\"Cancel\"\n\t\t\t\t\t\tclassName=\"individual-workspace-action\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.setState({ finished: true, value: this.initialWorkspaceName }, () => {\n\t\t\t\t\t\t\t\tthis.props.cancelHandler?.();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<i className=\"ff-close\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport type WorkspaceItemProps = {\n\tworkspace: { name?: string; components?: Array<String> };\n\tworkspaceToLoadOnStart?: any;\n\tfocusedWorkspace?: string;\n\ti?: number;\n\tediting?: boolean;\n\tadding?: boolean;\n\tkey?: number;\n\trenameWorkspace?: Function;\n\taddWorkspace?: Function;\n\tcancelEdit?: Function;\n\tsetFocusedWorkspace?: Function;\n\trenameTooltip?: string;\n\trenameButtonClasses?: string;\n\thandleButtonClicks?: MouseEventHandler<HTMLDivElement>;\n\tallowRename?: boolean;\n\tstartEditingWorkspace?: (e: React.SyntheticEvent, name: string) => void;\n\tdeleteTooltip?: string;\n\tdeleteButtonClasses?: string;\n\tallowDelete?: boolean;\n\tdeleteWorkspace?: (name: string) => void;\n};\nconst WorkspaceItem = (props: WorkspaceItemProps) => {\n\tlet baseClass = \"workspace-item\";\n\tlet classNames = baseClass;\n\tif (FSBL.Clients.WorkspaceClient.activeWorkspace?.name === props.workspace.name) {\n\t\tclassNames = `${classNames} active-workspace`;\n\t}\n\n\tif (props.workspaceToLoadOnStart === props.workspace.name) {\n\t\tclassNames = `${classNames} auto-start-workspace-item`;\n\t}\n\n\tif (props.focusedWorkspace === props.workspace.name) {\n\t\tclassNames = `${classNames} focused-workspace-item`;\n\t\tif (props.i === 0) {\n\t\t\tclassNames = `${classNames} no-top-border`;\n\t\t}\n\t\tif (props.editing || props.adding) {\n\t\t\tclassNames = `${classNames} workspace-item-editing`;\n\t\t\treturn (\n\t\t\t\t<div key={props.i} className={classNames}>\n\t\t\t\t\t<WorkspaceEditor\n\t\t\t\t\t\tvalue={props.workspace.name || \"\"}\n\t\t\t\t\t\tsaveHandler={props.editing ? props.renameWorkspace : props.addWorkspace}\n\t\t\t\t\t\tcancelHandler={props.cancelEdit}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<FinsembleDraggable\n\t\t\tonClick={() => {\n\t\t\t\tprops.setFocusedWorkspace?.(props.workspace.name);\n\t\t\t}}\n\t\t\twrapperClass={classNames}\n\t\t\tdraggableId={props.workspace.name || \"\"}\n\t\t\tindex={props.i || 0}\n\t\t\tonKeydown={(e) => {\n\t\t\t\tif (e.code === \"F2\") {\n\t\t\t\t\tprops.allowRename && props.startEditingWorkspace?.(e, props.workspace.name || \"\");\n\t\t\t\t} else if (e.code === \"Delete\") {\n\t\t\t\t\tprops.allowDelete && props.deleteWorkspace?.(props.workspace.name || \"\");\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"ff-adp-hamburger\"></div>\n\t\t\t<div className=\"workspace-name\" title={props.workspace.name}>\n\t\t\t\t{props.workspace.name}\n\t\t\t</div>\n\t\t\t<div className=\"individual-workspace-actions\">\n\t\t\t\t{props.workspace.name !== FSBL.Clients.WorkspaceClient.activeWorkspace?.name && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttitle={props.renameTooltip}\n\t\t\t\t\t\t\tclassName={props.renameButtonClasses}\n\t\t\t\t\t\t\tonMouseDown={props.handleButtonClicks}\n\t\t\t\t\t\t\tonClick={(e: any) => {\n\t\t\t\t\t\t\t\tprops.allowRename && props.startEditingWorkspace?.(e, props.workspace.name || \"\");\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i className=\"ff-adp-edit\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttitle={props.deleteTooltip}\n\t\t\t\t\t\t\tclassName={props.deleteButtonClasses}\n\t\t\t\t\t\t\tonMouseDown={props.handleButtonClicks}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops.allowDelete && props.deleteWorkspace?.(props.workspace.name || \"\");\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i className=\"ff-adp-trash-outline\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</FinsembleDraggable>\n\t);\n};\n\nexport default WorkspaceItem;\n"]}
@@ -6,11 +6,28 @@ declare let WorkspaceManagementMenuStore: StoreModel;
6
6
  declare const Actions: {
7
7
  initialize: () => void;
8
8
  getWorkspaces(cb?: Function): void;
9
+ /**
10
+ * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.
11
+ * @deprecated use `setScheduledRestart(false)` instead.
12
+ */
9
13
  disableScheduledRestart: () => void;
14
+ /**
15
+ * Finsemble listens for this piece of config. When it changes, it will schedule a daily restart at that time.
16
+ * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.
17
+ * @deprecated use setScheduledClose
18
+ */
10
19
  setScheduledRestart: (val: ScheduledDayTimeObjectType | false) => void;
20
+ /**
21
+ * Finsemble listens the config set by this function. When it changes, it will schedule a daily restart/shutdown at
22
+ * that time. By making the value falsy, the application will remove any existing restart/shutdown timers.
23
+ *
24
+ */
11
25
  setScheduledClose: (key: "finsemble.scheduledRestart" | "finsemble.scheduledShutdown", value: ScheduledDayTimeObjectType | false) => void;
12
26
  setDiscardUnsavedChangesPreference: (value: boolean) => void;
13
- getPreferences: (callback: StandardCallback) => import("@finsemble/finsemble-api/types/types").StandardPromise<Record<string, any> | null>;
27
+ getPreferences: (callback: StandardCallback) => void;
14
28
  };
29
+ /**
30
+ * Initializes the store for the User Preferences Menu.
31
+ */
15
32
  declare function initialize(WorkspaceMngMenuStore: StoreModel, cb: (store: StoreModel) => void): void;
16
33
  export { WorkspaceManagementMenuStore, initialize, UserPreferencesStore, Actions };