@finsemble/finsemble-ui 6.2.0 → 6.3.0-beta.20211008

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 (705) hide show
  1. package/package.json +17 -16
  2. package/react/actions/smartDesktopDesignerActions.d.ts +7 -8
  3. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  4. package/react/actions/toolbarActions.d.ts +2 -3
  5. package/react/actions/toolbarActions.js.map +1 -1
  6. package/react/assets/css/notificationsCenter.css +4 -2
  7. package/react/assets/css/userPreferences.css +1 -0
  8. package/react/assets/css/windowTitleBar.css +33 -1
  9. package/react/components/FinsembleProvider.js +1 -1
  10. package/react/components/FinsembleProvider.js.map +1 -1
  11. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  12. package/react/components/appCatalog/components/AppList.d.ts +7 -1
  13. package/react/components/appCatalog/components/AppList.js +1 -1
  14. package/react/components/appCatalog/components/AppList.js.map +1 -1
  15. package/react/components/appCatalog/components/AppResults.d.ts +10 -8
  16. package/react/components/appCatalog/components/AppResults.js +1 -1
  17. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  18. package/react/components/appCatalog/components/Carousel.js +1 -1
  19. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  20. package/react/components/appCatalog/components/EmptyResults.d.ts +2 -1
  21. package/react/components/appCatalog/components/EmptyResults.js +2 -4
  22. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  23. package/react/components/appCatalog/components/Hero.d.ts +24 -4
  24. package/react/components/appCatalog/components/Hero.js +2 -1
  25. package/react/components/appCatalog/components/Hero.js.map +1 -1
  26. package/react/components/appCatalog/components/Home.d.ts +18 -4
  27. package/react/components/appCatalog/components/Home.js.map +1 -1
  28. package/react/components/appCatalog/components/SearchBar.d.ts +20 -7
  29. package/react/components/appCatalog/components/SearchBar.js +4 -7
  30. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  31. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -3
  32. package/react/components/appCatalog/components/Showcase/AppDescription.js +4 -6
  33. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  34. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +5 -4
  35. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  36. package/react/components/appCatalog/components/Showcase/AppShowcase.js +1 -1
  37. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  38. package/react/components/appCatalog/components/Showcase/Header.d.ts +13 -5
  39. package/react/components/appCatalog/components/Showcase/Header.js +2 -2
  40. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  41. package/react/components/appCatalog/components/Showcase/Modal.d.ts +7 -4
  42. package/react/components/appCatalog/components/Showcase/Modal.js +6 -6
  43. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  44. package/react/components/appCatalog/components/Showcase/defaults.d.ts +3 -3
  45. package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
  46. package/react/components/appCatalog/components/Tag.d.ts +6 -4
  47. package/react/components/appCatalog/components/Tag.js.map +1 -1
  48. package/react/components/appCatalog/components/Toast.d.ts +5 -3
  49. package/react/components/appCatalog/components/Toast.js +5 -4
  50. package/react/components/appCatalog/components/Toast.js.map +1 -1
  51. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -1
  52. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  53. package/react/components/appCatalog/modules/FDC3.d.ts +12 -11
  54. package/react/components/appCatalog/modules/FDC3.js +20 -18
  55. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  56. package/react/components/appCatalog/stores/appStore.d.ts +9 -2
  57. package/react/components/appCatalog/stores/appStore.js +10 -4
  58. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  59. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  60. package/react/components/common/Button.d.ts +4 -4
  61. package/react/components/common/Button.js +1 -1
  62. package/react/components/common/Button.js.map +1 -1
  63. package/react/components/common/ButtonIcon.js +1 -1
  64. package/react/components/common/ButtonIcon.js.map +1 -1
  65. package/react/components/common/ColorPicker.js +1 -1
  66. package/react/components/common/ColorPicker.js.map +1 -1
  67. package/react/components/common/DropZone.d.ts +0 -5
  68. package/react/components/common/DropZone.js.map +1 -1
  69. package/react/components/common/DropdownButton.js +1 -1
  70. package/react/components/common/DropdownButton.js.map +1 -1
  71. package/react/components/common/FileInput.d.ts +0 -5
  72. package/react/components/common/FileInput.js +7 -9
  73. package/react/components/common/FileInput.js.map +1 -1
  74. package/react/components/common/FinsembleIcon.d.ts +2 -2
  75. package/react/components/common/FinsembleIcon.js.map +1 -1
  76. package/react/components/common/FinsembleSelect.js +2 -5
  77. package/react/components/common/FinsembleSelect.js.map +1 -1
  78. package/react/components/common/FinsembleToggle.js +2 -2
  79. package/react/components/common/FinsembleToggle.js.map +1 -1
  80. package/react/components/common/FontSizeSelector.js +2 -2
  81. package/react/components/common/FontSizeSelector.js.map +1 -1
  82. package/react/components/common/ImagePreview.js +2 -2
  83. package/react/components/common/ImagePreview.js.map +1 -1
  84. package/react/components/common/Tab.js +2 -1
  85. package/react/components/common/Tab.js.map +1 -1
  86. package/react/components/common/file_helpers.js +3 -2
  87. package/react/components/common/file_helpers.js.map +1 -1
  88. package/react/components/common/helpers.js +8 -10
  89. package/react/components/common/helpers.js.map +1 -1
  90. package/react/components/common/stories/Button.stories.js +1 -1
  91. package/react/components/common/stories/Button.stories.js.map +1 -1
  92. package/react/components/common/stories/ButtonIcon.stories.js +1 -1
  93. package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
  94. package/react/components/common/stories/ButtonRow.stories.js +2 -2
  95. package/react/components/common/stories/ButtonRow.stories.js.map +1 -1
  96. package/react/components/common/stories/ButtonTile.stories.js +1 -1
  97. package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
  98. package/react/components/common/stories/Checkbox.stories.js +1 -1
  99. package/react/components/common/stories/Checkbox.stories.js.map +1 -1
  100. package/react/components/common/stories/ColorPicker.stories.js +1 -1
  101. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  102. package/react/components/common/stories/DropZone.stories.js +1 -1
  103. package/react/components/common/stories/DropZone.stories.js.map +1 -1
  104. package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
  105. package/react/components/common/stories/FinsembleSelect.stories.js +1 -1
  106. package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
  107. package/react/components/common/stories/FinsembleToggle.stories.js +3 -1
  108. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  109. package/react/components/common/stories/FontSizeSelector.stories.js +1 -1
  110. package/react/components/common/stories/FontSizeSelector.stories.js.map +1 -1
  111. package/react/components/common/stories/Header.stories.js +1 -1
  112. package/react/components/common/stories/Header.stories.js.map +1 -1
  113. package/react/components/common/tests/Checkbox.spec.js +4 -4
  114. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  115. package/react/components/common/tests/ColorPicker.spec.js +6 -6
  116. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  117. package/react/components/common/tests/DropZone.spec.js +4 -4
  118. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  119. package/react/components/common/tests/FileInput.spec.js +5 -5
  120. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  121. package/react/components/common/tests/FinsembleSelect.spec.js +12 -11
  122. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  123. package/react/components/common/tests/FinsembleToggle.spec.js +8 -2
  124. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  125. package/react/components/common/tests/Header.spec.js +3 -3
  126. package/react/components/common/tests/Header.spec.js.map +1 -1
  127. package/react/components/common/tests/ImagePreview.spec.js +8 -8
  128. package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
  129. package/react/components/common/tests/Tab.spec.js +3 -3
  130. package/react/components/common/tests/Tab.spec.js.map +1 -1
  131. package/react/components/common/tests/Tooltip.spec.js +5 -5
  132. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  133. package/react/components/favorites/FavoriteMaker.d.ts +0 -5
  134. package/react/components/favorites/FavoriteMaker.js +1 -1
  135. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  136. package/react/components/favorites/FavoritesShell.js +1 -1
  137. package/react/components/favorites/FavoritesShell.js.map +1 -1
  138. package/react/components/favorites/FavoritesShell.spec.js +7 -7
  139. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  140. package/react/components/favorites/FavoritesShell.stories.js +5 -4
  141. package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
  142. package/react/components/fdc3Resolver/ResolverContainer.js +2 -1
  143. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  144. package/react/components/fdc3Resolver/ResolverDialog.js +13 -13
  145. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  146. package/react/components/fdc3Resolver/ResolverDialog.spec.js +5 -5
  147. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  148. package/react/components/fdc3Resolver/ResolverDialog.stories.js +1 -1
  149. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  150. package/react/components/icon/Icon.js +5 -4
  151. package/react/components/icon/Icon.js.map +1 -1
  152. package/react/components/legacyControls/FinsembleDialogButton.d.ts +1 -1
  153. package/react/components/legacyControls/FinsembleDialogButton.js +4 -3
  154. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  155. package/react/components/legacyControls/FinsembleDialogQuestion.js +2 -1
  156. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  157. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +1 -1
  158. package/react/components/legacyControls/FinsembleDialogTextInput.js +8 -5
  159. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  160. package/react/components/legacyControls/FinsembleDnDContext.js +18 -17
  161. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  162. package/react/components/legacyControls/FinsembleDraggable.js +3 -3
  163. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  164. package/react/components/legacyControls/FinsembleHoverDetector.js +2 -1
  165. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  166. package/react/components/legacyControls/FinsembleMenuSection.js +6 -3
  167. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  168. package/react/components/legacyControls/stories/FinsembleDialog.stories.js +1 -1
  169. package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
  170. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js +1 -1
  171. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
  172. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js +1 -1
  173. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
  174. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js +1 -1
  175. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
  176. package/react/components/legacyControls/tests/FinsembleDialog.spec.js +1 -1
  177. package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
  178. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +8 -7
  179. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  180. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js +7 -5
  181. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
  182. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +13 -12
  183. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  184. package/react/components/linker/LinkerMenu.js +4 -3
  185. package/react/components/linker/LinkerMenu.js.map +1 -1
  186. package/react/components/linker/LinkerMenuDeprecated.js +1 -1
  187. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  188. package/react/components/linker/remoteRedux.d.ts +10 -42
  189. package/react/components/linker/remoteRedux.js.map +1 -1
  190. package/react/components/menu/Menu.d.ts +1 -1
  191. package/react/components/menu/Menu.js +1 -1
  192. package/react/components/menu/Menu.js.map +1 -1
  193. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  194. package/react/components/menu/MenuPortal.js +7 -6
  195. package/react/components/menu/MenuPortal.js.map +1 -1
  196. package/react/components/menu/keyboardNavigation.js +14 -15
  197. package/react/components/menu/keyboardNavigation.js.map +1 -1
  198. package/react/components/notifications/components/NoNotifications.js +2 -4
  199. package/react/components/notifications/components/NoNotifications.js.map +1 -1
  200. package/react/components/notifications/components/drawer/Drawer.js +2 -4
  201. package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
  202. package/react/components/notifications/components/drawer/DrawerControls.js +2 -4
  203. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  204. package/react/components/notifications/components/drawer/DrawerHeader.js +1 -4
  205. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  206. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +28 -43
  207. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  208. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +10 -9
  209. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  210. package/react/components/notifications/components/shared/CheckButton.d.ts +2 -2
  211. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  212. package/react/components/notifications/components/shared/IconButton.js +3 -5
  213. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  214. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +3 -2
  215. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  216. package/react/components/notifications/components/shared/OverflowMenu.d.ts +2 -1
  217. package/react/components/notifications/components/shared/OverflowMenu.js +6 -5
  218. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  219. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +3 -2
  220. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js +1 -1
  221. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  222. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +3 -2
  223. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  224. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +3 -2
  225. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +2 -4
  226. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  227. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +3 -2
  228. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  229. package/react/components/notifications/components/views/CardView.js +15 -24
  230. package/react/components/notifications/components/views/CardView.js.map +1 -1
  231. package/react/components/notifications/components/views/ListView.d.ts +2 -2
  232. package/react/components/notifications/components/views/ListView.js +9 -9
  233. package/react/components/notifications/components/views/ListView.js.map +1 -1
  234. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +2 -2
  235. package/react/components/notifications/components/views/NotificationDetailsView.js +2 -6
  236. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  237. package/react/components/notifications/types.d.ts +7 -6
  238. package/react/components/notifications/types.js.map +1 -1
  239. package/react/components/notifications/utils.d.ts +6 -4
  240. package/react/components/notifications/utils.js +26 -32
  241. package/react/components/notifications/utils.js.map +1 -1
  242. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -1
  243. package/react/components/processMonitor/ProcessMonitor.js +17 -10
  244. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  245. package/react/components/processMonitor/ProcessMonitorTypes.d.ts +33 -0
  246. package/react/components/processMonitor/ProcessMonitorTypes.js +6 -0
  247. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -0
  248. package/react/components/processMonitor/components/ChildWindow.d.ts +10 -3
  249. package/react/components/processMonitor/components/ChildWindow.js +19 -10
  250. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  251. package/react/components/processMonitor/components/ListHeader.d.ts +17 -4
  252. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  253. package/react/components/processMonitor/components/ProcessStatistics.d.ts +11 -3
  254. package/react/components/processMonitor/components/ProcessStatistics.js +25 -18
  255. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  256. package/react/components/processMonitor/constants.d.ts +11 -16
  257. package/react/components/processMonitor/constants.js +3 -1
  258. package/react/components/processMonitor/constants.js.map +1 -1
  259. package/react/components/processMonitor/helpers.d.ts +25 -5
  260. package/react/components/processMonitor/helpers.js +28 -20
  261. package/react/components/processMonitor/helpers.js.map +1 -1
  262. package/react/components/processMonitor/helpers.spec.d.ts +1 -0
  263. package/react/components/processMonitor/helpers.spec.js +44 -0
  264. package/react/components/processMonitor/helpers.spec.js.map +1 -0
  265. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +30 -15
  266. package/react/components/processMonitor/stores/ProcessMonitorStore.js +101 -86
  267. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  268. package/react/components/quickComponentForm/QuickComponentForm.d.ts +4 -1
  269. package/react/components/quickComponentForm/QuickComponentForm.js +13 -14
  270. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  271. package/react/components/search/Highlight.js +2 -2
  272. package/react/components/search/Highlight.js.map +1 -1
  273. package/react/components/search/Highlight.spec.js +3 -3
  274. package/react/components/search/Highlight.spec.js.map +1 -1
  275. package/react/components/search/Highlight.stories.js +1 -1
  276. package/react/components/search/Highlight.stories.js.map +1 -1
  277. package/react/components/search/Search.js +17 -8
  278. package/react/components/search/Search.js.map +1 -1
  279. package/react/components/search/SearchBestMatch.js +2 -1
  280. package/react/components/search/SearchBestMatch.js.map +1 -1
  281. package/react/components/search/SearchProviderResults.js +4 -5
  282. package/react/components/search/SearchProviderResults.js.map +1 -1
  283. package/react/components/search/SearchResult.js +3 -2
  284. package/react/components/search/SearchResult.js.map +1 -1
  285. package/react/components/search/SearchResults.js +1 -1
  286. package/react/components/search/SearchResults.js.map +1 -1
  287. package/react/components/shared/Button.js +2 -4
  288. package/react/components/shared/Button.js.map +1 -1
  289. package/react/components/shared/DefaultDropdownButton.js +1 -1
  290. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  291. package/react/components/shared/NavigationButton.js +9 -11
  292. package/react/components/shared/NavigationButton.js.map +1 -1
  293. package/react/components/shared/Tag.d.ts +11 -1
  294. package/react/components/shared/Tag.js.map +1 -1
  295. package/react/components/shared/TagsMenu.d.ts +26 -6
  296. package/react/components/shared/TagsMenu.js.map +1 -1
  297. package/react/components/shared/linkerUtil.d.ts +3 -1
  298. package/react/components/shared/linkerUtil.js.map +1 -1
  299. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  300. package/react/components/singleInputDialog/SingleInputDialog.spec.js +6 -6
  301. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
  302. package/react/components/singleInputDialog/SingleInputDialog.stories.js +1 -1
  303. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  304. package/react/components/smartDesktopDesigner/AppEditAccess.d.ts +1 -1
  305. package/react/components/smartDesktopDesigner/AppEditAccess.js +17 -34
  306. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
  307. package/react/components/smartDesktopDesigner/AppEditPage.d.ts +4 -4
  308. package/react/components/smartDesktopDesigner/AppEditPage.js +2 -2
  309. package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
  310. package/react/components/smartDesktopDesigner/Appearance.js +3 -5
  311. package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
  312. package/react/components/smartDesktopDesigner/Application.d.ts +4 -4
  313. package/react/components/smartDesktopDesigner/Application.js +84 -92
  314. package/react/components/smartDesktopDesigner/Application.js.map +1 -1
  315. package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +1 -1
  316. package/react/components/smartDesktopDesigner/ApplicationEdit.js +68 -51
  317. package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +1 -1
  318. package/react/components/smartDesktopDesigner/ApplicationList.d.ts +4 -2
  319. package/react/components/smartDesktopDesigner/ApplicationList.js +23 -20
  320. package/react/components/smartDesktopDesigner/ApplicationList.js.map +1 -1
  321. package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +4 -3
  322. package/react/components/smartDesktopDesigner/ApplicationSetup.js +8 -20
  323. package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +1 -1
  324. package/react/components/smartDesktopDesigner/Applications.d.ts +0 -1
  325. package/react/components/smartDesktopDesigner/Applications.js +73 -62
  326. package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
  327. package/react/components/smartDesktopDesigner/Authentication.js +2 -8
  328. package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
  329. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -8
  330. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
  331. package/react/components/smartDesktopDesigner/Content.js.map +1 -1
  332. package/react/components/smartDesktopDesigner/CurrentView.js +1 -1
  333. package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
  334. package/react/components/smartDesktopDesigner/Export.js +3 -3
  335. package/react/components/smartDesktopDesigner/Export.js.map +1 -1
  336. package/react/components/smartDesktopDesigner/ExportCloud.js +1 -1
  337. package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
  338. package/react/components/smartDesktopDesigner/ExportDeployInfo.js +1 -1
  339. package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
  340. package/react/components/smartDesktopDesigner/ExportZip.js +0 -1
  341. package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
  342. package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -1
  343. package/react/components/smartDesktopDesigner/GettingStarted.js +1 -1
  344. package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
  345. package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +1 -1
  346. package/react/components/smartDesktopDesigner/ProjectHeader.js +1 -1
  347. package/react/components/smartDesktopDesigner/ProjectHeader.js.map +1 -1
  348. package/react/components/smartDesktopDesigner/Publish.js +1 -1
  349. package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
  350. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -11
  351. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +11 -24
  352. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  353. package/react/components/smartDesktopDesigner/Themes.js +2 -8
  354. package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
  355. package/react/components/smartDesktopDesigner/View.js.map +1 -1
  356. package/react/components/smartDesktopDesigner/common/getCSSVars.d.ts +1 -1
  357. package/react/components/smartDesktopDesigner/common/getCSSVars.js +2 -1
  358. package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
  359. package/react/components/smartDesktopDesigner/common/views.d.ts +1 -1
  360. package/react/components/smartDesktopDesigner/common/views.js +4 -14
  361. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  362. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +4 -4
  363. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +1 -1
  364. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +2 -2
  365. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +1 -1
  366. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js +2 -3
  367. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js.map +1 -1
  368. package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +4 -70
  369. package/react/components/smartDesktopDesigner/fixtures/apps.js +9 -20
  370. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
  371. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
  372. package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +2 -1
  373. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
  374. package/react/components/smartDesktopDesigner/fixtures/views.js +4 -4
  375. package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
  376. package/react/components/smartDesktopDesigner/sdd_helpers.js +2 -1
  377. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
  378. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -4
  379. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +8 -8
  380. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
  381. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js +7 -7
  382. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
  383. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +3 -7
  384. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +1 -1
  385. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js +9 -2
  386. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +1 -1
  387. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +3 -10
  388. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +1 -1
  389. package/react/components/smartDesktopDesigner/stories/Applications.stories.js +1 -1
  390. package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
  391. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js +7 -14
  392. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
  393. package/react/components/smartDesktopDesigner/stories/Export.stories.js +2 -2
  394. package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
  395. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +2 -2
  396. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
  397. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +5 -11
  398. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
  399. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.d.ts +1 -1
  400. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js +1 -1
  401. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
  402. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js +1 -1
  403. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
  404. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js +2 -4
  405. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
  406. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +1 -1
  407. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +1 -1
  408. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +1 -1
  409. package/react/components/smartDesktopDesigner/stories/Publish.stories.js +13 -28
  410. package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
  411. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js +1 -1
  412. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
  413. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +3 -3
  414. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
  415. package/react/components/smartDesktopDesigner/stories/Themes.stories.js +1 -1
  416. package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
  417. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +32 -32
  418. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
  419. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +6 -5
  420. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +1 -1
  421. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js +11 -11
  422. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +1 -1
  423. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +9 -7
  424. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +1 -1
  425. package/react/components/smartDesktopDesigner/tests/Applications.spec.js +35 -35
  426. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
  427. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js +6 -18
  428. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
  429. package/react/components/smartDesktopDesigner/tests/Export.spec.js +14 -22
  430. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
  431. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +2 -6
  432. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
  433. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js +2 -2
  434. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
  435. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +2 -2
  436. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
  437. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +2 -2
  438. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +1 -1
  439. package/react/components/smartDesktopDesigner/tests/Publish.spec.js +3 -10
  440. package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
  441. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js +2 -6
  442. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
  443. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +3 -3
  444. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
  445. package/react/components/smartDesktopDesigner/tests/Themes.spec.js +7 -7
  446. package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
  447. package/react/components/smartDesktopDesigner/tests/a11y_helper.js +2 -1
  448. package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
  449. package/react/components/system/System.spec.js +1 -1
  450. package/react/components/system/System.spec.js.map +1 -1
  451. package/react/components/system/SystemTrayComponentShell.js +1 -1
  452. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  453. package/react/components/toolbar/MinimizeAll.spec.js +5 -5
  454. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  455. package/react/components/toolbar/NotificationControl.js +3 -2
  456. package/react/components/toolbar/NotificationControl.js.map +1 -1
  457. package/react/components/toolbar/RevealAll.spec.js +5 -5
  458. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  459. package/react/components/toolbar/ToolbarIcon.js +14 -2
  460. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  461. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +22 -5
  462. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +11 -6
  463. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  464. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +21 -9
  465. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
  466. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +33 -10
  467. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +24 -3
  468. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  469. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +3 -3
  470. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +0 -3
  471. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  472. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +24 -8
  473. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +4 -2
  474. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  475. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +18 -4
  476. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +5 -4
  477. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  478. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts +14 -6
  479. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js +2 -2
  480. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
  481. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +34 -13
  482. package/react/components/toolbar/advancedAppLauncher/components/Content.js +23 -29
  483. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  484. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +15 -5
  485. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -3
  486. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  487. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +38 -21
  488. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +13 -8
  489. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  490. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +18 -3
  491. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +7 -3
  492. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  493. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts +10 -3
  494. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js +1 -3
  495. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
  496. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts +15 -6
  497. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +11 -6
  498. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  499. package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts +11 -4
  500. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js +3 -2
  501. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
  502. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +18 -6
  503. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js +2 -2
  504. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  505. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +20 -4
  506. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +2 -4
  507. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  508. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -1
  509. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  510. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +15 -10
  511. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  512. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +5 -2
  513. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js +1 -1
  514. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  515. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +5 -4
  516. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  517. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +7 -6
  518. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -13
  519. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  520. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +3 -3
  521. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
  522. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  523. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +1 -1
  524. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +25 -3
  525. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +3 -10
  526. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  527. package/react/components/toolbar/appLauncher/components/componentList.d.ts +34 -6
  528. package/react/components/toolbar/appLauncher/components/componentList.js +24 -21
  529. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  530. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +32 -32
  531. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +37 -55
  532. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  533. package/react/components/toolbar/dashbar/Dashbar.js +2 -3
  534. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  535. package/react/components/toolbar/dashbar/DashbarItem.js +1 -1
  536. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  537. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +28 -5
  538. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +17 -23
  539. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  540. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +25 -3
  541. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  542. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +13 -8
  543. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +2 -2
  544. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  545. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +16 -8
  546. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +0 -3
  547. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  548. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +65 -11
  549. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +95 -145
  550. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  551. package/react/components/userPreferences/UserPreferenceTypes.d.ts +5 -0
  552. package/react/components/userPreferences/UserPreferenceTypes.js +2 -0
  553. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -0
  554. package/react/components/userPreferences/UserPreferencesBase.js +2 -2
  555. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  556. package/react/components/userPreferences/UserPreferencesWrapper.js +1 -1
  557. package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
  558. package/react/components/userPreferences/components/ContentSection.js +2 -1
  559. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  560. package/react/components/userPreferences/components/LeftNav.d.ts +1 -1
  561. package/react/components/userPreferences/components/LeftNav.js +1 -1
  562. package/react/components/userPreferences/components/LeftNav.js.map +1 -1
  563. package/react/components/userPreferences/components/content/DashbarEditor.js +1 -1
  564. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  565. package/react/components/userPreferences/components/content/Notifications.js +2 -0
  566. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  567. package/react/components/userPreferences/components/content/Workspaces.js +21 -10
  568. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  569. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +48 -51
  570. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  571. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +9 -9
  572. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  573. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +4 -6
  574. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  575. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js +6 -6
  576. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  577. package/react/components/userPreferences/components/general/ScheduledRestart.js +0 -1
  578. package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
  579. package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +3 -4
  580. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +5 -1
  581. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  582. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +8 -5
  583. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
  584. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +15 -8
  585. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  586. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +16 -2
  587. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
  588. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +12 -12
  589. package/react/components/userPreferences/stores/UserPreferencesStore.js +9 -16
  590. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  591. package/react/components/userPreferences/stories/DashbarEditor.stories.js +1 -1
  592. package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
  593. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +1 -1
  594. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -1
  595. package/react/components/userPreferences/stories/General.stories.js.map +1 -1
  596. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +1 -1
  597. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -1
  598. package/react/components/userPreferences/stories/NotificationsSources.stories.js +1 -1
  599. package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -1
  600. package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +1 -1
  601. package/react/components/userPreferences/stories/UserPreferences.stories.js +1 -1
  602. package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -1
  603. package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +5 -9
  604. package/react/components/userPreferences/stories/WorkspaceButton.stories.js +10 -3
  605. package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -1
  606. package/react/components/userPreferences/stories/WorkspaceItem.stories.js +2 -2
  607. package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -1
  608. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -1
  609. package/react/components/userPreferences/stories/Workspaces.stories.js +1 -1
  610. package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -1
  611. package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -1
  612. package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -1
  613. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -1
  614. package/react/components/userPreferences/tests/General.spec.js.map +1 -1
  615. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
  616. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -1
  617. package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -1
  618. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  619. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -1
  620. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
  621. package/react/components/userPreferences/tests/WorkspaceButton.spec.js +17 -3
  622. package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -1
  623. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +1 -1
  624. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -1
  625. package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -1
  626. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -1
  627. package/react/components/utils.js +1 -1
  628. package/react/components/utils.js.map +1 -1
  629. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +58 -31
  630. package/react/components/windowTitleBar/WindowTitleBarShell.js +47 -50
  631. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  632. package/react/components/windowTitleBar/components/center/Tab.d.ts +27 -7
  633. package/react/components/windowTitleBar/components/center/Tab.js +2 -2
  634. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  635. package/react/components/windowTitleBar/components/center/TabList.d.ts +43 -30
  636. package/react/components/windowTitleBar/components/center/TabList.js +111 -37
  637. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  638. package/react/components/windowTitleBar/components/left/LinkerButton.js +5 -4
  639. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  640. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +1 -21
  641. package/react/components/windowTitleBar/components/left/LinkerGroups.js +6 -8
  642. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  643. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +1 -21
  644. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +12 -25
  645. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  646. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +17 -26
  647. package/react/components/windowTitleBar/components/right/GroupingButton.js +2 -2
  648. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  649. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +1 -21
  650. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +12 -25
  651. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  652. package/react/components/windowTitleBar/components/windowTitle.js +11 -6
  653. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  654. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +51 -44
  655. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +63 -56
  656. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  657. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts +42 -44
  658. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
  659. package/react/components/windowTitleBar/windowTitleBarContext.d.ts +9 -9
  660. package/react/components/windowTitleBar/windowTitleBarContext.js +2 -4
  661. package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
  662. package/react/components/yesNoDialog/Timer.spec.js +2 -2
  663. package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
  664. package/react/components/yesNoDialog/Timer.stories.js +1 -1
  665. package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
  666. package/react/components/yesNoDialog/YesNoDialog.spec.js +5 -5
  667. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  668. package/react/components/yesNoDialog/YesNoDialog.stories.js +1 -1
  669. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  670. package/react/hooks/useFavoritesShell.js.map +1 -1
  671. package/react/hooks/useLinker.js +1 -1
  672. package/react/hooks/useLinker.js.map +1 -1
  673. package/react/hooks/useMenu.js +1 -1
  674. package/react/hooks/useMenu.js.map +1 -1
  675. package/react/hooks/useNotifications.d.ts +6 -6
  676. package/react/hooks/useNotifications.js +16 -17
  677. package/react/hooks/useNotifications.js.map +1 -1
  678. package/react/hooks/useSearch.js +1 -1
  679. package/react/hooks/useSearch.js.map +1 -1
  680. package/react/hooks/useToolbar.js.map +1 -1
  681. package/react/hooks/useWorkspace.js +1 -1
  682. package/react/hooks/useWorkspace.js.map +1 -1
  683. package/react/reducers/favoriteReducer.js +1 -1
  684. package/react/reducers/favoriteReducer.js.map +1 -1
  685. package/react/reducers/rootReducer.d.ts +3 -4
  686. package/react/reducers/toolbarReducer.js +1 -1
  687. package/react/reducers/toolbarReducer.js.map +1 -1
  688. package/react/store.d.ts +6 -7
  689. package/react/types/advancedAppLauncherTypes.d.ts +28 -1
  690. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  691. package/react/types/favoriteTypes.d.ts +1 -1
  692. package/react/types/favoriteTypes.js.map +1 -1
  693. package/react/types/fdc3.d.ts +22 -0
  694. package/react/types/fdc3.js.map +1 -1
  695. package/react/types/smartDesktopDesignerTypes.d.ts +11 -9
  696. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  697. package/react/types/windowTitleBar.d.ts +46 -0
  698. package/react/types/windowTitleBar.js +2 -0
  699. package/react/types/windowTitleBar.js.map +1 -0
  700. package/react/components/processMonitor/components/ChildWindows.d.ts +0 -4
  701. package/react/components/processMonitor/components/ChildWindows.js +0 -11
  702. package/react/components/processMonitor/components/ChildWindows.js.map +0 -1
  703. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.d.ts +0 -4
  704. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js +0 -14
  705. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js.map +0 -1
