@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,12 @@
1
+ /*!
2
+ * Copyright 2017 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ */
1
5
  import * as React from "react";
2
6
  import { WindowTitleBarContext } from "./windowTitleBarContext";
3
7
  import { storeManager, Actions, getStore } from "./stores/windowTitleBarStore";
4
8
  import "../../assets/css/windowTitleBar.css";
5
- import { clone } from "./../sdd/Appearance.helpers";
9
+ import { clone } from "../sdd/Appearance.helpers";
6
10
  import { Logger } from "@finsemble/finsemble-api";
7
11
  export class WindowTitleBarShell extends React.Component {
8
12
  constructor(props) {
@@ -43,6 +47,11 @@ export class WindowTitleBarShell extends React.Component {
43
47
  alwaysOnTopListener({ data: { alwaysOnTop } }) {
44
48
  this.setState(Object.assign(Object.assign({}, this.state), { alwaysOnTop }));
45
49
  }
50
+ /**
51
+ * This is necessary to make sure that the `this` inside of the callback is correct.
52
+ *
53
+ * @memberof WindowTitleBar
54
+ */
46
55
  bindCorrectContext() {
47
56
  this.onTitleChange = this.onTitleChange.bind(this);
48
57
  this.onShowDockingToolTip = this.onShowDockingToolTip.bind(this);
@@ -113,19 +122,28 @@ export class WindowTitleBarShell extends React.Component {
113
122
  hackScrollbar: (_l = this.store) === null || _l === void 0 ? void 0 : _l.getValue({ field: "hackScrollbar" }),
114
123
  bumpElements: (_m = this.store) === null || _m === void 0 ? void 0 : _m.getValue({ field: "bumpElements" }),
115
124
  adjustContentHeights: (_o = this.store) === null || _o === void 0 ? void 0 : _o.getValue({ field: "adjustContentHeights" }),
116
- tabs: [activeIdentifier],
125
+ tabs: [activeIdentifier], // array of tabs for this window
117
126
  });
118
127
  }
119
128
  componentDidMount() {
129
+ // Goal: If a user gets focus into the title bar (if they Alt+Tab or Cmd+Tab into the window),
130
+ // we want to let get into the rest of the component using the keyboard alone. The UX for
131
+ // this task will be to seemingly TAB from the title bar into the window, if possible.
132
+ // Code: If the user presses the "Tab" key, move their focus to the browser view
120
133
  window.addEventListener("keydown", (e) => {
121
134
  if (e.key === "Tab") {
135
+ // This magic moves focus to a browserView, if one exists
122
136
  finsembleWindow.focus();
123
137
  }
124
138
  });
125
139
  let header = document.getElementsByClassName("fsbl-header")[0];
140
+ //Increase the marginTop of the body if the title bar is injected into the component.
126
141
  if (header) {
127
- document.body.style.margin = "0px";
128
- document.body.style.marginTop = window.getComputedStyle(header, null).getPropertyValue("height");
142
+ const body = document.getElementsByTagName("body")[0];
143
+ let marginTop = this.getActualComputedStylesFromStylesheets(body, "margin-top");
144
+ marginTop = marginTop ? marginTop : "0px";
145
+ const height = window.getComputedStyle(header).getPropertyValue("height");
146
+ document.body.style.marginTop = `calc(${marginTop} + ${height})`;
129
147
  }
130
148
  this.resizeDragHandle();
131
149
  this.hackScrollbar();
@@ -174,37 +192,62 @@ export class WindowTitleBarShell extends React.Component {
174
192
  }, this.resizeDragHandle);
175
193
  }
176
194
  }
195
+ /**
196
+ * When we are not tiling/tabbing, we want to allow the user to drag the window around via any available space in the tab-region. This function allows that.
197
+ */
177
198
  allowDragOnCenterRegion() {
178
199
  this.setState({
179
200
  allowDragOnCenterRegion: true,
180
201
  });
181
202
  }
