@finsemble/finsemble-ui 6.4.0-beta.1 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (755) hide show
  1. package/README.md +28 -28
  2. package/package.json +20 -19
  3. package/react/actions/favoriteActions.js.map +1 -1
  4. package/react/actions/linkerActions.js.map +1 -1
  5. package/react/actions/menuActions.js.map +1 -1
  6. package/react/actions/rootActions.js.map +1 -1
  7. package/react/actions/searchActions.js.map +1 -1
  8. package/react/actions/smartDesktopDesignerActions.d.ts +6 -2
  9. package/react/actions/smartDesktopDesignerActions.js +2 -0
  10. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  11. package/react/actions/toolbarActions.js.map +1 -1
  12. package/react/actions/workspaceActions.js.map +1 -1
  13. package/react/assets/css/advancedAppLauncher.css +636 -636
  14. package/react/assets/css/appCatalog.css +1069 -1069
  15. package/react/assets/css/authentication.css +78 -78
  16. package/react/assets/css/button.css +220 -220
  17. package/react/assets/css/core/formElements.css +23 -23
  18. package/react/assets/css/core/icons.css +69 -69
  19. package/react/assets/css/core/notifications.css +75 -75
  20. package/react/assets/css/core/windowFrame.css +36 -36
  21. package/react/assets/css/dashbar.css +78 -78
  22. package/react/assets/css/defaultTheme.css +356 -356
  23. package/react/assets/css/dialogs.css +158 -158
  24. package/react/assets/css/favorites.css +101 -101
  25. package/react/assets/css/finsemble.css +38 -38
  26. package/react/assets/css/focus.css +4 -4
  27. package/react/assets/css/font-finance.css +385 -385
  28. package/react/assets/css/fonts/Open_Sans/LICENSE.txt +202 -202
  29. package/react/assets/css/fonts/Open_Sans/OpenSans-Definition.css +118 -118
  30. package/react/assets/css/fonts/font-finance.svg +124 -124
  31. package/react/assets/css/fonts/icons-reference.html +1174 -1174
  32. package/react/assets/css/linkerWindow.css +124 -124
  33. package/react/assets/css/menus.css +195 -195
  34. package/react/assets/css/notificationsCenter.css +597 -597
  35. package/react/assets/css/processMonitor.css +213 -213
  36. package/react/assets/css/search.css +128 -128
  37. package/react/assets/css/shared/animations.css +99 -99
  38. package/react/assets/css/tags.css +136 -136
  39. package/react/assets/css/toolbar.css +413 -413
  40. package/react/assets/css/userPreferences.css +538 -538
  41. package/react/assets/css/windowTitleBar.css +653 -652
  42. package/react/assets/icons/always-on-top.svg +20 -0
  43. package/react/assets/icons/caret.svg +7 -7
  44. package/react/assets/icons/check-square.svg +5 -5
  45. package/react/assets/icons/check.svg +3 -3
  46. package/react/assets/icons/chevron-left.svg +3 -3
  47. package/react/assets/icons/chevron-right.svg +3 -3
  48. package/react/assets/icons/close.svg +11 -0
  49. package/react/assets/icons/code-block.svg +15 -0
  50. package/react/assets/icons/copy.svg +10 -10
  51. package/react/assets/icons/documentation.svg +20 -0
  52. package/react/assets/icons/exclamation-circle.svg +4 -4
  53. package/react/assets/icons/external-link.svg +12 -12
  54. package/react/assets/icons/flag.svg +10 -10
  55. package/react/assets/icons/folder.svg +3 -3
  56. package/react/assets/icons/font.svg +3 -3
  57. package/react/assets/icons/globe.svg +3 -3
  58. package/react/assets/icons/hdd.svg +9 -9
  59. package/react/assets/icons/key.svg +10 -10
  60. package/react/assets/icons/life-ring.svg +3 -3
  61. package/react/assets/icons/linker.svg +18 -0
  62. package/react/assets/icons/lock.svg +5 -5
  63. package/react/assets/icons/magic.svg +15 -15
  64. package/react/assets/icons/maximize.svg +16 -0
  65. package/react/assets/icons/minimize.svg +15 -0
  66. package/react/assets/icons/moon.svg +10 -10
  67. package/react/assets/icons/paint-roller.svg +3 -3
  68. package/react/assets/icons/pencil.svg +10 -10
  69. package/react/assets/icons/plus.svg +3 -3
  70. package/react/assets/icons/question-circle.svg +5 -5
  71. package/react/assets/icons/search.svg +3 -3
  72. package/react/assets/icons/sun.svg +9 -9
  73. package/react/assets/icons/times.svg +3 -3
  74. package/react/assets/icons/toggle-off.svg +6 -6
  75. package/react/assets/icons/toggle-on.svg +6 -6
  76. package/react/assets/icons/toolbar.svg +12 -12
  77. package/react/assets/icons/tools.svg +3 -3
  78. package/react/assets/icons/trash.svg +12 -12
  79. package/react/assets/icons/upload.svg +10 -10
  80. package/react/assets/icons/window.svg +3 -3
  81. package/react/assets/img/finsemble-display.png +0 -0
  82. package/react/componentTemplateGenerator.js +85 -85
  83. package/react/componentTemplateGenerator.js.map +1 -1
  84. package/react/components/FinsembleProvider.js.map +1 -1
  85. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  86. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  87. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  88. package/react/components/appCatalog/components/AppList.js.map +1 -1
  89. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  90. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  91. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  92. package/react/components/appCatalog/components/Hero.js.map +1 -1
  93. package/react/components/appCatalog/components/Home.js.map +1 -1
  94. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  95. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  96. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  97. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  98. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  99. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  100. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  101. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  102. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  103. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  104. package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
  105. package/react/components/appCatalog/components/Tag.js.map +1 -1
  106. package/react/components/appCatalog/components/Toast.js.map +1 -1
  107. package/react/components/appCatalog/components/helpers.js.map +1 -1
  108. package/react/components/appCatalog/index.js.map +1 -1
  109. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  110. package/react/components/appCatalog/modules/FDC3.d.ts +1 -1
  111. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  112. package/react/components/appCatalog/stores/appStore.d.ts +2 -2
  113. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  114. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  115. package/react/components/common/Accordion.js +1 -1
  116. package/react/components/common/Accordion.js.map +1 -1
  117. package/react/components/common/Button.js.map +1 -1
  118. package/react/components/common/ButtonIcon.js.map +1 -1
  119. package/react/components/common/ButtonRow.js.map +1 -1
  120. package/react/components/common/ButtonTile.js.map +1 -1
  121. package/react/components/common/Checkbox.js +1 -1
  122. package/react/components/common/Checkbox.js.map +1 -1
  123. package/react/components/common/ColorPicker.js.map +1 -1
  124. package/react/components/common/DropZone.js +3 -1
  125. package/react/components/common/DropZone.js.map +1 -1
  126. package/react/components/common/DropdownButton.js.map +1 -1
  127. package/react/components/common/FileInput.d.ts +2 -1
  128. package/react/components/common/FileInput.js +9 -4
  129. package/react/components/common/FileInput.js.map +1 -1
  130. package/react/components/common/FinsembleIcon.d.ts +1 -1
  131. package/react/components/common/FinsembleIcon.js +15 -1
  132. package/react/components/common/FinsembleIcon.js.map +1 -1
  133. package/react/components/common/FinsembleSelect.js +1 -1
  134. package/react/components/common/FinsembleSelect.js.map +1 -1
  135. package/react/components/common/FinsembleToggle.js.map +1 -1
  136. package/react/components/common/Header.js +3 -1
  137. package/react/components/common/Header.js.map +1 -1
  138. package/react/components/common/ImagePreview.js.map +1 -1
  139. package/react/components/common/InputTable.js.map +1 -1
  140. package/react/components/common/LoadingSpinner.js.map +1 -1
  141. package/react/components/common/Tab.js.map +1 -1
  142. package/react/components/common/Tooltip.js +3 -1
  143. package/react/components/common/Tooltip.js.map +1 -1
  144. package/react/components/common/css/accordion.css +99 -89
  145. package/react/components/common/css/application-edit-page.css +324 -223
  146. package/react/components/common/css/application-list.css +53 -47
  147. package/react/components/common/css/button.css +166 -166
  148. package/react/components/common/css/checkbox.css +30 -31
  149. package/react/components/common/css/color-picker.css +52 -52
  150. package/react/components/common/css/drop-zone.css +17 -17
  151. package/react/components/common/css/file-input.css +65 -49
  152. package/react/components/common/css/header.css +30 -32
  153. package/react/components/common/css/icon.css +13 -13
  154. package/react/components/common/css/image-preview.css +57 -57
  155. package/react/components/common/css/loading-spinner.css +39 -39
  156. package/react/components/common/css/preload-edit-page.css +37 -0
  157. package/react/components/common/css/selector.css +51 -51
  158. package/react/components/common/css/styles.css +127 -128
  159. package/react/components/common/css/tab.css +56 -56
  160. package/react/components/common/css/toggle.css +32 -32
  161. package/react/components/common/css/tooltip.css +78 -78
  162. package/react/components/common/file_helpers.js.map +1 -1
  163. package/react/components/common/fixtures/FinsembleIcon.css +4 -4
  164. package/react/components/common/helpers.js.map +1 -1
  165. package/react/components/common/stories/Accordion.stories.js.map +1 -1
  166. package/react/components/common/stories/Button.stories.js.map +1 -1
  167. package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
  168. package/react/components/common/stories/ButtonRow.stories.js.map +1 -1
  169. package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
  170. package/react/components/common/stories/Checkbox.stories.js.map +1 -1
  171. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  172. package/react/components/common/stories/DropZone.stories.js.map +1 -1
  173. package/react/components/common/stories/DropdownButton.stories.js.map +1 -1
  174. package/react/components/common/stories/FileInput.stories.d.ts +2 -1
  175. package/react/components/common/stories/FileInput.stories.js +6 -0
  176. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  177. package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
  178. package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
  179. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  180. package/react/components/common/stories/Header.stories.js.map +1 -1
  181. package/react/components/common/stories/ImagePreview.stories.js.map +1 -1
  182. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  183. package/react/components/common/stories/LoadingSpinner.stories.js.map +1 -1
  184. package/react/components/common/stories/Tab.stories.js.map +1 -1
  185. package/react/components/common/stories/Tooltip.stories.js.map +1 -1
  186. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  187. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  188. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  189. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  190. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  191. package/react/components/common/tests/FileInput.spec.js +20 -5
  192. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  193. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  194. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  195. package/react/components/common/tests/Header.spec.js +6 -2
  196. package/react/components/common/tests/Header.spec.js.map +1 -1
  197. package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
  198. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  199. package/react/components/common/tests/Tab.spec.js.map +1 -1
  200. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  201. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  202. package/react/components/favorites/FavoritesShell.js.map +1 -1
  203. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  204. package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
  205. package/react/components/favorites/index.js.map +1 -1
  206. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  207. package/react/components/fdc3Resolver/ResolverDialog.css +126 -126
  208. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  209. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  210. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  211. package/react/components/icon/Icon.js.map +1 -1
  212. package/react/components/icon/index.js.map +1 -1
  213. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  214. package/react/components/legacyControls/FinsembleDialogButton.js +1 -1
  215. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  216. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  217. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  218. package/react/components/legacyControls/FinsembleDnDContext.d.ts +2 -1
  219. package/react/components/legacyControls/FinsembleDnDContext.js +8 -6
  220. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  221. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  222. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  223. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  224. package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
  225. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
  226. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
  227. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
  228. package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
  229. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  230. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
  231. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  232. package/react/components/linker/LinkerMenu.js.map +1 -1
  233. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  234. package/react/components/linker/index.js.map +1 -1
  235. package/react/components/linker/remoteRedux.d.ts +1 -1
  236. package/react/components/linker/remoteRedux.js.map +1 -1
  237. package/react/components/menu/Menu.d.ts +1 -0
  238. package/react/components/menu/Menu.js.map +1 -1
  239. package/react/components/menu/MenuAutoResizer.d.ts +2 -1
  240. package/react/components/menu/MenuAutoResizer.js +3 -2
  241. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  242. package/react/components/menu/MenuContent.js.map +1 -1
  243. package/react/components/menu/MenuHotKey.js.map +1 -1
  244. package/react/components/menu/MenuItem.js.map +1 -1
  245. package/react/components/menu/MenuPortal.js +118 -92
  246. package/react/components/menu/MenuPortal.js.map +1 -1
  247. package/react/components/menu/MenuShell.d.ts +1 -0
  248. package/react/components/menu/MenuShell.js +3 -2
  249. package/react/components/menu/MenuShell.js.map +1 -1
  250. package/react/components/menu/MenuToggle.js.map +1 -1
  251. package/react/components/menu/index.js.map +1 -1
  252. package/react/components/menu/keyboardNavigation.js.map +1 -1
  253. package/react/components/menu/menuContext.d.ts +1 -0
  254. package/react/components/menu/menuContext.js.map +1 -1
  255. package/react/components/menu/menuHelpers.d.ts +1 -1
  256. package/react/components/menu/menuHelpers.js +2 -2
  257. package/react/components/menu/menuHelpers.js.map +1 -1
  258. package/react/components/notifications/components/NoNotifications.js.map +1 -1
  259. package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
  260. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  261. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  262. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  263. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +20 -27
  264. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  265. package/react/components/notifications/components/shared/CheckButton.d.ts +1 -1
  266. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  267. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  268. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +1 -1
  269. package/react/components/notifications/components/shared/NotificationCardShell.js +1 -1
  270. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  271. package/react/components/notifications/components/shared/OverflowMenu.d.ts +1 -1
  272. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  273. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +1 -1
  274. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  275. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.js.map +1 -1
  276. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +1 -1
  277. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  278. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +1 -1
  279. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  280. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.js.map +1 -1
  281. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +1 -1
  282. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  283. package/react/components/notifications/components/views/CardView.js.map +1 -1
  284. package/react/components/notifications/components/views/ListView.d.ts +1 -1
  285. package/react/components/notifications/components/views/ListView.js +1 -1
  286. package/react/components/notifications/components/views/ListView.js.map +1 -1
  287. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +1 -1
  288. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  289. package/react/components/notifications/constants.js.map +1 -1
  290. package/react/components/notifications/icons/Card.js.map +1 -1
  291. package/react/components/notifications/icons/Chevron.js.map +1 -1
  292. package/react/components/notifications/icons/CloseIcon.js.map +1 -1
  293. package/react/components/notifications/icons/EnvelopeClose.js.map +1 -1
  294. package/react/components/notifications/icons/EnvelopeOpen.js.map +1 -1
  295. package/react/components/notifications/icons/SnoozeIcon.js.map +1 -1
  296. package/react/components/notifications/index.js.map +1 -1
  297. package/react/components/notifications/notificationsContext.js.map +1 -1
  298. package/react/components/notifications/types.d.ts +1 -1
  299. package/react/components/notifications/types.js.map +1 -1
  300. package/react/components/notifications/utils.d.ts +1 -1
  301. package/react/components/notifications/utils.js.map +1 -1
  302. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  303. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -1
  304. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  305. package/react/components/processMonitor/components/ListHeader.d.ts +1 -1
  306. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  307. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  308. package/react/components/processMonitor/constants.js.map +1 -1
  309. package/react/components/processMonitor/helpers.js.map +1 -1
  310. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  311. package/react/components/processMonitor/index.js.map +1 -1
  312. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +4 -3
  313. package/react/components/processMonitor/stores/ProcessMonitorStore.js +51 -50
  314. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  315. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  316. package/react/components/quickComponentForm/index.js.map +1 -1
  317. package/react/components/quickComponentForm/quickComponent.css +3 -3
  318. package/react/components/search/Highlight.js.map +1 -1
  319. package/react/components/search/Highlight.spec.js.map +1 -1
  320. package/react/components/search/Highlight.stories.js.map +1 -1
  321. package/react/components/search/Search.js.map +1 -1
  322. package/react/components/search/SearchBestMatch.js.map +1 -1
  323. package/react/components/search/SearchInput.js.map +1 -1
  324. package/react/components/search/SearchProviderResults.js.map +1 -1
  325. package/react/components/search/SearchResult.js +4 -3
  326. package/react/components/search/SearchResult.js.map +1 -1
  327. package/react/components/search/SearchResults.js.map +1 -1
  328. package/react/components/search/index.js.map +1 -1
  329. package/react/components/shared/Animate.js.map +1 -1
  330. package/react/components/shared/BellIcon.js.map +1 -1
  331. package/react/components/shared/BellIconCrossed.js.map +1 -1
  332. package/react/components/shared/Button.js.map +1 -1
  333. package/react/components/shared/ConditionalWrapper.js.map +1 -1
  334. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  335. package/react/components/shared/NavigationButton.js.map +1 -1
  336. package/react/components/shared/Tag.js.map +1 -1
  337. package/react/components/shared/TagsMenu.js.map +1 -1
  338. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  339. package/react/components/shared/linkerUtil.js.map +1 -1
  340. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  341. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  342. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
  343. package/react/components/shared/validateURL.js.map +1 -1
  344. package/react/components/shared/validateURL.spec.js.map +1 -1
  345. package/react/components/singleInputDialog/SingleInputDialog.css +3 -3
  346. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  347. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
  348. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  349. package/react/components/singleInputDialog/index.js.map +1 -1
  350. package/react/components/smartDesktopDesigner/AddApp.d.ts +2 -2
  351. package/react/components/smartDesktopDesigner/AddApp.js +28 -17
  352. package/react/components/smartDesktopDesigner/AddApp.js.map +1 -1
  353. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
  354. package/react/components/smartDesktopDesigner/AppEditPage.d.ts +2 -2
  355. package/react/components/smartDesktopDesigner/AppEditPage.js +311 -242
  356. package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
  357. package/react/components/smartDesktopDesigner/Appearance.css +35 -28
  358. package/react/components/smartDesktopDesigner/Appearance.helpers.js.map +1 -1
  359. package/react/components/smartDesktopDesigner/Appearance.js +1 -1
  360. package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
  361. package/react/components/smartDesktopDesigner/Application.d.ts +10 -3
  362. package/react/components/smartDesktopDesigner/Application.js +37 -44
  363. package/react/components/smartDesktopDesigner/Application.js.map +1 -1
  364. package/react/components/smartDesktopDesigner/Applications.d.ts +2 -0
  365. package/react/components/smartDesktopDesigner/Applications.js +29 -20
  366. package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
  367. package/react/components/smartDesktopDesigner/AssetsPage.css +26 -26
  368. package/react/components/smartDesktopDesigner/AssetsPage.js.map +1 -1
  369. package/react/components/smartDesktopDesigner/Authentication.js +2 -9
  370. package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
  371. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -1
  372. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
  373. package/react/components/smartDesktopDesigner/Content.js.map +1 -1
  374. package/react/components/smartDesktopDesigner/ContentHeader.d.ts +5 -0
  375. package/react/components/smartDesktopDesigner/ContentHeader.js +10 -0
  376. package/react/components/smartDesktopDesigner/ContentHeader.js.map +1 -0
  377. package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
  378. package/react/components/smartDesktopDesigner/EditPreload.d.ts +14 -0
  379. package/react/components/smartDesktopDesigner/EditPreload.js +169 -0
  380. package/react/components/smartDesktopDesigner/EditPreload.js.map +1 -0
  381. package/react/components/smartDesktopDesigner/Export.js +5 -5
  382. package/react/components/smartDesktopDesigner/Export.js.map +1 -1
  383. package/react/components/smartDesktopDesigner/ExportCloud.d.ts +3 -1
  384. package/react/components/smartDesktopDesigner/ExportCloud.js +4 -4
  385. package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
  386. package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
  387. package/react/components/smartDesktopDesigner/ExportZip.d.ts +3 -1
  388. package/react/components/smartDesktopDesigner/ExportZip.js +8 -3
  389. package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
  390. package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -0
  391. package/react/components/smartDesktopDesigner/GettingStarted.js +11 -22
  392. package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
  393. package/react/components/smartDesktopDesigner/ItemList.d.ts +17 -0
  394. package/react/components/smartDesktopDesigner/ItemList.js +58 -0
  395. package/react/components/smartDesktopDesigner/ItemList.js.map +1 -0
  396. package/react/components/smartDesktopDesigner/Navigation.js.map +1 -1
  397. package/react/components/smartDesktopDesigner/OptionalSettingsView.d.ts +11 -0
  398. package/react/components/smartDesktopDesigner/OptionalSettingsView.js +71 -0
  399. package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +1 -0
  400. package/react/components/smartDesktopDesigner/Preloads.d.ts +8 -0
  401. package/react/components/smartDesktopDesigner/Preloads.js +26 -0
  402. package/react/components/smartDesktopDesigner/Preloads.js.map +1 -0
  403. package/react/components/smartDesktopDesigner/ProjectErrors.js.map +1 -1
  404. package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
  405. package/react/components/smartDesktopDesigner/PublishProgress.js.map +1 -1
  406. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -1
  407. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +34 -3
  408. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  409. package/react/components/smartDesktopDesigner/ThemePage.css +109 -109
  410. package/react/components/smartDesktopDesigner/ThemePage.js +0 -7
  411. package/react/components/smartDesktopDesigner/ThemePage.js.map +1 -1
  412. package/react/components/smartDesktopDesigner/Themes.js +0 -2
  413. package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
  414. package/react/components/smartDesktopDesigner/Toolbar.js +16 -18
  415. package/react/components/smartDesktopDesigner/Toolbar.js.map +1 -1
  416. package/react/components/smartDesktopDesigner/View.js +1 -1
  417. package/react/components/smartDesktopDesigner/View.js.map +1 -1
  418. package/react/components/smartDesktopDesigner/common/fsbl_functions.d.ts +1 -1
  419. package/react/components/smartDesktopDesigner/common/fsbl_functions.js +2 -2
  420. package/react/components/smartDesktopDesigner/common/fsbl_functions.js.map +1 -1
  421. package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
  422. package/react/components/smartDesktopDesigner/common/views.js +27 -3
  423. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  424. package/react/components/smartDesktopDesigner/css/appearance.css +21 -18
  425. package/react/components/smartDesktopDesigner/css/applications.css +167 -167
  426. package/react/components/smartDesktopDesigner/css/authentication.css +119 -130
  427. package/react/components/smartDesktopDesigner/css/buttons.css +12 -12
  428. package/react/components/smartDesktopDesigner/css/export.css +176 -167
  429. package/react/components/smartDesktopDesigner/css/getting-started.css +28 -8
  430. package/react/components/smartDesktopDesigner/css/nav.css +120 -109
  431. package/react/components/smartDesktopDesigner/css/project-errors.css +15 -15
  432. package/react/components/smartDesktopDesigner/css/project-header.css +124 -121
  433. package/react/components/smartDesktopDesigner/css/styles.css +178 -179
  434. package/react/components/smartDesktopDesigner/css/views.css +23 -17
  435. package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +1 -1
  436. package/react/components/smartDesktopDesigner/fixtures/apps.js +23 -1
  437. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
  438. package/react/components/smartDesktopDesigner/fixtures/authenticationProps.js.map +1 -1
  439. package/react/components/smartDesktopDesigner/fixtures/configTemplate.js.map +1 -1
  440. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
  441. package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +22 -0
  442. package/react/components/smartDesktopDesigner/fixtures/preloads.js +40 -0
  443. package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +1 -0
  444. package/react/components/smartDesktopDesigner/fixtures/projectErrorsProps.js.map +1 -1
  445. package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +1 -1
  446. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
  447. package/react/components/smartDesktopDesigner/fixtures/themeProps.js.map +1 -1
  448. package/react/components/smartDesktopDesigner/fixtures/views.js +14 -6
  449. package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
  450. package/react/components/smartDesktopDesigner/sdd_helpers.js +1 -1
  451. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
  452. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +2 -1
  453. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +2 -0
  454. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
  455. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
  456. package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
  457. package/react/components/smartDesktopDesigner/stories/AssetsPage.stories.js.map +1 -1
  458. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
  459. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.d.ts +10 -0
  460. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js +13 -0
  461. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js.map +1 -0
  462. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +11 -0
  463. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +35 -0
  464. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +1 -0
  465. package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
  466. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.d.ts +1 -1
  467. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +1 -1
  468. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
  469. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.d.ts +1 -1
  470. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +1 -1
  471. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
  472. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
  473. package/react/components/smartDesktopDesigner/stories/ItemList.stories.d.ts +16 -0
  474. package/react/components/smartDesktopDesigner/stories/{ApplicationList.stories.js → ItemList.stories.js} +30 -23
  475. package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +1 -0
  476. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
  477. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.d.ts +11 -0
  478. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +28 -0
  479. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +1 -0
  480. package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +11 -0
  481. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +31 -0
  482. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +1 -0
  483. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
  484. package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
  485. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
  486. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +7 -1
  487. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
  488. package/react/components/smartDesktopDesigner/stories/ThemePage.stories.js.map +1 -1
  489. package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
  490. package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js.map +1 -1
  491. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +1100 -311
  492. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
  493. package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.d.ts → Application.spec.d.ts} +0 -0
  494. package/react/components/smartDesktopDesigner/tests/Application.spec.js +1496 -0
  495. package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +1 -0
  496. package/react/components/smartDesktopDesigner/tests/Applications.spec.d.ts +1 -1
  497. package/react/components/smartDesktopDesigner/tests/Applications.spec.js +94 -7
  498. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
  499. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
  500. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.d.ts +1 -0
  501. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js +31 -0
  502. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js.map +1 -0
  503. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.d.ts +1 -0
  504. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js +61 -0
  505. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +1 -0
  506. package/react/components/smartDesktopDesigner/tests/Export.spec.js +95 -0
  507. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
  508. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +7 -0
  509. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
  510. package/react/components/smartDesktopDesigner/tests/ItemList.spec.d.ts +1 -0
  511. package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js} +8 -8
  512. package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +1 -0
  513. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
  514. package/react/components/smartDesktopDesigner/tests/Preloads.spec.d.ts +1 -0
  515. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +47 -0
  516. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +1 -0
  517. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +1 -1
  518. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
  519. package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
  520. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
  521. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +7 -30
  522. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
  523. package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
  524. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.d.ts +1 -1
  525. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js +5 -6
  526. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js.map +1 -1
  527. package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
  528. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js +1 -0
  529. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js.map +1 -1
  530. package/react/components/smartDesktopDesigner/themeDefinitions.js.map +1 -1
  531. package/react/components/system/System.js.map +1 -1
  532. package/react/components/system/System.spec.js.map +1 -1
  533. package/react/components/system/System.stories.js.map +1 -1
  534. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  535. package/react/components/system/index.js.map +1 -1
  536. package/react/components/toolbar/AutoArrange.js.map +1 -1
  537. package/react/components/toolbar/DragHandle.js.map +1 -1
  538. package/react/components/toolbar/DragHandle.spec.d.ts +1 -0
  539. package/react/components/toolbar/DragHandle.spec.js +31 -0
  540. package/react/components/toolbar/DragHandle.spec.js.map +1 -0
  541. package/react/components/toolbar/DragHandle.stories.d.ts +13 -0
  542. package/react/components/toolbar/DragHandle.stories.js +39 -0
  543. package/react/components/toolbar/DragHandle.stories.js.map +1 -0
  544. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  545. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  546. package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
  547. package/react/components/toolbar/NotificationControl.js.map +1 -1
  548. package/react/components/toolbar/RevealAll.js.map +1 -1
  549. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  550. package/react/components/toolbar/RevealAll.stories.js.map +1 -1
  551. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  552. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  553. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  554. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +1 -1
  555. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  556. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
  557. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  558. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  559. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  560. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  561. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
  562. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +1 -1
  563. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  564. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  565. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +1 -1
  566. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +47 -45
  567. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  568. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  569. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
  570. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  571. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
  572. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +1 -1
  573. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  574. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  575. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  576. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  577. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  578. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +2 -2
  579. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  580. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  581. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  582. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  583. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +1 -1
  584. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +1 -0
  585. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  586. package/react/components/toolbar/appLauncher/appLauncher.css +30 -30
  587. package/react/components/toolbar/appLauncher/components/componentList.d.ts +2 -2
  588. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  589. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +3 -2
  590. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +17 -34
  591. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  592. package/react/components/toolbar/dashbar/Dashbar.js +9 -12
  593. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  594. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  595. package/react/components/toolbar/index.js.map +1 -1
  596. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +2 -2
  597. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  598. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +1 -1
  599. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  600. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  601. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +1 -1
  602. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  603. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +4 -4
  604. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
  605. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  606. package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +90 -90
  607. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  608. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -1
  609. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  610. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  611. package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
  612. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  613. package/react/components/userPreferences/components/LeftNav.js.map +1 -1
  614. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  615. package/react/components/userPreferences/components/content/DashbarEditorItem.js.map +1 -1
  616. package/react/components/userPreferences/components/content/General.js.map +1 -1
  617. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  618. package/react/components/userPreferences/components/content/Workspaces.d.ts +1 -1
  619. package/react/components/userPreferences/components/content/Workspaces.js +1 -1
  620. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  621. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  622. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  623. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  624. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  625. package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
  626. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  627. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
  628. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  629. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
  630. package/react/components/userPreferences/index.js.map +1 -1
  631. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +1 -1
  632. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  633. package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
  634. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -1
  635. package/react/components/userPreferences/stories/General.stories.js.map +1 -1
  636. package/react/components/userPreferences/stories/Notifications.stories.js.map +1 -1
  637. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -1
  638. package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -1
  639. package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -1
  640. package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -1
  641. package/react/components/userPreferences/stories/WorkspaceComponents.stories.js.map +1 -1
  642. package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -1
  643. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -1
  644. package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -1
  645. package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -1
  646. package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -1
  647. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -1
  648. package/react/components/userPreferences/tests/General.spec.js.map +1 -1
  649. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
  650. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -1
  651. package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -1
  652. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  653. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -1
  654. package/react/components/userPreferences/tests/ScheduledRestart.spec.js +1 -1
  655. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
  656. package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -1
  657. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -1
  658. package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -1
  659. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -1
  660. package/react/components/utils.js.map +1 -1
  661. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +4 -2
  662. package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -59
  663. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  664. package/react/components/windowTitleBar/components/center/Tab.d.ts +0 -1
  665. package/react/components/windowTitleBar/components/center/Tab.js +2 -2
  666. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  667. package/react/components/windowTitleBar/components/center/TabList.d.ts +2 -3
  668. package/react/components/windowTitleBar/components/center/TabList.js +19 -82
  669. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  670. package/react/components/windowTitleBar/components/center/TabRegion.js.map +1 -1
  671. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  672. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  673. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  674. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  675. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  676. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  677. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  678. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  679. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +7 -0
  680. package/react/components/windowTitleBar/components/right/MaximizeButton.js +8 -2
  681. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  682. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  683. package/react/components/windowTitleBar/components/windowTitle.d.ts +9 -6
  684. package/react/components/windowTitleBar/components/windowTitle.js +154 -45
  685. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  686. package/react/components/windowTitleBar/index.js.map +1 -1
  687. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +3 -3
  688. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +213 -217
  689. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  690. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
  691. package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
  692. package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
  693. package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
  694. package/react/components/yesNoDialog/YesNoDialog.css +3 -3
  695. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  696. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  697. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  698. package/react/components/yesNoDialog/index.js.map +1 -1
  699. package/react/components/yesNoDialog/timer.js.map +1 -1
  700. package/react/enzymeSetup.js.map +1 -1
  701. package/react/hooks/index.js.map +1 -1
  702. package/react/hooks/useAuth.js.map +1 -1
  703. package/react/hooks/useDashbar.js.map +1 -1
  704. package/react/hooks/useDeepEffect.js.map +1 -1
  705. package/react/hooks/useFavorites.js.map +1 -1
  706. package/react/hooks/useFavoritesShell.js.map +1 -1
  707. package/react/hooks/useHotkey.js.map +1 -1
  708. package/react/hooks/useLinker.js.map +1 -1
  709. package/react/hooks/useMenu.js.map +1 -1
  710. package/react/hooks/useNotifications.d.ts +1 -1
  711. package/react/hooks/useNotifications.js.map +1 -1
  712. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  713. package/react/hooks/usePubSub.js.map +1 -1
  714. package/react/hooks/useSearch.js.map +1 -1
  715. package/react/hooks/useToolbar.js.map +1 -1
  716. package/react/hooks/useWorkspace.js.map +1 -1
  717. package/react/reducers/favoriteReducer.js.map +1 -1
  718. package/react/reducers/linkerReducer.js.map +1 -1
  719. package/react/reducers/menuReducer.js.map +1 -1
  720. package/react/reducers/rootReducer.d.ts +11 -3
  721. package/react/reducers/rootReducer.js.map +1 -1
  722. package/react/reducers/searchReducer.js.map +1 -1
  723. package/react/reducers/smartDesktopDesignerReducer.js +8 -0
  724. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  725. package/react/reducers/toolbarReducer.js.map +1 -1
  726. package/react/reducers/workspaceReducer.js.map +1 -1
  727. package/react/store.d.ts +22 -6
  728. package/react/store.js.map +1 -1
  729. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  730. package/react/types/dashbarTypes.js.map +1 -1
  731. package/react/types/favoriteTypes.js.map +1 -1
  732. package/react/types/fdc3.d.ts +2 -2
  733. package/react/types/fdc3.js.map +1 -1
  734. package/react/types/hotkeyTypes.js.map +1 -1
  735. package/react/types/iconTypes.js.map +1 -1
  736. package/react/types/linkerTypes.js.map +1 -1
  737. package/react/types/searchTypes.d.ts +1 -8
  738. package/react/types/searchTypes.js.map +1 -1
  739. package/react/types/smartDesktopDesignerTypes.d.ts +8 -2
  740. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  741. package/react/types/windowTitleBar.d.ts +4 -2
  742. package/react/types/windowTitleBar.js.map +1 -1
  743. package/react/types/workspaceTypes.js.map +1 -1
  744. package/react/components/common/FontSizeSelector.d.ts +0 -7
  745. package/react/components/common/FontSizeSelector.js +0 -42
  746. package/react/components/common/FontSizeSelector.js.map +0 -1
  747. package/react/components/common/stories/FontSizeSelector.stories.d.ts +0 -12
  748. package/react/components/common/stories/FontSizeSelector.stories.js +0 -24
  749. package/react/components/common/stories/FontSizeSelector.stories.js.map +0 -1
  750. package/react/components/smartDesktopDesigner/ApplicationList.d.ts +0 -15
  751. package/react/components/smartDesktopDesigner/ApplicationList.js +0 -56
  752. package/react/components/smartDesktopDesigner/ApplicationList.js.map +0 -1
  753. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.d.ts +0 -15
  754. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +0 -1
  755. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPage.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/AssetsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport React from \"react\";\r\nimport { ImagePreview, ImagePreviewSize } from \"../common/ImagePreview\";\r\nimport { FileInputUploadCb } from \"../common/FileInput\";\r\nimport { Tooltip } from \"../common/Tooltip\";\r\nimport \"./AssetsPage.css\";\r\n\r\nexport type AssetsPageProps = {\r\n\tbaseURL: string;\r\n\ttoolbarIcon: string;\r\n\tsetToolbarIcon: (s: string) => void;\r\n\ttaskbarIcon: string;\r\n\tsetTaskbarIcon: (s: string) => void;\r\n\tinstallerIcon: string;\r\n\tsetInstallerIcon: (s: string) => void;\r\n\tsystemTrayIcon: string;\r\n\tsetSystemTrayIcon: (s: string) => void;\r\n\tsplashScreenImage: string;\r\n\tsetSplashScreenImage: (s: string) => void;\r\n\tsetIconsChanged: (n: number) => void;\r\n\tupdateSplashScreen: FileInputUploadCb;\r\n\tupdateToolbarIcon: FileInputUploadCb;\r\n\tupdateTaskbarIcon: FileInputUploadCb;\r\n\tupdateSystemTrayIcon: FileInputUploadCb;\r\n\tupdateInstallerIcon: FileInputUploadCb;\r\n};\r\n\r\nexport const AssetsPage = ({\r\n\tbaseURL,\r\n\ttoolbarIcon,\r\n\tsetToolbarIcon,\r\n\ttaskbarIcon,\r\n\tsetTaskbarIcon,\r\n\tinstallerIcon,\r\n\tsetInstallerIcon,\r\n\tsystemTrayIcon,\r\n\tsetSystemTrayIcon,\r\n\tsplashScreenImage,\r\n\tsetSplashScreenImage,\r\n\tsetIconsChanged,\r\n\tupdateSplashScreen,\r\n\tupdateToolbarIcon,\r\n\tupdateTaskbarIcon,\r\n\tupdateSystemTrayIcon,\r\n\tupdateInstallerIcon,\r\n}: AssetsPageProps) => (\r\n\t<div className=\"images-section\">\r\n\t\t<fieldset className=\"project-assets\">\r\n\t\t\t<div className=\"project-assets-field\">\r\n\t\t\t\t<label htmlFor=\"export-splash-screen\">\r\n\t\t\t\t\t<span>Splash screen</span>\r\n\r\n\t\t\t\t\t<Tooltip>The Splash screen should be 600px X 400px (W x H). Supported formats are PNG, JPG, and GIF.</Tooltip>\r\n\t\t\t\t</label>\r\n\r\n\t\t\t\t<div className=\"project-splash-screen-field\">\r\n\t\t\t\t\t<ImagePreview\r\n\t\t\t\t\t\tid=\"export-splash-screen\"\r\n\t\t\t\t\t\tvalue={splashScreenImage}\r\n\t\t\t\t\t\tonSetValue={(value: string) => {\r\n\t\t\t\t\t\t\tsetSplashScreenImage(value);\r\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tuploadFunction={updateSplashScreen}\r\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\r\n\t\t\t\t\t\tbaseURL={baseURL}\r\n\t\t\t\t\t\tpreviewSize={ImagePreviewSize.LARGE}\r\n\t\t\t\t\t></ImagePreview>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className=\"project-assets-field\">\r\n\t\t\t\t<label htmlFor=\"export-toolbar-icon\">\r\n\t\t\t\t\t<span>Toolbar icon</span>\r\n\r\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 200px X 200px. Supported formats are PNG, JPG, and GIF.</Tooltip>\r\n\t\t\t\t</label>\r\n\r\n\t\t\t\t<div className=\"project-icon-field\">\r\n\t\t\t\t\t<ImagePreview\r\n\t\t\t\t\t\tid=\"export-toolbar-icon\"\r\n\t\t\t\t\t\tvalue={toolbarIcon}\r\n\t\t\t\t\t\tonSetValue={(value: string) => {\r\n\t\t\t\t\t\t\tsetToolbarIcon(value);\r\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tuploadFunction={updateToolbarIcon}\r\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\r\n\t\t\t\t\t\tbaseURL={baseURL}\r\n\t\t\t\t\t></ImagePreview>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className=\"project-assets-field\">\r\n\t\t\t\t<label htmlFor=\"export-taskbar-icon\">\r\n\t\t\t\t\t<span>Taskbar icon</span>\r\n\r\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 400px X 400px. Supported formats are PNG and JPG</Tooltip>\r\n\t\t\t\t</label>\r\n\r\n\t\t\t\t<div className=\"project-icon-field\">\r\n\t\t\t\t\t<ImagePreview\r\n\t\t\t\t\t\tvalue={taskbarIcon}\r\n\t\t\t\t\t\tid=\"export-taskbar-icon\"\r\n\t\t\t\t\t\tonSetValue={(value: string) => {\r\n\t\t\t\t\t\t\tsetTaskbarIcon(value);\r\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tuploadFunction={updateTaskbarIcon}\r\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\r\n\t\t\t\t\t\tbaseURL={baseURL}\r\n\t\t\t\t\t></ImagePreview>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className=\"project-assets-field\">\r\n\t\t\t\t<label htmlFor=\"export-system-tray-icon\">\r\n\t\t\t\t\t<span>System Tray Icon</span>\r\n\r\n\t\t\t\t\t<Tooltip>The System tray icon should be 100px X 100px. Supported formats are PNG and JPG.</Tooltip>\r\n\t\t\t\t</label>\r\n\r\n\t\t\t\t<div className=\"project-icon-field\">\r\n\t\t\t\t\t<ImagePreview\r\n\t\t\t\t\t\tvalue={systemTrayIcon}\r\n\t\t\t\t\t\tid=\"export-system-tray-icon\"\r\n\t\t\t\t\t\tonSetValue={(value: string) => {\r\n\t\t\t\t\t\t\tsetSystemTrayIcon(value);\r\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tuploadFunction={updateSystemTrayIcon}\r\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\r\n\t\t\t\t\t\tbaseURL={baseURL}\r\n\t\t\t\t\t></ImagePreview>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className=\"project-assets-field\">\r\n\t\t\t\t<label htmlFor=\"export-installer-icon\">\r\n\t\t\t\t\t<span>Installer Icon</span>\r\n\r\n\t\t\t\t\t<Tooltip>\r\n\t\t\t\t\t\tInstaller icons must use the ICO format. You can create and ICO image from a PNG file using free online\r\n\t\t\t\t\t\tservices. See the User Guide for more information.\r\n\t\t\t\t\t</Tooltip>\r\n\t\t\t\t</label>\r\n\r\n\t\t\t\t<div className=\"project-icon-field\">\r\n\t\t\t\t\t<ImagePreview\r\n\t\t\t\t\t\tvalue={installerIcon}\r\n\t\t\t\t\t\tid=\"export-installer-icon\"\r\n\t\t\t\t\t\tonSetValue={(value: string) => {\r\n\t\t\t\t\t\t\tsetInstallerIcon(value);\r\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tuploadFunction={updateInstallerIcon}\r\n\t\t\t\t\t\tacceptTypes={[\"image/x-icon\"]}\r\n\t\t\t\t\t\tbaseURL={baseURL}\r\n\t\t\t\t\t></ImagePreview>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</fieldset>\r\n\t</div>\r\n);\r\n"]}
