@finsemble/finsemble-ui 7.0.1 → 7.1.0

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 (788) 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 +36 -3
  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.d.ts +1 -1
  668. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +20 -10
  669. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  670. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +17 -0
  671. package/react/components/userPreferences/stores/UserPreferencesStore.js +27 -0
  672. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  673. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
  674. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  675. package/react/components/userPreferences/tests/Workspace.spec.js +20 -0
  676. package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -1
  677. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +111 -0
  678. package/react/components/windowTitleBar/WindowTitleBarShell.js +218 -47
  679. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  680. package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
  681. package/react/components/windowTitleBar/components/center/Tab.js +3 -0
  682. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  683. package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
  684. package/react/components/windowTitleBar/components/center/TabList.js +170 -4
  685. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  686. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
  687. package/react/components/windowTitleBar/components/left/LinkerButton.js +25 -9
  688. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  689. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
  690. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
  691. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  692. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
  693. package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
  694. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  695. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
  696. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
  697. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  698. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
  699. package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
  700. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  701. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
  702. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  703. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
  704. package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
  705. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  706. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
  707. package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
  708. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  709. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
  710. package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
  711. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  712. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
  713. package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
  714. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  715. package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
  716. package/react/components/windowTitleBar/components/windowTitle.js +172 -10
  717. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  718. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
  719. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +72 -1
  720. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  721. package/react/components/yesNoDialog/YesNoDialog.css +1 -1
  722. package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
  723. package/react/components/yesNoDialog/YesNoDialog.js +63 -0
  724. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  725. package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
  726. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  727. package/react/components/yesNoDialog/timer.js +2 -0
  728. package/react/components/yesNoDialog/timer.js.map +1 -1
  729. package/react/enzymeSetup.js +5 -0
  730. package/react/enzymeSetup.js.map +1 -1
  731. package/react/hooks/useDashbar.js +10 -0
  732. package/react/hooks/useDashbar.js.map +1 -1
  733. package/react/hooks/useDeepEffect.d.ts +4 -0
  734. package/react/hooks/useDeepEffect.js +21 -0
  735. package/react/hooks/useDeepEffect.js.map +1 -1
  736. package/react/hooks/useFavorites.d.ts +15 -0
  737. package/react/hooks/useFavorites.js +3 -0
  738. package/react/hooks/useFavorites.js.map +1 -1
  739. package/react/hooks/useFavoritesShell.d.ts +4 -0
  740. package/react/hooks/useFavoritesShell.js +23 -0
  741. package/react/hooks/useFavoritesShell.js.map +1 -1
  742. package/react/hooks/useHotkey.d.ts +6 -0
  743. package/react/hooks/useHotkey.js +9 -0
  744. package/react/hooks/useHotkey.js.map +1 -1
  745. package/react/hooks/useLinker.js +14 -0
  746. package/react/hooks/useLinker.js.map +1 -1
  747. package/react/hooks/useMenu.d.ts +29 -0
  748. package/react/hooks/useMenu.js +12 -1
  749. package/react/hooks/useMenu.js.map +1 -1
  750. package/react/hooks/useNotifications.d.ts +44 -0
  751. package/react/hooks/useNotifications.js +100 -4
  752. package/react/hooks/useNotifications.js.map +1 -1
  753. package/react/hooks/useOutsideClickDetector.d.ts +3 -0
  754. package/react/hooks/useOutsideClickDetector.js +3 -0
  755. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  756. package/react/hooks/usePubSub.d.ts +17 -0
  757. package/react/hooks/usePubSub.js +18 -0
  758. package/react/hooks/usePubSub.js.map +1 -1
  759. package/react/hooks/useSearch.d.ts +5 -0
  760. package/react/hooks/useSearch.js +30 -0
  761. package/react/hooks/useSearch.js.map +1 -1
  762. package/react/hooks/useToolbar.js +52 -0
  763. package/react/hooks/useToolbar.js.map +1 -1
  764. package/react/reducers/favoriteReducer.d.ts +3 -0
  765. package/react/reducers/linkerReducer.d.ts +3 -0
  766. package/react/reducers/linkerReducer.js +4 -0
  767. package/react/reducers/linkerReducer.js.map +1 -1
  768. package/react/reducers/menuReducer.d.ts +28 -0
  769. package/react/reducers/menuReducer.js +34 -0
  770. package/react/reducers/menuReducer.js.map +1 -1
  771. package/react/reducers/rootReducer.js +3 -0
  772. package/react/reducers/rootReducer.js.map +1 -1
  773. package/react/reducers/searchReducer.d.ts +7 -0
  774. package/react/reducers/searchReducer.js +6 -0
  775. package/react/reducers/searchReducer.js.map +1 -1
  776. package/react/reducers/workspaceReducer.js +1 -0
  777. package/react/reducers/workspaceReducer.js.map +1 -1
  778. package/react/store.d.ts +4 -0
  779. package/react/store.js +11 -0
  780. package/react/store.js.map +1 -1
  781. package/react/tsconfig.tsbuildinfo +1 -1
  782. package/react/types/fdc3.d.ts +2 -0
  783. package/react/types/linkerTypes.d.ts +13 -0
  784. package/react/types/linkerTypes.js +1 -0
  785. package/react/types/linkerTypes.js.map +1 -1
  786. package/react/types/smartDesktopDesignerTypes.d.ts +5 -0
  787. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  788. package/react/types/workspaceTypes.d.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSelect.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/TimeSelect.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it, afterEach } from \"mocha\";\nimport { expect } from \"chai\";\nimport { TimeSelectProps } from \"../TimeSelect\";\nimport DefaultDropdownButton from \"../../shared/DefaultDropdownButton\";\nimport { Default, Disabled } from \"../stories/TimeSelect.stories\";\n\n// For running accessibility scans\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\n// For testing user interactions (like click events):\nimport sinon from \"sinon\";\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(\"<TimeSelect/>\", () => {\n\t// Used to clear after each interactive test using sinon\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"Should set the time from a prop\", async () => {\n\t\tconst wrapper = mount(<Default {...(Default.args as TimeSelectProps)} />);\n\n\t\tconst labels = wrapper.find(\".finsemble-dropdown__btn-label\");\n\n\t\texpect(labels.at(0).text(), \"Correct hour value\").to.equal(\"10\");\n\t\texpect(labels.at(1).text(), \"Correct min value\").to.equal(\"15\");\n\t\texpect(labels.at(2).text(), \"Correct PM value\").to.equal(\"PM\");\n\t});\n\n\tit(\"Should set the time from a prop\", async () => {\n\t\tconst wrapper = mount(<Default initialTime={{ hour: 3, minute: 30 }} />);\n\n\t\tconst labels = wrapper.find(\".finsemble-dropdown__btn-label\");\n\n\t\texpect(labels.at(0).text(), \"Correct hour value\").to.equal(\"3\");\n\t\texpect(labels.at(1).text(), \"Correct min value\").to.equal(\"30\");\n\t\texpect(labels.at(2).text(), \"Correct PM value\").to.equal(\"AM\");\n\t});\n\n\tit(\"Should de disabled\", () => {\n\t\tconst wrapper = mount(<Disabled {...(Disabled.args as TimeSelectProps)} />);\n\t\texpect(wrapper.find(DefaultDropdownButton).at(0).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(1).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(2).props().enabled).to.be.false;\n\t});\n\n\tit(\"Should use a className\", () => {\n\t\tconst wrapper = mount(<Default className=\"custom-class-name\" />);\n\t\texpect(wrapper.find(\".custom-class-name\").exists(), \"Has the custom class name\").to.be.true;\n\t});\n\n\tit(\"Should set the correct hour\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(0).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(8).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 21, minute: 15, meridiem: \"PM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"Should set the correct minute\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(1).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(0).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 22, minute: 0, meridiem: \"PM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"Should set the correct hour from meridiem\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(2).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(0).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 10, minute: 15, meridiem: \"AM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Default {...(Default.args as TimeSelectProps)} />);\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n});\n"]}
1
+ {"version":3,"file":"TimeSelect.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/TimeSelect.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it, afterEach } from \"mocha\";\nimport { expect } from \"chai\";\nimport { TimeSelectProps } from \"../TimeSelect\";\nimport DefaultDropdownButton from \"../../shared/DefaultDropdownButton\";\nimport { Default, Disabled } from \"../stories/TimeSelect.stories\";\n\n// For running accessibility scans\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\n// For testing user interactions (like click events):\nimport sinon from \"sinon\";\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(\"<TimeSelect/>\", () => {\n\t// Used to clear after each interactive test using sinon\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"Should set the time from a prop\", async () => {\n\t\tconst wrapper = mount(<Default {...(Default.args as TimeSelectProps)} />);\n\n\t\tconst labels = wrapper.find(\".finsemble-dropdown__btn-label\");\n\n\t\texpect(labels.at(0).text(), \"Correct hour value\").to.equal(\"10\");\n\t\texpect(labels.at(1).text(), \"Correct min value\").to.equal(\"15\");\n\t\texpect(labels.at(2).text(), \"Correct PM value\").to.equal(\"PM\");\n\t});\n\n\tit(\"Should set the time from a prop\", async () => {\n\t\tconst wrapper = mount(<Default initialTime={{ hour: 3, minute: 30 }} />);\n\n\t\tconst labels = wrapper.find(\".finsemble-dropdown__btn-label\");\n\n\t\texpect(labels.at(0).text(), \"Correct hour value\").to.equal(\"3\");\n\t\texpect(labels.at(1).text(), \"Correct min value\").to.equal(\"30\");\n\t\texpect(labels.at(2).text(), \"Correct PM value\").to.equal(\"AM\");\n\t});\n\n\tit(\"Should de disabled\", () => {\n\t\tconst wrapper = mount(<Disabled {...(Disabled.args as TimeSelectProps)} />);\n\t\texpect(wrapper.find(DefaultDropdownButton).at(0).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(1).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(2).props().enabled).to.be.false;\n\t});\n\n\tit(\"Should use a className\", () => {\n\t\tconst wrapper = mount(<Default className=\"custom-class-name\" />);\n\t\texpect(wrapper.find(\".custom-class-name\").exists(), \"Has the custom class name\").to.be.true;\n\t});\n\n\tit(\"Should set the correct hour\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(0).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(8).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 21, minute: 15, meridiem: \"PM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"Should set the correct minute\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(1).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(0).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 22, minute: 0, meridiem: \"PM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"Should set the correct hour from meridiem\", () => {\n\t\tconst change = sinon.spy();\n\t\tconst wrapper = mount(<Default onChange={change} initialTime={Default.args?.initialTime} />);\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(2).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(0).simulate(\"click\");\n\t\texpect(change.calledWith({ hour: 10, minute: 15, meridiem: \"AM\" }), \"Has changed, function should be called\").to.be\n\t\t\t.true;\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Default {...(Default.args as TimeSelectProps)} />);\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n});\n"]}
@@ -30,5 +30,21 @@ describe("<Tooltip/>", () => {
30
30
  const wrapper = mount(React.createElement(Info, Object.assign({}, Info.args)));
31
31
  expect(wrapper.find(".tooltip-icon").is(".tooltip-icon-info")).to.be.true;
32
32
  });
