@finsemble/finsemble-ui 7.0.0 → 7.1.0-beta.2

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 (787) hide show
  1. package/package.json +13 -11
  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 +3 -10
  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 -1
  32. package/react/assets/css/finsemble.css +3 -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 +2 -2
  36. package/react/assets/css/menus.css +10 -10
  37. package/react/assets/css/notificationsCenter.css +16 -31
  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 +2 -2
  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 +12 -14
  45. package/react/assets/css/windowTitleBar.css +75 -36
  46. package/react/componentTemplateGenerator.js +3 -2
  47. package/react/componentTemplateGenerator.js.map +1 -1
  48. package/react/components/FinsembleProvider.d.ts +7 -0
  49. package/react/components/FinsembleProvider.js +2 -0
  50. package/react/components/FinsembleProvider.js.map +1 -1
  51. package/react/components/appCatalog/AppCatalog.d.ts +4 -0
  52. package/react/components/appCatalog/AppCatalog.js +4 -0
  53. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  54. package/react/components/appCatalog/AppCatalogComponent.d.ts +58 -0
  55. package/react/components/appCatalog/AppCatalogComponent.js +70 -1
  56. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  57. package/react/components/appCatalog/components/AppCard.d.ts +35 -0
  58. package/react/components/appCatalog/components/AppCard.js +42 -0
  59. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  60. package/react/components/appCatalog/components/AppResults.d.ts +10 -0
  61. package/react/components/appCatalog/components/AppResults.js +24 -0
  62. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  63. package/react/components/appCatalog/components/Carousel.d.ts +26 -0
  64. package/react/components/appCatalog/components/Carousel.js +34 -0
  65. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  66. package/react/components/appCatalog/components/EmptyResults.d.ts +4 -0
  67. package/react/components/appCatalog/components/EmptyResults.js +8 -0
  68. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  69. package/react/components/appCatalog/components/Hero.d.ts +15 -0
  70. package/react/components/appCatalog/components/Hero.js +15 -0
  71. package/react/components/appCatalog/components/Hero.js.map +1 -1
  72. package/react/components/appCatalog/components/Home.d.ts +6 -4
  73. package/react/components/appCatalog/components/Home.js +10 -0
  74. package/react/components/appCatalog/components/Home.js.map +1 -1
  75. package/react/components/appCatalog/components/SearchBar.d.ts +31 -0
  76. package/react/components/appCatalog/components/SearchBar.js +33 -0
  77. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  78. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -0
  79. package/react/components/appCatalog/components/Showcase/AppDescription.js +9 -0
  80. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  81. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +7 -0
  82. package/react/components/appCatalog/components/Showcase/AppDevNotes.js +15 -0
  83. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  84. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +17 -0
  85. package/react/components/appCatalog/components/Showcase/AppShowcase.js +25 -0
  86. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  87. package/react/components/appCatalog/components/Showcase/Header.d.ts +7 -0
  88. package/react/components/appCatalog/components/Showcase/Header.js +12 -0
  89. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  90. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +7 -0
  91. package/react/components/appCatalog/components/Showcase/ImageCarousel.js +11 -0
  92. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  93. package/react/components/appCatalog/components/Showcase/Modal.d.ts +10 -0
  94. package/react/components/appCatalog/components/Showcase/Modal.js +10 -0
  95. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  96. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +5 -0
  97. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +9 -0
  98. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  99. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +6 -0
  100. package/react/components/appCatalog/components/Showcase/SupportNotes.js +11 -0
  101. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  102. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +5 -0
  103. package/react/components/appCatalog/components/Showcase/VersionNotes.js +9 -0
  104. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  105. package/react/components/appCatalog/components/Tag.d.ts +6 -0
  106. package/react/components/appCatalog/components/Tag.js +10 -0
  107. package/react/components/appCatalog/components/Tag.js.map +1 -1
  108. package/react/components/appCatalog/components/Toast.d.ts +5 -0
  109. package/react/components/appCatalog/components/Toast.js +9 -0
  110. package/react/components/appCatalog/components/Toast.js.map +1 -1
  111. package/react/components/appCatalog/components/helpers.js +1 -0
  112. package/react/components/appCatalog/components/helpers.js.map +1 -1
  113. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -0
  114. package/react/components/appCatalog/modules/AppDirectory.js +5 -0
  115. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  116. package/react/components/appCatalog/modules/FDC3.d.ts +37 -0
  117. package/react/components/appCatalog/modules/FDC3.js +40 -0
  118. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  119. package/react/components/appCatalog/stores/appStore.js +1 -0
  120. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  121. package/react/components/appCatalog/stores/storeActions.d.ts +91 -0
  122. package/react/components/appCatalog/stores/storeActions.js +116 -1
  123. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  124. package/react/components/common/Checkbox.d.ts +1 -0
  125. package/react/components/common/Checkbox.js +2 -2
  126. package/react/components/common/Checkbox.js.map +1 -1
  127. package/react/components/common/ColorPicker.d.ts +5 -0
  128. package/react/components/common/ColorPicker.js +40 -0
  129. package/react/components/common/ColorPicker.js.map +1 -1
  130. package/react/components/common/DropZone.d.ts +11 -0
  131. package/react/components/common/DropZone.js +21 -1
  132. package/react/components/common/DropZone.js.map +1 -1
  133. package/react/components/common/DropdownButton.d.ts +4 -0
  134. package/react/components/common/DropdownButton.js +4 -0
  135. package/react/components/common/DropdownButton.js.map +1 -1
  136. package/react/components/common/ErrorBoundary.d.ts +18 -0
  137. package/react/components/common/ErrorBoundary.js +21 -0
  138. package/react/components/common/ErrorBoundary.js.map +1 -1
  139. package/react/components/common/FileInput.d.ts +8 -1
  140. package/react/components/common/FileInput.js +19 -4
  141. package/react/components/common/FileInput.js.map +1 -1
  142. package/react/components/common/FinsembleIcon.d.ts +10 -0
  143. package/react/components/common/FinsembleIcon.js +51 -2
  144. package/react/components/common/FinsembleIcon.js.map +1 -1
  145. package/react/components/common/FinsembleSelect.js +5 -1
  146. package/react/components/common/FinsembleSelect.js.map +1 -1
  147. package/react/components/common/FinsembleToggleButtonBar.js +1 -1
  148. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -1
  149. package/react/components/common/InputTable.d.ts +7 -0
  150. package/react/components/common/InputTable.js +7 -0
  151. package/react/components/common/InputTable.js.map +1 -1
  152. package/react/components/common/Tab.js +3 -0
  153. package/react/components/common/Tab.js.map +1 -1
  154. package/react/components/common/TimeSelect.js +24 -0
  155. package/react/components/common/TimeSelect.js.map +1 -1
  156. package/react/components/common/Tooltip.js +2 -0
  157. package/react/components/common/Tooltip.js.map +1 -1
  158. package/react/components/common/css/accordion.css +9 -6
  159. package/react/components/common/css/application-edit-page.css +39 -44
  160. package/react/components/common/css/button.css +10 -5
  161. package/react/components/common/css/color-picker.css +3 -3
  162. package/react/components/common/css/drop-zone.css +2 -6
  163. package/react/components/common/css/file-input.css +5 -5
  164. package/react/components/common/css/header.css +3 -2
  165. package/react/components/common/css/icon.css +1 -1
  166. package/react/components/common/css/loading-spinner.css +7 -12
  167. package/react/components/common/css/selector.css +4 -4
  168. package/react/components/common/css/styles.css +22 -16
  169. package/react/components/common/css/tab.css +8 -8
  170. package/react/components/common/css/time-select.css +1 -0
  171. package/react/components/common/css/toggle.css +4 -4
  172. package/react/components/common/css/tooltip.css +2 -3
  173. package/react/components/common/file_helpers.js +2 -0
  174. package/react/components/common/file_helpers.js.map +1 -1
  175. package/react/components/common/helpers.js +1 -0
  176. package/react/components/common/helpers.js.map +1 -1
  177. package/react/components/common/stories/ColorPicker.stories.js +3 -0
  178. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  179. package/react/components/common/stories/FileInput.stories.d.ts +3 -1
  180. package/react/components/common/stories/FileInput.stories.js +12 -0
  181. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  182. package/react/components/common/tests/Accordion.spec.js +6 -0
  183. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  184. package/react/components/common/tests/Checkbox.spec.js +1 -0
  185. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  186. package/react/components/common/tests/ColorPicker.spec.js +6 -0
  187. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  188. package/react/components/common/tests/DropZone.spec.js +1 -0
  189. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  190. package/react/components/common/tests/FileInput.spec.js +22 -0
  191. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  192. package/react/components/common/tests/FinsembleSelect.spec.js +1 -0
  193. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  194. package/react/components/common/tests/FinsembleToggle.spec.js +1 -0
  195. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  196. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +1 -0
  197. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -1
  198. package/react/components/common/tests/TimeSelect.spec.js +4 -0
  199. package/react/components/common/tests/TimeSelect.spec.js.map +1 -1
  200. package/react/components/common/tests/Tooltip.spec.js +16 -0
  201. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  202. package/react/components/favorites/FavoriteMaker.d.ts +8 -0
  203. package/react/components/favorites/FavoriteMaker.js +9 -0
  204. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  205. package/react/components/favorites/FavoritesShell.d.ts +4 -0
  206. package/react/components/favorites/FavoritesShell.js +13 -1
  207. package/react/components/favorites/FavoritesShell.js.map +1 -1
  208. package/react/components/favorites/FavoritesShell.spec.js +3 -0
  209. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  210. package/react/components/fdc3Resolver/ResolverContainer.js +8 -0
  211. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  212. package/react/components/fdc3Resolver/ResolverDialog.css +16 -3
  213. package/react/components/fdc3Resolver/ResolverDialog.js +7 -2
  214. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  215. package/react/components/fdc3Resolver/ResolverDialog.spec.js +3 -2
  216. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  217. package/react/components/fdc3Resolver/ResolverDialog.stories.js +2 -0
  218. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  219. package/react/components/icon/Icon.d.ts +13 -0
  220. package/react/components/icon/Icon.js +34 -0
  221. package/react/components/icon/Icon.js.map +1 -1
  222. package/react/components/legacyControls/FinsembleDialog.d.ts +4 -0
  223. package/react/components/legacyControls/FinsembleDialog.js +15 -0
  224. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  225. package/react/components/legacyControls/FinsembleDialogButton.d.ts +3 -0
  226. package/react/components/legacyControls/FinsembleDialogButton.js +6 -1
  227. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  228. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +7 -0
  229. package/react/components/legacyControls/FinsembleDialogQuestion.js +7 -0
  230. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  231. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +3 -0
  232. package/react/components/legacyControls/FinsembleDialogTextInput.js +14 -0
  233. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  234. package/react/components/legacyControls/FinsembleDnDContext.d.ts +19 -0
  235. package/react/components/legacyControls/FinsembleDnDContext.js +126 -1
  236. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  237. package/react/components/legacyControls/FinsembleDraggable.d.ts +3 -0
  238. package/react/components/legacyControls/FinsembleDraggable.js +3 -0
  239. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  240. package/react/components/legacyControls/FinsembleHoverDetector.d.ts +15 -0
  241. package/react/components/legacyControls/FinsembleHoverDetector.js +26 -1
  242. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  243. package/react/components/legacyControls/FinsembleMenuSection.d.ts +4 -0
  244. package/react/components/legacyControls/FinsembleMenuSection.js +38 -0
  245. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  246. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +1 -0
  247. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  248. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -0
  249. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  250. package/react/components/linker/LinkerMenu.d.ts +3 -0
  251. package/react/components/linker/LinkerMenu.js +21 -0
  252. package/react/components/linker/LinkerMenu.js.map +1 -1
  253. package/react/components/linker/LinkerMenuDeprecated.d.ts +3 -0
  254. package/react/components/linker/LinkerMenuDeprecated.js +9 -0
  255. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  256. package/react/components/menu/Menu.d.ts +15 -0
  257. package/react/components/menu/Menu.js +15 -0
  258. package/react/components/menu/Menu.js.map +1 -1
  259. package/react/components/menu/MenuAutoResizer.d.ts +7 -0
  260. package/react/components/menu/MenuAutoResizer.js +27 -0
  261. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  262. package/react/components/menu/MenuContent.d.ts +4 -0
  263. package/react/components/menu/MenuContent.js +4 -0
  264. package/react/components/menu/MenuContent.js.map +1 -1
  265. package/react/components/menu/MenuHotKey.d.ts +14 -0
  266. package/react/components/menu/MenuHotKey.js +15 -0
  267. package/react/components/menu/MenuHotKey.js.map +1 -1
  268. package/react/components/menu/MenuItem.d.ts +8 -0
  269. package/react/components/menu/MenuItem.js +13 -2
  270. package/react/components/menu/MenuItem.js.map +1 -1
  271. package/react/components/menu/MenuPortal.js +112 -2
  272. package/react/components/menu/MenuPortal.js.map +1 -1
  273. package/react/components/menu/MenuShell.d.ts +16 -0
  274. package/react/components/menu/MenuShell.js +26 -0
  275. package/react/components/menu/MenuShell.js.map +1 -1
  276. package/react/components/menu/MenuToggle.d.ts +3 -0
  277. package/react/components/menu/MenuToggle.js +3 -0
  278. package/react/components/menu/MenuToggle.js.map +1 -1
  279. package/react/components/menu/keyboardNavigation.d.ts +12 -0
  280. package/react/components/menu/keyboardNavigation.js +55 -0
  281. package/react/components/menu/keyboardNavigation.js.map +1 -1
  282. package/react/components/menu/menuContext.d.ts +6 -0
  283. package/react/components/menu/menuContext.js +6 -0
  284. package/react/components/menu/menuContext.js.map +1 -1
  285. package/react/components/menu/menuHelpers.d.ts +22 -0
  286. package/react/components/menu/menuHelpers.js +58 -1
  287. package/react/components/menu/menuHelpers.js.map +1 -1
  288. package/react/components/notifications/components/drawer/DrawerControls.js +8 -0
  289. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  290. package/react/components/notifications/components/drawer/DrawerHeader.js +5 -0
  291. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  292. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +18 -0
  293. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  294. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +3 -0
  295. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  296. package/react/components/notifications/components/shared/CheckButton.js +1 -1
  297. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  298. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +9 -0
  299. package/react/components/notifications/components/shared/NotificationCardShell.js +13 -6
  300. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  301. package/react/components/notifications/components/shared/OverflowMenu.d.ts +4 -0
  302. package/react/components/notifications/components/shared/OverflowMenu.js +16 -2
  303. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  304. package/react/components/notifications/components/views/CardView.js +3 -0
  305. package/react/components/notifications/components/views/CardView.js.map +1 -1
  306. package/react/components/notifications/components/views/ListView.js +8 -0
  307. package/react/components/notifications/components/views/ListView.js.map +1 -1
  308. package/react/components/notifications/notificationsContext.d.ts +4 -0
  309. package/react/components/notifications/notificationsContext.js +4 -0
  310. package/react/components/notifications/notificationsContext.js.map +1 -1
  311. package/react/components/notifications/types.d.ts +3 -0
  312. package/react/components/notifications/utils.d.ts +4 -0
  313. package/react/components/notifications/utils.js +4 -0
  314. package/react/components/notifications/utils.js.map +1 -1
  315. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -0
  316. package/react/components/processMonitor/ProcessMonitor.js +17 -2
  317. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  318. package/react/components/processMonitor/components/ChildWindow.d.ts +3 -0
  319. package/react/components/processMonitor/components/ChildWindow.js +5 -0
  320. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  321. package/react/components/processMonitor/components/ListHeader.d.ts +5 -0
  322. package/react/components/processMonitor/components/ListHeader.js +7 -0
  323. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  324. package/react/components/processMonitor/components/ProcessStatistics.js +12 -1
  325. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  326. package/react/components/processMonitor/constants.js +6 -0
  327. package/react/components/processMonitor/constants.js.map +1 -1
  328. package/react/components/processMonitor/helpers.d.ts +13 -0
  329. package/react/components/processMonitor/helpers.js +23 -3
  330. package/react/components/processMonitor/helpers.js.map +1 -1
  331. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +39 -0
  332. package/react/components/processMonitor/stores/ProcessMonitorStore.js +50 -0
  333. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  334. package/react/components/quickComponentForm/QuickComponentForm.d.ts +3 -0
  335. package/react/components/quickComponentForm/QuickComponentForm.js +20 -0
  336. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  337. package/react/components/quickComponentForm/quickComponent.css +1 -1
  338. package/react/components/sdd/AddApp.d.ts +4 -2
  339. package/react/components/sdd/AddApp.js +57 -49
  340. package/react/components/sdd/AddApp.js.map +1 -1
  341. package/react/components/sdd/AppEditAccess.js +8 -0
  342. package/react/components/sdd/AppEditAccess.js.map +1 -1
  343. package/react/components/sdd/AppEditPage.d.ts +2 -1
  344. package/react/components/sdd/AppEditPage.js +148 -361
  345. package/react/components/sdd/AppEditPage.js.map +1 -1
  346. package/react/components/sdd/Appearance.css +1 -1
  347. package/react/components/sdd/Appearance.js +3 -0
  348. package/react/components/sdd/Appearance.js.map +1 -1
  349. package/react/components/sdd/Application.js +39 -7
  350. package/react/components/sdd/Application.js.map +1 -1
  351. package/react/components/sdd/Applications.js +89 -13
  352. package/react/components/sdd/Applications.js.map +1 -1
  353. package/react/components/sdd/AssetsPage.css +3 -3
  354. package/react/components/sdd/EditPreload.js +10 -0
  355. package/react/components/sdd/EditPreload.js.map +1 -1
  356. package/react/components/sdd/ExportCloud.js +4 -0
  357. package/react/components/sdd/ExportCloud.js.map +1 -1
  358. package/react/components/sdd/Publish.js +2 -0
  359. package/react/components/sdd/Publish.js.map +1 -1
  360. package/react/components/sdd/PublishProgress.js +11 -1
  361. package/react/components/sdd/PublishProgress.js.map +1 -1
  362. package/react/components/sdd/SmartDesktopDesigner.js +17 -0
  363. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  364. package/react/components/sdd/ThemePage.css +6 -23
  365. package/react/components/sdd/ThemePage.js +1 -1
  366. package/react/components/sdd/ThemePage.js.map +1 -1
  367. package/react/components/sdd/Themes.js +2 -0
  368. package/react/components/sdd/Themes.js.map +1 -1
  369. package/react/components/sdd/Toolbar.js +7 -0
  370. package/react/components/sdd/Toolbar.js.map +1 -1
  371. package/react/components/sdd/appEditPage/Behavior.d.ts +34 -0
  372. package/react/components/sdd/appEditPage/Behavior.js +134 -0
  373. package/react/components/sdd/appEditPage/Behavior.js.map +1 -0
  374. package/react/components/sdd/appEditPage/Component.d.ts +22 -0
  375. package/react/components/sdd/appEditPage/Component.js +76 -0
  376. package/react/components/sdd/appEditPage/Component.js.map +1 -0
  377. package/react/components/sdd/appEditPage/DebugToolkit.d.ts +9 -0
  378. package/react/components/sdd/appEditPage/DebugToolkit.js +20 -0
  379. package/react/components/sdd/appEditPage/DebugToolkit.js.map +1 -0
  380. package/react/components/sdd/appEditPage/Interop.d.ts +10 -0
  381. package/react/components/sdd/appEditPage/Interop.js +40 -0
  382. package/react/components/sdd/appEditPage/Interop.js.map +1 -0
  383. package/react/components/sdd/appEditPage/Position.d.ts +18 -0
  384. package/react/components/sdd/appEditPage/Position.js +72 -0
  385. package/react/components/sdd/appEditPage/Position.js.map +1 -0
  386. package/react/components/sdd/appEditPage/Preloads.d.ts +9 -0
  387. package/react/components/sdd/appEditPage/Preloads.js +16 -0
  388. package/react/components/sdd/appEditPage/Preloads.js.map +1 -0
  389. package/react/components/sdd/appEditPage/SelectConnect.d.ts +15 -0
  390. package/react/components/sdd/appEditPage/SelectConnect.js +28 -0
  391. package/react/components/sdd/appEditPage/SelectConnect.js.map +1 -0
  392. package/react/components/sdd/appEditPage/Workspace.d.ts +12 -0
  393. package/react/components/sdd/appEditPage/Workspace.js +30 -0
  394. package/react/components/sdd/appEditPage/Workspace.js.map +1 -0
  395. package/react/components/sdd/common/getCSSVars.js +7 -2
  396. package/react/components/sdd/common/getCSSVars.js.map +1 -1
  397. package/react/components/sdd/common/setPreloadDefaults.js +4 -0
  398. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  399. package/react/components/sdd/css/addApp.css +18 -5
  400. package/react/components/sdd/css/appearance.css +6 -0
  401. package/react/components/sdd/css/applications.css +27 -14
  402. package/react/components/sdd/css/authentication.css +7 -6
  403. package/react/components/sdd/css/buttons.css +1 -1
  404. package/react/components/sdd/css/export.css +5 -3
  405. package/react/components/sdd/css/getting-started.css +2 -2
  406. package/react/components/sdd/css/nav.css +8 -11
  407. package/react/components/sdd/css/project-header.css +5 -7
  408. package/react/components/sdd/css/styles.css +29 -23
  409. package/react/components/sdd/css/views.css +4 -3
  410. package/react/components/sdd/fixtures/apps.js +12 -0
  411. package/react/components/sdd/fixtures/apps.js.map +1 -1
  412. package/react/components/sdd/fixtures/configTemplate.js +1 -0
  413. package/react/components/sdd/fixtures/configTemplate.js.map +1 -1
  414. package/react/components/sdd/fixtures/publishProgress.js +40 -0
  415. package/react/components/sdd/fixtures/publishProgress.js.map +1 -1
  416. package/react/components/sdd/sdd_helpers.d.ts +6 -0
  417. package/react/components/sdd/sdd_helpers.js +6 -0
  418. package/react/components/sdd/sdd_helpers.js.map +1 -1
  419. package/react/components/sdd/smartDesktopClient.d.ts +303 -0
  420. package/react/components/sdd/smartDesktopClient.js +334 -1
  421. package/react/components/sdd/smartDesktopClient.js.map +1 -1
  422. package/react/components/sdd/smartDesktopClient.spec.js +5 -2
  423. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -1
  424. package/react/components/sdd/stories/AddApp.stories.d.ts +2 -1
  425. package/react/components/sdd/stories/AddApp.stories.js +8 -0
  426. package/react/components/sdd/stories/AddApp.stories.js.map +1 -1
  427. package/react/components/sdd/stories/AppEditPage.stories.d.ts +3 -1
  428. package/react/components/sdd/stories/AppEditPage.stories.js +3 -0
  429. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  430. package/react/components/sdd/stories/Appearance.stories.js +1 -0
  431. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  432. package/react/components/sdd/tests/AddApp.spec.js +40 -3
  433. package/react/components/sdd/tests/AddApp.spec.js.map +1 -1
  434. package/react/components/sdd/tests/AppEditPage.spec.js +16 -0
  435. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  436. package/react/components/sdd/tests/Application.spec.js +33 -438
  437. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  438. package/react/components/sdd/tests/Applications.spec.d.ts +1 -1
  439. package/react/components/sdd/tests/Applications.spec.js +29 -5
  440. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  441. package/react/components/sdd/tests/Authentication.spec.js +7 -0
  442. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  443. package/react/components/sdd/tests/ContentHeader.spec.js +2 -0
  444. package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -1
  445. package/react/components/sdd/tests/EditPreload.spec.js +13 -0
  446. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  447. package/react/components/sdd/tests/Export.spec.js +2 -1
  448. package/react/components/sdd/tests/Export.spec.js.map +1 -1
  449. package/react/components/sdd/tests/ItemList.spec.js +4 -0
  450. package/react/components/sdd/tests/ItemList.spec.js.map +1 -1
  451. package/react/components/sdd/tests/OptionalSettingsView.spec.js +29 -0
  452. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  453. package/react/components/sdd/tests/ProjectErrors.spec.js +2 -0
  454. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  455. package/react/components/sdd/tests/Themes.spec.js +1 -1
  456. package/react/components/sdd/tests/Themes.spec.js.map +1 -1
  457. package/react/components/sdd/tests/Toolbar.spec.js +53 -0
  458. package/react/components/sdd/tests/Toolbar.spec.js.map +1 -1
  459. package/react/components/sdd/tests/a11y_helper.js +8 -0
  460. package/react/components/sdd/tests/a11y_helper.js.map +1 -1
  461. package/react/components/search/Highlight.d.ts +6 -0
  462. package/react/components/search/Highlight.js +19 -0
  463. package/react/components/search/Highlight.js.map +1 -1
  464. package/react/components/search/SearchBestMatch.d.ts +4 -0
  465. package/react/components/search/SearchBestMatch.js +11 -0
  466. package/react/components/search/SearchBestMatch.js.map +1 -1
  467. package/react/components/search/SearchInput.d.ts +5 -0
  468. package/react/components/search/SearchInput.js +6 -0
  469. package/react/components/search/SearchInput.js.map +1 -1
  470. package/react/components/search/SearchProviderResults.js +2 -0
  471. package/react/components/search/SearchProviderResults.js.map +1 -1
  472. package/react/components/search/SearchResult.js +6 -0
  473. package/react/components/search/SearchResult.js.map +1 -1
  474. package/react/components/search/SearchResult.spec.js +7 -0
  475. package/react/components/search/SearchResult.spec.js.map +1 -1
  476. package/react/components/search/SearchResult.stories.js +4 -0
  477. package/react/components/search/SearchResult.stories.js.map +1 -1
  478. package/react/components/search/SearchResults.js +5 -1
  479. package/react/components/search/SearchResults.js.map +1 -1
  480. package/react/components/search/SearchResults.spec.js +7 -0
  481. package/react/components/search/SearchResults.spec.js.map +1 -1
  482. package/react/components/shared/Animate.d.ts +5 -0
  483. package/react/components/shared/Animate.js +12 -1
  484. package/react/components/shared/Animate.js.map +1 -1
  485. package/react/components/shared/DefaultDropdownButton.js +9 -0
  486. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  487. package/react/components/shared/Tag.d.ts +0 -4
  488. package/react/components/shared/Tag.js +4 -0
  489. package/react/components/shared/Tag.js.map +1 -1
  490. package/react/components/shared/TagsMenu.d.ts +6 -0
  491. package/react/components/shared/TagsMenu.js +7 -0
  492. package/react/components/shared/TagsMenu.js.map +1 -1
  493. package/react/components/shared/addProtocolToValidURL.d.ts +6 -0
  494. package/react/components/shared/addProtocolToValidURL.js +6 -0
  495. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  496. package/react/components/shared/openQuitConfirmationDialog.d.ts +1 -1
  497. package/react/components/shared/openQuitConfirmationDialog.js +4 -4
  498. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  499. package/react/components/shared/tests/addProtocolToValidURL.spec.js +1 -0
  500. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
  501. package/react/components/shared/validateURL.d.ts +18 -0
  502. package/react/components/shared/validateURL.js +24 -5
  503. package/react/components/shared/validateURL.js.map +1 -1
  504. package/react/components/singleInputDialog/SingleInputDialog.css +1 -1
  505. package/react/components/singleInputDialog/SingleInputDialog.d.ts +3 -0
  506. package/react/components/singleInputDialog/SingleInputDialog.js +44 -0
  507. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  508. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +6 -0
  509. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  510. package/react/components/system/System.d.ts +22 -0
  511. package/react/components/system/System.js +23 -1
  512. package/react/components/system/System.js.map +1 -1
  513. package/react/components/system/System.stories.js +1 -0
  514. package/react/components/system/System.stories.js.map +1 -1
  515. package/react/components/system/SystemTrayComponentShell.d.ts +6 -0
  516. package/react/components/system/SystemTrayComponentShell.js +9 -0
  517. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  518. package/react/components/toolbar/AutoArrange.d.ts +5 -0
  519. package/react/components/toolbar/AutoArrange.js +8 -1
  520. package/react/components/toolbar/AutoArrange.js.map +1 -1
  521. package/react/components/toolbar/AutoArrange.spec.js +1 -0
  522. package/react/components/toolbar/AutoArrange.spec.js.map +1 -1
  523. package/react/components/toolbar/AutoArrange.stories.js +1 -0
  524. package/react/components/toolbar/AutoArrange.stories.js.map +1 -1
  525. package/react/components/toolbar/DragHandle.d.ts +4 -0
  526. package/react/components/toolbar/DragHandle.js +11 -0
  527. package/react/components/toolbar/DragHandle.js.map +1 -1
  528. package/react/components/toolbar/DragHandle.spec.js +1 -0
  529. package/react/components/toolbar/DragHandle.spec.js.map +1 -1
  530. package/react/components/toolbar/DragHandle.stories.js +1 -0
  531. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  532. package/react/components/toolbar/MinimizeAll.d.ts +4 -0
  533. package/react/components/toolbar/MinimizeAll.js +7 -1
  534. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  535. package/react/components/toolbar/MinimizeAll.spec.js +1 -0
  536. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  537. package/react/components/toolbar/MinimizeAll.stories.js +1 -0
  538. package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
  539. package/react/components/toolbar/NotificationControl.d.ts +5 -0
  540. package/react/components/toolbar/NotificationControl.js +8 -1
  541. package/react/components/toolbar/NotificationControl.js.map +1 -1
  542. package/react/components/toolbar/RevealAll.d.ts +4 -0
  543. package/react/components/toolbar/RevealAll.js +7 -1
  544. package/react/components/toolbar/RevealAll.js.map +1 -1
  545. package/react/components/toolbar/RevealAll.spec.js +1 -0
  546. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  547. package/react/components/toolbar/RevealAll.stories.js +1 -0
  548. package/react/components/toolbar/RevealAll.stories.js.map +1 -1
  549. package/react/components/toolbar/SddButton.d.ts +4 -0
  550. package/react/components/toolbar/SddButton.js +4 -0
  551. package/react/components/toolbar/SddButton.js.map +1 -1
  552. package/react/components/toolbar/ToolbarIcon.d.ts +4 -0
  553. package/react/components/toolbar/ToolbarIcon.js +4 -0
  554. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  555. package/react/components/toolbar/ToolbarSection.d.ts +7 -0
  556. package/react/components/toolbar/ToolbarSection.js +19 -1
  557. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  558. package/react/components/toolbar/ToolbarShell.d.ts +5 -0
  559. package/react/components/toolbar/ToolbarShell.js +7 -0
  560. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  561. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +16 -0
  562. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +20 -0
  563. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  564. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +52 -0
  565. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +58 -0
  566. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  567. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +5 -0
  568. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +5 -0
  569. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  570. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +27 -0
  571. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +49 -0
  572. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  573. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +13 -0
  574. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +14 -0
  575. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  576. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +5 -0
  577. package/react/components/toolbar/advancedAppLauncher/components/Content.js +19 -0
  578. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  579. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +4 -0
  580. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -0
  581. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  582. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +16 -0
  583. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +39 -0
  584. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  585. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +4 -0
  586. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +9 -0
  587. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  588. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +3 -0
  589. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  590. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +6 -0
  591. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +7 -0
  592. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  593. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +5 -0
  594. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +5 -0
  595. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  596. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -0
  597. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +5 -0
  598. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  599. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +37 -0
  600. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +40 -0
  601. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  602. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +3 -0
  603. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +82 -0
  604. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  605. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +10 -0
  606. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -0
  607. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  608. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +18 -0
  609. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +20 -0
  610. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  611. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +9 -0
  612. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +12 -0
  613. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  614. package/react/components/toolbar/appLauncher/appLauncher.css +1 -1
  615. package/react/components/toolbar/appLauncher/components/componentList.d.ts +3 -0
  616. package/react/components/toolbar/appLauncher/components/componentList.js +17 -3
  617. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  618. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +6 -0
  619. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +26 -0
  620. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  621. package/react/components/toolbar/dashbar/Dashbar.js +70 -3
  622. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  623. package/react/components/toolbar/dashbar/DashbarItem.js +5 -0
  624. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  625. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +7 -0
  626. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +7 -0
  627. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  628. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +16 -0
  629. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +20 -0
  630. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  631. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +26 -0
  632. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +29 -0
  633. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  634. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +5 -0
  635. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +6 -0
  636. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  637. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +76 -0
  638. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +140 -1
  639. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  640. package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +8 -18
  641. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +4 -0
  642. package/react/components/userPreferences/NotificationsPreferencesContext.js +4 -0
  643. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  644. package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -0
  645. package/react/components/userPreferences/UserPreferences.d.ts +8 -0
  646. package/react/components/userPreferences/UserPreferences.js +8 -0
  647. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  648. package/react/components/userPreferences/UserPreferencesBase.js +4 -0
  649. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  650. package/react/components/userPreferences/components/ContentSection.d.ts +5 -0
  651. package/react/components/userPreferences/components/LeftNav.d.ts +4 -0
  652. package/react/components/userPreferences/components/content/DashbarEditor.js +3 -0
  653. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  654. package/react/components/userPreferences/components/content/Notifications.js +3 -0
  655. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  656. package/react/components/userPreferences/components/content/Workspaces.d.ts +12 -0
  657. package/react/components/userPreferences/components/content/Workspaces.js +33 -1
  658. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  659. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +3 -0
  660. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  661. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +3 -0
  662. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  663. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +3 -0
  664. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  665. package/react/components/userPreferences/components/general/ScheduledClose.js +11 -0
  666. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  667. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +3 -0
  668. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  669. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +17 -0
  670. package/react/components/userPreferences/stores/UserPreferencesStore.js +27 -0
  671. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  672. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
  673. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  674. package/react/components/userPreferences/tests/Workspace.spec.js +20 -0
  675. package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -1
  676. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +124 -0
  677. package/react/components/windowTitleBar/WindowTitleBarShell.js +284 -35
  678. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  679. package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
  680. package/react/components/windowTitleBar/components/center/Tab.js +3 -0
  681. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  682. package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
  683. package/react/components/windowTitleBar/components/center/TabList.js +170 -4
  684. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  685. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
  686. package/react/components/windowTitleBar/components/left/LinkerButton.js +25 -9
  687. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  688. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
  689. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
  690. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  691. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
  692. package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
  693. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  694. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
  695. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
  696. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  697. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
  698. package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
  699. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  700. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
  701. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  702. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
  703. package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
  704. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  705. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
  706. package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
  707. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  708. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
  709. package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
  710. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  711. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
  712. package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
  713. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  714. package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
  715. package/react/components/windowTitleBar/components/windowTitle.js +172 -10
  716. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  717. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
  718. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +72 -1
  719. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  720. package/react/components/yesNoDialog/YesNoDialog.css +1 -1
  721. package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
  722. package/react/components/yesNoDialog/YesNoDialog.js +63 -0
  723. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  724. package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
  725. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  726. package/react/components/yesNoDialog/timer.js +2 -0
  727. package/react/components/yesNoDialog/timer.js.map +1 -1
  728. package/react/enzymeSetup.js +5 -0
  729. package/react/enzymeSetup.js.map +1 -1
  730. package/react/hooks/useDashbar.js +10 -0
  731. package/react/hooks/useDashbar.js.map +1 -1
  732. package/react/hooks/useDeepEffect.d.ts +4 -0
  733. package/react/hooks/useDeepEffect.js +21 -0
  734. package/react/hooks/useDeepEffect.js.map +1 -1
  735. package/react/hooks/useFavorites.d.ts +15 -0
  736. package/react/hooks/useFavorites.js +3 -0
  737. package/react/hooks/useFavorites.js.map +1 -1
  738. package/react/hooks/useFavoritesShell.d.ts +4 -0
  739. package/react/hooks/useFavoritesShell.js +23 -0
  740. package/react/hooks/useFavoritesShell.js.map +1 -1
  741. package/react/hooks/useHotkey.d.ts +6 -0
  742. package/react/hooks/useHotkey.js +9 -0
  743. package/react/hooks/useHotkey.js.map +1 -1
  744. package/react/hooks/useLinker.js +14 -0
  745. package/react/hooks/useLinker.js.map +1 -1
  746. package/react/hooks/useMenu.d.ts +29 -0
  747. package/react/hooks/useMenu.js +12 -1
  748. package/react/hooks/useMenu.js.map +1 -1
  749. package/react/hooks/useNotifications.d.ts +44 -0
  750. package/react/hooks/useNotifications.js +90 -0
  751. package/react/hooks/useNotifications.js.map +1 -1
  752. package/react/hooks/useOutsideClickDetector.d.ts +3 -0
  753. package/react/hooks/useOutsideClickDetector.js +3 -0
  754. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  755. package/react/hooks/usePubSub.d.ts +17 -0
  756. package/react/hooks/usePubSub.js +18 -0
  757. package/react/hooks/usePubSub.js.map +1 -1
  758. package/react/hooks/useSearch.d.ts +5 -0
  759. package/react/hooks/useSearch.js +30 -0
  760. package/react/hooks/useSearch.js.map +1 -1
  761. package/react/hooks/useToolbar.js +52 -0
  762. package/react/hooks/useToolbar.js.map +1 -1
  763. package/react/reducers/favoriteReducer.d.ts +3 -0
  764. package/react/reducers/linkerReducer.d.ts +3 -0
  765. package/react/reducers/linkerReducer.js +4 -0
  766. package/react/reducers/linkerReducer.js.map +1 -1
  767. package/react/reducers/menuReducer.d.ts +28 -0
  768. package/react/reducers/menuReducer.js +34 -0
  769. package/react/reducers/menuReducer.js.map +1 -1
  770. package/react/reducers/rootReducer.js +3 -0
  771. package/react/reducers/rootReducer.js.map +1 -1
  772. package/react/reducers/searchReducer.d.ts +7 -0
  773. package/react/reducers/searchReducer.js +6 -0
  774. package/react/reducers/searchReducer.js.map +1 -1
  775. package/react/reducers/workspaceReducer.js +1 -0
  776. package/react/reducers/workspaceReducer.js.map +1 -1
  777. package/react/store.d.ts +4 -0
  778. package/react/store.js +11 -0
  779. package/react/store.js.map +1 -1
  780. package/react/tsconfig.tsbuildinfo +1 -1
  781. package/react/types/fdc3.d.ts +2 -0
  782. package/react/types/linkerTypes.d.ts +13 -0
  783. package/react/types/linkerTypes.js +1 -0
  784. package/react/types/linkerTypes.js.map +1 -1
  785. package/react/types/smartDesktopDesignerTypes.d.ts +5 -0
  786. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  787. package/react/types/workspaceTypes.d.ts +8 -0