1
+ {"version":3,"file":"AssetsPage.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/AssetsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { ImagePreview, ImagePreviewSize } from \"../common/ImagePreview\";\nimport { FileInputUploadCb } from \"../common/FileInput\";\nimport { Tooltip } from \"../common/Tooltip\";\nimport \"./AssetsPage.css\";\n\nexport type AssetsPageProps = {\n\tbaseURL: string;\n\ttoolbarIcon: string;\n\tsetToolbarIcon: (s: string) => void;\n\ttaskbarIcon: string;\n\tsetTaskbarIcon: (s: string) => void;\n\tinstallerIcon: string;\n\tsetInstallerIcon: (s: string) => void;\n\tsystemTrayIcon: string;\n\tsetSystemTrayIcon: (s: string) => void;\n\tsplashScreenImage: string;\n\tsetSplashScreenImage: (s: string) => void;\n\tsetIconsChanged: (n: number) => void;\n\tupdateSplashScreen: FileInputUploadCb;\n\tupdateToolbarIcon: FileInputUploadCb;\n\tupdateTaskbarIcon: FileInputUploadCb;\n\tupdateSystemTrayIcon: FileInputUploadCb;\n\tupdateInstallerIcon: FileInputUploadCb;\n};\n\nexport const AssetsPage = ({\n\tbaseURL,\n\ttoolbarIcon,\n\tsetToolbarIcon,\n\ttaskbarIcon,\n\tsetTaskbarIcon,\n\tinstallerIcon,\n\tsetInstallerIcon,\n\tsystemTrayIcon,\n\tsetSystemTrayIcon,\n\tsplashScreenImage,\n\tsetSplashScreenImage,\n\tsetIconsChanged,\n\tupdateSplashScreen,\n\tupdateToolbarIcon,\n\tupdateTaskbarIcon,\n\tupdateSystemTrayIcon,\n\tupdateInstallerIcon,\n}: AssetsPageProps) => (\n\t<div className=\"images-section\">\n\t\t<fieldset className=\"project-assets\">\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-splash-screen\">\n\t\t\t\t\t<span>Splash screen</span>\n\n\t\t\t\t\t<Tooltip>The Splash screen should be 600px X 400px (W x H). Supported formats are PNG, JPG, and GIF.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-splash-screen-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tid=\"export-splash-screen\"\n\t\t\t\t\t\tvalue={splashScreenImage}\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetSplashScreenImage(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateSplashScreen}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\tpreviewSize={ImagePreviewSize.LARGE}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-toolbar-icon\">\n\t\t\t\t\t<span>Toolbar icon</span>\n\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 200px X 200px. Supported formats are PNG, JPG, and GIF.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tid=\"export-toolbar-icon\"\n\t\t\t\t\t\tvalue={toolbarIcon}\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetToolbarIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateToolbarIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-taskbar-icon\">\n\t\t\t\t\t<span>Taskbar icon</span>\n\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 400px X 400px. Supported formats are PNG and JPG</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={taskbarIcon}\n\t\t\t\t\t\tid=\"export-taskbar-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetTaskbarIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateTaskbarIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-system-tray-icon\">\n\t\t\t\t\t<span>System Tray Icon</span>\n\n\t\t\t\t\t<Tooltip>The System tray icon should be 100px X 100px. Supported formats are PNG and JPG.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={systemTrayIcon}\n\t\t\t\t\t\tid=\"export-system-tray-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetSystemTrayIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateSystemTrayIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-installer-icon\">\n\t\t\t\t\t<span>Installer Icon</span>\n\n\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\tInstaller icons must use the ICO format. You can create and ICO image from a PNG file using free online\n\t\t\t\t\t\tservices. See the User Guide for more information.\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={installerIcon}\n\t\t\t\t\t\tid=\"export-installer-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetInstallerIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateInstallerIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/x-icon\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</fieldset>\n\t</div>\n);\n"]}
@@ -40,7 +40,7 @@ export const Authentication = (props) => {
40
40
  }