33
+ // CANNOT DETECT *ACCURATE* CSS POSITIONING WITH ENZYME
34
+ /*
35
+ it("should display a tooltip to the left when position is left", () => {
36
+ const wrapper = mount(<Left {...(Left.args as TooltipProps)} />);
37
+ wrapper.find(".tooltip").first().simulate("focus");
38
+ const iconNode = wrapper.find(".tooltip-icon").at(0).getDOMNode();
39
+ const iconLeftPx = window.getComputedStyle(iconNode).getPropertyValue("left");
40
+ const iconLeftNum = Number(iconLeftPx.replace("px", ""));
41
+ const contentNode = wrapper.find(".tooltip-content").at(0).getDOMNode();
42
+ const contentLeftPx = window.getComputedStyle(contentNode).getPropertyValue("left");
43
+ const contentLeftNum = Number(contentLeftPx.replace("px", ""));
44
+
45
+ // Both contentLeftnum and iconLeftNum are 0
46
+ expect(contentLeftNum).to.be.lessThan(iconLeftNum);
47
+ });
48
+ */
33
49
  });
34
50
  //# sourceMappingURL=Tooltip.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/Tooltip.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 { Plain, Info, Error } from \"../stories/Tooltip.stories\";\nimport { TooltipProps } from \"../Tooltip\";\n\ndescribe(\"<Tooltip/>\", () => {\n\tit(\"should display a help icon\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\texpect(wrapper.exists(\".tooltip-icon\")).to.be.true;\n\t});\n\n\tit(\"should display/hide sample text in a popup when moused over/off\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\twrapper.find(\".tooltip\").first().simulate(\"mouseover\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.true;\n\t\twrapper.find(\".tooltip\").first().simulate(\"mouseleave\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.false;\n\t});\n\n\tit(\"should display/hide sample text in a popup when focused/blurred\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\twrapper.find(\".tooltip\").first().simulate(\"focus\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.true;\n\t\twrapper.find(\".tooltip\").first().simulate(\"blur\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.false;\n\t});\n\n\tit(\"should display an error icon when type is error\", () => {\n\t\tconst wrapper = mount(<Error {...(Error.args as TooltipProps)} />);\n\t\texpect(wrapper.find(\".tooltip-icon\").is(\".tooltip-icon-error\")).to.be.true;\n\t});\n\n\tit(\"should display an info icon when type is info\", () => {\n\t\tconst wrapper = mount(<Info {...(Info.args as TooltipProps)} />);\n\t\texpect(wrapper.find(\".tooltip-icon\").is(\".tooltip-icon-info\")).to.be.true;\n\t});\n\n\t// CANNOT DETECT *ACCURATE* CSS POSITIONING WITH ENZYME\n\t/*\n it(\"should display a tooltip to the left when position is left\", () => {\n const wrapper = mount(<Left {...(Left.args as TooltipProps)} />);\n wrapper.find(\".tooltip\").first().simulate(\"focus\");\n const iconNode = wrapper.find(\".tooltip-icon\").at(0).getDOMNode();\n const iconLeftPx = window.getComputedStyle(iconNode).getPropertyValue(\"left\");\n const iconLeftNum = Number(iconLeftPx.replace(\"px\", \"\"));\n const contentNode = wrapper.find(\".tooltip-content\").at(0).getDOMNode();\n const contentLeftPx = window.getComputedStyle(contentNode).getPropertyValue(\"left\");\n const contentLeftNum = Number(contentLeftPx.replace(\"px\", \"\"));\n \n // Both contentLeftnum and iconLeftNum are 0\n expect(contentLeftNum).to.be.lessThan(iconLeftNum);\n });\n */\n});\n"]}
1
+ {"version":3,"file":"Tooltip.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/Tooltip.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 { Plain, Info, Error } from \"../stories/Tooltip.stories\";\nimport { TooltipProps } from \"../Tooltip\";\n\ndescribe(\"<Tooltip/>\", () => {\n\tit(\"should display a help icon\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\texpect(wrapper.exists(\".tooltip-icon\")).to.be.true;\n\t});\n\n\tit(\"should display/hide sample text in a popup when moused over/off\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\twrapper.find(\".tooltip\").first().simulate(\"mouseover\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.true;\n\t\twrapper.find(\".tooltip\").first().simulate(\"mouseleave\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.false;\n\t});\n\n\tit(\"should display/hide sample text in a popup when focused/blurred\", () => {\n\t\tconst wrapper = mount(<Plain {...(Plain.args as TooltipProps)} />);\n\t\twrapper.find(\".tooltip\").first().simulate(\"focus\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.true;\n\t\twrapper.find(\".tooltip\").first().simulate(\"blur\");\n\t\texpect(wrapper.find(\".tooltip-content\").is(\".visible\")).to.be.false;\n\t});\n\n\tit(\"should display an error icon when type is error\", () => {\n\t\tconst wrapper = mount(<Error {...(Error.args as TooltipProps)} />);\n\t\texpect(wrapper.find(\".tooltip-icon\").is(\".tooltip-icon-error\")).to.be.true;\n\t});\n\n\tit(\"should display an info icon when type is info\", () => {\n\t\tconst wrapper = mount(<Info {...(Info.args as TooltipProps)} />);\n\t\texpect(wrapper.find(\".tooltip-icon\").is(\".tooltip-icon-info\")).to.be.true;\n\t});\n\n\t// CANNOT DETECT *ACCURATE* CSS POSITIONING WITH ENZYME\n\t/*\n it(\"should display a tooltip to the left when position is left\", () => {\n const wrapper = mount(<Left {...(Left.args as TooltipProps)} />);\n wrapper.find(\".tooltip\").first().simulate(\"focus\");\n const iconNode = wrapper.find(\".tooltip-icon\").at(0).getDOMNode();\n const iconLeftPx = window.getComputedStyle(iconNode).getPropertyValue(\"left\");\n const iconLeftNum = Number(iconLeftPx.replace(\"px\", \"\"));\n const contentNode = wrapper.find(\".tooltip-content\").at(0).getDOMNode();\n const contentLeftPx = window.getComputedStyle(contentNode).getPropertyValue(\"left\");\n const contentLeftNum = Number(contentLeftPx.replace(\"px\", \"\"));\n \n // Both contentLeftnum and iconLeftNum are 0\n expect(contentLeftNum).to.be.lessThan(iconLeftNum);\n });\n */\n});\n"]}
@@ -4,5 +4,13 @@ declare type FavoriteMakerProps = Favorite & {
4
4
  className?: string;
5
5
  style?: React.CSSProperties;
6
6
  };
7
+ /**
8
+ * Creates a clickable "favorite" that coordinates with the toolbar's pinned <FavoritesShell>.
9
+ * @param {string} [className] - An optional CSS className to append.
10
+ * @param {string} [id] - The unique identifier for the favorite item. This must be consistent across restarts.
11
+ * @param {string} [category] - "Workspace" | "Application". The catagory of the favorite item. Currenly only workspaces and launchable Finsemble applications can be favorited.
12
+ * @param {string} [name] - The name of the favorite item. This will be used for display in the FavoriteShell.
13
+ * @param {IconDescriptor} [icon] - The icon of the favorite item. This displays in the FavoriteShell. It defaults to use the initials of the `name` field as its content.
14
+ */
7
15
  export declare const FavoriteMaker: React.FunctionComponent<FavoriteMakerProps>;
8
16
  export {};
@@ -1,7 +1,16 @@
1
1
  import * as React from "react";
2
2
  import { useFavorites } from "../../hooks/useFavorites";