@@ -1,8 +1,30 @@
1
1
  import * as React from "react";
2
+ /**
3
+ * A menu item that opens the user preferences menu when clicked.
4
+ */
2
5
  export declare const Preferences: React.FunctionComponent;
6
+ /**
7
+ * A menu item that opens the system log window when clicked.
8
+ */
3
9
  export declare const SystemLog: React.FunctionComponent;
10
+ /**
11
+ * A menu item that opens the Central Logger when clicked.
12
+ */
4
13
  export declare const CentralLogger: React.FunctionComponent;
14
+ /**
15
+ * A menu item that opens Finsemble documentation in a browser when clicked.
16
+ */
5
17
  export declare const Documentation: React.FunctionComponent;
18
+ /**
19
+ * A menu item that restarts the Finsemble application when clicked.
20
+ */
6
21
  export declare const Restart: React.FunctionComponent;
22
+ /**
23
+ * A menu item that resets the Finsemble application.
24
+ * The reset clears out all the user data of the application when clicked.
25
+ */
7
26
  export declare const Reset: React.FunctionComponent;
27
+ /**
28
+ * A menu item that quits the Finsemble application when clicked.
29
+ */
8
30
  export declare const Quit: React.FunctionComponent;
@@ -1,6 +1,9 @@
1
1
  import * as React from "react";