41
41
  return (React.createElement(View, null,
42
42
  React.createElement(Header, { helpFunction: () => {
43
- launchTutorialLink("configuring-authentication");
43
+ launchTutorialLink("SDD-05-Authentication");
44
44
  } }, "Authentication"),
45
45
  React.createElement(Content, null,
46
46
  React.createElement("div", { className: "auth-setup-content" },
@@ -61,13 +61,6 @@ export const Authentication = (props) => {
61
61
  shownProvider && (React.createElement("div", { className: "auth-setup-toggle-mode" },
62
62
  React.createElement(Button, { className: "auth-setup-toggle-mode-button", fashion: "ghost", text: !isAdvancedMode ? "Show advanced" : "Hide advanced", onClick: () => {
63
63
  setIsAdvancedMode(!isAdvancedMode);
64
- } })))),
65
- React.createElement("div", { className: "auth-setup-tutorial" },
66
- React.createElement("h3", null, "Step 1"),
67
- React.createElement("p", null, "Select your OAuth2 provider from the dropdown list."),
68
- React.createElement("h3", null, "Step 2"),
69
- React.createElement("p", null, "Copy the provided Redirect URL into the OAuth2 app configuration for your service provider."),
70
- React.createElement("h3", null, "Step 3"),
71
- React.createElement("p", null, "Save the app configuration on your OAuth2 service provider, and then input the given Client ID and any other configuration settings."))))));
64
+ } }))))))));
72
65
  };