203
+ /**
204
+ * When we are tiling/tabbing, we do not want to allow any window to be dragged around and moved.
205
+ */
182
206
  disallowDragOnCenterRegion() {
183
207
  this.setState({
184
208
  allowDragOnCenterRegion: false,
185
209
  });
186
210
  }
211
+ /**
212
+ * When tiling start, we want to find the dragHandler and hide it
213
+ */
187
214
  onTilingStart() {
188
215
  let dragHandle = document.querySelector(`.${this.state.dragHandleName}`);
189
216
  if (dragHandle) {
190
217
  dragHandle.classList.add("hidden");
191
218
  }
192
219
  }
220
+ /**
221
+ * When tiling stops, we want to find the dragHandler and re-show it
222
+ */
193
223
  onTilingStop() {
194
224
  let dragHandle = document.querySelector(`.${this.state.dragHandleName}.hidden`);
195
225
  if (dragHandle) {
196
226
  dragHandle.classList.remove("hidden");
197
227
  }
198
228
  }
229
+ /**
230
+ * Called whenever a tab is dropped on a non tab area.
231
+ * It won't be called when dropped on a tab that handles handle the event.
232
+ */
199
233
  onDropHandler() {
200
234
  FSBL.Clients.RouterClient.transmit("DockingService.cancelTilingOrTabbing", {});
201
235
  }
236
+ /**
237
+ * Called when user double clicks on drag handle
238
+ */
202
239
  onDoubleClick() {
240
+ // Actions.clickMaximize checks the window state
241
+ // and toggles between maximize and minimize.
203
242
  Actions.clickMaximize();
204
243
  }