2
2
  import { MenuItem } from "../menu/MenuItem";
3
3
  import { openQuitConfirmationDialog } from "../shared/openQuitConfirmationDialog";
4
+ /**
5
+ * A menu item that opens the user preferences menu when clicked.
6
+ */
4
7
  export const Preferences = () => (React.createElement(MenuItem, { onClick: () => {
5
8
  FSBL.Clients.LauncherClient.showWindow({
6
9
  componentType: "UserPreferences",
@@ -10,10 +13,19 @@ export const Preferences = () => (React.createElement(MenuItem, { onClick: () =>
10
13
  top: "center",
11
14
  });
12
15
  } }, "Preferences"));
16
+ /**
17
+ * A menu item that opens the system log window when clicked.
18
+ */
13
19
  export const SystemLog = () => (React.createElement(MenuItem, { onClick: FSBL.SystemManagerClient.showSystemLog }, "System Log"));
20
+ /**
21
+ * A menu item that opens the Central Logger when clicked.
22
+ */
14
23
  export const CentralLogger = () => (React.createElement(MenuItem, { onClick: () => {
15
24
  FSBL.Clients.RouterClient.transmit("CentralConsole-Show", true);
16
25
  } }, "Central Logger"));
26
+ /**
27
+ * A menu item that opens Finsemble documentation in a browser when clicked.
28
+ */
17
29
  export const Documentation = () => (React.createElement(MenuItem, { onClick: () => {
18
30
  FSBL.Clients.DialogManager.spawnDialog({
19
31
  name: "Documentation",
@@ -21,11 +33,21 @@ export const Documentation = () => (React.createElement(MenuItem, { onClick: ()
21
33
  url: "https://documentation.finsemble.com/tutorial-finsemble-user-guide.html",
22
34
  }, {}, () => { });
23
35
  } }, "Documentation"));
24
- export const Restart = () => React.createElement(MenuItem, { onClick: FSBL.restartApplication }, "Restart");
36
+ /**
37
+ * A menu item that restarts the Finsemble application when clicked.
38
+ */
39
+ export const Restart = () => (React.createElement(MenuItem, { onClick: () => openQuitConfirmationDialog("Restart") }, "Restart"));
40
+ /**
41
+ * A menu item that resets the Finsemble application.
42
+ * The reset clears out all the user data of the application when clicked.
43
+ */
25
44
  export const Reset = () => (React.createElement(MenuItem, { onClick: () => {
26
45
  FSBL.Clients.StorageClient.clearCache(() => {
27
46
  FSBL.restartApplication({ forceRestart: true });
28
47
  });
29
48
  } }, "Reset"));
49
+ /**
50
+ * A menu item that quits the Finsemble application when clicked.
51
+ */
30
52
  export const Quit = () => React.createElement(MenuItem, { onClick: openQuitConfirmationDialog }, "Quit");
31
53
  //# sourceMappingURL=System.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"System.js","sourceRoot":"","sources":["../../../src/components/system/System.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAKlF,MAAM,CAAC,MAAM,WAAW,GAA4B,GAAG,EAAE,CAAC,CACzD,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CACrC;YACC,aAAa,EAAE,iBAAiB;SAChC,EACD;YACC,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;SACb,CACD,CAAC;IACH,CAAC,kBAGS,CACX,CAAC;AAKF,MAAM,CAAC,MAAM,SAAS,GAA4B,GAAG,EAAE,CAAC,CACvD,oBAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,iBAAuB,CAChF,CAAC;AAKF,MAAM,CAAC,MAAM,aAAa,GAA4B,GAAG,EAAE,CAAC,CAC3D,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,qBAGS,CACX,CAAC;AAKF,MAAM,CAAC,MAAM,aAAa,GAA4B,GAAG,EAAE,CAAC,CAC3D,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CACrC;YACC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,GAAG;YACV,GAAG,EAAE,wEAAwE;SAC7E,EACD,EAAE,EACF,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;IACH,CAAC,oBAGS,CACX,CAAC;AAKF,MAAM,CAAC,MAAM,OAAO,GAA4B,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,cAAoB,CAAC;AAMrH,MAAM,CAAC,MAAM,KAAK,GAA4B,GAAG,EAAE,CAAC,CACnD,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,YAGS,CACX,CAAC;AAKF,MAAM,CAAC,MAAM,IAAI,GAA4B,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,OAAO,EAAE,0BAA0B,WAAiB,CAAC","sourcesContent":["import * as React from \"react\";\n\nimport { MenuItem } from \"../menu/MenuItem\";\nimport { openQuitConfirmationDialog } from \"../shared/openQuitConfirmationDialog\";\n\n/**\n * A menu item that opens the user preferences menu when clicked.\n */\nexport const Preferences: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.LauncherClient.showWindow(\n\t\t\t\t{\n\t\t\t\t\tcomponentType: \"UserPreferences\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmonitor: \"mine\",\n\t\t\t\t\tleft: \"center\",\n\t\t\t\t\ttop: \"center\",\n\t\t\t\t}\n\t\t\t);\n\t\t}}\n\t>\n\t\tPreferences\n\t</MenuItem>\n);\n\n/**\n * A menu item that opens the system log window when clicked.\n */\nexport const SystemLog: React.FunctionComponent = () => (\n\t<MenuItem onClick={FSBL.SystemManagerClient.showSystemLog}>System Log</MenuItem>\n);\n\n/**\n * A menu item that opens the Central Logger when clicked.\n */\nexport const CentralLogger: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.RouterClient.transmit(\"CentralConsole-Show\", true);\n\t\t}}\n\t>\n\t\tCentral Logger\n\t</MenuItem>\n);\n\n/**\n * A menu item that opens Finsemble documentation in a browser when clicked.\n */\nexport const Documentation: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.DialogManager.spawnDialog(\n\t\t\t\t{\n\t\t\t\t\tname: \"Documentation\",\n\t\t\t\t\twidth: 750,\n\t\t\t\t\turl: \"https://documentation.finsemble.com/tutorial-finsemble-user-guide.html\",\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t\t() => {}\n\t\t\t);\n\t\t}}\n\t>\n\t\tDocumentation\n\t</MenuItem>\n);\n\n/**\n * A menu item that restarts the Finsemble application when clicked.\n */\nexport const Restart: React.FunctionComponent = () => <MenuItem onClick={FSBL.restartApplication}>Restart</MenuItem>;\n\n/**\n * A menu item that resets the Finsemble application.\n * The reset clears out all the user data of the application when clicked.\n */\nexport const Reset: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.StorageClient.clearCache(() => {\n\t\t\t\tFSBL.restartApplication({ forceRestart: true });\n\t\t\t});\n\t\t}}\n\t>\n\t\tReset\n\t</MenuItem>\n);\n\n/**\n * A menu item that quits the Finsemble application when clicked.\n */\nexport const Quit: React.FunctionComponent = () => <MenuItem onClick={openQuitConfirmationDialog}>Quit</MenuItem>;\n"]}
1
+ {"version":3,"file":"System.js","sourceRoot":"","sources":["../../../src/components/system/System.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAA4B,GAAG,EAAE,CAAC,CACzD,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CACrC;YACC,aAAa,EAAE,iBAAiB;SAChC,EACD;YACC,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;SACb,CACD,CAAC;IACH,CAAC,kBAGS,CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAA4B,GAAG,EAAE,CAAC,CACvD,oBAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,iBAAuB,CAChF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA4B,GAAG,EAAE,CAAC,CAC3D,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,qBAGS,CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA4B,GAAG,EAAE,CAAC,CAC3D,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CACrC;YACC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,GAAG;YACV,GAAG,EAAE,wEAAwE;SAC7E,EACD,EAAE,EACF,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;IACH,CAAC,oBAGS,CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAA4B,GAAG,EAAE,CAAC,CACrD,oBAAC,QAAQ,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,cAAoB,CAClF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAA4B,GAAG,EAAE,CAAC,CACnD,oBAAC,QAAQ,IACR,OAAO,EAAE,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,YAGS,CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAA4B,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,OAAO,EAAE,0BAA0B,WAAiB,CAAC","sourcesContent":["import * as React from \"react\";\n\nimport { MenuItem } from \"../menu/MenuItem\";\nimport { openQuitConfirmationDialog } from \"../shared/openQuitConfirmationDialog\";\n\n/**\n * A menu item that opens the user preferences menu when clicked.\n */\nexport const Preferences: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.LauncherClient.showWindow(\n\t\t\t\t{\n\t\t\t\t\tcomponentType: \"UserPreferences\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmonitor: \"mine\",\n\t\t\t\t\tleft: \"center\",\n\t\t\t\t\ttop: \"center\",\n\t\t\t\t}\n\t\t\t);\n\t\t}}\n\t>\n\t\tPreferences\n\t</MenuItem>\n);\n\n/**\n * A menu item that opens the system log window when clicked.\n */\nexport const SystemLog: React.FunctionComponent = () => (\n\t<MenuItem onClick={FSBL.SystemManagerClient.showSystemLog}>System Log</MenuItem>\n);\n\n/**\n * A menu item that opens the Central Logger when clicked.\n */\nexport const CentralLogger: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.RouterClient.transmit(\"CentralConsole-Show\", true);\n\t\t}}\n\t>\n\t\tCentral Logger\n\t</MenuItem>\n);\n\n/**\n * A menu item that opens Finsemble documentation in a browser when clicked.\n */\nexport const Documentation: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.DialogManager.spawnDialog(\n\t\t\t\t{\n\t\t\t\t\tname: \"Documentation\",\n\t\t\t\t\twidth: 750,\n\t\t\t\t\turl: \"https://documentation.finsemble.com/tutorial-finsemble-user-guide.html\",\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t\t() => {}\n\t\t\t);\n\t\t}}\n\t>\n\t\tDocumentation\n\t</MenuItem>\n);\n\n/**\n * A menu item that restarts the Finsemble application when clicked.\n */\nexport const Restart: React.FunctionComponent = () => (\n\t<MenuItem onClick={() => openQuitConfirmationDialog(\"Restart\")}>Restart</MenuItem>\n);\n\n/**\n * A menu item that resets the Finsemble application.\n * The reset clears out all the user data of the application when clicked.\n */\nexport const Reset: React.FunctionComponent = () => (\n\t<MenuItem\n\t\tonClick={() => {\n\t\t\tFSBL.Clients.StorageClient.clearCache(() => {\n\t\t\t\tFSBL.restartApplication({ forceRestart: true });\n\t\t\t});\n\t\t}}\n\t>\n\t\tReset\n\t</MenuItem>\n);\n\n/**\n * A menu item that quits the Finsemble application when clicked.\n */\nexport const Quit: React.FunctionComponent = () => <MenuItem onClick={openQuitConfirmationDialog}>Quit</MenuItem>;\n"]}
@@ -11,6 +11,7 @@ export default {
11
11
  };
12
12
  const Template = (args) => {
13
13
  initFSBL(window);
14
+ // Overwrite FSBL functions for the sake of testing
14
15
  FSBL.Clients.LauncherClient.showWindow = args.preferencesAction;
15
16
  FSBL.SystemManagerClient.showSystemLog = args.systemLogAction;
16
17
  FSBL.Clients.RouterClient.transmit = args.centralLoggerAction;
@@ -1 +1 @@
1
- {"version":3,"file":"System.stories.js","sourceRoot":"","sources":["../../../src/components/system/System.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,gCAAgC,CAAC;AAExC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGjB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChE,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAElD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,wBAAwB;YACxB,oBAAC,WAAW,OAAG;YACf,oBAAC,SAAS,OAAG;YACb,oBAAC,aAAa,OAAG;YACjB,oBAAC,aAAa,OAAG;YACjB,oBAAC,OAAO,OAAG;YACX,oBAAC,KAAK,OAAG;YACT,oBAAC,IAAI,OAAG,CACkB,CACR,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC;IAC7C,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { Preferences, SystemLog, CentralLogger, Documentation, Restart, Reset, Quit } from \"./System\";\nimport { SystemTrayComponentShell } from \"./SystemTrayComponentShell\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/favorites.css\";\n\nexport default {\n\ttitle: \"Toolbar/Preferences\",\n\tcomponent: Preferences,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite FSBL functions for the sake of testing\n\tFSBL.Clients.LauncherClient.showWindow = args.preferencesAction;\n\tFSBL.SystemManagerClient.showSystemLog = args.systemLogAction;\n\tFSBL.Clients.RouterClient.transmit = args.centralLoggerAction;\n\tFSBL.Clients.DialogManager.spawnDialog = args.documentationAction;\n\tFSBL.restartApplication = args.restartAction;\n\tFSBL.Clients.StorageClient.clearCache = args.resetAction;\n\tFSBL.Clients.DialogManager.open = args.quitAction;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<SystemTrayComponentShell>\n\t\t\t\t<Preferences />\n\t\t\t\t<SystemLog />\n\t\t\t\t<CentralLogger />\n\t\t\t\t<Documentation />\n\t\t\t\t<Restart />\n\t\t\t\t<Reset />\n\t\t\t\t<Quit />\n\t\t\t</SystemTrayComponentShell>\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\tpreferencesAction: action(\"Open window\"),\n\tsystemLogAction: action(\"System log\"),\n\tcentralLoggerAction: action(\"Central logger\"),\n\tdocumentationAction: action(\"Open documentation\"),\n\trestartAction: action(\"Restart\"),\n\tresetAction: action(\"Reset\"),\n\tquitAction: action(\"Quit\"),\n};\n"]}
1
+ {"version":3,"file":"System.stories.js","sourceRoot":"","sources":["../../../src/components/system/System.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,gCAAgC,CAAC;AAExC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,mDAAmD;IACnD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChE,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAElD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,wBAAwB;YACxB,oBAAC,WAAW,OAAG;YACf,oBAAC,SAAS,OAAG;YACb,oBAAC,aAAa,OAAG;YACjB,oBAAC,aAAa,OAAG;YACjB,oBAAC,OAAO,OAAG;YACX,oBAAC,KAAK,OAAG;YACT,oBAAC,IAAI,OAAG,CACkB,CACR,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC;IAC7C,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { Preferences, SystemLog, CentralLogger, Documentation, Restart, Reset, Quit } from \"./System\";\nimport { SystemTrayComponentShell } from \"./SystemTrayComponentShell\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/favorites.css\";\n\nexport default {\n\ttitle: \"Toolbar/Preferences\",\n\tcomponent: Preferences,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite FSBL functions for the sake of testing\n\tFSBL.Clients.LauncherClient.showWindow = args.preferencesAction;\n\tFSBL.SystemManagerClient.showSystemLog = args.systemLogAction;\n\tFSBL.Clients.RouterClient.transmit = args.centralLoggerAction;\n\tFSBL.Clients.DialogManager.spawnDialog = args.documentationAction;\n\tFSBL.restartApplication = args.restartAction;\n\tFSBL.Clients.StorageClient.clearCache = args.resetAction;\n\tFSBL.Clients.DialogManager.open = args.quitAction;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<SystemTrayComponentShell>\n\t\t\t\t<Preferences />\n\t\t\t\t<SystemLog />\n\t\t\t\t<CentralLogger />\n\t\t\t\t<Documentation />\n\t\t\t\t<Restart />\n\t\t\t\t<Reset />\n\t\t\t\t<Quit />\n\t\t\t</SystemTrayComponentShell>\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\tpreferencesAction: action(\"Open window\"),\n\tsystemLogAction: action(\"System log\"),\n\tcentralLoggerAction: action(\"Central logger\"),\n\tdocumentationAction: action(\"Open documentation\"),\n\trestartAction: action(\"Restart\"),\n\tresetAction: action(\"Reset\"),\n\tquitAction: action(\"Quit\"),\n};\n"]}
@@ -1,4 +1,10 @@
1
1
  import * as React from "react";
2
2
  declare type SystemTrayComponentShellProps = {};
3
+ /**
4
+ * This React component will automatically resize to the height of its DOM content and will hide itself when it loses focus.
5
+ *
6
+ * Note: Set FSBL.debug=true in order to override the window hide on blur effect, so that you can debug the window's contents.
7
+ * @param {object} props
8
+ */
3
9
  export declare const SystemTrayComponentShell: React.FunctionComponent<SystemTrayComponentShellProps>;
4
10
  export {};
@@ -1,11 +1,20 @@
1
1
  import * as React from "react";
2
2
  const { useEffect } = React;
3
+ /**
4
+ * This React component will automatically resize to the height of its DOM content and will hide itself when it loses focus.
5
+ *
6
+ * Note: Set FSBL.debug=true in order to override the window hide on blur effect, so that you can debug the window's contents.
7
+ * @param {object} props
8
+ */
3
9
  export const SystemTrayComponentShell = (props) => {
10
+ // Resize window to fit the DOM height whenever the React children (window contents) change
4
11
  useEffect(() => {
5
12
  FSBL.Clients.WindowClient.fitToDOM();
6
13
  }, [props]);
14
+ // Hide window on blur.
7
15
  useEffect(() => {
8
16
  const hide = () => {
17
+ // If FSBL.debug is set to true then bypass hide on blur effect
9
18
  if (FSBL === null || FSBL === void 0 ? void 0 : FSBL.debug)
10
19
  return;
11
20
  finsembleWindow.hide();
@@ -1 +1 @@
1
- {"version":3,"file":"SystemTrayComponentShell.js","sourceRoot":"","sources":["../../../src/components/system/SystemTrayComponentShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAS5B,MAAM,CAAC,MAAM,wBAAwB,GAA2D,CAAC,KAAK,EAAE,EAAE;IAEzG,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAGZ,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,IAAI,GAAG,GAAG,EAAE;YAEjB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gBAAE,OAAO;YACxB,eAAe,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACX,eAAe,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,0CAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\n\nconst { useEffect } = React;\ntype SystemTrayComponentShellProps = {};\n\n/**\n * This React component will automatically resize to the height of its DOM content and will hide itself when it loses focus.\n *\n * Note: Set FSBL.debug=true in order to override the window hide on blur effect, so that you can debug the window's contents.\n * @param {object} props\n */\nexport const SystemTrayComponentShell: React.FunctionComponent<SystemTrayComponentShellProps> = (props) => {\n\t// Resize window to fit the DOM height whenever the React children (window contents) change\n\tuseEffect(() => {\n\t\tFSBL.Clients.WindowClient.fitToDOM();\n\t}, [props]);\n\n\t// Hide window on blur.\n\tuseEffect(() => {\n\t\tconst hide = () => {\n\t\t\t// If FSBL.debug is set to true then bypass hide on blur effect\n\t\t\tif (FSBL?.debug) return;\n\t\t\tfinsembleWindow.hide();\n\t\t};\n\n\t\tfinsembleWindow.addEventListener(\"blurred\", hide);\n\t\treturn () => {\n\t\t\tfinsembleWindow.removeEventListener(\"blurred\", hide);\n\t\t};\n\t}, []);\n\n\treturn <>{props.children}</>;\n};\n"]}
1
+ {"version":3,"file":"SystemTrayComponentShell.js","sourceRoot":"","sources":["../../../src/components/system/SystemTrayComponentShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAG5B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA2D,CAAC,KAAK,EAAE,EAAE;IACzG,2FAA2F;IAC3F,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,uBAAuB;IACvB,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,IAAI,GAAG,GAAG,EAAE;YACjB,+DAA+D;YAC/D,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gBAAE,OAAO;YACxB,eAAe,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACX,eAAe,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,0CAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\n\nconst { useEffect } = React;\ntype SystemTrayComponentShellProps = {};\n\n/**\n * This React component will automatically resize to the height of its DOM content and will hide itself when it loses focus.\n *\n * Note: Set FSBL.debug=true in order to override the window hide on blur effect, so that you can debug the window's contents.\n * @param {object} props\n */\nexport const SystemTrayComponentShell: React.FunctionComponent<SystemTrayComponentShellProps> = (props) => {\n\t// Resize window to fit the DOM height whenever the React children (window contents) change\n\tuseEffect(() => {\n\t\tFSBL.Clients.WindowClient.fitToDOM();\n\t}, [props]);\n\n\t// Hide window on blur.\n\tuseEffect(() => {\n\t\tconst hide = () => {\n\t\t\t// If FSBL.debug is set to true then bypass hide on blur effect\n\t\t\tif (FSBL?.debug) return;\n\t\t\tfinsembleWindow.hide();\n\t\t};\n\n\t\tfinsembleWindow.addEventListener(\"blurred\", hide);\n\t\treturn () => {\n\t\t\tfinsembleWindow.removeEventListener(\"blurred\", hide);\n\t\t};\n\t}, []);\n\n\treturn <>{props.children}</>;\n};\n"]}
@@ -1,4 +1,9 @@
1
1
  import React from "react";
2
+ /**
3
+ * Makes use of Finsemble's "autoArrange" functionality to organize windows into a grid-like pattern.
4
+ * This button acts as a toggle, arranging and unarranging with subsequent clicks.
5
+ * @param {string} [className] - An optional CSS className to append.
6
+ */
2
7
  export declare const AutoArrange: React.FunctionComponent<{
3
8
  className?: string;
4
9
  }>;
@@ -1,5 +1,7 @@
1
- import React, { useEffect, useState } from "react";
1
+ // disable eslint below because the svg in the icon definition will error if React is not imported
2
+ import React, { useEffect, useState } from "react"; // eslint-disable-line
2
3
  import { useToolbar } from "../../hooks/useToolbar";
4
+ // The default icon for AutoArrange.
3
5
  const AutoArrangeIcon = () => (React.createElement("svg", { width: "16px", height: "16px", viewBox: "0 0 16 16", version: "1.1", xmlns: "http://www.w3.org/2000/svg" },
4
6
  React.createElement("g", { id: "Symbols", stroke: "none", strokeWidth: "1", fill: "none", fillRule: "evenodd" },
5
7
  React.createElement("g", { id: "atoms/icons/auto-arrange", transform: "translate(-9.000000, -9.000000)", fill: "#FFFFFF" },
@@ -8,6 +10,11 @@ const AutoArrangeIcon = () => (React.createElement("svg", { width: "16px", heigh
8
10
  React.createElement("path", { d: "M10,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,6 C16,6.55228475 15.5522847,7 15,7 L10,7 C9.44771525,7 9,6.55228475 9,6 L9,1 C9,0.44771525 9.44771525,1.01453063e-16 10,0 Z M10,1 L10,6 L15,6 L15,1 L10,1 Z", id: "Combined-Shape" }),
9
11
  React.createElement("path", { d: "M10,9 L15,9 C15.5522847,9 16,9.44771525 16,10 L16,15 C16,15.5522847 15.5522847,16 15,16 L10,16 C9.44771525,16 9,15.5522847 9,15 L9,10 C9,9.44771525 9.44771525,9 10,9 Z M10,10 L10,15 L15,15 L15,10 L10,10 Z", id: "Combined-Shape" }),
10
12
  React.createElement("path", { d: "M1,9 L6,9 C6.55228475,9 7,9.44771525 7,10 L7,15 C7,15.5522847 6.55228475,16 6,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,10 C-6.76353751e-17,9.44771525 0.44771525,9 1,9 Z M1,10 L1,15 L6,15 L6,10 L1,10 Z", id: "Combined-Shape" }))))));
13
+ /**
14
+ * Makes use of Finsemble's "autoArrange" functionality to organize windows into a grid-like pattern.
15
+ * This button acts as a toggle, arranging and unarranging with subsequent clicks.
16
+ * @param {string} [className] - An optional CSS className to append.
17
+ */
11
18
  export const AutoArrange = ({ className, children }) => {
12
19
  const [isAutoArranged, setIsAutoArranged] = useState(false);
13
20
  const [title, setTitle] = useState("Auto Arrange");
@@ -1 +1 @@
1
- {"version":3,"file":"AutoArrange.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC7B,6BAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACnG,2BAAG,EAAE,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS;QAC3E,2BAAG,EAAE,EAAC,0BAA0B,EAAC,SAAS,EAAC,iCAAiC,EAAC,IAAI,EAAC,SAAS;YAC1F,2BAAG,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,+BAA+B;gBACzD,8BACC,CAAC,EAAC,yOAAyO,EAC3O,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,4NAA4N,EAC9N,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,8MAA8M,EAChN,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,2NAA2N,EAC7N,EAAE,EAAC,gBAAgB,GACZ,CACL,CACD,CACD,CACC,CACN,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAoD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,oCAAoC,CAAC,CAAC;IAE3F,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAkC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACpF,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACtD,iBAAiB,CAChB,sCAAsC,SAAS,IAAI,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAClG,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACN,6BACC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvC,iBAAiB,EAAE,CAAC;aACpB;QACF,CAAC,IAEA,QAAQ,IAAI,oBAAC,eAAe,OAAG,CAC3B,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["// disable eslint below because the svg in the icon definition will error if React is not imported\nimport React, { useEffect, useState } from \"react\"; // eslint-disable-line\nimport { useToolbar } from \"../../hooks/useToolbar\";\n\n// The default icon for AutoArrange.\nconst AutoArrangeIcon = () => (\n\t<svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g id=\"Symbols\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n\t\t\t<g id=\"atoms/icons/auto-arrange\" transform=\"translate(-9.000000, -9.000000)\" fill=\"#FFFFFF\">\n\t\t\t\t<g id=\"Arranged\" transform=\"translate(9.000000, 9.000000)\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,0 L6,0 C6.55228475,-1.01453063e-16 7,0.44771525 7,1 L7,6 C7,6.55228475 6.55228475,7 6,7 L1,7 C0.44771525,7 6.76353751e-17,6.55228475 0,6 L0,1 C-6.76353751e-17,0.44771525 0.44771525,1.01453063e-16 1,0 Z M1,1 L1,6 L6,6 L6,1 L1,1 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,6 C16,6.55228475 15.5522847,7 15,7 L10,7 C9.44771525,7 9,6.55228475 9,6 L9,1 C9,0.44771525 9.44771525,1.01453063e-16 10,0 Z M10,1 L10,6 L15,6 L15,1 L10,1 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10,9 L15,9 C15.5522847,9 16,9.44771525 16,10 L16,15 C16,15.5522847 15.5522847,16 15,16 L10,16 C9.44771525,16 9,15.5522847 9,15 L9,10 C9,9.44771525 9.44771525,9 10,9 Z M10,10 L10,15 L15,15 L15,10 L10,10 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,9 L6,9 C6.55228475,9 7,9.44771525 7,10 L7,15 C7,15.5522847 6.55228475,16 6,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,10 C-6.76353751e-17,9.44771525 0.44771525,9 1,9 Z M1,10 L1,15 L6,15 L6,10 L1,10 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</g>\n\t</svg>\n);\n\n/**\n * Makes use of Finsemble's \"autoArrange\" functionality to organize windows into a grid-like pattern.\n * This button acts as a toggle, arranging and unarranging with subsequent clicks.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const AutoArrange: React.FunctionComponent<{ className?: string }> = ({ className, children }) => {\n\tconst [isAutoArranged, setIsAutoArranged] = useState(false);\n\tconst [title, setTitle] = useState(\"Auto Arrange\");\n\tconst [wrapperClasses, setWrapperClasses] = useState(\"finsemble-toolbar-button icon-only\");\n\n\tconst { toggleAutoArrange } = useToolbar();\n\n\tFSBL.Clients.RouterClient.subscribe(\"DockingService.AutoArrangeStatus\", (err, res) => {\n\t\tsetIsAutoArranged(!Object.keys(res.data.isAutoArranged).every((key) => !res.data.isAutoArranged[key]));\n\t});\n\n\tuseEffect(() => {\n\t\tsetTitle(isAutoArranged ? \"Restore\" : \"Auto Arrange\");\n\t\tsetWrapperClasses(\n\t\t\t`finsemble-toolbar-button icon-only ${className || \"\"} ${isAutoArranged ? \"selected\" : \"\"}`.trim()\n\t\t);\n\t}, [isAutoArranged]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={wrapperClasses}\n\t\t\ttitle={title}\n\t\t\tonClick={toggleAutoArrange}\n\t\t\ttabIndex={0}\n\t\t\trole=\"button\"\n\t\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\n\t\t\t\t\ttoggleAutoArrange();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{children || <AutoArrangeIcon />}\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"AutoArrange.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.tsx"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,sBAAsB;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,oCAAoC;AACpC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC7B,6BAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACnG,2BAAG,EAAE,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS;QAC3E,2BAAG,EAAE,EAAC,0BAA0B,EAAC,SAAS,EAAC,iCAAiC,EAAC,IAAI,EAAC,SAAS;YAC1F,2BAAG,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,+BAA+B;gBACzD,8BACC,CAAC,EAAC,yOAAyO,EAC3O,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,4NAA4N,EAC9N,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,8MAA8M,EAChN,EAAE,EAAC,gBAAgB,GACZ;gBACR,8BACC,CAAC,EAAC,2NAA2N,EAC7N,EAAE,EAAC,gBAAgB,GACZ,CACL,CACD,CACD,CACC,CACN,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,oCAAoC,CAAC,CAAC;IAE3F,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAkC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACpF,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACtD,iBAAiB,CAChB,sCAAsC,SAAS,IAAI,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAClG,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACN,6BACC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvC,iBAAiB,EAAE,CAAC;aACpB;QACF,CAAC,IAEA,QAAQ,IAAI,oBAAC,eAAe,OAAG,CAC3B,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["// disable eslint below because the svg in the icon definition will error if React is not imported\nimport React, { useEffect, useState } from \"react\"; // eslint-disable-line\nimport { useToolbar } from \"../../hooks/useToolbar\";\n\n// The default icon for AutoArrange.\nconst AutoArrangeIcon = () => (\n\t<svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g id=\"Symbols\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n\t\t\t<g id=\"atoms/icons/auto-arrange\" transform=\"translate(-9.000000, -9.000000)\" fill=\"#FFFFFF\">\n\t\t\t\t<g id=\"Arranged\" transform=\"translate(9.000000, 9.000000)\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,0 L6,0 C6.55228475,-1.01453063e-16 7,0.44771525 7,1 L7,6 C7,6.55228475 6.55228475,7 6,7 L1,7 C0.44771525,7 6.76353751e-17,6.55228475 0,6 L0,1 C-6.76353751e-17,0.44771525 0.44771525,1.01453063e-16 1,0 Z M1,1 L1,6 L6,6 L6,1 L1,1 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,6 C16,6.55228475 15.5522847,7 15,7 L10,7 C9.44771525,7 9,6.55228475 9,6 L9,1 C9,0.44771525 9.44771525,1.01453063e-16 10,0 Z M10,1 L10,6 L15,6 L15,1 L10,1 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10,9 L15,9 C15.5522847,9 16,9.44771525 16,10 L16,15 C16,15.5522847 15.5522847,16 15,16 L10,16 C9.44771525,16 9,15.5522847 9,15 L9,10 C9,9.44771525 9.44771525,9 10,9 Z M10,10 L10,15 L15,15 L15,10 L10,10 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,9 L6,9 C6.55228475,9 7,9.44771525 7,10 L7,15 C7,15.5522847 6.55228475,16 6,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,10 C-6.76353751e-17,9.44771525 0.44771525,9 1,9 Z M1,10 L1,15 L6,15 L6,10 L1,10 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t></path>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</g>\n\t</svg>\n);\n\n/**\n * Makes use of Finsemble's \"autoArrange\" functionality to organize windows into a grid-like pattern.\n * This button acts as a toggle, arranging and unarranging with subsequent clicks.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const AutoArrange: React.FunctionComponent<{ className?: string }> = ({ className, children }) => {\n\tconst [isAutoArranged, setIsAutoArranged] = useState(false);\n\tconst [title, setTitle] = useState(\"Auto Arrange\");\n\tconst [wrapperClasses, setWrapperClasses] = useState(\"finsemble-toolbar-button icon-only\");\n\n\tconst { toggleAutoArrange } = useToolbar();\n\n\tFSBL.Clients.RouterClient.subscribe(\"DockingService.AutoArrangeStatus\", (err, res) => {\n\t\tsetIsAutoArranged(!Object.keys(res.data.isAutoArranged).every((key) => !res.data.isAutoArranged[key]));\n\t});\n\n\tuseEffect(() => {\n\t\tsetTitle(isAutoArranged ? \"Restore\" : \"Auto Arrange\");\n\t\tsetWrapperClasses(\n\t\t\t`finsemble-toolbar-button icon-only ${className || \"\"} ${isAutoArranged ? \"selected\" : \"\"}`.trim()\n\t\t);\n\t}, [isAutoArranged]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={wrapperClasses}\n\t\t\ttitle={title}\n\t\t\tonClick={toggleAutoArrange}\n\t\t\ttabIndex={0}\n\t\t\trole=\"button\"\n\t\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\n\t\t\t\t\ttoggleAutoArrange();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{children || <AutoArrangeIcon />}\n\t\t</div>\n\t);\n};\n"]}
@@ -4,6 +4,7 @@ import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import sinon from "sinon";
6
6
  import { Basic } from "./AutoArrange.stories";
7
+ // Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)
7
8
  import addons, { mockChannel } from "@storybook/addons";
8
9
  import { waitTick } from "../sdd/sdd_helpers";
9
10
  addons.setChannel(mockChannel());
@@ -1 +1 @@
1
- {"version":3,"file":"AutoArrange.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./AutoArrange.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { waitTick } from \"../sdd/sdd_helpers\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<AutoArrange/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when clicked\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when user presses Enter\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when user presses Space\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Space\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should not call auto-arrange action when user presses a character other than Enter or Space\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"a\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t});\n});\n"]}
1
+ {"version":3,"file":"AutoArrange.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./AutoArrange.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { waitTick } from \"../sdd/sdd_helpers\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<AutoArrange/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when clicked\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when user presses Enter\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call auto-arrange action when user presses Space\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Space\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should not call auto-arrange action when user presses a character other than Enter or Space\", async () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"a\",\n\t\t});\n\t\tawait waitTick();\n\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t});\n});\n"]}
@@ -10,6 +10,7 @@ export default {
10
10
  };
11
11
  const Template = (args) => {
12
12
  initFSBL(window);
13
+ // Overwrite mockup for testing purposes
13
14
  FSBL.Clients.WorkspaceClient.autoArrange = args.action;
14
15
  return (React.createElement(FinsembleProvider, null,
15
16
  React.createElement(AutoArrange, null)));
@@ -1 +1 @@
1
- {"version":3,"file":"AutoArrange.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,8BAA8B,CAAC;AAEtC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGjB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEvD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,WAAW,OAAG,CACI,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC9B,CAAC","sourcesContent":["import React from \"react\";\nimport { AutoArrange } from \"./AutoArrange\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/toolbar.css\";\n\nexport default {\n\ttitle: \"Toolbar/AutoArrange\",\n\tcomponent: AutoArrange,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WorkspaceClient.autoArrange = args.action;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<AutoArrange />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\taction: action(\"auto arrange\"),\n};\n"]}
1
+ {"version":3,"file":"AutoArrange.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/AutoArrange.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,8BAA8B,CAAC;AAEtC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEvD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,WAAW,OAAG,CACI,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC9B,CAAC","sourcesContent":["import React from \"react\";\nimport { AutoArrange } from \"./AutoArrange\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/toolbar.css\";\n\nexport default {\n\ttitle: \"Toolbar/AutoArrange\",\n\tcomponent: AutoArrange,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WorkspaceClient.autoArrange = args.action;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<AutoArrange />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\taction: action(\"auto arrange\"),\n};\n"]}
@@ -3,5 +3,9 @@ declare type DragHandleProps = {
3
3
  className?: string;
4
4
  children?: React.ReactNode;
5
5
  };
6
+ /**
7
+ * The DOM element that the mouse can grab to move the toolbar around the screen.
8
+ * @param {string} [className] - An optional CSS className to append.
9
+ */
6
10
  export declare const DragHandle: React.FunctionComponent<DragHandleProps>;
7
11
  export {};
@@ -2,17 +2,28 @@ import React, { useEffect, useState } from "react";
2
2
  const DragHandleIcon = () => (React.createElement("svg", { width: "5px", height: "15px", viewBox: "0 0 5 11", version: "1.1", xmlns: "http://www.w3.org/2000/svg" },
3
3
  React.createElement("g", { id: "Page-1", stroke: "none", strokeWidth: "1", fill: "none", fillRule: "evenodd", opacity: "0.40", preserveAspectRatio: "xMinYMin meet" },
4
4
  React.createElement("path", { d: "M3,0 L2,0 L2,1 L3,1 L3,0 Z M1,2 L0,2 L0,3 L1,3 L1,2 Z M2,2 L3,2 L3,3 L2,3 L2,2 Z M5,2 L4,2 L4,3 L5,3 L5,2 Z M0,4 L1,4 L1,5 L0,5 L0,4 Z M3,4 L2,4 L2,5 L3,5 L3,4 Z M4,4 L5,4 L5,5 L4,5 L4,4 Z M3,6 L2,6 L2,7 L3,7 L3,6 Z M0,6 L1,6 L1,7 L0,7 L0,6 Z M5,6 L4,6 L4,7 L5,7 L5,6 Z M4,8 L5,8 L5,9 L4,9 L4,8 Z M3,8 L2,8 L2,9 L3,9 L3,8 Z M0,8 L1,8 L1,9 L0,9 L0,8 Z M3,10 L2,10 L2,11 L3,11 L3,10 Z", id: "Shape", fill: "#FFFFFF", fillRule: "nonzero" }))));
5
+ /**
6
+ * The DOM element that the mouse can grab to move the toolbar around the screen.
7
+ * @param {string} [className] - An optional CSS className to append.
8
+ */
5
9
  export const DragHandle = ({ className, children }) => {
6
10
  const [useDOMBasedMovement, setDOMBasedMovement] = useState(true);
7
11
  const baseCssClass = "cq-drag finsemble-toolbar-drag-handle";
8
12
  const wrapperClasses = useDOMBasedMovement
9
13
  ? `${baseCssClass} ${className || ""}`.trim()
10
14
  : `${baseCssClass}-native-movement ${className || ""}`.trim();
15
+ /**
16
+ * Reports to Finsemble window management that the user has started to drag.
17
+ * @param event
18
+ */
11
19
  const handleMouseDown = (event) => {
12
20
  if (!useDOMBasedMovement)
13
21
  return;
14
22
  FSBL.Clients.WindowClient.startMovingWindow(event.nativeEvent);
15
23
  };
24
+ /**
25
+ * Reports to Finsemble window management that the user has ended their drag.
26
+ */
16
27
  const handleMouseUp = () => {
17
28
  if (!useDOMBasedMovement)
18
29
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"DragHandle.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAC5B,6BAAK,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACjG,2BACC,EAAE,EAAC,QAAQ,EACX,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,EACX,QAAQ,EAAC,SAAS,EAClB,OAAO,EAAC,MAAM,EACd,mBAAmB,EAAC,eAAe;QAEnC,8BACC,CAAC,EAAC,gYAAgY,EAClY,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,SAAS,EACd,QAAQ,EAAC,SAAS,GACX,CACL,CACC,CACN,CAAC;AAWF,MAAM,CAAC,MAAM,UAAU,GAA6C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,uCAAuC,CAAC;IAC7D,MAAM,cAAc,GAAG,mBAAmB;QACzC,CAAC,CAAC,GAAG,YAAY,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QAC7C,CAAC,CAAC,GAAG,YAAY,oBAAoB,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAK/D,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAE,EAAE;QACnD,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;IAKF,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,UAAU,aAAa;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;YAC5G,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YACzC,IAAI,aAAa,KAAK,IAAI;gBAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,aAAa,EAAE,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,8BAAM,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,IACrF,QAAQ,IAAI,oBAAC,cAAc,OAAG,CACzB,CACP,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nconst DragHandleIcon = () => (\n\t<svg width=\"5px\" height=\"15px\" viewBox=\"0 0 5 11\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g\n\t\t\tid=\"Page-1\"\n\t\t\tstroke=\"none\"\n\t\t\tstrokeWidth=\"1\"\n\t\t\tfill=\"none\"\n\t\t\tfillRule=\"evenodd\"\n\t\t\topacity=\"0.40\"\n\t\t\tpreserveAspectRatio=\"xMinYMin meet\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M3,0 L2,0 L2,1 L3,1 L3,0 Z M1,2 L0,2 L0,3 L1,3 L1,2 Z M2,2 L3,2 L3,3 L2,3 L2,2 Z M5,2 L4,2 L4,3 L5,3 L5,2 Z M0,4 L1,4 L1,5 L0,5 L0,4 Z M3,4 L2,4 L2,5 L3,5 L3,4 Z M4,4 L5,4 L5,5 L4,5 L4,4 Z M3,6 L2,6 L2,7 L3,7 L3,6 Z M0,6 L1,6 L1,7 L0,7 L0,6 Z M5,6 L4,6 L4,7 L5,7 L5,6 Z M4,8 L5,8 L5,9 L4,9 L4,8 Z M3,8 L2,8 L2,9 L3,9 L3,8 Z M0,8 L1,8 L1,9 L0,9 L0,8 Z M3,10 L2,10 L2,11 L3,11 L3,10 Z\"\n\t\t\t\tid=\"Shape\"\n\t\t\t\tfill=\"#FFFFFF\"\n\t\t\t\tfillRule=\"nonzero\"\n\t\t\t></path>\n\t\t</g>\n\t</svg>\n);\n\ntype DragHandleProps = {\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n};\n\n/**\n * The DOM element that the mouse can grab to move the toolbar around the screen.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const DragHandle: React.FunctionComponent<DragHandleProps> = ({ className, children }) => {\n\tconst [useDOMBasedMovement, setDOMBasedMovement] = useState(true);\n\n\tconst baseCssClass = \"cq-drag finsemble-toolbar-drag-handle\";\n\tconst wrapperClasses = useDOMBasedMovement\n\t\t? `${baseCssClass} ${className || \"\"}`.trim()\n\t\t: `${baseCssClass}-native-movement ${className || \"\"}`.trim();\n\t/**\n\t * Reports to Finsemble window management that the user has started to drag.\n\t * @param event\n\t */\n\tconst handleMouseDown = (event: React.MouseEvent) => {\n\t\tif (!useDOMBasedMovement) return;\n\t\tFSBL.Clients.WindowClient.startMovingWindow(event.nativeEvent);\n\t};\n\n\t/**\n\t * Reports to Finsemble window management that the user has ended their drag.\n\t */\n\tconst handleMouseUp = () => {\n\t\tif (!useDOMBasedMovement) return;\n\t\tFSBL.Clients.WindowClient.stopMovingWindow();\n\t};\n\n\tuseEffect(() => {\n\t\tasync function fetchManifest() {\n\t\t\tconst response = await FSBL.Clients.ConfigClient.getValue(\"finsemble-electron-adapter.useDOMBasedMovement\");\n\t\t\tconst { data: manifestValue } = response;\n\t\t\tif (manifestValue !== null) setDOMBasedMovement(manifestValue);\n\t\t}\n\n\t\tfetchManifest();\n\t}, []);\n\n\treturn (\n\t\t<span className={wrapperClasses} onMouseDown={handleMouseDown} onMouseUp={handleMouseUp}>\n\t\t\t{children || <DragHandleIcon />}\n\t\t</span>\n\t);\n};\n"]}
1
+ {"version":3,"file":"DragHandle.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAC5B,6BAAK,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACjG,2BACC,EAAE,EAAC,QAAQ,EACX,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,EACX,QAAQ,EAAC,SAAS,EAClB,OAAO,EAAC,MAAM,EACd,mBAAmB,EAAC,eAAe;QAEnC,8BACC,CAAC,EAAC,gYAAgY,EAClY,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,SAAS,EACd,QAAQ,EAAC,SAAS,GACX,CACL,CACC,CACN,CAAC;AAOF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAA6C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,uCAAuC,CAAC;IAC7D,MAAM,cAAc,GAAG,mBAAmB;QACzC,CAAC,CAAC,GAAG,YAAY,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QAC7C,CAAC,CAAC,GAAG,YAAY,oBAAoB,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D;;;OAGG;IACH,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAE,EAAE;QACnD,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,UAAU,aAAa;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;YAC5G,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YACzC,IAAI,aAAa,KAAK,IAAI;gBAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,aAAa,EAAE,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,8BAAM,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,IACrF,QAAQ,IAAI,oBAAC,cAAc,OAAG,CACzB,CACP,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nconst DragHandleIcon = () => (\n\t<svg width=\"5px\" height=\"15px\" viewBox=\"0 0 5 11\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g\n\t\t\tid=\"Page-1\"\n\t\t\tstroke=\"none\"\n\t\t\tstrokeWidth=\"1\"\n\t\t\tfill=\"none\"\n\t\t\tfillRule=\"evenodd\"\n\t\t\topacity=\"0.40\"\n\t\t\tpreserveAspectRatio=\"xMinYMin meet\"\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"M3,0 L2,0 L2,1 L3,1 L3,0 Z M1,2 L0,2 L0,3 L1,3 L1,2 Z M2,2 L3,2 L3,3 L2,3 L2,2 Z M5,2 L4,2 L4,3 L5,3 L5,2 Z M0,4 L1,4 L1,5 L0,5 L0,4 Z M3,4 L2,4 L2,5 L3,5 L3,4 Z M4,4 L5,4 L5,5 L4,5 L4,4 Z M3,6 L2,6 L2,7 L3,7 L3,6 Z M0,6 L1,6 L1,7 L0,7 L0,6 Z M5,6 L4,6 L4,7 L5,7 L5,6 Z M4,8 L5,8 L5,9 L4,9 L4,8 Z M3,8 L2,8 L2,9 L3,9 L3,8 Z M0,8 L1,8 L1,9 L0,9 L0,8 Z M3,10 L2,10 L2,11 L3,11 L3,10 Z\"\n\t\t\t\tid=\"Shape\"\n\t\t\t\tfill=\"#FFFFFF\"\n\t\t\t\tfillRule=\"nonzero\"\n\t\t\t></path>\n\t\t</g>\n\t</svg>\n);\n\ntype DragHandleProps = {\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n};\n\n/**\n * The DOM element that the mouse can grab to move the toolbar around the screen.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const DragHandle: React.FunctionComponent<DragHandleProps> = ({ className, children }) => {\n\tconst [useDOMBasedMovement, setDOMBasedMovement] = useState(true);\n\n\tconst baseCssClass = \"cq-drag finsemble-toolbar-drag-handle\";\n\tconst wrapperClasses = useDOMBasedMovement\n\t\t? `${baseCssClass} ${className || \"\"}`.trim()\n\t\t: `${baseCssClass}-native-movement ${className || \"\"}`.trim();\n\t/**\n\t * Reports to Finsemble window management that the user has started to drag.\n\t * @param event\n\t */\n\tconst handleMouseDown = (event: React.MouseEvent) => {\n\t\tif (!useDOMBasedMovement) return;\n\t\tFSBL.Clients.WindowClient.startMovingWindow(event.nativeEvent);\n\t};\n\n\t/**\n\t * Reports to Finsemble window management that the user has ended their drag.\n\t */\n\tconst handleMouseUp = () => {\n\t\tif (!useDOMBasedMovement) return;\n\t\tFSBL.Clients.WindowClient.stopMovingWindow();\n\t};\n\n\tuseEffect(() => {\n\t\tasync function fetchManifest() {\n\t\t\tconst response = await FSBL.Clients.ConfigClient.getValue(\"finsemble-electron-adapter.useDOMBasedMovement\");\n\t\t\tconst { data: manifestValue } = response;\n\t\t\tif (manifestValue !== null) setDOMBasedMovement(manifestValue);\n\t\t}\n\n\t\tfetchManifest();\n\t}, []);\n\n\treturn (\n\t\t<span className={wrapperClasses} onMouseDown={handleMouseDown} onMouseUp={handleMouseUp}>\n\t\t\t{children || <DragHandleIcon />}\n\t\t</span>\n\t);\n};\n"]}
@@ -4,6 +4,7 @@ import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import sinon from "sinon";
6
6
  import { Basic } from "./DragHandle.stories";
7
+ // Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)
7
8
  import addons, { mockChannel } from "@storybook/addons";
8
9
  addons.setChannel(mockChannel());
9
10
  const coreElement = ".cq-drag";
@@ -1 +1 @@
1
- {"version":3,"file":"DragHandle.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./DragHandle.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\nconst coreElement = \".cq-drag\";\n\ndescribe(\"<DragHandle/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call start moving action on mousedown\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"actionStart\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(coreElement).simulate(\"mousedown\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call stop moving action on mouseup\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"actionEnd\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(coreElement).simulate(\"mouseup\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n});\n"]}
1
+ {"version":3,"file":"DragHandle.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,2GAA2G;AAC3G,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./DragHandle.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\nconst coreElement = \".cq-drag\";\n\ndescribe(\"<DragHandle/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call start moving action on mousedown\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"actionStart\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(coreElement).simulate(\"mousedown\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call stop moving action on mouseup\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"actionEnd\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(coreElement).simulate(\"mouseup\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n});\n"]}
@@ -10,6 +10,7 @@ export default {
10
10
  };
11
11
  const Template = (args) => {
12
12
  initFSBL(window);
13
+ // Overwrite mockup for testing purposes
13
14
  FSBL.Clients.WindowClient.startMovingWindow = args.actionStart;
14
15
  FSBL.Clients.WindowClient.stopMovingWindow = args.actionEnd;
15
16
  FSBL.Clients.ConfigClient.getValue = async (str) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DragHandle.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,8BAA8B,CAAC;AAEtC,eAAe;IACd,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGjB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;IAE3D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAgB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACnE,IAAI,GAAG,KAAK,gDAAgD,EAAE;YAC7D,OAAO;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI,CAAC,mBAAmB;aAC9B,CAAC;SACF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,UAAU,OAAG,CACK,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;IACjC,mBAAmB,EAAE,IAAI;CACzB,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,cAAc,CAAC,IAAI,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;IACjC,mBAAmB,EAAE,KAAK;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { DragHandle } from \"./DragHandle\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/toolbar.css\";\n\nexport default {\n\ttitle: \"Toolbar/DragHandle\",\n\tcomponent: DragHandle,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WindowClient.startMovingWindow = args.actionStart;\n\tFSBL.Clients.WindowClient.stopMovingWindow = args.actionEnd;\n\n\t(FSBL.Clients.ConfigClient.getValue as any) = async (str: string) => {\n\t\tif (str === \"finsemble-electron-adapter.useDOMBasedMovement\") {\n\t\t\treturn {\n\t\t\t\terr: null,\n\t\t\t\tdata: args.useDOMBasedMovement,\n\t\t\t};\n\t\t}\n\t\treturn { err: null, data: null };\n\t};\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<DragHandle />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\tactionStart: action(\"start dragging\"),\n\tactionEnd: action(\"end dragging\"),\n\tuseDOMBasedMovement: true,\n};\nexport const NativeMovement = Template.bind({});\nNativeMovement.args = {\n\tactionStart: action(\"start dragging\"),\n\tactionEnd: action(\"end dragging\"),\n\tuseDOMBasedMovement: false,\n};\n"]}
1
+ {"version":3,"file":"DragHandle.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/DragHandle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,8BAA8B,CAAC;AAEtC,eAAe;IACd,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;IAE3D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAgB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACnE,IAAI,GAAG,KAAK,gDAAgD,EAAE;YAC7D,OAAO;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI,CAAC,mBAAmB;aAC9B,CAAC;SACF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,UAAU,OAAG,CACK,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;IACjC,mBAAmB,EAAE,IAAI;CACzB,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,cAAc,CAAC,IAAI,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;IACjC,mBAAmB,EAAE,KAAK;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { DragHandle } from \"./DragHandle\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/toolbar.css\";\n\nexport default {\n\ttitle: \"Toolbar/DragHandle\",\n\tcomponent: DragHandle,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WindowClient.startMovingWindow = args.actionStart;\n\tFSBL.Clients.WindowClient.stopMovingWindow = args.actionEnd;\n\n\t(FSBL.Clients.ConfigClient.getValue as any) = async (str: string) => {\n\t\tif (str === \"finsemble-electron-adapter.useDOMBasedMovement\") {\n\t\t\treturn {\n\t\t\t\terr: null,\n\t\t\t\tdata: args.useDOMBasedMovement,\n\t\t\t};\n\t\t}\n\t\treturn { err: null, data: null };\n\t};\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<DragHandle />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\tactionStart: action(\"start dragging\"),\n\tactionEnd: action(\"end dragging\"),\n\tuseDOMBasedMovement: true,\n};\nexport const NativeMovement = Template.bind({});\nNativeMovement.args = {\n\tactionStart: action(\"start dragging\"),\n\tactionEnd: action(\"end dragging\"),\n\tuseDOMBasedMovement: false,\n};\n"]}
@@ -1,4 +1,8 @@
1
1
  import * as React from "react";
2
+ /**
3
+ * A button that minimizes all windows on the the user's screen.
4
+ * @param {string} [className] - An optional CSS className to append.
5
+ */
2
6
  export declare const MinimizeAll: React.FunctionComponent<{
3
7
  className?: string;
4
8
  }>;
@@ -1,5 +1,7 @@
1
- import * as React from "react";
1
+ // disable eslint below because the svg in the icon definition will error if React is not imported
2
+ import * as React from "react"; // eslint-disable-line
2
3
  import { useToolbar } from "../../hooks/useToolbar";
4
+ // The default icon for MinimizeAll.
3
5
  const MinimizeAllIcon = () => (React.createElement("svg", { width: "16px", height: "16px", viewBox: "0 0 16 16", version: "1.1", xmlns: "http://www.w3.org/2000/svg" },
4
6
  React.createElement("g", { id: "Symbols", stroke: "none", strokeWidth: "1", fill: "none", fillRule: "evenodd" },
5
7
  React.createElement("g", { id: "atoms/icons/collapse", transform: "translate(-9.000000, -9.000000)" },
@@ -7,6 +9,10 @@ const MinimizeAllIcon = () => (React.createElement("svg", { width: "16px", heigh
7
9
  React.createElement("path", { d: "M11,12 L11,11 L15,11 L15,1 L5,1 L5,5 L4,5 L4,8 L4,1 C4,0.44771525 4.44771525,1.01453063e-16 5,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,11 C16,11.5522847 15.5522847,12 15,12 L11,12 Z", id: "Combined-Shape", fill: "#8E939F" }),
8
10
  React.createElement("path", { d: "M7,14 L7,13 L11,13 L11,5 L3,5 L3,9 L2,9 L2,11 L2,5 C2,4.44771525 2.44771525,4 3,4 L11,4 C11.5522847,4 12,4.44771525 12,5 L12,13 C12,13.5522847 11.5522847,14 11,14 L7,14 Z", id: "Combined-Shape", fill: "#C6C9CF" }),
9
11
  React.createElement("path", { d: "M1,8 L7,8 C7.55228475,8 8,8.44771525 8,9 L8,15 C8,15.5522847 7.55228475,16 7,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,9 C-6.76353751e-17,8.44771525 0.44771525,8 1,8 Z M1,9 L1,15 L7,15 L7,9 L1,9 Z", id: "Combined-Shape", fill: "#FFFFFF" }))))));
12
+ /**
13
+ * A button that minimizes all windows on the the user's screen.
14
+ * @param {string} [className] - An optional CSS className to append.
15
+ */
10
16
  export const MinimizeAll = ({ className, children }) => {
11
17
  const { minimizeAllWindows } = useToolbar();
12
18
  const wrapperClasses = `finsemble-toolbar-button icon-only ${className || ""}`.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"MinimizeAll.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC7B,6BAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACnG,2BAAG,EAAE,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS;QAC3E,2BAAG,EAAE,EAAC,sBAAsB,EAAC,SAAS,EAAC,iCAAiC;YACvE,2BAAG,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAC,+BAA+B;gBACjE,8BACC,CAAC,EAAC,yMAAyM,EAC3M,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP;gBACR,8BACC,CAAC,EAAC,4KAA4K,EAC9K,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP;gBACR,8BACC,CAAC,EAAC,sNAAsN,EACxN,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP,CACL,CACD,CACD,CACC,CACN,CAAC;AAMF,MAAM,CAAC,MAAM,WAAW,GAAoD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvG,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,sCAAsC,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAEtF,OAAO,CACN,6BACC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvC,kBAAkB,EAAE,CAAC;aACrB;QACF,CAAC,IAEA,QAAQ,IAAI,oBAAC,eAAe,OAAG,CAC3B,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["// disable eslint below because the svg in the icon definition will error if React is not imported\nimport * as React from \"react\"; // eslint-disable-line\nimport { useToolbar } from \"../../hooks/useToolbar\";\n\n// The default icon for MinimizeAll.\nconst MinimizeAllIcon = () => (\n\t<svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g id=\"Symbols\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n\t\t\t<g id=\"atoms/icons/collapse\" transform=\"translate(-9.000000, -9.000000)\">\n\t\t\t\t<g id=\"collapse-windows\" transform=\"translate(9.000000, 9.000000)\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M11,12 L11,11 L15,11 L15,1 L5,1 L5,5 L4,5 L4,8 L4,1 C4,0.44771525 4.44771525,1.01453063e-16 5,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,11 C16,11.5522847 15.5522847,12 15,12 L11,12 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#8E939F\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M7,14 L7,13 L11,13 L11,5 L3,5 L3,9 L2,9 L2,11 L2,5 C2,4.44771525 2.44771525,4 3,4 L11,4 C11.5522847,4 12,4.44771525 12,5 L12,13 C12,13.5522847 11.5522847,14 11,14 L7,14 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#C6C9CF\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,8 L7,8 C7.55228475,8 8,8.44771525 8,9 L8,15 C8,15.5522847 7.55228475,16 7,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,9 C-6.76353751e-17,8.44771525 0.44771525,8 1,8 Z M1,9 L1,15 L7,15 L7,9 L1,9 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#FFFFFF\"\n\t\t\t\t\t></path>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</g>\n\t</svg>\n);\n\n/**\n * A button that minimizes all windows on the the user's screen.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const MinimizeAll: React.FunctionComponent<{ className?: string }> = ({ className, children }) => {\n\tconst { minimizeAllWindows } = useToolbar();\n\tconst wrapperClasses = `finsemble-toolbar-button icon-only ${className || \"\"}`.trim();\n\n\treturn (\n\t\t<div\n\t\t\tclassName={wrapperClasses}\n\t\t\ttitle=\"Minimize All\"\n\t\t\tonClick={minimizeAllWindows}\n\t\t\ttabIndex={0}\n\t\t\trole=\"button\"\n\t\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\n\t\t\t\t\tminimizeAllWindows();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{children || <MinimizeAllIcon />}\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"MinimizeAll.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.tsx"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC,sBAAsB;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,oCAAoC;AACpC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC7B,6BAAK,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B;IACnG,2BAAG,EAAE,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS;QAC3E,2BAAG,EAAE,EAAC,sBAAsB,EAAC,SAAS,EAAC,iCAAiC;YACvE,2BAAG,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAC,+BAA+B;gBACjE,8BACC,CAAC,EAAC,yMAAyM,EAC3M,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP;gBACR,8BACC,CAAC,EAAC,4KAA4K,EAC9K,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP;gBACR,8BACC,CAAC,EAAC,sNAAsN,EACxN,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,SAAS,GACP,CACL,CACD,CACD,CACC,CACN,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvG,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,sCAAsC,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAEtF,OAAO,CACN,6BACC,SAAS,EAAE,cAAc,EACzB,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvC,kBAAkB,EAAE,CAAC;aACrB;QACF,CAAC,IAEA,QAAQ,IAAI,oBAAC,eAAe,OAAG,CAC3B,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["// disable eslint below because the svg in the icon definition will error if React is not imported\nimport * as React from \"react\"; // eslint-disable-line\nimport { useToolbar } from \"../../hooks/useToolbar\";\n\n// The default icon for MinimizeAll.\nconst MinimizeAllIcon = () => (\n\t<svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<g id=\"Symbols\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n\t\t\t<g id=\"atoms/icons/collapse\" transform=\"translate(-9.000000, -9.000000)\">\n\t\t\t\t<g id=\"collapse-windows\" transform=\"translate(9.000000, 9.000000)\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M11,12 L11,11 L15,11 L15,1 L5,1 L5,5 L4,5 L4,8 L4,1 C4,0.44771525 4.44771525,1.01453063e-16 5,0 L15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,11 C16,11.5522847 15.5522847,12 15,12 L11,12 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#8E939F\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M7,14 L7,13 L11,13 L11,5 L3,5 L3,9 L2,9 L2,11 L2,5 C2,4.44771525 2.44771525,4 3,4 L11,4 C11.5522847,4 12,4.44771525 12,5 L12,13 C12,13.5522847 11.5522847,14 11,14 L7,14 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#C6C9CF\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1,8 L7,8 C7.55228475,8 8,8.44771525 8,9 L8,15 C8,15.5522847 7.55228475,16 7,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,9 C-6.76353751e-17,8.44771525 0.44771525,8 1,8 Z M1,9 L1,15 L7,15 L7,9 L1,9 Z\"\n\t\t\t\t\t\tid=\"Combined-Shape\"\n\t\t\t\t\t\tfill=\"#FFFFFF\"\n\t\t\t\t\t></path>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</g>\n\t</svg>\n);\n\n/**\n * A button that minimizes all windows on the the user's screen.\n * @param {string} [className] - An optional CSS className to append.\n */\nexport const MinimizeAll: React.FunctionComponent<{ className?: string }> = ({ className, children }) => {\n\tconst { minimizeAllWindows } = useToolbar();\n\tconst wrapperClasses = `finsemble-toolbar-button icon-only ${className || \"\"}`.trim();\n\n\treturn (\n\t\t<div\n\t\t\tclassName={wrapperClasses}\n\t\t\ttitle=\"Minimize All\"\n\t\t\tonClick={minimizeAllWindows}\n\t\t\ttabIndex={0}\n\t\t\trole=\"button\"\n\t\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\n\t\t\t\t\tminimizeAllWindows();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{children || <MinimizeAllIcon />}\n\t\t</div>\n\t);\n};\n"]}
@@ -4,6 +4,7 @@ import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import sinon from "sinon";
6
6
  import { Basic } from "./MinimizeAll.stories";
7
+ // Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)
7
8
  import addons, { mockChannel } from "@storybook/addons";
8
9
  addons.setChannel(mockChannel());
9
10
  describe("<MinimizeAll/>", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"MinimizeAll.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE;YACrE,GAAG,EAAE,OAAO;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE;YACrE,GAAG,EAAE,OAAO;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QAClG,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,oBAAK,KAAK,CAAC,IAAI,EAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE;YACrE,GAAG,EAAE,GAAG;SACR,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./MinimizeAll.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<MinimizeAll/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call minimize action when clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call minimize action when user presses Enter\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call minimize action when user presses Space\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Space\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should not call minimize action when user presses a character other than Enter or Space\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"a\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t});\n});\n"]}
1
+ {"version":3,"file":"MinimizeAll.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic } from \"./MinimizeAll.stories\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<MinimizeAll/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should display icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\n\t});\n\tit(\"should call minimize action when clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call minimize action when user presses Enter\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call minimize action when user presses Space\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"Space\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should not call minimize action when user presses a character other than Enter or Space\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\n\t\t\tkey: \"a\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t});\n});\n"]}
@@ -10,6 +10,7 @@ export default {
10
10
  };
11
11
  const Template = (args) => {
12
12
  initFSBL(window);
13
+ // Overwrite mockup for testing purposes
13
14
  FSBL.Clients.WorkspaceClient.minimizeAll = args.action;
14
15
  return (React.createElement(FinsembleProvider, null,
15
16
  React.createElement(MinimizeAll, null)));
@@ -1 +1 @@
1
- {"version":3,"file":"MinimizeAll.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,gCAAgC,CAAC;AAExC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGjB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEvD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,WAAW,OAAG,CACI,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { MinimizeAll } from \"./MinimizeAll\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/favorites.css\";\n\nexport default {\n\ttitle: \"Toolbar/MinimizeAll\",\n\tcomponent: MinimizeAll,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WorkspaceClient.minimizeAll = args.action;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<MinimizeAll />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\taction: action(\"minimize\"),\n};\n"]}
1
+ {"version":3,"file":"MinimizeAll.stories.js","sourceRoot":"","sources":["../../../src/components/toolbar/MinimizeAll.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,gCAAgC,CAAC;AAExC,eAAe;IACd,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAe,CAAC,IAAS,EAAE,EAAE;IAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEvD,OAAO,CACN,oBAAC,iBAAiB;QACjB,oBAAC,WAAW,OAAG,CACI,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;CAC1B,CAAC","sourcesContent":["import React from \"react\";\nimport { MinimizeAll } from \"./MinimizeAll\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../common/helpers\";\nimport { FinsembleProvider } from \"../FinsembleProvider\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../assets/css/favorites.css\";\n\nexport default {\n\ttitle: \"Toolbar/MinimizeAll\",\n\tcomponent: MinimizeAll,\n};\n\nconst Template: Story<any> = (args: any) => {\n\tinitFSBL(window);\n\n\t// Overwrite mockup for testing purposes\n\tFSBL.Clients.WorkspaceClient.minimizeAll = args.action;\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<MinimizeAll />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\taction: action(\"minimize\"),\n};\n"]}
@@ -1,4 +1,9 @@
1
1
  import * as React from "react";
2
+ /**
3
+ * This control is responsible for the toggling of the notifcations drawer.
4
+ *
5
+ * @param {string} [className] - An optional CSS className to append.
6
+ */
2
7
  export declare const NotificationControl: React.FunctionComponent<{
3
8
  className?: string;
4
9
  }>;
@@ -1,11 +1,18 @@
1
- import * as React from "react";
1
+ // disable eslint below because the svg in the icon definition will error if React is not imported
2
+ import * as React from "react"; // eslint-disable-line
2
3
  import useNotifications, { initializeCenterToggle } from "../../hooks/useNotifications";
3
4
  import { useEffect, useState } from "react";
4
5
  import BellIcon from "../shared/BellIcon";
6
+ /**
7
+ * This control is responsible for the toggling of the notifcations drawer.
8
+ *
9
+ * @param {string} [className] - An optional CSS className to append.
10
+ */
5
11
  export const NotificationControl = ({ className, children }) => {
6
12
  const { toggleCenter } = initializeCenterToggle();
7
13
  const { notifications, activeNotifications } = useNotifications({
8
14
  config: {
15
+ // Get notification sent in previous session
9
16
  notificationsHistory: true,
10
17
  },
11
18
  });