@@ -12,11 +12,11 @@ describe("Resolver UI", () => {
12
12
  sinon.restore();
13
13
  });
14
14
  it("should pass accessibility scans", async () => {
15
- const wrapper = mount(React.createElement(Short, { ...Short.args }));
15
+ const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
16
16
  expect(await accessibilityAssessor(wrapper)).to.be.true;
17
17
  });
18
18
  it("should fill in data as expected", () => {
19
- const wrapper = mount(React.createElement(Short, { ...Short.args }));
19
+ const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
20
20
  expect(wrapper.find(".appTile").length, "Only show 2 tiles").to.equal(2);
21
21
  expect(wrapper.find(".appTile").at(0).find(".tileHeader").text(), "First tile says Chart").to.equal("Chart");
22
22
  expect(wrapper.find(".appTile").at(1).find(".tileHeader").text(), "Second tile says Grid").to.equal("Grid");
@@ -25,7 +25,7 @@ describe("Resolver UI", () => {
25
25
  });
26
26
  it("should include info in the Send payload - selecting new item", () => {
27
27
  const buttonSpy = sinon.spy(Short.args, "onSend");
28
- const wrapper = mount(React.createElement(Short, { ...Short.args }));
28
+ const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
29
29
  wrapper.find(".appTile").at(0).simulate("click");
30
30
  const { args } = buttonSpy.getCall(0);
31
31
  expect(buttonSpy.calledOnce, "The send callback was called").to.be.true;
@@ -34,7 +34,7 @@ describe("Resolver UI", () => {
34
34
  });
35
35
  it("should include the selected items in the Send payload", () => {
36
36
  const buttonSpy = sinon.spy(Short.args, "onSend");
37
- const wrapper = mount(React.createElement(Short, { ...Short.args }));
37
+ const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
38
38
  wrapper.find(".appSelector li").at(0).simulate("click");
39
39
  const { args } = buttonSpy.getCall(0);
40
40
  expect(buttonSpy.calledOnce, "The send callback was called").to.be.true;
@@ -43,7 +43,7 @@ describe("Resolver UI", () => {
43
43
  });
44
44
  it("should call the cancel function if the Cancel button is clicked", () => {
45
45
  const buttonSpy = sinon.spy(Short.args, "onCancel");
46
- const wrapper = mount(React.createElement(Short, { ...Short.args }));
46
+ const wrapper = mount(React.createElement(Short, Object.assign({}, Short.args)));
47
47
  wrapper.find(".button-container-ghost button").simulate("click");
48
48
  expect(buttonSpy.calledOnce, "The send callback was called").to.be.true;
49
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverDialog.spec.js","sourceRoot":"","sources":["../../../src/components/fdc3Resolver/ResolverDialog.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAa,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,OAAM,KAAK,CAAC,IAAsB,GAAI,CAAC,CAAC;QAEpE,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,OAAM,KAAK,CAAC,IAAsB,GAAI,CAAC,CAAC;QAEpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,yCAAyC,CAAC,CAAC,EAAE,CAAC,KAAK,CACvG,WAAW,CACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACvE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAqB,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,OAAM,KAAK,CAAC,IAAsB,GAAI,CAAC,CAAC;QAEpE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,EAAE,IAAI,EAAE,GAAoB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAqB,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,OAAM,KAAK,CAAC,IAAsB,GAAI,CAAC,CAAC;QAEpE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,EAAE,IAAI,EAAE,GAAoB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,0DAA0D,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9F,mBAAmB,CACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAqB,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,KAAK,OAAM,KAAK,CAAC,IAAsB,GAAI,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { mount } from \"enzyme\";\r\nimport { afterEach, describe, it } from \"mocha\";\r\nimport { expect } from \"chai\";\r\nimport sinon from \"sinon\";\r\nimport { ResolverProps } from \"./ResolverDialog\";\r\nimport { LongNames, Short } from \"./ResolverDialog.stories\";\r\nimport { accessibilityAssessor } from \"../smartDesktopDesigner/tests/a11y_helper\";\r\n\r\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\r\nimport addons, { mockChannel } from \"@storybook/addons\";\r\naddons.setChannel(mockChannel());\r\n\r\ndescribe(\"Resolver UI\", () => {\r\n\tafterEach(() => {\r\n\t\tsinon.restore();\r\n\t});\r\n\r\n\tit(\"should pass accessibility scans\", async () => {\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\r\n\t});\r\n\r\n\tit(\"should fill in data as expected\", () => {\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\texpect(wrapper.find(\".appTile\").length, \"Only show 2 tiles\").to.equal(2);\r\n\t\texpect(wrapper.find(\".appTile\").at(0).find(\".tileHeader\").text(), \"First tile says Chart\").to.equal(\"Chart\");\r\n\t\texpect(wrapper.find(\".appTile\").at(1).find(\".tileHeader\").text(), \"Second tile says Grid\").to.equal(\"Grid\");\r\n\t\texpect(wrapper.find(\".appSelector li\").length, \"App list should have 2 items\").to.equal(2);\r\n\t\texpect(wrapper.find(\".appSelector li\").at(0).text(), \"First app list item should say Chart #1\").to.equal(\r\n\t\t\t\"1 - Chart\"\r\n\t\t);\r\n\t});\r\n\r\n\tit(\"should include info in the Send payload - selecting new item\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\twrapper.find(\".appTile\").at(0).simulate(\"click\");\r\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\r\n\t\texpect(args[0].selectedApp.name, \"Provides name = Chart\").to.equal(\"Chart\");\r\n\t});\r\n\r\n\tit(\"should include the selected items in the Send payload\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\twrapper.find(\".appSelector li\").at(0).simulate(\"click\");\r\n\r\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\r\n\t\texpect(args[0].windowName, \"The name of the provided window was 'Chart-1-'Finsemble'\").to.equal(\r\n\t\t\t\"Chart-1-Finsemble\"\r\n\t\t);\r\n\t});\r\n\r\n\tit(\"should call the cancel function if the Cancel button is clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onCancel\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\t\twrapper.find(\".button-container-ghost button\").simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t});\r\n});\r\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\";\r\nimport { mount } from \"enzyme\";\r\nimport { afterEach, describe, it } from \"mocha\";\r\nimport { expect } from \"chai\";\r\nimport sinon from \"sinon\";\r\nimport { ResolverProps } from \"./ResolverDialog\";\r\nimport { Short } from \"./ResolverDialog.stories\";\r\nimport { accessibilityAssessor } from \"../smartDesktopDesigner/tests/a11y_helper\";\r\n\r\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\r\nimport addons, { mockChannel } from \"@storybook/addons\";\r\naddons.setChannel(mockChannel());\r\n\r\ndescribe(\"Resolver UI\", () => {\r\n\tafterEach(() => {\r\n\t\tsinon.restore();\r\n\t});\r\n\r\n\tit(\"should pass accessibility scans\", async () => {\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\r\n\t});\r\n\r\n\tit(\"should fill in data as expected\", () => {\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\texpect(wrapper.find(\".appTile\").length, \"Only show 2 tiles\").to.equal(2);\r\n\t\texpect(wrapper.find(\".appTile\").at(0).find(\".tileHeader\").text(), \"First tile says Chart\").to.equal(\"Chart\");\r\n\t\texpect(wrapper.find(\".appTile\").at(1).find(\".tileHeader\").text(), \"Second tile says Grid\").to.equal(\"Grid\");\r\n\t\texpect(wrapper.find(\".appSelector li\").length, \"App list should have 2 items\").to.equal(2);\r\n\t\texpect(wrapper.find(\".appSelector li\").at(0).text(), \"First app list item should say Chart #1\").to.equal(\r\n\t\t\t\"1 - Chart\"\r\n\t\t);\r\n\t});\r\n\r\n\tit(\"should include info in the Send payload - selecting new item\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\twrapper.find(\".appTile\").at(0).simulate(\"click\");\r\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\r\n\t\texpect(args[0].selectedApp.name, \"Provides name = Chart\").to.equal(\"Chart\");\r\n\t});\r\n\r\n\tit(\"should include the selected items in the Send payload\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onSend\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\r\n\t\twrapper.find(\".appSelector li\").at(0).simulate(\"click\");\r\n\r\n\t\tconst { args }: { args: any[] } = buttonSpy.getCall(0);\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t\texpect(args.length, \"Only 1 window was provided\").to.be.equal(1);\r\n\t\texpect(args[0].windowName, \"The name of the provided window was 'Chart-1-'Finsemble'\").to.equal(\r\n\t\t\t\"Chart-1-Finsemble\"\r\n\t\t);\r\n\t});\r\n\r\n\tit(\"should call the cancel function if the Cancel button is clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Short.args as ResolverProps, \"onCancel\");\r\n\t\tconst wrapper = mount(<Short {...(Short.args as ResolverProps)} />);\r\n\t\twrapper.find(\".button-container-ghost button\").simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce, \"The send callback was called\").to.be.true;\r\n\t});\r\n});\r\n"]}
@@ -7,7 +7,7 @@ export default {
7
7
  title: "FDC3/ResolverDialog",
8
8
  component: ResolverDialog,
9
9
  };
10
- const Template = (args) => React.createElement(ResolverDialog, { ...args });
10
+ const Template = (args) => React.createElement(ResolverDialog, Object.assign({}, args));
11
11
  export const Short = Template.bind({});
12
12
  Short.args = {
13
13
  intentRaiser: "FDC3Tester-37-8788-Finsemble",
@@ -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\";\r\nimport { ResolverDialog, ResolverProps } from \"./ResolverDialog\";\r\nimport \"../../assets/css/finsemble.css\";\r\nimport \"../common/css/styles.css\";\r\nimport { Story } from \"@storybook/react/types-6-0\";\r\nimport { action } from \"@storybook/addon-actions\";\r\n\r\nexport default {\r\n\ttitle: \"FDC3/ResolverDialog\",\r\n\tcomponent: ResolverDialog,\r\n};\r\n\r\nconst Template: Story<ResolverProps> = (args: ResolverProps) => <ResolverDialog {...args} />;\r\n\r\nexport const Short = Template.bind({});\r\nShort.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Grid\",\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Chart-1-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Grid-1-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View Chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\n\r\nexport const LongNames = Template.bind({});\r\nLongNames.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"abc\",\r\n\t\t\t\t\t\tname: \"jacuzzi\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"def\",\r\n\t\t\t\t\t\tname: \"blizzard\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"ghi\",\r\n\t\t\t\t\t\tname: \"quizzical\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"jkl\",\r\n\t\t\t\t\t\tname: \"puzzlement\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View Chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\n\r\nexport const MultiIntent = Template.bind({});\r\nMultiIntent.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Grid\",\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Grid-7-9140-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewNews\",\r\n\t\t\t\tdisplayName: \"View news\",\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChartStudy\",\r\n\t\t\t\tdisplayName: \"View chart study\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\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\";\r\nimport { ResolverDialog, ResolverProps } from \"./ResolverDialog\";\r\nimport \"../../assets/css/finsemble.css\";\r\nimport \"../common/css/styles.css\";\r\nimport { Story } from \"@storybook/react/types-6-0\";\r\nimport { action } from \"@storybook/addon-actions\";\r\n\r\nexport default {\r\n\ttitle: \"FDC3/ResolverDialog\",\r\n\tcomponent: ResolverDialog,\r\n};\r\n\r\nconst Template: Story<ResolverProps> = (args: ResolverProps) => <ResolverDialog {...args} />;\r\n\r\nexport const Short = Template.bind({});\r\nShort.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Grid\",\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Chart-1-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Grid-1-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View Chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\n\r\nexport const LongNames = Template.bind({});\r\nLongNames.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"abc\",\r\n\t\t\t\t\t\tname: \"jacuzzi\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"def\",\r\n\t\t\t\t\t\tname: \"blizzard\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"ghi\",\r\n\t\t\t\t\t\tname: \"quizzical\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"jkl\",\r\n\t\t\t\t\t\tname: \"puzzlement\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View Chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\n\r\nexport const MultiIntent = Template.bind({});\r\nMultiIntent.args = {\r\n\tintentRaiser: \"FDC3Tester-37-8788-Finsemble\",\r\n\tonSend: action(\"sent\"),\r\n\tonCancel: action(\"cancel\"),\r\n\tresolutionList: [\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Grid\",\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\twindowName: \"Grid-7-9140-Finsemble\",\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tname: \"Grid\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewNews\",\r\n\t\t\t\tdisplayName: \"View news\",\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChart\",\r\n\t\t\t\tdisplayName: \"View chart\",\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\tlaunchableApps: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\tappId: \"Chart\",\r\n\t\t\t\t\t\tname: \"Chart\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\topenApps: [],\r\n\t\t\tintent: {\r\n\t\t\t\tname: \"ViewChartStudy\",\r\n\t\t\t\tdisplayName: \"View chart study\",\r\n\t\t\t},\r\n\t\t},\r\n\t],\r\n};\r\n"]}
@@ -5,11 +5,11 @@ export const iconFromConfig = (config, title) => {
5
5
  name: title,
6
6
  category: "Application",
7
7
  };
8
- if (config?.iconClass) {
8
+ if (config === null || config === void 0 ? void 0 : config.iconClass) {
9
9
  icon.imageType = "fonticon";
10
10
  icon.path = config.iconClass;
11
11
  }
12
- if (config?.iconURL) {
12
+ if (config === null || config === void 0 ? void 0 : config.iconURL) {
13
13
  icon.imageType = "url";
14
14
  icon.path = config.iconURL;
15
15
  }
@@ -26,9 +26,10 @@ const deriveClasses = (imageType, className = "") => {
26
26
  return classes;
27
27
  };
28
28
  export const Icon = (props) => {
29
+ var _a, _b;
29
30
  let avatar;
30
31
  if (props.imageType === "initials") {
31
- const name = props.name ?? "";
32
+ const name = (_a = props.name) !== null && _a !== void 0 ? _a : "";
32
33
  const initials = name
33
34
  .split(" ")
34
35
  .map((substr) => substr[0])
@@ -42,7 +43,7 @@ export const Icon = (props) => {
42
43
  if (props.imageType === "url") {
43
44
  avatar = React.createElement("img", { src: props.path });
44
45
  }
45
- const imageType = props.imageType ?? "initials";
46
+ const imageType = (_b = props.imageType) !== null && _b !== void 0 ? _b : "initials";
46
47
  const classes = deriveClasses(imageType, props.className);
47
48
  return (React.createElement("div", { className: classes, "data-category": props.category }, avatar));
48
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE;IAE5D,IAAI,IAAI,GAAQ;QACf,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,aAAa;KACvB,CAAC;IAIF,IAAI,MAAM,EAAE,SAAS,EAAE;QACtB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;KAC7B;IACD,IAAI,MAAM,EAAE,OAAO,EAAE;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;KAC3B;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,YAAoB,EAAE,EAAU,EAAE;IAC3E,IAAI,OAAO,GAAG,uBAAuB,SAAS,EAAE,CAAC;IACjD,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,GAAG,GAAG,OAAO,kBAAkB,CAAC;KACvC;SAAM;QACN,OAAO,GAAG,GAAG,OAAO,cAAc,CAAC;KACnC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,IAAI,GAAgD,CAAC,KAAK,EAAE,EAAE;IAC1E,IAAI,MAAM,CAAC;IACX,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,MAAM,GAAG,kCAAO,QAAQ,CAAQ,CAAC;KACjC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,GAAG,2BAAG,SAAS,EAAE,KAAK,CAAC,IAAI,GAAM,CAAC;KACxC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE;QAC9B,MAAM,GAAG,6BAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;KAClC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC;IAChD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE1D,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO,mBAAiB,KAAK,CAAC,QAAQ,IACpD,MAAM,CACF,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { Icon as IconType } from \"../../types/iconTypes\";\r\n\r\n/**\r\n * Converts a Finsemble config entry to an Icon type that can be used to create <Icon> components.\r\n * @param config A finsemble config entry from \"foreign.components.Toolbar\"\r\n * @param title The title for the icon\r\n */\r\nexport const iconFromConfig = (config: any, title: string) => {\r\n\t// Our default icon. The <Icon> component can generate an \"initials\" icon based just off of the `name`\r\n\tlet icon: any = {\r\n\t\timageType: \"initials\",\r\n\t\tname: title,\r\n\t\tcategory: \"Application\",\r\n\t};\r\n\r\n\t// Use any iconography that is available in Finsemble's config for this component\r\n\t// This typically comes from the component's \"foreign.components.Toolbar\" section\r\n\tif (config?.iconClass) {\r\n\t\ticon.imageType = \"fonticon\";\r\n\t\ticon.path = config.iconClass;\r\n\t}\r\n\tif (config?.iconURL) {\r\n\t\ticon.imageType = \"url\";\r\n\t\ticon.path = config.iconURL;\r\n\t}\r\n\treturn icon;\r\n};\r\n\r\nconst deriveClasses = (imageType: string, className: string = \"\"): string => {\r\n\tlet classes = `icon-avatar-wrapper ${className}`;\r\n\tif (imageType === \"url\") {\r\n\t\tclasses = `${classes} entity-with-img`;\r\n\t} else {\r\n\t\tclasses = `${classes} icon-avatar`;\r\n\t}\r\n\treturn classes;\r\n};\r\n\r\ntype IconProps = IconType & {\r\n\tclassName?: string;\r\n};\r\n\r\n/**\r\n * An icon to accompany Finsemble components or workspaces.\r\n * @param {string} [imageType] - \"fonticon\" | \"url\" | \"initials\" - Determines how the icon is generated.\r\n * @param {string} [path] - The path of the image.\r\n * @param {string} [name] - Used if imageType is \"initials\" to generate a text based icon.\r\n * @param {string} [category] - This will appear on the `data-category` attribute which can be used to drive CSS.\r\n * @param {string} [className] - Optional class to be appended.\r\n */\r\nexport const Icon: React.FunctionComponent<Partial<IconProps>> = (props) => {\r\n\tlet avatar;\r\n\tif (props.imageType === \"initials\") {\r\n\t\tconst name = props.name ?? \"\";\r\n\t\tconst initials = name\r\n\t\t\t.split(\" \")\r\n\t\t\t.map((substr: string) => substr[0])\r\n\t\t\t.join(\"\")\r\n\t\t\t.substr(0, 2);\r\n\t\tavatar = <span>{initials}</span>;\r\n\t}\r\n\tif (props.imageType === \"fonticon\") {\r\n\t\tavatar = <i className={props.path}></i>;\r\n\t}\r\n\tif (props.imageType === \"url\") {\r\n\t\tavatar = <img src={props.path} />;\r\n\t}\r\n\tconst imageType = props.imageType ?? \"initials\";\r\n\tconst classes = deriveClasses(imageType, props.className);\r\n\r\n\treturn (\r\n\t\t<div className={classes} data-category={props.category}>\r\n\t\t\t{avatar}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n/*\r\nexport const CategoryIcon: React.FunctionComponent<CategoryIconProps> = (props) => {\r\n\tlet className = \"\";\r\n\tif(props.category == \"Application\")\r\n\t\tclassName=`entity-component ${props.className}`;\r\n\tif(props.category == \"Workspace\")\r\n\t\tclassName=`entity-workspace ${props.className}`;\r\n\treturn (\r\n\t\t<Icon {...props} {...className} />\r\n\t)\r\n}\r\n*/\r\n"]}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE;IAE5D,IAAI,IAAI,GAAQ;QACf,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,aAAa;KACvB,CAAC;IAIF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE;QACtB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;KAC7B;IACD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;KAC3B;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,YAAoB,EAAE,EAAU,EAAE;IAC3E,IAAI,OAAO,GAAG,uBAAuB,SAAS,EAAE,CAAC;IACjD,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,GAAG,GAAG,OAAO,kBAAkB,CAAC;KACvC;SAAM;QACN,OAAO,GAAG,GAAG,OAAO,cAAc,CAAC;KACnC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,IAAI,GAAgD,CAAC,KAAK,EAAE,EAAE;;IAC1E,IAAI,MAAM,CAAC;IACX,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,MAAM,GAAG,kCAAO,QAAQ,CAAQ,CAAC;KACjC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,GAAG,2BAAG,SAAS,EAAE,KAAK,CAAC,IAAI,GAAM,CAAC;KACxC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE;QAC9B,MAAM,GAAG,6BAAK,GAAG,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;KAClC;IACD,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,UAAU,CAAC;IAChD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE1D,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO,mBAAiB,KAAK,CAAC,QAAQ,IACpD,MAAM,CACF,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { Icon as IconType } from \"../../types/iconTypes\";\r\n\r\n/**\r\n * Converts a Finsemble config entry to an Icon type that can be used to create <Icon> components.\r\n * @param config A finsemble config entry from \"foreign.components.Toolbar\"\r\n * @param title The title for the icon\r\n */\r\nexport const iconFromConfig = (config: any, title: string) => {\r\n\t// Our default icon. The <Icon> component can generate an \"initials\" icon based just off of the `name`\r\n\tlet icon: any = {\r\n\t\timageType: \"initials\",\r\n\t\tname: title,\r\n\t\tcategory: \"Application\",\r\n\t};\r\n\r\n\t// Use any iconography that is available in Finsemble's config for this component\r\n\t// This typically comes from the component's \"foreign.components.Toolbar\" section\r\n\tif (config?.iconClass) {\r\n\t\ticon.imageType = \"fonticon\";\r\n\t\ticon.path = config.iconClass;\r\n\t}\r\n\tif (config?.iconURL) {\r\n\t\ticon.imageType = \"url\";\r\n\t\ticon.path = config.iconURL;\r\n\t}\r\n\treturn icon;\r\n};\r\n\r\nconst deriveClasses = (imageType: string, className: string = \"\"): string => {\r\n\tlet classes = `icon-avatar-wrapper ${className}`;\r\n\tif (imageType === \"url\") {\r\n\t\tclasses = `${classes} entity-with-img`;\r\n\t} else {\r\n\t\tclasses = `${classes} icon-avatar`;\r\n\t}\r\n\treturn classes;\r\n};\r\n\r\ntype IconProps = IconType & {\r\n\tclassName?: string;\r\n};\r\n\r\n/**\r\n * An icon to accompany Finsemble components or workspaces.\r\n * @param {string} [imageType] - \"fonticon\" | \"url\" | \"initials\" - Determines how the icon is generated.\r\n * @param {string} [path] - The path of the image.\r\n * @param {string} [name] - Used if imageType is \"initials\" to generate a text based icon.\r\n * @param {string} [category] - This will appear on the `data-category` attribute which can be used to drive CSS.\r\n * @param {string} [className] - Optional class to be appended.\r\n */\r\nexport const Icon: React.FunctionComponent<Partial<IconProps>> = (props) => {\r\n\tlet avatar;\r\n\tif (props.imageType === \"initials\") {\r\n\t\tconst name = props.name ?? \"\";\r\n\t\tconst initials = name\r\n\t\t\t.split(\" \")\r\n\t\t\t.map((substr: string) => substr[0])\r\n\t\t\t.join(\"\")\r\n\t\t\t.substr(0, 2);\r\n\t\tavatar = <span>{initials}</span>;\r\n\t}\r\n\tif (props.imageType === \"fonticon\") {\r\n\t\tavatar = <i className={props.path}></i>;\r\n\t}\r\n\tif (props.imageType === \"url\") {\r\n\t\tavatar = <img src={props.path} />;\r\n\t}\r\n\tconst imageType = props.imageType ?? \"initials\";\r\n\tconst classes = deriveClasses(imageType, props.className);\r\n\r\n\treturn (\r\n\t\t<div className={classes} data-category={props.category}>\r\n\t\t\t{avatar}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n/*\r\nexport const CategoryIcon: React.FunctionComponent<CategoryIconProps> = (props) => {\r\n\tlet className = \"\";\r\n\tif(props.category == \"Application\")\r\n\t\tclassName=`entity-component ${props.className}`;\r\n\tif(props.category == \"Workspace\")\r\n\t\tclassName=`entity-workspace ${props.className}`;\r\n\treturn (\r\n\t\t<Icon {...props} {...className} />\r\n\t)\r\n}\r\n*/\r\n"]}
@@ -6,7 +6,7 @@ import * as React from "react";
6
6
  export declare type FinsembleDialogButtonProps = {
7
7
  buttonSize?: string;
8
8
  className?: string;
9
- show: boolean;
9
+ show?: boolean;
10
10
  onClick?: Function;
11
11
  };
12
12
  export declare const FinsembleDialogButton: React.FunctionComponent<FinsembleDialogButtonProps>;
@@ -4,8 +4,9 @@
4
4
  */
5
5
  import * as React from "react";
6
6
  export const FinsembleDialogButton = (props) => {
7
- const size = props.buttonSize ?? "md";
8
- const classes = `fsbl-button fsbl-button-${size} ${props.className ?? ""}`;
9
- return props.show !== false ? (React.createElement("div", { ...props, className: classes }, props.children)) : null;
7
+ var _a, _b;
8
+ const size = (_a = props.buttonSize) !== null && _a !== void 0 ? _a : "md";
9
+ const classes = `fsbl-button fsbl-button-${size} ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}`;
10
+ return props.show !== false ? (React.createElement("div", Object.assign({}, props, { className: classes }), props.children)) : null;
10
11
  };
11
12
  //# sourceMappingURL=FinsembleDialogButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleDialogButton.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,CAAC,MAAM,qBAAqB,GAAwD,CAAC,KAAU,EAAE,EAAE;IAIxG,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,2BAA2B,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;IAC3E,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAC7B,gCAAS,KAAK,EAAE,SAAS,EAAE,OAAO,IAChC,KAAK,CAAC,QAAQ,CACV,CACN,CAAC,CAAC,CAAC,IAAI,CAAC;AACV,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport * as React from \"react\";\r\n\r\nexport type FinsembleDialogButtonProps = {\r\n\tbuttonSize?: string;\r\n\tclassName?: string;\r\n\tshow: boolean;\r\n\tonClick?: Function;\r\n};\r\n\r\n/**\r\n * Button that is rendered on a dialog.\r\n */\r\nexport const FinsembleDialogButton: React.FunctionComponent<FinsembleDialogButtonProps> = (props: any) => {\r\n\t// Default size is medium.\r\n\r\n\t// @TODO: [Julianna Langston, 2021-04-19] I don't think this is being used, since the css class `fsbl-button-md` doesn't exist anywhere. Candidate for removal, along with associated prop.\r\n\tconst size = props.buttonSize ?? \"md\"; // `fsbl-button-md` css doesn't exist anywhere?\r\n\tconst classes = `fsbl-button fsbl-button-${size} ${props.className ?? \"\"}`;\r\n\treturn props.show !== false ? (\r\n\t\t<div {...props} className={classes}>\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t) : null;\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleDialogButton.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,CAAC,MAAM,qBAAqB,GAAwD,CAAC,KAAU,EAAE,EAAE;;IAIxG,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,2BAA2B,IAAI,IAAI,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,EAAE,CAAC;IAC3E,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAC7B,6CAAS,KAAK,IAAE,SAAS,EAAE,OAAO,KAChC,KAAK,CAAC,QAAQ,CACV,CACN,CAAC,CAAC,CAAC,IAAI,CAAC;AACV,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport * as React from \"react\";\r\n\r\nexport type FinsembleDialogButtonProps = {\r\n\tbuttonSize?: string;\r\n\tclassName?: string;\r\n\tshow?: boolean;\r\n\tonClick?: Function;\r\n};\r\n\r\n/**\r\n * Button that is rendered on a dialog.\r\n */\r\nexport const FinsembleDialogButton: React.FunctionComponent<FinsembleDialogButtonProps> = (props: any) => {\r\n\t// Default size is medium.\r\n\r\n\t// @TODO: [Julianna Langston, 2021-04-19] I don't think this is being used, since the css class `fsbl-button-md` doesn't exist anywhere. Candidate for removal, along with associated prop.\r\n\tconst size = props.buttonSize ?? \"md\"; // `fsbl-button-md` css doesn't exist anywhere?\r\n\tconst classes = `fsbl-button fsbl-button-${size} ${props.className ?? \"\"}`;\r\n\treturn props.show !== false ? (\r\n\t\t<div {...props} className={classes}>\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t) : null;\r\n};\r\n"]}
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
2
  const DIALOG_QUESTION_BASE_CLASS = "dialog-question";
3
3
  export const FinsembleDialogQuestion = (props) => {
4
- const classes = `${props.className ?? ""} ${DIALOG_QUESTION_BASE_CLASS}`;
4
+ var _a;
5
+ const classes = `${(_a = props.className) !== null && _a !== void 0 ? _a : ""} ${DIALOG_QUESTION_BASE_CLASS}`;
5
6
  return (React.createElement("div", { className: classes },
6
7
  props.question,
7
8
  props.children));
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleDialogQuestion.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogQuestion.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAUrD,MAAM,CAAC,MAAM,uBAAuB,GAA0D,CAAC,KAAU,EAAE,EAAE;IAC5G,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,IAAI,0BAA0B,EAAE,CAAC;IACzE,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACrB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport * as React from \"react\";\r\nconst DIALOG_QUESTION_BASE_CLASS = \"dialog-question\";\r\n\r\nexport type FinsembleDialogQuestionProps = {\r\n\tclassName?: string;\r\n\tquestion?: string;\r\n};\r\n\r\n/**\r\n * This component is essentially just a component that adds classes so the styling looks good on dialogs.\r\n */\r\nexport const FinsembleDialogQuestion: React.FunctionComponent<FinsembleDialogQuestionProps> = (props: any) => {\r\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_QUESTION_BASE_CLASS}`;\r\n\treturn (\r\n\t\t<div className={classes}>\r\n\t\t\t{props.question}\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleDialogQuestion.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogQuestion.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAUrD,MAAM,CAAC,MAAM,uBAAuB,GAA0D,CAAC,KAAU,EAAE,EAAE;;IAC5G,MAAM,OAAO,GAAG,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,IAAI,0BAA0B,EAAE,CAAC;IACzE,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACrB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport * as React from \"react\";\r\nconst DIALOG_QUESTION_BASE_CLASS = \"dialog-question\";\r\n\r\nexport type FinsembleDialogQuestionProps = {\r\n\tclassName?: string;\r\n\tquestion?: string;\r\n};\r\n\r\n/**\r\n * This component is essentially just a component that adds classes so the styling looks good on dialogs.\r\n */\r\nexport const FinsembleDialogQuestion: React.FunctionComponent<FinsembleDialogQuestionProps> = (props: any) => {\r\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_QUESTION_BASE_CLASS}`;\r\n\treturn (\r\n\t\t<div className={classes}>\r\n\t\t\t{props.question}\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
@@ -7,7 +7,7 @@ export declare type FinsembleDialogTextInputProps = {
7
7
  className?: string;
8
8
  maxLength?: number;
9
9
  placeholder?: string;
10
- autoFocus: boolean;
10
+ autoFocus?: boolean;
11
11
  focusOnShow?: boolean;
12
12
  inputLabel?: string;
13
13
  value?: string;
@@ -5,11 +5,13 @@
5
5
  import * as React from "react";
6
6
  const DIALOG_INPUT_BASE_CLASS = "dialog-input";
7
7
  export const FinsembleDialogTextInput = (props) => {
8
- const [textValue, setTextValue] = React.useState(props.value ?? "");
8
+ var _a, _b, _c;
9
+ const [textValue, setTextValue] = React.useState((_a = props.value) !== null && _a !== void 0 ? _a : "");
9
10
  const textInput = React.useRef(null);
10
11
  const inputPatternRegEx = props.inputPattern ? new RegExp(props.inputPattern) : undefined;
11
12
  const focusInput = () => {
12
- if (textInput?.current?.focus)
13
+ var _a;
14
+ if ((_a = textInput === null || textInput === void 0 ? void 0 : textInput.current) === null || _a === void 0 ? void 0 : _a.focus)
13
15
  textInput.current.focus();
14
16
  };
15
17
  React.useEffect(() => {
@@ -23,12 +25,13 @@ export const FinsembleDialogTextInput = (props) => {
23
25
  };
24
26
  }, [props.focusOnShow]);
25
27
  React.useEffect(() => {
28
+ var _a;
26
29
  if (props.value !== textValue) {
27
- setTextValue(props.value ?? "");
30
+ setTextValue((_a = props.value) !== null && _a !== void 0 ? _a : "");
28
31
  }
29
32
  }, [props.value]);
30
- const placeholder = props.placeholder ?? "";
31
- const classes = `${props.className ?? ""} ${DIALOG_INPUT_BASE_CLASS}`;
33
+ const placeholder = (_b = props.placeholder) !== null && _b !== void 0 ? _b : "";
34
+ const classes = `${(_c = props.className) !== null && _c !== void 0 ? _c : ""} ${DIALOG_INPUT_BASE_CLASS}`;
32
35
  const changeEvent = (e) => {
33
36
  if (inputPatternRegEx === undefined || e.target.value.match(inputPatternRegEx)) {
34
37
  props.onInputChange(e);
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleDialogTextInput.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogTextInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAiB/C,MAAM,CAAC,MAAM,wBAAwB,GAA2D,CAAC,KAAK,EAAE,EAAE;IACzG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAgC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAuB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAI9G,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,SAAS,EAAE,OAAO,EAAE,KAAK;YAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC,CAAC;IAKF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,WAAW,EAAE;YACtB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,EAAE;YACX,IAAI,KAAK,CAAC,WAAW,EAAE;gBACtB,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACzD;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAChC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,IAAI,uBAAuB,EAAE,CAAC;IAOtE,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC9D,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YAC/E,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACvB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC/B,oCAAoC,CAAC,CAAC,MAAM,CAAC,KAAK,iDAAiD,KAAK,CAAC,YAAY,GAAG,CACxH,CAAC;SACF;IACF,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACtB,+BAAO,OAAO,EAAC,cAAc,IAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAS;QAC9D,6BAAK,SAAS,EAAC,YAAY;YAC1B,+BACC,EAAE,EAAC,cAAc,EACjB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,SAAS,GACf,CACG;QACL,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport * as React from \"react\";\r\nconst DIALOG_INPUT_BASE_CLASS = \"dialog-input\";\r\n\r\nexport type FinsembleDialogTextInputProps = {\r\n\tclassName?: string;\r\n\tmaxLength?: number;\r\n\tplaceholder?: string;\r\n\tautoFocus: boolean;\r\n\tfocusOnShow?: boolean;\r\n\tinputLabel?: string;\r\n\tvalue?: string;\r\n\tonInputChange: React.ChangeEventHandler;\r\n\tinputPattern?: string;\r\n};\r\n\r\n/**\r\n * A big text field that's shown on dialogs.\r\n */\r\nexport const FinsembleDialogTextInput: React.FunctionComponent<FinsembleDialogTextInputProps> = (props) => {\r\n\tconst [textValue, setTextValue] = React.useState<string>(props.value ?? \"\");\r\n\tconst textInput: React.Ref<HTMLInputElement> = React.useRef(null);\r\n\tconst inputPatternRegEx: RegExp | undefined = props.inputPattern ? new RegExp(props.inputPattern) : undefined;\r\n\t/**\r\n\t * Focuses the input field.\r\n\t */\r\n\tconst focusInput = () => {\r\n\t\tif (textInput?.current?.focus) textInput.current.focus();\r\n\t};\r\n\r\n\t/**\r\n\t * Listens for the shown event so it can focus the input.\r\n\t */\r\n\tReact.useEffect(() => {\r\n\t\tif (props.focusOnShow) {\r\n\t\t\tfinsembleWindow.addEventListener(\"shown\", focusInput);\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tif (props.focusOnShow) {\r\n\t\t\t\tfinsembleWindow.removeEventListener(\"shown\", focusInput);\r\n\t\t\t}\r\n\t\t};\r\n\t}, [props.focusOnShow]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (props.value !== textValue) {\r\n\t\t\tsetTextValue(props.value ?? \"\");\r\n\t\t}\r\n\t}, [props.value]);\r\n\r\n\tconst placeholder = props.placeholder ?? \"\";\r\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_INPUT_BASE_CLASS}`;\r\n\r\n\t/**\r\n\t * If the input is a match for the props.inputPattern regular expression, then pass on the change\r\n\t *\r\n\t * @param {React.ChangeEvent<HTMLInputElement>} e\r\n\t */\r\n\tconst changeEvent = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\tif (inputPatternRegEx === undefined || e.target.value.match(inputPatternRegEx)) {\r\n\t\t\tprops.onInputChange(e);\r\n\t\t\tsetTextValue(e.target.value);\r\n\t\t} else {\r\n\t\t\tFSBL.Clients.Logger.system.debug(\r\n\t\t\t\t`FinsembleDialogTextInput: input '${e.target.value}' failed to match against props.inputPattern '${props.inputPattern}'`\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={classes}>\r\n\t\t\t<label htmlFor=\"single-input\">{props.inputLabel || \"\"}</label>\r\n\t\t\t<div className=\"form-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tid=\"single-input\"\r\n\t\t\t\t\tautoFocus={props.autoFocus}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tmaxLength={props.maxLength}\r\n\t\t\t\t\tonChange={changeEvent}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tref={textInput}\r\n\t\t\t\t\tvalue={textValue}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleDialogTextInput.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDialogTextInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAiB/C,MAAM,CAAC,MAAM,wBAAwB,GAA2D,CAAC,KAAK,EAAE,EAAE;;IACzG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAgC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAuB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAI9G,MAAM,UAAU,GAAG,GAAG,EAAE;;QACvB,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,KAAK;YAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC,CAAC;IAKF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,WAAW,EAAE;YACtB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,EAAE;YACX,IAAI,KAAK,CAAC,WAAW,EAAE;gBACtB,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACzD;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACpB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,YAAY,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;SAChC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,IAAI,uBAAuB,EAAE,CAAC;IAOtE,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC9D,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YAC/E,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACvB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC/B,oCAAoC,CAAC,CAAC,MAAM,CAAC,KAAK,iDAAiD,KAAK,CAAC,YAAY,GAAG,CACxH,CAAC;SACF;IACF,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;QACtB,+BAAO,OAAO,EAAC,cAAc,IAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAS;QAC9D,6BAAK,SAAS,EAAC,YAAY;YAC1B,+BACC,EAAE,EAAC,cAAc,EACjB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,SAAS,GACf,CACG;QACL,KAAK,CAAC,QAAQ,CACV,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport * as React from \"react\";\r\nconst DIALOG_INPUT_BASE_CLASS = \"dialog-input\";\r\n\r\nexport type FinsembleDialogTextInputProps = {\r\n\tclassName?: string;\r\n\tmaxLength?: number;\r\n\tplaceholder?: string;\r\n\tautoFocus?: boolean;\r\n\tfocusOnShow?: boolean;\r\n\tinputLabel?: string;\r\n\tvalue?: string;\r\n\tonInputChange: React.ChangeEventHandler;\r\n\tinputPattern?: string;\r\n};\r\n\r\n/**\r\n * A big text field that's shown on dialogs.\r\n */\r\nexport const FinsembleDialogTextInput: React.FunctionComponent<FinsembleDialogTextInputProps> = (props) => {\r\n\tconst [textValue, setTextValue] = React.useState<string>(props.value ?? \"\");\r\n\tconst textInput: React.Ref<HTMLInputElement> = React.useRef(null);\r\n\tconst inputPatternRegEx: RegExp | undefined = props.inputPattern ? new RegExp(props.inputPattern) : undefined;\r\n\t/**\r\n\t * Focuses the input field.\r\n\t */\r\n\tconst focusInput = () => {\r\n\t\tif (textInput?.current?.focus) textInput.current.focus();\r\n\t};\r\n\r\n\t/**\r\n\t * Listens for the shown event so it can focus the input.\r\n\t */\r\n\tReact.useEffect(() => {\r\n\t\tif (props.focusOnShow) {\r\n\t\t\tfinsembleWindow.addEventListener(\"shown\", focusInput);\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tif (props.focusOnShow) {\r\n\t\t\t\tfinsembleWindow.removeEventListener(\"shown\", focusInput);\r\n\t\t\t}\r\n\t\t};\r\n\t}, [props.focusOnShow]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (props.value !== textValue) {\r\n\t\t\tsetTextValue(props.value ?? \"\");\r\n\t\t}\r\n\t}, [props.value]);\r\n\r\n\tconst placeholder = props.placeholder ?? \"\";\r\n\tconst classes = `${props.className ?? \"\"} ${DIALOG_INPUT_BASE_CLASS}`;\r\n\r\n\t/**\r\n\t * If the input is a match for the props.inputPattern regular expression, then pass on the change\r\n\t *\r\n\t * @param {React.ChangeEvent<HTMLInputElement>} e\r\n\t */\r\n\tconst changeEvent = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\tif (inputPatternRegEx === undefined || e.target.value.match(inputPatternRegEx)) {\r\n\t\t\tprops.onInputChange(e);\r\n\t\t\tsetTextValue(e.target.value);\r\n\t\t} else {\r\n\t\t\tFSBL.Clients.Logger.system.debug(\r\n\t\t\t\t`FinsembleDialogTextInput: input '${e.target.value}' failed to match against props.inputPattern '${props.inputPattern}'`\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={classes}>\r\n\t\t\t<label htmlFor=\"single-input\">{props.inputLabel || \"\"}</label>\r\n\t\t\t<div className=\"form-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tid=\"single-input\"\r\n\t\t\t\t\tautoFocus={props.autoFocus}\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tmaxLength={props.maxLength}\r\n\t\t\t\t\tonChange={changeEvent}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tref={textInput}\r\n\t\t\t\t\tvalue={textValue}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t{props.children}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
@@ -27,12 +27,10 @@ const DEFAULT_CONTAINER_MEASUREMENTS = {
27
27
  offsetWidth: 0,
28
28
  };
29
29
  const DEFAULT_CHEVRON_SCROLL_DISTANCE = 60;
30
- const addResizeHandler = (overflowStateSetter) => {
30
+ const addResizeHandler = (overflowStateSetter) => () => {
31
+ window.addEventListener("resize", overflowStateSetter);
31
32
  return () => {
32
- window.addEventListener("resize", overflowStateSetter);
33
- return () => {
34
- window.removeEventListener("resize", overflowStateSetter);
35
- };
33
+ window.removeEventListener("resize", overflowStateSetter);
36
34
  };
37
35
  };
38
36
  const scrollHorizontally = (distance, state, stateSetters, scrollDir, deltaY) => {
@@ -73,13 +71,14 @@ const ScrollingChevron = (props) => {
73
71
  React.createElement("i", { className: classNames, onClick: scrollFunction })));
74
72
  };
75
73
  export const FinsembleDnDContext = (props) => {
74
+ var _a, _b, _c, _d, _e, _f, _g, _h;
76
75
  const { allowHorizontalScroll } = props;
77
- const onDragEnd = props.onDragEnd ?? defaultOnDragEnd;
78
- const onDragBegin = props.onDragStart ?? defaultOnDragBegin;
79
- const onDragMove = props.onDragMove ?? defaultOnDrag;
80
- const onDragOver = props.onDragOver ?? defaultOnDragOver;
81
- const distance = props.distance ?? SORT_CONTAINER_DRAG_DISTANCE;
82
- const onLayoutUpdate = props.onLayoutUpdate ?? defaultOnLayoutUpdate;
76
+ const onDragEnd = (_a = props.onDragEnd) !== null && _a !== void 0 ? _a : defaultOnDragEnd;
77
+ const onDragBegin = (_b = props.onDragStart) !== null && _b !== void 0 ? _b : defaultOnDragBegin;
78
+ const onDragMove = (_c = props.onDragMove) !== null && _c !== void 0 ? _c : defaultOnDrag;
79
+ const onDragOver = (_d = props.onDragOver) !== null && _d !== void 0 ? _d : defaultOnDragOver;
80
+ const distance = (_e = props.distance) !== null && _e !== void 0 ? _e : SORT_CONTAINER_DRAG_DISTANCE;
81
+ const onLayoutUpdate = (_f = props.onLayoutUpdate) !== null && _f !== void 0 ? _f : defaultOnLayoutUpdate;
83
82
  const [containerScrollLeft, setContainerScrollLeft] = React.useState(0);
84
83
  const [forceUpdate, setForceUpdate] = React.useState(0);
85
84
  const [leftItemIndex, setLeftItemIndex] = React.useState(0);
@@ -95,7 +94,7 @@ export const FinsembleDnDContext = (props) => {
95
94
  scrollWidth: containerRef.current.scrollWidth,
96
95
  }
97
96
  : DEFAULT_CONTAINER_MEASUREMENTS;
98
- const chevronScrollDistance = props.chevronScrollDistance ?? DEFAULT_CHEVRON_SCROLL_DISTANCE;
97
+ const chevronScrollDistance = (_g = props.chevronScrollDistance) !== null && _g !== void 0 ? _g : DEFAULT_CHEVRON_SCROLL_DISTANCE;
99
98
  const isOverflowPresent = containerMeasurements.clientWidth !== 0 &&
100
99
  Math.abs(containerMeasurements.clientWidth - containerMeasurements.scrollWidth) > 10;
101
100
  const showChevrons = allowHorizontalScroll && isOverflowPresent;
@@ -110,18 +109,20 @@ export const FinsembleDnDContext = (props) => {
110
109
  setScrollLeft: setContainerScrollLeft,
111
110
  };
112
111
  const scrollToLeft = () => {
112
+ var _a, _b;
113
113
  if (leftChevronDisabled)
114
114
  return;
115
- let visibleLeftItem = containerRef.current?.childNodes[leftItemIndex - 1];
116
- let calculatedFakeItemWidth = scrollHorizontally(visibleLeftItem?.clientWidth ?? chevronScrollDistance, scrollFunctionState, scrollFunctionStateSetters, 1);
115
+ let visibleLeftItem = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.childNodes[leftItemIndex - 1];
116
+ let calculatedFakeItemWidth = scrollHorizontally((_b = visibleLeftItem === null || visibleLeftItem === void 0 ? void 0 : visibleLeftItem.clientWidth) !== null && _b !== void 0 ? _b : chevronScrollDistance, scrollFunctionState, scrollFunctionStateSetters, 1);
117
117
  setFakeItemWidth(calculatedFakeItemWidth);
118
118
  setLeftItemIndex(leftItemIndex - 1);
119
119
  };
120
120
  const scrollToRight = () => {
121
+ var _a, _b;
121
122
  if (rightChevronDisabled)
122
123
  return;
123
- let visibleLeftItem = containerRef.current?.childNodes[leftItemIndex];
124
- let calculatedFakeItemWidth = scrollHorizontally(visibleLeftItem?.clientWidth ?? chevronScrollDistance, scrollFunctionState, scrollFunctionStateSetters, -1);
124
+ let visibleLeftItem = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.childNodes[leftItemIndex];
125
+ let calculatedFakeItemWidth = scrollHorizontally((_b = visibleLeftItem === null || visibleLeftItem === void 0 ? void 0 : visibleLeftItem.clientWidth) !== null && _b !== void 0 ? _b : chevronScrollDistance, scrollFunctionState, scrollFunctionStateSetters, -1);
125
126
  setFakeItemWidth(calculatedFakeItemWidth);
126
127
  setLeftItemIndex(leftItemIndex + 1);
127
128
  };
@@ -148,7 +149,7 @@ export const FinsembleDnDContext = (props) => {
148
149
  }, [SortContainer]);
149
150
  return (React.createElement("div", { id: props.id },
150
151
  showChevrons && (React.createElement(ScrollingChevron, { isDisabled: leftChevronDisabled, chevronDirection: ChevronDirection.left, showToolTip: props.showScrollButtonsTooltip, title: props.leftButtonTooltip, scrollFunction: scrollToLeft })),
151
- React.createElement(SortContainer, { onSortEnd: onDragEnd, onSortStart: onDragBegin, onSortMove: onDragMove, onSortOver: onDragOver, distance: distance, axis: props.axis ?? AllowableDnDAxis.y, lockAxis: props.lockAxis }, props.children),
152
+ React.createElement(SortContainer, { onSortEnd: onDragEnd, onSortStart: onDragBegin, onSortMove: onDragMove, onSortOver: onDragOver, distance: distance, axis: (_h = props.axis) !== null && _h !== void 0 ? _h : AllowableDnDAxis.y, lockAxis: props.lockAxis }, props.children),
152
153
  showChevrons && (React.createElement(ScrollingChevron, { isDisabled: rightChevronDisabled, chevronDirection: ChevronDirection.right, showToolTip: props.showScrollButtonsTooltip, title: props.rightButtonTooltip, scrollFunction: scrollToRight }))));
153
154
  };
154
155
  //# sourceMappingURL=FinsembleDnDContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleDnDContext.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDnDContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SortableContainer } from \"react-sortable-hoc\";\r\nimport * as React from \"react\";\r\ntype ScrollFunctionState = {\r\n\tcontainerScrollLeft: number;\r\n\tcontainerMeasurements: ContainerMeasurements;\r\n};\r\n\r\ntype ScrollFunctionStateSetters = {\r\n\tsetScrollLeft: React.Dispatch<React.SetStateAction<number>>;\r\n};\r\n\r\nenum ChevronDirection {\r\n\tleft = \"left\",\r\n\tright = \"right\",\r\n}\r\n\r\nexport enum AllowableDnDAxis {\r\n\tx = \"x\",\r\n\ty = \"y\",\r\n}\r\n\r\ntype ScrollingChevronProps = {\r\n\tchevronDirection: ChevronDirection;\r\n\tisDisabled: boolean;\r\n\tshowToolTip?: boolean;\r\n\ttitle?: string;\r\n\tscrollFunction: React.MouseEventHandler;\r\n};\r\n\r\nconst SORT_CONTAINER_DRAG_DISTANCE = 10;\r\n\r\nconst defaultOnDragEnd = () => {\r\n\tconsole.warn(\"No onDragEnd passed to FinsembleDnDContext\");\r\n};\r\n\r\nconst defaultOnDragBegin = Function.prototype;\r\nconst defaultOnDrag = Function.prototype;\r\nconst defaultOnDragOver = Function.prototype;\r\nconst defaultOnLayoutUpdate = Function.prototype;\r\n\r\ntype ContainerMeasurements = {\r\n\tclientLeft: number;\r\n\tclientWidth: number;\r\n\tscrollLeft: number;\r\n\tscrollWidth: number;\r\n\toffsetLeft: number;\r\n\toffsetWidth: number;\r\n};\r\n\r\nconst DEFAULT_CONTAINER_MEASUREMENTS: ContainerMeasurements = {\r\n\tclientLeft: 0,\r\n\tclientWidth: 0,\r\n\tscrollLeft: 0,\r\n\tscrollWidth: 0,\r\n\toffsetLeft: 0,\r\n\toffsetWidth: 0,\r\n};\r\n\r\nconst DEFAULT_CHEVRON_SCROLL_DISTANCE = 60;\r\n/**\r\n * Listens for resize events on the DOM and changes whether we should render the scrolling chevrons.\r\n * @param overflowStateSetter\r\n */\r\nconst addResizeHandler = (overflowStateSetter: () => void) => {\r\n\treturn () => {\r\n\t\twindow.addEventListener(\"resize\", overflowStateSetter);\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener(\"resize\", overflowStateSetter);\r\n\t\t};\r\n\t};\r\n};\r\n\r\n/**\r\n * Scrolls forward or back\r\n * @param containerRef\r\n * @param distance How far to move\r\n * @param state Current scroll state\r\n * @param stateSetters Scroll state setters\r\n * @param scrollDir Whether we're scrolling forward or backwards\r\n * @param deltaY The scroll amount that came from the `wheel` event.\r\n */\r\nconst scrollHorizontally = (\r\n\tdistance: number,\r\n\tstate: ScrollFunctionState,\r\n\tstateSetters: ScrollFunctionStateSetters,\r\n\tscrollDir?: number,\r\n\tdeltaY?: number\r\n) => {\r\n\tconst { setScrollLeft } = stateSetters;\r\n\tconst { containerScrollLeft, containerMeasurements } = state;\r\n\r\n\tif (containerMeasurements.scrollWidth === 0) return;\r\n\tlet scrollAmount = 0;\r\n\r\n\tlet delta = 0;\r\n\tif (deltaY) {\r\n\t\tdelta = Math.max(-1, Math.min(1, -deltaY));\r\n\t} else if (scrollDir) {\r\n\t\tdelta = Math.max(-1, Math.min(1, scrollDir));\r\n\t}\r\n\r\n\tlet fakeItemWidth = 0;\r\n\r\n\t// advance the scroll position 40 px forward or back, depending on the mouse wheel direction.\r\n\tlet newScrollLeft = containerScrollLeft - delta * distance;\r\n\r\n\tif (scrollAmount >= distance) {\r\n\t\treturn fakeItemWidth;\r\n\t}\r\n\r\n\t// See the links inside of the main body of FinsembleDnDContext if offsetLeft/Width are unfamiliar to you\r\n\tconst rightEdgeOfScrollingViewport =\r\n\t\tcontainerMeasurements.offsetLeft + containerMeasurements.offsetWidth + newScrollLeft;\r\n\r\n\tconst rightMostEdgeOfScrollingArea = containerMeasurements.offsetLeft + containerMeasurements.scrollWidth;\r\n\r\n\t// if we've scrolled beyond the right-most edge of the area, calculate the fake item width\r\n\tif (rightEdgeOfScrollingViewport > rightMostEdgeOfScrollingArea) {\r\n\t\tfakeItemWidth = newScrollLeft - (containerMeasurements.scrollWidth - containerMeasurements.clientWidth);\r\n\t}\r\n\r\n\t// if we've scrolled past the left-most area, set the scrollLeft to the leftMost edge of the region.\r\n\tif (newScrollLeft < 0) newScrollLeft = 0;\r\n\r\n\tif (newScrollLeft !== containerScrollLeft) {\r\n\t\tsetScrollLeft(newScrollLeft);\r\n\t}\r\n\r\n\treturn fakeItemWidth;\r\n};\r\n\r\n/**\r\n * Simple component that renders the left and right chevrons.\r\n * @param props\r\n */\r\nconst ScrollingChevron = (props: ScrollingChevronProps) => {\r\n\tconst { isDisabled, chevronDirection, showToolTip, title, scrollFunction } = props;\r\n\r\n\tconst classNames = `scroll-button ff-chevron-${chevronDirection} ${isDisabled ? \"greyedOut\" : null}`;\r\n\tconst toolTip = showToolTip ? title : \"\";\r\n\treturn (\r\n\t\t<div className=\"chevron-container\" title={toolTip}>\r\n\t\t\t<i className={classNames} onClick={scrollFunction}></i>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\ntype FinsembleDnDContextProps = {\r\n\tid?: string;\r\n\tleftButtonTooltip?: string;\r\n\trightButtonTooltip?: string;\r\n\tallowHorizontalScroll?: boolean;\r\n\tshowScrollButtonsTooltip?: boolean;\r\n\tchevronScrollDistance?: number;\r\n\tonDragEnd?: Function;\r\n\tonDragStart?: Function;\r\n\tonDragMove?: Function;\r\n\tonDragOver?: Function;\r\n\tonLayoutUpdate?: Function;\r\n\ttransitionDuration?: number;\r\n\tdistance?: number;\r\n\taxis?: AllowableDnDAxis;\r\n\tlockAxis?: AllowableDnDAxis;\r\n\tclassName?: string;\r\n};\r\n\r\n/**\r\n * The FinsembleDnDContext allows for all of the Draggable and Droppable components to work.\r\n * It wraps its children and allows them to do draggy and droppy things.\r\n * It also allows for horizontal containers to provide scrolling functionality.\r\n * @param props\r\n * @param props.id ID for the container that wraps the sortable container\r\n * @param props.allowHorizontalScroll whether the DND context should allow for horizontal scrolling\r\n * @param props.showScrollButtonsTooltip\r\n * @param props.leftButtonTooltip Tooltip for left scroll button\r\n * @param props.rightButtonTooltip Tooltip for right scroll button\r\n * @param props.chevronScrollDistance how far clicking the chevrons should push the content forward or backwards\r\n * @param props.onDragEnd handler for sorting\r\n * @param props.onDragBegin handler for sorting\r\n * @param props.onDragOver\r\n * @param props.onLayoutUpdate handler for rendering. Invokes on useLayoutEffect\r\n * @param props.distance how far the user has to drag an element to trigger sorting behavior\r\n * @param props.axis whether to sort vertically or horizontally.\r\n * @param props.className optional styles to pass the the sortable container\r\n */\r\nexport const FinsembleDnDContext: React.FunctionComponent<FinsembleDnDContextProps> = (props) => {\r\n\tconst { allowHorizontalScroll } = props;\r\n\tconst onDragEnd = props.onDragEnd ?? defaultOnDragEnd;\r\n\tconst onDragBegin = props.onDragStart ?? defaultOnDragBegin;\r\n\tconst onDragMove = props.onDragMove ?? defaultOnDrag;\r\n\tconst onDragOver = props.onDragOver ?? defaultOnDragOver;\r\n\t// This is the numberr of pixels that a draggable element has to be dragged before the sorting kicks in.\r\n\tconst distance = props.distance ?? SORT_CONTAINER_DRAG_DISTANCE;\r\n\tconst onLayoutUpdate = props.onLayoutUpdate ?? defaultOnLayoutUpdate;\r\n\r\n\t// This is the stateful variable that holds the active 'scrollLeft' property for the DOM node\r\n\t// that's rendered inside of the sort container.\r\n\tconst [containerScrollLeft, setContainerScrollLeft] = React.useState(0);\r\n\t// read the comment in doForceUpdate to understand this.\r\n\tconst [forceUpdate, setForceUpdate] = React.useState(0);\r\n\r\n\t// Index of current visible left item\r\n\tconst [leftItemIndex, setLeftItemIndex] = React.useState(0);\r\n\t// Width of fake right (last) item to align the position of the left item\r\n\tconst [fakeItemWidth, setFakeItemWidth] = React.useState(0);\r\n\tconst containerRef = React.useRef<HTMLDivElement>(null);\r\n\r\n\t// An object with all of the measurements that we'll need to set chevron visibility.\r\n\t// If you don't understand client vs offset vs scrollWidth/Left,\r\n\t// go check out this image https://i.stack.imgur.com/Cl1IA.png\r\n\t// Here's an interactive version too: https://jsfiddle.net/y8Y32/25/\r\n\tconst containerMeasurements = containerRef.current\r\n\t\t? {\r\n\t\t\t\tclientLeft: containerRef.current.clientLeft,\r\n\t\t\t\tclientWidth: containerRef.current.clientWidth,\r\n\t\t\t\toffsetLeft: containerRef.current.offsetLeft,\r\n\t\t\t\toffsetWidth: containerRef.current.offsetWidth,\r\n\t\t\t\t// not using the actual container's scrollLeft because it may not have been set yet.\r\n\t\t\t\t// this uses the scrollLeft we have set in state.\r\n\t\t\t\tscrollLeft: containerScrollLeft,\r\n\t\t\t\tscrollWidth: containerRef.current.scrollWidth,\r\n\t\t }\r\n\t\t: DEFAULT_CONTAINER_MEASUREMENTS;\r\n\tconst chevronScrollDistance = props.chevronScrollDistance ?? DEFAULT_CHEVRON_SCROLL_DISTANCE;\r\n\t// Whether the elements inside of the DND container have overflowed the clientWidth.\r\n\tconst isOverflowPresent =\r\n\t\t// Explicitly made this !== 0 instead of just checking whether clientWidth was truthy\r\n\t\t// so it was clear why this check was here. If it's not clear,\r\n\t\t// if the clientWidth of the containerRef is 0, we should not have any chevrons. Ever.\r\n\t\t// A client width of 0 indicates that the Ref's children haven't fully rendered.\r\n\t\tcontainerMeasurements.clientWidth !== 0 &&\r\n\t\t// On a monitor that's scaled at 100%, when clientWidth and scrollWidth are the same\r\n\t\t// there is no overflow present. When monitors are NOT scaled at 100%,\r\n\t\t// there's a chance that these two numbers are off. We'll allow for a 10px variance before\r\n\t\t// showing the scrollbars\r\n\t\t// on a 200% scaled monitor, these two numbers are off by 1.\r\n\t\tMath.abs(containerMeasurements.clientWidth - containerMeasurements.scrollWidth) > 10;\r\n\r\n\tconst showChevrons = allowHorizontalScroll && isOverflowPresent;\r\n\r\n\t// disabled === 'grayed out' and onClick won't fire. When you've scrolled all the way to the left,\r\n\t// the left chevron is disabled. If you've scrolled all the way to the right, the right chevron is disabled\r\n\tconst leftChevronDisabled = !!(showChevrons && containerScrollLeft === 0);\r\n\tconst rightChevronDisabled = !!(\r\n\t\tshowChevrons &&\r\n\t\t/**\r\n\t\t * This is a calculation that figures out where the right edge of the current viewport is.\r\n\t\t * It's a little tricky to imagine. So look at this diagram.\r\n\t\t \t+-------------------------------------------scrollWidth-------------------------------------------+\r\n\t\t\t\t\t\t\t\t |----------------------------------------------------|\r\n\t\t\t\t\t\t\t\t |\t\t\t\t\t\t\t\t\t\t\t\t\t |\r\n\t\t\t+-------------------------------------------------------------------------------------------------+\r\n\t\t\t|(0) |(200) |(200) |(300)\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | (A) |\r\n\t\t\t+-------------------------------------------------------------------------------------------------+\r\n\t\t\t\t\t\t\t\t | \t\t\t\t\t\t\t\t\t\t\t\t\t |\r\n\t\t\t\t\t\t\t\t +----------------------clientWidth-------------------+ \r\n\t\t\t\t\t\t\t\t ^ ^\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t + +\r\n\t\t\t\t\t\t\t\t scrollLeft = 100 scrollRight = 200\r\n\r\n\t\t * The numbers in parens are the numbers for the 'scroll box'. We're trying to figure out where the point labeled (A) is located. \r\n\t\t * \r\n\t\t * Walking through the calculation, we take the scrollWidth and subtract the scrollLeft. This gives us the right edge of the scroll box.\r\n\t\t * offsetWidth is effectively the right edge of the element. If the right edge of the scroll box and the right edge of the element are the same number,\r\n\t\t * then we cannot scroll any further, and the chevron should be disabled.\r\n\t\t */\r\n\t\tcontainerMeasurements.scrollWidth - containerScrollLeft - containerMeasurements.offsetWidth === 0\r\n\t);\r\n\r\n\tconst scrollFunctionState = {\r\n\t\tcontainerScrollLeft,\r\n\t\tcontainerMeasurements,\r\n\t};\r\n\r\n\tconst scrollFunctionStateSetters = {\r\n\t\tsetScrollLeft: setContainerScrollLeft,\r\n\t};\r\n\r\n\t/**\r\n\t * Left Chevron's onClickHandler\r\n\t */\r\n\tconst scrollToLeft = () => {\r\n\t\tif (leftChevronDisabled) return;\r\n\t\tlet visibleLeftItem = containerRef.current?.childNodes[leftItemIndex - 1] as HTMLDivElement;\r\n\t\tlet calculatedFakeItemWidth = scrollHorizontally(\r\n\t\t\tvisibleLeftItem?.clientWidth ?? chevronScrollDistance,\r\n\t\t\tscrollFunctionState,\r\n\t\t\tscrollFunctionStateSetters,\r\n\t\t\t1\r\n\t\t);\r\n\t\tsetFakeItemWidth(calculatedFakeItemWidth as number);\r\n\t\tsetLeftItemIndex(leftItemIndex - 1);\r\n\t};\r\n\r\n\t/**\r\n\t * Right Chevron's onClickHandler\r\n\t */\r\n\tconst scrollToRight = () => {\r\n\t\tif (rightChevronDisabled) return;\r\n\t\tlet visibleLeftItem = containerRef.current?.childNodes[leftItemIndex] as HTMLDivElement;\r\n\t\tlet calculatedFakeItemWidth = scrollHorizontally(\r\n\t\t\tvisibleLeftItem?.clientWidth ?? chevronScrollDistance,\r\n\t\t\tscrollFunctionState,\r\n\t\t\tscrollFunctionStateSetters,\r\n\t\t\t-1\r\n\t\t);\r\n\t\tsetFakeItemWidth(calculatedFakeItemWidth as number);\r\n\t\tsetLeftItemIndex(leftItemIndex + 1);\r\n\t};\r\n\r\n\t/**\r\n\t * \"wheel\" handler. scrolls forward or backwards\r\n\t * @param event\r\n\t */\r\n\tconst scrollme = (event: React.WheelEvent<HTMLDivElement>) => {\r\n\t\tif (!event.nativeEvent.deltaY) return;\r\n\t\tscrollHorizontally(20, scrollFunctionState, scrollFunctionStateSetters, event.nativeEvent.deltaY);\r\n\t};\r\n\r\n\tconst doDOMManipulation = () => {\r\n\t\tif (props.allowHorizontalScroll && containerRef.current) containerRef.current.scrollLeft = containerScrollLeft;\r\n\t};\r\n\r\n\t// This function increments `forceUpdate`, which is a piece of state that's irrelevant to the\r\n\t// rendering of this component. After a resize, we need to re-measure the DOM so we can figure out if\r\n\t// the chevrons are necessary. Because no state changes on a resize. the component doesn't rerender.\r\n\t// This function will change state, which will cause a re-rendering, and the component will be re-measured.\r\n\tconst doForceUpdate = () => {\r\n\t\tsetForceUpdate((currentValueOfForceUpdate) => currentValueOfForceUpdate + 1);\r\n\t};\r\n\r\n\t// After every render, set the actual DOM element's scrollLeft to be whatever we calculated during the previous render.\r\n\tReact.useLayoutEffect(doDOMManipulation);\r\n\t// after the children change, we need to force an update so that we can re-measure the DOM after the render happens\r\n\t// without this, adding and removing elements from the DNDContext won't recalculate whether the chevrons should render\r\n\tReact.useEffect(doForceUpdate, [props.children]);\r\n\t// Whenever the window resizes, force an update so that the DOM is re-measured.\r\n\tReact.useEffect(addResizeHandler(doForceUpdate), []);\r\n\r\n\t/**\r\n\t * Actual container that provides drag and drop functionality\r\n\t */\r\n\tconst SortContainer = SortableContainer((sortableContainerProps: any) => (\r\n\t\t<div onWheel={scrollme} ref={containerRef} className={props.className}>\r\n\t\t\t{sortableContainerProps.children}\r\n\t\t\t{/* fake element for scrolling */}\r\n\t\t\t<div style={{ width: `${fakeItemWidth}px`, flexShrink: 0 }} />\r\n\t\t</div>\r\n\t));\r\n\r\n\t// After every render, call onLayoutUpdate function\r\n\tReact.useLayoutEffect(() => {\r\n\t\tonLayoutUpdate();\r\n\t}, [SortContainer]);\r\n\r\n\treturn (\r\n\t\t<div id={props.id}>\r\n\t\t\t{showChevrons && (\r\n\t\t\t\t<ScrollingChevron\r\n\t\t\t\t\tisDisabled={leftChevronDisabled}\r\n\t\t\t\t\tchevronDirection={ChevronDirection.left}\r\n\t\t\t\t\tshowToolTip={props.showScrollButtonsTooltip}\r\n\t\t\t\t\ttitle={props.leftButtonTooltip}\r\n\t\t\t\t\tscrollFunction={scrollToLeft}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<SortContainer\r\n\t\t\t\tonSortEnd={onDragEnd}\r\n\t\t\t\tonSortStart={onDragBegin}\r\n\t\t\t\tonSortMove={onDragMove}\r\n\t\t\t\tonSortOver={onDragOver}\r\n\t\t\t\tdistance={distance}\r\n\t\t\t\taxis={props.axis ?? AllowableDnDAxis.y}\r\n\t\t\t\tlockAxis={props.lockAxis}\r\n\t\t\t>\r\n\t\t\t\t{props.children}\r\n\t\t\t</SortContainer>\r\n\t\t\t{showChevrons && (\r\n\t\t\t\t<ScrollingChevron\r\n\t\t\t\t\tisDisabled={rightChevronDisabled}\r\n\t\t\t\t\tchevronDirection={ChevronDirection.right}\r\n\t\t\t\t\tshowToolTip={props.showScrollButtonsTooltip}\r\n\t\t\t\t\ttitle={props.rightButtonTooltip}\r\n\t\t\t\t\tscrollFunction={scrollToRight}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleDnDContext.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDnDContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SortableContainer } from \"react-sortable-hoc\";\r\nimport * as React from \"react\";\r\ntype ScrollFunctionState = {\r\n\tcontainerScrollLeft: number;\r\n\tcontainerMeasurements: ContainerMeasurements;\r\n};\r\n\r\ntype ScrollFunctionStateSetters = {\r\n\tsetScrollLeft: React.Dispatch<React.SetStateAction<number>>;\r\n};\r\n\r\nenum ChevronDirection {\r\n\tleft = \"left\",\r\n\tright = \"right\",\r\n}\r\n\r\nexport enum AllowableDnDAxis {\r\n\tx = \"x\",\r\n\ty = \"y\",\r\n}\r\n\r\ntype ScrollingChevronProps = {\r\n\tchevronDirection: ChevronDirection;\r\n\tisDisabled: boolean;\r\n\tshowToolTip?: boolean;\r\n\ttitle?: string;\r\n\tscrollFunction: React.MouseEventHandler;\r\n};\r\n\r\nconst SORT_CONTAINER_DRAG_DISTANCE = 10;\r\n\r\nconst defaultOnDragEnd = () => {\r\n\tconsole.warn(\"No onDragEnd passed to FinsembleDnDContext\");\r\n};\r\n\r\nconst defaultOnDragBegin = Function.prototype;\r\nconst defaultOnDrag = Function.prototype;\r\nconst defaultOnDragOver = Function.prototype;\r\nconst defaultOnLayoutUpdate = Function.prototype;\r\n\r\ntype ContainerMeasurements = {\r\n\tclientLeft: number;\r\n\tclientWidth: number;\r\n\tscrollLeft: number;\r\n\tscrollWidth: number;\r\n\toffsetLeft: number;\r\n\toffsetWidth: number;\r\n};\r\n\r\nconst DEFAULT_CONTAINER_MEASUREMENTS: ContainerMeasurements = {\r\n\tclientLeft: 0,\r\n\tclientWidth: 0,\r\n\tscrollLeft: 0,\r\n\tscrollWidth: 0,\r\n\toffsetLeft: 0,\r\n\toffsetWidth: 0,\r\n};\r\n\r\nconst DEFAULT_CHEVRON_SCROLL_DISTANCE = 60;\r\n/**\r\n * Listens for resize events on the DOM and changes whether we should render the scrolling chevrons.\r\n * @param overflowStateSetter\r\n */\r\nconst addResizeHandler = (overflowStateSetter: () => void) => () => {\r\n\twindow.addEventListener(\"resize\", overflowStateSetter);\r\n\treturn () => {\r\n\t\twindow.removeEventListener(\"resize\", overflowStateSetter);\r\n\t};\r\n};\r\n\r\n/**\r\n * Scrolls forward or back\r\n * @param containerRef\r\n * @param distance How far to move\r\n * @param state Current scroll state\r\n * @param stateSetters Scroll state setters\r\n * @param scrollDir Whether we're scrolling forward or backwards\r\n * @param deltaY The scroll amount that came from the `wheel` event.\r\n */\r\nconst scrollHorizontally = (\r\n\tdistance: number,\r\n\tstate: ScrollFunctionState,\r\n\tstateSetters: ScrollFunctionStateSetters,\r\n\tscrollDir?: number,\r\n\tdeltaY?: number\r\n) => {\r\n\tconst { setScrollLeft } = stateSetters;\r\n\tconst { containerScrollLeft, containerMeasurements } = state;\r\n\r\n\tif (containerMeasurements.scrollWidth === 0) return;\r\n\tlet scrollAmount = 0;\r\n\r\n\tlet delta = 0;\r\n\tif (deltaY) {\r\n\t\tdelta = Math.max(-1, Math.min(1, -deltaY));\r\n\t} else if (scrollDir) {\r\n\t\tdelta = Math.max(-1, Math.min(1, scrollDir));\r\n\t}\r\n\r\n\tlet fakeItemWidth = 0;\r\n\r\n\t// advance the scroll position 40 px forward or back, depending on the mouse wheel direction.\r\n\t// eslint-disable-next-line no-mixed-operators\r\n\tlet newScrollLeft = containerScrollLeft - delta * distance;\r\n\r\n\tif (scrollAmount >= distance) {\r\n\t\treturn fakeItemWidth;\r\n\t}\r\n\r\n\t// See the links inside of the main body of FinsembleDnDContext if offsetLeft/Width are unfamiliar to you\r\n\tconst rightEdgeOfScrollingViewport =\r\n\t\tcontainerMeasurements.offsetLeft + containerMeasurements.offsetWidth + newScrollLeft;\r\n\r\n\tconst rightMostEdgeOfScrollingArea = containerMeasurements.offsetLeft + containerMeasurements.scrollWidth;\r\n\r\n\t// if we've scrolled beyond the right-most edge of the area, calculate the fake item width\r\n\tif (rightEdgeOfScrollingViewport > rightMostEdgeOfScrollingArea) {\r\n\t\tfakeItemWidth = newScrollLeft - (containerMeasurements.scrollWidth - containerMeasurements.clientWidth);\r\n\t}\r\n\r\n\t// if we've scrolled past the left-most area, set the scrollLeft to the leftMost edge of the region.\r\n\tif (newScrollLeft < 0) newScrollLeft = 0;\r\n\r\n\tif (newScrollLeft !== containerScrollLeft) {\r\n\t\tsetScrollLeft(newScrollLeft);\r\n\t}\r\n\r\n\treturn fakeItemWidth;\r\n};\r\n\r\n/**\r\n * Simple component that renders the left and right chevrons.\r\n * @param props\r\n */\r\nconst ScrollingChevron = (props: ScrollingChevronProps) => {\r\n\tconst { isDisabled, chevronDirection, showToolTip, title, scrollFunction } = props;\r\n\r\n\tconst classNames = `scroll-button ff-chevron-${chevronDirection} ${isDisabled ? \"greyedOut\" : null}`;\r\n\tconst toolTip = showToolTip ? title : \"\";\r\n\treturn (\r\n\t\t<div className=\"chevron-container\" title={toolTip}>\r\n\t\t\t<i className={classNames} onClick={scrollFunction}></i>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\ntype FinsembleDnDContextProps = {\r\n\tid?: string;\r\n\tleftButtonTooltip?: string;\r\n\trightButtonTooltip?: string;\r\n\tallowHorizontalScroll?: boolean;\r\n\tshowScrollButtonsTooltip?: boolean;\r\n\tchevronScrollDistance?: number;\r\n\tonDragEnd?: Function;\r\n\tonDragStart?: Function;\r\n\tonDragMove?: Function;\r\n\tonDragOver?: Function;\r\n\tonLayoutUpdate?: Function;\r\n\ttransitionDuration?: number;\r\n\tdistance?: number;\r\n\taxis?: AllowableDnDAxis;\r\n\tlockAxis?: AllowableDnDAxis;\r\n\tclassName?: string;\r\n};\r\n\r\n/**\r\n * The FinsembleDnDContext allows for all of the Draggable and Droppable components to work.\r\n * It wraps its children and allows them to do draggy and droppy things.\r\n * It also allows for horizontal containers to provide scrolling functionality.\r\n * @param props\r\n * @param props.id ID for the container that wraps the sortable container\r\n * @param props.allowHorizontalScroll whether the DND context should allow for horizontal scrolling\r\n * @param props.showScrollButtonsTooltip\r\n * @param props.leftButtonTooltip Tooltip for left scroll button\r\n * @param props.rightButtonTooltip Tooltip for right scroll button\r\n * @param props.chevronScrollDistance how far clicking the chevrons should push the content forward or backwards\r\n * @param props.onDragEnd handler for sorting\r\n * @param props.onDragBegin handler for sorting\r\n * @param props.onDragOver\r\n * @param props.onLayoutUpdate handler for rendering. Invokes on useLayoutEffect\r\n * @param props.distance how far the user has to drag an element to trigger sorting behavior\r\n * @param props.axis whether to sort vertically or horizontally.\r\n * @param props.className optional styles to pass the the sortable container\r\n */\r\nexport const FinsembleDnDContext: React.FunctionComponent<FinsembleDnDContextProps> = (props) => {\r\n\tconst { allowHorizontalScroll } = props;\r\n\tconst onDragEnd = props.onDragEnd ?? defaultOnDragEnd;\r\n\tconst onDragBegin = props.onDragStart ?? defaultOnDragBegin;\r\n\tconst onDragMove = props.onDragMove ?? defaultOnDrag;\r\n\tconst onDragOver = props.onDragOver ?? defaultOnDragOver;\r\n\t// This is the numberr of pixels that a draggable element has to be dragged before the sorting kicks in.\r\n\tconst distance = props.distance ?? SORT_CONTAINER_DRAG_DISTANCE;\r\n\tconst onLayoutUpdate = props.onLayoutUpdate ?? defaultOnLayoutUpdate;\r\n\r\n\t// This is the stateful variable that holds the active 'scrollLeft' property for the DOM node\r\n\t// that's rendered inside of the sort container.\r\n\tconst [containerScrollLeft, setContainerScrollLeft] = React.useState(0);\r\n\t// read the comment in doForceUpdate to understand this.\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tconst [forceUpdate, setForceUpdate] = React.useState(0);\r\n\r\n\t// Index of current visible left item\r\n\tconst [leftItemIndex, setLeftItemIndex] = React.useState(0);\r\n\t// Width of fake right (last) item to align the position of the left item\r\n\tconst [fakeItemWidth, setFakeItemWidth] = React.useState(0);\r\n\tconst containerRef = React.useRef<HTMLDivElement>(null);\r\n\r\n\t// An object with all of the measurements that we'll need to set chevron visibility.\r\n\t// If you don't understand client vs offset vs scrollWidth/Left,\r\n\t// go check out this image https://i.stack.imgur.com/Cl1IA.png\r\n\t// Here's an interactive version too: https://jsfiddle.net/y8Y32/25/\r\n\tconst containerMeasurements = containerRef.current\r\n\t\t? {\r\n\t\t\t\tclientLeft: containerRef.current.clientLeft,\r\n\t\t\t\tclientWidth: containerRef.current.clientWidth,\r\n\t\t\t\toffsetLeft: containerRef.current.offsetLeft,\r\n\t\t\t\toffsetWidth: containerRef.current.offsetWidth,\r\n\t\t\t\t// not using the actual container's scrollLeft because it may not have been set yet.\r\n\t\t\t\t// this uses the scrollLeft we have set in state.\r\n\t\t\t\tscrollLeft: containerScrollLeft,\r\n\t\t\t\tscrollWidth: containerRef.current.scrollWidth,\r\n\t\t }\r\n\t\t: DEFAULT_CONTAINER_MEASUREMENTS;\r\n\tconst chevronScrollDistance = props.chevronScrollDistance ?? DEFAULT_CHEVRON_SCROLL_DISTANCE;\r\n\t// Whether the elements inside of the DND container have overflowed the clientWidth.\r\n\tconst isOverflowPresent =\r\n\t\t// Explicitly made this !== 0 instead of just checking whether clientWidth was truthy\r\n\t\t// so it was clear why this check was here. If it's not clear,\r\n\t\t// if the clientWidth of the containerRef is 0, we should not have any chevrons. Ever.\r\n\t\t// A client width of 0 indicates that the Ref's children haven't fully rendered.\r\n\t\tcontainerMeasurements.clientWidth !== 0 &&\r\n\t\t// On a monitor that's scaled at 100%, when clientWidth and scrollWidth are the same\r\n\t\t// there is no overflow present. When monitors are NOT scaled at 100%,\r\n\t\t// there's a chance that these two numbers are off. We'll allow for a 10px variance before\r\n\t\t// showing the scrollbars\r\n\t\t// on a 200% scaled monitor, these two numbers are off by 1.\r\n\t\tMath.abs(containerMeasurements.clientWidth - containerMeasurements.scrollWidth) > 10;\r\n\r\n\tconst showChevrons = allowHorizontalScroll && isOverflowPresent;\r\n\r\n\t// disabled === 'grayed out' and onClick won't fire. When you've scrolled all the way to the left,\r\n\t// the left chevron is disabled. If you've scrolled all the way to the right, the right chevron is disabled\r\n\tconst leftChevronDisabled = !!(showChevrons && containerScrollLeft === 0);\r\n\tconst rightChevronDisabled = !!(\r\n\t\tshowChevrons &&\r\n\t\t/**\r\n\t\t * This is a calculation that figures out where the right edge of the current viewport is.\r\n\t\t * It's a little tricky to imagine. So look at this diagram.\r\n\t\t \t+-------------------------------------------scrollWidth-------------------------------------------+\r\n\t\t\t\t\t\t\t\t |----------------------------------------------------|\r\n\t\t\t\t\t\t\t\t |\t\t\t\t\t\t\t\t\t\t\t\t\t |\r\n\t\t\t+-------------------------------------------------------------------------------------------------+\r\n\t\t\t|(0) |(200) |(200) |(300)\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | |\r\n\t\t\t| | | (A) |\r\n\t\t\t+-------------------------------------------------------------------------------------------------+\r\n\t\t\t\t\t\t\t\t | \t\t\t\t\t\t\t\t\t\t\t\t\t |\r\n\t\t\t\t\t\t\t\t +----------------------clientWidth-------------------+ \r\n\t\t\t\t\t\t\t\t ^ ^\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t | |\r\n\t\t\t\t\t\t\t\t + +\r\n\t\t\t\t\t\t\t\t scrollLeft = 100 scrollRight = 200\r\n\r\n\t\t * The numbers in parens are the numbers for the 'scroll box'. We're trying to figure out where the point labeled (A) is located. \r\n\t\t * \r\n\t\t * Walking through the calculation, we take the scrollWidth and subtract the scrollLeft. This gives us the right edge of the scroll box.\r\n\t\t * offsetWidth is effectively the right edge of the element. If the right edge of the scroll box and the right edge of the element are the same number,\r\n\t\t * then we cannot scroll any further, and the chevron should be disabled.\r\n\t\t */\r\n\t\tcontainerMeasurements.scrollWidth - containerScrollLeft - containerMeasurements.offsetWidth === 0\r\n\t);\r\n\r\n\tconst scrollFunctionState = {\r\n\t\tcontainerScrollLeft,\r\n\t\tcontainerMeasurements,\r\n\t};\r\n\r\n\tconst scrollFunctionStateSetters = {\r\n\t\tsetScrollLeft: setContainerScrollLeft,\r\n\t};\r\n\r\n\t/**\r\n\t * Left Chevron's onClickHandler\r\n\t */\r\n\tconst scrollToLeft = () => {\r\n\t\tif (leftChevronDisabled) return;\r\n\t\tlet visibleLeftItem = containerRef.current?.childNodes[leftItemIndex - 1] as HTMLDivElement;\r\n\t\tlet calculatedFakeItemWidth = scrollHorizontally(\r\n\t\t\tvisibleLeftItem?.clientWidth ?? chevronScrollDistance,\r\n\t\t\tscrollFunctionState,\r\n\t\t\tscrollFunctionStateSetters,\r\n\t\t\t1\r\n\t\t);\r\n\t\tsetFakeItemWidth(calculatedFakeItemWidth as number);\r\n\t\tsetLeftItemIndex(leftItemIndex - 1);\r\n\t};\r\n\r\n\t/**\r\n\t * Right Chevron's onClickHandler\r\n\t */\r\n\tconst scrollToRight = () => {\r\n\t\tif (rightChevronDisabled) return;\r\n\t\tlet visibleLeftItem = containerRef.current?.childNodes[leftItemIndex] as HTMLDivElement;\r\n\t\tlet calculatedFakeItemWidth = scrollHorizontally(\r\n\t\t\tvisibleLeftItem?.clientWidth ?? chevronScrollDistance,\r\n\t\t\tscrollFunctionState,\r\n\t\t\tscrollFunctionStateSetters,\r\n\t\t\t-1\r\n\t\t);\r\n\t\tsetFakeItemWidth(calculatedFakeItemWidth as number);\r\n\t\tsetLeftItemIndex(leftItemIndex + 1);\r\n\t};\r\n\r\n\t/**\r\n\t * \"wheel\" handler. scrolls forward or backwards\r\n\t * @param event\r\n\t */\r\n\tconst scrollme = (event: React.WheelEvent<HTMLDivElement>) => {\r\n\t\tif (!event.nativeEvent.deltaY) return;\r\n\t\tscrollHorizontally(20, scrollFunctionState, scrollFunctionStateSetters, event.nativeEvent.deltaY);\r\n\t};\r\n\r\n\tconst doDOMManipulation = () => {\r\n\t\tif (props.allowHorizontalScroll && containerRef.current) containerRef.current.scrollLeft = containerScrollLeft;\r\n\t};\r\n\r\n\t// This function increments `forceUpdate`, which is a piece of state that's irrelevant to the\r\n\t// rendering of this component. After a resize, we need to re-measure the DOM so we can figure out if\r\n\t// the chevrons are necessary. Because no state changes on a resize. the component doesn't rerender.\r\n\t// This function will change state, which will cause a re-rendering, and the component will be re-measured.\r\n\tconst doForceUpdate = () => {\r\n\t\tsetForceUpdate((currentValueOfForceUpdate) => currentValueOfForceUpdate + 1);\r\n\t};\r\n\r\n\t// After every render, set the actual DOM element's scrollLeft to be whatever we calculated during the previous render.\r\n\tReact.useLayoutEffect(doDOMManipulation);\r\n\t// after the children change, we need to force an update so that we can re-measure the DOM after the render happens\r\n\t// without this, adding and removing elements from the DNDContext won't recalculate whether the chevrons should render\r\n\tReact.useEffect(doForceUpdate, [props.children]);\r\n\t// Whenever the window resizes, force an update so that the DOM is re-measured.\r\n\tReact.useEffect(addResizeHandler(doForceUpdate), []);\r\n\r\n\t/**\r\n\t * Actual container that provides drag and drop functionality\r\n\t */\r\n\tconst SortContainer = SortableContainer((sortableContainerProps: any) => (\r\n\t\t<div onWheel={scrollme} ref={containerRef} className={props.className}>\r\n\t\t\t{sortableContainerProps.children}\r\n\t\t\t{/* fake element for scrolling */}\r\n\t\t\t<div style={{ width: `${fakeItemWidth}px`, flexShrink: 0 }} />\r\n\t\t</div>\r\n\t));\r\n\r\n\t// After every render, call onLayoutUpdate function\r\n\tReact.useLayoutEffect(() => {\r\n\t\tonLayoutUpdate();\r\n\t}, [SortContainer]);\r\n\r\n\treturn (\r\n\t\t<div id={props.id}>\r\n\t\t\t{showChevrons && (\r\n\t\t\t\t<ScrollingChevron\r\n\t\t\t\t\tisDisabled={leftChevronDisabled}\r\n\t\t\t\t\tchevronDirection={ChevronDirection.left}\r\n\t\t\t\t\tshowToolTip={props.showScrollButtonsTooltip}\r\n\t\t\t\t\ttitle={props.leftButtonTooltip}\r\n\t\t\t\t\tscrollFunction={scrollToLeft}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<SortContainer\r\n\t\t\t\tonSortEnd={onDragEnd}\r\n\t\t\t\tonSortStart={onDragBegin}\r\n\t\t\t\tonSortMove={onDragMove}\r\n\t\t\t\tonSortOver={onDragOver}\r\n\t\t\t\tdistance={distance}\r\n\t\t\t\taxis={props.axis ?? AllowableDnDAxis.y}\r\n\t\t\t\tlockAxis={props.lockAxis}\r\n\t\t\t>\r\n\t\t\t\t{props.children}\r\n\t\t\t</SortContainer>\r\n\t\t\t{showChevrons && (\r\n\t\t\t\t<ScrollingChevron\r\n\t\t\t\t\tisDisabled={rightChevronDisabled}\r\n\t\t\t\t\tchevronDirection={ChevronDirection.right}\r\n\t\t\t\t\tshowToolTip={props.showScrollButtonsTooltip}\r\n\t\t\t\t\ttitle={props.rightButtonTooltip}\r\n\t\t\t\t\tscrollFunction={scrollToRight}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
@@ -10,9 +10,9 @@ const SortableItem = SortableElement(({ onClick, className, children, onKeydown
10
10
  }
11
11
  } }, children)));
12
12
  export const FinsembleDraggable = (props) => {
13
- const draggableId = props.draggableId ?? `Id-Unset-${Math.random() * 23214}`;
14
- const isDragDisabled = props.isDragDisabled ?? false;
15
- const onClick = props.onClick ?? defaultClickHandler;
13
+ var _a, _b;
14
+ const draggableId = (_a = props.draggableId) !== null && _a !== void 0 ? _a : `Id-Unset-${Math.random() * 23214}`;
15
+ const onClick = (_b = props.onClick) !== null && _b !== void 0 ? _b : defaultClickHandler;
16
16
  const className = props.wrapperClass;
17
17
  return (React.createElement(SortableItem, { key: draggableId, index: props.index, onClick: onClick, className: className, onKeydown: props.onKeydown }, props.children));
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleDraggable.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDraggable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AASrC,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAqB,EAAE,EAAE,CAAC,CACxG,6BACC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACvC,OAAO,EAAE,CAAC;SACV;QACD,IAAI,SAAS,EAAE;YACd,SAAS,CAAC,CAAC,CAAC,CAAC;SACb;IACF,CAAC,IAEA,QAAQ,CACJ,CACN,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,kBAAkB,GAA4C,CAAC,KAAK,EAAE,EAAE;IACpF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;IAErC,OAAO,CACN,oBAAC,YAAY,IACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAEzB,KAAK,CAAC,QAAQ,CACD,CACf,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { SortableElement } from \"react-sortable-hoc\";\r\nimport * as React from \"react\";\r\n\r\ntype DraggableProps = {\r\n\tdraggableId: string;\r\n\tisDragDisabled?: boolean;\r\n\tindex: number;\r\n\tonClick?: () => void;\r\n\tonKeydown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n\twrapperClass?: string;\r\n};\r\n\r\nconst defaultClickHandler = () => {};\r\n\r\ntype SortableItemProps = {\r\n\tonClick: any;\r\n\tclassName: any;\r\n\tchildren: any;\r\n\tonKeydown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n};\r\n\r\nconst SortableItem = SortableElement(({ onClick, className, children, onKeydown }: SortableItemProps) => (\r\n\t<div\r\n\t\tonClick={onClick}\r\n\t\tclassName={className}\r\n\t\ttabIndex={0}\r\n\t\trole=\"button\"\r\n\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\r\n\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\r\n\t\t\t\tonClick();\r\n\t\t\t}\r\n\t\t\tif (onKeydown) {\r\n\t\t\t\tonKeydown(e);\r\n\t\t\t}\r\n\t\t}}\r\n\t>\r\n\t\t{children}\r\n\t</div>\r\n));\r\n\r\n/**\r\n * A FinsembleDraggable is a helper that makes its children draggable\r\n */\r\nexport const FinsembleDraggable: React.FunctionComponent<DraggableProps> = (props) => {\r\n\tconst draggableId = props.draggableId ?? `Id-Unset-${Math.random() * 23214}`;\r\n\tconst isDragDisabled = props.isDragDisabled ?? false;\r\n\tconst onClick = props.onClick ?? defaultClickHandler;\r\n\tconst className = props.wrapperClass;\r\n\r\n\treturn (\r\n\t\t<SortableItem\r\n\t\t\tkey={draggableId}\r\n\t\t\tindex={props.index}\r\n\t\t\tonClick={onClick}\r\n\t\t\tclassName={className}\r\n\t\t\tonKeydown={props.onKeydown}\r\n\t\t>\r\n\t\t\t{props.children}\r\n\t\t</SortableItem>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleDraggable.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleDraggable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AASrC,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAqB,EAAE,EAAE,CAAC,CACxG,6BACC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAsC,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACvC,OAAO,EAAE,CAAC;SACV;QACD,IAAI,SAAS,EAAE;YACd,SAAS,CAAC,CAAC,CAAC,CAAC;SACb;IACF,CAAC,IAEA,QAAQ,CACJ,CACN,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,kBAAkB,GAA4C,CAAC,KAAK,EAAE,EAAE;;IACpF,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,YAAY,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,mBAAmB,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;IAErC,OAAO,CACN,oBAAC,YAAY,IACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAEzB,KAAK,CAAC,QAAQ,CACD,CACf,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { SortableElement } from \"react-sortable-hoc\";\r\nimport * as React from \"react\";\r\n\r\ntype DraggableProps = {\r\n\tdraggableId: string;\r\n\tisDragDisabled?: boolean;\r\n\tindex: number;\r\n\tonClick?: () => void;\r\n\tonKeydown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n\twrapperClass?: string;\r\n};\r\n\r\nconst defaultClickHandler = () => {};\r\n\r\ntype SortableItemProps = {\r\n\tonClick: any;\r\n\tclassName: any;\r\n\tchildren: any;\r\n\tonKeydown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n};\r\n\r\nconst SortableItem = SortableElement(({ onClick, className, children, onKeydown }: SortableItemProps) => (\r\n\t<div\r\n\t\tonClick={onClick}\r\n\t\tclassName={className}\r\n\t\ttabIndex={0}\r\n\t\trole=\"button\"\r\n\t\tonKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\r\n\t\t\tif ([\"Enter\", \"Space\"].includes(e.key)) {\r\n\t\t\t\tonClick();\r\n\t\t\t}\r\n\t\t\tif (onKeydown) {\r\n\t\t\t\tonKeydown(e);\r\n\t\t\t}\r\n\t\t}}\r\n\t>\r\n\t\t{children}\r\n\t</div>\r\n));\r\n\r\n/**\r\n * A FinsembleDraggable is a helper that makes its children draggable\r\n */\r\nexport const FinsembleDraggable: React.FunctionComponent<DraggableProps> = (props) => {\r\n\tconst draggableId = props.draggableId ?? `Id-Unset-${Math.random() * 23214}`;\r\n\tconst onClick = props.onClick ?? defaultClickHandler;\r\n\tconst className = props.wrapperClass;\r\n\r\n\treturn (\r\n\t\t<SortableItem\r\n\t\t\tkey={draggableId}\r\n\t\t\tindex={props.index}\r\n\t\t\tonClick={onClick}\r\n\t\t\tclassName={className}\r\n\t\t\tonKeydown={props.onKeydown}\r\n\t\t>\r\n\t\t\t{props.children}\r\n\t\t</SortableItem>\r\n\t);\r\n};\r\n"]}
@@ -1,12 +1,13 @@
1
1
  import * as React from "react";
2
2
  export const FinsembleHoverDetector = (props) => {
3
+ var _a;
3
4
  const onMouseEnter = () => {
4
5
  props.hoverAction("true");
5
6
  };
6
7
  const onMouseLeave = () => {
7
8
  props.hoverAction("false");
8
9
  };
9
- let edge = props.edge ?? "";
10
+ let edge = (_a = props.edge) !== null && _a !== void 0 ? _a : "";
10
11
  let top = 5, bottom = 5, left = 5, right = 5;
11
12
  if (edge !== "") {
12
13
  top = bottom = left = right = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleHoverDetector.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleHoverDetector.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,CAAC,MAAM,sBAAsB,GAAyD,CAAC,KAAK,EAAE,EAAE;IAMrG,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC;IAOF,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,EACV,MAAM,GAAG,CAAC,EACV,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,IAAI,KAAK,EAAE,EAAE;QAChB,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAE,GAAG,GAAG,CAAC,CAAC;QAC5C,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC;QAC9C,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;KAChD;IAED,OAAO,CACN,6BACC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACd,GACK,CACP,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport * as React from \"react\";\r\n\r\ntype FinsembleHoverDetectorProps = {\r\n\thoverAction: (hovering: string) => void;\r\n\tedge: string;\r\n};\r\n/**\r\n * This detects mouseover and mouseout and reacts by setting the hover attribute of the parent. We use this because the :hover pseudo-class doesn't detect\r\n * when the mouse leaves if it is on the edge of a finsemble window. This class requires the property \"hoverAction\" which should point back to a function\r\n * in the parent class to call to toggle the hover state. Also requires the property \"edge\" which can be \"right\",\"left\",\"top\",\"bottom\" or a combination (separated by whitespace).\r\n * The hover detector will set its positioning within the parent element depending on which edges are enabled. If edge is not specified, then 5 pixels will be left on every edge.\r\n *\r\n * The parent element must have position: relative or position: absolute!\r\n *\r\n * @since version 3.1.1 FinsembleHoverDetector is now in the finsemble-react-controls repo\r\n * @since version 3.1.1 FinsembleHoverDetector now uses dynamic styles. The fsbl-hover-detector-* css classes are deprecated.\r\n */\r\nexport const FinsembleHoverDetector: React.FunctionComponent<FinsembleHoverDetectorProps> = (props) => {\r\n\t/**\r\n\t * When the mouse enters the hoverDetector, we fire off the action that's passed in from the parent.\r\n\t *\r\n\t * @memberof FinsembleHoverDetector\r\n\t */\r\n\tconst onMouseEnter = () => {\r\n\t\tprops.hoverAction(\"true\");\r\n\t};\r\n\r\n\t/**\r\n\t * When the mouse enters the hoverDetector, we fire off the action that's passed in from the parent.\r\n\t *\r\n\t * @memberof FinsembleHoverDetector\r\n\t */\r\n\tconst onMouseLeave = () => {\r\n\t\tprops.hoverAction(\"false\");\r\n\t};\r\n\r\n\tlet edge = props.edge ?? \"\";\r\n\tlet top = 5,\r\n\t\tbottom = 5,\r\n\t\tleft = 5,\r\n\t\tright = 5;\r\n\r\n\tif (edge !== \"\") {\r\n\t\ttop = bottom = left = right = 0;\r\n\t\tconst splitEdge = edge.split(/[ ,]+/); // split by whitespace or commas\r\n\t\tif (splitEdge.indexOf(\"top\") != -1) top = 5;\r\n\t\tif (splitEdge.indexOf(\"bottom\") != -1) bottom = 5;\r\n\t\tif (splitEdge.indexOf(\"left\") != -1) left = 5;\r\n\t\tif (splitEdge.indexOf(\"right\") != -1) right = 5;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tonMouseEnter={onMouseEnter}\r\n\t\t\tonMouseLeave={onMouseLeave}\r\n\t\t\tstyle={{\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tleft: left,\r\n\t\t\t\tright: right,\r\n\t\t\t\ttop: top,\r\n\t\t\t\tbottom: bottom,\r\n\t\t\t}}\r\n\t\t></div>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"FinsembleHoverDetector.js","sourceRoot":"","sources":["../../../src/components/legacyControls/FinsembleHoverDetector.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,CAAC,MAAM,sBAAsB,GAAyD,CAAC,KAAK,EAAE,EAAE;;IAMrG,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC;IAOF,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAI,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,EACV,MAAM,GAAG,CAAC,EACV,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,IAAI,KAAK,EAAE,EAAE;QAChB,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAE,GAAG,GAAG,CAAC,CAAC;QAC5C,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC;QAC9C,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;KAChD;IAED,OAAO,CACN,6BACC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACd,GACK,CACP,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport * as React from \"react\";\r\n\r\ntype FinsembleHoverDetectorProps = {\r\n\thoverAction: (hovering: string) => void;\r\n\tedge: string;\r\n};\r\n/**\r\n * This detects mouseover and mouseout and reacts by setting the hover attribute of the parent. We use this because the :hover pseudo-class doesn't detect\r\n * when the mouse leaves if it is on the edge of a finsemble window. This class requires the property \"hoverAction\" which should point back to a function\r\n * in the parent class to call to toggle the hover state. Also requires the property \"edge\" which can be \"right\",\"left\",\"top\",\"bottom\" or a combination (separated by whitespace).\r\n * The hover detector will set its positioning within the parent element depending on which edges are enabled. If edge is not specified, then 5 pixels will be left on every edge.\r\n *\r\n * The parent element must have position: relative or position: absolute!\r\n *\r\n * @since version 3.1.1 FinsembleHoverDetector is now in the finsemble-react-controls repo\r\n * @since version 3.1.1 FinsembleHoverDetector now uses dynamic styles. The fsbl-hover-detector-* css classes are deprecated.\r\n */\r\nexport const FinsembleHoverDetector: React.FunctionComponent<FinsembleHoverDetectorProps> = (props) => {\r\n\t/**\r\n\t * When the mouse enters the hoverDetector, we fire off the action that's passed in from the parent.\r\n\t *\r\n\t * @memberof FinsembleHoverDetector\r\n\t */\r\n\tconst onMouseEnter = () => {\r\n\t\tprops.hoverAction(\"true\");\r\n\t};\r\n\r\n\t/**\r\n\t * When the mouse enters the hoverDetector, we fire off the action that's passed in from the parent.\r\n\t *\r\n\t * @memberof FinsembleHoverDetector\r\n\t */\r\n\tconst onMouseLeave = () => {\r\n\t\tprops.hoverAction(\"false\");\r\n\t};\r\n\r\n\tlet edge = props.edge ?? \"\";\r\n\tlet top = 5,\r\n\t\tbottom = 5,\r\n\t\tleft = 5,\r\n\t\tright = 5;\r\n\r\n\tif (edge !== \"\") {\r\n\t\ttop = bottom = left = right = 0;\r\n\t\tconst splitEdge = edge.split(/[ ,]+/); // split by whitespace or commas\r\n\t\tif (splitEdge.indexOf(\"top\") != -1) top = 5;\r\n\t\tif (splitEdge.indexOf(\"bottom\") != -1) bottom = 5;\r\n\t\tif (splitEdge.indexOf(\"left\") != -1) left = 5;\r\n\t\tif (splitEdge.indexOf(\"right\") != -1) right = 5;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tonMouseEnter={onMouseEnter}\r\n\t\t\tonMouseLeave={onMouseLeave}\r\n\t\t\tstyle={{\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tleft: left,\r\n\t\t\t\tright: right,\r\n\t\t\t\ttop: top,\r\n\t\t\t\tbottom: bottom,\r\n\t\t\t}}\r\n\t\t></div>\r\n\t);\r\n};\r\n"]}