@finsemble/finsemble-ui 6.5.2 → 6.6.0-beta.3

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 (555) hide show
  1. package/index.d.ts +1 -0
  2. package/package.json +18 -15
  3. package/react/actions/smartDesktopDesignerActions.d.ts +3 -3
  4. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  5. package/react/assets/css/finsemble.css +0 -1
  6. package/react/assets/css/toolbar.css +0 -4
  7. package/react/assets/css/userPreferences.css +39 -4
  8. package/react/componentTemplateGenerator.js +1 -1
  9. package/react/componentTemplateGenerator.js.map +1 -1
  10. package/react/components/appCatalog/AppCatalogComponent.d.ts +1 -1
  11. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +3 -3
  12. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +1 -1
  13. package/react/components/appCatalog/stores/storeActions.d.ts +1 -1
  14. package/react/components/common/DropdownButton.js.map +1 -1
  15. package/react/components/common/FileInput.d.ts +2 -1
  16. package/react/components/common/FileInput.js +2 -2
  17. package/react/components/common/FileInput.js.map +1 -1
  18. package/react/components/common/FinsembleToggle.d.ts +3 -1
  19. package/react/components/common/FinsembleToggle.js +12 -4
  20. package/react/components/common/FinsembleToggle.js.map +1 -1
  21. package/react/components/common/ImagePreview.js +1 -1
  22. package/react/components/common/ImagePreview.js.map +1 -1
  23. package/react/components/common/TimeSelect.d.ts +16 -0
  24. package/react/components/common/TimeSelect.js +143 -0
  25. package/react/components/common/TimeSelect.js.map +1 -0
  26. package/react/components/common/css/accordion.css +3 -5
  27. package/react/components/common/css/application-edit-page.css +4 -1
  28. package/react/components/common/css/time-select.css +8 -0
  29. package/react/components/common/css/toggle.css +39 -3
  30. package/react/components/common/helpers.js +1 -0
  31. package/react/components/common/helpers.js.map +1 -1
  32. package/react/components/common/stories/FileInput.stories.d.ts +2 -1
  33. package/react/components/common/stories/FileInput.stories.js +6 -0
  34. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  35. package/react/components/common/stories/FinsembleToggle.stories.d.ts +3 -1
  36. package/react/components/common/stories/FinsembleToggle.stories.js +12 -0
  37. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  38. package/react/components/common/stories/TimeSelect.stories.d.ts +11 -0
  39. package/react/components/common/stories/TimeSelect.stories.js +20 -0
  40. package/react/components/common/stories/TimeSelect.stories.js.map +1 -0
  41. package/react/components/common/tests/Accordion.spec.js +1 -1
  42. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  43. package/react/components/common/tests/FileInput.spec.js +8 -1
  44. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  45. package/react/components/common/tests/FinsembleSelect.spec.js +1 -1
  46. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  47. package/react/components/common/tests/FinsembleToggle.spec.js +8 -3
  48. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  49. package/react/components/{smartDesktopDesigner/tests/AppEditPage.spec.d.ts → common/tests/TimeSelect.spec.d.ts} +0 -0
  50. package/react/components/common/tests/TimeSelect.spec.js +71 -0
  51. package/react/components/common/tests/TimeSelect.spec.js.map +1 -0
  52. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  53. package/react/components/favorites/FavoritesShell.spec.js +1 -1
  54. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  55. package/react/components/fdc3Resolver/ResolverDialog.spec.js +1 -1
  56. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  57. package/react/components/icon/Icon.d.ts +4 -3
  58. package/react/components/icon/Icon.js +22 -12
  59. package/react/components/icon/Icon.js.map +1 -1
  60. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -1
  61. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  62. package/react/components/linker/LinkerMenu.js.map +1 -1
  63. package/react/components/menu/MenuPortal.js +1 -1
  64. package/react/components/menu/MenuPortal.js.map +1 -1
  65. package/react/components/processMonitor/ProcessMonitorTypes.d.ts +4 -11
  66. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -1
  67. package/react/components/processMonitor/components/ChildWindow.js +5 -10
  68. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  69. package/react/components/processMonitor/components/ProcessStatistics.js +8 -10
  70. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  71. package/react/components/processMonitor/constants.d.ts +0 -2
  72. package/react/components/processMonitor/constants.js +0 -2
  73. package/react/components/processMonitor/constants.js.map +1 -1
  74. package/react/components/processMonitor/helpers.d.ts +0 -11
  75. package/react/components/processMonitor/helpers.js +1 -9
  76. package/react/components/processMonitor/helpers.js.map +1 -1
  77. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +3 -11
  78. package/react/components/processMonitor/stores/ProcessMonitorStore.js +22 -62
  79. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  80. package/react/components/{smartDesktopDesigner → sdd}/AddApp.d.ts +0 -0
  81. package/react/components/{smartDesktopDesigner → sdd}/AddApp.js +0 -0
  82. package/react/components/sdd/AddApp.js.map +1 -0
  83. package/react/components/{smartDesktopDesigner → sdd}/AppEditAccess.d.ts +0 -0
  84. package/react/components/{smartDesktopDesigner → sdd}/AppEditAccess.js +0 -0
  85. package/react/components/sdd/AppEditAccess.js.map +1 -0
  86. package/react/components/{smartDesktopDesigner → sdd}/AppEditPage.d.ts +0 -0
  87. package/react/components/{smartDesktopDesigner → sdd}/AppEditPage.js +7 -1
  88. package/react/components/sdd/AppEditPage.js.map +1 -0
  89. package/react/components/{smartDesktopDesigner → sdd}/Appearance.css +0 -0
  90. package/react/components/{smartDesktopDesigner → sdd}/Appearance.d.ts +0 -0
  91. package/react/components/{smartDesktopDesigner → sdd}/Appearance.helpers.d.ts +0 -0
  92. package/react/components/{smartDesktopDesigner → sdd}/Appearance.helpers.js +0 -0
  93. package/react/components/sdd/Appearance.helpers.js.map +1 -0
  94. package/react/components/{smartDesktopDesigner → sdd}/Appearance.js +0 -0
  95. package/react/components/sdd/Appearance.js.map +1 -0
  96. package/react/components/{smartDesktopDesigner → sdd}/Application.d.ts +1 -2
  97. package/react/components/{smartDesktopDesigner → sdd}/Application.js +37 -39
  98. package/react/components/sdd/Application.js.map +1 -0
  99. package/react/components/{smartDesktopDesigner → sdd}/Applications.d.ts +0 -0
  100. package/react/components/{smartDesktopDesigner → sdd}/Applications.js +2 -2
  101. package/react/components/sdd/Applications.js.map +1 -0
  102. package/react/components/{smartDesktopDesigner → sdd}/AssetsPage.css +0 -0
  103. package/react/components/{smartDesktopDesigner → sdd}/AssetsPage.d.ts +0 -0
  104. package/react/components/{smartDesktopDesigner → sdd}/AssetsPage.js +0 -0
  105. package/react/components/sdd/AssetsPage.js.map +1 -0
  106. package/react/components/{smartDesktopDesigner → sdd}/Authentication.d.ts +0 -0
  107. package/react/components/{smartDesktopDesigner → sdd}/Authentication.js +1 -1
  108. package/react/components/sdd/Authentication.js.map +1 -0
  109. package/react/components/{smartDesktopDesigner → sdd}/AuthenticationProviderConfig.d.ts +0 -0
  110. package/react/components/{smartDesktopDesigner → sdd}/AuthenticationProviderConfig.js +0 -0
  111. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -0
  112. package/react/components/{smartDesktopDesigner → sdd}/Content.d.ts +0 -0
  113. package/react/components/{smartDesktopDesigner → sdd}/Content.js +0 -0
  114. package/react/components/sdd/Content.js.map +1 -0
  115. package/react/components/{smartDesktopDesigner → sdd}/ContentHeader.d.ts +0 -0
  116. package/react/components/{smartDesktopDesigner → sdd}/ContentHeader.js +0 -0
  117. package/react/components/sdd/ContentHeader.js.map +1 -0
  118. package/react/components/{smartDesktopDesigner → sdd}/CurrentView.d.ts +0 -0
  119. package/react/components/{smartDesktopDesigner → sdd}/CurrentView.js +0 -0
  120. package/react/components/sdd/CurrentView.js.map +1 -0
  121. package/react/components/{smartDesktopDesigner → sdd}/EditPreload.d.ts +5 -7
  122. package/react/components/sdd/EditPreload.js +156 -0
  123. package/react/components/sdd/EditPreload.js.map +1 -0
  124. package/react/components/{smartDesktopDesigner → sdd}/Export.d.ts +0 -0
  125. package/react/components/{smartDesktopDesigner → sdd}/Export.js +0 -0
  126. package/react/components/sdd/Export.js.map +1 -0
  127. package/react/components/{smartDesktopDesigner → sdd}/ExportCloud.d.ts +0 -0
  128. package/react/components/{smartDesktopDesigner → sdd}/ExportCloud.js +0 -0
  129. package/react/components/sdd/ExportCloud.js.map +1 -0
  130. package/react/components/{smartDesktopDesigner → sdd}/ExportDeployInfo.d.ts +0 -0
  131. package/react/components/{smartDesktopDesigner → sdd}/ExportDeployInfo.js +0 -0
  132. package/react/components/sdd/ExportDeployInfo.js.map +1 -0
  133. package/react/components/{smartDesktopDesigner → sdd}/ExportZip.d.ts +0 -0
  134. package/react/components/{smartDesktopDesigner → sdd}/ExportZip.js +0 -0
  135. package/react/components/sdd/ExportZip.js.map +1 -0
  136. package/react/components/{smartDesktopDesigner → sdd}/GettingStarted.d.ts +0 -0
  137. package/react/components/{smartDesktopDesigner → sdd}/GettingStarted.js +0 -0
  138. package/react/components/sdd/GettingStarted.js.map +1 -0
  139. package/react/components/{smartDesktopDesigner → sdd}/ItemList.d.ts +0 -0
  140. package/react/components/{smartDesktopDesigner → sdd}/ItemList.js +0 -0
  141. package/react/components/sdd/ItemList.js.map +1 -0
  142. package/react/components/{smartDesktopDesigner → sdd}/Navigation.d.ts +0 -0
  143. package/react/components/{smartDesktopDesigner → sdd}/Navigation.js +0 -0
  144. package/react/components/sdd/Navigation.js.map +1 -0
  145. package/react/components/{smartDesktopDesigner → sdd}/OptionalSettingsView.d.ts +1 -3
  146. package/react/components/sdd/OptionalSettingsView.js +56 -0
  147. package/react/components/sdd/OptionalSettingsView.js.map +1 -0
  148. package/react/components/sdd/Preloads.d.ts +6 -0
  149. package/react/components/sdd/Preloads.js +24 -0
  150. package/react/components/sdd/Preloads.js.map +1 -0
  151. package/react/components/{smartDesktopDesigner → sdd}/ProjectErrors.d.ts +0 -0
  152. package/react/components/{smartDesktopDesigner → sdd}/ProjectErrors.js +0 -0
  153. package/react/components/sdd/ProjectErrors.js.map +1 -0
  154. package/react/components/{smartDesktopDesigner → sdd}/Publish.d.ts +0 -0
  155. package/react/components/{smartDesktopDesigner → sdd}/Publish.js +0 -0
  156. package/react/components/sdd/Publish.js.map +1 -0
  157. package/react/components/{smartDesktopDesigner → sdd}/PublishProgress.d.ts +0 -0
  158. package/react/components/{smartDesktopDesigner → sdd}/PublishProgress.js +0 -0
  159. package/react/components/sdd/PublishProgress.js.map +1 -0
  160. package/react/components/sdd/SmartDesktopDesigner.d.ts +29 -0
  161. package/react/components/sdd/SmartDesktopDesigner.js +122 -0
  162. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -0
  163. package/react/components/{smartDesktopDesigner → sdd}/ThemePage.css +0 -0
  164. package/react/components/{smartDesktopDesigner → sdd}/ThemePage.d.ts +0 -0
  165. package/react/components/{smartDesktopDesigner → sdd}/ThemePage.js +0 -0
  166. package/react/components/sdd/ThemePage.js.map +1 -0
  167. package/react/components/{smartDesktopDesigner → sdd}/Themes.d.ts +0 -0
  168. package/react/components/{smartDesktopDesigner → sdd}/Themes.js +0 -0
  169. package/react/components/sdd/Themes.js.map +1 -0
  170. package/react/components/{smartDesktopDesigner → sdd}/Toolbar.d.ts +0 -0
  171. package/react/components/{smartDesktopDesigner → sdd}/Toolbar.js +9 -7
  172. package/react/components/sdd/Toolbar.js.map +1 -0
  173. package/react/components/{smartDesktopDesigner → sdd}/View.d.ts +0 -0
  174. package/react/components/{smartDesktopDesigner → sdd}/View.js +0 -0
  175. package/react/components/sdd/View.js.map +1 -0
  176. package/react/components/{smartDesktopDesigner → sdd}/common/fsbl_functions.d.ts +0 -0
  177. package/react/components/{smartDesktopDesigner → sdd}/common/fsbl_functions.js +0 -0
  178. package/react/components/sdd/common/fsbl_functions.js.map +1 -0
  179. package/react/components/{smartDesktopDesigner → sdd}/common/getCSSVars.d.ts +0 -0
  180. package/react/components/{smartDesktopDesigner → sdd}/common/getCSSVars.js +0 -0
  181. package/react/components/sdd/common/getCSSVars.js.map +1 -0
  182. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -0
  183. package/react/components/sdd/common/setPreloadDefaults.js +21 -0
  184. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -0
  185. package/react/components/{smartDesktopDesigner/fixtures → sdd/common}/views.d.ts +0 -0
  186. package/react/components/sdd/common/views.js +202 -0
  187. package/react/components/sdd/common/views.js.map +1 -0
  188. package/react/components/{smartDesktopDesigner → sdd}/css/appearance.css +0 -0
  189. package/react/components/{smartDesktopDesigner → sdd}/css/applications.css +0 -0
  190. package/react/components/{smartDesktopDesigner → sdd}/css/authentication.css +5 -1
  191. package/react/components/{smartDesktopDesigner → sdd}/css/buttons.css +0 -0
  192. package/react/components/{smartDesktopDesigner → sdd}/css/export.css +0 -0
  193. package/react/components/{smartDesktopDesigner → sdd}/css/getting-started.css +0 -0
  194. package/react/components/{smartDesktopDesigner → sdd}/css/nav.css +0 -0
  195. package/react/components/{smartDesktopDesigner → sdd}/css/project-errors.css +0 -0
  196. package/react/components/{smartDesktopDesigner → sdd}/css/project-header.css +0 -0
  197. package/react/components/{smartDesktopDesigner → sdd}/css/styles.css +0 -0
  198. package/react/components/{smartDesktopDesigner → sdd}/css/views.css +0 -1
  199. package/react/components/{smartDesktopDesigner → sdd}/fixtures/apps.d.ts +0 -0
  200. package/react/components/{smartDesktopDesigner → sdd}/fixtures/apps.js +10 -10
  201. package/react/components/sdd/fixtures/apps.js.map +1 -0
  202. package/react/components/{smartDesktopDesigner → sdd}/fixtures/authenticationProps.d.ts +0 -0
  203. package/react/components/{smartDesktopDesigner → sdd}/fixtures/authenticationProps.js +0 -0
  204. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -0
  205. package/react/components/{smartDesktopDesigner → sdd}/fixtures/configTemplate.d.ts +1 -1
  206. package/react/components/{smartDesktopDesigner → sdd}/fixtures/configTemplate.js +1 -1
  207. package/react/components/sdd/fixtures/configTemplate.js.map +1 -0
  208. package/react/components/{smartDesktopDesigner → sdd}/fixtures/exportProps.d.ts +0 -0
  209. package/react/components/{smartDesktopDesigner → sdd}/fixtures/exportProps.js +0 -0
  210. package/react/components/sdd/fixtures/exportProps.js.map +1 -0
  211. package/react/components/sdd/fixtures/preloads.d.ts +3 -0
  212. package/react/components/sdd/fixtures/preloads.js +57 -0
  213. package/react/components/sdd/fixtures/preloads.js.map +1 -0
  214. package/react/components/{smartDesktopDesigner → sdd}/fixtures/projectErrorsProps.d.ts +0 -0
  215. package/react/components/{smartDesktopDesigner → sdd}/fixtures/projectErrorsProps.js +0 -0
  216. package/react/components/sdd/fixtures/projectErrorsProps.js.map +1 -0
  217. package/react/components/{smartDesktopDesigner → sdd}/fixtures/publishProgress.d.ts +0 -0
  218. package/react/components/{smartDesktopDesigner → sdd}/fixtures/publishProgress.js +0 -0
  219. package/react/components/sdd/fixtures/publishProgress.js.map +1 -0
  220. package/react/components/{smartDesktopDesigner → sdd}/fixtures/themeProps.d.ts +0 -0
  221. package/react/components/{smartDesktopDesigner → sdd}/fixtures/themeProps.js +0 -0
  222. package/react/components/sdd/fixtures/themeProps.js.map +1 -0
  223. package/react/components/sdd/fixtures/views.d.ts +3 -0
  224. package/react/components/{smartDesktopDesigner → sdd}/fixtures/views.js +0 -0
  225. package/react/components/sdd/fixtures/views.js.map +1 -0
  226. package/react/components/{smartDesktopDesigner → sdd}/sdd_helpers.d.ts +0 -0
  227. package/react/components/{smartDesktopDesigner → sdd}/sdd_helpers.js +0 -0
  228. package/react/components/sdd/sdd_helpers.js.map +1 -0
  229. package/react/components/{smartDesktopDesigner → sdd}/stories/AppEditPage.stories.d.ts +0 -0
  230. package/react/components/{smartDesktopDesigner → sdd}/stories/AppEditPage.stories.js +0 -0
  231. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -0
  232. package/react/components/{smartDesktopDesigner → sdd}/stories/Appearance.stories.d.ts +0 -0
  233. package/react/components/{smartDesktopDesigner → sdd}/stories/Appearance.stories.js +0 -0
  234. package/react/components/sdd/stories/Appearance.stories.js.map +1 -0
  235. package/react/components/{smartDesktopDesigner → sdd}/stories/Applications.stories.d.ts +0 -0
  236. package/react/components/{smartDesktopDesigner → sdd}/stories/Applications.stories.js +0 -0
  237. package/react/components/sdd/stories/Applications.stories.js.map +1 -0
  238. package/react/components/{smartDesktopDesigner → sdd}/stories/AssetsPage.stories.d.ts +0 -0
  239. package/react/components/{smartDesktopDesigner → sdd}/stories/AssetsPage.stories.js +0 -0
  240. package/react/components/sdd/stories/AssetsPage.stories.js.map +1 -0
  241. package/react/components/{smartDesktopDesigner → sdd}/stories/Authentication.stories.d.ts +0 -0
  242. package/react/components/{smartDesktopDesigner → sdd}/stories/Authentication.stories.js +0 -0
  243. package/react/components/sdd/stories/Authentication.stories.js.map +1 -0
  244. package/react/components/{smartDesktopDesigner → sdd}/stories/ContentHeader.stories.d.ts +0 -0
  245. package/react/components/{smartDesktopDesigner → sdd}/stories/ContentHeader.stories.js +0 -0
  246. package/react/components/sdd/stories/ContentHeader.stories.js.map +1 -0
  247. package/react/components/{smartDesktopDesigner → sdd}/stories/Export.stories.d.ts +0 -0
  248. package/react/components/{smartDesktopDesigner → sdd}/stories/Export.stories.js +0 -0
  249. package/react/components/sdd/stories/Export.stories.js.map +1 -0
  250. package/react/components/{smartDesktopDesigner → sdd}/stories/ExportCloud.stories.d.ts +0 -0
  251. package/react/components/{smartDesktopDesigner → sdd}/stories/ExportCloud.stories.js +0 -0
  252. package/react/components/sdd/stories/ExportCloud.stories.js.map +1 -0
  253. package/react/components/{smartDesktopDesigner → sdd}/stories/ExportZip.stories.d.ts +0 -0
  254. package/react/components/{smartDesktopDesigner → sdd}/stories/ExportZip.stories.js +0 -0
  255. package/react/components/sdd/stories/ExportZip.stories.js.map +1 -0
  256. package/react/components/{smartDesktopDesigner → sdd}/stories/GettingStarted.stories.d.ts +0 -0
  257. package/react/components/{smartDesktopDesigner → sdd}/stories/GettingStarted.stories.js +0 -0
  258. package/react/components/sdd/stories/GettingStarted.stories.js.map +1 -0
  259. package/react/components/{smartDesktopDesigner → sdd}/stories/ItemList.stories.d.ts +0 -0
  260. package/react/components/{smartDesktopDesigner → sdd}/stories/ItemList.stories.js +0 -0
  261. package/react/components/sdd/stories/ItemList.stories.js.map +1 -0
  262. package/react/components/{smartDesktopDesigner → sdd}/stories/Navigation.stories.d.ts +0 -0
  263. package/react/components/{smartDesktopDesigner → sdd}/stories/Navigation.stories.js +0 -0
  264. package/react/components/sdd/stories/Navigation.stories.js.map +1 -0
  265. package/react/components/{smartDesktopDesigner → sdd}/stories/OptionalSettingsView.stories.d.ts +3 -2
  266. package/react/components/sdd/stories/OptionalSettingsView.stories.js +27 -0
  267. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -0
  268. package/react/components/{smartDesktopDesigner → sdd}/stories/ProjectErrors.stories.d.ts +0 -0
  269. package/react/components/{smartDesktopDesigner → sdd}/stories/ProjectErrors.stories.js +0 -0
  270. package/react/components/sdd/stories/ProjectErrors.stories.js.map +1 -0
  271. package/react/components/{smartDesktopDesigner → sdd}/stories/Publish.stories.d.ts +0 -0
  272. package/react/components/{smartDesktopDesigner → sdd}/stories/Publish.stories.js +0 -0
  273. package/react/components/sdd/stories/Publish.stories.js.map +1 -0
  274. package/react/components/{smartDesktopDesigner → sdd}/stories/PublishProgress.stories.d.ts +0 -0
  275. package/react/components/{smartDesktopDesigner → sdd}/stories/PublishProgress.stories.js +0 -0
  276. package/react/components/sdd/stories/PublishProgress.stories.js.map +1 -0
  277. package/react/components/{smartDesktopDesigner → sdd}/stories/SmartDesktopDesigner.stories.d.ts +0 -0
  278. package/react/components/{smartDesktopDesigner → sdd}/stories/SmartDesktopDesigner.stories.js +1 -0
  279. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -0
  280. package/react/components/{smartDesktopDesigner → sdd}/stories/ThemePage.stories.d.ts +0 -0
  281. package/react/components/{smartDesktopDesigner → sdd}/stories/ThemePage.stories.js +0 -0
  282. package/react/components/sdd/stories/ThemePage.stories.js.map +1 -0
  283. package/react/components/{smartDesktopDesigner → sdd}/stories/Themes.stories.d.ts +0 -0
  284. package/react/components/{smartDesktopDesigner → sdd}/stories/Themes.stories.js +0 -0
  285. package/react/components/sdd/stories/Themes.stories.js.map +1 -0
  286. package/react/components/{smartDesktopDesigner → sdd}/stories/Toolbar.stories.d.ts +0 -0
  287. package/react/components/{smartDesktopDesigner → sdd}/stories/Toolbar.stories.js +0 -0
  288. package/react/components/sdd/stories/Toolbar.stories.js.map +1 -0
  289. package/react/components/{smartDesktopDesigner/tests/Application.spec.d.ts → sdd/tests/AppEditPage.spec.d.ts} +0 -0
  290. package/react/components/{smartDesktopDesigner → sdd}/tests/AppEditPage.spec.js +0 -0
  291. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -0
  292. package/react/components/{smartDesktopDesigner/tests/Authentication.spec.d.ts → sdd/tests/Application.spec.d.ts} +0 -0
  293. package/react/components/{smartDesktopDesigner → sdd}/tests/Application.spec.js +13 -31
  294. package/react/components/sdd/tests/Application.spec.js.map +1 -0
  295. package/react/components/{smartDesktopDesigner → sdd}/tests/Applications.spec.d.ts +0 -0
  296. package/react/components/{smartDesktopDesigner → sdd}/tests/Applications.spec.js +0 -0
  297. package/react/components/sdd/tests/Applications.spec.js.map +1 -0
  298. package/react/components/{smartDesktopDesigner/tests/ContentHeader.spec.d.ts → sdd/tests/Authentication.spec.d.ts} +0 -0
  299. package/react/components/{smartDesktopDesigner → sdd}/tests/Authentication.spec.js +0 -0
  300. package/react/components/sdd/tests/Authentication.spec.js.map +1 -0
  301. package/react/components/{smartDesktopDesigner/tests/EditPreload.spec.d.ts → sdd/tests/ContentHeader.spec.d.ts} +0 -0
  302. package/react/components/{smartDesktopDesigner → sdd}/tests/ContentHeader.spec.js +0 -0
  303. package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -0
  304. package/react/components/{smartDesktopDesigner/tests/Export.spec.d.ts → sdd/tests/EditPreload.spec.d.ts} +0 -0
  305. package/react/components/{smartDesktopDesigner → sdd}/tests/EditPreload.spec.js +8 -10
  306. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -0
  307. package/react/components/{smartDesktopDesigner/tests/ExportZip.spec.d.ts → sdd/tests/Export.spec.d.ts} +0 -0
  308. package/react/components/{smartDesktopDesigner → sdd}/tests/Export.spec.js +0 -0
  309. package/react/components/sdd/tests/Export.spec.js.map +1 -0
  310. package/react/components/{smartDesktopDesigner/tests/ItemList.spec.d.ts → sdd/tests/ExportZip.spec.d.ts} +0 -0
  311. package/react/components/{smartDesktopDesigner → sdd}/tests/ExportZip.spec.js +0 -0
  312. package/react/components/sdd/tests/ExportZip.spec.js.map +1 -0
  313. package/react/components/{smartDesktopDesigner/tests/Navigation.spec.d.ts → sdd/tests/ItemList.spec.d.ts} +0 -0
  314. package/react/components/{smartDesktopDesigner → sdd}/tests/ItemList.spec.js +0 -0
  315. package/react/components/sdd/tests/ItemList.spec.js.map +1 -0
  316. package/react/components/{smartDesktopDesigner/tests/Preloads.spec.d.ts → sdd/tests/Navigation.spec.d.ts} +0 -0
  317. package/react/components/{smartDesktopDesigner → sdd}/tests/Navigation.spec.js +0 -0
  318. package/react/components/sdd/tests/Navigation.spec.js.map +1 -0
  319. package/react/components/{smartDesktopDesigner/tests/ProjectErrors.spec.d.ts → sdd/tests/OptionalSettingsView.spec.d.ts} +0 -0
  320. package/react/components/sdd/tests/OptionalSettingsView.spec.js +22 -0
  321. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -0
  322. package/react/components/{smartDesktopDesigner/tests/Publish.spec.d.ts → sdd/tests/ProjectErrors.spec.d.ts} +0 -0
  323. package/react/components/{smartDesktopDesigner → sdd}/tests/ProjectErrors.spec.js +0 -0
  324. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -0
  325. package/react/components/{smartDesktopDesigner/tests/PublishProgess.spec.d.ts → sdd/tests/Publish.spec.d.ts} +0 -0
  326. package/react/components/{smartDesktopDesigner → sdd}/tests/Publish.spec.js +0 -0
  327. package/react/components/sdd/tests/Publish.spec.js.map +1 -0
  328. package/react/components/{smartDesktopDesigner/tests/SmartDesktopDesigner.spec.d.ts → sdd/tests/PublishProgess.spec.d.ts} +0 -0
  329. package/react/components/{smartDesktopDesigner → sdd}/tests/PublishProgess.spec.js +0 -0
  330. package/react/components/sdd/tests/PublishProgess.spec.js.map +1 -0
  331. package/react/components/{smartDesktopDesigner/tests/Themes.spec.d.ts → sdd/tests/SmartDesktopDesigner.spec.d.ts} +0 -0
  332. package/react/components/{smartDesktopDesigner → sdd}/tests/SmartDesktopDesigner.spec.js +1 -1
  333. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -0
  334. package/react/components/{smartDesktopDesigner/tests/sdd_helpers.spec.d.ts → sdd/tests/Themes.spec.d.ts} +0 -0
  335. package/react/components/{smartDesktopDesigner → sdd}/tests/Themes.spec.js +0 -0
  336. package/react/components/sdd/tests/Themes.spec.js.map +1 -0
  337. package/react/components/{smartDesktopDesigner → sdd}/tests/Toolbar.spec.d.ts +0 -0
  338. package/react/components/{smartDesktopDesigner → sdd}/tests/Toolbar.spec.js +0 -0
  339. package/react/components/sdd/tests/Toolbar.spec.js.map +1 -0
  340. package/react/components/{smartDesktopDesigner → sdd}/tests/a11y_helper.d.ts +0 -0
  341. package/react/components/{smartDesktopDesigner → sdd}/tests/a11y_helper.js +0 -0
  342. package/react/components/sdd/tests/a11y_helper.js.map +1 -0
  343. package/react/components/{userPreferences/tests/ScheduledRestart.spec.d.ts → sdd/tests/sdd_helpers.spec.d.ts} +0 -0
  344. package/react/components/{smartDesktopDesigner → sdd}/tests/sdd_helpers.spec.js +0 -0
  345. package/react/components/sdd/tests/sdd_helpers.spec.js.map +1 -0
  346. package/react/components/{smartDesktopDesigner → sdd}/themeDefinitions.d.ts +0 -0
  347. package/react/components/{smartDesktopDesigner → sdd}/themeDefinitions.js +0 -0
  348. package/react/components/sdd/themeDefinitions.js.map +1 -0
  349. package/react/components/search/SearchBestMatch.js.map +1 -1
  350. package/react/components/search/SearchProviderResults.d.ts +3 -1
  351. package/react/components/search/SearchProviderResults.js.map +1 -1
  352. package/react/components/search/SearchResult.d.ts +3 -1
  353. package/react/components/search/SearchResult.js +9 -7
  354. package/react/components/search/SearchResult.js.map +1 -1
  355. package/react/components/shared/DefaultDropdownButton.js +5 -4
  356. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  357. package/react/components/shared/tests/DefaultDropdownButton.spec.js +9 -0
  358. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  359. package/react/components/singleInputDialog/SingleInputDialog.spec.js +1 -1
  360. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
  361. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -11
  362. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +2 -116
  363. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  364. package/react/components/smartDesktopDesigner/common/views.js +1 -203
  365. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  366. package/react/components/toolbar/AutoArrange.js +1 -1
  367. package/react/components/toolbar/AutoArrange.js.map +1 -1
  368. package/react/components/toolbar/AutoArrange.spec.d.ts +1 -0
  369. package/react/components/toolbar/AutoArrange.spec.js +48 -0
  370. package/react/components/toolbar/AutoArrange.spec.js.map +1 -0
  371. package/react/components/toolbar/AutoArrange.stories.d.ts +11 -0
  372. package/react/components/toolbar/AutoArrange.stories.js +21 -0
  373. package/react/components/toolbar/AutoArrange.stories.js.map +1 -0
  374. package/react/components/toolbar/SddButton.d.ts +2 -0
  375. package/react/components/toolbar/SddButton.js +23 -0
  376. package/react/components/toolbar/SddButton.js.map +1 -0
  377. package/react/components/toolbar/ToolbarShell.js +4 -1
  378. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  379. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +2 -1
  380. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  381. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +3 -2
  382. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  383. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  384. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +15 -4
  385. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  386. package/react/components/toolbar/appLauncher/components/componentList.js +3 -4
  387. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  388. package/react/components/toolbar/dashbar/Dashbar.js +2 -0
  389. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  390. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +71 -12
  391. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  392. package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -2
  393. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -1
  394. package/react/components/userPreferences/components/content/General.d.ts +2 -5
  395. package/react/components/userPreferences/components/content/General.js +31 -11
  396. package/react/components/userPreferences/components/content/General.js.map +1 -1
  397. package/react/components/userPreferences/components/content/Workspaces.d.ts +5 -0
  398. package/react/components/userPreferences/components/content/Workspaces.js +58 -17
  399. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  400. package/react/components/userPreferences/components/general/ScheduledClose.d.ts +10 -0
  401. package/react/components/userPreferences/components/general/ScheduledClose.js +95 -0
  402. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -0
  403. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +6 -2
  404. package/react/components/userPreferences/stores/UserPreferencesStore.js +19 -3
  405. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  406. package/react/components/userPreferences/stories/General.stories.d.ts +6 -2
  407. package/react/components/userPreferences/stories/ScheduledClose.stories.d.ts +12 -0
  408. package/react/components/userPreferences/stories/ScheduledClose.stories.js +53 -0
  409. package/react/components/userPreferences/stories/ScheduledClose.stories.js.map +1 -0
  410. package/react/components/userPreferences/tests/General.spec.js +4 -17
  411. package/react/components/userPreferences/tests/General.spec.js.map +1 -1
  412. package/react/components/userPreferences/tests/ScheduledClose.spec.d.ts +1 -0
  413. package/react/components/userPreferences/tests/ScheduledClose.spec.js +47 -0
  414. package/react/components/userPreferences/tests/ScheduledClose.spec.js.map +1 -0
  415. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +1 -0
  416. package/react/components/windowTitleBar/WindowTitleBarShell.js +16 -6
  417. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  418. package/react/components/windowTitleBar/components/center/TabList.js +2 -2
  419. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  420. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  421. package/react/components/windowTitleBar/components/windowTitle.js +11 -10
  422. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  423. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +12 -9
  424. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  425. package/react/components/yesNoDialog/Timer.spec.js +1 -1
  426. package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
  427. package/react/components/yesNoDialog/YesNoDialog.spec.js +1 -1
  428. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  429. package/react/hooks/useSearch.d.ts +2 -1
  430. package/react/hooks/useSearch.js.map +1 -1
  431. package/react/hooks/useToolbar.js +6 -0
  432. package/react/hooks/useToolbar.js.map +1 -1
  433. package/react/reducers/rootReducer.d.ts +1 -1
  434. package/react/reducers/smartDesktopDesignerReducer.js +1 -1
  435. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  436. package/react/store.d.ts +2 -2
  437. package/react/types/advancedAppLauncherTypes.d.ts +5 -3
  438. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  439. package/react/types/favoriteTypes.d.ts +4 -2
  440. package/react/types/favoriteTypes.js.map +1 -1
  441. package/react/types/smartDesktopDesignerTypes.d.ts +9 -1
  442. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  443. package/react/components/smartDesktopDesigner/AddApp.js.map +0 -1
  444. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +0 -1
  445. package/react/components/smartDesktopDesigner/AppEditPage.js.map +0 -1
  446. package/react/components/smartDesktopDesigner/Appearance.helpers.js.map +0 -1
  447. package/react/components/smartDesktopDesigner/Appearance.js.map +0 -1
  448. package/react/components/smartDesktopDesigner/Application.js.map +0 -1
  449. package/react/components/smartDesktopDesigner/Applications.js.map +0 -1
  450. package/react/components/smartDesktopDesigner/AssetsPage.js.map +0 -1
  451. package/react/components/smartDesktopDesigner/Authentication.js.map +0 -1
  452. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +0 -1
  453. package/react/components/smartDesktopDesigner/Content.js.map +0 -1
  454. package/react/components/smartDesktopDesigner/ContentHeader.js.map +0 -1
  455. package/react/components/smartDesktopDesigner/CurrentView.js.map +0 -1
  456. package/react/components/smartDesktopDesigner/EditPreload.js +0 -169
  457. package/react/components/smartDesktopDesigner/EditPreload.js.map +0 -1
  458. package/react/components/smartDesktopDesigner/Export.js.map +0 -1
  459. package/react/components/smartDesktopDesigner/ExportCloud.js.map +0 -1
  460. package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +0 -1
  461. package/react/components/smartDesktopDesigner/ExportZip.js.map +0 -1
  462. package/react/components/smartDesktopDesigner/GettingStarted.js.map +0 -1
  463. package/react/components/smartDesktopDesigner/ItemList.js.map +0 -1
  464. package/react/components/smartDesktopDesigner/Navigation.js.map +0 -1
  465. package/react/components/smartDesktopDesigner/OptionalSettingsView.js +0 -71
  466. package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +0 -1
  467. package/react/components/smartDesktopDesigner/Preloads.d.ts +0 -8
  468. package/react/components/smartDesktopDesigner/Preloads.js +0 -26
  469. package/react/components/smartDesktopDesigner/Preloads.js.map +0 -1
  470. package/react/components/smartDesktopDesigner/ProjectErrors.js.map +0 -1
  471. package/react/components/smartDesktopDesigner/Publish.js.map +0 -1
  472. package/react/components/smartDesktopDesigner/PublishProgress.js.map +0 -1
  473. package/react/components/smartDesktopDesigner/ThemePage.js.map +0 -1
  474. package/react/components/smartDesktopDesigner/Themes.js.map +0 -1
  475. package/react/components/smartDesktopDesigner/Toolbar.js.map +0 -1
  476. package/react/components/smartDesktopDesigner/View.js.map +0 -1
  477. package/react/components/smartDesktopDesigner/common/fsbl_functions.js.map +0 -1
  478. package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +0 -1
  479. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +0 -1
  480. package/react/components/smartDesktopDesigner/fixtures/authenticationProps.js.map +0 -1
  481. package/react/components/smartDesktopDesigner/fixtures/configTemplate.js.map +0 -1
  482. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +0 -1
  483. package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +0 -22
  484. package/react/components/smartDesktopDesigner/fixtures/preloads.js +0 -40
  485. package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +0 -1
  486. package/react/components/smartDesktopDesigner/fixtures/projectErrorsProps.js.map +0 -1
  487. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +0 -1
  488. package/react/components/smartDesktopDesigner/fixtures/themeProps.js.map +0 -1
  489. package/react/components/smartDesktopDesigner/fixtures/views.js.map +0 -1
  490. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +0 -1
  491. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +0 -1
  492. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +0 -1
  493. package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +0 -1
  494. package/react/components/smartDesktopDesigner/stories/AssetsPage.stories.js.map +0 -1
  495. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +0 -1
  496. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js.map +0 -1
  497. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +0 -11
  498. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +0 -35
  499. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +0 -1
  500. package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +0 -1
  501. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +0 -1
  502. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +0 -1
  503. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +0 -1
  504. package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +0 -1
  505. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +0 -1
  506. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +0 -28
  507. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +0 -1
  508. package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +0 -11
  509. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +0 -31
  510. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +0 -1
  511. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +0 -1
  512. package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +0 -1
  513. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +0 -1
  514. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +0 -1
  515. package/react/components/smartDesktopDesigner/stories/ThemePage.stories.js.map +0 -1
  516. package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +0 -1
  517. package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js.map +0 -1
  518. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +0 -1
  519. package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +0 -1
  520. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +0 -1
  521. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +0 -1
  522. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js.map +0 -1
  523. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +0 -1
  524. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +0 -1
  525. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +0 -1
  526. package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +0 -1
  527. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +0 -1
  528. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +0 -47
  529. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +0 -1
  530. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +0 -1
  531. package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +0 -1
  532. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +0 -1
  533. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +0 -1
  534. package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +0 -1
  535. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js.map +0 -1
  536. package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +0 -1
  537. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js.map +0 -1
  538. package/react/components/smartDesktopDesigner/themeDefinitions.js.map +0 -1
  539. package/react/components/toolbar/appLauncher/DynamicAppLauncher.d.ts +0 -6
  540. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js +0 -23
  541. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +0 -1
  542. package/react/components/userPreferences/components/general/ScheduledRestart.d.ts +0 -27
  543. package/react/components/userPreferences/components/general/ScheduledRestart.js +0 -190
  544. package/react/components/userPreferences/components/general/ScheduledRestart.js.map +0 -1
  545. package/react/components/userPreferences/tests/ScheduledRestart.spec.js +0 -70
  546. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +0 -1
  547. package/react/hooks/useWorkspace.d.ts +0 -5
  548. package/react/hooks/useWorkspace.js +0 -26
  549. package/react/hooks/useWorkspace.js.map +0 -1
  550. package/react/types/iconTypes.d.ts +0 -11
  551. package/react/types/iconTypes.js +0 -2
  552. package/react/types/iconTypes.js.map +0 -1
  553. package/react/types/searchTypes.d.ts +0 -22
  554. package/react/types/searchTypes.js +0 -2
  555. package/react/types/searchTypes.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectErrors.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/ProjectErrors.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AACrE,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAElE,eAAe;IACd,KAAK,EAAE,sCAAsC;IAC7C,SAAS,EAAE,aAAa;CACxB,CAAC;AAEF,MAAM,QAAQ,GAA8B,CAAC,IAAwB,EAAE,EAAE;IACxE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,OAAO,CACN,oBAAC,iBAAiB,IAAC,KAAK,EAAE,WAAW,EAAE;QACtC,oBAAC,aAAa,oBAAK,IAAI,EAAI,CACR,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,qBACR,oBAAoB,CACvB,CAAC","sourcesContent":["import React from \"react\";\nimport { ProjectErrors, ProjectErrorsProps } from \"../ProjectErrors\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../../common/helpers\";\nimport { FinsembleProvider, createStore } from \"../../FinsembleProvider\";\nimport PROJECT_ERRORS_PROPS from \"../fixtures/projectErrorsProps\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/ProjectErrors\",\n\tcomponent: ProjectErrors,\n};\n\nconst Template: Story<ProjectErrorsProps> = (args: ProjectErrorsProps) => {\n\tinitFSBL(window);\n\n\treturn (\n\t\t<FinsembleProvider store={createStore()}>\n\t\t\t<ProjectErrors {...args} />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n\t...PROJECT_ERRORS_PROPS,\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Publish.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/Publish.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ExportProps } from \"../Export\";\nimport { Publish } from \"../Publish\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { initFSBL } from \"../../common/helpers\";\nimport { FinsembleProvider } from \"../../FinsembleProvider\";\nimport publishTests from \"../fixtures/publishProgress\";\nimport { useDispatch } from \"../../../store\";\nimport { SmartDesktopDesignerActions } from \"../../../actions/smartDesktopDesignerActions\";\nimport { DEFAULT_PROPS } from \"../fixtures/exportProps\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/Publish\",\n\tcomponent: Publish,\n};\n\nconst Dispatcher = (props: ExportProps) => {\n\tconst dispatch = useDispatch();\n\n\tif (props.publishToCosaicCloud) {\n\t\tprops\n\t\t\t.publishToCosaicCloud()\n\t\t\t.then((currentDeployInfo) => dispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo)))\n\t\t\t.catch((error) => dispatch(SmartDesktopDesignerActions.set_publish_error(error)));\n\t}\n\n\treturn <></>;\n};\n\nconst Template: Story<ExportProps> = (args: ExportProps) => {\n\tinitFSBL(window);\n\n\treturn (\n\t\t<FinsembleProvider>\n\t\t\t<Publish {...args} />\n\t\t\t<Dispatcher {...args} />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const DefaultPublish = Template.bind({});\nDefaultPublish.args = { ...DEFAULT_PROPS };\n\nexport const Error1Publish = Template.bind({});\nError1Publish.args = {\n\t...DEFAULT_PROPS,\n\tgetPublishProgress: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve(publishTests.find((test) => test.name === \"step-1-fail\")!.states[0]);\n\t\t}),\n};\n\nexport const Error2Publish = Template.bind({});\nError2Publish.args = {\n\t...DEFAULT_PROPS,\n\tgetPublishProgress: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve(publishTests.find((test) => test.name === \"step-2-fail\")!.states[0]);\n\t\t}),\n};\n\nexport const Error3Publish = Template.bind({});\nError3Publish.args = {\n\t...DEFAULT_PROPS,\n\tgetPublishProgress: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve(publishTests.find((test) => test.name === \"step-3-fail\")!.states[0]);\n\t\t}),\n};\n\nexport const Error4Publish = Template.bind({});\nError4Publish.args = {\n\t...DEFAULT_PROPS,\n\tgetPublishProgress: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve(publishTests.find((test) => test.name === \"step-4-fail\")!.states[0]);\n\t\t}),\n};\n\nexport const SuccessPublish = Template.bind({});\nSuccessPublish.args = {\n\t...DEFAULT_PROPS,\n\tgetPublishProgress: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve(publishTests.find((test) => test.name === \"success\")!.states[0]);\n\t\t}),\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishProgress.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/PublishProgress.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AAGrC,eAAe;IACd,KAAK,EAAE,wCAAwC;IAC/C,SAAS,EAAE,eAAe;CAC1B,CAAC;AAEF,MAAM,QAAQ,GAAgC,CAAC,IAA0B,EAAE,EAAE,CAAC,oBAAC,eAAe,oBAAK,IAAI,EAAI,CAAC;AAE5G,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,sBAAsB,CAAC,IAAI,GAAG;IAC7B,eAAe,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,sBAAsB,CAAC,IAAI,GAAG;IAC7B,eAAe,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,mBAAmB,CAAC,IAAI,GAAG;IAC1B,eAAe,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,mBAAmB,CAAC,IAAI,GAAG;IAC1B,eAAe,EAAE,GAAG;CACpB,CAAC","sourcesContent":["import React from \"react\";\nimport { PublishProgress, PublishProgressProps } from \"../PublishProgress\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/PublishProgress\",\n\tcomponent: PublishProgress,\n};\n\nconst Template: Story<PublishProgressProps> = (args: PublishProgressProps) => <PublishProgress {...args} />;\n\nexport const InitialPublishProgress = Template.bind({});\nInitialPublishProgress.args = {\n\tpercentComplete: 0,\n};\n\nexport const QuarterPublishProgress = Template.bind({});\nQuarterPublishProgress.args = {\n\tpercentComplete: 25,\n};\n\nexport const HalfPublishProgress = Template.bind({});\nHalfPublishProgress.args = {\n\tpercentComplete: 50,\n};\n\nexport const FullPublishProgress = Template.bind({});\nFullPublishProgress.args = {\n\tpercentComplete: 100,\n};\n"]}