3
+ /**
4
+ * Creates a clickable "favorite" that coordinates with the toolbar's pinned <FavoritesShell>.
5
+ * @param {string} [className] - An optional CSS className to append.
6
+ * @param {string} [id] - The unique identifier for the favorite item. This must be consistent across restarts.
7
+ * @param {string} [category] - "Workspace" | "Application". The catagory of the favorite item. Currenly only workspaces and launchable Finsemble applications can be favorited.
8
+ * @param {string} [name] - The name of the favorite item. This will be used for display in the FavoriteShell.
9
+ * @param {IconDescriptor} [icon] - The icon of the favorite item. This displays in the FavoriteShell. It defaults to use the initials of the `name` field as its content.
10
+ */
3
11
  export const FavoriteMaker = ({ id, category, icon, name, children, className = "", style, }) => {
4
12
  const { isFavorited, addFavorite, removeFavorite } = useFavorites();
13
+ // If no icon is specified then default to an avatar based on initials
5
14
  const definitiveIcon = icon !== null && icon !== void 0 ? icon : {
6
15
  imageType: "initials",
7
16
  name: name,
@@ -1 +1 @@
1
- {"version":3,"file":"FavoriteMaker.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoriteMaker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAmBxD,MAAM,CAAC,MAAM,aAAa,GAAgD,CAAC,EAC1E,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GACL,EAAE,EAAE;IACJ,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAAC;IAGpE,MAAM,cAAc,GAAmB,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;QAC9C,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;KAClB,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,CAAmB,EAAE,EAAE;QAC9C,cAAc,CAAC;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE;YACpB,cAAc,CAAC,EAAE,CAAC,CAAC;SACnB;aAAM;YACN,WAAW,CAAC;gBACX,EAAE;gBACF,QAAQ;gBACR,IAAI;gBACJ,IAAI,EAAE,cAAc;aACpB,CAAC,CAAC;SACH;IACF,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/D,MAAM,OAAO,GAAG,kBAAkB,MAAM,IAAI,SAAS,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IAE1D,OAAO,CACN,6BAAK,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IACrG,QAAQ,IAAI,2BAAG,SAAS,EAAC,aAAa,GAAK,CACvC,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { useFavorites } from \"../../hooks/useFavorites\";\nimport { Favorite } from \"../../types/favoriteTypes\";\nimport { services } from \"@finsemble/finsemble-api\";\n\ntype IconDescriptor = services.window.types.IconDescriptor;\n\ntype FavoriteMakerProps = Favorite & {\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n};\n\n/**\n * Creates a clickable \"favorite\" that coordinates with the toolbar's pinned <FavoritesShell>.\n * @param {string} [className] - An optional CSS className to append.\n * @param {string} [id] - The unique identifier for the favorite item. This must be consistent across restarts.\n * @param {string} [category] - \"Workspace\" | \"Application\". The catagory of the favorite item. Currenly only workspaces and launchable Finsemble applications can be favorited.\n * @param {string} [name] - The name of the favorite item. This will be used for display in the FavoriteShell.\n * @param {IconDescriptor} [icon] - The icon of the favorite item. This displays in the FavoriteShell. It defaults to use the initials of the `name` field as its content.\n */\nexport const FavoriteMaker: React.FunctionComponent<FavoriteMakerProps> = ({\n\tid,\n\tcategory,\n\ticon,\n\tname,\n\tchildren,\n\tclassName = \"\",\n\tstyle,\n}) => {\n\tconst { isFavorited, addFavorite, removeFavorite } = useFavorites();\n\n\t// If no icon is specified then default to an avatar based on initials\n\tconst definitiveIcon: IconDescriptor = icon ?? {\n\t\timageType: \"initials\",\n\t\tname: name,\n\t\tcategory: category,\n\t};\n\n\tconst toggleFavorite = (e: React.MouseEvent) => {\n\t\tdefinitiveIcon;\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tif (isFavorited(id)) {\n\t\t\tremoveFavorite(id);\n\t\t} else {\n\t\t\taddFavorite({\n\t\t\t\tid,\n\t\t\t\tcategory,\n\t\t\t\tname,\n\t\t\t\ticon: definitiveIcon,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst active = isFavorited(id) ? \"favorited\" : \"not-favorited\";\n\tconst classes = `favorite-maker ${active} ${className}`;\n\tconst title = isFavorited(id) ? \"Unfavorite\" : \"Favorite\";\n\n\treturn (\n\t\t<div role=\"button\" tabIndex={0} onClick={toggleFavorite} className={classes} style={style} title={title}>\n\t\t\t{children || <i className=\"ff-favorite\"></i>}\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"FavoriteMaker.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoriteMaker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAWxD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgD,CAAC,EAC1E,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GACL,EAAE,EAAE;IACJ,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAAC;IAEpE,sEAAsE;IACtE,MAAM,cAAc,GAAmB,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;QAC9C,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;KAClB,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,CAAmB,EAAE,EAAE;QAC9C,cAAc,CAAC;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE;YACpB,cAAc,CAAC,EAAE,CAAC,CAAC;SACnB;aAAM;YACN,WAAW,CAAC;gBACX,EAAE;gBACF,QAAQ;gBACR,IAAI;gBACJ,IAAI,EAAE,cAAc;aACpB,CAAC,CAAC;SACH;IACF,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/D,MAAM,OAAO,GAAG,kBAAkB,MAAM,IAAI,SAAS,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IAE1D,OAAO,CACN,6BAAK,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IACrG,QAAQ,IAAI,2BAAG,SAAS,EAAC,aAAa,GAAK,CACvC,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { useFavorites } from \"../../hooks/useFavorites\";\nimport { Favorite } from \"../../types/favoriteTypes\";\nimport { services } from \"@finsemble/finsemble-api\";\n\ntype IconDescriptor = services.window.types.IconDescriptor;\n\ntype FavoriteMakerProps = Favorite & {\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n};\n\n/**\n * Creates a clickable \"favorite\" that coordinates with the toolbar's pinned <FavoritesShell>.\n * @param {string} [className] - An optional CSS className to append.\n * @param {string} [id] - The unique identifier for the favorite item. This must be consistent across restarts.\n * @param {string} [category] - \"Workspace\" | \"Application\". The catagory of the favorite item. Currenly only workspaces and launchable Finsemble applications can be favorited.\n * @param {string} [name] - The name of the favorite item. This will be used for display in the FavoriteShell.\n * @param {IconDescriptor} [icon] - The icon of the favorite item. This displays in the FavoriteShell. It defaults to use the initials of the `name` field as its content.\n */\nexport const FavoriteMaker: React.FunctionComponent<FavoriteMakerProps> = ({\n\tid,\n\tcategory,\n\ticon,\n\tname,\n\tchildren,\n\tclassName = \"\",\n\tstyle,\n}) => {\n\tconst { isFavorited, addFavorite, removeFavorite } = useFavorites();\n\n\t// If no icon is specified then default to an avatar based on initials\n\tconst definitiveIcon: IconDescriptor = icon ?? {\n\t\timageType: \"initials\",\n\t\tname: name,\n\t\tcategory: category,\n\t};\n\n\tconst toggleFavorite = (e: React.MouseEvent) => {\n\t\tdefinitiveIcon;\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tif (isFavorited(id)) {\n\t\t\tremoveFavorite(id);\n\t\t} else {\n\t\t\taddFavorite({\n\t\t\t\tid,\n\t\t\t\tcategory,\n\t\t\t\tname,\n\t\t\t\ticon: definitiveIcon,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst active = isFavorited(id) ? \"favorited\" : \"not-favorited\";\n\tconst classes = `favorite-maker ${active} ${className}`;\n\tconst title = isFavorited(id) ? \"Unfavorite\" : \"Favorite\";\n\n\treturn (\n\t\t<div role=\"button\" tabIndex={0} onClick={toggleFavorite} className={classes} style={style} title={title}>\n\t\t\t{children || <i className=\"ff-favorite\"></i>}\n\t\t</div>\n\t);\n};\n"]}
@@ -1,3 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import "../../assets/css/favorites.css";
3
+ /**
4
+ * The FavoritesShell renders the favorite component, which displays all the favorited items and allows the user
5
+ * to launch, reorder, or delete a favorited item.
6
+ */
3
7
  export declare const FavoritesShell: () => JSX.Element;
@@ -4,11 +4,17 @@ import "../../assets/css/favorites.css";
4
4
  import { Icon } from "../icon/Icon";
5
5
  import { FinsembleDnDContext, AllowableDnDAxis } from "../legacyControls/FinsembleDnDContext";
6
6
  import { FinsembleDraggable } from "../legacyControls/FinsembleDraggable";
7
+ /*
8
+ * The component that loads and renders all the favorited items.
9
+ */
7
10
  const FavoritesComponent = () => {
8
11
  const { favorites, triggerFavorite, removeFavorite, setFavoritesOrder } = useFavoritesShell();
12
+ // When user is reordering the favorite items in the UI, we need to keep track to this new order and persist the order information.
13
+ // This function gets all the favorite item elements in the correct order and call the hook function to set and persist this order.
9
14
  const reorder = ({ oldIndex, newIndex }) => {
10
15
  setFavoritesOrder({ oldIndex, newIndex });
11
16
  };
17
+ // Delete a favorite item from the toolbar
12
18
  const triggerRemoveFavorite = (event, id) => {
13
19
  event.stopPropagation();
14
20
  removeFavorite(id);
@@ -24,6 +30,12 @@ const FavoritesComponent = () => {
24
30
  React.createElement("i", { title: "Unfavorite", onClick: (event) => triggerRemoveFavorite(event, id), id: "toolbar-delete", className: "ff-close-3" }))));
25
31
  return (React.createElement(FinsembleDnDContext, { onDragEnd: reorder, className: "finsemble-toolbar-section rearrange-region", id: "favoritesContainer", allowHorizontalScroll: true, axis: AllowableDnDAxis.x }, favoriteElements));
26
32
  };