73
66
  //# sourceMappingURL=Authentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Authentication.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Authentication.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { Header } from \"../common/Header\";\r\nimport \"./css/authentication.css\";\r\nimport { View } from \"./View\";\r\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\r\nimport { useDispatch, useSelector } from \"../../store\";\r\nimport { RootState } from \"../../reducers/rootReducer\";\r\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\r\nimport { AuthenticationProviderConfig } from \"./AuthenticationProviderConfig\";\r\nimport { AuthenticationProvider } from \"../../types/smartDesktopDesignerTypes\";\r\nimport { Content } from \"./Content\";\r\nimport { Tooltip } from \"../common/Tooltip\";\r\nimport { Button } from \"../common/Button\";\r\n\r\nexport type AuthenticationProps = {\r\n\tgetAuthenticationProviders: () => Promise<AuthenticationProvider[]>;\r\n\tsetAuthenticationProviders: (authenticationProviders: any) => Promise<Error | null>;\r\n\ttestAuthenticationProvider: (provider: AuthenticationProvider) => Promise<null>;\r\n};\r\n\r\nexport const Authentication = (props: AuthenticationProps) => {\r\n\tconst dispatch = useDispatch();\r\n\tconst authProviders = useSelector((state: RootState) => state.smartDesktopDesigner.authentication.providers);\r\n\tconst enabledAuthProviders = authProviders.filter((provider) => provider.enabled);\r\n\r\n\tconst [isAdvancedMode, setIsAdvancedMode] = useState(false);\r\n\tconst shownProvider = enabledAuthProviders[0];\r\n\r\n\tuseEffect(() => {\r\n\t\tprops.getAuthenticationProviders().then((providers) => {\r\n\t\t\tproviders.forEach((provider) => {\r\n\t\t\t\tdispatch(SmartDesktopDesignerActions.update_auth_provider(provider));\r\n\t\t\t});\r\n\t\t});\r\n\t}, []);\r\n\r\n\tfunction updateAuthProviders(value: AuthenticationProvider | null) {\r\n\t\tconst name = value ? value.name : \"none\";\r\n\r\n\t\tprops\r\n\t\t\t.setAuthenticationProviders(\r\n\t\t\t\tauthProviders.map((provider) => {\r\n\t\t\t\t\tif (name === provider.name) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...value,\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...provider,\r\n\t\t\t\t\t\tenabled: false,\r\n\t\t\t\t\t};\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.update_auth_provider(value));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdispatch(SmartDesktopDesignerActions.enable_auth_provider(name));\r\n\t\t\t});\r\n\t}\r\n\r\n\treturn (\r\n\t\t<View>\r\n\t\t\t<Header\r\n\t\t\t\thelpFunction={() => {\r\n\t\t\t\t\tlaunchTutorialLink(\"configuring-authentication\");\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\tAuthentication\r\n\t\t\t</Header>\r\n\t\t\t<Content>\r\n\t\t\t\t<div className=\"auth-setup-content\">\r\n\t\t\t\t\t<form className=\"auth-setup-form\" onSubmit={(e) => e.preventDefault()}>\r\n\t\t\t\t\t\t<div className=\"auth-setup-fields\">\r\n\t\t\t\t\t\t\t<div className=\"auth-setup-provider\">\r\n\t\t\t\t\t\t\t\t<div className=\"auth-setup-field\">\r\n\t\t\t\t\t\t\t\t\t<label>Provider</label>\r\n\r\n\t\t\t\t\t\t\t\t\t<select\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"Authentication Provider\"\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"auth-setup-select-provider\"\r\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateAuthProviders(authProviders.find((p) => p.name === e.target.value) || null);\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tvalue={enabledAuthProviders.map((provider) => provider.name)[0] || \"none\"}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"none\">None</option>\r\n\t\t\t\t\t\t\t\t\t\t{authProviders.map((provider, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t<option key={index} value={provider.name}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{provider.name}\r\n\t\t\t\t\t\t\t\t\t\t\t</option>\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t</select>\r\n\t\t\t\t\t\t\t\t\t<Tooltip>\r\n\t\t\t\t\t\t\t\t\t\tChoose from the list of OAuth providers to configure Single Sign On (SSO) for your project.\r\n\t\t\t\t\t\t\t\t\t</Tooltip>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t{shownProvider && (\r\n\t\t\t\t\t\t\t\t\t<AuthenticationProviderConfig\r\n\t\t\t\t\t\t\t\t\t\tkey={shownProvider.name}\r\n\t\t\t\t\t\t\t\t\t\tvalue={shownProvider}\r\n\t\t\t\t\t\t\t\t\t\tisAdvancedMode={isAdvancedMode}\r\n\t\t\t\t\t\t\t\t\t\ttestAuthenticationProvider={props.testAuthenticationProvider}\r\n\t\t\t\t\t\t\t\t\t\tonChange={(value) => {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateAuthProviders(value);\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\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</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t{shownProvider && (\r\n\t\t\t\t\t\t\t<div className=\"auth-setup-toggle-mode\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclassName=\"auth-setup-toggle-mode-button\"\r\n\t\t\t\t\t\t\t\t\tfashion=\"ghost\"\r\n\t\t\t\t\t\t\t\t\ttext={!isAdvancedMode ? \"Show advanced\" : \"Hide advanced\"}\r\n\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\tsetIsAdvancedMode(!isAdvancedMode);\r\n\t\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</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</form>\r\n\t\t\t\t\t<div className=\"auth-setup-tutorial\">\r\n\t\t\t\t\t\t<h3>Step 1</h3>\r\n\r\n\t\t\t\t\t\t<p>Select your OAuth2 provider from the dropdown list.</p>\r\n\r\n\t\t\t\t\t\t<h3>Step 2</h3>\r\n\r\n\t\t\t\t\t\t<p>Copy the provided Redirect URL into the OAuth2 app configuration for your service provider.</p>\r\n\r\n\t\t\t\t\t\t<h3>Step 3</h3>\r\n\r\n\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\tSave the app configuration on your OAuth2 service provider, and then input the given Client ID and any\r\n\t\t\t\t\t\t\tother configuration settings.\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</Content>\r\n\t\t</View>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"Authentication.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Authentication.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Header } from \"../common/Header\";\nimport \"./css/authentication.css\";\nimport { View } from \"./View\";\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\nimport { useDispatch, useSelector } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { AuthenticationProviderConfig } from \"./AuthenticationProviderConfig\";\nimport { AuthenticationProvider } from \"../../types/smartDesktopDesignerTypes\";\nimport { Content } from \"./Content\";\nimport { Tooltip } from \"../common/Tooltip\";\nimport { Button } from \"../common/Button\";\n\nexport type AuthenticationProps = {\n\tgetAuthenticationProviders: () => Promise<AuthenticationProvider[]>;\n\tsetAuthenticationProviders: (authenticationProviders: any) => Promise<Error | null>;\n\ttestAuthenticationProvider: (provider: AuthenticationProvider) => Promise<null>;\n};\n\nexport const Authentication = (props: AuthenticationProps) => {\n\tconst dispatch = useDispatch();\n\tconst authProviders = useSelector((state: RootState) => state.smartDesktopDesigner.authentication.providers);\n\tconst enabledAuthProviders = authProviders.filter((provider) => provider.enabled);\n\n\tconst [isAdvancedMode, setIsAdvancedMode] = useState(false);\n\tconst shownProvider = enabledAuthProviders[0];\n\n\tuseEffect(() => {\n\t\tprops.getAuthenticationProviders().then((providers) => {\n\t\t\tproviders.forEach((provider) => {\n\t\t\t\tdispatch(SmartDesktopDesignerActions.update_auth_provider(provider));\n\t\t\t});\n\t\t});\n\t}, []);\n\n\tfunction updateAuthProviders(value: AuthenticationProvider | null) {\n\t\tconst name = value ? value.name : \"none\";\n\n\t\tprops\n\t\t\t.setAuthenticationProviders(\n\t\t\t\tauthProviders.map((provider) => {\n\t\t\t\t\tif (name === provider.name) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...provider,\n\t\t\t\t\t\tenabled: false,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t)\n\t\t\t.then(() => {\n\t\t\t\tif (value) {\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.update_auth_provider(value));\n\t\t\t\t}\n\n\t\t\t\tdispatch(SmartDesktopDesignerActions.enable_auth_provider(name));\n\t\t\t});\n\t}\n\n\treturn (\n\t\t<View>\n\t\t\t<Header\n\t\t\t\thelpFunction={() => {\n\t\t\t\t\tlaunchTutorialLink(\"SDD-05-Authentication\");\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tAuthentication\n\t\t\t</Header>\n\t\t\t<Content>\n\t\t\t\t<div className=\"auth-setup-content\">\n\t\t\t\t\t<form className=\"auth-setup-form\" onSubmit={(e) => e.preventDefault()}>\n\t\t\t\t\t\t<div className=\"auth-setup-fields\">\n\t\t\t\t\t\t\t<div className=\"auth-setup-provider\">\n\t\t\t\t\t\t\t\t<div className=\"auth-setup-field\">\n\t\t\t\t\t\t\t\t\t<label>Provider</label>\n\n\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\taria-label=\"Authentication Provider\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"auth-setup-select-provider\"\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tupdateAuthProviders(authProviders.find((p) => p.name === e.target.value) || null);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvalue={enabledAuthProviders.map((provider) => provider.name)[0] || \"none\"}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<option value=\"none\">None</option>\n\t\t\t\t\t\t\t\t\t\t{authProviders.map((provider, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<option key={index} value={provider.name}>\n\t\t\t\t\t\t\t\t\t\t\t\t{provider.name}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\tChoose from the list of OAuth providers to configure Single Sign On (SSO) for your project.\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{shownProvider && (\n\t\t\t\t\t\t\t\t\t<AuthenticationProviderConfig\n\t\t\t\t\t\t\t\t\t\tkey={shownProvider.name}\n\t\t\t\t\t\t\t\t\t\tvalue={shownProvider}\n\t\t\t\t\t\t\t\t\t\tisAdvancedMode={isAdvancedMode}\n\t\t\t\t\t\t\t\t\t\ttestAuthenticationProvider={props.testAuthenticationProvider}\n\t\t\t\t\t\t\t\t\t\tonChange={(value) => {\n\t\t\t\t\t\t\t\t\t\t\tupdateAuthProviders(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{shownProvider && (\n\t\t\t\t\t\t\t<div className=\"auth-setup-toggle-mode\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"auth-setup-toggle-mode-button\"\n\t\t\t\t\t\t\t\t\tfashion=\"ghost\"\n\t\t\t\t\t\t\t\t\ttext={!isAdvancedMode ? \"Show advanced\" : \"Hide advanced\"}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tsetIsAdvancedMode(!isAdvancedMode);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</Content>\n\t\t</View>\n\t);\n};\n"]}