@@ -37,6 +37,7 @@ const DEFAULT_PROPS = {
37
37
  resolve("/tmp");
38
38
  }),
39
39
  restartFinsemble: () => { },
40
+ setDefaults: () => new Promise(() => { }),
40
41
  };
41
42
  export default {
42
43
  title: "Components/Smart Desktop Designer",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartDesktopDesigner.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/SmartDesktopDesigner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA6B,MAAM,yBAAyB,CAAC;AAC1F,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAKtC,MAAM,aAAa,GAAG;IACrB,KAAK;IACL,SAAS,EAAE,CAAC,MAAW,EAAE,QAAa,EAAE,EAAE,CACzC,IAAI,OAAO,CAAoC,GAAG,EAAE;QACnD,QAAQ,CAAC,IAAI,EAAE;YACd,SAAS,EAAE;gBACV,MAAM,EAAE;oBACP,WAAW,EAAE,MAAM;iBACnB;aACD;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;IACH,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAsB,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9D,eAAe,EAAE,GAAG,EAAE,CACrB,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE;QACrC,OAAO,CAAC;YACP,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,mBAAmB;YACpC,aAAa,EAAE,EAAE;SACD,CAAC,CAAC;IACpB,CAAC,CAAC;IACH,kBAAkB,EAAE,GAAG,EAAE,CACxB,IAAI,OAAO,CASR,CAAC,OAAO,EAAE,EAAE;QACd,OAAO,CAAC;YACP,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,0FAA0F;aAChG;YACD,GAAG,EAAE,IAAI;SACT,CAAC,CAAC;IACJ,CAAC,CAAC;IACH,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAChE,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IAC9B,iBAAiB,EAAE,GAAG,EAAE,CACvB,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC/B,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC;IACH,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAM,GAAG,EAAE,GAAE,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAe;IACd,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,oBAAoB;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAA4B,oBAAoB,oBAAO,aAAa,EAAG,CAAC","sourcesContent":["import { SmartDesktopDesigner, SmartDesktopDesignerProps } from \"../SmartDesktopDesigner\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { createStory } from \"../../common/helpers\";\nimport views from \"../fixtures/views\";\nimport { FEA } from \"@finsemble/finsemble-api\";\n\ntype SDServerInfo = FEA.SDServerInfo;\n\nconst DEFAULT_PROPS = {\n\tviews,\n\tgetConfig: (params: any, callback: any) =>\n\t\tnew Promise<{ data: any; err: string | null }>(() => {\n\t\t\tcallback(null, {\n\t\t\t\tfinsemble: {\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\tFSBLVersion: \"test\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t}),\n\tresetProject: () => new Promise<[Error | null, any]>(() => {}),\n\tgetSDServerInfo: () =>\n\t\tnew Promise<SDServerInfo>((resolve) => {\n\t\t\tresolve({\n\t\t\t\tenabled: true,\n\t\t\t\tapplicationRoot: \"http://localhost/\",\n\t\t\t\tprojectConfig: {},\n\t\t\t} as SDServerInfo);\n\t\t}),\n\tgetProjectSettings: () =>\n\t\tnew Promise<{\n\t\t\tsettings: {\n\t\t\t\tname: string;\n\t\t\t\tpath?: string;\n\t\t\t\tversion?: string;\n\t\t\t\tauthors?: string;\n\t\t\t\tdescription?: string;\n\t\t\t};\n\t\t\terr: any;\n\t\t}>((resolve) => {\n\t\t\tresolve({\n\t\t\t\tsettings: {\n\t\t\t\t\tname: \"default\",\n\t\t\t\t\tpath: \"/Users/administrator/Library/Application Support/Electron/smartDesktops/projects/default\",\n\t\t\t\t},\n\t\t\t\terr: null,\n\t\t\t});\n\t\t}),\n\tupdateProjectSettings: () => new Promise<{ err: any }>(() => {}),\n\tonThemeUpdated: () => () => {},\n\tselectProjectPath: () =>\n\t\tnew Promise<string>((resolve) => {\n\t\t\tresolve(\"/tmp\");\n\t\t}),\n\trestartFinsemble: () => {},\n\tsetDefaults: () => new Promise<any>(() => {}),\n};\n\nexport default {\n\ttitle: \"Components/Smart Desktop Designer\",\n\tcomponent: SmartDesktopDesigner,\n};\n\nexport const DefaultSDD = createStory<SmartDesktopDesignerProps>(SmartDesktopDesigner, { ...DEFAULT_PROPS });\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemePage.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/ThemePage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAkB,MAAM,cAAc,CAAC;AACzD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,eAAe;IACd,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,SAAS;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAiB,SAAS,EAAE;IAC1D,KAAK,EAAE,SAAS;IAChB,YAAY,EAAE,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACD,CAAC,CAAC","sourcesContent":["import { createStory } from \"../../common/helpers\";\nimport { ThemePage, ThemePageProps } from \"../ThemePage\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { darkTheme } from \"../themeDefinitions\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/ThemePage\",\n\tcomponent: ThemePage,\n};\n\nexport const Page = createStory<ThemePageProps>(ThemePage, {\n\ttheme: darkTheme,\n\tupdateThemes: (id: string, newValue: string) => {\n\t\tconsole.log(`ID: ${id}, Theme: ${newValue}`);\n\t},\n});\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Themes.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/Themes.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAC/C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,eAAe;IACd,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAa,MAAM,EAAE;IACnD,eAAe,EAAE,CAAC,EAAY,EAAE,EAAE;QACjC,EAAE,CAAC;YACF,eAAe,EAAE,EAAE;YACnB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE;gBACL,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;aACT;YACD,MAAM,EAAE;gBACP,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,EAAE;gBAClB,iBAAiB,EAAE,EAAE;aACrB;SACD,CAAC,CAAC;IACJ,CAAC;IACD,qBAAqB,EAAE,GAAG,EAAE,CAC3B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACvB,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IACH,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,UAAU,EAAE,CAAC,EAAY,EAAE,EAAE;QAC5B,EAAE,EAAE,CAAC;IACN,CAAC;IACD,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC;IACnC,KAAK,EAAE;QACN,MAAM,EAAE;YACP,OAAO,EAAE,SAAS;SAClB;KACD;CACD,CAAC,CAAC","sourcesContent":["import { Themes, ThemeProps } from \"../Themes\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { action } from \"@storybook/addon-actions\";\nimport { darkTheme } from \"../themeDefinitions\";\nimport { createStory } from \"../../common/helpers\";\n\nexport default {\n\ttitle: \"Views/Themes\",\n\tcomponent: Themes,\n};\n\nexport const Page = createStory<ThemeProps>(Themes, {\n\tgetSDServerInfo: (cb: Function) => {\n\t\tcb({\n\t\t\tapplicationRoot: \"\",\n\t\t\tname: \"\",\n\t\t\tuser: {\n\t\t\t\tfirstName: \"\",\n\t\t\t\tlastName: \"\",\n\t\t\t\tcompany: \"\",\n\t\t\t\temail: \"\",\n\t\t\t},\n\t\t\texport: {\n\t\t\t\tauthor: \"\",\n\t\t\t\tcompanyName: \"\",\n\t\t\t\tdescription: \"\",\n\t\t\t\ttoolbarIcon: \"\",\n\t\t\t\tinstallerIcon: \"\",\n\t\t\t\ttaskbarIcon: \"\",\n\t\t\t\tsystemTrayIcon: \"\",\n\t\t\t\tsplashScreenImage: \"\",\n\t\t\t},\n\t\t});\n\t},\n\tupdateProjectSettings: () =>\n\t\tnew Promise((resolve) => {\n\t\t\tresolve({ err: undefined });\n\t\t}),\n\tupdateSplashScreen: action(\"updateSplashScreen\"),\n\tupdateToolbarIcon: action(\"updateToolbarIcon\"),\n\tupdateTaskbarIcon: action(\"updateTaskbarIcon\"),\n\tupdateSystemTrayIcon: action(\"updateSystemTrayIcon\"),\n\tupdateInstallerIcon: action(\"updateInstallerIcon\"),\n\tareYouSure: (cb: Function) => {\n\t\tcb();\n\t},\n\tupdateThemes: action(\"updateTheme\"),\n\ttheme: {\n\t\tthemes: {\n\t\t\tDefault: darkTheme,\n\t\t},\n\t},\n});\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/Toolbar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AACnD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAe;IACd,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,OAAO;CAClB,CAAC;AAEF,MAAM,QAAQ,GAAwB,CAAC,IAAkB,EAAE,EAAE;IAC5D,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,OAAO,CACN,oBAAC,iBAAiB,IAAC,KAAK,EAAE,WAAW,EAAE;QACtC,oBAAC,OAAO,oBAAK,IAAI,EAAI,CACF,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9C,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;IACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import React from \"react\";\nimport { Toolbar, ToolbarProps } from \"../Toolbar\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nimport { FinsembleProvider } from \"../../FinsembleProvider\";\nimport { initFSBL } from \"../../common/helpers\";\nimport { getApplicationsArgs } from \"../fixtures/apps\";\nimport { createStore } from \"../../../store\";\n\nexport default {\n\ttitle: \"Views/Toolbar\",\n\tcomponent: Toolbar,\n};\n\nconst Template: Story<ToolbarProps> = (args: ToolbarProps) => {\n\tinitFSBL(window);\n\n\treturn (\n\t\t<FinsembleProvider store={createStore()}>\n\t\t\t<Toolbar {...args} />\n\t\t</FinsembleProvider>\n\t);\n};\n\nexport const EmptyApplications = (() => {\n\tconst Component = Template.bind({});\n\n\tComponent.args = getApplicationsArgs(\"empty\");\n\n\treturn Component;\n})();\n\nexport const DefaultApplications = (() => {\n\tconst Component = Template.bind({});\n\n\tComponent.args = getApplicationsArgs(\"default\");\n\n\treturn Component;\n})();\n\nexport const Long = (() => {\n\tconst Component = Template.bind({});\n\n\tComponent.args = getApplicationsArgs(\"long\");\n\n\treturn Component;\n})();\n\nexport const ApplicationsWithTemporary = (() => {\n\tconst Component = Template.bind({});\n\n\tComponent.args = getApplicationsArgs(\"temporary\");\n\n\treturn Component;\n})();\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppEditPage.spec.js","sourceRoot":"","sources":["../../../../src/components/sdd/tests/AppEditPage.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { afterEach, describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { AppEditPageProps } from \"../AppEditPage\";\nimport { Page, EmptyPage, NativePage, PageWithIconURL } from \"../stories/AppEditPage.stories\";\n\nconst defaults = {\n\tname: \"Test\",\n\tabstractPosition: 0,\n\taddToWorkspace: true,\n\tallowAutoArrange: true,\n\tallowGrouping: true,\n\tallowMaximize: true,\n\tallowMinimize: true,\n\tallowSnapping: true,\n\tallowTabbing: true,\n\tallowTiling: true,\n\talwaysOnTop: false,\n\tappArguments: \"\",\n\tappType: \"web\",\n\tautoConnect: false,\n\tdescription: \"\",\n\tenableAOT: false,\n\tenableTitleBar: true,\n\theight: 600,\n\thideClose: false,\n\thideMaximize: false,\n\thideMinimize: false,\n\ticonURL: \"\",\n\tintents: [],\n\tisEvergreen: false,\n\tlaunchableByUser: true,\n\tnative_windowSpawnTimeout: 30,\n\topacity: 1,\n\tpath: \"\",\n\tpersistPath: true,\n\tpersistURL: true,\n\tpreloads: [],\n\tresizable: true,\n\trules: [],\n\tsecurity: \"trusted\",\n\tsingleton: false,\n\tspawnOnStartup: false,\n\turl: \"http://www.google.com\",\n\twidth: 1280,\n};\n\nconst testPresetInputValue = (appDataKey: string, selector: string, starter = Page, presetValue = \"Test\") => {\n\tconst args = {\n\t\t...starter.args,\n\t\tappData: {\n\t\t\t...starter.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\texpect(wrapper.find(selector).prop(\"value\")).to.equal(presetValue);\n};\nconst testSaveInputValue = (\n\tappDataKey: string,\n\tselector: string,\n\tnative = false,\n\tnewValue: string | number = \"New value\"\n) => {\n\tconst starter = native ? NativePage : Page;\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper\n\t\t.find(selector)\n\t\t.at(0)\n\t\t.simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: newValue,\n\t\t\t},\n\t\t});\n\n\tconst collection = wrapper.find(\"button\");\n\tcollection.at(collection.length - 1).simulate(\"click\");\n\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t...defaults,\n\t\t...(native\n\t\t\t? {\n\t\t\t\t\tappType: \"native\",\n\t\t\t\t\tpath: \"test.exe\",\n\t\t\t }\n\t\t\t: {}),\n\t\t[appDataKey]: newValue,\n\t});\n};\nconst testSubmitOnEnter = (selector: string, starter = Page) => {\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper\n\t\t.find(selector)\n\t\t.at(0)\n\t\t.simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t\tpreventDefault: () => {},\n\t\t});\n\texpect(buttonSpy.calledOnce).to.be.true;\n};\nconst flipCheckbox = (appDataKey: string, label: string, presetValue: boolean) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst buttonSpy = sinon.spy(args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...args} />);\n\n\twrapper.find(`[role='checkbox'][aria-label='${label}']`).simulate(\"click\");\n\tconst collection = wrapper.find(\"button\");\n\tconst saveButton = collection.at(collection.length - 1);\n\tsaveButton.simulate(\"click\");\n\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t...defaults,\n\t\t[appDataKey]: !presetValue,\n\t});\n};\nconst presetCheckbox = (\n\tappDataKey: string,\n\tlabel: string,\n\tpresetValue: boolean = true,\n\texpectedValue: boolean = true\n) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\texpect(wrapper.find(`[role='checkbox'][aria-label='${label}']`).prop(\"aria-checked\")).to.equal(expectedValue);\n};\nconst checkUniqueRadioButtons = (name: string, numberOfButtons: number, starter = Page) => {\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\n\tconst locator = `input[type='radio'][name='${name}']`;\n\n\tfor (let i = 0; i < numberOfButtons; i++) {\n\t\twrapper.find(locator).at(i).simulate(\"change\");\n\n\t\tfor (let j = 0; j < numberOfButtons; j++) {\n\t\t\texpect(\n\t\t\t\twrapper.find(locator).at(j).prop(\"checked\"),\n\t\t\t\t`When radio #${i + 1} is clicked, is radio #${j + 1} checked?`\n\t\t\t).to.equal(i === j);\n\t\t}\n\t}\n};\nconst presetRadioButtons = (name: string, presetData: { [key: string]: any }, radioChecked: boolean[]) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t...presetData,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\tradioChecked.forEach((radioButton, key) => {\n\t\texpect(wrapper.find(`input[type='radio'][name='${name}']`).at(key).prop(\"checked\")).to.equal(radioButton);\n\t});\n};\nconst saveRadioButton = (\n\tname: string,\n\tbuttonNumberChecked: number,\n\tsavedValues: { [key: string]: any },\n\tstarter = Page\n) => {\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper.find(`input[type='radio'][name='${name}']`).at(buttonNumberChecked).simulate(\"change\");\n\n\tconst collection = wrapper.find(\"button\");\n\tconst saveButton = collection.at(collection.length - 1);\n\tsaveButton.simulate(\"click\");\n\n\tconst savedValue = buttonSpy.args[0][0];\n\tfor (let key in savedValues) {\n\t\t// @ts-ignore\n\t\texpect(savedValue[key]).to.equal(savedValues[key]);\n\t}\n};\n\ndescribe(\"<AppEditPage/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\t// Not using accessibility scans on this page, since the parent component <Applications /> is running them\n\n\tit(\"should call the passed-in cancel function when the cancel button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"cancelFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\tconst collection = wrapper.find(\"button\");\n\t\tcollection.at(collection.length - 2).simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call the passed-in Remove Application function when the Remove Application button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"removeApplicationFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\tconst collection = wrapper.find(\"button\");\n\t\tcollection.at(collection.length - 3).simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\tsinon.restore();\n\t});\n\tit(\"should call the passed-in submit function with relevant data when the submit button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\twrapper.find(\"button\").last().simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\texpect(buttonSpy.firstCall.args[0]).to.deep.equal(defaults);\n\t});\n\n\tdescribe(\"Web versus native apps\", () => {\n\t\tit(\"If App type = web, show web-only apps and don't show native-only apps\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.contains(\"App URL\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"File path\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"Arguments\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"API access\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"Launch timeout\")).to.be.false;\n\t\t\texpect(wrapper.find(\"#persist-url\").exists()).to.be.true;\n\t\t\texpect(wrapper.find(\"#persist-path\").exists()).to.be.false;\n\t\t});\n\t\tit(\"If App type = native, show native-only apps and don't show web-only apps\", () => {\n\t\t\tconst wrapper = mount(<NativePage {...(NativePage.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.contains(\"App URL\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"File path\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"Arguments\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"API access\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"Launch timeout\")).to.be.true;\n\t\t\texpect(wrapper.find(\"#persist-url\").exists()).to.be.false;\n\t\t\texpect(wrapper.find(\"#persist-path\").exists()).to.be.true;\n\t\t});\n\t});\n\n\tdescribe(\"Name\", () => {\n\t\tafterEach(() => {\n\t\t\tsinon.restore();\n\t\t});\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(\"name\", \"#app-name\");\n\t\t});\n\t\tit(\"should display starting name in Name field, if name field is set\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"Test\");\n\t\t});\n\t\tit(\"should not display starting name in Name field, if no name field is set\", () => {\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"\");\n\t\t});\n\t\tit(\"should display Name as a valid field, even if the given name is duplicate\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\tconst appName = wrapper.find(\"#app-name\").at(0);\n\t\t\tappName.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"Used\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-name\").at(0).prop(\"value\")).to.equal(\"Used\");\n\t\t\texpect(!!wrapper.find(\"#app-name\").at(0).prop(\"aria-invalid\")).to.be.false;\n\t\t});\n\t\tit(\"should have a disabled Save button if the name field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should click submit button when pressing enter on Name field\", () => {\n\t\t\ttestSubmitOnEnter(\"#app-name\");\n\t\t});\n\t\tit(\"should not click submit button when pressing a key other than enter on Name field\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"a\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t\t});\n\t\tit(\"should not submit when pressing enter on Name field IF the submit button is disabled\", () => {\n\t\t\tconst buttonSpy = sinon.spy(EmptyPage.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"Enter\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Icon URL\", () => {\n\t\tconst appDataKey = \"iconURL\";\n\t\tconst selector = \"#app-icon-url\";\n\t\tconst imageSelector = \".app-icon\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector);\n\t\t});\n\t\tit(\"should display icon when icon url is provided\", () => {\n\t\t\tconst wrapper = mount(<PageWithIconURL {...(PageWithIconURL.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.true;\n\t\t});\n\t\tit(\"should not display icon when no icon url is provided\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.false;\n\t\t});\n\t\tit(\"when icon url field is emptied, the icon should disappear\", () => {\n\t\t\tconst wrapper = mount(<PageWithIconURL {...(PageWithIconURL.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(selector).simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.false;\n\t\t});\n\t\tit(\"when icon url field gets a value, the icon should start displaying\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(selector).simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"https://assets.finsemble.com/components/fdc3-workbench/fdc3-icon-256.png\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"API Access\", () => {\n\t\tafterEach(() => {\n\t\t\tsinon.restore();\n\t\t});\n\n\t\tconst name = \"api-access\";\n\t\tconst nativeParams = {\n\t\t\tappType: \"native\",\n\t\t};\n\t\tconst assimilationParams = {\n\t\t\tappType: \"assimilation\",\n\t\t};\n\t\tit.skip(\"should display correctly when preset: With API Access\", () => {\n\t\t\tpresetRadioButtons(name, nativeParams, [true, false]);\n\t\t});\n\t\tit.skip(\"should display correctly when preset: Without API Access\", () => {\n\t\t\tpresetRadioButtons(name, assimilationParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: With API Access\", () => {\n\t\t\tsaveRadioButton(name, 0, nativeParams, NativePage);\n\t\t});\n\t\tit(\"should save correctly when edited: Without API Access\", () => {\n\t\t\tsaveRadioButton(name, 1, assimilationParams, NativePage);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2, NativePage);\n\t\t});\n\t\tit(\"should submit on enter: Yes\", () => {\n\t\t\ttestSubmitOnEnter(\"#api-access-yes\", NativePage);\n\t\t});\n\t\tit(\"should submit on enter: No\", () => {\n\t\t\ttestSubmitOnEnter(\"#api-access-no\", NativePage);\n\t\t});\n\t});\n\tdescribe(\"App URL\", () => {\n\t\tconst appDataKey = \"url\";\n\t\tconst selector = \"#app-url\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit.skip(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector);\n\t\t});\n\t\tit(\"should have a disabled Save button if the App URL field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for App URL if provided URL is invalid\", () => {\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"invalid\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-url\").at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should click submit button when pressing enter on App URL field\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"Enter\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\t});\n\t});\n\tdescribe.skip(\"File path\", () => {\n\t\t// Couldn't get tests for manipulating input[type=file] to work right\n\t\t// should save correctly when edited\n\t\t// should display pre-set values\n\t\t// is required (enables/disables Save button when invalid)\n\t\t// shows invalid state\n\t});\n\tdescribe(\"Arguments\", () => {\n\t\tconst appDataKey = \"appArguments\";\n\t\tconst selector = \"#app-arguments\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, true);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, NativePage);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector, NativePage);\n\t\t});\n\t\tit(\"is not required (Save button is enabled if empty)\", () => {\n\t\t\tconst wrapper = mount(<NativePage {...(NativePage.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.find(selector).prop(\"value\")).to.be.empty;\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tconst saveButton = collection.at(collection.length - 1);\n\t\t\texpect(saveButton.prop(\"disabled\")).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Description\", () => {\n\t\tconst appDataKey = \"description\";\n\t\tconst selector = \"#app-description\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"is not required (Save button is enabled if empty)\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.find(selector).prop(\"value\")).to.be.empty;\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tconst saveButton = collection.at(collection.length - 1);\n\t\t\texpect(saveButton.prop(\"disabled\")).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Select Connect\", () => {\n\t\t// @todo write test: should save correctly when edited (radio buttons and box) - issue with how <AppEditAccess /> is set up, so it always appears empty in tests\n\t\tit(\"should display preset value (undefined rules)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: undefined,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (empty rules)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (rules without authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{ contextType: \"fdc3.instrument\", cc: \"#Workspace\" },\n\t\t\t\t\t\t{ contextType: \"layout\", fwd: \"#Workspace\" },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (rules with authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [{ authorize: [{ name: \"ChartIQ Example App\" }] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='false']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust selected apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.true;\n\t\t\t// AppEditAccess is tested independently (and can't be tested on this level because it comes up as empty because it doesn't have a list of apps)\n\t\t});\n\t\tit(\"should display preset value (rules with empty authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [{ authorize: [] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='false']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust selected apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.true;\n\t\t\t// AppEditAccess is tested independently\n\t\t});\n\t\tit.skip(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(\"interop-trust\", 2);\n\t\t});\n\t});\n\tdescribe(\"Width\", () => {\n\t\tconst appDataKey = \"width\";\n\t\tconst selector = \"#app-width\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, false, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, Page, \"200\");\n\t\t});\n\t\tit(\"should display invalid state for width if provided a negative number\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for width if provided an empty value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for non-numeric value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"abc\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the width field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the width field is negative\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"Height\", () => {\n\t\tconst appDataKey = \"height\";\n\t\tconst selector = \"#app-height\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, false, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, Page, \"200\");\n\t\t});\n\t\tit(\"should display invalid state for width if provided a negative number\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for width if provided an empty value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for non-numeric value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"abc\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-height\").at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the height field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the height field is negative\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"Lock dimensions\", () => {\n\t\tconst label = \"Lock dimensions\";\n\t\tconst appDataKey = \"resizable\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, false);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Position\", () => {\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(\".position-entry [role='combobox']\").simulate(\"click\");\n\t\t\twrapper.find(\".position-entry .finsemble-dropdown__btn-option\").at(4).simulate(\"click\");\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tabstractPosition: 4,\n\t\t\t});\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tabstractPosition: 5,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".position-entry .finsemble-dropdown__btn-label\").text()).to.equal(\"Center\");\n\t\t});\n\t});\n\tdescribe(\"Opacity\", () => {\n\t\tconst appDataKey = \"opacity\";\n\t\tconst rangeSelector = \".app-edit-range\";\n\t\tconst inputSelector = \"#app-opacity\";\n\t\tit(\"should display correctly when preset (input range)\", () => {\n\t\t\ttestPresetInputValue(appDataKey, rangeSelector, Page, \"30\");\n\t\t});\n\t\tit(\"should display correctly when preset (input field)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\t[appDataKey]: 0.3,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...args} />);\n\n\t\t\texpect(wrapper.find(inputSelector).prop(\"value\")).to.equal(30);\n\t\t});\n\t\tit(\"should save correctly when edited (input range)\", () => {\n\t\t\ttestSaveInputValue(appDataKey, rangeSelector, false, 30);\n\t\t});\n\t\tit(\"should save correctly when edited (input field) - value saved is 1/100 of what is entered\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(inputSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 30,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\t[appDataKey]: 0.3,\n\t\t\t});\n\t\t});\n\t\tit(\"When editing the range field, the text box updates\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(inputSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 70,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(rangeSelector).prop(\"value\")).to.equal(0.7);\n\t\t});\n\t\tit(\"When editing the text box, the range field updates\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(rangeSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 0.7,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(inputSelector).prop(\"value\")).to.equal(70);\n\t\t});\n\t});\n\tdescribe(\"Auto arrange\", () => {\n\t\tconst label = \"Auto arrange\";\n\t\tconst appDataKey = \"allowAutoArrange\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Grouping\", () => {\n\t\tconst label = \"Grouping\";\n\t\tconst appDataKey = \"allowGrouping\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Snapping\", () => {\n\t\tconst label = \"Snapping\";\n\t\tconst appDataKey = \"allowSnapping\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Tabs\", () => {\n\t\tconst label = \"Tabs\";\n\t\tconst appDataKey = \"allowTabbing\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Tiling\", () => {\n\t\tconst label = \"Tiling\";\n\t\tconst appDataKey = \"allowTiling\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Show title bar\", () => {\n\t\tconst label = \"Show title bar\";\n\t\tconst appDataKey = \"enableTitleBar\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Always on top\", () => {\n\t\tconst name = \"alwaysOnTop\";\n\t\tconst enableParams = {\n\t\t\talwaysOnTop: true,\n\t\t\tenableAOT: false,\n\t\t};\n\t\tconst showParams = {\n\t\t\talwaysOnTop: false,\n\t\t\tenableAOT: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\talwaysOnTop: false,\n\t\t\tenableAOT: false,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Show in titlebar\", () => {\n\t\t\tpresetRadioButtons(name, showParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Show in titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, showParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Minimize\", () => {\n\t\tconst name = \"minimize\";\n\t\tconst enableParams = {\n\t\t\tallowMinimize: true,\n\t\t\thideMinimize: false,\n\t\t};\n\t\tconst hideParams = {\n\t\t\tallowMinimize: true,\n\t\t\thideMinimize: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tallowMinimize: false,\n\t\t\thideMinimize: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Hide from titlebar\", () => {\n\t\t\tpresetRadioButtons(name, hideParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Hide from titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, hideParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Maximize\", () => {\n\t\tconst name = \"maximize\";\n\t\tconst enableParams = {\n\t\t\tallowMaximize: true,\n\t\t\thideMaximize: false,\n\t\t};\n\t\tconst hideParams = {\n\t\t\tallowMaximize: true,\n\t\t\thideMaximize: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tallowMaximize: false,\n\t\t\thideMaximize: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Hide from titlebar\", () => {\n\t\t\tpresetRadioButtons(name, hideParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Hide from titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, hideParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Close\", () => {\n\t\tconst name = \"close\";\n\t\tconst enableParams = {\n\t\t\thideClose: false,\n\t\t};\n\t\tconst disableParams = {\n\t\t\thideClose: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Display linker\", () => {\n\t\tconst name = \"linker\";\n\t\tconst enableParams = {\n\t\t\tautoConnect: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tautoConnect: false,\n\t\t};\n\t\tit(\"should display correctly when preset: Always\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: FDC3 API use\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Always\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: FDC3 API use\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Intents\", () => {\n\t\tit(\"should save correctly when edited (adding an intent)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"ViewChart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(1)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"View Chart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(2)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"fdc3.instrument\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t});\n\t\t});\n\t\tit(\"should save correctly when edited (adding just an intent name)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"ViewChart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"\", contexts: [\"\"] }],\n\t\t\t});\n\t\t});\n\t\tit(\"should save correctly when edited (removing an intent)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\t\t\twrapper.find(\".inputTable button[title='Remove row']\").at(0).simulate(\"click\");\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [],\n\t\t\t});\n\t\t});\n\t\tit(\"should display preset values (empty list of intents)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(2);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.be.empty;\n\t\t});\n\t\tit(\"should display preset values (with 1 intent)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(3);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.equal(\n\t\t\t\t\"ViewChart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.equal(\n\t\t\t\t\"View Chart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.equal(\n\t\t\t\t\"fdc3.instrument\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(3).prop(\"value\"), \"Intent table, input field 4\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(4).prop(\"value\"), \"Intent table, input field 5\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(5).prop(\"value\"), \"Intent table, input field 6\").to.be.empty;\n\t\t});\n\t\tit(\"should display preset values (multiple contexts for an intent)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\", \"custom.symbol\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(3);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.equal(\n\t\t\t\t\"ViewChart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.equal(\n\t\t\t\t\"View Chart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.equal(\n\t\t\t\t\"fdc3.instrument, custom.symbol\"\n\t\t\t);\n\t\t});\n\t});\n\tdescribe(\"Set security\", () => {\n\t\tconst name = \"security\";\n\t\tconst enableParams = {\n\t\t\tsecurity: \"trusted\",\n\t\t};\n\t\tconst disableParams = {\n\t\t\tsecurity: \"untrusted\",\n\t\t};\n\t\tit(\"should display correctly when preset: Trusted\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Untrusted\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Trusted\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit.skip(\"should save correctly when edited: Untrusted\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit.skip(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Launch timeout\", () => {\n\t\tconst appDataKey = \"native_windowSpawnTimeout\";\n\t\tconst selector = \"#launch-timeout\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, true, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, NativePage, \"200\");\n\t\t});\n\t});\n\tdescribe(\"Only one instance\", () => {\n\t\tconst label = \"Only one instance\";\n\t\tconst appDataKey = \"singleton\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Launch at startup\", () => {\n\t\tconst label = \"Launch at startup\";\n\t\tconst appDataKey = \"spawnOnStartup\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Include in Apps menu\", () => {\n\t\tconst label = \"Include in Apps menu\";\n\t\tconst appDataKey = \"launchableByUser\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Persist across workspaces\", () => {\n\t\tconst label = \"Persist across workspaces\";\n\t\tconst appDataKey = \"isEvergreen\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Add to workspaces\", () => {\n\t\tconst label = \"Add to workspace\";\n\t\tconst appDataKey = \"addToWorkspace\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Persist the location\", () => {\n\t\tconst label = \"Persist the location\";\n\t\tconst appDataKey = \"persistURL\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n});\n"]}
@@ -137,9 +137,6 @@ describe("appConfigToAppData", () => {
137
137
  },
138
138
  foreign: {
139
139
  components: {
140
- Toolbar: {
141
- iconURL: "",
142
- },
143
140
  "Window Manager": {
144
141
  alwaysOnTopIcon: true,
145
142
  FSBLHeader: false,
@@ -244,7 +241,7 @@ describe("appConfigToAppData", () => {
244
241
  publisher: "Cosaic",
245
242
  icons: [
246
243
  {
247
- url: "http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png",
244
+ src: "http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png",
248
245
  },
249
246
  ],
250
247
  };
@@ -342,11 +339,6 @@ describe("appConfigToAppData", () => {
342
339
  contactEmail: "info@cosaic.io",
343
340
  supportEmail: "support@finsemble.com",
344
341
  publisher: "Cosaic",
345
- icons: [
346
- {
347
- url: "https://i.imgur.com/mpBdiHd.png",
348
- },
349
- ],
350
342
  intents: [
351
343
  {
352
344
  name: "ViewChart",
@@ -376,7 +368,7 @@ describe("appConfigToAppData", () => {
376
368
  hideClose: false,
377
369
  hideMaximize: false,
378
370
  hideMinimize: false,
379
- iconURL: undefined,
371
+ iconURL: "",
380
372
  intents: [
381
373
  {
382
374
  contexts: ["fdc3.instrument"],
@@ -453,7 +445,7 @@ describe("appConfigToAppData", () => {
453
445
  publisher: "Cosaic",
454
446
  icons: [
455
447
  {
456
- url: "https://assets.finsemble.com/components/ag-grid/ag-grid-logo.png",
448
+ src: "https://assets.finsemble.com/components/ag-grid/ag-grid-logo.png",
457
449
  },
458
450
  ],
459
451
  };
@@ -530,7 +522,7 @@ describe("appConfigToAppData", () => {
530
522
  hideClose: false,
531
523
  hideMaximize: false,
532
524
  hideMinimize: false,
533
- iconURL: undefined,
525
+ iconURL: "",
534
526
  intents: [],
535
527
  isEvergreen: false,
536
528
  launchableByUser: true,
@@ -567,9 +559,6 @@ describe("appConfigToAppData", () => {
567
559
  },
568
560
  foreign: {
569
561
  components: {
570
- Toolbar: {
571
- iconURL: "",
572
- },
573
562
  "Window Manager": {
574
563
  alwaysOnTopIcon: true,
575
564
  FSBLHeader: false,
@@ -670,9 +659,6 @@ describe("appConfigToAppData", () => {
670
659
  },
671
660
  foreign: {
672
661
  components: {
673
- Toolbar: {
674
- iconURL: "",
675
- },
676
662
  "Window Manager": {
677
663
  alwaysOnTopIcon: true,
678
664
  FSBLHeader: false,
@@ -774,9 +760,6 @@ describe("appConfigToAppData", () => {
774
760
  },
775
761
  foreign: {
776
762
  components: {
777
- Toolbar: {
778
- iconURL: "",
779
- },
780
763
  "Window Manager": {
781
764
  alwaysOnTopIcon: true,
782
765
  FSBLHeader: false,
@@ -876,9 +859,6 @@ describe("appConfigToAppData", () => {
876
859
  },
877
860
  foreign: {
878
861
  components: {
879
- Toolbar: {
880
- iconURL: "",
881
- },
882
862
  "Window Manager": {
883
863
  alwaysOnTopIcon: true,
884
864
  FSBLHeader: false,
@@ -1009,6 +989,7 @@ describe("appDataToAppConfig", () => {
1009
989
  appId: "123",
1010
990
  description: "test",
1011
991
  intents: [],
992
+ icons: [],
1012
993
  manifest: {
1013
994
  component: {
1014
995
  singleton: true,
@@ -1020,7 +1001,6 @@ describe("appDataToAppConfig", () => {
1020
1001
  "App Launcher": {
1021
1002
  launchableByUser: true,
1022
1003
  },
1023
- Toolbar: {},
1024
1004
  "Window Manager": {
1025
1005
  FSBLHeader: false,
1026
1006
  alwaysOnTopIcon: true,
@@ -1112,6 +1092,7 @@ describe("appDataToAppConfig", () => {
1112
1092
  appId: "123",
1113
1093
  description: "test",
1114
1094
  intents: [],
1095
+ icons: [],
1115
1096
  manifest: {
1116
1097
  component: {
1117
1098
  singleton: true,
@@ -1123,7 +1104,6 @@ describe("appDataToAppConfig", () => {
1123
1104
  "App Launcher": {
1124
1105
  launchableByUser: true,
1125
1106
  },
1126
- Toolbar: {},
1127
1107
  "Window Manager": {
1128
1108
  FSBLHeader: false,
1129
1109
  alwaysOnTopIcon: true,
@@ -1217,6 +1197,7 @@ describe("appDataToAppConfig", () => {
1217
1197
  appId: "123",
1218
1198
  description: "test",
1219
1199
  intents: [],
1200
+ icons: [],
1220
1201
  manifest: {
1221
1202
  component: {
1222
1203
  singleton: true,
@@ -1228,7 +1209,6 @@ describe("appDataToAppConfig", () => {
1228
1209
  "App Launcher": {
1229
1210
  launchableByUser: true,
1230
1211
  },
1231
- Toolbar: {},
1232
1212
  "Window Manager": {
1233
1213
  FSBLHeader: false,
1234
1214
  alwaysOnTopIcon: true,
@@ -1322,6 +1302,7 @@ describe("appDataToAppConfig", () => {
1322
1302
  appId: "123",
1323
1303
  description: "test",
1324
1304
  intents: [],
1305
+ icons: [],
1325
1306
  manifest: {
1326
1307
  component: {
1327
1308
  singleton: true,
@@ -1333,7 +1314,6 @@ describe("appDataToAppConfig", () => {
1333
1314
  "App Launcher": {
1334
1315
  launchableByUser: true,
1335
1316
  },
1336
- Toolbar: {},
1337
1317
  "Window Manager": {
1338
1318
  FSBLHeader: false,
1339
1319
  alwaysOnTopIcon: true,
@@ -1430,6 +1410,11 @@ describe("appDataToAppConfig", () => {
1430
1410
  appId: "123",
1431
1411
  description: "test",
1432
1412
  intents: [],
1413
+ icons: [
1414
+ {
1415
+ src: "blah blah blah",
1416
+ },
1417
+ ],
1433
1418
  manifest: {
1434
1419
  component: {
1435
1420
  singleton: true,
@@ -1441,9 +1426,6 @@ describe("appDataToAppConfig", () => {
1441
1426
  "App Launcher": {
1442
1427
  launchableByUser: true,
1443
1428
  },
1444
- Toolbar: {
1445
- iconURL: "blah blah blah",
1446
- },
1447
1429
  "Window Manager": {
1448
1430
  FSBLHeader: false,
1449
1431
  alwaysOnTopIcon: true,