205
244
  _setOnMouseUpAndDownHandlers(element) {
245
+ // if do double click it will invoke MouseDown and MouseUp events which could break the window bounds. So wait a 100ms for moving or resizing the window.
206
246
  let isMousePressed = false;
207
247
  const handleMouseDown = (event) => {
248
+ // prevent a second call if the button hasn't been unpressed
249
+ if (isMousePressed)
250
+ return;
208
251
  isMousePressed = true;
209
252
  setTimeout(() => {
210
253
  if (isMousePressed) {
@@ -213,6 +256,9 @@ export class WindowTitleBarShell extends React.Component {
213
256
  }, 100);
214
257
  };
215
258
  const handleMouseUp = () => {
259
+ // prevent a call if the button hasn't been pressed
260
+ if (!isMousePressed)
261
+ return;
216
262
  isMousePressed = false;
217
263
  FSBL.Clients.WindowClient.stopMovingWindow();
218
264
  };
@@ -234,10 +280,13 @@ export class WindowTitleBarShell extends React.Component {
234
280
  }
235
281
  dragHandleBoundsForShowTabs(startingBounds) {
236
282
  var _a;
283
+ // If there is more than one tab, then the drag area is the padding-left of fsbl-header-right
284
+ // See .fsbl-tabs-multiple in the css
237
285
  if (this.state.tabs.length > 1) {
238
286
  const headerRight = document.querySelector(".fsbl-header-right");
239
287
  if (headerRight) {
240
288
  const computedStyle = getComputedStyle(headerRight);
289
+ // override the bounds.width with the paddingLeft amount
241
290
  return Object.assign(Object.assign({}, clone(headerRight.getBoundingClientRect())), { width: parseInt(computedStyle.paddingLeft, 10) });
242
291
  }
243
292
  else {
@@ -245,11 +294,14 @@ export class WindowTitleBarShell extends React.Component {
245
294
  }
246
295
  }
247
296
  else {
297
+ // If tabs are not enabled, then the remained of fsbl-header-center beyond the tabs
298
+ // is the draggable area. This assumes left aligned tabs.
248
299
  const fsblHeaderCenter = document.querySelector(".fsbl-header-center");
249
300
  const bounds = (_a = fsblHeaderCenter === null || fsblHeaderCenter === void 0 ? void 0 : fsblHeaderCenter.getBoundingClientRect()) !== null && _a !== void 0 ? _a : startingBounds;
250
301
  const tabRegionWrapperDiv = fsblHeaderCenter === null || fsblHeaderCenter === void 0 ? void 0 : fsblHeaderCenter.querySelector(".tab-region-wrapper div.fsbl-header-title");
251
302
  if (tabRegionWrapperDiv) {
252
303
  const theTabBounds = tabRegionWrapperDiv.getBoundingClientRect();
304
+ // Calculate the right portion
253
305
  return Object.assign(Object.assign({}, bounds), { left: bounds.left + theTabBounds.width, width: bounds.width - theTabBounds.width });
254
306
  }
255
307
  else {
@@ -257,10 +309,22 @@ export class WindowTitleBarShell extends React.Component {
257
309
  }
258
310
  }
259
311
  }
312
+ /**
313
+ * The dragger is an absolutely positioned element that is superimposed on the actual area that we'd like to drag.
314
+ * This is necessary due to a bug in Chromium. Effectively, we need the dragger to change its left position and width
315
+ * to match the intended drag area. These dimensions can change whenever the header is re-rendered (for instance when
316
+ * changing mode from tabbing to non-tabbing). Dimensions can also change when the window itself is resized (due to natural
317
+ * css).
318
+ *
319
+ * Can remove all of the cq-drag and cq-no-drag because Chromium bug is fixed
320
+ * Remove fsbl-drag-region, it is no longer needed
321
+ * Hide the dragHandle during drop operations, so that it doesn't interfere
322
+ */
260
323
  resizeDragHandle() {
261
324
  var _a, _b;
262
325
  try {
263
326
  const fsblHeader = document.querySelector(".fsbl-header");
327
+ // If there isn't an FSBLHeader then there doesn't need to be a drag handle.
264
328
  if (!fsblHeader)
265
329
  return;
266
330
  const dragHandleCssClass = this.state.useDOMBasedMovement
@@ -269,17 +333,25 @@ export class WindowTitleBarShell extends React.Component {
269
333
  const dragHandleToRemoveClass = this.state.useDOMBasedMovement
270
334
  ? "fsbl-drag-handle-native-movement"
271
335
  : "fsbl-drag-handle";
336
+ // Create the dragger if it doesn't already exist
272
337
  let dragHandle = (_a = document.querySelector(`.${dragHandleCssClass}`)) !== null && _a !== void 0 ? _a : this.makeDragHandle(fsblHeader, dragHandleCssClass);
338
+ // When the titlebar starts up, useDOMBasedMovement will have a default value that is not the same as the config value
339
+ // When the value from the config propagates down to the UI, we need to make sure the old drag handle is removed in place of the new
273
340
  const dragHandleToRemove = document.querySelector(`.${dragHandleToRemoveClass}`);
274
341
  if (dragHandleToRemove)
275
342
  (_b = dragHandleToRemove.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(dragHandleToRemove);
343
+ // Set the height of the dragHandle to match the height of the window title bar
344
+ // Do this every time through the render loop just in case a customer builds a
345
+ // header bar with dynamic height!
276
346
  let bounds = fsblHeader.getBoundingClientRect();
277
- dragHandle.style.height = `${bounds.height - 5}px`;
278
- dragHandle.style.marginTop = `${-bounds.height + 5}px`;
347
+ dragHandle.style.height = `${bounds.height - 5}px`; // Subtract 5 pixels from height in order to make room for resize window cursor at top edge of window
348
+ dragHandle.style.marginTop = `${-bounds.height + 5}px`; // Negative margin pulls the drag handle up over the fixed header
349
+ // Start logic for determining where to place our dragHandle
279
350
  if (this.state.showTabs) {
280
351
  bounds = this.dragHandleBoundsForShowTabs(bounds);
281
352
  }
282
353
  else {
354
+ // If tabs are not enabled, then the entire center is the drag area
283
355
  let fsblHeaderCenter = document.querySelector(".fsbl-header-center");
284
356
  if (fsblHeaderCenter)
285
357
  bounds = fsblHeaderCenter.getBoundingClientRect();
@@ -288,7 +360,9 @@ export class WindowTitleBarShell extends React.Component {
288
360
  dragHandle.style.left = `${bounds.left}px`;
289
361
  dragHandle.style.width = `${bounds.width}px`;
290
362
  }
363
+ // Add an event listener to hide the drag-handler when tiling is started
291
364
  FSBL.Clients.RouterClient.addListener("DockingService.startTilingOrTabbing", this.onTilingStart);
365
+ // Add an event listener to show the drag-handler when tiling is stopped or cancelled
292
366
  FSBL.Clients.RouterClient.addListener("DockingService.stopTilingOrTabbing", this.onTilingStop);
293
367
  FSBL.Clients.RouterClient.addListener("DockingService.cancelTilingOrTabbing", this.onTilingStop);
294
368
  }
@@ -296,12 +370,26 @@ export class WindowTitleBarShell extends React.Component {
296
370
  console.error(error);
297
371
  }
298
372
  }
373
+ /**
374
+ * Whether the component's config allows for the linker.
375
+ * @param {} err
376
+ * @param {*} response
377
+ */
299
378
  showLinkerButton(err, response) {
300
379
  this.setState({ showLinkerButton: response.value });
301
380
  }
381
+ /**
382
+ * Whether the window is the top-right-most window in a group of windows. If so, it renders a minimize icon for the whole group.
383
+ * @param {} err
384
+ * @param {*} response
385
+ */
302
386
  isTopRight(err, response) {
303
387
  this.setState({ isTopRight: response.value });
304
388
  }
389
+ /**
390
+ * @param {*} err
391
+ * @param {*} response
392
+ */
305
393
  onTitleChange(err, response) {
306
394
  let { tabs } = this.state;
307
395
  let myIdentifier = FSBL.Clients.WindowClient.getWindowIdentifier();
@@ -323,6 +411,9 @@ export class WindowTitleBarShell extends React.Component {
323
411
  tabs: tabs,
324
412
  });
325
413
  }
414
+ /**
415
+ * The next few methods are store change handlers that sync local state with the store's state.
416
+ */
326
417
  onShowDockingToolTip(err, response) {
327
418
  this.setState({ showDockingTooltip: response.value });
328
419
  }
@@ -347,10 +438,18 @@ export class WindowTitleBarShell extends React.Component {
347
438
  });
348
439
  }
349
440
  onShowTabsChanged(err, response) {
441
+ // If we are not showing tabs, then it means that it is a non tabbed window
442
+ // therefore we need to check whether we have a window title contained in
443
+ // .div.fsbl-tab-editor so that we can edit it.
350
444
  if (!response.value) {
351
445
  let tabEditor = document.querySelector("div.fsbl-tab-editor");
352
446
  if (tabEditor) {
447
+ // we set this z-index value to be slightly higher than the drag handle
448
+ // to make the editor dragable AND double-clickcable
353
449
  tabEditor.style.zIndex = "2147483647";
450
+ // We add the mousedown and mouseup functions to the tab editor
451
+ // so that on a single mouse down it allows the user to drag the
452
+ // window on both the .fsbl-drag-handle and the .fsbl-tab-editor
354
453
  this._setOnMouseUpAndDownHandlers(tabEditor);
355
454
  }
356
455
  }
@@ -358,6 +457,8 @@ export class WindowTitleBarShell extends React.Component {
358
457
  showTabs: response.value,
359
458
  });
360
459
  }
460
+ // Hack the window's scrollbar so that it displays underneath the header. html.overflow: hidden body.overflow:auto
461
+ // This is turned on by default. Set "Window Manager.hackScrollbar: false" to turn it off
361
462
  hackScrollbar() {
362
463
  if (this.state.hackScrollbar) {
363
464
  const htmlElement = document.querySelector("html");
@@ -368,48 +469,139 @@ export class WindowTitleBarShell extends React.Component {
368
469
  bodyElement.style.overflowY = "auto";
369
470
  }
370
471
  }
371
- async maybeAdjustWindow() {
372
- const beginAdjustment = () => {
373
- const htmlElement = document.querySelector("html");
374
- const bodyElement = document.querySelector("body");
375
- if (htmlElement) {
376
- htmlElement.style.display = "table";
377
- htmlElement.style.height = "100vh";
378
- htmlElement.style.width = "100vw";
379
- }
380
- if (bodyElement) {
381
- const header = document.getElementsByClassName("fsbl-header")[0];
382
- const headerHeight = window.getComputedStyle(header, null).getPropertyValue("height");
383
- bodyElement.style.height = `calc(100vh - ${headerHeight})`;
384
- bodyElement.style.position = "relative";
472
+ /**
473
+ * Gets all the CSS styles in the document that match the element.
474
+ *
475
+ * @param element
476
+ */
477
+ getStylesForElement(element) {
478
+ var _a;
479
+ const matchedStyles = [];
480
+ const styleSheetList = document.styleSheets;
481
+ for (let i = 0; i < styleSheetList.length; i++) {
482
+ const cssRuleList = (_a = styleSheetList.item(i)) === null || _a === void 0 ? void 0 : _a.cssRules;
483
+ for (let j = 0; j < cssRuleList.length; j++) {
484
+ const rule = cssRuleList.item(j);
485
+ if (element.matches(rule.selectorText)) {
486
+ // No type available for StylePropertyMap
487
+ matchedStyles.push(rule.styleMap);
488
+ }
385
489
  }
386
- const header = document.getElementsByClassName("fsbl-header")[0];
490
+ }
491
+ return matchedStyles;
492
+ }
493
+ /**
494
+ * Get the Actual computed style values for an element native alternative is getComputedStyle() can return used
495
+ * values for some specific values eg a height specified in a % value will return a px value. Setting style with
496
+ * used values can lead to issues when resizing and potentially break application design.
497
+ *
498
+ * Note: this only takes into account the style from styles sheets and not inline styles on the element itself
499
+ */
500
+ getActualComputedStylesFromStylesheets(element, property) {
501
+ /**
502
+ * List of used values taken from here:
503
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/used_value#difference_from_computed_value
504
+ */
505
+ const listOfUsedValues = [
506
+ "background-position",
507
+ "bottom",
508
+ "left",
509
+ "right",
510
+ "top",
511
+ "height",
512
+ "width",
513
+ "margin-bottom",
514
+ "margin-left",
515
+ "margin-right",
516
+ "margin-top",
517
+ "min-height",
518
+ "min-width",
519
+ "padding-bottom",
520
+ "padding-left",
521
+ "padding-right",
522
+ "padding-top",
523
+ "text-indent",
524
+ ];
525
+ if (!listOfUsedValues.includes(property)) {
526
+ return window.getComputedStyle(element, null).getPropertyValue(property);
527
+ }
528
+ const matchedStyles = this.getStylesForElement(element);
529
+ let styleString = "";
530
+ for (const style of matchedStyles) {
531
+ style.forEach((value, key) => {
532
+ var _a;
533
+ // Only works for
534
+ if (value[0].value) {
535
+ styleString = `${styleString} ${key}: ${value[0].value}${(_a = value[0].unit) !== null && _a !== void 0 ? _a : ""}; `;
536
+ }
537
+ });
538
+ }
539
+ const div = document.createElement("div");
540
+ div.setAttribute("style", styleString);
541
+ return div.style.getPropertyValue(property);
542
+ }
543
+ beginAdjustment() {
544
+ const bodyElement = document.querySelector("body");
545
+ const header = document.getElementsByClassName("fsbl-header")[0];
546
+ if (bodyElement) {
387
547
  const headerHeight = window.getComputedStyle(header, null).getPropertyValue("height");
388
- if (header) {
389
- if (this.state.adjustContentHeights)
390
- this.adjustTopLevelHeight(Number(headerHeight.split("px")[0]));
391
- this.bumpElements(this.state.bumpElements);
392
- if (this.state.bumpElements.monitorFixedAdditions)
393
- this.monitorFixedPositionedElements(headerHeight);
394
- }
395
- else {
396
- Logger.system.error("WindowTitleBarShell.maybeAdjustWindow:could not find the header.");
548
+ /**
549
+ * Get the application defined value height and modify it when available rather than change it completely
550
+ * with what FSBL needs
551
+ */
552
+ let bodyHeight = this.getActualComputedStylesFromStylesheets(bodyElement, "height");
553
+ bodyHeight = bodyHeight ? bodyHeight : "100vh";
554
+ // Make sure it's a unit value - global values and keyword value can (probably) take care of themselves
555
+ if (bodyHeight.match(/^\d./)) {
556
+ const inlineHeight = bodyElement.style.getPropertyValue("height");
557
+ let calculatedHeight = `calc(${bodyHeight} - ${headerHeight})`;
558
+ // Use inline specified height if it exists and do not recursively apply the same value
559
+ if (inlineHeight && calculatedHeight != inlineHeight) {
560
+ calculatedHeight = `calc(${inlineHeight} - ${headerHeight})`;
561
+ }
562
+ bodyElement.style.height = calculatedHeight;
397
563
  }
398
- };
399
- if (document.readyState === "complete")
400
- beginAdjustment();
564
+ }
565
+ const headerHeight = window.getComputedStyle(header, null).getPropertyValue("height");
566
+ if (header) {
567
+ if (this.state.adjustContentHeights)
568
+ this.adjustTopLevelHeight(Number(headerHeight.split("px")[0]));
569
+ this.bumpElements(this.state.bumpElements);
570
+ if (this.state.bumpElements.monitorFixedAdditions)
571
+ this.monitorFixedPositionedElements(headerHeight);
572
+ }
573
+ else {
574
+ Logger.system.error("WindowTitleBarShell.maybeAdjustWindow:could not find the header.");
575
+ }
576
+ }
577
+ /**
578
+ * Once document is ready and header is injected into DOM, begin adjusting the height of elements and bump fixed/absolute elements
579
+ */
580
+ async maybeAdjustWindow() {
581
+ // don't start pushing stuff down until page is ready. This is needed for preloaded titlebars because they can happen before the page is ready.
582
+ if (document.readyState === "complete") {
583
+ this.beginAdjustment();
584
+ }
401
585
  else {
402
586
  document.addEventListener("readystatechange", () => {
403
587
  if (document.readyState === "complete")
404
- beginAdjustment();
588
+ this.beginAdjustment();
405
589
  });
406
590
  }
407
591
  }
592
+ /**
593
+ * Monitors the DOM for mutations, if the added node has a fixed position with a top style of 0px, it will be bumped by the title bar height.
594
+ * @param headerHeight the height of the header
595
+ */
408
596
  monitorFixedPositionedElements(headerHeight) {
409
597
  const options = {
410
598
  childList: true,
411
599
  subtree: true,
412
600
  };
601
+ /**
602
+ * MutationObserver interface provides the ability to watch for
603
+ * changes to the DOM tree using the observe method
604
+ */
413
605
  const mutationObserver = new MutationObserver((mutations) => {
414
606
  const possibleZeros = ["0", "0px", 0];
415
607
  mutations.forEach((mutation) => {
@@ -419,19 +611,26 @@ export class WindowTitleBarShell extends React.Component {
419
611
  try {
420
612
  const nodeStyle = window.getComputedStyle(node);
421
613
  const topStyle = nodeStyle.top;
614
+ // make sure node is fixed, has top style set to 0, and has not been bumped
422
615
  if (nodeStyle.position === "fixed" && possibleZeros.includes(topStyle)) {
423
616
  node.style.top = this.calculateBumpValue("0Positioned", topStyle, headerHeight);
424
617
  node.classList.add("bumped-element");
425
618
  }
426
619
  }
427
620
  catch (err) {
621
+ // Expected to error if the node is not an Element e.g text is not of type Element
428
622
  }
429
623
  }
430
624
  });
431
625
  });
432
626
  });
627
+ // We observe the body and do not disconnect because there may be other elements that are dynamically loaded, such as a dialogue menu.
433
628
  mutationObserver.observe(document.body, options);
434
629
  }
630
+ /**
631
+ * Calls functions to bump fixed and/or absolute elements if configured to do so.
632
+ * @param {object} config bumpElements object
633
+ */
435
634
  bumpElements(config) {
436
635
  if ((config === null || config === void 0 ? void 0 : config.bumpBy) && (config === null || config === void 0 ? void 0 : config.bumpBy) !== "0px") {
437
636
  if (config.fixed)
@@ -440,8 +639,17 @@ export class WindowTitleBarShell extends React.Component {
440
639
  this.bumpAbsoluteElements(config);
441
640
  }
442
641
  }
642
+ /**
643
+ * Set the max height of each element to be the height of the parent container
644
+ * subtracted by the height of the previous element. This forces the element to either obey its
645
+ * predefined height or stay within the bounds of the max height.
646
+ * @param {object} elem HTML element
647
+ * @param {number} prev height of previous sibling
648
+ * @param maxHeight
649
+ */
443
650
  adjust(elem, prev, maxHeight = "100vh") {
444
651
  if (!elem.className.includes("adjusted-element") &&
652
+ // workaround to fix dnd scrim disappearing
445
653
  !elem.className.includes("fsbl-share-scrim")) {
446
654
  const clientHeight = elem.clientHeight ? elem.clientHeight : 0;
447
655
  const offsetHeight = elem.offsetHeight ? elem.offsetHeight : 0;
@@ -451,16 +659,29 @@ export class WindowTitleBarShell extends React.Component {
451
659
  elem.classList.add("adjusted-element");
452
660
  }
453
661
  }
662
+ /**
663
+ * Adjusts the top level content view height to be its height subtracted by the headerHeight and its
664
+ * maxHeight to be 100vh subtracted by the total height of the previous elements.
665
+ * The height of the previous elements are added to this calculation if they are not fixed or absolute.
666
+ * @param {number} headerHeight the height of the header
667
+ */
454
668
  adjustTopLevelHeight(headerHeight) {
455
669
  const elems = document.body.querySelectorAll(":scope > *:not(#FSBLHeader, .fsbl-header)");
456
670
  let prev = headerHeight;
457
671
  elems.forEach((elem) => {
458
672
  this.adjust(elem, prev);
673
+ // Heights of fixed and absolute positioned elements are not added to the total heights of previous elements
674
+ // since they are removed from the document flow and can be positioned anywhere in the page.
459
675
  if (elem.style.position !== "fixed" && elem.style.position !== "absolute")
460
676
  prev = prev + elem.offsetHeight;
461
677
  this.adjustContentHeight(elem);
462
678
  });
463
679
  }
680
+ /**
681
+ * Adjusts the content view height to be maximum the parent container height subtracted by the total height elements above it.
682
+ * The height of the previous elements are added to this calculation if they are not fixed or absolute.
683
+ * @param {object} headerNode window titlebar
684
+ */
464
685
  adjustContentHeight(headerNode) {
465
686
  const elem = headerNode;
466
687
  const maxHeight = `100%`;
@@ -468,12 +689,20 @@ export class WindowTitleBarShell extends React.Component {
468
689
  const len = children.length;
469
690
  let prev = 0;
470
691
  for (let i = 0; i < len; i++) {
692
+ // Fixed and absolute positioned elements are ignored since they are removed from the document flow.
471
693
  if (children[i].style.position !== "fixed" && children[i].style.position !== "absolute") {
472
694
  this.adjust(children[i], prev, maxHeight);
473
695
  prev = prev + children[i].offsetHeight;
474
696
  }
475
697
  }
476
698
  }
699
+ /**
700
+ * Calculates value to bump element by. If 'all' return top style and header height, if '0Positioned' return header height
701
+ * @param type Whether all elements are being bumped by the header height and their top style or just header height
702
+ * @param topStyle Element top value
703
+ * @param bumpBy Value to bump element by
704
+ * @returns Top style for element
705
+ */
477
706
  calculateBumpValue(type, topStyle, bumpBy) {
478
707
  let topVal = topStyle;
479
708
  const possibleZeros = ["0", "0px", 0];
@@ -485,6 +714,14 @@ export class WindowTitleBarShell extends React.Component {
485
714
  }
486
715
  return topVal;
487
716
  }
717
+ /**
718
+ * Recursively traverse through the HTML document and return an array of the top level elements
719
+ * and elements with static parents
720
+ * @param {object} element The HTML element
721
+ * @param {array} acc accumulator
722
+ * @returns {array} array top level elements and elements with static parents
723
+ *
724
+ */
488
725
  traverseHtml(element, acc = []) {
489
726
  const elems = element.children;
490
727
  const len = elems.length;
@@ -504,6 +741,10 @@ export class WindowTitleBarShell extends React.Component {
504
741
  }
505
742
  return acc;
506
743
  }
744
+ /**
745
+ * Bumps elements with fixed positioning down by the configured amount.
746
+ * @private
747
+ */
507
748
  bumpFixedElements(params) {
508
749
  let { fixed, bumpBy } = params;
509
750
  const getFixedElements = (nodes) => {
@@ -522,6 +763,7 @@ export class WindowTitleBarShell extends React.Component {
522
763
  return fixedElems;
523
764
  };
524
765
  const selector = "*:not(#FSBLHeader, .fsbl-header)";
766
+ // Get all fixed positioned elements
525
767
  const elems = getFixedElements(document.body.querySelectorAll(`${selector}`));
526
768
  const len = elems.length;
527
769
  for (let i = 0; i < len; i++) {
@@ -533,14 +775,20 @@ export class WindowTitleBarShell extends React.Component {
533
775
  }
534
776
  }
535
777
  }
778
+ /**
779
+ * Bumps absolute positioned elements with static parents down by the configured amount.
780
+ * @private
781
+ */
536
782
  bumpAbsoluteElements(params) {
537
783
  let { absolute, bumpBy } = params;
538
784
  const selector = "*:not(#FSBLHeader, .fsbl-header)";
785
+ // Get top level absolute positioned elements and elements who have static parents
539
786
  const elems = this.traverseHtml({ children: document.body.querySelectorAll(`:scope > ${selector}`) });
540
787
  const len = elems.length;
541
788
  for (let i = 0; i < len; i++) {
542
789
  const style = window.getComputedStyle(elems[i], null);
543
790
  const topStyle = style.getPropertyValue("top");
791
+ // Target absolute positioned elements
544
792
  if (style.getPropertyValue("position") == "absolute" && !elems[i].className.includes("bumped-element")) {
545
793
  elems[i].style.top = this.calculateBumpValue(absolute, topStyle, bumpBy);
546
794
  elems[i].classList.add("bumped-element");
@@ -550,9 +798,10 @@ export class WindowTitleBarShell extends React.Component {
550
798
  render() {
551
799
  let showDockingIcon = !this.state.dockingEnabled ? false : this.state.dockingIcon;
552
800
  let isGrouped = this.state.dockingIcon == "ejector";
553
- let showMinimizeIcon = (isGrouped && this.state.isTopRight) || !isGrouped;
801
+ let showMinimizeIcon = (isGrouped && this.state.isTopRight) || !isGrouped; // If not in a group or if topright in a group
554
802
  let tabRegionClasses = "fsbl-tab-area";
555
803
  let headerClasses = "fsbl-header";
804
+ // If we're showing tabs, we throw these classes on to modify styles.
556
805
  if (this.state.showTabs) {
557
806
  headerClasses = `${headerClasses} fsbl-tabs-enabled`;
558
807
  }