@@ -83,6 +83,6 @@ export const AuthenticationProviderConfig = (props) => {
83
83
  React.createElement(FinsembleIcon, { icon: "check" }),
84
84
  " Configuration Saved")),
85
85
  React.createElement("div", { className: "auth-setup-actions" },
86
- React.createElement(Button, { fashion: "secondary", text: "Test & Save", onClick: save, disabled: !endpointURLValid }))));
86
+ React.createElement(Button, { fashion: "secondary", text: "Test and save", onClick: save, disabled: !endpointURLValid }))));
87
87
  };
88
88
  //# sourceMappingURL=AuthenticationProviderConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationProviderConfig.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/AuthenticationProviderConfig.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useRef, useState } from \"react\";\r\nimport { AuthenticationProvider } from \"../../types/smartDesktopDesignerTypes\";\r\nimport { Button } from \"../common/Button\";\r\nimport { ButtonIcon } from \"../common/ButtonIcon\";\r\nimport { FinsembleToggle } from \"../common/FinsembleToggle\";\r\nimport { Tooltip } from \"../common/Tooltip\";\r\nimport { FinsembleIcon } from \"../common/FinsembleIcon\";\r\n\r\nexport type AuthenticationProviderProps = {\r\n\tvalue: AuthenticationProvider;\r\n\tonChange: (provider: AuthenticationProvider) => void;\r\n\ttestAuthenticationProvider: (provider: AuthenticationProvider) => Promise<null>;\r\n\tisAdvancedMode: boolean;\r\n};\r\n\r\nexport const AuthenticationProviderConfig = (props: AuthenticationProviderProps) => {\r\n\tconst provider = props.value;\r\n\r\n\tconst redirectURIField = useRef<HTMLInputElement | null>(null);\r\n\r\n\tconst [clientID, setClientID] = useState(provider.client_id || \"\");\r\n\tconst [endpointURL, setEndpointURL] = useState(provider.authorization_endpoint);\r\n\tconst [scope, setScope] = useState(provider.scope);\r\n\tconst [redirectURI, setRedirectURI] = useState(provider.redirect_uri);\r\n\tconst [nonce, setNonce] = useState(provider.nonce);\r\n\tconst [authError, setAuthError] = useState<string | null>(null);\r\n\tconst [authSuccess, setAuthSuccess] = useState<boolean>(false);\r\n\r\n\tconst checkValid = (stateValue: string, storeValue: string) => {\r\n\t\tif (stateValue === storeValue) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn stateValue.length > 0;\r\n\t};\r\n\r\n\tconst clientIDValid = checkValid(clientID, provider.client_id || \"\");\r\n\tconst endpointURLValid = endpointURL && FSBL.Clients.SmartDesktopClient.checkValidURL(endpointURL || \"\");\r\n\r\n\tconst save = () => {\r\n\t\tconst providerObject: AuthenticationProvider = {\r\n\t\t\t...provider,\r\n\t\t\t...(clientIDValid ? { client_id: clientID } : {}),\r\n\t\t\t// ...(secretValid ? { secret } : {}),\r\n\t\t\t...(endpointURLValid ? { authorization_endpoint: endpointURL } : {}),\r\n\t\t\t...(redirectURI ? { redirect_uri: redirectURI } : {}),\r\n\t\t\t...{ scope },\r\n\t\t\t...{ nonce },\r\n\t\t};\r\n\r\n\t\tsetAuthSuccess(false);\r\n\t\tsetAuthError(null);\r\n\r\n\t\tprops\r\n\t\t\t.testAuthenticationProvider(providerObject)\r\n\t\t\t.then(() => {\r\n\t\t\t\tsetAuthSuccess(true);\r\n\t\t\t\tprops.onChange(providerObject);\r\n\t\t\t})\r\n\t\t\t.catch((err: any) => {\r\n\t\t\t\tsetAuthError(err);\r\n\t\t\t});\r\n\t};\r\n\r\n\tif (!redirectURI) {\r\n\t\tsetRedirectURI(`https://cloud.finsemble.com/sso/oauth/response`);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{/* The simple fields */}\r\n\t\t\t<>\r\n\t\t\t\t<div className=\"auth-setup-field auth-setup-redirect\">\r\n\t\t\t\t\t<label>Redirect URL</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\tclassName=\"auth-setup-redirect-input\"\r\n\t\t\t\t\t\taria-label=\"Redirect URL\"\r\n\t\t\t\t\t\tref={redirectURIField}\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tvalue={redirectURI}\r\n\t\t\t\t\t\treadOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<ButtonIcon\r\n\t\t\t\t\t\tclassName=\"auth-setup-redirect-button\"\r\n\t\t\t\t\t\ttext=\"Copy\"\r\n\t\t\t\t\t\ticon=\"copy\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\tconst input = redirectURIField.current as HTMLInputElement;\r\n\t\t\t\t\t\t\tinput.focus();\r\n\t\t\t\t\t\t\tinput.select();\r\n\t\t\t\t\t\t\tdocument.execCommand(\"copy\");\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t></ButtonIcon>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className=\"auth-setup-field auth-setup-endpoint-url\">\r\n\t\t\t\t\t<label>Endpoint URL</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\taria-label=\"Endpoint URL\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tvalue={endpointURL}\r\n\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\tsetEndpointURL(e.target.value);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\taria-invalid={!endpointURLValid}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Tooltip>OAuth API endpoint URL for your OAuth provider</Tooltip>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className=\"auth-setup-field auth-setup-clientid\">\r\n\t\t\t\t\t<label>Client ID</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\taria-label=\"Client ID\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tvalue={clientID}\r\n\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\tsetClientID(e.target.value);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\taria-invalid={!clientIDValid}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Tooltip>The Client ID is generated by your OAuth provider</Tooltip>\r\n\t\t\t\t</div>\r\n\t\t\t</>\r\n\r\n\t\t\t{/* The advanced fields */}\r\n\t\t\t{props.isAdvancedMode && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<div className=\"auth-setup-field auth-setup-scope\">\r\n\t\t\t\t\t\t<label>Scope Parameter</label>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\taria-label=\"Scope Parameter\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\tvalue={scope}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tsetScope(e.target.value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Tooltip>The scope accepted by your OAuth provider</Tooltip>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div className=\"auth-setup-field auth-setup-nonce\">\r\n\t\t\t\t\t\t<label>Require Nonce Parameter</label>\r\n\t\t\t\t\t\t<div className=\"auth-setup-nonce-wrapper\">\r\n\t\t\t\t\t\t\t<FinsembleToggle\r\n\t\t\t\t\t\t\t\tlabel=\"Require Nonce Parameter\"\r\n\t\t\t\t\t\t\t\tchecked={nonce}\r\n\t\t\t\t\t\t\t\tonChange={(value: boolean) => {\r\n\t\t\t\t\t\t\t\t\tsetNonce(value);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t></FinsembleToggle>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<Tooltip>If the `nonce` parameter is supported by your OAuth provider</Tooltip>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\r\n\t\t\t{authError && <div className=\"auth-setup-error\">Error: {authError}</div>}\r\n\t\t\t{authSuccess && (\r\n\t\t\t\t<div className=\"auth-setup-success\">\r\n\t\t\t\t\t<FinsembleIcon icon=\"check\" /> Configuration Saved\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t<div className=\"auth-setup-actions\">\r\n\t\t\t\t<Button fashion=\"secondary\" text=\"Test &amp; Save\" onClick={save} disabled={!endpointURLValid}></Button>\r\n\t\t\t</div>\r\n\t\t</>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"AuthenticationProviderConfig.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/AuthenticationProviderConfig.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useRef, useState } from \"react\";\nimport { AuthenticationProvider } from \"../../types/smartDesktopDesignerTypes\";\nimport { Button } from \"../common/Button\";\nimport { ButtonIcon } from \"../common/ButtonIcon\";\nimport { FinsembleToggle } from \"../common/FinsembleToggle\";\nimport { Tooltip } from \"../common/Tooltip\";\nimport { FinsembleIcon } from \"../common/FinsembleIcon\";\n\nexport type AuthenticationProviderProps = {\n\tvalue: AuthenticationProvider;\n\tonChange: (provider: AuthenticationProvider) => void;\n\ttestAuthenticationProvider: (provider: AuthenticationProvider) => Promise<null>;\n\tisAdvancedMode: boolean;\n};\n\nexport const AuthenticationProviderConfig = (props: AuthenticationProviderProps) => {\n\tconst provider = props.value;\n\n\tconst redirectURIField = useRef<HTMLInputElement | null>(null);\n\n\tconst [clientID, setClientID] = useState(provider.client_id || \"\");\n\tconst [endpointURL, setEndpointURL] = useState(provider.authorization_endpoint);\n\tconst [scope, setScope] = useState(provider.scope);\n\tconst [redirectURI, setRedirectURI] = useState(provider.redirect_uri);\n\tconst [nonce, setNonce] = useState(provider.nonce);\n\tconst [authError, setAuthError] = useState<string | null>(null);\n\tconst [authSuccess, setAuthSuccess] = useState<boolean>(false);\n\n\tconst checkValid = (stateValue: string, storeValue: string) => {\n\t\tif (stateValue === storeValue) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn stateValue.length > 0;\n\t};\n\n\tconst clientIDValid = checkValid(clientID, provider.client_id || \"\");\n\tconst endpointURLValid = endpointURL && FSBL.Clients.SmartDesktopClient.checkValidURL(endpointURL || \"\");\n\n\tconst save = () => {\n\t\tconst providerObject: AuthenticationProvider = {\n\t\t\t...provider,\n\t\t\t...(clientIDValid ? { client_id: clientID } : {}),\n\t\t\t// ...(secretValid ? { secret } : {}),\n\t\t\t...(endpointURLValid ? { authorization_endpoint: endpointURL } : {}),\n\t\t\t...(redirectURI ? { redirect_uri: redirectURI } : {}),\n\t\t\t...{ scope },\n\t\t\t...{ nonce },\n\t\t};\n\n\t\tsetAuthSuccess(false);\n\t\tsetAuthError(null);\n\n\t\tprops\n\t\t\t.testAuthenticationProvider(providerObject)\n\t\t\t.then(() => {\n\t\t\t\tsetAuthSuccess(true);\n\t\t\t\tprops.onChange(providerObject);\n\t\t\t})\n\t\t\t.catch((err: any) => {\n\t\t\t\tsetAuthError(err);\n\t\t\t});\n\t};\n\n\tif (!redirectURI) {\n\t\tsetRedirectURI(`https://cloud.finsemble.com/sso/oauth/response`);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{/* The simple fields */}\n\t\t\t<>\n\t\t\t\t<div className=\"auth-setup-field auth-setup-redirect\">\n\t\t\t\t\t<label>Redirect URL</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"auth-setup-redirect-input\"\n\t\t\t\t\t\taria-label=\"Redirect URL\"\n\t\t\t\t\t\tref={redirectURIField}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={redirectURI}\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\tclassName=\"auth-setup-redirect-button\"\n\t\t\t\t\t\ttext=\"Copy\"\n\t\t\t\t\t\ticon=\"copy\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tconst input = redirectURIField.current as HTMLInputElement;\n\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t\tinput.select();\n\t\t\t\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\t\t\t}}\n\t\t\t\t\t></ButtonIcon>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"auth-setup-field auth-setup-endpoint-url\">\n\t\t\t\t\t<label>Endpoint URL</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\taria-label=\"Endpoint URL\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={endpointURL}\n\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\tsetEndpointURL(e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-invalid={!endpointURLValid}\n\t\t\t\t\t/>\n\t\t\t\t\t<Tooltip>OAuth API endpoint URL for your OAuth provider</Tooltip>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"auth-setup-field auth-setup-clientid\">\n\t\t\t\t\t<label>Client ID</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\taria-label=\"Client ID\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={clientID}\n\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\tsetClientID(e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-invalid={!clientIDValid}\n\t\t\t\t\t/>\n\t\t\t\t\t<Tooltip>The Client ID is generated by your OAuth provider</Tooltip>\n\t\t\t\t</div>\n\t\t\t</>\n\n\t\t\t{/* The advanced fields */}\n\t\t\t{props.isAdvancedMode && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"auth-setup-field auth-setup-scope\">\n\t\t\t\t\t\t<label>Scope Parameter</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\taria-label=\"Scope Parameter\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tvalue={scope}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tsetScope(e.target.value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Tooltip>The scope accepted by your OAuth provider</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"auth-setup-field auth-setup-nonce\">\n\t\t\t\t\t\t<label>Require Nonce Parameter</label>\n\t\t\t\t\t\t<div className=\"auth-setup-nonce-wrapper\">\n\t\t\t\t\t\t\t<FinsembleToggle\n\t\t\t\t\t\t\t\tlabel=\"Require Nonce Parameter\"\n\t\t\t\t\t\t\t\tchecked={nonce}\n\t\t\t\t\t\t\t\tonChange={(value: boolean) => {\n\t\t\t\t\t\t\t\t\tsetNonce(value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></FinsembleToggle>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Tooltip>If the `nonce` parameter is supported by your OAuth provider</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{authError && <div className=\"auth-setup-error\">Error: {authError}</div>}\n\t\t\t{authSuccess && (\n\t\t\t\t<div className=\"auth-setup-success\">\n\t\t\t\t\t<FinsembleIcon icon=\"check\" /> Configuration Saved\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className=\"auth-setup-actions\">\n\t\t\t\t<Button fashion=\"secondary\" text=\"Test and save\" onClick={save} disabled={!endpointURLValid}></Button>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Content.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAoC,EAAE,EAAE,CAAC,6BAAK,SAAS,EAAC,cAAc,IAAE,KAAK,CAAC,QAAQ,CAAO,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport React from \"react\";\r\n\r\nexport const Content = (props: { children: React.ReactNode }) => <div className=\"view-content\">{props.children}</div>;\r\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Content.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAoC,EAAE,EAAE,CAAC,6BAAK,SAAS,EAAC,cAAc,IAAE,KAAK,CAAC,QAAQ,CAAO,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\n\nexport const Content = (props: { children: React.ReactNode }) => <div className=\"view-content\">{props.children}</div>;\n"]}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface HeaderProps {