27
- export const FavoritesShell = () => (React.createElement("div", { className: "finsemble-toolbar-section", id: "fav-shell" },
33
+ /**
34
+ * The FavoritesShell renders the favorite component, which displays all the favorited items and allows the user
35
+ * to launch, reorder, or delete a favorited item.
36
+ */
37
+ export const FavoritesShell = () => (
38
+ // When user scrolls to one end of the favorite list, the corresponding variable will be set to "false" so that the scrolling indicator will grey out
39
+ React.createElement("div", { className: "finsemble-toolbar-section", id: "fav-shell" },
28
40
  React.createElement(FavoritesComponent, null)));
29
41
  //# sourceMappingURL=FavoritesShell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritesShell.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoritesShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAK1E,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAI9F,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAA0C,EAAE,EAAE;QAClF,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAGF,MAAM,qBAAqB,GAAG,CAC7B,KAAuE,EACvE,EAAU,EACT,EAAE;QACH,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEzG,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/E,oBAAC,kBAAkB,IAClB,WAAW,EAAE,EAAE,EACf,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,EAAE,EACP,YAAY,EAAC,0BAA0B,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC5C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACvB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC7B;QACF,CAAC;QAED,oBAAC,IAAI,kBAAC,QAAQ,EAAE,QAAQ,IAAM,IAAI,EAAI;QACtC,6BAAK,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,IAAI,IACzD,oBAAoB,CAAC,IAAI,CAAC,CACtB;QACN,2BACC,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,EACpD,EAAE,EAAC,gBAAgB,EACnB,SAAS,EAAC,YAAY,GAClB,CACe,CACrB,CAAC,CAAC;IACH,OAAO,CACN,oBAAC,mBAAmB,IACnB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAC,4CAA4C,EACtD,EAAE,EAAC,oBAAoB,EACvB,qBAAqB,EAAE,IAAI,EAC3B,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAEvB,gBAAgB,CACI,CACtB,CAAC;AACH,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAGnC,6BAAK,SAAS,EAAC,2BAA2B,EAAC,EAAE,EAAC,WAAW;IACxD,oBAAC,kBAAkB,OAAG,CACjB,CACN,CAAC","sourcesContent":["import * as React from \"react\";\nimport { useFavoritesShell } from \"../../hooks/useFavoritesShell\";\nimport \"../../assets/css/favorites.css\";\nimport { Icon } from \"../icon/Icon\";\nimport { FinsembleDnDContext, AllowableDnDAxis } from \"../legacyControls/FinsembleDnDContext\";\nimport { FinsembleDraggable } from \"../legacyControls/FinsembleDraggable\";\n\n/*\n * The component that loads and renders all the favorited items.\n */\nconst FavoritesComponent = () => {\n\tconst { favorites, triggerFavorite, removeFavorite, setFavoritesOrder } = useFavoritesShell();\n\n\t// When user is reordering the favorite items in the UI, we need to keep track to this new order and persist the order information.\n\t// This function gets all the favorite item elements in the correct order and call the hook function to set and persist this order.\n\tconst reorder = ({ oldIndex, newIndex }: { oldIndex: number; newIndex: number }) => {\n\t\tsetFavoritesOrder({ oldIndex, newIndex });\n\t};\n\n\t// Delete a favorite item from the toolbar\n\tconst triggerRemoveFavorite = (\n\t\tevent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n\t\tid: string\n\t) => {\n\t\tevent.stopPropagation();\n\t\tremoveFavorite(id);\n\t};\n\n\tconst nameLengthCheckPoint = (name: string) => (name.length > 24 ? `${name.substring(0, 25)}...` : name);\n\n\tconst favoriteElements = favorites.map(({ id, name, icon, category }, index) => (\n\t\t<FinsembleDraggable\n\t\t\tdraggableId={id}\n\t\t\tindex={index}\n\t\t\tkey={id}\n\t\t\twrapperClass=\"finsemble-toolbar-button\"\n\t\t\tonClick={() => triggerFavorite(id, category)}\n\t\t\tonKeydown={(e) => {\n\t\t\t\tif (e.key === \"Delete\") {\n\t\t\t\t\ttriggerRemoveFavorite(e, id);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Icon category={category} {...icon} />\n\t\t\t<div className=\"finsemble-toolbar-button-label\" title={name}>\n\t\t\t\t{nameLengthCheckPoint(name)}\n\t\t\t</div>\n\t\t\t<i\n\t\t\t\ttitle=\"Unfavorite\"\n\t\t\t\tonClick={(event) => triggerRemoveFavorite(event, id)}\n\t\t\t\tid=\"toolbar-delete\"\n\t\t\t\tclassName=\"ff-close-3\"\n\t\t\t></i>\n\t\t</FinsembleDraggable>\n\t));\n\treturn (\n\t\t<FinsembleDnDContext\n\t\t\tonDragEnd={reorder}\n\t\t\tclassName=\"finsemble-toolbar-section rearrange-region\"\n\t\t\tid=\"favoritesContainer\"\n\t\t\tallowHorizontalScroll={true}\n\t\t\taxis={AllowableDnDAxis.x}\n\t\t>\n\t\t\t{favoriteElements}\n\t\t</FinsembleDnDContext>\n\t);\n};\n\n/**\n * The FavoritesShell renders the favorite component, which displays all the favorited items and allows the user\n * to launch, reorder, or delete a favorited item.\n */\nexport const FavoritesShell = () => (\n\t// When user scrolls to one end of the favorite list, the corresponding variable will be set to \"false\" so that the scrolling indicator will grey out\n\n\t<div className=\"finsemble-toolbar-section\" id=\"fav-shell\">\n\t\t<FavoritesComponent />\n\t</div>\n);\n"]}
1
+ {"version":3,"file":"FavoritesShell.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoritesShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;GAEG;AACH,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE9F,mIAAmI;IACnI,mIAAmI;IACnI,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAA0C,EAAE,EAAE;QAClF,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,0CAA0C;IAC1C,MAAM,qBAAqB,GAAG,CAC7B,KAAuE,EACvE,EAAU,EACT,EAAE;QACH,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEzG,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/E,oBAAC,kBAAkB,IAClB,WAAW,EAAE,EAAE,EACf,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,EAAE,EACP,YAAY,EAAC,0BAA0B,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC5C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACvB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC7B;QACF,CAAC;QAED,oBAAC,IAAI,kBAAC,QAAQ,EAAE,QAAQ,IAAM,IAAI,EAAI;QACtC,6BAAK,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,IAAI,IACzD,oBAAoB,CAAC,IAAI,CAAC,CACtB;QACN,2BACC,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,EACpD,EAAE,EAAC,gBAAgB,EACnB,SAAS,EAAC,YAAY,GAClB,CACe,CACrB,CAAC,CAAC;IACH,OAAO,CACN,oBAAC,mBAAmB,IACnB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAC,4CAA4C,EACtD,EAAE,EAAC,oBAAoB,EACvB,qBAAqB,EAAE,IAAI,EAC3B,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAEvB,gBAAgB,CACI,CACtB,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC;AACnC,qJAAqJ;AAErJ,6BAAK,SAAS,EAAC,2BAA2B,EAAC,EAAE,EAAC,WAAW;IACxD,oBAAC,kBAAkB,OAAG,CACjB,CACN,CAAC","sourcesContent":["import * as React from \"react\";\nimport { useFavoritesShell } from \"../../hooks/useFavoritesShell\";\nimport \"../../assets/css/favorites.css\";\nimport { Icon } from \"../icon/Icon\";\nimport { FinsembleDnDContext, AllowableDnDAxis } from \"../legacyControls/FinsembleDnDContext\";\nimport { FinsembleDraggable } from \"../legacyControls/FinsembleDraggable\";\n\n/*\n * The component that loads and renders all the favorited items.\n */\nconst FavoritesComponent = () => {\n\tconst { favorites, triggerFavorite, removeFavorite, setFavoritesOrder } = useFavoritesShell();\n\n\t// When user is reordering the favorite items in the UI, we need to keep track to this new order and persist the order information.\n\t// This function gets all the favorite item elements in the correct order and call the hook function to set and persist this order.\n\tconst reorder = ({ oldIndex, newIndex }: { oldIndex: number; newIndex: number }) => {\n\t\tsetFavoritesOrder({ oldIndex, newIndex });\n\t};\n\n\t// Delete a favorite item from the toolbar\n\tconst triggerRemoveFavorite = (\n\t\tevent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n\t\tid: string\n\t) => {\n\t\tevent.stopPropagation();\n\t\tremoveFavorite(id);\n\t};\n\n\tconst nameLengthCheckPoint = (name: string) => (name.length > 24 ? `${name.substring(0, 25)}...` : name);\n\n\tconst favoriteElements = favorites.map(({ id, name, icon, category }, index) => (\n\t\t<FinsembleDraggable\n\t\t\tdraggableId={id}\n\t\t\tindex={index}\n\t\t\tkey={id}\n\t\t\twrapperClass=\"finsemble-toolbar-button\"\n\t\t\tonClick={() => triggerFavorite(id, category)}\n\t\t\tonKeydown={(e) => {\n\t\t\t\tif (e.key === \"Delete\") {\n\t\t\t\t\ttriggerRemoveFavorite(e, id);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Icon category={category} {...icon} />\n\t\t\t<div className=\"finsemble-toolbar-button-label\" title={name}>\n\t\t\t\t{nameLengthCheckPoint(name)}\n\t\t\t</div>\n\t\t\t<i\n\t\t\t\ttitle=\"Unfavorite\"\n\t\t\t\tonClick={(event) => triggerRemoveFavorite(event, id)}\n\t\t\t\tid=\"toolbar-delete\"\n\t\t\t\tclassName=\"ff-close-3\"\n\t\t\t></i>\n\t\t</FinsembleDraggable>\n\t));\n\treturn (\n\t\t<FinsembleDnDContext\n\t\t\tonDragEnd={reorder}\n\t\t\tclassName=\"finsemble-toolbar-section rearrange-region\"\n\t\t\tid=\"favoritesContainer\"\n\t\t\tallowHorizontalScroll={true}\n\t\t\taxis={AllowableDnDAxis.x}\n\t\t>\n\t\t\t{favoriteElements}\n\t\t</FinsembleDnDContext>\n\t);\n};\n\n/**\n * The FavoritesShell renders the favorite component, which displays all the favorited items and allows the user\n * to launch, reorder, or delete a favorited item.\n */\nexport const FavoritesShell = () => (\n\t// When user scrolls to one end of the favorite list, the corresponding variable will be set to \"false\" so that the scrolling indicator will grey out\n\n\t<div className=\"finsemble-toolbar-section\" id=\"fav-shell\">\n\t\t<FavoritesComponent />\n\t</div>\n);\n"]}
@@ -5,12 +5,15 @@ import { expect } from "chai";
5
5
  import sinon from "sinon";
6
6
  import { Basic } from "./FavoritesShell.stories";
7
7
  import { accessibilityAssessor } from "../sdd/tests/a11y_helper";
8
+ // Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)
8
9
  import addons, { mockChannel } from "@storybook/addons";
9
10
  addons.setChannel(mockChannel());
10
11
  describe("<FavoritesShell/>", () => {
11
12
  afterEach(() => {
12
13
  sinon.restore();
13
14
  });
15
+ // Scan fails due to duplicate ID
16
+ // Multiple instances of <i id="toolbar-delete">, which violates the rule "id attribute value must be unique"
14
17
  it.skip("should pass accessibility scans (Page)", async () => {
15
18
  const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
16
19
  expect(await accessibilityAssessor(wrapper)).to.be.true;
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritesShell.spec.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoritesShell.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 \"./FavoritesShell.stories\";\nimport { accessibilityAssessor } from \"../sdd/tests/a11y_helper\";\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(\"<FavoritesShell/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\t// Scan fails due to duplicate ID\n\t// Multiple instances of <i id=\"toolbar-delete\">, which violates the rule \"id attribute value must be unique\"\n\tit.skip(\"should pass accessibility scans (Page)\", async () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\tit(\"should display text\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\".finsemble-toolbar-button\").first().text()).to.contain(\"Hello World\");\n\t});\n\tit(\"should display truncate long text\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\tconst truncated_text = wrapper.find(\"div.finsemble-toolbar-button\").at(2).text();\n\t\texpect(\n\t\t\ttruncated_text.length,\n\t\t\t\"Truncated text down to 25 characters, then add ellipses (total of 28 characters)\"\n\t\t).to.equal(28);\n\t\texpect(truncated_text, \"Include '...'\").to.contain(\"...\");\n\t});\n\tit(\"should display category icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\".finsemble-toolbar-button .icon-avatar\").first().prop(\"data-category\")).to.equal(\n\t\t\t\"Application\"\n\t\t);\n\t});\n\tit(\"should open the item when clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"spawn\");\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 open the item when the user presses Enter\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"spawn\");\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 remove the item when deleted\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(3);\n\t\twrapper.find(\"div.finsemble-toolbar-button i\").first().simulate(\"click\");\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(2);\n\t\twrapper\n\t\t\t.find(\".finsemble-toolbar-button\")\n\t\t\t.first()\n\t\t\t.simulate(\"keyDown\", {\n\t\t\t\tkey: \"Delete\",\n\t\t\t\tpreventDefault: () => {},\n\t\t\t});\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(1);\n\t});\n});\n"]}
1
+ {"version":3,"file":"FavoritesShell.spec.js","sourceRoot":"","sources":["../../../src/components/favorites/FavoritesShell.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 \"./FavoritesShell.stories\";\nimport { accessibilityAssessor } from \"../sdd/tests/a11y_helper\";\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(\"<FavoritesShell/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\t// Scan fails due to duplicate ID\n\t// Multiple instances of <i id=\"toolbar-delete\">, which violates the rule \"id attribute value must be unique\"\n\tit.skip(\"should pass accessibility scans (Page)\", async () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\tit(\"should display text\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\".finsemble-toolbar-button\").first().text()).to.contain(\"Hello World\");\n\t});\n\tit(\"should display truncate long text\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\tconst truncated_text = wrapper.find(\"div.finsemble-toolbar-button\").at(2).text();\n\t\texpect(\n\t\t\ttruncated_text.length,\n\t\t\t\"Truncated text down to 25 characters, then add ellipses (total of 28 characters)\"\n\t\t).to.equal(28);\n\t\texpect(truncated_text, \"Include '...'\").to.contain(\"...\");\n\t});\n\tit(\"should display category icon\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\".finsemble-toolbar-button .icon-avatar\").first().prop(\"data-category\")).to.equal(\n\t\t\t\"Application\"\n\t\t);\n\t});\n\tit(\"should open the item when clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"spawn\");\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 open the item when the user presses Enter\", () => {\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"spawn\");\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 remove the item when deleted\", () => {\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(3);\n\t\twrapper.find(\"div.finsemble-toolbar-button i\").first().simulate(\"click\");\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(2);\n\t\twrapper\n\t\t\t.find(\".finsemble-toolbar-button\")\n\t\t\t.first()\n\t\t\t.simulate(\"keyDown\", {\n\t\t\t\tkey: \"Delete\",\n\t\t\t\tpreventDefault: () => {},\n\t\t\t});\n\t\texpect(wrapper.find(\"div.finsemble-toolbar-button\").length).to.equal(1);\n\t});\n});\n"]}
@@ -1,3 +1,7 @@
1
+ /*!
2
+ * Copyright 2017 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ */
1
5
  import React, { useState } from "react";
2
6
  import { ResolverDialog } from "./ResolverDialog";
3
7
  export const ResolverContainer = () => {
@@ -17,12 +21,16 @@ export const ResolverContainer = () => {
17
21
  setResolutionList(choices.resolutionList);
18
22
  finsembleWindow.show();
19
23
  };
24
+ // We want to register as an IntentResolverListener, but we only want to register once
25
+ // However, the IntentResovlerListener handler needs to have access to this component's states
26
+ // So, this block will register the listener, and then never be called again
20
27
  if (firstLoad) {
21
28
  setFirstLoad(false);
22
29
  const handleResolverChoices = (choices) => new Promise((resolve, reject) => {
23
30
  handleChoices(choices);
24
31
  setSendCallback(() => (result) => {
25
32
  clearAll();
33
+ // originatingAppName and originatingAppWindow returned to support auto-associate
26
34
  result.originatingAppName = choices.originatingAppName;
27
35
  result.originatingAppWindow = choices.originatingAppWindow;
28
36
  resolve(result);
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverContainer.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,OAA4B,EAAE,EAAE;;QACtD,eAAe,CAAC,MAAA,OAAO,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC;QAClD,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1C,eAAe,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC;IAKF,IAAI,SAAS,EAAE;QACd,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,qBAAqB,GAAG,CAAC,OAA4B,EAAE,EAAE,CAC9D,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,MAA0B,EAAE,EAAE;gBACpD,QAAQ,EAAE,CAAC;gBAEX,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBACvD,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBACX,MAAM,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5F,QAAQ,EAAE,CAAC;KACX;IAED,OAAO,CACN,oBAAC,cAAc,IACd,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,CAAC,QAAa,EAAE,EAAE;YACzB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;YACd,cAAc,EAAE,CAAC;QAClB,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport React, { useState } from \"react\";\nimport { ResolverDialog } from \"./ResolverDialog\";\nimport { ResolutionList } from \"../../types/fdc3\";\nimport { clients } from \"@finsemble/finsemble-api\";\n\ntype ResolverResolution = clients.Interop.types.ResolverResolution;\n\ntype ResolverChoicesType = {\n\tresolutionList: ResolutionList[];\n\toriginatingAppName?: string;\n\toriginatingAppWindow?: string;\n};\n\nexport const ResolverContainer = () => {\n\tconst [firstLoad, setFirstLoad] = useState(true);\n\tconst [intentRaiser, setIntentRaiser] = useState(\"\");\n\tconst [sendCallback, setSendCallback] = useState<any>(() => () => {});\n\tconst [cancelCallback, setCancelCallback] = useState<any>(() => () => {});\n\tconst [resolutionList, setResolutionList] = useState<ResolutionList[]>([]);\n\n\tconst clearAll = () => {\n\t\tfinsembleWindow.hide();\n\t\tsetIntentRaiser(\"\");\n\t\tsetResolutionList([]);\n\t};\n\tconst handleChoices = (choices: ResolverChoicesType) => {\n\t\tsetIntentRaiser(choices.originatingAppName ?? \"\");\n\t\tsetResolutionList(choices.resolutionList);\n\t\tfinsembleWindow.show();\n\t};\n\n\t// We want to register as an IntentResolverListener, but we only want to register once\n\t// However, the IntentResovlerListener handler needs to have access to this component's states\n\t// So, this block will register the listener, and then never be called again\n\tif (firstLoad) {\n\t\tsetFirstLoad(false);\n\n\t\tconst handleResolverChoices = (choices: ResolverChoicesType) =>\n\t\t\tnew Promise<ResolverResolution>((resolve, reject) => {\n\t\t\t\thandleChoices(choices);\n\t\t\t\tsetSendCallback(() => (result: ResolverResolution) => {\n\t\t\t\t\tclearAll();\n\t\t\t\t\t// originatingAppName and originatingAppWindow returned to support auto-associate\n\t\t\t\t\tresult.originatingAppName = choices.originatingAppName;\n\t\t\t\t\tresult.originatingAppWindow = choices.originatingAppWindow;\n\t\t\t\t\tresolve(result);\n\t\t\t\t});\n\t\t\t\tsetCancelCallback(() => () => {\n\t\t\t\t\tclearAll();\n\t\t\t\t\treject({ err: \"Cancelled by user\" });\n\t\t\t\t});\n\t\t\t});\n\n\t\tFSBL.internal.interopAdmin.registerUIResolverListener(handleResolverChoices).then(() => {});\n\t\tclearAll();\n\t}\n\n\treturn (\n\t\t<ResolverDialog\n\t\t\tintentRaiser={intentRaiser}\n\t\t\tresolutionList={resolutionList}\n\t\t\tonSend={(selected: any) => {\n\t\t\t\tsendCallback(selected);\n\t\t\t}}\n\t\t\tonCancel={() => {\n\t\t\t\tcancelCallback();\n\t\t\t}}\n\t\t/>\n\t);\n};\n"]}
1
+ {"version":3,"file":"ResolverContainer.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAM,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,OAA4B,EAAE,EAAE;;QACtD,eAAe,CAAC,MAAA,OAAO,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC;QAClD,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1C,eAAe,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,sFAAsF;IACtF,8FAA8F;IAC9F,4EAA4E;IAC5E,IAAI,SAAS,EAAE;QACd,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,qBAAqB,GAAG,CAAC,OAA4B,EAAE,EAAE,CAC9D,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,MAA0B,EAAE,EAAE;gBACpD,QAAQ,EAAE,CAAC;gBACX,iFAAiF;gBACjF,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBACvD,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBACX,MAAM,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5F,QAAQ,EAAE,CAAC;KACX;IAED,OAAO,CACN,oBAAC,cAAc,IACd,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,CAAC,QAAa,EAAE,EAAE;YACzB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;YACd,cAAc,EAAE,CAAC;QAClB,CAAC,GACA,CACF,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport React, { useState } from \"react\";\nimport { ResolverDialog } from \"./ResolverDialog\";\nimport { ResolutionList } from \"../../types/fdc3\";\nimport { clients } from \"@finsemble/finsemble-api\";\n\ntype ResolverResolution = clients.Interop.types.ResolverResolution;\n\ntype ResolverChoicesType = {\n\tresolutionList: ResolutionList[];\n\toriginatingAppName?: string;\n\toriginatingAppWindow?: string;\n};\n\nexport const ResolverContainer = () => {\n\tconst [firstLoad, setFirstLoad] = useState(true);\n\tconst [intentRaiser, setIntentRaiser] = useState(\"\");\n\tconst [sendCallback, setSendCallback] = useState<any>(() => () => {});\n\tconst [cancelCallback, setCancelCallback] = useState<any>(() => () => {});\n\tconst [resolutionList, setResolutionList] = useState<ResolutionList[]>([]);\n\n\tconst clearAll = () => {\n\t\tfinsembleWindow.hide();\n\t\tsetIntentRaiser(\"\");\n\t\tsetResolutionList([]);\n\t};\n\tconst handleChoices = (choices: ResolverChoicesType) => {\n\t\tsetIntentRaiser(choices.originatingAppName ?? \"\");\n\t\tsetResolutionList(choices.resolutionList);\n\t\tfinsembleWindow.show();\n\t};\n\n\t// We want to register as an IntentResolverListener, but we only want to register once\n\t// However, the IntentResovlerListener handler needs to have access to this component's states\n\t// So, this block will register the listener, and then never be called again\n\tif (firstLoad) {\n\t\tsetFirstLoad(false);\n\n\t\tconst handleResolverChoices = (choices: ResolverChoicesType) =>\n\t\t\tnew Promise<ResolverResolution>((resolve, reject) => {\n\t\t\t\thandleChoices(choices);\n\t\t\t\tsetSendCallback(() => (result: ResolverResolution) => {\n\t\t\t\t\tclearAll();\n\t\t\t\t\t// originatingAppName and originatingAppWindow returned to support auto-associate\n\t\t\t\t\tresult.originatingAppName = choices.originatingAppName;\n\t\t\t\t\tresult.originatingAppWindow = choices.originatingAppWindow;\n\t\t\t\t\tresolve(result);\n\t\t\t\t});\n\t\t\t\tsetCancelCallback(() => () => {\n\t\t\t\t\tclearAll();\n\t\t\t\t\treject({ err: \"Cancelled by user\" });\n\t\t\t\t});\n\t\t\t});\n\n\t\tFSBL.internal.interopAdmin.registerUIResolverListener(handleResolverChoices).then(() => {});\n\t\tclearAll();\n\t}\n\n\treturn (\n\t\t<ResolverDialog\n\t\t\tintentRaiser={intentRaiser}\n\t\t\tresolutionList={resolutionList}\n\t\t\tonSend={(selected: any) => {\n\t\t\t\tsendCallback(selected);\n\t\t\t}}\n\t\t\tonCancel={() => {\n\t\t\t\tcancelCallback();\n\t\t\t}}\n\t\t/>\n\t);\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  .resolverDialog {
2
- padding: 0px 8px;
2
+ padding: 0 8px;
3
3
  }
4
4
 
5
5
  h2 {
@@ -17,9 +17,11 @@ h2 {
17
17
  .sourceText {
18
18
  font-style: italic;
19
19
  }
20
+
20
21
  .intentText {
21
22
  color: var(--accent-primary);
22
23
  }
24
+
23
25
  .intent {
24
26
  color: var(--accent-positive);
25
27
  }
@@ -27,7 +29,7 @@ h2 {
27
29
  .appListGrid {
28
30
  width: 466px;
29
31
  height: 100px;
30
- padding: 10px 10px 0px 10px;
32
+ padding: 10px 10px 0;
31
33
  margin-bottom: 10px;
32
34
  background-color: var(--core-primary);
33
35
  overflow-y: scroll;
@@ -37,27 +39,32 @@ h2 {
37
39
  width: 464px;
38
40
  height: 100px;
39
41
  margin: 10px 19px 7px 0;
40
- padding: 0px 10px;
42
+ padding: 0 10px;
41
43
  background-color: var(--core-primary);
42
44
  overflow-y: scroll;
43
45
  }
46
+
44
47
  .appSelector ul {
45
48
  padding-left: 2px;
46
49
  }
50
+
47
51
  .appSelector li {
48
52
  list-style-type: none;
49
53
  padding: 8px;
50
54
  padding-left: 15px;
51
55
  margin-left: 5px;
52
56
  }
57
+
53
58
  .appSelector li:hover {
54
59
  border-radius: 17px;
55
60
  background-color: var(--core-primary-3);
56
61
  }
62
+
57
63
  .appSelector li[aria-selected="true"] {
58
64
  border-radius: 17px;
59
65
  background-color: var(--core-primary-3);
60
66
  }
67
+
61
68
  .appSelector.empty {
62
69
  vertical-align: middle;
63
70
  text-align: center;
@@ -70,6 +77,7 @@ h2 {
70
77
  .actionGroupRight {
71
78
  float: right;
72
79
  }
80
+
73
81
  .actionGroupRight button + button {
74
82
  margin-left: 10px;
75
83
  }
@@ -82,20 +90,25 @@ h2 {
82
90
  background-color: var(--core-primary-2);
83
91
  vertical-align: top;
84
92
  }
93
+
85
94
  .appTile:hover {
86
95
  border: 1px solid var(--accent-primary);
87
96
  }
97
+
88
98
  .tileHeader {
89
99
  color: var(--font-color);
90
100
  font-size: 14px;
91
101
  overflow-wrap: break-word;
92
102
  }
103
+
93
104
  .tileNote {
94
105
  font-size: 12px;
95
106
  }
107
+
96
108
  .open-disabled {
97
109
  color: var(--core-primary-5);
98
110
  }
111
+
99
112
  .open-active {
100
113
  color: var(--accent-primary);
101
114
  }
@@ -13,6 +13,11 @@ export const ResolverDialog = ({ intentRaiser, onSend, onCancel, resolutionList
13
13
  const openApps = (((_g = resolutionList[intentNumber]) === null || _g === void 0 ? void 0 : _g.openApps) || []).map((app, key) => {
14
14
  return Object.assign(Object.assign({}, app), { index: key });
15
15
  });
16
+ /**
17
+ * Calculates what text to display in the UX. AppD prefers `title` when available. However, in the future we may
18
+ * expand this to use data that is proprietary to Finsemble, such as the window's current title.
19
+ */
20
+ const displayName = (app) => { var _a, _b; return (_b = (_a = app.meta.title) !== null && _a !== void 0 ? _a : app.meta.name) !== null && _b !== void 0 ? _b : app.meta.appId; };
16
21
  return (React.createElement("div", { className: "resolverDialog" },
17
22
  resolutionList.length > 1 ? (React.createElement(React.Fragment, null,
18
23
  React.createElement("h3", null,
@@ -40,7 +45,7 @@ export const ResolverDialog = ({ intentRaiser, onSend, onCancel, resolutionList
40
45
  "."),
41
46
  React.createElement("p", null, "How do you want to handle this?"))),
42
47
  React.createElement("h2", null, "Open a new app..."),
43
- React.createElement("div", { className: "appListGrid" }, receivingApps.map((app, key) => (React.createElement(Tile, { key: key, text: app.meta.name, callback: () => {
48
+ React.createElement("div", { className: "appListGrid" }, receivingApps.map((app, key) => (React.createElement(Tile, { key: key, text: displayName(app), callback: () => {
44
49
  var _a, _b;
45
50
  onSend({
46
51
  intent: (_b = (_a = resolutionList[intentNumber]) === null || _a === void 0 ? void 0 : _a.intent) === null || _b === void 0 ? void 0 : _b.name,
@@ -59,7 +64,7 @@ export const ResolverDialog = ({ intentRaiser, onSend, onCancel, resolutionList
59
64
  selectedApp: { name: app.meta.name },
60
65
  windowName: app.windowName,
61
66
  });
62
- } }, `${app.index + 1} - ${app.meta.name}`))))))) : (React.createElement(React.Fragment, null)),
67
+ } }, `${app.index + 1} - ${displayName(app)}`))))))) : (React.createElement(React.Fragment, null)),
63
68
  React.createElement("div", { className: "actionGroupRight" },
64
69
  React.createElement(Button, { fashion: "ghost", text: "Cancel", onClick: onCancel }))));
65
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverDialog.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { Button } from \"../common/Button\";\nimport \"./ResolverDialog.css\";\nimport { ResolutionList } from \"../../types/fdc3\";\nimport { FinsembleSelect } from \"../common/FinsembleSelect\";\n\ntype TileProps = {\n\ttext: string;\n\tcallback: () => void;\n};\n\nconst Tile = ({ text, callback }: TileProps) => (\n\t<button className=\"appTile\" onClick={callback} title={text}>\n\t\t<span className=\"tileHeader\">{text}</span>\n\t</button>\n);\n\ntype openApp = {\n\tname: string;\n\tid: string;\n};\nexport type ReceivingAppType = {\n\tname: string;\n\topen: openApp[];\n};\nexport type ResolverProps = {\n\tintentRaiser: string;\n\tonSend: any;\n\tonCancel: any;\n\tresolutionList?: ResolutionList[];\n};\n\nexport const ResolverDialog = ({ intentRaiser, onSend, onCancel, resolutionList = [] }: ResolverProps) => {\n\tconst [intentNumber, setIntentNumber] = useState(0);\n\tconst intent = resolutionList[intentNumber]?.intent?.displayName || \"\";\n\tconst contextType = resolutionList[intentNumber]?.context?.type ?? \"data\";\n\tconst receivingApps = resolutionList[intentNumber]?.launchableApps || [];\n\tconst openApps = (resolutionList[intentNumber]?.openApps || []).map((app, key) => {\n\t\treturn {\n\t\t\t...app,\n\t\t\tindex: key,\n\t\t};\n\t});\n\n\treturn (\n\t\t<div className=\"resolverDialog\">\n\t\t\t{resolutionList.length > 1 ? (\n\t\t\t\t<>\n\t\t\t\t\t<h3>\n\t\t\t\t\t\t<span className=\"sourceText\">{intentRaiser}</span> wants to send{\" \"}\n\t\t\t\t\t\t<span className=\"intentText\">&quot;{contextType}&quot;</span> to another app.\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>How do you want to handle this?</p>\n\n\t\t\t\t\t<h2>Choose an action:</h2>\n\n\t\t\t\t\t<FinsembleSelect\n\t\t\t\t\t\tselected={[`${intentNumber}`]}\n\t\t\t\t\t\toptions={resolutionList.map((item) => item.intent?.displayName || \"\")}\n\t\t\t\t\t\tvalues={resolutionList.map((item, key) => `${key}`)}\n\t\t\t\t\t\tupdateCallback={(values: string[]) => {\n\t\t\t\t\t\t\tsetIntentNumber(+values[0]);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={Math.min(resolutionList.length, 5)}\n\t\t\t\t\t\tlimit={1}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<h3>\n\t\t\t\t\t\t<span className=\"sourceText\">{intentRaiser}</span> wants to{\" \"}\n\t\t\t\t\t\t<span className=\"intentText\">&quot;{intent}&quot;</span>.\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>How do you want to handle this?</p>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<h2>Open a new app...</h2>\n\n\t\t\t<div className=\"appListGrid\">\n\t\t\t\t{receivingApps.map((app, key) => (\n\t\t\t\t\t<Tile\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\ttext={app.meta.name}\n\t\t\t\t\t\tcallback={() => {\n\t\t\t\t\t\t\tonSend({\n\t\t\t\t\t\t\t\tintent: resolutionList[intentNumber]?.intent?.name,\n\t\t\t\t\t\t\t\tselectedApp: {\n\t\t\t\t\t\t\t\t\tappId: app.appId,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t{openApps.length ? (\n\t\t\t\t<>\n\t\t\t\t\t<h2>...or, send to a running app</h2>\n\n\t\t\t\t\t<div className=\"appSelector\">\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t{openApps.map((app, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tonSend({\n\t\t\t\t\t\t\t\t\t\t\tintent: resolutionList[intentNumber]?.intent?.name,\n\t\t\t\t\t\t\t\t\t\t\tselectedApp: { name: app.meta.name },\n\t\t\t\t\t\t\t\t\t\t\twindowName: app.windowName,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{`${app.index + 1} - ${app.meta.name}`}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<></>\n\t\t\t)}\n\n\t\t\t<div className=\"actionGroupRight\">\n\t\t\t\t<Button fashion=\"ghost\" text=\"Cancel\" onClick={onCancel} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"ResolverDialog.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { Button } from \"../common/Button\";\nimport \"./ResolverDialog.css\";\nimport { ResolutionCandidate, ResolutionList } from \"../../types/fdc3\";\nimport { FinsembleSelect } from \"../common/FinsembleSelect\";\n\ntype TileProps = {\n\ttext: string;\n\tcallback: () => void;\n};\n\nconst Tile = ({ text, callback }: TileProps) => (\n\t<button className=\"appTile\" onClick={callback} title={text}>\n\t\t<span className=\"tileHeader\">{text}</span>\n\t</button>\n);\n\ntype openApp = {\n\tname: string;\n\tid: string;\n};\nexport type ReceivingAppType = {\n\tname: string;\n\topen: openApp[];\n};\nexport type ResolverProps = {\n\tintentRaiser: string;\n\tonSend: any;\n\tonCancel: any;\n\tresolutionList?: ResolutionList[];\n};\n\nexport const ResolverDialog = ({ intentRaiser, onSend, onCancel, resolutionList = [] }: ResolverProps) => {\n\tconst [intentNumber, setIntentNumber] = useState(0);\n\tconst intent = resolutionList[intentNumber]?.intent?.displayName || \"\";\n\tconst contextType = resolutionList[intentNumber]?.context?.type ?? \"data\";\n\tconst receivingApps = resolutionList[intentNumber]?.launchableApps || [];\n\tconst openApps = (resolutionList[intentNumber]?.openApps || []).map((app, key) => {\n\t\treturn {\n\t\t\t...app,\n\t\t\tindex: key,\n\t\t};\n\t});\n\n\t/**\n\t * Calculates what text to display in the UX. AppD prefers `title` when available. However, in the future we may\n\t * expand this to use data that is proprietary to Finsemble, such as the window's current title.\n\t */\n\tconst displayName = (app: ResolutionCandidate): string => app.meta.title ?? app.meta.name ?? app.meta.appId;\n\n\treturn (\n\t\t<div className=\"resolverDialog\">\n\t\t\t{resolutionList.length > 1 ? (\n\t\t\t\t<>\n\t\t\t\t\t<h3>\n\t\t\t\t\t\t<span className=\"sourceText\">{intentRaiser}</span> wants to send{\" \"}\n\t\t\t\t\t\t<span className=\"intentText\">&quot;{contextType}&quot;</span> to another app.\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>How do you want to handle this?</p>\n\n\t\t\t\t\t<h2>Choose an action:</h2>\n\n\t\t\t\t\t<FinsembleSelect\n\t\t\t\t\t\tselected={[`${intentNumber}`]}\n\t\t\t\t\t\toptions={resolutionList.map((item) => item.intent?.displayName || \"\")}\n\t\t\t\t\t\tvalues={resolutionList.map((item, key) => `${key}`)}\n\t\t\t\t\t\tupdateCallback={(values: string[]) => {\n\t\t\t\t\t\t\tsetIntentNumber(+values[0]);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize={Math.min(resolutionList.length, 5)}\n\t\t\t\t\t\tlimit={1}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<h3>\n\t\t\t\t\t\t<span className=\"sourceText\">{intentRaiser}</span> wants to{\" \"}\n\t\t\t\t\t\t<span className=\"intentText\">&quot;{intent}&quot;</span>.\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>How do you want to handle this?</p>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<h2>Open a new app...</h2>\n\n\t\t\t<div className=\"appListGrid\">\n\t\t\t\t{receivingApps.map((app, key) => (\n\t\t\t\t\t<Tile\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\ttext={displayName(app)}\n\t\t\t\t\t\tcallback={() => {\n\t\t\t\t\t\t\tonSend({\n\t\t\t\t\t\t\t\tintent: resolutionList[intentNumber]?.intent?.name,\n\t\t\t\t\t\t\t\tselectedApp: {\n\t\t\t\t\t\t\t\t\tappId: app.appId,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t{openApps.length ? (\n\t\t\t\t<>\n\t\t\t\t\t<h2>...or, send to a running app</h2>\n\n\t\t\t\t\t<div className=\"appSelector\">\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t{openApps.map((app, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tonSend({\n\t\t\t\t\t\t\t\t\t\t\tintent: resolutionList[intentNumber]?.intent?.name,\n\t\t\t\t\t\t\t\t\t\t\tselectedApp: { name: app.meta.name },\n\t\t\t\t\t\t\t\t\t\t\twindowName: app.windowName,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{`${app.index + 1} - ${displayName(app)}`}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<></>\n\t\t\t)}\n\n\t\t\t<div className=\"actionGroupRight\">\n\t\t\t\t<Button fashion=\"ghost\" text=\"Cancel\" onClick={onCancel} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
@@ -5,6 +5,7 @@ import { expect } from "chai";
5
5
  import sinon from "sinon";
6
6
  import { Short } from "./ResolverDialog.stories";
7
7
  import { accessibilityAssessor } from "../sdd/tests/a11y_helper";
8
+ // Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)
8
9
  import addons, { mockChannel } from "@storybook/addons";
9
10
  addons.setChannel(mockChannel());
10
11
  describe("Resolver UI", () => {
@@ -18,10 +19,10 @@ describe("Resolver UI", () => {
18
19
  it("should fill in data as expected", () => {
19
20
  const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
20
21
  expect(wrapper.find(".appTile").length, "Only show 2 tiles").to.equal(2);
21
- expect(wrapper.find(".appTile").at(0).find(".tileHeader").text(), "First tile says Chart").to.equal("Chart");
22
+ expect(wrapper.find(".appTile").at(0).find(".tileHeader").text(), "First tile says Chart Title").to.equal("Chart Title");
22
23
  expect(wrapper.find(".appTile").at(1).find(".tileHeader").text(), "Second tile says Grid").to.equal("Grid");
23
24
  expect(wrapper.find(".appSelector li").length, "App list should have 2 items").to.equal(2);
24
- expect(wrapper.find(".appSelector li").at(0).text(), "First app list item should say Chart #1").to.equal("1 - Chart");
25
+ expect(wrapper.find(".appSelector li").at(0).text(), "First app list item should say Chart Title #1").to.equal("1 - Chart Title");
25
26
  });
26
27
  it("should include info in the Send payload - selecting new item", () => {
27
28
  const buttonSpy = sinon.spy(Short.args, "onSend");
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverDialog.spec.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { afterEach, describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { ResolverProps } from \"./ResolverDialog\";\nimport { Short } from \"./ResolverDialog.stories\";\nimport { accessibilityAssessor } from \"../sdd/tests/a11y_helper\";\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(\"Resolver UI\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should fill in data as expected\", () => {\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\texpect(wrapper.find(\".appTile\").length, \"Only show 2 tiles\").to.equal(2);\n\t\texpect(wrapper.find(\".appTile\").at(0).find(\".tileHeader\").text(), \"First tile says Chart\").to.equal(\"Chart\");\n\t\texpect(wrapper.find(\".appTile\").at(1).find(\".tileHeader\").text(), \"Second tile says Grid\").to.equal(\"Grid\");\n\t\texpect(wrapper.find(\".appSelector li\").length, \"App list should have 2 items\").to.equal(2);\n\t\texpect(wrapper.find(\".appSelector li\").at(0).text(), \"First app list item should say Chart #1\").to.equal(\n\t\t\t\"1 - Chart\"\n\t\t);\n\t});\n\n\tit(\"should include info in the Send payload - selecting new item\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\twrapper.find(\".appTile\").at(0).simulate(\"click\");\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\n\t\texpect(args[0].selectedApp.appId, \"Provides name = Chart\").to.equal(\"Chart\");\n\t});\n\n\tit(\"should include the selected items in the Send payload\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\twrapper.find(\".appSelector li\").at(0).simulate(\"click\");\n\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\n\t\texpect(args[0].windowName, \"The name of the provided window was 'Chart-1-'Finsemble'\").to.equal(\n\t\t\t\"Chart-1-Finsemble\"\n\t\t);\n\t});\n\n\tit(\"should call the cancel function if the Cancel button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onCancel\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\t\twrapper.find(\".button-container-ghost button\").simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t});\n});\n"]}
1
+ {"version":3,"file":"ResolverDialog.spec.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { afterEach, describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { ResolverProps } from \"./ResolverDialog\";\nimport { Short } from \"./ResolverDialog.stories\";\nimport { accessibilityAssessor } from \"../sdd/tests/a11y_helper\";\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(\"Resolver UI\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should fill in data as expected\", () => {\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\texpect(wrapper.find(\".appTile\").length, \"Only show 2 tiles\").to.equal(2);\n\t\texpect(wrapper.find(\".appTile\").at(0).find(\".tileHeader\").text(), \"First tile says Chart Title\").to.equal(\n\t\t\t\"Chart Title\"\n\t\t);\n\t\texpect(wrapper.find(\".appTile\").at(1).find(\".tileHeader\").text(), \"Second tile says Grid\").to.equal(\"Grid\");\n\t\texpect(wrapper.find(\".appSelector li\").length, \"App list should have 2 items\").to.equal(2);\n\t\texpect(wrapper.find(\".appSelector li\").at(0).text(), \"First app list item should say Chart Title #1\").to.equal(\n\t\t\t\"1 - Chart Title\"\n\t\t);\n\t});\n\n\tit(\"should include info in the Send payload - selecting new item\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\twrapper.find(\".appTile\").at(0).simulate(\"click\");\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\n\t\texpect(args[0].selectedApp.appId, \"Provides name = Chart\").to.equal(\"Chart\");\n\t});\n\n\tit(\"should include the selected items in the Send payload\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\n\t\twrapper.find(\".appSelector li\").at(0).simulate(\"click\");\n\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\n\t\texpect(args[0].windowName, \"The name of the provided window was 'Chart-1-'Finsemble'\").to.equal(\n\t\t\t\"Chart-1-Finsemble\"\n\t\t);\n\t});\n\n\tit(\"should call the cancel function if the Cancel button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onCancel\");\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\n\t\twrapper.find(\".button-container-ghost button\").simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\n\t});\n});\n"]}
@@ -20,6 +20,7 @@ Short.args = {
20
20
  meta: {
21
21
  appId: "Chart",
22
22
  name: "Chart",
23
+ title: "Chart Title",
23
24
  },
24
25
  appId: "Chart",
25
26
  },
@@ -36,6 +37,7 @@ Short.args = {
36
37
  windowName: "Chart-1-Finsemble",
37
38
  meta: {
38
39
  name: "Chart",
40
+ title: "Chart Title",
39
41
  },
40
42
  appId: "Chart",
41
43
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverDialog.stories.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ResolverDialog, ResolverProps } from \"./ResolverDialog\";\nimport \"../../assets/css/finsemble.css\";\nimport \"../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { action } from \"@storybook/addon-actions\";\n\nexport default {\n\ttitle: \"FDC3/ResolverDialog\",\n\tcomponent: ResolverDialog,\n};\n\nconst Template: Story<ResolverProps> = (args: ResolverProps) => <ResolverDialog {...args} />;\n\nexport const Short = Template.bind({});\nShort.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Chart-1-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Grid-1-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const LongNames = Template.bind({});\nLongNames.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"abc\",\n\t\t\t\t\t\tname: \"jacuzzi\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"abc\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"def\",\n\t\t\t\t\t\tname: \"blizzard\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"def\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"ghi\",\n\t\t\t\t\t\tname: \"quizzical\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"ghi\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"jkl\",\n\t\t\t\t\t\tname: \"puzzlement\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"jkl\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const MultiIntent = Template.bind({});\nMultiIntent.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Grid-7-9140-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewNews\",\n\t\t\t\tdisplayName: \"View news\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View chart\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChartStudy\",\n\t\t\t\tdisplayName: \"View chart study\",\n\t\t\t},\n\t\t},\n\t],\n};\n"]}
1
+ {"version":3,"file":"ResolverDialog.stories.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ResolverDialog, ResolverProps } from \"./ResolverDialog\";\nimport \"../../assets/css/finsemble.css\";\nimport \"../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { action } from \"@storybook/addon-actions\";\n\nexport default {\n\ttitle: \"FDC3/ResolverDialog\",\n\tcomponent: ResolverDialog,\n};\n\nconst Template: Story<ResolverProps> = (args: ResolverProps) => <ResolverDialog {...args} />;\n\nexport const Short = Template.bind({});\nShort.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t\ttitle: \"Chart Title\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Chart-1-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t\ttitle: \"Chart Title\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Grid-1-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const LongNames = Template.bind({});\nLongNames.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"abc\",\n\t\t\t\t\t\tname: \"jacuzzi\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"abc\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"def\",\n\t\t\t\t\t\tname: \"blizzard\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"def\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"ghi\",\n\t\t\t\t\t\tname: \"quizzical\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"ghi\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"jkl\",\n\t\t\t\t\t\tname: \"puzzlement\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"jkl\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View Chart\",\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const MultiIntent = Template.bind({});\nMultiIntent.args = {\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\n\tonSend: action(\"sent\"),\n\tonCancel: action(\"cancel\"),\n\tresolutionList: [\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [\n\t\t\t\t{\n\t\t\t\t\twindowName: \"Grid-7-9140-Finsemble\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tname: \"Grid\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Grid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewNews\",\n\t\t\t\tdisplayName: \"View news\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChart\",\n\t\t\t\tdisplayName: \"View chart\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlaunchableApps: [\n\t\t\t\t{\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t\t\tname: \"Chart\",\n\t\t\t\t\t},\n\t\t\t\t\tappId: \"Chart\",\n\t\t\t\t},\n\t\t\t],\n\t\t\topenApps: [],\n\t\t\tintent: {\n\t\t\t\tname: \"ViewChartStudy\",\n\t\t\t\tdisplayName: \"View chart study\",\n\t\t\t},\n\t\t},\n\t],\n};\n"]}