3
+ name?: string;
4
+ }
5
+ export declare const ContentHeader: React.FunctionComponent<HeaderProps>;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export const ContentHeader = ({ name }) => {
3
+ name = !name || name == "default" ? "Untitled project" : name;
4
+ const letter = name.substr(0, 1).toUpperCase();
5
+ return (React.createElement("div", { className: "project-header" },
6
+ React.createElement("div", { className: "text-icon project-title-icon" },
7
+ React.createElement("span", null, letter)),
8
+ React.createElement("div", { className: "project-name" }, name)));
9
+ };
10
+ //# sourceMappingURL=ContentHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentHeader.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ContentHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,aAAa,GAAyC,CAAC,EAAE,IAAI,EAAe,EAAE,EAAE;IAC5F,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE/C,OAAO,CACN,6BAAK,SAAS,EAAC,gBAAgB;QAC9B,6BAAK,SAAS,EAAC,8BAA8B;YAC5C,kCAAO,MAAM,CAAQ,CAChB;QACN,6BAAK,SAAS,EAAC,cAAc,IAAE,IAAI,CAAO,CACrC,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from \"react\";\n\nexport interface HeaderProps {\n\tname?: string;\n}\n\nexport const ContentHeader: React.FunctionComponent<HeaderProps> = ({ name }: HeaderProps) => {\n\tname = !name || name == \"default\" ? \"Untitled project\" : name;\n\tconst letter = name.substr(0, 1).toUpperCase();\n\n\treturn (\n\t\t<div className=\"project-header\">\n\t\t\t<div className=\"text-icon project-title-icon\">\n\t\t\t\t<span>{letter}</span>\n\t\t\t</div>\n\t\t\t<div className=\"project-name\">{name}</div>\n\t\t</div>\n\t);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentView.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/CurrentView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoB,EAAE,EAAE;IACjE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAExF,IAAI,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;IAEjC,OAAO,oBAAC,IAAI,kBAAC,KAAK,EAAE,KAAK,IAAO,WAAW,CAAC,KAAa,EAAS,CAAC;AACpE,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport React from \"react\";\r\nimport { useSelector } from \"../../store\";\r\nimport { RootState } from \"../../reducers/rootReducer\";\r\nimport { ThemeConfig } from \"./SmartDesktopDesigner\";\r\n\r\nexport type CurrentViewProps = {\r\n\ttheme: ThemeConfig;\r\n\tviews: any[];\r\n};\r\n\r\nexport const CurrentView = ({ theme, views }: CurrentViewProps) => {\r\n\tconst currentViewId = useSelector((state: RootState) => state.smartDesktopDesigner.currentViewId);\r\n\r\n\tconst flatView = views.map((section) => section.views).flat();\r\n\r\n\tconst currentView = flatView.filter((view) => view.id === currentViewId)[0] || views[0];\r\n\r\n\tlet View = currentView.component;\r\n\r\n\treturn <View theme={theme} {...(currentView.props as any)}></View>;\r\n};\r\n"]}
1
+ {"version":3,"file":"CurrentView.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/CurrentView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoB,EAAE,EAAE;IACjE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAExF,IAAI,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;IAEjC,OAAO,oBAAC,IAAI,kBAAC,KAAK,EAAE,KAAK,IAAO,WAAW,CAAC,KAAa,EAAS,CAAC;AACpE,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { useSelector } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { ThemeConfig } from \"./SmartDesktopDesigner\";\n\nexport type CurrentViewProps = {\n\ttheme: ThemeConfig;\n\tviews: any[];\n};\n\nexport const CurrentView = ({ theme, views }: CurrentViewProps) => {\n\tconst currentViewId = useSelector((state: RootState) => state.smartDesktopDesigner.currentViewId);\n\n\tconst flatView = views.map((section) => section.views).flat();\n\n\tconst currentView = flatView.filter((view) => view.id === currentViewId)[0] || views[0];\n\n\tlet View = currentView.component;\n\n\treturn <View theme={theme} {...(currentView.props as any)}></View>;\n};\n"]}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import "../common/css/preload-edit-page.css";
3
+ import { PreloadType } from "../../types/smartDesktopDesignerTypes";
4
+ export interface EditPreloadProps {
5
+ getConfig: typeof FSBL.Clients.ConfigClient.getValue;
6
+ preload: PreloadType;
7
+ getApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;
8
+ updateApp: typeof FSBL.Clients.SmartDesktopClient.prototype.updateApp;
9
+ cancelFunction: Function;
10
+ addPreload: Function;
11
+ updatePreload: Function;
12
+ deletePreload: (alias: string) => Promise<void>;
13
+ }
14
+ export declare const EditPreload: React.FunctionComponent<EditPreloadProps>;
@@ -0,0 +1,169 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import "../common/css/preload-edit-page.css";
3
+ import { FinsembleSelect } from "../common/FinsembleSelect";
4
+ import { Button } from "../common/Button";
5
+ export const EditPreload = ({ preload, getConfig, getApps, updateApp, cancelFunction, addPreload, updatePreload, deletePreload, }) => {
6
+ const [appList, setAppList] = useState([]);
7
+ const [appNameList, setAppNameList] = useState([]);
8
+ const [appNameValues, setAppNameValues] = useState([]);
9
+ const [selectedApps, setSelectedApps] = useState([]);
10
+ const [usageType, setUsageType] = useState("selection");
11
+ const [livePreload, setLivePreload] = useState(Object.assign({}, preload));
12
+ const [disableSubmit, setDisableSubmit] = useState(true);
13
+ const [key, setKey] = useState(`${Date.now()}.${Math.random()}`);
14
+ const validatePreload = (edited) => {
15
+ let urlValid = true;
16
+ try {
17
+ new URL(edited.url);
18
+ }
19
+ catch (e) {
20
+ urlValid = false;
21
+ }
22
+ return !!edited.alias && urlValid;
23
+ };
24
+ const removePreload = async (alias) => {
25
+ await deletePreload(alias);
26
+ cancelFunction();
27
+ };
28
+ const getUsageType = () => {
29
+ getConfig("finsemble.servicesConfig.launcher.defaultPreloads").then(({ data }) => {
30
+ var _a, _b;
31
+ let type = "selection";
32
+ const globalConfig = data !== null && data !== void 0 ? data : {};
33
+ if ((_a = globalConfig.allComponents) === null || _a === void 0 ? void 0 : _a.includes(preload.alias)) {
34
+ type = "all";
35
+ }
36
+ else if ((_b = globalConfig.launchableComponents) === null || _b === void 0 ? void 0 : _b.includes(preload.alias)) {
37
+ type = "launchable";
38
+ }
39
+ setUsageType(type);
40
+ });
41
+ };
42
+ const setAlias = (alias) => {
43
+ setLivePreload(Object.assign(Object.assign({}, livePreload), { alias }));
44
+ };
45
+ const setUrl = (url) => {
46
+ setLivePreload(Object.assign(Object.assign({}, livePreload), { url }));
47
+ };
48
+ useEffect(() => {
49
+ setDisableSubmit(!validatePreload(livePreload));
50
+ }, [livePreload]);
51
+ useEffect(() => {
52
+ setKey(`${Date.now()}.${Math.random()}`);
53
+ }, [appList, appNameList, selectedApps]);
54
+ useEffect(() => {
55
+ getUsageType();
56
+ getApps().then(({ apps }) => {
57
+ const appNames = [];
58
+ const appValues = [];
59
+ const selectedNames = [];
60
+ apps.forEach((app) => {
61
+ var _a, _b, _c;
62
+ appNames.push(app.name);
63
+ appValues.push(app.appId);
64
+ if ((_c = (_b = (_a = app.manifest) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.preload) === null || _c === void 0 ? void 0 : _c.includes(preload === null || preload === void 0 ? void 0 : preload.alias)) {
65
+ selectedNames.push(app.name);
66
+ }
67
+ });
68
+ setAppNameValues(appValues);
69
+ setAppNameList(appNames);
70
+ setSelectedApps(selectedNames);
71
+ setAppList(apps);
72
+ });
73
+ validatePreload(livePreload);
74
+ }, []);
75
+ const onRadioChange = (e) => {
76
+ setUsageType(e.target.value);
77
+ };
78
+ const selectChange = (selectedValues) => {
79
+ setSelectedApps(selectedValues);
80
+ };
81
+ const updateAppConfigs = async () => {
82
+ const promises = appList.map((app) => {
83
+ var _a, _b, _c, _d, _e;
84
+ let appPreloads = (_c = (_b = (_a = app.manifest) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.preload) !== null && _c !== void 0 ? _c : [];
85
+ appPreloads = Array.isArray(appPreloads) ? appPreloads : [appPreloads];
86
+ const isRenaming = livePreload.alias != preload.alias;
87
+ const wasPreviouslySelected = appPreloads.includes(preload.alias);
88
+ const inNewList = selectedApps.includes(app.appId);
89
+ app.manifest = (_d = app.manifest) !== null && _d !== void 0 ? _d : {};
90
+ app.manifest.component = (_e = app.manifest.component) !== null && _e !== void 0 ? _e : {};
91
+ if ((!isRenaming && wasPreviouslySelected == inNewList) || (!wasPreviouslySelected && !inNewList)) {
92
+ return Promise.resolve();
93
+ }
94
+ if (wasPreviouslySelected) {
95
+ appPreloads = appPreloads.filter((preloadAlias) => preloadAlias != preload.alias);
96
+ }
97
+ if (inNewList) {
98
+ appPreloads.push(livePreload.alias);
99
+ }
100
+ app.manifest.component.preload = appPreloads;
101
+ return updateApp(app.appId, app);
102
+ });
103
+ return Promise.all(promises);
104
+ };
105
+ const clickSubmit = async () => {
106
+ const usage = {
107
+ all: usageType == "all",
108
+ launchable: usageType == "launchable",
109
+ apps: selectedApps,
110
+ };
111
+ if (preload.alias === "") {
112
+ await addPreload(livePreload, usage);
113
+ }
114
+ else {
115
+ await updatePreload(preload.alias, livePreload, usage);
116
+ }
117
+ await updateAppConfigs();
118
+ cancelFunction();
119
+ };
120
+ return (React.createElement("div", { className: "preload-edit-container" },
121
+ React.createElement("h2", null, (livePreload === null || livePreload === void 0 ? void 0 : livePreload.alias) ? livePreload.alias : "Untitled preload"),
122
+ React.createElement("div", { className: "app-edit-field" },
123
+ React.createElement("table", { role: "presentation", className: "preload-edit-table" },
124
+ React.createElement("tbody", null,
125
+ React.createElement("tr", null,
126
+ React.createElement("th", null,
127
+ React.createElement("label", { htmlFor: "preload-alias" }, "Name")),
128
+ React.createElement("td", { className: "edit-field" },
129
+ React.createElement("input", { type: "text", id: "preload-alias", value: livePreload === null || livePreload === void 0 ? void 0 : livePreload.alias, placeholder: "UntitledPreload", onChange: (e) => {
130
+ setAlias(e.target.value);
131
+ } }))),
132
+ React.createElement("tr", null,
133
+ React.createElement("th", null,
134
+ React.createElement("label", { htmlFor: "preload-url" }, "Web URL")),
135
+ React.createElement("td", { className: "edit-field" },
136
+ React.createElement("input", { type: "text", id: "preload-url", value: livePreload === null || livePreload === void 0 ? void 0 : livePreload.url, onChange: (e) => {
137
+ setUrl(e.target.value);
138
+ } }))),
139
+ React.createElement("tr", null,
140
+ React.createElement("th", { className: "table-header__top-label" }, "Load for"),
141
+ React.createElement("td", null,
142
+ React.createElement("div", { className: "load-option" },
143
+ React.createElement("label", null,
144
+ React.createElement("input", { type: "radio", name: "preload-usage", value: "launchable", checked: usageType == "launchable", onChange: onRadioChange }),
145
+ " ",
146
+ "Apps launched by users")),
147
+ React.createElement("div", { className: "load-option" },
148
+ React.createElement("label", null,
149
+ React.createElement("input", { type: "radio", name: "preload-usage", value: "all", checked: usageType == "all", onChange: onRadioChange }),
150
+ " ",
151
+ "All apps")),
152
+ React.createElement("div", { className: "load-option" },
153
+ React.createElement("label", null,
154
+ React.createElement("input", { type: "radio", name: "preload-usage", value: "selection", checked: usageType == "selection", onChange: onRadioChange }),
155
+ " ",
156
+ "Select apps")),
157
+ usageType == "selection" && (React.createElement(FinsembleSelect, { key: key, options: appNameList, values: appNameValues, selected: selectedApps, updateCallback: selectChange, showSearch: true }))))))),
158
+ React.createElement("div", { className: "preload-edit-actions" },
159
+ React.createElement("div", null, preload.alias && (React.createElement(Button, { fashion: "danger", text: "Remove preload", onClick: (e) => {
160
+ removePreload(preload.alias);
161
+ e.preventDefault();
162
+ } }))),
163
+ React.createElement("div", { className: "app-actions-right-wrapper" },
164
+ React.createElement(Button, { fashion: "ghost", text: "Cancel", onClick: () => {
165
+ cancelFunction();
166
+ } }),
167
+ React.createElement(Button, { fashion: "secondary", text: "Save", disabled: disableSubmit, onClick: clickSubmit })))));
168
+ };
169
+ //# sourceMappingURL=EditPreload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditPreload.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/EditPreload.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { ChangeEvent, useEffect, useState } from \"react\";\nimport \"../common/css/preload-edit-page.css\";\nimport { FinsembleSelect } from \"../common/FinsembleSelect\";\nimport { Button } from \"../common/Button\";\nimport { PreloadType } from \"../../types/smartDesktopDesignerTypes\";\nimport { AppDefinition } from \"./Application\";\n\nexport interface EditPreloadProps {\n\tgetConfig: typeof FSBL.Clients.ConfigClient.getValue;\n\tpreload: PreloadType;\n\t// Perhaps use the root state to get this value\n\tgetApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;\n\tupdateApp: typeof FSBL.Clients.SmartDesktopClient.prototype.updateApp;\n\tcancelFunction: Function;\n\taddPreload: Function;\n\tupdatePreload: Function;\n\tdeletePreload: (alias: string) => Promise<void>;\n}\n\ntype preloadUsageType = \"launchable\" | \"all\" | \"selection\";\n\nexport const EditPreload: React.FunctionComponent<EditPreloadProps> = ({\n\tpreload,\n\tgetConfig,\n\tgetApps,\n\tupdateApp,\n\tcancelFunction,\n\taddPreload,\n\tupdatePreload,\n\tdeletePreload,\n}) => {\n\tconst [appList, setAppList] = useState<AppDefinition[]>([]);\n\tconst [appNameList, setAppNameList] = useState<string[]>([]);\n\tconst [appNameValues, setAppNameValues] = useState<string[]>([]);\n\tconst [selectedApps, setSelectedApps] = useState<string[]>([]);\n\tconst [usageType, setUsageType] = useState<preloadUsageType>(\"selection\");\n\tconst [livePreload, setLivePreload] = useState({ ...preload });\n\tconst [disableSubmit, setDisableSubmit] = useState<boolean>(true);\n\tconst [key, setKey] = useState(`${Date.now()}.${Math.random()}`);\n\n\tconst validatePreload = (edited: PreloadType): boolean => {\n\t\tlet urlValid = true;\n\t\ttry {\n\t\t\tnew URL(edited.url);\n\t\t} catch (e) {\n\t\t\turlValid = false;\n\t\t}\n\n\t\treturn !!edited.alias && urlValid;\n\t};\n\n\tconst removePreload = async (alias: string) => {\n\t\tawait deletePreload(alias);\n\t\tcancelFunction();\n\t};\n\n\tconst getUsageType = () => {\n\t\tgetConfig(\"finsemble.servicesConfig.launcher.defaultPreloads\").then(({ data }) => {\n\t\t\tlet type: preloadUsageType = \"selection\";\n\t\t\tconst globalConfig = data ?? {};\n\t\t\tif (globalConfig.allComponents?.includes(preload.alias)) {\n\t\t\t\ttype = \"all\";\n\t\t\t} else if (globalConfig.launchableComponents?.includes(preload.alias)) {\n\t\t\t\ttype = \"launchable\";\n\t\t\t}\n\t\t\tsetUsageType(type);\n\t\t});\n\t};\n\n\tconst setAlias = (alias: string) => {\n\t\tsetLivePreload({ ...livePreload, alias });\n\t};\n\n\tconst setUrl = (url: string) => {\n\t\tsetLivePreload({ ...livePreload, url });\n\t};\n\n\tuseEffect(() => {\n\t\tsetDisableSubmit(!validatePreload(livePreload));\n\t}, [livePreload]);\n\n\tuseEffect(() => {\n\t\tsetKey(`${Date.now()}.${Math.random()}`);\n\t}, [appList, appNameList, selectedApps]);\n\n\tuseEffect(() => {\n\t\tgetUsageType();\n\t\tgetApps().then(({ apps }) => {\n\t\t\tconst appNames: string[] = [];\n\t\t\tconst appValues: string[] = [];\n\t\t\tconst selectedNames: string[] = [];\n\n\t\t\tapps.forEach((app: AppDefinition) => {\n\t\t\t\tappNames.push(app.name);\n\t\t\t\tappValues.push(app.appId);\n\t\t\t\tif (app.manifest?.component?.preload?.includes(preload?.alias)) {\n\t\t\t\t\tselectedNames.push(app.name);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetAppNameValues(appValues);\n\t\t\tsetAppNameList(appNames);\n\t\t\tsetSelectedApps(selectedNames);\n\t\t\tsetAppList(apps);\n\t\t});\n\t\tvalidatePreload(livePreload);\n\t}, []);\n\n\tconst onRadioChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetUsageType(e.target.value as preloadUsageType);\n\t};\n\n\tconst selectChange = (selectedValues: string[]) => {\n\t\tsetSelectedApps(selectedValues);\n\t};\n\n\tconst updateAppConfigs = async () => {\n\t\tconst promises: Promise<any>[] = appList.map((app) => {\n\t\t\tlet appPreloads = app.manifest?.component?.preload ?? [];\n\t\t\tappPreloads = Array.isArray(appPreloads) ? appPreloads : [appPreloads];\n\t\t\tconst isRenaming = livePreload.alias != preload.alias;\n\t\t\tconst wasPreviouslySelected = appPreloads.includes(preload.alias);\n\t\t\tconst inNewList = selectedApps.includes(app.appId);\n\t\t\tapp.manifest = app.manifest ?? {};\n\t\t\tapp.manifest.component = app.manifest.component ?? {};\n\n\t\t\tif ((!isRenaming && wasPreviouslySelected == inNewList) || (!wasPreviouslySelected && !inNewList)) {\n\t\t\t\t// No change for this app\n\t\t\t\treturn Promise.resolve();\n\t\t\t}\n\n\t\t\tif (wasPreviouslySelected) {\n\t\t\t\t// Remove it from the list\n\t\t\t\tappPreloads = appPreloads.filter((preloadAlias: string) => preloadAlias != preload.alias);\n\t\t\t}\n\n\t\t\tif (inNewList) {\n\t\t\t\tappPreloads.push(livePreload.alias);\n\t\t\t}\n\n\t\t\tapp.manifest.component.preload = appPreloads;\n\t\t\treturn updateApp(app.appId, app);\n\t\t});\n\n\t\treturn Promise.all(promises);\n\t};\n\n\tconst clickSubmit = async () => {\n\t\tconst usage: any = {\n\t\t\tall: usageType == \"all\",\n\t\t\tlaunchable: usageType == \"launchable\",\n\t\t\tapps: selectedApps,\n\t\t};\n\n\t\tif (preload.alias === \"\") {\n\t\t\tawait addPreload(livePreload, usage);\n\t\t} else {\n\t\t\tawait updatePreload(preload.alias, livePreload, usage);\n\t\t}\n\t\tawait updateAppConfigs();\n\t\tcancelFunction();\n\t};\n\n\treturn (\n\t\t<div className=\"preload-edit-container\">\n\t\t\t<h2>{livePreload?.alias ? livePreload.alias : \"Untitled preload\"}</h2>\n\t\t\t<div className=\"app-edit-field\">\n\t\t\t\t<table role=\"presentation\" className=\"preload-edit-table\">\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t<label htmlFor=\"preload-alias\">Name</label>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<td className=\"edit-field\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tid=\"preload-alias\"\n\t\t\t\t\t\t\t\t\tvalue={livePreload?.alias}\n\t\t\t\t\t\t\t\t\tplaceholder=\"UntitledPreload\"\n\t\t\t\t\t\t\t\t\t// onKeyDown=\"\"\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetAlias(e.target.value);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t<label htmlFor=\"preload-url\">Web URL</label>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<td className=\"edit-field\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tid=\"preload-url\"\n\t\t\t\t\t\t\t\t\tvalue={livePreload?.url}\n\t\t\t\t\t\t\t\t\t// onKeyDown={submitOnEnter}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetUrl(e.target.value);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th className=\"table-header__top-label\">Load for</th>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<div className=\"load-option\">\n\t\t\t\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"preload-usage\"\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"launchable\"\n\t\t\t\t\t\t\t\t\t\t\tchecked={usageType == \"launchable\"}\n\t\t\t\t\t\t\t\t\t\t\tonChange={onRadioChange}\n\t\t\t\t\t\t\t\t\t\t/>{\" \"}\n\t\t\t\t\t\t\t\t\t\tApps launched by users\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"load-option\">\n\t\t\t\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"preload-usage\"\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"all\"\n\t\t\t\t\t\t\t\t\t\t\tchecked={usageType == \"all\"}\n\t\t\t\t\t\t\t\t\t\t\tonChange={onRadioChange}\n\t\t\t\t\t\t\t\t\t\t/>{\" \"}\n\t\t\t\t\t\t\t\t\t\tAll apps\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"load-option\">\n\t\t\t\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"preload-usage\"\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"selection\"\n\t\t\t\t\t\t\t\t\t\t\tchecked={usageType == \"selection\"}\n\t\t\t\t\t\t\t\t\t\t\tonChange={onRadioChange}\n\t\t\t\t\t\t\t\t\t\t/>{\" \"}\n\t\t\t\t\t\t\t\t\t\tSelect apps\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{usageType == \"selection\" && (\n\t\t\t\t\t\t\t\t\t<FinsembleSelect\n\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\toptions={appNameList}\n\t\t\t\t\t\t\t\t\t\tvalues={appNameValues}\n\t\t\t\t\t\t\t\t\t\tselected={selectedApps}\n\t\t\t\t\t\t\t\t\t\tupdateCallback={selectChange}\n\t\t\t\t\t\t\t\t\t\tshowSearch={true}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t<div className=\"preload-edit-actions\">\n\t\t\t\t<div>\n\t\t\t\t\t{preload.alias && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tfashion=\"danger\"\n\t\t\t\t\t\t\ttext=\"Remove preload\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tremovePreload(preload.alias);\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"app-actions-right-wrapper\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tfashion=\"ghost\"\n\t\t\t\t\t\ttext=\"Cancel\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tcancelFunction();\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button fashion=\"secondary\" text=\"Save\" disabled={disableSubmit} onClick={clickSubmit} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
@@ -36,12 +36,12 @@ export const Export = (props) => {
36
36
  };
37
37
  return (React.createElement(View, null,
38
38
  React.createElement(Header, { helpFunction: () => {
39
- launchTutorialLink("publishing-a-desktop-project");
40
- } }, "Publish"),
39
+ launchTutorialLink("SDD-10-Finish");
40
+ } }, "Publish project"),
41
41
  React.createElement(Content, null, isPublishing ? (React.createElement(Publish, Object.assign({}, props))) : (React.createElement("div", { className: "export-block" },
42
42
  React.createElement("h2", null, "Desktop Project"),
43
43
  React.createElement("div", { className: "export-project-name" },
44
- React.createElement("label", { htmlFor: "projectName" }, "Project Name"),
44
+ React.createElement("label", { htmlFor: "projectName" }, "Project name"),
45
45
  React.createElement("input", { type: "text", className: "project-name-field", id: "project-name", name: "project-name", placeholder: "Untitled", "aria-invalid": !isProjectNameValid, value: tmpProjectName, style: { fontSize: 14 }, onInput: (e) => {
46
46
  setTmpProjectName(e.target.value);
47
47
  }, onKeyDown: (e) => {
@@ -54,8 +54,8 @@ export const Export = (props) => {
54
54
  }
55
55
  } })),
56
56
  React.createElement("div", { className: "export-methods" },
57
- React.createElement(ExportCloud, Object.assign({}, props)),
58
- React.createElement(ExportZip, Object.assign({}, props))),
57
+ React.createElement(ExportCloud, Object.assign({}, props, { valid: isProjectNameValid })),
58
+ React.createElement(ExportZip, Object.assign({}, props, { valid: isProjectNameValid }))),
59
59
  deployInfo && (React.createElement("div", { className: "deployInfoContainer" },
60
60
  React.createElement("div", null,
61
61
  React.createElement("p", null, "Project installer link:"),
@@ -1 +1 @@
1
- {"version":3,"file":"Export.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Export.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport React, { useState } from \"react\";\r\nimport { View } from \"./View\";\r\nimport { Header } from \"../common/Header\";\r\nimport { Content } from \"./Content\";\r\nimport { ExportCloud } from \"./ExportCloud\";\r\nimport { ExportZip } from \"./ExportZip\";\r\nimport { Publish } from \"./Publish\";\r\nimport { ExportDeployInfo } from \"./ExportDeployInfo\";\r\nimport { useSelector, useDispatch } from \"../../store\";\r\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\r\nimport { ProjectSaveData } from \"../../types/smartDesktopDesignerTypes\";\r\nimport { RootState } from \"../../reducers/rootReducer\";\r\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\r\n\r\nimport \"./css/export.css\";\r\n\r\nexport type ExportProps = {\r\n\tprogressCheckInterval: number;\r\n\tgetProjectConfig: typeof FSBL.Clients.SmartDesktopClient.prototype.projectConfig;\r\n\tcreateProjectZip: typeof FSBL.Clients.SmartDesktopClient.prototype.createProjectZip;\r\n\tpublishToCosaicCloud: typeof FSBL.Clients.SmartDesktopClient.prototype.publishToCosaicCloud;\r\n\tgetPublishProgress: typeof FSBL.Clients.SmartDesktopClient.prototype.getPublishProgress;\r\n\tcopyProjectFiles: typeof FSBL.Clients.SmartDesktopClient.prototype.copyProjectFiles;\r\n\tupdateProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.updateProjectSettings;\r\n};\r\n\r\nexport const Export = (props: ExportProps) => {\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst isPublishing = useSelector((store: RootState) => store.smartDesktopDesigner.export.isPublishing);\r\n\tconst deployInfo = useSelector((store: RootState) => store.smartDesktopDesigner.export.deployInfo);\r\n\tconst project = useSelector((state: RootState) => state.smartDesktopDesigner.projectInfo);\r\n\tconst [tmpProjectName, setTmpProjectName] = useState(project?.name === \"default\" ? \"\" : project?.name);\r\n\tconst isProjectNameValid = FSBL.Clients.SmartDesktopClient.checkValidProjectName(tmpProjectName);\r\n\tconst setProject = (value: ProjectSaveData) => {\r\n\t\tdispatch(SmartDesktopDesignerActions.set_project_info(value));\r\n\t};\r\n\r\n\tconst onSaveProjectName = (name: string) => {\r\n\t\tprops.updateProjectSettings({ ...project, name: name }).then(({ err }) => {\r\n\t\t\tif (err) {\r\n\t\t\t\tFSBL.Clients.Logger.system.error(`ERROR updateProjectSettings: ${JSON.stringify(err)}`);\r\n\t\t\t} else {\r\n\t\t\t\tsetProject({\r\n\t\t\t\t\t...project,\r\n\t\t\t\t\tname,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t<View>\r\n\t\t\t<Header\r\n\t\t\t\thelpFunction={() => {\r\n\t\t\t\t\tlaunchTutorialLink(\"publishing-a-desktop-project\");\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\tPublish\r\n\t\t\t</Header>\r\n\r\n\t\t\t<Content>\r\n\t\t\t\t{isPublishing ? (\r\n\t\t\t\t\t<Publish {...props} />\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div className=\"export-block\">\r\n\t\t\t\t\t\t<h2>Desktop Project</h2>\r\n\t\t\t\t\t\t<div className=\"export-project-name\">\r\n\t\t\t\t\t\t\t<label htmlFor=\"projectName\">Project Name</label>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tclassName=\"project-name-field\"\r\n\t\t\t\t\t\t\t\tid=\"project-name\"\r\n\t\t\t\t\t\t\t\tname=\"project-name\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Untitled\"\r\n\t\t\t\t\t\t\t\taria-invalid={!isProjectNameValid}\r\n\t\t\t\t\t\t\t\tvalue={tmpProjectName}\r\n\t\t\t\t\t\t\t\tstyle={{ fontSize: 14 }}\r\n\t\t\t\t\t\t\t\tonInput={(e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\t\tsetTmpProjectName(e.target.value);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\r\n\t\t\t\t\t\t\t\t\t\te.currentTarget.blur();\r\n\t\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\tonBlur={() => {\r\n\t\t\t\t\t\t\t\t\tif (isProjectNameValid) {\r\n\t\t\t\t\t\t\t\t\t\tonSaveProjectName(tmpProjectName);\r\n\t\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/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className=\"export-methods\">\r\n\t\t\t\t\t\t\t<ExportCloud {...props} />\r\n\t\t\t\t\t\t\t<ExportZip {...props} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t{deployInfo && (\r\n\t\t\t\t\t\t\t<div className=\"deployInfoContainer\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<p>Project installer link:</p>\r\n\t\t\t\t\t\t\t\t\t<ExportDeployInfo />\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</Content>\r\n\t\t</View>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"Export.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Export.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { useState } from \"react\";\nimport { View } from \"./View\";\nimport { Header } from \"../common/Header\";\nimport { Content } from \"./Content\";\nimport { ExportCloud } from \"./ExportCloud\";\nimport { ExportZip } from \"./ExportZip\";\nimport { Publish } from \"./Publish\";\nimport { ExportDeployInfo } from \"./ExportDeployInfo\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { ProjectSaveData } from \"../../types/smartDesktopDesignerTypes\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\n\nimport \"./css/export.css\";\n\nexport type ExportProps = {\n\tprogressCheckInterval: number;\n\tgetProjectConfig: typeof FSBL.Clients.SmartDesktopClient.prototype.projectConfig;\n\tcreateProjectZip: typeof FSBL.Clients.SmartDesktopClient.prototype.createProjectZip;\n\tpublishToCosaicCloud: typeof FSBL.Clients.SmartDesktopClient.prototype.publishToCosaicCloud;\n\tgetPublishProgress: typeof FSBL.Clients.SmartDesktopClient.prototype.getPublishProgress;\n\tcopyProjectFiles: typeof FSBL.Clients.SmartDesktopClient.prototype.copyProjectFiles;\n\tupdateProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.updateProjectSettings;\n};\n\nexport const Export = (props: ExportProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst isPublishing = useSelector((store: RootState) => store.smartDesktopDesigner.export.isPublishing);\n\tconst deployInfo = useSelector((store: RootState) => store.smartDesktopDesigner.export.deployInfo);\n\tconst project = useSelector((state: RootState) => state.smartDesktopDesigner.projectInfo);\n\tconst [tmpProjectName, setTmpProjectName] = useState(project?.name === \"default\" ? \"\" : project?.name);\n\tconst isProjectNameValid = FSBL.Clients.SmartDesktopClient.checkValidProjectName(tmpProjectName);\n\tconst setProject = (value: ProjectSaveData) => {\n\t\tdispatch(SmartDesktopDesignerActions.set_project_info(value));\n\t};\n\n\tconst onSaveProjectName = (name: string) => {\n\t\tprops.updateProjectSettings({ ...project, name: name }).then(({ err }) => {\n\t\t\tif (err) {\n\t\t\t\tFSBL.Clients.Logger.system.error(`ERROR updateProjectSettings: ${JSON.stringify(err)}`);\n\t\t\t} else {\n\t\t\t\tsetProject({\n\t\t\t\t\t...project,\n\t\t\t\t\tname,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t};\n\n\treturn (\n\t\t<View>\n\t\t\t<Header\n\t\t\t\thelpFunction={() => {\n\t\t\t\t\tlaunchTutorialLink(\"SDD-10-Finish\");\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tPublish project\n\t\t\t</Header>\n\n\t\t\t<Content>\n\t\t\t\t{isPublishing ? (\n\t\t\t\t\t<Publish {...props} />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"export-block\">\n\t\t\t\t\t\t<h2>Desktop Project</h2>\n\t\t\t\t\t\t<div className=\"export-project-name\">\n\t\t\t\t\t\t\t<label htmlFor=\"projectName\">Project name</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclassName=\"project-name-field\"\n\t\t\t\t\t\t\t\tid=\"project-name\"\n\t\t\t\t\t\t\t\tname=\"project-name\"\n\t\t\t\t\t\t\t\tplaceholder=\"Untitled\"\n\t\t\t\t\t\t\t\taria-invalid={!isProjectNameValid}\n\t\t\t\t\t\t\t\tvalue={tmpProjectName}\n\t\t\t\t\t\t\t\tstyle={{ fontSize: 14 }}\n\t\t\t\t\t\t\t\tonInput={(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\t\tsetTmpProjectName(e.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\te.currentTarget.blur();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\t\tif (isProjectNameValid) {\n\t\t\t\t\t\t\t\t\t\tonSaveProjectName(tmpProjectName);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"export-methods\">\n\t\t\t\t\t\t\t<ExportCloud {...props} valid={isProjectNameValid} />\n\t\t\t\t\t\t\t<ExportZip {...props} valid={isProjectNameValid} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{deployInfo && (\n\t\t\t\t\t\t\t<div className=\"deployInfoContainer\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<p>Project installer link:</p>\n\t\t\t\t\t\t\t\t\t<ExportDeployInfo />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Content>\n\t\t</View>\n\t);\n};\n"]}
@@ -1,4 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ExportProps } from "./Export";
3
- export declare type ExportCloudProps = ExportProps;
3
+ export declare type ExportCloudProps = ExportProps & {
4
+ valid: boolean;
5
+ };
4
6
  export declare const ExportCloud: (props: ExportCloudProps) => JSX.Element;
@@ -17,13 +17,13 @@ export const ExportCloud = (props) => {
17
17
  };
18
18
  getProjectConfig();
19
19
  }, []);
20
- return (React.createElement("div", { className: "export-method" },
20
+ return (React.createElement("div", { className: "export-method package-project" },
21
21
  deployInfo ? (React.createElement("div", null,
22
- React.createElement("p", null, "You can continue to update your desktop with new apps. Publish at any time to push updates to your team. They'll just need to restart their app to get the changes."))) : (React.createElement("div", null,
23
- React.createElement("p", null, "Upload your smart desktop to Cosaic's cloud service to make it available to your team. After you publish, you can make changes and push updates to your team."))),
22
+ React.createElement("p", null, "Publish your project to share it with your users. Click Publish to create a project installer. Please be patient, it can take up to 20 minutes."))) : (React.createElement("div", null,
23
+ React.createElement("p", null, "You can continue working on your desktop project after you publish it. To update the project, republish it. Users will see the changes when they restart their desktop."))),
24
24
  React.createElement(ProjectErrors, { errors: projectErrors }),
25
25
  React.createElement("div", { className: "export-method-actions" },
26
- React.createElement(Button, { disabled: projectErrors.length > 0, fashion: "secondary", text: "Publish", onClick: () => {
26
+ React.createElement(Button, { disabled: projectErrors.length > 0 || !props.valid, fashion: "secondary", text: "Publish", onClick: () => {
27
27
  dispatch(SmartDesktopDesignerActions.set_is_publishing(true));
28
28
  props
29
29
  .publishToCosaicCloud()
@@ -1 +1 @@
1
- {"version":3,"file":"ExportCloud.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ExportCloud.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACtD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAM3F,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YACnC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,iBAAiB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC;YAEpD,IAAI,iBAAiB,EAAE;gBACtB,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACzE;QACF,CAAC,CAAC;QACF,gBAAgB,EAAE,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,6BAAK,SAAS,EAAC,eAAe;QAC5B,UAAU,CAAC,CAAC,CAAC,CACb;YACC,qMAGI,CACC,CACN,CAAC,CAAC,CAAC,CACH;YACC,+LAGI,CACC,CACN;QAED,oBAAC,aAAa,IAAC,MAAM,EAAE,aAAa,GAAkB;QAEtD,6BAAK,SAAS,EAAC,uBAAuB;YACrC,oBAAC,MAAM,IACN,QAAQ,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,GAAG,EAAE;oBACb,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9D,KAAK;yBACH,oBAAoB,EAAE;yBACtB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;yBACrG,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC,GACA,CACG,CACD,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect } from \"react\";\r\nimport { Button } from \"../common/Button\";\r\nimport { useDispatch, useSelector } from \"../../store\";\r\nimport { RootState } from \"../../reducers/rootReducer\";\r\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\r\nimport { ExportProps } from \"./Export\";\r\nimport { ProjectErrors } from \"./ProjectErrors\";\r\n\r\nexport type ExportCloudProps = ExportProps;\r\n\r\nexport const ExportCloud = (props: ExportCloudProps) => {\r\n\tconst dispatch = useDispatch();\r\n\tconst deployInfo = useSelector((store: RootState) => store.smartDesktopDesigner.export.deployInfo);\r\n\tconst projectErrors = useSelector((store: RootState) => store.smartDesktopDesigner.errors);\r\n\r\n\t/**\r\n\t * This will run once. We'll check to see if there's a current deployInfo for our\r\n\t * project, in other words has it already been published.\r\n\t */\r\n\tuseEffect(() => {\r\n\t\tconst getProjectConfig = async () => {\r\n\t\t\tconst projectConfig = await props.getProjectConfig();\r\n\t\t\tconst currentDeployInfo = projectConfig?.deployInfo;\r\n\r\n\t\t\tif (currentDeployInfo) {\r\n\t\t\t\tdispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo));\r\n\t\t\t}\r\n\t\t};\r\n\t\tgetProjectConfig();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<div className=\"export-method\">\r\n\t\t\t{deployInfo ? (\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<p>\r\n\t\t\t\t\t\tYou can continue to update your desktop with new apps. Publish at any time to push updates to your team.\r\n\t\t\t\t\t\tThey&apos;ll just need to restart their app to get the changes.\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t) : (\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<p>\r\n\t\t\t\t\t\tUpload your smart desktop to Cosaic&apos;s cloud service to make it available to your team. After you\r\n\t\t\t\t\t\tpublish, you can make changes and push updates to your team.\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t<ProjectErrors errors={projectErrors}></ProjectErrors>\r\n\r\n\t\t\t<div className=\"export-method-actions\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tdisabled={projectErrors.length > 0}\r\n\t\t\t\t\tfashion=\"secondary\"\r\n\t\t\t\t\ttext=\"Publish\"\r\n\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\tdispatch(SmartDesktopDesignerActions.set_is_publishing(true));\r\n\t\t\t\t\t\tprops\r\n\t\t\t\t\t\t\t.publishToCosaicCloud()\r\n\t\t\t\t\t\t\t.then((currentDeployInfo) => dispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo)))\r\n\t\t\t\t\t\t\t.catch((error) => dispatch(SmartDesktopDesignerActions.set_publish_error(error)));\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"ExportCloud.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ExportCloud.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACtD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAM3F,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YACnC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,iBAAiB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC;YAEpD,IAAI,iBAAiB,EAAE;gBACtB,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACzE;QACF,CAAC,CAAC;QACF,gBAAgB,EAAE,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,6BAAK,SAAS,EAAC,+BAA+B;QAC5C,UAAU,CAAC,CAAC,CAAC,CACb;YACC,iLAGI,CACC,CACN,CAAC,CAAC,CAAC,CACH;YACC,yMAGI,CACC,CACN;QAED,oBAAC,aAAa,IAAC,MAAM,EAAE,aAAa,GAAkB;QAEtD,6BAAK,SAAS,EAAC,uBAAuB;YACrC,oBAAC,MAAM,IACN,QAAQ,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAClD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,GAAG,EAAE;oBACb,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9D,KAAK;yBACH,oBAAoB,EAAE;yBACtB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;yBACrG,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC,GACA,CACG,CACD,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect } from \"react\";\nimport { Button } from \"../common/Button\";\nimport { useDispatch, useSelector } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { ExportProps } from \"./Export\";\nimport { ProjectErrors } from \"./ProjectErrors\";\n\nexport type ExportCloudProps = ExportProps & {\n\tvalid: boolean;\n};\n\nexport const ExportCloud = (props: ExportCloudProps) => {\n\tconst dispatch = useDispatch();\n\tconst deployInfo = useSelector((store: RootState) => store.smartDesktopDesigner.export.deployInfo);\n\tconst projectErrors = useSelector((store: RootState) => store.smartDesktopDesigner.errors);\n\n\t/**\n\t * This will run once. We'll check to see if there's a current deployInfo for our\n\t * project, in other words has it already been published.\n\t */\n\tuseEffect(() => {\n\t\tconst getProjectConfig = async () => {\n\t\t\tconst projectConfig = await props.getProjectConfig();\n\t\t\tconst currentDeployInfo = projectConfig?.deployInfo;\n\n\t\t\tif (currentDeployInfo) {\n\t\t\t\tdispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo));\n\t\t\t}\n\t\t};\n\t\tgetProjectConfig();\n\t}, []);\n\n\treturn (\n\t\t<div className=\"export-method package-project\">\n\t\t\t{deployInfo ? (\n\t\t\t\t<div>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPublish your project to share it with your users. Click Publish to create a project installer. Please be\n\t\t\t\t\t\tpatient, it can take up to 20 minutes.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tYou can continue working on your desktop project after you publish it. To update the project, republish it.\n\t\t\t\t\t\tUsers will see the changes when they restart their desktop.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<ProjectErrors errors={projectErrors}></ProjectErrors>\n\n\t\t\t<div className=\"export-method-actions\">\n\t\t\t\t<Button\n\t\t\t\t\tdisabled={projectErrors.length > 0 || !props.valid}\n\t\t\t\t\tfashion=\"secondary\"\n\t\t\t\t\ttext=\"Publish\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tdispatch(SmartDesktopDesignerActions.set_is_publishing(true));\n\t\t\t\t\t\tprops\n\t\t\t\t\t\t\t.publishToCosaicCloud()\n\t\t\t\t\t\t\t.then((currentDeployInfo) => dispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo)))\n\t\t\t\t\t\t\t.catch((error) => dispatch(SmartDesktopDesignerActions.set_publish_error(error)));\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}