@finsemble/finsemble-ui 7.3.0 → 8.0.0-beta.1

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 (2333) hide show
  1. package/FEA.d.ts +1307 -0
  2. package/FEA.d.ts.map +1 -0
  3. package/FEA.js +11 -0
  4. package/FEA.js.map +1 -0
  5. package/README.md +4 -24
  6. package/clients/Interop/FinsembleDesktopAgent.d.ts +183 -0
  7. package/clients/Interop/FinsembleDesktopAgent.d.ts.map +1 -0
  8. package/clients/Interop/FinsembleDesktopAgent.js +813 -0
  9. package/clients/Interop/FinsembleDesktopAgent.js.map +1 -0
  10. package/clients/Interop/InteropAdmin.d.ts +30 -0
  11. package/clients/Interop/InteropAdmin.d.ts.map +1 -0
  12. package/clients/Interop/InteropAdmin.js +99 -0
  13. package/clients/Interop/InteropAdmin.js.map +1 -0
  14. package/clients/Interop/index.d.ts +2 -0
  15. package/clients/Interop/index.d.ts.map +1 -0
  16. package/clients/Interop/index.js +3 -0
  17. package/clients/Interop/index.js.map +1 -0
  18. package/clients/Interop/types.d.ts +325 -0
  19. package/clients/Interop/types.d.ts.map +1 -0
  20. package/clients/Interop/types.js +45 -0
  21. package/clients/Interop/types.js.map +1 -0
  22. package/clients/Startup/FSBLDesktop.d.ts +170 -0
  23. package/clients/Startup/FSBLDesktop.d.ts.map +1 -0
  24. package/clients/Startup/FSBLDesktop.js +436 -0
  25. package/clients/Startup/FSBLDesktop.js.map +1 -0
  26. package/clients/Startup/FSBLFreestanding.d.ts +28 -0
  27. package/clients/Startup/FSBLFreestanding.d.ts.map +1 -0
  28. package/clients/Startup/FSBLFreestanding.js +127 -0
  29. package/clients/Startup/FSBLFreestanding.js.map +1 -0
  30. package/clients/Startup/FSBLService.d.ts +8 -0
  31. package/clients/Startup/FSBLService.d.ts.map +1 -0
  32. package/clients/Startup/FSBLService.js +56 -0
  33. package/clients/Startup/FSBLService.js.map +1 -0
  34. package/clients/Startup/RouterConfig.d.ts +37 -0
  35. package/clients/Startup/RouterConfig.d.ts.map +1 -0
  36. package/clients/Startup/RouterConfig.js +108 -0
  37. package/clients/Startup/RouterConfig.js.map +1 -0
  38. package/clients/Startup/SDDListeners.d.ts +12 -0
  39. package/clients/Startup/SDDListeners.d.ts.map +1 -0
  40. package/clients/Startup/SDDListeners.js +98 -0
  41. package/clients/Startup/SDDListeners.js.map +1 -0
  42. package/clients/Startup/Startup.d.ts +59 -0
  43. package/clients/Startup/Startup.d.ts.map +1 -0
  44. package/clients/Startup/Startup.js +102 -0
  45. package/clients/Startup/Startup.js.map +1 -0
  46. package/clients/Startup/index.d.ts +2 -0
  47. package/clients/Startup/index.d.ts.map +1 -0
  48. package/clients/Startup/index.js +3 -0
  49. package/clients/Startup/index.js.map +1 -0
  50. package/clients/Startup/types.d.ts +60 -0
  51. package/clients/Startup/types.d.ts.map +1 -0
  52. package/clients/Startup/types.js +2 -0
  53. package/clients/Startup/types.js.map +1 -0
  54. package/clients/Startup/unhandledErrors.d.ts +7 -0
  55. package/clients/Startup/unhandledErrors.d.ts.map +1 -0
  56. package/clients/Startup/unhandledErrors.js +74 -0
  57. package/clients/Startup/unhandledErrors.js.map +1 -0
  58. package/clients/Startup/windowStartup.d.ts +18 -0
  59. package/clients/Startup/windowStartup.d.ts.map +1 -0
  60. package/clients/Startup/windowStartup.js +408 -0
  61. package/clients/Startup/windowStartup.js.map +1 -0
  62. package/clients/StoreModel.d.ts +318 -0
  63. package/clients/StoreModel.d.ts.map +1 -0
  64. package/clients/StoreModel.js +543 -0
  65. package/clients/StoreModel.js.map +1 -0
  66. package/clients/authenticationClient.d.ts +181 -0
  67. package/clients/authenticationClient.d.ts.map +1 -0
  68. package/clients/authenticationClient.js +243 -0
  69. package/clients/authenticationClient.js.map +1 -0
  70. package/clients/configClient.d.ts +394 -0
  71. package/clients/configClient.d.ts.map +1 -0
  72. package/clients/configClient.js +601 -0
  73. package/clients/configClient.js.map +1 -0
  74. package/clients/dialogManagerClient.d.ts +251 -0
  75. package/clients/dialogManagerClient.d.ts.map +1 -0
  76. package/clients/dialogManagerClient.js +691 -0
  77. package/clients/dialogManagerClient.js.map +1 -0
  78. package/clients/distributedStoreClient.d.ts +148 -0
  79. package/clients/distributedStoreClient.d.ts.map +1 -0
  80. package/clients/distributedStoreClient.js +250 -0
  81. package/clients/distributedStoreClient.js.map +1 -0
  82. package/clients/hotkeyClient.d.ts +114 -0
  83. package/clients/hotkeyClient.d.ts.map +1 -0
  84. package/clients/hotkeyClient.js +624 -0
  85. package/clients/hotkeyClient.js.map +1 -0
  86. package/clients/index.d.ts +15 -0
  87. package/clients/index.d.ts.map +1 -0
  88. package/clients/index.js +17 -0
  89. package/clients/index.js.map +1 -0
  90. package/clients/launcherClient.d.ts +278 -0
  91. package/clients/launcherClient.d.ts.map +1 -0
  92. package/clients/launcherClient.js +450 -0
  93. package/clients/launcherClient.js.map +1 -0
  94. package/clients/logger.d.ts +358 -0
  95. package/clients/logger.d.ts.map +1 -0
  96. package/clients/logger.js +924 -0
  97. package/clients/logger.js.map +1 -0
  98. package/clients/notificationClient.d.ts +287 -0
  99. package/clients/notificationClient.d.ts.map +1 -0
  100. package/clients/notificationClient.js +534 -0
  101. package/clients/notificationClient.js.map +1 -0
  102. package/clients/routerClient.d.ts +658 -0
  103. package/clients/routerClient.d.ts.map +1 -0
  104. package/clients/routerClient.js +1361 -0
  105. package/clients/routerClient.js.map +1 -0
  106. package/clients/searchClient.d.ts +151 -0
  107. package/clients/searchClient.d.ts.map +1 -0
  108. package/clients/searchClient.js +276 -0
  109. package/clients/searchClient.js.map +1 -0
  110. package/clients/storageClient.d.ts +217 -0
  111. package/clients/storageClient.d.ts.map +1 -0
  112. package/clients/storageClient.js +294 -0
  113. package/clients/storageClient.js.map +1 -0
  114. package/clients/windowClient.d.ts +572 -0
  115. package/clients/windowClient.d.ts.map +1 -0
  116. package/clients/windowClient.js +870 -0
  117. package/clients/windowClient.js.map +1 -0
  118. package/clients/workspaceClient.d.ts +481 -0
  119. package/clients/workspaceClient.d.ts.map +1 -0
  120. package/clients/workspaceClient.js +714 -0
  121. package/clients/workspaceClient.js.map +1 -0
  122. package/common/Desktop.d.ts +87 -0
  123. package/common/Desktop.d.ts.map +1 -0
  124. package/common/Desktop.js +125 -0
  125. package/common/Desktop.js.map +1 -0
  126. package/common/FinsembleWindow.d.ts +916 -0
  127. package/common/FinsembleWindow.d.ts.map +1 -0
  128. package/common/FinsembleWindow.js +1682 -0
  129. package/common/FinsembleWindow.js.map +1 -0
  130. package/common/Globals.d.ts +97 -0
  131. package/common/Globals.d.ts.map +1 -0
  132. package/common/Globals.js +30 -0
  133. package/common/Globals.js.map +1 -0
  134. package/common/Monitors.d.ts +133 -0
  135. package/common/Monitors.d.ts.map +1 -0
  136. package/common/Monitors.js +442 -0
  137. package/common/Monitors.js.map +1 -0
  138. package/common/Performance.d.ts +7 -0
  139. package/common/Performance.d.ts.map +1 -0
  140. package/common/Performance.js +13 -0
  141. package/common/Performance.js.map +1 -0
  142. package/common/REST.d.ts +17 -0
  143. package/common/REST.d.ts.map +1 -0
  144. package/common/REST.js +85 -0
  145. package/common/REST.js.map +1 -0
  146. package/common/Singleton.d.ts +67 -0
  147. package/common/Singleton.d.ts.map +1 -0
  148. package/common/Singleton.js +83 -0
  149. package/common/Singleton.js.map +1 -0
  150. package/common/configUtil.d.ts +50 -0
  151. package/common/configUtil.d.ts.map +1 -0
  152. package/common/configUtil.js +333 -0
  153. package/common/configUtil.js.map +1 -0
  154. package/common/constants.d.ts +106 -0
  155. package/common/constants.d.ts.map +1 -0
  156. package/common/constants.js +181 -0
  157. package/common/constants.js.map +1 -0
  158. package/common/dependencyManager.d.ts +172 -0
  159. package/common/dependencyManager.d.ts.map +1 -0
  160. package/common/dependencyManager.js +383 -0
  161. package/common/dependencyManager.js.map +1 -0
  162. package/common/events/FinsembleEvent.d.ts +30 -0
  163. package/common/events/FinsembleEvent.d.ts.map +1 -0
  164. package/common/events/FinsembleEvent.js +72 -0
  165. package/common/events/FinsembleEvent.js.map +1 -0
  166. package/common/events/PrivateEventManager.d.ts +95 -0
  167. package/common/events/PrivateEventManager.d.ts.map +1 -0
  168. package/common/events/PrivateEventManager.js +286 -0
  169. package/common/events/PrivateEventManager.js.map +1 -0
  170. package/common/events/PrivateFinsembleEvent.d.ts +30 -0
  171. package/common/events/PrivateFinsembleEvent.d.ts.map +1 -0
  172. package/common/events/PrivateFinsembleEvent.js +65 -0
  173. package/common/events/PrivateFinsembleEvent.js.map +1 -0
  174. package/common/events/PublicEventManager.d.ts +59 -0
  175. package/common/events/PublicEventManager.d.ts.map +1 -0
  176. package/common/events/PublicEventManager.js +124 -0
  177. package/common/events/PublicEventManager.js.map +1 -0
  178. package/common/index.d.ts +4 -0
  179. package/common/index.d.ts.map +1 -0
  180. package/common/index.js +6 -0
  181. package/common/index.js.map +1 -0
  182. package/common/redux/actionIdMapper.d.ts +33 -0
  183. package/common/redux/actionIdMapper.d.ts.map +1 -0
  184. package/common/redux/actionIdMapper.js +72 -0
  185. package/common/redux/actionIdMapper.js.map +1 -0
  186. package/common/redux/createReducer.d.ts +128 -0
  187. package/common/redux/createReducer.d.ts.map +1 -0
  188. package/common/redux/createReducer.js +298 -0
  189. package/common/redux/createReducer.js.map +1 -0
  190. package/common/redux/index.d.ts +3 -0
  191. package/common/redux/index.d.ts.map +1 -0
  192. package/common/redux/index.js +3 -0
  193. package/common/redux/index.js.map +1 -0
  194. package/common/redux/remoteReduxEnhancer.d.ts +29 -0
  195. package/common/redux/remoteReduxEnhancer.d.ts.map +1 -0
  196. package/common/redux/remoteReduxEnhancer.js +202 -0
  197. package/common/redux/remoteReduxEnhancer.js.map +1 -0
  198. package/common/redux/types.d.ts +14 -0
  199. package/common/redux/types.d.ts.map +1 -0
  200. package/common/redux/types.js +2 -0
  201. package/common/redux/types.js.map +1 -0
  202. package/common/system.d.ts +309 -0
  203. package/common/system.d.ts.map +1 -0
  204. package/common/system.js +545 -0
  205. package/common/system.js.map +1 -0
  206. package/common/systemManagerClient.d.ts +86 -0
  207. package/common/systemManagerClient.d.ts.map +1 -0
  208. package/common/systemManagerClient.js +173 -0
  209. package/common/systemManagerClient.js.map +1 -0
  210. package/common/testPoint.d.ts +57 -0
  211. package/common/testPoint.d.ts.map +1 -0
  212. package/common/testPoint.js +106 -0
  213. package/common/testPoint.js.map +1 -0
  214. package/common/toast.d.ts +36 -0
  215. package/common/toast.d.ts.map +1 -0
  216. package/common/toast.js +85 -0
  217. package/common/toast.js.map +1 -0
  218. package/common/util.d.ts +139 -0
  219. package/common/util.d.ts.map +1 -0
  220. package/common/util.js +455 -0
  221. package/common/util.js.map +1 -0
  222. package/deprecated/SmartDesktopClient.d.ts +19 -0
  223. package/deprecated/SmartDesktopClient.d.ts.map +1 -0
  224. package/deprecated/SmartDesktopClient.js +19 -0
  225. package/deprecated/SmartDesktopClient.js.map +1 -0
  226. package/deprecated/baseClient.d.ts +88 -0
  227. package/deprecated/baseClient.d.ts.map +1 -0
  228. package/deprecated/baseClient.js +124 -0
  229. package/deprecated/baseClient.js.map +1 -0
  230. package/deprecated/deprecatedFunctions.d.ts +45 -0
  231. package/deprecated/deprecatedFunctions.d.ts.map +1 -0
  232. package/deprecated/deprecatedFunctions.js +201 -0
  233. package/deprecated/deprecatedFunctions.js.map +1 -0
  234. package/deprecated/deprecatedlauncherClient.d.ts +163 -0
  235. package/deprecated/deprecatedlauncherClient.d.ts.map +1 -0
  236. package/deprecated/deprecatedlauncherClient.js +286 -0
  237. package/deprecated/deprecatedlauncherClient.js.map +1 -0
  238. package/deprecated/dragAndDropAssets/dragAndDropScrim.css +54 -0
  239. package/deprecated/dragAndDropAssets/ff-delete-circle.svg +11 -0
  240. package/deprecated/dragAndDropAssets/ff-share.svg +14 -0
  241. package/deprecated/dragAndDropClient.d.ts +288 -0
  242. package/deprecated/dragAndDropClient.d.ts.map +1 -0
  243. package/deprecated/dragAndDropClient.js +695 -0
  244. package/deprecated/dragAndDropClient.js.map +1 -0
  245. package/deprecated/index.d.ts +2 -0
  246. package/deprecated/index.d.ts.map +1 -0
  247. package/deprecated/index.js +2 -0
  248. package/deprecated/index.js.map +1 -0
  249. package/deprecated/legacyUIComponentNames.d.ts +25 -0
  250. package/deprecated/legacyUIComponentNames.d.ts.map +1 -0
  251. package/deprecated/legacyUIComponentNames.js +25 -0
  252. package/deprecated/legacyUIComponentNames.js.map +1 -0
  253. package/deprecated/linkerClient.d.ts +422 -0
  254. package/deprecated/linkerClient.d.ts.map +1 -0
  255. package/deprecated/linkerClient.js +889 -0
  256. package/deprecated/linkerClient.js.map +1 -0
  257. package/index.d.ts +69 -1
  258. package/index.d.ts.map +1 -0
  259. package/index.js +2 -0
  260. package/index.js.map +1 -0
  261. package/main.d.ts +736 -0
  262. package/main.d.ts.map +1 -0
  263. package/main.js +83 -0
  264. package/main.js.map +1 -0
  265. package/package.json +46 -113
  266. package/platform/services/Interop/AuthSignVerify.d.ts +57 -0
  267. package/platform/services/Interop/AuthSignVerify.d.ts.map +1 -0
  268. package/platform/services/Interop/AuthSignVerify.js +284 -0
  269. package/platform/services/Interop/AuthSignVerify.js.map +1 -0
  270. package/platform/services/Interop/index.d.ts +3 -0
  271. package/platform/services/Interop/index.d.ts.map +1 -0
  272. package/platform/services/Interop/index.js +5 -0
  273. package/platform/services/Interop/index.js.map +1 -0
  274. package/platform/services/Interop/modules/authorize.d.ts +63 -0
  275. package/platform/services/Interop/modules/authorize.d.ts.map +1 -0
  276. package/platform/services/Interop/modules/authorize.js +132 -0
  277. package/platform/services/Interop/modules/authorize.js.map +1 -0
  278. package/platform/services/Interop/modules/commonUtils.d.ts +34 -0
  279. package/platform/services/Interop/modules/commonUtils.d.ts.map +1 -0
  280. package/platform/services/Interop/modules/commonUtils.js +80 -0
  281. package/platform/services/Interop/modules/commonUtils.js.map +1 -0
  282. package/platform/services/Interop/modules/index.d.ts +5 -0
  283. package/platform/services/Interop/modules/index.d.ts.map +1 -0
  284. package/platform/services/Interop/modules/index.js +9 -0
  285. package/platform/services/Interop/modules/index.js.map +1 -0
  286. package/platform/services/Interop/modules/linker.d.ts +70 -0
  287. package/platform/services/Interop/modules/linker.d.ts.map +1 -0
  288. package/platform/services/Interop/modules/linker.js +312 -0
  289. package/platform/services/Interop/modules/linker.js.map +1 -0
  290. package/platform/services/Interop/modules/resolver.d.ts +223 -0
  291. package/platform/services/Interop/modules/resolver.d.ts.map +1 -0
  292. package/platform/services/Interop/modules/resolver.js +2481 -0
  293. package/platform/services/Interop/modules/resolver.js.map +1 -0
  294. package/platform/services/Interop/modules/workspace.d.ts +22 -0
  295. package/platform/services/Interop/modules/workspace.d.ts.map +1 -0
  296. package/platform/services/Interop/modules/workspace.js +100 -0
  297. package/platform/services/Interop/modules/workspace.js.map +1 -0
  298. package/platform/services/Interop/selectConnect.d.ts +5 -0
  299. package/platform/services/Interop/selectConnect.d.ts.map +1 -0
  300. package/platform/services/Interop/selectConnect.js +160 -0
  301. package/platform/services/Interop/selectConnect.js.map +1 -0
  302. package/platform/services/Interop/types.d.ts +421 -0
  303. package/platform/services/Interop/types.d.ts.map +1 -0
  304. package/platform/services/Interop/types.js +12 -0
  305. package/platform/services/Interop/types.js.map +1 -0
  306. package/platform/services/baseService.d.ts +83 -0
  307. package/platform/services/baseService.d.ts.map +1 -0
  308. package/platform/services/baseService.js +301 -0
  309. package/platform/services/baseService.js.map +1 -0
  310. package/platform/services/distributedStore/storeUtils.d.ts +16 -0
  311. package/platform/services/distributedStore/storeUtils.d.ts.map +1 -0
  312. package/platform/services/distributedStore/storeUtils.js +110 -0
  313. package/platform/services/distributedStore/storeUtils.js.map +1 -0
  314. package/platform/services/index.d.ts +6 -0
  315. package/platform/services/index.d.ts.map +1 -0
  316. package/platform/services/index.js +11 -0
  317. package/platform/services/index.js.map +1 -0
  318. package/platform/services/logger/types.d.ts +79 -0
  319. package/platform/services/logger/types.d.ts.map +1 -0
  320. package/platform/services/logger/types.js +2 -0
  321. package/platform/services/logger/types.js.map +1 -0
  322. package/platform/services/notification/index.d.ts +2 -0
  323. package/platform/services/notification/index.d.ts.map +1 -0
  324. package/platform/services/notification/index.js +3 -0
  325. package/platform/services/notification/index.js.map +1 -0
  326. package/platform/services/notification/types/Action.d.ts +13 -0
  327. package/platform/services/notification/types/Action.d.ts.map +1 -0
  328. package/platform/services/notification/types/Action.js +8 -0
  329. package/platform/services/notification/types/Action.js.map +1 -0
  330. package/platform/services/notification/types/ActionTypes.d.ts +17 -0
  331. package/platform/services/notification/types/ActionTypes.d.ts.map +1 -0
  332. package/platform/services/notification/types/ActionTypes.js +19 -0
  333. package/platform/services/notification/types/ActionTypes.js.map +1 -0
  334. package/platform/services/notification/types/Callbacks.d.ts +8 -0
  335. package/platform/services/notification/types/Callbacks.d.ts.map +1 -0
  336. package/platform/services/notification/types/Callbacks.js +2 -0
  337. package/platform/services/notification/types/Callbacks.js.map +1 -0
  338. package/platform/services/notification/types/Filter.d.ts +23 -0
  339. package/platform/services/notification/types/Filter.d.ts.map +1 -0
  340. package/platform/services/notification/types/Filter.js +20 -0
  341. package/platform/services/notification/types/Filter.js.map +1 -0
  342. package/platform/services/notification/types/IAction.d.ts +52 -0
  343. package/platform/services/notification/types/IAction.d.ts.map +1 -0
  344. package/platform/services/notification/types/IAction.js +2 -0
  345. package/platform/services/notification/types/IAction.js.map +1 -0
  346. package/platform/services/notification/types/IFilter.d.ts +25 -0
  347. package/platform/services/notification/types/IFilter.d.ts.map +1 -0
  348. package/platform/services/notification/types/IFilter.js +2 -0
  349. package/platform/services/notification/types/IFilter.js.map +1 -0
  350. package/platform/services/notification/types/ILastIssued.d.ts +9 -0
  351. package/platform/services/notification/types/ILastIssued.d.ts.map +1 -0
  352. package/platform/services/notification/types/ILastIssued.js +2 -0
  353. package/platform/services/notification/types/ILastIssued.js.map +1 -0
  354. package/platform/services/notification/types/IMuteFilter.d.ts +8 -0
  355. package/platform/services/notification/types/IMuteFilter.d.ts.map +1 -0
  356. package/platform/services/notification/types/IMuteFilter.js +5 -0
  357. package/platform/services/notification/types/IMuteFilter.js.map +1 -0
  358. package/platform/services/notification/types/INotification.d.ts +101 -0
  359. package/platform/services/notification/types/INotification.d.ts.map +1 -0
  360. package/platform/services/notification/types/INotification.js +2 -0
  361. package/platform/services/notification/types/INotification.js.map +1 -0
  362. package/platform/services/notification/types/INotificationClient.d.ts +95 -0
  363. package/platform/services/notification/types/INotificationClient.d.ts.map +1 -0
  364. package/platform/services/notification/types/INotificationClient.js +2 -0
  365. package/platform/services/notification/types/INotificationClient.js.map +1 -0
  366. package/platform/services/notification/types/INotificationHistoryOptions.d.ts +19 -0
  367. package/platform/services/notification/types/INotificationHistoryOptions.d.ts.map +1 -0
  368. package/platform/services/notification/types/INotificationHistoryOptions.js +2 -0
  369. package/platform/services/notification/types/INotificationHistoryOptions.js.map +1 -0
  370. package/platform/services/notification/types/INotificationService.d.ts +58 -0
  371. package/platform/services/notification/types/INotificationService.d.ts.map +1 -0
  372. package/platform/services/notification/types/INotificationService.js +2 -0
  373. package/platform/services/notification/types/INotificationService.js.map +1 -0
  374. package/platform/services/notification/types/IPerformedAction.d.ts +10 -0
  375. package/platform/services/notification/types/IPerformedAction.d.ts.map +1 -0
  376. package/platform/services/notification/types/IPerformedAction.js +2 -0
  377. package/platform/services/notification/types/IPerformedAction.js.map +1 -0
  378. package/platform/services/notification/types/ISnoozeTimer.d.ts +14 -0
  379. package/platform/services/notification/types/ISnoozeTimer.d.ts.map +1 -0
  380. package/platform/services/notification/types/ISnoozeTimer.js +10 -0
  381. package/platform/services/notification/types/ISnoozeTimer.js.map +1 -0
  382. package/platform/services/notification/types/ISubscription.d.ts +16 -0
  383. package/platform/services/notification/types/ISubscription.d.ts.map +1 -0
  384. package/platform/services/notification/types/ISubscription.js +2 -0
  385. package/platform/services/notification/types/ISubscription.js.map +1 -0
  386. package/platform/services/notification/types/LastIssued.d.ts +11 -0
  387. package/platform/services/notification/types/LastIssued.d.ts.map +1 -0
  388. package/platform/services/notification/types/LastIssued.js +7 -0
  389. package/platform/services/notification/types/LastIssued.js.map +1 -0
  390. package/platform/services/notification/types/Meta.d.ts +13 -0
  391. package/platform/services/notification/types/Meta.d.ts.map +1 -0
  392. package/platform/services/notification/types/Meta.js +7 -0
  393. package/platform/services/notification/types/Meta.js.map +1 -0
  394. package/platform/services/notification/types/Notification.d.ts +30 -0
  395. package/platform/services/notification/types/Notification.d.ts.map +1 -0
  396. package/platform/services/notification/types/Notification.js +17 -0
  397. package/platform/services/notification/types/Notification.js.map +1 -0
  398. package/platform/services/notification/types/NotificationConfig.d.ts +22 -0
  399. package/platform/services/notification/types/NotificationConfig.d.ts.map +1 -0
  400. package/platform/services/notification/types/NotificationConfig.js +2 -0
  401. package/platform/services/notification/types/NotificationConfig.js.map +1 -0
  402. package/platform/services/notification/types/NotificationHookTypes.d.ts +7 -0
  403. package/platform/services/notification/types/NotificationHookTypes.d.ts.map +1 -0
  404. package/platform/services/notification/types/NotificationHookTypes.js +2 -0
  405. package/platform/services/notification/types/NotificationHookTypes.js.map +1 -0
  406. package/platform/services/notification/types/PerformedAction.d.ts +11 -0
  407. package/platform/services/notification/types/PerformedAction.d.ts.map +1 -0
  408. package/platform/services/notification/types/PerformedAction.js +8 -0
  409. package/platform/services/notification/types/PerformedAction.js.map +1 -0
  410. package/platform/services/notification/types/SnoozeTimer.d.ts +8 -0
  411. package/platform/services/notification/types/SnoozeTimer.d.ts.map +1 -0
  412. package/platform/services/notification/types/SnoozeTimer.js +3 -0
  413. package/platform/services/notification/types/SnoozeTimer.js.map +1 -0
  414. package/platform/services/notification/types/Subscription.d.ts +14 -0
  415. package/platform/services/notification/types/Subscription.d.ts.map +1 -0
  416. package/platform/services/notification/types/Subscription.js +15 -0
  417. package/platform/services/notification/types/Subscription.js.map +1 -0
  418. package/platform/services/notification/types/index.d.ts +48 -0
  419. package/platform/services/notification/types/index.d.ts.map +1 -0
  420. package/platform/services/notification/types/index.js +24 -0
  421. package/platform/services/notification/types/index.js.map +1 -0
  422. package/platform/services/router/routerTransport.d.ts +80 -0
  423. package/platform/services/router/routerTransport.d.ts.map +1 -0
  424. package/platform/services/router/routerTransport.js +361 -0
  425. package/platform/services/router/routerTransport.js.map +1 -0
  426. package/platform/services/search/index.d.ts +2 -0
  427. package/platform/services/search/index.d.ts.map +1 -0
  428. package/platform/services/search/index.js +3 -0
  429. package/platform/services/search/index.js.map +1 -0
  430. package/platform/services/search/types.d.ts +30 -0
  431. package/platform/services/search/types.d.ts.map +1 -0
  432. package/platform/services/search/types.js +2 -0
  433. package/platform/services/search/types.js.map +1 -0
  434. package/platform/services/storage/adapters/base.d.ts +4 -0
  435. package/platform/services/storage/adapters/base.d.ts.map +1 -0
  436. package/platform/services/storage/adapters/base.js +64 -0
  437. package/platform/services/storage/adapters/base.js.map +1 -0
  438. package/platform/services/storage/adapters/types.d.ts +22 -0
  439. package/platform/services/storage/adapters/types.d.ts.map +1 -0
  440. package/platform/services/storage/adapters/types.js +2 -0
  441. package/platform/services/storage/adapters/types.js.map +1 -0
  442. package/platform/services/systemManager/_constants.d.ts +9 -0
  443. package/platform/services/systemManager/_constants.d.ts.map +1 -0
  444. package/platform/services/systemManager/_constants.js +20 -0
  445. package/platform/services/systemManager/_constants.js.map +1 -0
  446. package/platform/services/systemManager/common.d.ts +14 -0
  447. package/platform/services/systemManager/common.d.ts.map +1 -0
  448. package/platform/services/systemManager/common.js +20 -0
  449. package/platform/services/systemManager/common.js.map +1 -0
  450. package/platform/services/systemManager/shutDownManager.d.ts +79 -0
  451. package/platform/services/systemManager/shutDownManager.d.ts.map +1 -0
  452. package/platform/services/systemManager/shutDownManager.js +253 -0
  453. package/platform/services/systemManager/shutDownManager.js.map +1 -0
  454. package/platform/services/systemManager/types.d.ts +46 -0
  455. package/platform/services/systemManager/types.d.ts.map +1 -0
  456. package/platform/services/systemManager/types.js +12 -0
  457. package/platform/services/systemManager/types.js.map +1 -0
  458. package/platform/services/types.d.ts +2 -0
  459. package/platform/services/types.d.ts.map +1 -0
  460. package/platform/services/types.js +2 -0
  461. package/platform/services/types.js.map +1 -0
  462. package/platform/services/window/WindowAbstractions/BaseWindow.d.ts +485 -0
  463. package/platform/services/window/WindowAbstractions/BaseWindow.d.ts.map +1 -0
  464. package/platform/services/window/WindowAbstractions/BaseWindow.js +1346 -0
  465. package/platform/services/window/WindowAbstractions/BaseWindow.js.map +1 -0
  466. package/platform/services/window/index.d.ts +2 -0
  467. package/platform/services/window/index.d.ts.map +1 -0
  468. package/platform/services/window/index.js +3 -0
  469. package/platform/services/window/index.js.map +1 -0
  470. package/platform/services/window/types.d.ts +864 -0
  471. package/platform/services/window/types.d.ts.map +1 -0
  472. package/platform/services/window/types.js +2 -0
  473. package/platform/services/window/types.js.map +1 -0
  474. package/platform/services/workspace/index.d.ts +2 -0
  475. package/platform/services/workspace/index.d.ts.map +1 -0
  476. package/platform/services/workspace/index.js +3 -0
  477. package/platform/services/workspace/index.js.map +1 -0
  478. package/platform/services/workspace/types.d.ts +61 -0
  479. package/platform/services/workspace/types.d.ts.map +1 -0
  480. package/platform/services/workspace/types.js +2 -0
  481. package/platform/services/workspace/types.js.map +1 -0
  482. package/platform/services/workspace/windowStorageManager.d.ts +187 -0
  483. package/platform/services/workspace/windowStorageManager.d.ts.map +1 -0
  484. package/platform/services/workspace/windowStorageManager.js +195 -0
  485. package/platform/services/workspace/windowStorageManager.js.map +1 -0
  486. package/platform/services/workspace/workspaceAdminAPI.d.ts +27 -0
  487. package/platform/services/workspace/workspaceAdminAPI.d.ts.map +1 -0
  488. package/platform/services/workspace/workspaceAdminAPI.js +45 -0
  489. package/platform/services/workspace/workspaceAdminAPI.js.map +1 -0
  490. package/react/actions/favoriteActions.d.ts +22 -21
  491. package/react/actions/favoriteActions.d.ts.map +1 -0
  492. package/react/actions/favoriteActions.js +8 -8
  493. package/react/actions/favoriteActions.js.map +1 -1
  494. package/react/actions/linkerActions.d.ts +49 -48
  495. package/react/actions/linkerActions.d.ts.map +1 -0
  496. package/react/actions/linkerActions.js +8 -8
  497. package/react/actions/linkerActions.js.map +1 -1
  498. package/react/actions/menuActions.d.ts +17 -16
  499. package/react/actions/menuActions.d.ts.map +1 -0
  500. package/react/actions/menuActions.js +9 -9
  501. package/react/actions/menuActions.js.map +1 -1
  502. package/react/actions/rootActions.d.ts +10 -9
  503. package/react/actions/rootActions.d.ts.map +1 -0
  504. package/react/actions/rootActions.js +2 -2
  505. package/react/actions/rootActions.js.map +1 -1
  506. package/react/actions/searchActions.d.ts +13 -12
  507. package/react/actions/searchActions.d.ts.map +1 -0
  508. package/react/actions/searchActions.js +7 -7
  509. package/react/actions/searchActions.js.map +1 -1
  510. package/react/actions/smartDesktopDesignerActions.d.ts +47 -45
  511. package/react/actions/smartDesktopDesignerActions.d.ts.map +1 -0
  512. package/react/actions/smartDesktopDesignerActions.js +22 -22
  513. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  514. package/react/actions/toolbarActions.d.ts +62 -61
  515. package/react/actions/toolbarActions.d.ts.map +1 -0
  516. package/react/actions/toolbarActions.js +24 -24
  517. package/react/actions/toolbarActions.js.map +1 -1
  518. package/react/actions/workspaceActions.d.ts +12 -11
  519. package/react/actions/workspaceActions.d.ts.map +1 -0
  520. package/react/actions/workspaceActions.js +6 -6
  521. package/react/actions/workspaceActions.js.map +1 -1
  522. package/react/assets/css/advancedAppLauncher.css +11 -2
  523. package/react/assets/css/authentication.css +1 -0
  524. package/react/assets/css/dialogs.lazy.css +4 -0
  525. package/react/assets/css/finsemble.css +0 -1
  526. package/react/assets/css/finsemble.lazy.css +4 -0
  527. package/react/assets/css/floatingFocus.lazy.css +56 -0
  528. package/react/assets/css/notificationsCenter.css +14 -1
  529. package/react/assets/css/windowTitleBar.css +0 -1
  530. package/react/assets/css/windowTitleBar.lazy.css +4 -0
  531. package/react/components/FinsembleCSS.d.ts +13 -0
  532. package/react/components/FinsembleCSS.d.ts.map +1 -0
  533. package/react/components/FinsembleCSS.js +27 -0
  534. package/react/components/FinsembleCSS.js.map +1 -0
  535. package/react/components/FinsembleProvider.d.ts +19 -14
  536. package/react/components/FinsembleProvider.d.ts.map +1 -0
  537. package/react/components/FinsembleProvider.js +26 -21
  538. package/react/components/FinsembleProvider.js.map +1 -1
  539. package/react/components/appCatalog/AppCatalog.d.ts +11 -10
  540. package/react/components/appCatalog/AppCatalog.d.ts.map +1 -0
  541. package/react/components/appCatalog/AppCatalog.js +30 -24
  542. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  543. package/react/components/appCatalog/AppCatalogComponent.d.ts +95 -94
  544. package/react/components/appCatalog/AppCatalogComponent.d.ts.map +1 -0
  545. package/react/components/appCatalog/AppCatalogComponent.js +303 -303
  546. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  547. package/react/components/appCatalog/components/AppCard.d.ts +65 -64
  548. package/react/components/appCatalog/components/AppCard.d.ts.map +1 -0
  549. package/react/components/appCatalog/components/AppCard.js +200 -200
  550. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  551. package/react/components/appCatalog/components/AppList.d.ts +9 -8
  552. package/react/components/appCatalog/components/AppList.d.ts.map +1 -0
  553. package/react/components/appCatalog/components/AppList.js +25 -25
  554. package/react/components/appCatalog/components/AppList.js.map +1 -1
  555. package/react/components/appCatalog/components/AppResults.d.ts +22 -21
  556. package/react/components/appCatalog/components/AppResults.d.ts.map +1 -0
  557. package/react/components/appCatalog/components/AppResults.js +71 -71
  558. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  559. package/react/components/appCatalog/components/Carousel.d.ts +43 -42
  560. package/react/components/appCatalog/components/Carousel.d.ts.map +1 -0
  561. package/react/components/appCatalog/components/Carousel.js +126 -126
  562. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  563. package/react/components/appCatalog/components/EmptyResults.d.ts +8 -7
  564. package/react/components/appCatalog/components/EmptyResults.d.ts.map +1 -0
  565. package/react/components/appCatalog/components/EmptyResults.js +12 -12
  566. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  567. package/react/components/appCatalog/components/Hero.d.ts +43 -42
  568. package/react/components/appCatalog/components/Hero.d.ts.map +1 -0
  569. package/react/components/appCatalog/components/Hero.js +83 -83
  570. package/react/components/appCatalog/components/Hero.js.map +1 -1
  571. package/react/components/appCatalog/components/Home.d.ts +22 -21
  572. package/react/components/appCatalog/components/Home.d.ts.map +1 -0
  573. package/react/components/appCatalog/components/Home.js +28 -28
  574. package/react/components/appCatalog/components/Home.js.map +1 -1
  575. package/react/components/appCatalog/components/SearchBar.d.ts +58 -57
  576. package/react/components/appCatalog/components/SearchBar.d.ts.map +1 -0
  577. package/react/components/appCatalog/components/SearchBar.js +107 -107
  578. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  579. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +12 -11
  580. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts.map +1 -0
  581. package/react/components/appCatalog/components/Showcase/AppDescription.js +15 -15
  582. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  583. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +15 -14
  584. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts.map +1 -0
  585. package/react/components/appCatalog/components/Showcase/AppDevNotes.js +30 -30
  586. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  587. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +38 -37
  588. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts.map +1 -0
  589. package/react/components/appCatalog/components/Showcase/AppShowcase.js +128 -128
  590. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  591. package/react/components/appCatalog/components/Showcase/Header.d.ts +22 -21
  592. package/react/components/appCatalog/components/Showcase/Header.d.ts.map +1 -0
  593. package/react/components/appCatalog/components/Showcase/Header.js +58 -57
  594. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  595. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +14 -13
  596. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts.map +1 -0
  597. package/react/components/appCatalog/components/Showcase/ImageCarousel.js +25 -25
  598. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  599. package/react/components/appCatalog/components/Showcase/Modal.d.ts +19 -18
  600. package/react/components/appCatalog/components/Showcase/Modal.d.ts.map +1 -0
  601. package/react/components/appCatalog/components/Showcase/Modal.js +23 -23
  602. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  603. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +10 -9
  604. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts.map +1 -0
  605. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +18 -18
  606. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  607. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +12 -11
  608. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts.map +1 -0
  609. package/react/components/appCatalog/components/Showcase/SupportNotes.js +26 -26
  610. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  611. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +10 -9
  612. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts.map +1 -0
  613. package/react/components/appCatalog/components/Showcase/VersionNotes.js +21 -21
  614. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  615. package/react/components/appCatalog/components/Showcase/defaults.d.ts +4 -3
  616. package/react/components/appCatalog/components/Showcase/defaults.d.ts.map +1 -0
  617. package/react/components/appCatalog/components/Showcase/defaults.js +3 -3
  618. package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
  619. package/react/components/appCatalog/components/Toast.d.ts +12 -11
  620. package/react/components/appCatalog/components/Toast.d.ts.map +1 -0
  621. package/react/components/appCatalog/components/Toast.js +38 -38
  622. package/react/components/appCatalog/components/Toast.js.map +1 -1
  623. package/react/components/appCatalog/components/helpers.d.ts +3 -2
  624. package/react/components/appCatalog/components/helpers.d.ts.map +1 -0
  625. package/react/components/appCatalog/components/helpers.js +33 -33
  626. package/react/components/appCatalog/components/helpers.js.map +1 -1
  627. package/react/components/appCatalog/index.d.ts +2 -1
  628. package/react/components/appCatalog/index.d.ts.map +1 -0
  629. package/react/components/appCatalog/index.js +1 -1
  630. package/react/components/appCatalog/index.js.map +1 -1
  631. package/react/components/appCatalog/modules/AppDirectory.d.ts +13 -12
  632. package/react/components/appCatalog/modules/AppDirectory.d.ts.map +1 -0
  633. package/react/components/appCatalog/modules/AppDirectory.js +10 -10
  634. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  635. package/react/components/appCatalog/modules/FDC3.d.ts +52 -51
  636. package/react/components/appCatalog/modules/FDC3.d.ts.map +1 -0
  637. package/react/components/appCatalog/modules/FDC3.js +146 -146
  638. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  639. package/react/components/appCatalog/stores/appStore.d.ts +10 -9
  640. package/react/components/appCatalog/stores/appStore.d.ts.map +1 -0
  641. package/react/components/appCatalog/stores/appStore.js +47 -46
  642. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  643. package/react/components/appCatalog/stores/storeActions.d.ts +146 -145
  644. package/react/components/appCatalog/stores/storeActions.d.ts.map +1 -0
  645. package/react/components/appCatalog/stores/storeActions.js +423 -423
  646. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  647. package/react/components/common/Button.d.ts +34 -33
  648. package/react/components/common/Button.d.ts.map +1 -0
  649. package/react/components/common/Button.js +20 -20
  650. package/react/components/common/Button.js.map +1 -1
  651. package/react/components/common/ButtonIcon.d.ts +5 -4
  652. package/react/components/common/ButtonIcon.d.ts.map +1 -0
  653. package/react/components/common/ButtonIcon.js +10 -10
  654. package/react/components/common/ButtonIcon.js.map +1 -1
  655. package/react/components/common/ButtonRow.d.ts +16 -15
  656. package/react/components/common/ButtonRow.d.ts.map +1 -0
  657. package/react/components/common/ButtonRow.js +29 -29
  658. package/react/components/common/ButtonRow.js.map +1 -1
  659. package/react/components/common/Checkbox.d.ts +12 -11
  660. package/react/components/common/Checkbox.d.ts.map +1 -0
  661. package/react/components/common/Checkbox.js +7 -7
  662. package/react/components/common/Checkbox.js.map +1 -1
  663. package/react/components/common/ContextMenu.d.ts +14 -13
  664. package/react/components/common/ContextMenu.d.ts.map +1 -0
  665. package/react/components/common/ContextMenu.js +68 -68
  666. package/react/components/common/ContextMenu.js.map +1 -1
  667. package/react/components/common/DropdownButton.d.ts +11 -10
  668. package/react/components/common/DropdownButton.d.ts.map +1 -0
  669. package/react/components/common/DropdownButton.js +65 -65
  670. package/react/components/common/DropdownButton.js.map +1 -1
  671. package/react/components/common/ErrorBoundary.d.ts +35 -34
  672. package/react/components/common/ErrorBoundary.d.ts.map +1 -0
  673. package/react/components/common/ErrorBoundary.js +43 -42
  674. package/react/components/common/ErrorBoundary.js.map +1 -1
  675. package/react/components/common/FinsembleIcon.d.ts +21 -20
  676. package/react/components/common/FinsembleIcon.d.ts.map +1 -0
  677. package/react/components/common/FinsembleIcon.js +138 -142
  678. package/react/components/common/FinsembleIcon.js.map +1 -1
  679. package/react/components/common/FinsembleSelect.d.ts +14 -13
  680. package/react/components/common/FinsembleSelect.d.ts.map +1 -0
  681. package/react/components/common/FinsembleSelect.js +61 -61
  682. package/react/components/common/FinsembleSelect.js.map +1 -1
  683. package/react/components/common/FinsembleToggle.d.ts +10 -9
  684. package/react/components/common/FinsembleToggle.d.ts.map +1 -0
  685. package/react/components/common/FinsembleToggle.js +11 -22
  686. package/react/components/common/FinsembleToggle.js.map +1 -1
  687. package/react/components/common/FinsembleToggleButtonBar.d.ts +14 -13
  688. package/react/components/common/FinsembleToggleButtonBar.d.ts.map +1 -0
  689. package/react/components/common/FinsembleToggleButtonBar.js +43 -43
  690. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -1
  691. package/react/components/common/Header.d.ts +13 -12
  692. package/react/components/common/Header.d.ts.map +1 -0
  693. package/react/components/common/Header.js +18 -18
  694. package/react/components/common/Header.js.map +1 -1
  695. package/react/components/common/TimeSelect.d.ts +17 -16
  696. package/react/components/common/TimeSelect.d.ts.map +1 -0
  697. package/react/components/common/TimeSelect.js +173 -173
  698. package/react/components/common/TimeSelect.js.map +1 -1
  699. package/react/components/common/css/FinsembleToggle.css +11 -0
  700. package/react/components/common/css/button.css +15 -21
  701. package/react/components/common/css/selector.css +6 -2
  702. package/react/components/common/css/tab.css +1 -0
  703. package/react/components/common/css/toggle.css +34 -49
  704. package/react/components/favorites/FavoriteMaker.d.ts +17 -16
  705. package/react/components/favorites/FavoriteMaker.d.ts.map +1 -0
  706. package/react/components/favorites/FavoriteMaker.js +39 -39
  707. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  708. package/react/components/favorites/FavoritesShell.d.ts +8 -7
  709. package/react/components/favorites/FavoritesShell.d.ts.map +1 -0
  710. package/react/components/favorites/FavoritesShell.js +40 -40
  711. package/react/components/favorites/FavoritesShell.js.map +1 -1
  712. package/react/components/fdc3Resolver/ResolverContainer.d.ts +3 -2
  713. package/react/components/fdc3Resolver/ResolverContainer.d.ts.map +1 -0
  714. package/react/components/fdc3Resolver/ResolverContainer.js +55 -52
  715. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  716. package/react/components/fdc3Resolver/ResolverDialog.d.ts +20 -19
  717. package/react/components/fdc3Resolver/ResolverDialog.d.ts.map +1 -0
  718. package/react/components/fdc3Resolver/ResolverDialog.js +89 -89
  719. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  720. package/react/components/fdc3Resolver/index.d.ts +2 -0
  721. package/react/components/fdc3Resolver/index.d.ts.map +1 -0
  722. package/react/components/fdc3Resolver/index.js +2 -0
  723. package/react/components/fdc3Resolver/index.js.map +1 -0
  724. package/react/components/icon/Icon.d.ts +22 -22
  725. package/react/components/icon/Icon.d.ts.map +1 -0
  726. package/react/components/icon/Icon.js +100 -100
  727. package/react/components/icon/Icon.js.map +1 -1
  728. package/react/components/icon/index.d.ts +2 -1
  729. package/react/components/icon/index.d.ts.map +1 -0
  730. package/react/components/icon/index.js +1 -1
  731. package/react/components/icon/index.js.map +1 -1
  732. package/react/components/index.d.ts +28 -0
  733. package/react/components/index.d.ts.map +1 -0
  734. package/react/components/index.js +28 -0
  735. package/react/components/index.js.map +1 -0
  736. package/react/components/legacyControls/FinsembleDialog.d.ts +19 -18
  737. package/react/components/legacyControls/FinsembleDialog.d.ts.map +1 -0
  738. package/react/components/legacyControls/FinsembleDialog.js +57 -56
  739. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  740. package/react/components/legacyControls/FinsembleDialogButton.d.ts +16 -15
  741. package/react/components/legacyControls/FinsembleDialogButton.d.ts.map +1 -0
  742. package/react/components/legacyControls/FinsembleDialogButton.js +20 -20
  743. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  744. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +14 -13
  745. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts.map +1 -0
  746. package/react/components/legacyControls/FinsembleDialogQuestion.js +16 -16
  747. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  748. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +22 -21
  749. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts.map +1 -0
  750. package/react/components/legacyControls/FinsembleDialogTextInput.js +64 -63
  751. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  752. package/react/components/legacyControls/FinsembleDnDContext.d.ts +46 -45
  753. package/react/components/legacyControls/FinsembleDnDContext.d.ts.map +1 -0
  754. package/react/components/legacyControls/FinsembleDnDContext.js +292 -292
  755. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  756. package/react/components/legacyControls/FinsembleDraggable.d.ts +15 -14
  757. package/react/components/legacyControls/FinsembleDraggable.d.ts.map +1 -0
  758. package/react/components/legacyControls/FinsembleDraggable.js +21 -21
  759. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  760. package/react/components/legacyControls/FinsembleHoverDetector.d.ts +23 -22
  761. package/react/components/legacyControls/FinsembleHoverDetector.d.ts.map +1 -0
  762. package/react/components/legacyControls/FinsembleHoverDetector.js +56 -56
  763. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  764. package/react/components/linker/LinkerMenu.d.ts +7 -6
  765. package/react/components/linker/LinkerMenu.d.ts.map +1 -0
  766. package/react/components/linker/LinkerMenu.js +152 -144
  767. package/react/components/linker/LinkerMenu.js.map +1 -1
  768. package/react/components/linker/LinkerMenuDeprecated.d.ts +8 -7
  769. package/react/components/linker/LinkerMenuDeprecated.d.ts.map +1 -0
  770. package/react/components/linker/LinkerMenuDeprecated.js +38 -37
  771. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  772. package/react/components/linker/index.d.ts +2 -1
  773. package/react/components/linker/index.d.ts.map +1 -0
  774. package/react/components/linker/index.js +1 -1
  775. package/react/components/linker/index.js.map +1 -1
  776. package/react/components/linker/remoteRedux.d.ts +9 -12
  777. package/react/components/linker/remoteRedux.d.ts.map +1 -0
  778. package/react/components/linker/remoteRedux.js +29 -20
  779. package/react/components/linker/remoteRedux.js.map +1 -1
  780. package/react/components/menu/Menu.d.ts +29 -28
  781. package/react/components/menu/Menu.d.ts.map +1 -0
  782. package/react/components/menu/Menu.js +25 -25
  783. package/react/components/menu/Menu.js.map +1 -1
  784. package/react/components/menu/MenuAutoResizer.d.ts +19 -18
  785. package/react/components/menu/MenuAutoResizer.d.ts.map +1 -0
  786. package/react/components/menu/MenuAutoResizer.js +67 -66
  787. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  788. package/react/components/menu/MenuContent.d.ts +9 -8
  789. package/react/components/menu/MenuContent.d.ts.map +1 -0
  790. package/react/components/menu/MenuContent.js +14 -14
  791. package/react/components/menu/MenuContent.js.map +1 -1
  792. package/react/components/menu/MenuHotKey.d.ts +20 -19
  793. package/react/components/menu/MenuHotKey.d.ts.map +1 -0
  794. package/react/components/menu/MenuHotKey.js +35 -34
  795. package/react/components/menu/MenuHotKey.js.map +1 -1
  796. package/react/components/menu/MenuItem.d.ts +17 -16
  797. package/react/components/menu/MenuItem.d.ts.map +1 -0
  798. package/react/components/menu/MenuItem.js +21 -21
  799. package/react/components/menu/MenuItem.js.map +1 -1
  800. package/react/components/menu/MenuPortal.d.ts +5 -4
  801. package/react/components/menu/MenuPortal.d.ts.map +1 -0
  802. package/react/components/menu/MenuPortal.js +242 -241
  803. package/react/components/menu/MenuPortal.js.map +1 -1
  804. package/react/components/menu/MenuShell.d.ts +31 -30
  805. package/react/components/menu/MenuShell.d.ts.map +1 -0
  806. package/react/components/menu/MenuShell.js +47 -47
  807. package/react/components/menu/MenuShell.js.map +1 -1
  808. package/react/components/menu/MenuToggle.d.ts +6 -5
  809. package/react/components/menu/MenuToggle.d.ts.map +1 -0
  810. package/react/components/menu/MenuToggle.js +18 -18
  811. package/react/components/menu/MenuToggle.js.map +1 -1
  812. package/react/components/menu/index.d.ts +6 -5
  813. package/react/components/menu/index.d.ts.map +1 -0
  814. package/react/components/menu/index.js +5 -5
  815. package/react/components/menu/index.js.map +1 -1
  816. package/react/components/menu/keyboardNavigation.d.ts +14 -13
  817. package/react/components/menu/keyboardNavigation.d.ts.map +1 -0
  818. package/react/components/menu/keyboardNavigation.js +195 -195
  819. package/react/components/menu/keyboardNavigation.js.map +1 -1
  820. package/react/components/menu/menuContext.d.ts +18 -17
  821. package/react/components/menu/menuContext.d.ts.map +1 -0
  822. package/react/components/menu/menuContext.js +8 -8
  823. package/react/components/menu/menuContext.js.map +1 -1
  824. package/react/components/menu/menuHelpers.d.ts +33 -32
  825. package/react/components/menu/menuHelpers.d.ts.map +1 -0
  826. package/react/components/menu/menuHelpers.js +110 -110
  827. package/react/components/menu/menuHelpers.js.map +1 -1
  828. package/react/components/notifications/components/NoNotifications.d.ts +4 -3
  829. package/react/components/notifications/components/NoNotifications.d.ts.map +1 -0
  830. package/react/components/notifications/components/NoNotifications.js +4 -4
  831. package/react/components/notifications/components/NoNotifications.js.map +1 -1
  832. package/react/components/notifications/components/drawer/Drawer.d.ts +8 -7
  833. package/react/components/notifications/components/drawer/Drawer.d.ts.map +1 -0
  834. package/react/components/notifications/components/drawer/Drawer.js +4 -4
  835. package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
  836. package/react/components/notifications/components/drawer/DrawerControls.d.ts +4 -3
  837. package/react/components/notifications/components/drawer/DrawerControls.d.ts.map +1 -0
  838. package/react/components/notifications/components/drawer/DrawerControls.js +91 -116
  839. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  840. package/react/components/notifications/components/drawer/DrawerHeader.d.ts +7 -6
  841. package/react/components/notifications/components/drawer/DrawerHeader.d.ts.map +1 -0
  842. package/react/components/notifications/components/drawer/DrawerHeader.js +77 -76
  843. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  844. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.d.ts +5 -4
  845. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.d.ts.map +1 -0
  846. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +406 -402
  847. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  848. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.d.ts +5 -4
  849. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.d.ts.map +1 -0
  850. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +169 -164
  851. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  852. package/react/components/notifications/components/shared/CheckButton.d.ts +7 -7
  853. package/react/components/notifications/components/shared/CheckButton.d.ts.map +1 -0
  854. package/react/components/notifications/components/shared/CheckButton.js +38 -38
  855. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  856. package/react/components/notifications/components/shared/IconButton.d.ts +11 -10
  857. package/react/components/notifications/components/shared/IconButton.d.ts.map +1 -0
  858. package/react/components/notifications/components/shared/IconButton.js +10 -10
  859. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  860. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +20 -21
  861. package/react/components/notifications/components/shared/NotificationCardShell.d.ts.map +1 -0
  862. package/react/components/notifications/components/shared/NotificationCardShell.js +92 -91
  863. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  864. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +6 -7
  865. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts.map +1 -0
  866. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js +31 -31
  867. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  868. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.d.ts +5 -4
  869. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.d.ts.map +1 -0
  870. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.js +6 -6
  871. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.js.map +1 -1
  872. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +6 -7
  873. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts.map +1 -0
  874. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +12 -12
  875. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  876. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +12 -13
  877. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts.map +1 -0
  878. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +145 -144
  879. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  880. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.d.ts +5 -4
  881. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.d.ts.map +1 -0
  882. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.js +7 -7
  883. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.js.map +1 -1
  884. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +8 -9
  885. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts.map +1 -0
  886. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +18 -18
  887. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  888. package/react/components/notifications/components/views/CardView.d.ts +5 -4
  889. package/react/components/notifications/components/views/CardView.d.ts.map +1 -0
  890. package/react/components/notifications/components/views/CardView.js +91 -91
  891. package/react/components/notifications/components/views/CardView.js.map +1 -1
  892. package/react/components/notifications/components/views/ListView.d.ts +11 -11
  893. package/react/components/notifications/components/views/ListView.d.ts.map +1 -0
  894. package/react/components/notifications/components/views/ListView.js +143 -144
  895. package/react/components/notifications/components/views/ListView.js.map +1 -1
  896. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +7 -7
  897. package/react/components/notifications/components/views/NotificationDetailsView.d.ts.map +1 -0
  898. package/react/components/notifications/components/views/NotificationDetailsView.js +63 -63
  899. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  900. package/react/components/notifications/constants.d.ts +10 -9
  901. package/react/components/notifications/constants.d.ts.map +1 -0
  902. package/react/components/notifications/constants.js +11 -11
  903. package/react/components/notifications/constants.js.map +1 -1
  904. package/react/components/notifications/icons/EnvelopeClose.d.ts +3 -2
  905. package/react/components/notifications/icons/EnvelopeClose.d.ts.map +1 -0
  906. package/react/components/notifications/icons/EnvelopeClose.js +11 -11
  907. package/react/components/notifications/icons/EnvelopeClose.js.map +1 -1
  908. package/react/components/notifications/icons/EnvelopeOpen.d.ts +3 -2
  909. package/react/components/notifications/icons/EnvelopeOpen.d.ts.map +1 -0
  910. package/react/components/notifications/icons/EnvelopeOpen.js +10 -10
  911. package/react/components/notifications/icons/EnvelopeOpen.js.map +1 -1
  912. package/react/components/notifications/icons/SnoozeIcon.d.ts +3 -2
  913. package/react/components/notifications/icons/SnoozeIcon.d.ts.map +1 -0
  914. package/react/components/notifications/icons/SnoozeIcon.js +12 -12
  915. package/react/components/notifications/icons/SnoozeIcon.js.map +1 -1
  916. package/react/components/notifications/index.d.ts +9 -8
  917. package/react/components/notifications/index.d.ts.map +1 -0
  918. package/react/components/notifications/index.js +8 -8
  919. package/react/components/notifications/index.js.map +1 -1
  920. package/react/components/notifications/notificationsContext.d.ts +8 -7
  921. package/react/components/notifications/notificationsContext.d.ts.map +1 -0
  922. package/react/components/notifications/notificationsContext.js +6 -6
  923. package/react/components/notifications/notificationsContext.js.map +1 -1
  924. package/react/components/notifications/types.d.ts +91 -93
  925. package/react/components/notifications/types.d.ts.map +1 -0
  926. package/react/components/notifications/types.js +1 -1
  927. package/react/components/notifications/types.js.map +1 -1
  928. package/react/components/notifications/utils.d.ts +13 -16
  929. package/react/components/notifications/utils.d.ts.map +1 -0
  930. package/react/components/notifications/utils.js +70 -70
  931. package/react/components/notifications/utils.js.map +1 -1
  932. package/react/components/processMonitor/ProcessMonitor.d.ts +7 -6
  933. package/react/components/processMonitor/ProcessMonitor.d.ts.map +1 -0
  934. package/react/components/processMonitor/ProcessMonitor.js +105 -100
  935. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  936. package/react/components/processMonitor/ProcessMonitorTypes.d.ts +27 -26
  937. package/react/components/processMonitor/ProcessMonitorTypes.d.ts.map +1 -0
  938. package/react/components/processMonitor/ProcessMonitorTypes.js +5 -5
  939. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -1
  940. package/react/components/processMonitor/components/ChildWindow.d.ts +15 -14
  941. package/react/components/processMonitor/components/ChildWindow.d.ts.map +1 -0
  942. package/react/components/processMonitor/components/ChildWindow.js +39 -39
  943. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  944. package/react/components/processMonitor/components/ListHeader.d.ts +25 -24
  945. package/react/components/processMonitor/components/ListHeader.d.ts.map +1 -0
  946. package/react/components/processMonitor/components/ListHeader.js +53 -53
  947. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  948. package/react/components/processMonitor/components/ProcessStatistics.d.ts +13 -12
  949. package/react/components/processMonitor/components/ProcessStatistics.d.ts.map +1 -0
  950. package/react/components/processMonitor/components/ProcessStatistics.js +66 -66
  951. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  952. package/react/components/processMonitor/constants.d.ts +10 -9
  953. package/react/components/processMonitor/constants.d.ts.map +1 -0
  954. package/react/components/processMonitor/constants.js +29 -29
  955. package/react/components/processMonitor/constants.js.map +1 -1
  956. package/react/components/processMonitor/helpers.d.ts +19 -18
  957. package/react/components/processMonitor/helpers.d.ts.map +1 -0
  958. package/react/components/processMonitor/helpers.js +55 -55
  959. package/react/components/processMonitor/helpers.js.map +1 -1
  960. package/react/components/processMonitor/index.d.ts +2 -1
  961. package/react/components/processMonitor/index.d.ts.map +1 -0
  962. package/react/components/processMonitor/index.js +1 -1
  963. package/react/components/processMonitor/index.js.map +1 -1
  964. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +63 -62
  965. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts.map +1 -0
  966. package/react/components/processMonitor/stores/ProcessMonitorStore.js +291 -290
  967. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  968. package/react/components/quickComponentForm/QuickComponentForm.d.ts +8 -7
  969. package/react/components/quickComponentForm/QuickComponentForm.d.ts.map +1 -0
  970. package/react/components/quickComponentForm/QuickComponentForm.js +123 -113
  971. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  972. package/react/components/quickComponentForm/index.d.ts +2 -1
  973. package/react/components/quickComponentForm/index.d.ts.map +1 -0
  974. package/react/components/quickComponentForm/index.js +1 -1
  975. package/react/components/quickComponentForm/index.js.map +1 -1
  976. package/react/components/sdd/Appearance.helpers.d.ts +2 -1
  977. package/react/components/sdd/Appearance.helpers.d.ts.map +1 -0
  978. package/react/components/sdd/Appearance.helpers.js +1 -1
  979. package/react/components/sdd/Appearance.helpers.js.map +1 -1
  980. package/react/components/sdd/Dashboard.css +77 -0
  981. package/react/components/sdd/ThemePage.css +6 -0
  982. package/react/components/sdd/css/addApp.css +2 -2
  983. package/react/components/sdd/css/export.css +16 -0
  984. package/react/components/sdd/css/nav.css +5 -4
  985. package/react/components/search/Highlight.d.ts +13 -12
  986. package/react/components/search/Highlight.d.ts.map +1 -0
  987. package/react/components/search/Highlight.js +39 -39
  988. package/react/components/search/Highlight.js.map +1 -1
  989. package/react/components/search/Search.d.ts +6 -5
  990. package/react/components/search/Search.d.ts.map +1 -0
  991. package/react/components/search/Search.js +27 -27
  992. package/react/components/search/Search.js.map +1 -1
  993. package/react/components/search/SearchBestMatch.d.ts +7 -6
  994. package/react/components/search/SearchBestMatch.d.ts.map +1 -0
  995. package/react/components/search/SearchBestMatch.js +38 -38
  996. package/react/components/search/SearchBestMatch.js.map +1 -1
  997. package/react/components/search/SearchInput.d.ts +8 -7
  998. package/react/components/search/SearchInput.d.ts.map +1 -0
  999. package/react/components/search/SearchInput.js +28 -28
  1000. package/react/components/search/SearchInput.js.map +1 -1
  1001. package/react/components/search/SearchProviderResults.d.ts +6 -7
  1002. package/react/components/search/SearchProviderResults.d.ts.map +1 -0
  1003. package/react/components/search/SearchProviderResults.js +26 -25
  1004. package/react/components/search/SearchProviderResults.js.map +1 -1
  1005. package/react/components/search/SearchResult.d.ts +13 -14
  1006. package/react/components/search/SearchResult.d.ts.map +1 -0
  1007. package/react/components/search/SearchResult.js +47 -46
  1008. package/react/components/search/SearchResult.js.map +1 -1
  1009. package/react/components/search/SearchResults.d.ts +4 -3
  1010. package/react/components/search/SearchResults.d.ts.map +1 -0
  1011. package/react/components/search/SearchResults.js +21 -21
  1012. package/react/components/search/SearchResults.js.map +1 -1
  1013. package/react/components/search/index.d.ts +2 -1
  1014. package/react/components/search/index.d.ts.map +1 -0
  1015. package/react/components/search/index.js +1 -1
  1016. package/react/components/search/index.js.map +1 -1
  1017. package/react/components/shared/BellIcon.d.ts +4 -3
  1018. package/react/components/shared/BellIcon.d.ts.map +1 -0
  1019. package/react/components/shared/BellIcon.js +7 -7
  1020. package/react/components/shared/BellIcon.js.map +1 -1
  1021. package/react/components/shared/BellIconCrossed.d.ts +4 -3
  1022. package/react/components/shared/BellIconCrossed.d.ts.map +1 -0
  1023. package/react/components/shared/BellIconCrossed.js +9 -9
  1024. package/react/components/shared/BellIconCrossed.js.map +1 -1
  1025. package/react/components/shared/Button.d.ts +10 -9
  1026. package/react/components/shared/Button.d.ts.map +1 -0
  1027. package/react/components/shared/Button.js +5 -5
  1028. package/react/components/shared/Button.js.map +1 -1
  1029. package/react/components/shared/ConditionalWrapper.d.ts +9 -8
  1030. package/react/components/shared/ConditionalWrapper.d.ts.map +1 -0
  1031. package/react/components/shared/ConditionalWrapper.js +5 -5
  1032. package/react/components/shared/ConditionalWrapper.js.map +1 -1
  1033. package/react/components/shared/DefaultDropdownButton.d.ts +19 -18
  1034. package/react/components/shared/DefaultDropdownButton.d.ts.map +1 -0
  1035. package/react/components/shared/DefaultDropdownButton.js +117 -117
  1036. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  1037. package/react/components/shared/Tag.d.ts +9 -8
  1038. package/react/components/shared/Tag.d.ts.map +1 -0
  1039. package/react/components/shared/Tag.js +22 -22
  1040. package/react/components/shared/Tag.js.map +1 -1
  1041. package/react/components/shared/TagsMenu.d.ts +37 -36
  1042. package/react/components/shared/TagsMenu.d.ts.map +1 -0
  1043. package/react/components/shared/TagsMenu.js +77 -77
  1044. package/react/components/shared/TagsMenu.js.map +1 -1
  1045. package/react/components/shared/addProtocolToValidURL.d.ts +8 -7
  1046. package/react/components/shared/addProtocolToValidURL.d.ts.map +1 -0
  1047. package/react/components/shared/addProtocolToValidURL.js +11 -11
  1048. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  1049. package/react/components/shared/linkerUtil.d.ts +4 -3
  1050. package/react/components/shared/linkerUtil.d.ts.map +1 -0
  1051. package/react/components/shared/linkerUtil.js +9 -9
  1052. package/react/components/shared/linkerUtil.js.map +1 -1
  1053. package/react/components/shared/openQuitConfirmationDialog.d.ts +2 -1
  1054. package/react/components/shared/openQuitConfirmationDialog.d.ts.map +1 -0
  1055. package/react/components/shared/openQuitConfirmationDialog.js +17 -16
  1056. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  1057. package/react/components/shared/validateURL.d.ts +20 -19
  1058. package/react/components/shared/validateURL.d.ts.map +1 -0
  1059. package/react/components/shared/validateURL.js +29 -29
  1060. package/react/components/shared/validateURL.js.map +1 -1
  1061. package/react/components/singleInputDialog/SingleInputDialog.d.ts +9 -8
  1062. package/react/components/singleInputDialog/SingleInputDialog.d.ts.map +1 -0
  1063. package/react/components/singleInputDialog/SingleInputDialog.js +132 -129
  1064. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  1065. package/react/components/singleInputDialog/index.d.ts +2 -1
  1066. package/react/components/singleInputDialog/index.d.ts.map +1 -0
  1067. package/react/components/singleInputDialog/index.js +1 -1
  1068. package/react/components/singleInputDialog/index.js.map +1 -1
  1069. package/react/components/system/System.d.ts +31 -30
  1070. package/react/components/system/System.d.ts.map +1 -0
  1071. package/react/components/system/System.js +53 -52
  1072. package/react/components/system/System.js.map +1 -1
  1073. package/react/components/system/SystemTrayComponentShell.d.ts +14 -10
  1074. package/react/components/system/SystemTrayComponentShell.d.ts.map +1 -0
  1075. package/react/components/system/SystemTrayComponentShell.js +43 -28
  1076. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  1077. package/react/components/system/index.d.ts +3 -2
  1078. package/react/components/system/index.d.ts.map +1 -0
  1079. package/react/components/system/index.js +2 -2
  1080. package/react/components/system/index.js.map +1 -1
  1081. package/react/components/toolbar/AutoArrange.d.ts +10 -9
  1082. package/react/components/toolbar/AutoArrange.d.ts.map +1 -0
  1083. package/react/components/toolbar/AutoArrange.js +36 -35
  1084. package/react/components/toolbar/AutoArrange.js.map +1 -1
  1085. package/react/components/toolbar/DragHandle.d.ts +12 -11
  1086. package/react/components/toolbar/DragHandle.d.ts.map +1 -0
  1087. package/react/components/toolbar/DragHandle.js +43 -42
  1088. package/react/components/toolbar/DragHandle.js.map +1 -1
  1089. package/react/components/toolbar/MinimizeAll.d.ts +9 -8
  1090. package/react/components/toolbar/MinimizeAll.d.ts.map +1 -0
  1091. package/react/components/toolbar/MinimizeAll.js +24 -24
  1092. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  1093. package/react/components/toolbar/NotificationControl.d.ts +10 -9
  1094. package/react/components/toolbar/NotificationControl.d.ts.map +1 -0
  1095. package/react/components/toolbar/NotificationControl.js +63 -64
  1096. package/react/components/toolbar/NotificationControl.js.map +1 -1
  1097. package/react/components/toolbar/RevealAll.d.ts +9 -8
  1098. package/react/components/toolbar/RevealAll.d.ts.map +1 -0
  1099. package/react/components/toolbar/RevealAll.js +26 -26
  1100. package/react/components/toolbar/RevealAll.js.map +1 -1
  1101. package/react/components/toolbar/SddButton.d.ts +7 -6
  1102. package/react/components/toolbar/SddButton.d.ts.map +1 -0
  1103. package/react/components/toolbar/SddButton.js +27 -26
  1104. package/react/components/toolbar/SddButton.js.map +1 -1
  1105. package/react/components/toolbar/ToolbarIcon.d.ts +7 -6
  1106. package/react/components/toolbar/ToolbarIcon.d.ts.map +1 -0
  1107. package/react/components/toolbar/ToolbarIcon.js +32 -31
  1108. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  1109. package/react/components/toolbar/ToolbarSection.d.ts +17 -16
  1110. package/react/components/toolbar/ToolbarSection.d.ts.map +1 -0
  1111. package/react/components/toolbar/ToolbarSection.js +41 -41
  1112. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  1113. package/react/components/toolbar/ToolbarShell.d.ts +19 -14
  1114. package/react/components/toolbar/ToolbarShell.d.ts.map +1 -0
  1115. package/react/components/toolbar/ToolbarShell.js +28 -22
  1116. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  1117. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +41 -40
  1118. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts.map +1 -0
  1119. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +93 -92
  1120. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  1121. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.d.ts +11 -10
  1122. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.d.ts.map +1 -0
  1123. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +30 -30
  1124. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
  1125. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +93 -92
  1126. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts.map +1 -0
  1127. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +277 -276
  1128. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  1129. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +11 -10
  1130. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts.map +1 -0
  1131. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +15 -15
  1132. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  1133. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +57 -56
  1134. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts.map +1 -0
  1135. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +175 -174
  1136. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  1137. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +34 -34
  1138. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts.map +1 -0
  1139. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +56 -55
  1140. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  1141. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts +17 -16
  1142. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts.map +1 -0
  1143. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js +43 -43
  1144. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
  1145. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +39 -38
  1146. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts.map +1 -0
  1147. package/react/components/toolbar/advancedAppLauncher/components/Content.js +171 -170
  1148. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  1149. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +22 -21
  1150. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts.map +1 -0
  1151. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +64 -64
  1152. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  1153. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +60 -59
  1154. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts.map +1 -0
  1155. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +298 -298
  1156. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  1157. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +26 -25
  1158. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts.map +1 -0
  1159. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +103 -102
  1160. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  1161. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts +12 -11
  1162. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts.map +1 -0
  1163. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js +9 -9
  1164. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
  1165. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts +19 -18
  1166. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts.map +1 -0
  1167. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +57 -57
  1168. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  1169. package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts +14 -13
  1170. package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts.map +1 -0
  1171. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js +37 -37
  1172. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
  1173. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +20 -19
  1174. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts.map +1 -0
  1175. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js +38 -38
  1176. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  1177. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +9 -8
  1178. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts.map +1 -0
  1179. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +26 -26
  1180. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  1181. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +9 -8
  1182. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts.map +1 -0
  1183. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +10 -10
  1184. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  1185. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +56 -55
  1186. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts.map +1 -0
  1187. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +145 -145
  1188. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  1189. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +6 -5
  1190. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts.map +1 -0
  1191. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js +20 -19
  1192. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  1193. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +97 -96
  1194. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts.map +1 -0
  1195. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +532 -531
  1196. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  1197. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +19 -18
  1198. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts.map +1 -0
  1199. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +35 -35
  1200. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  1201. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +29 -28
  1202. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts.map +1 -0
  1203. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +45 -42
  1204. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  1205. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +39 -38
  1206. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts.map +1 -0
  1207. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +57 -56
  1208. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  1209. package/react/components/toolbar/appLauncher/components/componentList.d.ts +42 -41
  1210. package/react/components/toolbar/appLauncher/components/componentList.d.ts.map +1 -0
  1211. package/react/components/toolbar/appLauncher/components/componentList.js +153 -152
  1212. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  1213. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +45 -44
  1214. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts.map +1 -0
  1215. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +262 -261
  1216. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  1217. package/react/components/toolbar/dashbar/Dashbar.d.ts +5 -4
  1218. package/react/components/toolbar/dashbar/Dashbar.d.ts.map +1 -0
  1219. package/react/components/toolbar/dashbar/Dashbar.js +370 -369
  1220. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  1221. package/react/components/toolbar/dashbar/DashbarItem.d.ts +18 -17
  1222. package/react/components/toolbar/dashbar/DashbarItem.d.ts.map +1 -0
  1223. package/react/components/toolbar/dashbar/DashbarItem.js +37 -37
  1224. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  1225. package/react/components/toolbar/index.d.ts +16 -15
  1226. package/react/components/toolbar/index.d.ts.map +1 -0
  1227. package/react/components/toolbar/index.js +15 -15
  1228. package/react/components/toolbar/index.js.map +1 -1
  1229. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +39 -38
  1230. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts.map +1 -0
  1231. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +68 -68
  1232. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  1233. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +53 -52
  1234. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts.map +1 -0
  1235. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +107 -106
  1236. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  1237. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +45 -44
  1238. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts.map +1 -0
  1239. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +73 -73
  1240. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  1241. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +23 -22
  1242. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts.map +1 -0
  1243. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +30 -30
  1244. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  1245. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +146 -147
  1246. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts.map +1 -0
  1247. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +723 -721
  1248. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  1249. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +16 -15
  1250. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts.map +1 -0
  1251. package/react/components/userPreferences/NotificationsPreferencesContext.js +6 -6
  1252. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  1253. package/react/components/userPreferences/UserPreferenceTypes.d.ts +10 -9
  1254. package/react/components/userPreferences/UserPreferenceTypes.d.ts.map +1 -0
  1255. package/react/components/userPreferences/UserPreferenceTypes.js +1 -1
  1256. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -1
  1257. package/react/components/userPreferences/UserPreferences.d.ts +19 -17
  1258. package/react/components/userPreferences/UserPreferences.d.ts.map +1 -0
  1259. package/react/components/userPreferences/UserPreferences.js +26 -24
  1260. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  1261. package/react/components/userPreferences/UserPreferencesBase.d.ts +4 -3
  1262. package/react/components/userPreferences/UserPreferencesBase.d.ts.map +1 -0
  1263. package/react/components/userPreferences/UserPreferencesBase.js +41 -45
  1264. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  1265. package/react/components/userPreferences/UserPreferencesWrapper.d.ts +5 -4
  1266. package/react/components/userPreferences/UserPreferencesWrapper.d.ts.map +1 -0
  1267. package/react/components/userPreferences/UserPreferencesWrapper.js +28 -26
  1268. package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
  1269. package/react/components/userPreferences/components/ContentSection.d.ts +23 -25
  1270. package/react/components/userPreferences/components/ContentSection.d.ts.map +1 -0
  1271. package/react/components/userPreferences/components/ContentSection.js +22 -25
  1272. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  1273. package/react/components/userPreferences/components/LeftNav.d.ts +15 -27
  1274. package/react/components/userPreferences/components/LeftNav.d.ts.map +1 -0
  1275. package/react/components/userPreferences/components/LeftNav.js +41 -59
  1276. package/react/components/userPreferences/components/LeftNav.js.map +1 -1
  1277. package/react/components/userPreferences/components/content/DashbarEditor.d.ts +9 -22
  1278. package/react/components/userPreferences/components/content/DashbarEditor.d.ts.map +1 -0
  1279. package/react/components/userPreferences/components/content/DashbarEditor.js +128 -131
  1280. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  1281. package/react/components/userPreferences/components/content/DashbarEditorItem.d.ts +11 -10
  1282. package/react/components/userPreferences/components/content/DashbarEditorItem.d.ts.map +1 -0
  1283. package/react/components/userPreferences/components/content/DashbarEditorItem.js +10 -10
  1284. package/react/components/userPreferences/components/content/DashbarEditorItem.js.map +1 -1
  1285. package/react/components/userPreferences/components/content/General.d.ts +9 -8
  1286. package/react/components/userPreferences/components/content/General.d.ts.map +1 -0
  1287. package/react/components/userPreferences/components/content/General.js +32 -31
  1288. package/react/components/userPreferences/components/content/General.js.map +1 -1
  1289. package/react/components/userPreferences/components/content/Notifications.d.ts +12 -11
  1290. package/react/components/userPreferences/components/content/Notifications.d.ts.map +1 -0
  1291. package/react/components/userPreferences/components/content/Notifications.js +35 -35
  1292. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  1293. package/react/components/userPreferences/components/content/Workspaces.d.ts +86 -85
  1294. package/react/components/userPreferences/components/content/Workspaces.d.ts.map +1 -0
  1295. package/react/components/userPreferences/components/content/Workspaces.js +534 -531
  1296. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  1297. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.d.ts +4 -3
  1298. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.d.ts.map +1 -0
  1299. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +211 -213
  1300. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  1301. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.d.ts +4 -3
  1302. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.d.ts.map +1 -0
  1303. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +134 -133
  1304. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  1305. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.d.ts +6 -5
  1306. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.d.ts.map +1 -0
  1307. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +79 -78
  1308. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  1309. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.d.ts +5 -2
  1310. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.d.ts.map +1 -0
  1311. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js +36 -34
  1312. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  1313. package/react/components/userPreferences/components/general/ScheduledClose.d.ts +11 -10
  1314. package/react/components/userPreferences/components/general/ScheduledClose.d.ts.map +1 -0
  1315. package/react/components/userPreferences/components/general/ScheduledClose.js +115 -115
  1316. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  1317. package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +9 -8
  1318. package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts.map +1 -0
  1319. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +8 -8
  1320. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  1321. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.d.ts +7 -6
  1322. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.d.ts.map +1 -0
  1323. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +10 -10
  1324. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
  1325. package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +36 -46
  1326. package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts.map +1 -0
  1327. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +86 -107
  1328. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  1329. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.d.ts +9 -8
  1330. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.d.ts.map +1 -0
  1331. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +20 -20
  1332. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
  1333. package/react/components/userPreferences/index.d.ts +6 -5
  1334. package/react/components/userPreferences/index.d.ts.map +1 -0
  1335. package/react/components/userPreferences/index.js +5 -5
  1336. package/react/components/userPreferences/index.js.map +1 -1
  1337. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +34 -33
  1338. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts.map +1 -0
  1339. package/react/components/userPreferences/stores/UserPreferencesStore.js +140 -139
  1340. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  1341. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +273 -269
  1342. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts.map +1 -0
  1343. package/react/components/windowTitleBar/WindowTitleBarShell.js +906 -877
  1344. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  1345. package/react/components/windowTitleBar/components/center/Tab.d.ts +33 -32
  1346. package/react/components/windowTitleBar/components/center/Tab.d.ts.map +1 -0
  1347. package/react/components/windowTitleBar/components/center/Tab.js +63 -62
  1348. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  1349. package/react/components/windowTitleBar/components/center/TabList.d.ts +140 -138
  1350. package/react/components/windowTitleBar/components/center/TabList.d.ts.map +1 -0
  1351. package/react/components/windowTitleBar/components/center/TabList.js +619 -615
  1352. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  1353. package/react/components/windowTitleBar/components/center/TabRegion.d.ts +3 -2
  1354. package/react/components/windowTitleBar/components/center/TabRegion.d.ts.map +1 -0
  1355. package/react/components/windowTitleBar/components/center/TabRegion.js +12 -11
  1356. package/react/components/windowTitleBar/components/center/TabRegion.js.map +1 -1
  1357. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +11 -10
  1358. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts.map +1 -0
  1359. package/react/components/windowTitleBar/components/left/LinkerButton.js +106 -104
  1360. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  1361. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +85 -84
  1362. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts.map +1 -0
  1363. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +171 -171
  1364. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  1365. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +7 -6
  1366. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts.map +1 -0
  1367. package/react/components/windowTitleBar/components/left/LinkerGroups.js +21 -20
  1368. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  1369. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +50 -49
  1370. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts.map +1 -0
  1371. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +119 -119
  1372. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  1373. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +42 -41
  1374. package/react/components/windowTitleBar/components/left/ShareButton.d.ts.map +1 -0
  1375. package/react/components/windowTitleBar/components/left/ShareButton.js +81 -81
  1376. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  1377. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.d.ts +3 -2
  1378. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.d.ts.map +1 -0
  1379. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +14 -13
  1380. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  1381. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +43 -42
  1382. package/react/components/windowTitleBar/components/right/CloseButton.d.ts.map +1 -0
  1383. package/react/components/windowTitleBar/components/right/CloseButton.js +53 -53
  1384. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  1385. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +58 -57
  1386. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts.map +1 -0
  1387. package/react/components/windowTitleBar/components/right/GroupingButton.js +90 -90
  1388. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  1389. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +67 -73
  1390. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts.map +1 -0
  1391. package/react/components/windowTitleBar/components/right/MaximizeButton.js +105 -114
  1392. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  1393. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +42 -41
  1394. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts.map +1 -0
  1395. package/react/components/windowTitleBar/components/right/MinimizeButton.js +52 -52
  1396. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  1397. package/react/components/windowTitleBar/components/windowTitle.d.ts +67 -66
  1398. package/react/components/windowTitleBar/components/windowTitle.d.ts.map +1 -0
  1399. package/react/components/windowTitleBar/components/windowTitle.js +377 -376
  1400. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  1401. package/react/components/windowTitleBar/getOrCreateWindowTitleBarContainer.d.ts +10 -0
  1402. package/react/components/windowTitleBar/getOrCreateWindowTitleBarContainer.d.ts.map +1 -0
  1403. package/react/components/windowTitleBar/getOrCreateWindowTitleBarContainer.js +23 -0
  1404. package/react/components/windowTitleBar/getOrCreateWindowTitleBarContainer.js.map +1 -0
  1405. package/react/components/windowTitleBar/index.d.ts +11 -9
  1406. package/react/components/windowTitleBar/index.d.ts.map +1 -0
  1407. package/react/components/windowTitleBar/index.js +10 -9
  1408. package/react/components/windowTitleBar/index.js.map +1 -1
  1409. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +69 -68
  1410. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts.map +1 -0
  1411. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +609 -608
  1412. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  1413. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts +44 -43
  1414. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts.map +1 -0
  1415. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js +42 -42
  1416. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
  1417. package/react/components/windowTitleBar/windowTitleBarContext.d.ts +23 -22
  1418. package/react/components/windowTitleBar/windowTitleBarContext.d.ts.map +1 -0
  1419. package/react/components/windowTitleBar/windowTitleBarContext.js +21 -21
  1420. package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
  1421. package/react/components/yesNoDialog/YesNoDialog.d.ts +8 -7
  1422. package/react/components/yesNoDialog/YesNoDialog.d.ts.map +1 -0
  1423. package/react/components/yesNoDialog/YesNoDialog.js +164 -161
  1424. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  1425. package/react/components/yesNoDialog/index.d.ts +2 -1
  1426. package/react/components/yesNoDialog/index.d.ts.map +1 -0
  1427. package/react/components/yesNoDialog/index.js +1 -1
  1428. package/react/components/yesNoDialog/index.js.map +1 -1
  1429. package/react/components/yesNoDialog/timer.d.ts +17 -16
  1430. package/react/components/yesNoDialog/timer.d.ts.map +1 -0
  1431. package/react/components/yesNoDialog/timer.js +31 -31
  1432. package/react/components/yesNoDialog/timer.js.map +1 -1
  1433. package/react/hooks/index.d.ts +5 -2
  1434. package/react/hooks/index.d.ts.map +1 -0
  1435. package/react/hooks/index.js +4 -2
  1436. package/react/hooks/index.js.map +1 -1
  1437. package/react/hooks/useAuth.d.ts +11 -10
  1438. package/react/hooks/useAuth.d.ts.map +1 -0
  1439. package/react/hooks/useAuth.js +26 -25
  1440. package/react/hooks/useAuth.js.map +1 -1
  1441. package/react/hooks/useDashbar.d.ts +9 -8
  1442. package/react/hooks/useDashbar.d.ts.map +1 -0
  1443. package/react/hooks/useDashbar.js +114 -113
  1444. package/react/hooks/useDashbar.js.map +1 -1
  1445. package/react/hooks/useDeepEffect.d.ts +6 -5
  1446. package/react/hooks/useDeepEffect.d.ts.map +1 -0
  1447. package/react/hooks/useDeepEffect.js +33 -33
  1448. package/react/hooks/useDeepEffect.js.map +1 -1
  1449. package/react/hooks/useFavorites.d.ts +25 -24
  1450. package/react/hooks/useFavorites.d.ts.map +1 -0
  1451. package/react/hooks/useFavorites.js +23 -23
  1452. package/react/hooks/useFavorites.js.map +1 -1
  1453. package/react/hooks/useFavoritesShell.d.ts +15 -14
  1454. package/react/hooks/useFavoritesShell.d.ts.map +1 -0
  1455. package/react/hooks/useFavoritesShell.js +78 -77
  1456. package/react/hooks/useFavoritesShell.js.map +1 -1
  1457. package/react/hooks/useFloatingFocus.d.ts +16 -0
  1458. package/react/hooks/useFloatingFocus.d.ts.map +1 -0
  1459. package/react/hooks/useFloatingFocus.js +36 -0
  1460. package/react/hooks/useFloatingFocus.js.map +1 -0
  1461. package/react/hooks/useHotkey.d.ts +9 -8
  1462. package/react/hooks/useHotkey.d.ts.map +1 -0
  1463. package/react/hooks/useHotkey.js +24 -21
  1464. package/react/hooks/useHotkey.js.map +1 -1
  1465. package/react/hooks/useLinker.d.ts +5 -4
  1466. package/react/hooks/useLinker.d.ts.map +1 -0
  1467. package/react/hooks/useLinker.js +110 -109
  1468. package/react/hooks/useLinker.js.map +1 -1
  1469. package/react/hooks/useMenu.d.ts +40 -39
  1470. package/react/hooks/useMenu.d.ts.map +1 -0
  1471. package/react/hooks/useMenu.js +51 -49
  1472. package/react/hooks/useMenu.js.map +1 -1
  1473. package/react/hooks/useNotifications.d.ts +76 -80
  1474. package/react/hooks/useNotifications.d.ts.map +1 -0
  1475. package/react/hooks/useNotifications.js +396 -396
  1476. package/react/hooks/useNotifications.js.map +1 -1
  1477. package/react/hooks/useOAuth.d.ts +17 -0
  1478. package/react/hooks/useOAuth.d.ts.map +1 -0
  1479. package/react/hooks/useOAuth.js +116 -0
  1480. package/react/hooks/useOAuth.js.map +1 -0
  1481. package/react/hooks/useOutsideClickDetector.d.ts +6 -5
  1482. package/react/hooks/useOutsideClickDetector.d.ts.map +1 -0
  1483. package/react/hooks/useOutsideClickDetector.js +17 -17
  1484. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  1485. package/react/hooks/usePubSub.d.ts +22 -21
  1486. package/react/hooks/usePubSub.d.ts.map +1 -0
  1487. package/react/hooks/usePubSub.js +38 -37
  1488. package/react/hooks/usePubSub.js.map +1 -1
  1489. package/react/hooks/useSearch.d.ts +15 -15
  1490. package/react/hooks/useSearch.d.ts.map +1 -0
  1491. package/react/hooks/useSearch.js +72 -72
  1492. package/react/hooks/useSearch.js.map +1 -1
  1493. package/react/hooks/useTitle.d.ts +18 -0
  1494. package/react/hooks/useTitle.d.ts.map +1 -0
  1495. package/react/hooks/useTitle.js +29 -0
  1496. package/react/hooks/useTitle.js.map +1 -0
  1497. package/react/hooks/useToolbar.d.ts +11 -10
  1498. package/react/hooks/useToolbar.d.ts.map +1 -0
  1499. package/react/hooks/useToolbar.js +151 -150
  1500. package/react/hooks/useToolbar.js.map +1 -1
  1501. package/react/index.d.ts +3 -0
  1502. package/react/index.d.ts.map +1 -0
  1503. package/react/index.js +3 -0
  1504. package/react/index.js.map +1 -0
  1505. package/react/reducers/favoriteReducer.d.ts +12 -11
  1506. package/react/reducers/favoriteReducer.d.ts.map +1 -0
  1507. package/react/reducers/favoriteReducer.js +27 -27
  1508. package/react/reducers/favoriteReducer.js.map +1 -1
  1509. package/react/reducers/linkerReducer.d.ts +14 -13
  1510. package/react/reducers/linkerReducer.d.ts.map +1 -0
  1511. package/react/reducers/linkerReducer.js +43 -43
  1512. package/react/reducers/linkerReducer.js.map +1 -1
  1513. package/react/reducers/menuReducer.d.ts +37 -36
  1514. package/react/reducers/menuReducer.d.ts.map +1 -0
  1515. package/react/reducers/menuReducer.js +65 -65
  1516. package/react/reducers/menuReducer.js.map +1 -1
  1517. package/react/reducers/rootReducer.d.ts +220 -219
  1518. package/react/reducers/rootReducer.d.ts.map +1 -0
  1519. package/react/reducers/rootReducer.js +20 -20
  1520. package/react/reducers/rootReducer.js.map +1 -1
  1521. package/react/reducers/searchReducer.d.ts +16 -15
  1522. package/react/reducers/searchReducer.d.ts.map +1 -0
  1523. package/react/reducers/searchReducer.js +27 -27
  1524. package/react/reducers/searchReducer.js.map +1 -1
  1525. package/react/reducers/smartDesktopDesignerReducer.d.ts +6 -5
  1526. package/react/reducers/smartDesktopDesignerReducer.d.ts.map +1 -0
  1527. package/react/reducers/smartDesktopDesignerReducer.js +170 -170
  1528. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  1529. package/react/reducers/toolbarReducer.d.ts +11 -10
  1530. package/react/reducers/toolbarReducer.d.ts.map +1 -0
  1531. package/react/reducers/toolbarReducer.js +29 -29
  1532. package/react/reducers/toolbarReducer.js.map +1 -1
  1533. package/react/reducers/workspaceReducer.d.ts +11 -10
  1534. package/react/reducers/workspaceReducer.d.ts.map +1 -0
  1535. package/react/reducers/workspaceReducer.js +26 -26
  1536. package/react/reducers/workspaceReducer.js.map +1 -1
  1537. package/react/store.d.ts +419 -418
  1538. package/react/store.d.ts.map +1 -0
  1539. package/react/store.js +24 -23
  1540. package/react/store.js.map +1 -1
  1541. package/react/types/advancedAppLauncherTypes.d.ts +45 -46
  1542. package/react/types/advancedAppLauncherTypes.d.ts.map +1 -0
  1543. package/react/types/advancedAppLauncherTypes.js +1 -1
  1544. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  1545. package/react/types/dashbarTypes.d.ts +40 -39
  1546. package/react/types/dashbarTypes.d.ts.map +1 -0
  1547. package/react/types/dashbarTypes.js +1 -1
  1548. package/react/types/dashbarTypes.js.map +1 -1
  1549. package/react/types/favoriteTypes.d.ts +9 -10
  1550. package/react/types/favoriteTypes.d.ts.map +1 -0
  1551. package/react/types/favoriteTypes.js +1 -1
  1552. package/react/types/favoriteTypes.js.map +1 -1
  1553. package/react/types/fdc3.d.ts +30 -35
  1554. package/react/types/fdc3.d.ts.map +1 -0
  1555. package/react/types/fdc3.js +6 -6
  1556. package/react/types/fdc3.js.map +1 -1
  1557. package/react/types/hotkeyTypes.d.ts +2 -1
  1558. package/react/types/hotkeyTypes.d.ts.map +1 -0
  1559. package/react/types/hotkeyTypes.js +1 -1
  1560. package/react/types/hotkeyTypes.js.map +1 -1
  1561. package/react/types/linkerTypes.d.ts +28 -27
  1562. package/react/types/linkerTypes.d.ts.map +1 -0
  1563. package/react/types/linkerTypes.js +2 -2
  1564. package/react/types/linkerTypes.js.map +1 -1
  1565. package/react/types/smartDesktopDesignerTypes.d.ts +183 -183
  1566. package/react/types/smartDesktopDesignerTypes.d.ts.map +1 -0
  1567. package/react/types/smartDesktopDesignerTypes.js +19 -19
  1568. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  1569. package/react/types/windowTitleBar.d.ts +50 -49
  1570. package/react/types/windowTitleBar.d.ts.map +1 -0
  1571. package/react/types/windowTitleBar.js +1 -1
  1572. package/react/types/windowTitleBar.js.map +1 -1
  1573. package/react/types/workspaceTypes.d.ts +31 -30
  1574. package/react/types/workspaceTypes.d.ts.map +1 -0
  1575. package/react/types/workspaceTypes.js +1 -1
  1576. package/react/types/workspaceTypes.js.map +1 -1
  1577. package/typedefs/FDC3/api/AppIntent.d.ts +14 -0
  1578. package/typedefs/FDC3/api/AppIntent.d.ts.map +1 -0
  1579. package/typedefs/FDC3/api/AppIntent.js +6 -0
  1580. package/typedefs/FDC3/api/AppIntent.js.map +1 -0
  1581. package/typedefs/FDC3/api/AppMetadata.d.ts +26 -0
  1582. package/typedefs/FDC3/api/AppMetadata.d.ts.map +1 -0
  1583. package/typedefs/FDC3/api/AppMetadata.js +6 -0
  1584. package/typedefs/FDC3/api/AppMetadata.js.map +1 -0
  1585. package/typedefs/FDC3/api/Channel.d.ts +65 -0
  1586. package/typedefs/FDC3/api/Channel.d.ts.map +1 -0
  1587. package/typedefs/FDC3/api/Channel.js +6 -0
  1588. package/typedefs/FDC3/api/Channel.js.map +1 -0
  1589. package/typedefs/FDC3/api/DesktopAgent.d.ts +181 -0
  1590. package/typedefs/FDC3/api/DesktopAgent.d.ts.map +1 -0
  1591. package/typedefs/FDC3/api/DesktopAgent.js +6 -0
  1592. package/typedefs/FDC3/api/DesktopAgent.js.map +1 -0
  1593. package/typedefs/FDC3/api/DisplayMetadata.d.ts +24 -0
  1594. package/typedefs/FDC3/api/DisplayMetadata.d.ts.map +1 -0
  1595. package/typedefs/FDC3/api/DisplayMetadata.js +6 -0
  1596. package/typedefs/FDC3/api/DisplayMetadata.js.map +1 -0
  1597. package/typedefs/FDC3/api/Errors.d.ts +21 -0
  1598. package/typedefs/FDC3/api/Errors.d.ts.map +1 -0
  1599. package/typedefs/FDC3/api/Errors.js +24 -0
  1600. package/typedefs/FDC3/api/Errors.js.map +1 -0
  1601. package/typedefs/FDC3/api/ImplementationMetadata.d.ts +18 -0
  1602. package/typedefs/FDC3/api/ImplementationMetadata.d.ts.map +1 -0
  1603. package/typedefs/FDC3/api/ImplementationMetadata.js +6 -0
  1604. package/typedefs/FDC3/api/ImplementationMetadata.js.map +1 -0
  1605. package/typedefs/FDC3/api/IntentMetadata.d.ts +14 -0
  1606. package/typedefs/FDC3/api/IntentMetadata.d.ts.map +1 -0
  1607. package/typedefs/FDC3/api/IntentMetadata.js +6 -0
  1608. package/typedefs/FDC3/api/IntentMetadata.js.map +1 -0
  1609. package/typedefs/FDC3/api/IntentResolution.d.ts +25 -0
  1610. package/typedefs/FDC3/api/IntentResolution.d.ts.map +1 -0
  1611. package/typedefs/FDC3/api/IntentResolution.js +6 -0
  1612. package/typedefs/FDC3/api/IntentResolution.js.map +1 -0
  1613. package/typedefs/FDC3/api/Listener.d.ts +11 -0
  1614. package/typedefs/FDC3/api/Listener.d.ts.map +1 -0
  1615. package/typedefs/FDC3/api/Listener.js +6 -0
  1616. package/typedefs/FDC3/api/Listener.js.map +1 -0
  1617. package/typedefs/FDC3/api/Types.d.ts +9 -0
  1618. package/typedefs/FDC3/api/Types.d.ts.map +1 -0
  1619. package/typedefs/FDC3/api/Types.js +6 -0
  1620. package/typedefs/FDC3/api/Types.js.map +1 -0
  1621. package/typedefs/FDC3/context/ContextType.d.ts +11 -0
  1622. package/typedefs/FDC3/context/ContextType.d.ts.map +1 -0
  1623. package/typedefs/FDC3/context/ContextType.js +11 -0
  1624. package/typedefs/FDC3/context/ContextType.js.map +1 -0
  1625. package/typedefs/FDC3/context/ContextTypes.d.ts +105 -0
  1626. package/typedefs/FDC3/context/ContextTypes.d.ts.map +1 -0
  1627. package/typedefs/FDC3/context/ContextTypes.js +278 -0
  1628. package/typedefs/FDC3/context/ContextTypes.js.map +1 -0
  1629. package/typedefs/FDC3/index.d.ts +19 -0
  1630. package/typedefs/FDC3/index.d.ts.map +1 -0
  1631. package/typedefs/FDC3/index.js +19 -0
  1632. package/typedefs/FDC3/index.js.map +1 -0
  1633. package/typedefs/FDC3/intents/Intents.d.ts +11 -0
  1634. package/typedefs/FDC3/intents/Intents.d.ts.map +1 -0
  1635. package/typedefs/FDC3/intents/Intents.js +12 -0
  1636. package/typedefs/FDC3/intents/Intents.js.map +1 -0
  1637. package/typedefs/index.d.ts +2 -0
  1638. package/typedefs/index.d.ts.map +1 -0
  1639. package/typedefs/index.js +3 -0
  1640. package/typedefs/index.js.map +1 -0
  1641. package/types.d.ts +22 -0
  1642. package/types.d.ts.map +1 -0
  1643. package/types.js +5 -0
  1644. package/types.js.map +1 -0
  1645. package/react/assets/css/focus.css +0 -4
  1646. package/react/componentTemplateGenerator.d.ts +0 -1
  1647. package/react/componentTemplateGenerator.js +0 -150
  1648. package/react/componentTemplateGenerator.js.map +0 -1
  1649. package/react/components/appCatalog/components/Tag.d.ts +0 -13
  1650. package/react/components/appCatalog/components/Tag.js +0 -23
  1651. package/react/components/appCatalog/components/Tag.js.map +0 -1
  1652. package/react/components/common/Accordion.d.ts +0 -11
  1653. package/react/components/common/Accordion.js +0 -20
  1654. package/react/components/common/Accordion.js.map +0 -1
  1655. package/react/components/common/ButtonTile.d.ts +0 -4
  1656. package/react/components/common/ButtonTile.js +0 -12
  1657. package/react/components/common/ButtonTile.js.map +0 -1
  1658. package/react/components/common/ColorPicker.d.ts +0 -20
  1659. package/react/components/common/ColorPicker.js +0 -92
  1660. package/react/components/common/ColorPicker.js.map +0 -1
  1661. package/react/components/common/DropZone.d.ts +0 -22
  1662. package/react/components/common/DropZone.js +0 -65
  1663. package/react/components/common/DropZone.js.map +0 -1
  1664. package/react/components/common/FileInput.d.ts +0 -30
  1665. package/react/components/common/FileInput.js +0 -123
  1666. package/react/components/common/FileInput.js.map +0 -1
  1667. package/react/components/common/FinsembleLink.d.ts +0 -6
  1668. package/react/components/common/FinsembleLink.js +0 -12
  1669. package/react/components/common/FinsembleLink.js.map +0 -1
  1670. package/react/components/common/ImagePreview.d.ts +0 -21
  1671. package/react/components/common/ImagePreview.js +0 -43
  1672. package/react/components/common/ImagePreview.js.map +0 -1
  1673. package/react/components/common/InputTable.d.ts +0 -18
  1674. package/react/components/common/InputTable.js +0 -57
  1675. package/react/components/common/InputTable.js.map +0 -1
  1676. package/react/components/common/LoadingSpinner.d.ts +0 -3
  1677. package/react/components/common/LoadingSpinner.js +0 -11
  1678. package/react/components/common/LoadingSpinner.js.map +0 -1
  1679. package/react/components/common/Tab.d.ts +0 -11
  1680. package/react/components/common/Tab.js +0 -58
  1681. package/react/components/common/Tab.js.map +0 -1
  1682. package/react/components/common/Tooltip.d.ts +0 -14
  1683. package/react/components/common/Tooltip.js +0 -30
  1684. package/react/components/common/Tooltip.js.map +0 -1
  1685. package/react/components/common/file_helpers.d.ts +0 -2
  1686. package/react/components/common/file_helpers.js +0 -22
  1687. package/react/components/common/file_helpers.js.map +0 -1
  1688. package/react/components/common/helpers.d.ts +0 -5
  1689. package/react/components/common/helpers.js +0 -136
  1690. package/react/components/common/helpers.js.map +0 -1
  1691. package/react/components/common/stories/Accordion.stories.d.ts +0 -14
  1692. package/react/components/common/stories/Accordion.stories.js +0 -42
  1693. package/react/components/common/stories/Accordion.stories.js.map +0 -1
  1694. package/react/components/common/stories/Button.stories.d.ts +0 -22
  1695. package/react/components/common/stories/Button.stories.js +0 -77
  1696. package/react/components/common/stories/Button.stories.js.map +0 -1
  1697. package/react/components/common/stories/ButtonIcon.stories.d.ts +0 -15
  1698. package/react/components/common/stories/ButtonIcon.stories.js +0 -35
  1699. package/react/components/common/stories/ButtonIcon.stories.js.map +0 -1
  1700. package/react/components/common/stories/ButtonRow.stories.d.ts +0 -14
  1701. package/react/components/common/stories/ButtonRow.stories.js +0 -39
  1702. package/react/components/common/stories/ButtonRow.stories.js.map +0 -1
  1703. package/react/components/common/stories/ButtonTile.stories.d.ts +0 -17
  1704. package/react/components/common/stories/ButtonTile.stories.js +0 -45
  1705. package/react/components/common/stories/ButtonTile.stories.js.map +0 -1
  1706. package/react/components/common/stories/Checkbox.stories.d.ts +0 -13
  1707. package/react/components/common/stories/Checkbox.stories.js +0 -29
  1708. package/react/components/common/stories/Checkbox.stories.js.map +0 -1
  1709. package/react/components/common/stories/ColorPicker.stories.d.ts +0 -13
  1710. package/react/components/common/stories/ColorPicker.stories.js +0 -29
  1711. package/react/components/common/stories/ColorPicker.stories.js.map +0 -1
  1712. package/react/components/common/stories/ContextMenu.stories.d.ts +0 -38
  1713. package/react/components/common/stories/ContextMenu.stories.js +0 -70
  1714. package/react/components/common/stories/ContextMenu.stories.js.map +0 -1
  1715. package/react/components/common/stories/DropZone.stories.d.ts +0 -11
  1716. package/react/components/common/stories/DropZone.stories.js +0 -16
  1717. package/react/components/common/stories/DropZone.stories.js.map +0 -1
  1718. package/react/components/common/stories/DropdownButton.stories.d.ts +0 -33
  1719. package/react/components/common/stories/DropdownButton.stories.js +0 -42
  1720. package/react/components/common/stories/DropdownButton.stories.js.map +0 -1
  1721. package/react/components/common/stories/FileInput.stories.d.ts +0 -18
  1722. package/react/components/common/stories/FileInput.stories.js +0 -59
  1723. package/react/components/common/stories/FileInput.stories.js.map +0 -1
  1724. package/react/components/common/stories/FinsembleIcon.stories.d.ts +0 -3
  1725. package/react/components/common/stories/FinsembleIcon.stories.js +0 -43
  1726. package/react/components/common/stories/FinsembleIcon.stories.js.map +0 -1
  1727. package/react/components/common/stories/FinsembleSelect.stories.d.ts +0 -20
  1728. package/react/components/common/stories/FinsembleSelect.stories.js +0 -188
  1729. package/react/components/common/stories/FinsembleSelect.stories.js.map +0 -1
  1730. package/react/components/common/stories/FinsembleToggle.stories.d.ts +0 -13
  1731. package/react/components/common/stories/FinsembleToggle.stories.js +0 -28
  1732. package/react/components/common/stories/FinsembleToggle.stories.js.map +0 -1
  1733. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +0 -14
  1734. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +0 -97
  1735. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +0 -1
  1736. package/react/components/common/stories/Header.stories.d.ts +0 -14
  1737. package/react/components/common/stories/Header.stories.js +0 -38
  1738. package/react/components/common/stories/Header.stories.js.map +0 -1
  1739. package/react/components/common/stories/ImagePreview.stories.d.ts +0 -16
  1740. package/react/components/common/stories/ImagePreview.stories.js +0 -55
  1741. package/react/components/common/stories/ImagePreview.stories.js.map +0 -1
  1742. package/react/components/common/stories/InputTable.stories.d.ts +0 -13
  1743. package/react/components/common/stories/InputTable.stories.js +0 -45
  1744. package/react/components/common/stories/InputTable.stories.js.map +0 -1
  1745. package/react/components/common/stories/LoadingSpinner.stories.d.ts +0 -9
  1746. package/react/components/common/stories/LoadingSpinner.stories.js +0 -10
  1747. package/react/components/common/stories/LoadingSpinner.stories.js.map +0 -1
  1748. package/react/components/common/stories/Tab.stories.d.ts +0 -12
  1749. package/react/components/common/stories/Tab.stories.js +0 -28
  1750. package/react/components/common/stories/Tab.stories.js.map +0 -1
  1751. package/react/components/common/stories/TimeSelect.stories.d.ts +0 -11
  1752. package/react/components/common/stories/TimeSelect.stories.js +0 -20
  1753. package/react/components/common/stories/TimeSelect.stories.js.map +0 -1
  1754. package/react/components/common/stories/Tooltip.stories.d.ts +0 -27
  1755. package/react/components/common/stories/Tooltip.stories.js +0 -47
  1756. package/react/components/common/stories/Tooltip.stories.js.map +0 -1
  1757. package/react/components/common/tests/Accordion.spec.d.ts +0 -1
  1758. package/react/components/common/tests/Accordion.spec.js +0 -59
  1759. package/react/components/common/tests/Accordion.spec.js.map +0 -1
  1760. package/react/components/common/tests/ButtonRow.spec.d.ts +0 -1
  1761. package/react/components/common/tests/ButtonRow.spec.js +0 -30
  1762. package/react/components/common/tests/ButtonRow.spec.js.map +0 -1
  1763. package/react/components/common/tests/Checkbox.spec.d.ts +0 -1
  1764. package/react/components/common/tests/Checkbox.spec.js +0 -34
  1765. package/react/components/common/tests/Checkbox.spec.js.map +0 -1
  1766. package/react/components/common/tests/ColorPicker.spec.d.ts +0 -1
  1767. package/react/components/common/tests/ColorPicker.spec.js +0 -96
  1768. package/react/components/common/tests/ColorPicker.spec.js.map +0 -1
  1769. package/react/components/common/tests/ContextMenu.spec.d.ts +0 -1
  1770. package/react/components/common/tests/ContextMenu.spec.js +0 -108
  1771. package/react/components/common/tests/ContextMenu.spec.js.map +0 -1
  1772. package/react/components/common/tests/DropZone.spec.d.ts +0 -1
  1773. package/react/components/common/tests/DropZone.spec.js +0 -55
  1774. package/react/components/common/tests/DropZone.spec.js.map +0 -1
  1775. package/react/components/common/tests/DropdownButton.spec.d.ts +0 -1
  1776. package/react/components/common/tests/DropdownButton.spec.js +0 -32
  1777. package/react/components/common/tests/DropdownButton.spec.js.map +0 -1
  1778. package/react/components/common/tests/FileInput.spec.d.ts +0 -1
  1779. package/react/components/common/tests/FileInput.spec.js +0 -72
  1780. package/react/components/common/tests/FileInput.spec.js.map +0 -1
  1781. package/react/components/common/tests/FinsembleSelect.spec.d.ts +0 -1
  1782. package/react/components/common/tests/FinsembleSelect.spec.js +0 -89
  1783. package/react/components/common/tests/FinsembleSelect.spec.js.map +0 -1
  1784. package/react/components/common/tests/FinsembleToggle.spec.d.ts +0 -1
  1785. package/react/components/common/tests/FinsembleToggle.spec.js +0 -29
  1786. package/react/components/common/tests/FinsembleToggle.spec.js.map +0 -1
  1787. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +0 -1
  1788. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +0 -41
  1789. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +0 -1
  1790. package/react/components/common/tests/Header.spec.d.ts +0 -1
  1791. package/react/components/common/tests/Header.spec.js +0 -24
  1792. package/react/components/common/tests/Header.spec.js.map +0 -1
  1793. package/react/components/common/tests/ImagePreview.spec.d.ts +0 -1
  1794. package/react/components/common/tests/ImagePreview.spec.js +0 -46
  1795. package/react/components/common/tests/ImagePreview.spec.js.map +0 -1
  1796. package/react/components/common/tests/InputTable.spec.d.ts +0 -1
  1797. package/react/components/common/tests/InputTable.spec.js +0 -166
  1798. package/react/components/common/tests/InputTable.spec.js.map +0 -1
  1799. package/react/components/common/tests/Tab.spec.d.ts +0 -1
  1800. package/react/components/common/tests/Tab.spec.js +0 -25
  1801. package/react/components/common/tests/Tab.spec.js.map +0 -1
  1802. package/react/components/common/tests/TimeSelect.spec.d.ts +0 -1
  1803. package/react/components/common/tests/TimeSelect.spec.js +0 -75
  1804. package/react/components/common/tests/TimeSelect.spec.js.map +0 -1
  1805. package/react/components/common/tests/Tooltip.spec.d.ts +0 -1
  1806. package/react/components/common/tests/Tooltip.spec.js +0 -50
  1807. package/react/components/common/tests/Tooltip.spec.js.map +0 -1
  1808. package/react/components/favorites/FavoritesShell.spec.d.ts +0 -1
  1809. package/react/components/favorites/FavoritesShell.spec.js +0 -64
  1810. package/react/components/favorites/FavoritesShell.spec.js.map +0 -1
  1811. package/react/components/favorites/FavoritesShell.stories.d.ts +0 -9
  1812. package/react/components/favorites/FavoritesShell.stories.js +0 -46
  1813. package/react/components/favorites/FavoritesShell.stories.js.map +0 -1
  1814. package/react/components/favorites/index.d.ts +0 -2
  1815. package/react/components/favorites/index.js +0 -3
  1816. package/react/components/favorites/index.js.map +0 -1
  1817. package/react/components/fdc3Resolver/ResolverDialog.spec.d.ts +0 -1
  1818. package/react/components/fdc3Resolver/ResolverDialog.spec.js +0 -52
  1819. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +0 -1
  1820. package/react/components/fdc3Resolver/ResolverDialog.stories.d.ts +0 -13
  1821. package/react/components/fdc3Resolver/ResolverDialog.stories.js +0 -175
  1822. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +0 -1
  1823. package/react/components/legacyControls/FinsembleMenuSection.d.ts +0 -17
  1824. package/react/components/legacyControls/FinsembleMenuSection.js +0 -123
  1825. package/react/components/legacyControls/FinsembleMenuSection.js.map +0 -1
  1826. package/react/components/legacyControls/stories/FinsembleDialog.stories.d.ts +0 -10
  1827. package/react/components/legacyControls/stories/FinsembleDialog.stories.js +0 -21
  1828. package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +0 -1
  1829. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.d.ts +0 -18
  1830. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js +0 -37
  1831. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +0 -1
  1832. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.d.ts +0 -14
  1833. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js +0 -15
  1834. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +0 -1
  1835. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.d.ts +0 -16
  1836. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js +0 -51
  1837. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +0 -1
  1838. package/react/components/legacyControls/tests/FinsembleDialog.spec.d.ts +0 -1
  1839. package/react/components/legacyControls/tests/FinsembleDialog.spec.js +0 -12
  1840. package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +0 -1
  1841. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.d.ts +0 -1
  1842. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +0 -39
  1843. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +0 -1
  1844. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.d.ts +0 -1
  1845. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js +0 -19
  1846. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +0 -1
  1847. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.d.ts +0 -1
  1848. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +0 -83
  1849. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +0 -1
  1850. package/react/components/notifications/icons/Card.d.ts +0 -2
  1851. package/react/components/notifications/icons/Card.js +0 -11
  1852. package/react/components/notifications/icons/Card.js.map +0 -1
  1853. package/react/components/notifications/icons/Chevron.d.ts +0 -2
  1854. package/react/components/notifications/icons/Chevron.js +0 -14
  1855. package/react/components/notifications/icons/Chevron.js.map +0 -1
  1856. package/react/components/notifications/icons/CloseIcon.d.ts +0 -2
  1857. package/react/components/notifications/icons/CloseIcon.js +0 -10
  1858. package/react/components/notifications/icons/CloseIcon.js.map +0 -1
  1859. package/react/components/notifications/stories/NotificationCardShell.stories.d.ts +0 -14
  1860. package/react/components/notifications/stories/NotificationCardShell.stories.js +0 -108
  1861. package/react/components/notifications/stories/NotificationCardShell.stories.js.map +0 -1
  1862. package/react/components/notifications/tests/NotificationCardShell.spec.d.ts +0 -1
  1863. package/react/components/notifications/tests/NotificationCardShell.spec.js +0 -91
  1864. package/react/components/notifications/tests/NotificationCardShell.spec.js.map +0 -1
  1865. package/react/components/processMonitor/helpers.spec.d.ts +0 -1
  1866. package/react/components/processMonitor/helpers.spec.js +0 -48
  1867. package/react/components/processMonitor/helpers.spec.js.map +0 -1
  1868. package/react/components/sdd/AddApp.d.ts +0 -17
  1869. package/react/components/sdd/AddApp.js +0 -178
  1870. package/react/components/sdd/AddApp.js.map +0 -1
  1871. package/react/components/sdd/AppEditAccess.d.ts +0 -16
  1872. package/react/components/sdd/AppEditAccess.js +0 -130
  1873. package/react/components/sdd/AppEditAccess.js.map +0 -1
  1874. package/react/components/sdd/AppEditPage.d.ts +0 -26
  1875. package/react/components/sdd/AppEditPage.js +0 -421
  1876. package/react/components/sdd/AppEditPage.js.map +0 -1
  1877. package/react/components/sdd/Appearance.d.ts +0 -18
  1878. package/react/components/sdd/Appearance.js +0 -64
  1879. package/react/components/sdd/Appearance.js.map +0 -1
  1880. package/react/components/sdd/Application.d.ts +0 -37
  1881. package/react/components/sdd/Application.js +0 -269
  1882. package/react/components/sdd/Application.js.map +0 -1
  1883. package/react/components/sdd/Applications.d.ts +0 -20
  1884. package/react/components/sdd/Applications.js +0 -281
  1885. package/react/components/sdd/Applications.js.map +0 -1
  1886. package/react/components/sdd/AssetsPage.d.ts +0 -15
  1887. package/react/components/sdd/AssetsPage.js +0 -59
  1888. package/react/components/sdd/AssetsPage.js.map +0 -1
  1889. package/react/components/sdd/Authentication.d.ts +0 -9
  1890. package/react/components/sdd/Authentication.js +0 -61
  1891. package/react/components/sdd/Authentication.js.map +0 -1
  1892. package/react/components/sdd/AuthenticationProviderConfig.d.ts +0 -9
  1893. package/react/components/sdd/AuthenticationProviderConfig.js +0 -90
  1894. package/react/components/sdd/AuthenticationProviderConfig.js.map +0 -1
  1895. package/react/components/sdd/Content.d.ts +0 -8
  1896. package/react/components/sdd/Content.js +0 -7
  1897. package/react/components/sdd/Content.js.map +0 -1
  1898. package/react/components/sdd/ContentHeader.d.ts +0 -5
  1899. package/react/components/sdd/ContentHeader.js +0 -10
  1900. package/react/components/sdd/ContentHeader.js.map +0 -1
  1901. package/react/components/sdd/CurrentView.d.ts +0 -11
  1902. package/react/components/sdd/CurrentView.js +0 -14
  1903. package/react/components/sdd/CurrentView.js.map +0 -1
  1904. package/react/components/sdd/EditPreload.d.ts +0 -13
  1905. package/react/components/sdd/EditPreload.js +0 -183
  1906. package/react/components/sdd/EditPreload.js.map +0 -1
  1907. package/react/components/sdd/Export.d.ts +0 -17
  1908. package/react/components/sdd/Export.js +0 -65
  1909. package/react/components/sdd/Export.js.map +0 -1
  1910. package/react/components/sdd/ExportCloud.d.ts +0 -6
  1911. package/react/components/sdd/ExportCloud.js +0 -38
  1912. package/react/components/sdd/ExportCloud.js.map +0 -1
  1913. package/react/components/sdd/ExportDeployInfo.d.ts +0 -2
  1914. package/react/components/sdd/ExportDeployInfo.js +0 -18
  1915. package/react/components/sdd/ExportDeployInfo.js.map +0 -1
  1916. package/react/components/sdd/ExportZip.d.ts +0 -6
  1917. package/react/components/sdd/ExportZip.js +0 -48
  1918. package/react/components/sdd/ExportZip.js.map +0 -1
  1919. package/react/components/sdd/ItemList.d.ts +0 -17
  1920. package/react/components/sdd/ItemList.js +0 -58
  1921. package/react/components/sdd/ItemList.js.map +0 -1
  1922. package/react/components/sdd/Navigation.d.ts +0 -11
  1923. package/react/components/sdd/Navigation.js +0 -59
  1924. package/react/components/sdd/Navigation.js.map +0 -1
  1925. package/react/components/sdd/OptionalSettingsView.d.ts +0 -10
  1926. package/react/components/sdd/OptionalSettingsView.js +0 -48
  1927. package/react/components/sdd/OptionalSettingsView.js.map +0 -1
  1928. package/react/components/sdd/Preloads.d.ts +0 -6
  1929. package/react/components/sdd/Preloads.js +0 -24
  1930. package/react/components/sdd/Preloads.js.map +0 -1
  1931. package/react/components/sdd/ProjectErrors.d.ts +0 -11
  1932. package/react/components/sdd/ProjectErrors.js +0 -25
  1933. package/react/components/sdd/ProjectErrors.js.map +0 -1
  1934. package/react/components/sdd/Publish.d.ts +0 -8
  1935. package/react/components/sdd/Publish.js +0 -112
  1936. package/react/components/sdd/Publish.js.map +0 -1
  1937. package/react/components/sdd/PublishProgress.d.ts +0 -9
  1938. package/react/components/sdd/PublishProgress.js +0 -24
  1939. package/react/components/sdd/PublishProgress.js.map +0 -1
  1940. package/react/components/sdd/SmartDesktopDesigner.d.ts +0 -30
  1941. package/react/components/sdd/SmartDesktopDesigner.js +0 -146
  1942. package/react/components/sdd/SmartDesktopDesigner.js.map +0 -1
  1943. package/react/components/sdd/ThemePage.d.ts +0 -14
  1944. package/react/components/sdd/ThemePage.js +0 -106
  1945. package/react/components/sdd/ThemePage.js.map +0 -1
  1946. package/react/components/sdd/Themes.d.ts +0 -22
  1947. package/react/components/sdd/Themes.js +0 -15
  1948. package/react/components/sdd/Themes.js.map +0 -1
  1949. package/react/components/sdd/Toolbar.d.ts +0 -16
  1950. package/react/components/sdd/Toolbar.js +0 -134
  1951. package/react/components/sdd/Toolbar.js.map +0 -1
  1952. package/react/components/sdd/View.d.ts +0 -8
  1953. package/react/components/sdd/View.js +0 -7
  1954. package/react/components/sdd/View.js.map +0 -1
  1955. package/react/components/sdd/appEditPage/Behavior.d.ts +0 -34
  1956. package/react/components/sdd/appEditPage/Behavior.js +0 -134
  1957. package/react/components/sdd/appEditPage/Behavior.js.map +0 -1
  1958. package/react/components/sdd/appEditPage/Component.d.ts +0 -22
  1959. package/react/components/sdd/appEditPage/Component.js +0 -76
  1960. package/react/components/sdd/appEditPage/Component.js.map +0 -1
  1961. package/react/components/sdd/appEditPage/DebugToolkit.d.ts +0 -9
  1962. package/react/components/sdd/appEditPage/DebugToolkit.js +0 -20
  1963. package/react/components/sdd/appEditPage/DebugToolkit.js.map +0 -1
  1964. package/react/components/sdd/appEditPage/Interop.d.ts +0 -10
  1965. package/react/components/sdd/appEditPage/Interop.js +0 -40
  1966. package/react/components/sdd/appEditPage/Interop.js.map +0 -1
  1967. package/react/components/sdd/appEditPage/Position.d.ts +0 -18
  1968. package/react/components/sdd/appEditPage/Position.js +0 -72
  1969. package/react/components/sdd/appEditPage/Position.js.map +0 -1
  1970. package/react/components/sdd/appEditPage/Preloads.d.ts +0 -9
  1971. package/react/components/sdd/appEditPage/Preloads.js +0 -16
  1972. package/react/components/sdd/appEditPage/Preloads.js.map +0 -1
  1973. package/react/components/sdd/appEditPage/SelectConnect.d.ts +0 -15
  1974. package/react/components/sdd/appEditPage/SelectConnect.js +0 -28
  1975. package/react/components/sdd/appEditPage/SelectConnect.js.map +0 -1
  1976. package/react/components/sdd/appEditPage/Workspace.d.ts +0 -12
  1977. package/react/components/sdd/appEditPage/Workspace.js +0 -30
  1978. package/react/components/sdd/appEditPage/Workspace.js.map +0 -1
  1979. package/react/components/sdd/common/fsbl_functions.d.ts +0 -2
  1980. package/react/components/sdd/common/fsbl_functions.js +0 -17
  1981. package/react/components/sdd/common/fsbl_functions.js.map +0 -1
  1982. package/react/components/sdd/common/getCSSVars.d.ts +0 -1
  1983. package/react/components/sdd/common/getCSSVars.js +0 -15
  1984. package/react/components/sdd/common/getCSSVars.js.map +0 -1
  1985. package/react/components/sdd/common/setPreloadDefaults.d.ts +0 -1
  1986. package/react/components/sdd/common/setPreloadDefaults.js +0 -26
  1987. package/react/components/sdd/common/setPreloadDefaults.js.map +0 -1
  1988. package/react/components/sdd/common/views.d.ts +0 -3
  1989. package/react/components/sdd/common/views.js +0 -190
  1990. package/react/components/sdd/common/views.js.map +0 -1
  1991. package/react/components/sdd/fixtures/apps.d.ts +0 -9
  1992. package/react/components/sdd/fixtures/apps.js +0 -383
  1993. package/react/components/sdd/fixtures/apps.js.map +0 -1
  1994. package/react/components/sdd/fixtures/authenticationProps.d.ts +0 -2
  1995. package/react/components/sdd/fixtures/authenticationProps.js +0 -23
  1996. package/react/components/sdd/fixtures/authenticationProps.js.map +0 -1
  1997. package/react/components/sdd/fixtures/configTemplate.d.ts +0 -44
  1998. package/react/components/sdd/fixtures/configTemplate.js +0 -54
  1999. package/react/components/sdd/fixtures/configTemplate.js.map +0 -1
  2000. package/react/components/sdd/fixtures/exportProps.d.ts +0 -2
  2001. package/react/components/sdd/fixtures/exportProps.js +0 -34
  2002. package/react/components/sdd/fixtures/exportProps.js.map +0 -1
  2003. package/react/components/sdd/fixtures/preloads.d.ts +0 -3
  2004. package/react/components/sdd/fixtures/preloads.js +0 -59
  2005. package/react/components/sdd/fixtures/preloads.js.map +0 -1
  2006. package/react/components/sdd/fixtures/projectErrorsProps.d.ts +0 -3
  2007. package/react/components/sdd/fixtures/projectErrorsProps.js +0 -13
  2008. package/react/components/sdd/fixtures/projectErrorsProps.js.map +0 -1
  2009. package/react/components/sdd/fixtures/publishProgress.d.ts +0 -7
  2010. package/react/components/sdd/fixtures/publishProgress.js +0 -358
  2011. package/react/components/sdd/fixtures/publishProgress.js.map +0 -1
  2012. package/react/components/sdd/fixtures/themeProps.d.ts +0 -26
  2013. package/react/components/sdd/fixtures/themeProps.js +0 -18
  2014. package/react/components/sdd/fixtures/themeProps.js.map +0 -1
  2015. package/react/components/sdd/fixtures/views.d.ts +0 -3
  2016. package/react/components/sdd/fixtures/views.js +0 -74
  2017. package/react/components/sdd/fixtures/views.js.map +0 -1
  2018. package/react/components/sdd/sdd_helpers.d.ts +0 -20
  2019. package/react/components/sdd/sdd_helpers.js +0 -36
  2020. package/react/components/sdd/sdd_helpers.js.map +0 -1
  2021. package/react/components/sdd/smartDesktopClient.d.ts +0 -466
  2022. package/react/components/sdd/smartDesktopClient.js +0 -906
  2023. package/react/components/sdd/smartDesktopClient.js.map +0 -1
  2024. package/react/components/sdd/smartDesktopClient.spec.d.ts +0 -1
  2025. package/react/components/sdd/smartDesktopClient.spec.js +0 -64
  2026. package/react/components/sdd/smartDesktopClient.spec.js.map +0 -1
  2027. package/react/components/sdd/stories/AddApp.stories.d.ts +0 -11
  2028. package/react/components/sdd/stories/AddApp.stories.js +0 -26
  2029. package/react/components/sdd/stories/AddApp.stories.js.map +0 -1
  2030. package/react/components/sdd/stories/AppEditPage.stories.d.ts +0 -17
  2031. package/react/components/sdd/stories/AppEditPage.stories.js +0 -40
  2032. package/react/components/sdd/stories/AppEditPage.stories.js.map +0 -1
  2033. package/react/components/sdd/stories/Appearance.stories.d.ts +0 -10
  2034. package/react/components/sdd/stories/Appearance.stories.js +0 -27
  2035. package/react/components/sdd/stories/Appearance.stories.js.map +0 -1
  2036. package/react/components/sdd/stories/Applications.stories.d.ts +0 -14
  2037. package/react/components/sdd/stories/Applications.stories.js +0 -38
  2038. package/react/components/sdd/stories/Applications.stories.js.map +0 -1
  2039. package/react/components/sdd/stories/AssetsPage.stories.d.ts +0 -10
  2040. package/react/components/sdd/stories/AssetsPage.stories.js +0 -16
  2041. package/react/components/sdd/stories/AssetsPage.stories.js.map +0 -1
  2042. package/react/components/sdd/stories/Authentication.stories.d.ts +0 -13
  2043. package/react/components/sdd/stories/Authentication.stories.js +0 -25
  2044. package/react/components/sdd/stories/Authentication.stories.js.map +0 -1
  2045. package/react/components/sdd/stories/ContentHeader.stories.d.ts +0 -10
  2046. package/react/components/sdd/stories/ContentHeader.stories.js +0 -13
  2047. package/react/components/sdd/stories/ContentHeader.stories.js.map +0 -1
  2048. package/react/components/sdd/stories/Export.stories.d.ts +0 -11
  2049. package/react/components/sdd/stories/Export.stories.js +0 -19
  2050. package/react/components/sdd/stories/Export.stories.js.map +0 -1
  2051. package/react/components/sdd/stories/ExportCloud.stories.d.ts +0 -11
  2052. package/react/components/sdd/stories/ExportCloud.stories.js +0 -19
  2053. package/react/components/sdd/stories/ExportCloud.stories.js.map +0 -1
  2054. package/react/components/sdd/stories/ExportZip.stories.d.ts +0 -12
  2055. package/react/components/sdd/stories/ExportZip.stories.js +0 -26
  2056. package/react/components/sdd/stories/ExportZip.stories.js.map +0 -1
  2057. package/react/components/sdd/stories/ItemList.stories.d.ts +0 -16
  2058. package/react/components/sdd/stories/ItemList.stories.js +0 -94
  2059. package/react/components/sdd/stories/ItemList.stories.js.map +0 -1
  2060. package/react/components/sdd/stories/Navigation.stories.d.ts +0 -11
  2061. package/react/components/sdd/stories/Navigation.stories.js +0 -22
  2062. package/react/components/sdd/stories/Navigation.stories.js.map +0 -1
  2063. package/react/components/sdd/stories/OptionalSettingsView.stories.d.ts +0 -12
  2064. package/react/components/sdd/stories/OptionalSettingsView.stories.js +0 -27
  2065. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +0 -1
  2066. package/react/components/sdd/stories/ProjectErrors.stories.d.ts +0 -11
  2067. package/react/components/sdd/stories/ProjectErrors.stories.js +0 -19
  2068. package/react/components/sdd/stories/ProjectErrors.stories.js.map +0 -1
  2069. package/react/components/sdd/stories/Publish.stories.d.ts +0 -16
  2070. package/react/components/sdd/stories/Publish.stories.js +0 -53
  2071. package/react/components/sdd/stories/Publish.stories.js.map +0 -1
  2072. package/react/components/sdd/stories/PublishProgress.stories.d.ts +0 -14
  2073. package/react/components/sdd/stories/PublishProgress.stories.js +0 -26
  2074. package/react/components/sdd/stories/PublishProgress.stories.js.map +0 -1
  2075. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +0 -10
  2076. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +0 -65
  2077. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +0 -1
  2078. package/react/components/sdd/stories/ThemePage.stories.d.ts +0 -10
  2079. package/react/components/sdd/stories/ThemePage.stories.js +0 -16
  2080. package/react/components/sdd/stories/ThemePage.stories.js.map +0 -1
  2081. package/react/components/sdd/stories/Themes.stories.d.ts +0 -10
  2082. package/react/components/sdd/stories/Themes.stories.js +0 -28
  2083. package/react/components/sdd/stories/Themes.stories.js.map +0 -1
  2084. package/react/components/sdd/stories/Toolbar.stories.d.ts +0 -14
  2085. package/react/components/sdd/stories/Toolbar.stories.js +0 -38
  2086. package/react/components/sdd/stories/Toolbar.stories.js.map +0 -1
  2087. package/react/components/sdd/tests/AddApp.spec.d.ts +0 -1
  2088. package/react/components/sdd/tests/AddApp.spec.js +0 -239
  2089. package/react/components/sdd/tests/AddApp.spec.js.map +0 -1
  2090. package/react/components/sdd/tests/AppEditPage.spec.d.ts +0 -1
  2091. package/react/components/sdd/tests/AppEditPage.spec.js +0 -1348
  2092. package/react/components/sdd/tests/AppEditPage.spec.js.map +0 -1
  2093. package/react/components/sdd/tests/Application.spec.d.ts +0 -1
  2094. package/react/components/sdd/tests/Application.spec.js +0 -1460
  2095. package/react/components/sdd/tests/Application.spec.js.map +0 -1
  2096. package/react/components/sdd/tests/Applications.spec.d.ts +0 -1
  2097. package/react/components/sdd/tests/Applications.spec.js +0 -165
  2098. package/react/components/sdd/tests/Applications.spec.js.map +0 -1
  2099. package/react/components/sdd/tests/Authentication.spec.d.ts +0 -1
  2100. package/react/components/sdd/tests/Authentication.spec.js +0 -118
  2101. package/react/components/sdd/tests/Authentication.spec.js.map +0 -1
  2102. package/react/components/sdd/tests/ContentHeader.spec.d.ts +0 -1
  2103. package/react/components/sdd/tests/ContentHeader.spec.js +0 -33
  2104. package/react/components/sdd/tests/ContentHeader.spec.js.map +0 -1
  2105. package/react/components/sdd/tests/EditPreload.spec.d.ts +0 -1
  2106. package/react/components/sdd/tests/EditPreload.spec.js +0 -126
  2107. package/react/components/sdd/tests/EditPreload.spec.js.map +0 -1
  2108. package/react/components/sdd/tests/Export.spec.d.ts +0 -1
  2109. package/react/components/sdd/tests/Export.spec.js +0 -190
  2110. package/react/components/sdd/tests/Export.spec.js.map +0 -1
  2111. package/react/components/sdd/tests/ExportZip.spec.d.ts +0 -1
  2112. package/react/components/sdd/tests/ExportZip.spec.js +0 -32
  2113. package/react/components/sdd/tests/ExportZip.spec.js.map +0 -1
  2114. package/react/components/sdd/tests/ItemList.spec.d.ts +0 -1
  2115. package/react/components/sdd/tests/ItemList.spec.js +0 -98
  2116. package/react/components/sdd/tests/ItemList.spec.js.map +0 -1
  2117. package/react/components/sdd/tests/Navigation.spec.d.ts +0 -1
  2118. package/react/components/sdd/tests/Navigation.spec.js +0 -26
  2119. package/react/components/sdd/tests/Navigation.spec.js.map +0 -1
  2120. package/react/components/sdd/tests/OptionalSettingsView.spec.d.ts +0 -1
  2121. package/react/components/sdd/tests/OptionalSettingsView.spec.js +0 -299
  2122. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +0 -1
  2123. package/react/components/sdd/tests/ProjectErrors.spec.d.ts +0 -1
  2124. package/react/components/sdd/tests/ProjectErrors.spec.js +0 -46
  2125. package/react/components/sdd/tests/ProjectErrors.spec.js.map +0 -1
  2126. package/react/components/sdd/tests/Publish.spec.d.ts +0 -1
  2127. package/react/components/sdd/tests/Publish.spec.js +0 -31
  2128. package/react/components/sdd/tests/Publish.spec.js.map +0 -1
  2129. package/react/components/sdd/tests/PublishProgess.spec.d.ts +0 -1
  2130. package/react/components/sdd/tests/PublishProgess.spec.js +0 -17
  2131. package/react/components/sdd/tests/PublishProgess.spec.js.map +0 -1
  2132. package/react/components/sdd/tests/SmartDesktopDesigner.spec.d.ts +0 -1
  2133. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +0 -57
  2134. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +0 -1
  2135. package/react/components/sdd/tests/Themes.spec.d.ts +0 -1
  2136. package/react/components/sdd/tests/Themes.spec.js +0 -52
  2137. package/react/components/sdd/tests/Themes.spec.js.map +0 -1
  2138. package/react/components/sdd/tests/Toolbar.spec.d.ts +0 -1
  2139. package/react/components/sdd/tests/Toolbar.spec.js +0 -256
  2140. package/react/components/sdd/tests/Toolbar.spec.js.map +0 -1
  2141. package/react/components/sdd/tests/a11y_helper.d.ts +0 -2
  2142. package/react/components/sdd/tests/a11y_helper.js +0 -32
  2143. package/react/components/sdd/tests/a11y_helper.js.map +0 -1
  2144. package/react/components/sdd/tests/sdd_helpers.spec.d.ts +0 -1
  2145. package/react/components/sdd/tests/sdd_helpers.spec.js +0 -18
  2146. package/react/components/sdd/tests/sdd_helpers.spec.js.map +0 -1
  2147. package/react/components/sdd/themeDefinitions.d.ts +0 -50
  2148. package/react/components/sdd/themeDefinitions.js +0 -51
  2149. package/react/components/sdd/themeDefinitions.js.map +0 -1
  2150. package/react/components/search/Highlight.spec.d.ts +0 -1
  2151. package/react/components/search/Highlight.spec.js +0 -22
  2152. package/react/components/search/Highlight.spec.js.map +0 -1
  2153. package/react/components/search/Highlight.stories.d.ts +0 -15
  2154. package/react/components/search/Highlight.stories.js +0 -39
  2155. package/react/components/search/Highlight.stories.js.map +0 -1
  2156. package/react/components/search/SearchResult.spec.d.ts +0 -1
  2157. package/react/components/search/SearchResult.spec.js +0 -46
  2158. package/react/components/search/SearchResult.spec.js.map +0 -1
  2159. package/react/components/search/SearchResult.stories.d.ts +0 -16
  2160. package/react/components/search/SearchResult.stories.js +0 -113
  2161. package/react/components/search/SearchResult.stories.js.map +0 -1
  2162. package/react/components/search/SearchResults.spec.d.ts +0 -1
  2163. package/react/components/search/SearchResults.spec.js +0 -35
  2164. package/react/components/search/SearchResults.spec.js.map +0 -1
  2165. package/react/components/search/SearchResults.stories.d.ts +0 -11
  2166. package/react/components/search/SearchResults.stories.js +0 -458
  2167. package/react/components/search/SearchResults.stories.js.map +0 -1
  2168. package/react/components/shared/Animate.d.ts +0 -15
  2169. package/react/components/shared/Animate.js +0 -36
  2170. package/react/components/shared/Animate.js.map +0 -1
  2171. package/react/components/shared/NavigationButton.d.ts +0 -10
  2172. package/react/components/shared/NavigationButton.js +0 -13
  2173. package/react/components/shared/NavigationButton.js.map +0 -1
  2174. package/react/components/shared/tests/DefaultDropdownButton.spec.d.ts +0 -1
  2175. package/react/components/shared/tests/DefaultDropdownButton.spec.js +0 -75
  2176. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +0 -1
  2177. package/react/components/shared/tests/addProtocolToValidURL.spec.d.ts +0 -1
  2178. package/react/components/shared/tests/addProtocolToValidURL.spec.js +0 -20
  2179. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +0 -1
  2180. package/react/components/shared/validateURL.spec.d.ts +0 -1
  2181. package/react/components/shared/validateURL.spec.js +0 -25
  2182. package/react/components/shared/validateURL.spec.js.map +0 -1
  2183. package/react/components/singleInputDialog/SingleInputDialog.spec.d.ts +0 -1
  2184. package/react/components/singleInputDialog/SingleInputDialog.spec.js +0 -38
  2185. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +0 -1
  2186. package/react/components/singleInputDialog/SingleInputDialog.stories.d.ts +0 -15
  2187. package/react/components/singleInputDialog/SingleInputDialog.stories.js +0 -65
  2188. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +0 -1
  2189. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -2
  2190. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +0 -9
  2191. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +0 -1
  2192. package/react/components/smartDesktopDesigner/common/views.d.ts +0 -3
  2193. package/react/components/smartDesktopDesigner/common/views.js +0 -2
  2194. package/react/components/smartDesktopDesigner/common/views.js.map +0 -1
  2195. package/react/components/system/System.spec.d.ts +0 -1
  2196. package/react/components/system/System.spec.js +0 -21
  2197. package/react/components/system/System.spec.js.map +0 -1
  2198. package/react/components/system/System.stories.d.ts +0 -9
  2199. package/react/components/system/System.stories.js +0 -42
  2200. package/react/components/system/System.stories.js.map +0 -1
  2201. package/react/components/toolbar/AutoArrange.spec.d.ts +0 -1
  2202. package/react/components/toolbar/AutoArrange.spec.js +0 -54
  2203. package/react/components/toolbar/AutoArrange.spec.js.map +0 -1
  2204. package/react/components/toolbar/AutoArrange.stories.d.ts +0 -11
  2205. package/react/components/toolbar/AutoArrange.stories.js +0 -22
  2206. package/react/components/toolbar/AutoArrange.stories.js.map +0 -1
  2207. package/react/components/toolbar/DragHandle.spec.d.ts +0 -1
  2208. package/react/components/toolbar/DragHandle.spec.js +0 -32
  2209. package/react/components/toolbar/DragHandle.spec.js.map +0 -1
  2210. package/react/components/toolbar/DragHandle.stories.d.ts +0 -13
  2211. package/react/components/toolbar/DragHandle.stories.js +0 -40
  2212. package/react/components/toolbar/DragHandle.stories.js.map +0 -1
  2213. package/react/components/toolbar/MinimizeAll.spec.d.ts +0 -1
  2214. package/react/components/toolbar/MinimizeAll.spec.js +0 -49
  2215. package/react/components/toolbar/MinimizeAll.spec.js.map +0 -1
  2216. package/react/components/toolbar/MinimizeAll.stories.d.ts +0 -11
  2217. package/react/components/toolbar/MinimizeAll.stories.js +0 -22
  2218. package/react/components/toolbar/MinimizeAll.stories.js.map +0 -1
  2219. package/react/components/toolbar/RevealAll.spec.d.ts +0 -1
  2220. package/react/components/toolbar/RevealAll.spec.js +0 -49
  2221. package/react/components/toolbar/RevealAll.spec.js.map +0 -1
  2222. package/react/components/toolbar/RevealAll.stories.d.ts +0 -11
  2223. package/react/components/toolbar/RevealAll.stories.js +0 -22
  2224. package/react/components/toolbar/RevealAll.stories.js.map +0 -1
  2225. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +0 -29
  2226. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +0 -51
  2227. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +0 -1
  2228. package/react/components/userPreferences/stories/DashbarEditor.stories.d.ts +0 -10
  2229. package/react/components/userPreferences/stories/DashbarEditor.stories.js +0 -42
  2230. package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +0 -1
  2231. package/react/components/userPreferences/stories/DashbarEditorItem.stories.d.ts +0 -11
  2232. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +0 -21
  2233. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +0 -1
  2234. package/react/components/userPreferences/stories/General.stories.d.ts +0 -13
  2235. package/react/components/userPreferences/stories/General.stories.js +0 -16
  2236. package/react/components/userPreferences/stories/General.stories.js.map +0 -1
  2237. package/react/components/userPreferences/stories/Notifications.stories.d.ts +0 -9
  2238. package/react/components/userPreferences/stories/Notifications.stories.js +0 -17
  2239. package/react/components/userPreferences/stories/Notifications.stories.js.map +0 -1
  2240. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.d.ts +0 -9
  2241. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +0 -20
  2242. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +0 -1
  2243. package/react/components/userPreferences/stories/NotificationsSources.stories.d.ts +0 -12
  2244. package/react/components/userPreferences/stories/NotificationsSources.stories.js +0 -28
  2245. package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +0 -1
  2246. package/react/components/userPreferences/stories/ScheduledClose.stories.d.ts +0 -12
  2247. package/react/components/userPreferences/stories/ScheduledClose.stories.js +0 -53
  2248. package/react/components/userPreferences/stories/ScheduledClose.stories.js.map +0 -1
  2249. package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +0 -8
  2250. package/react/components/userPreferences/stories/UserPreferences.stories.js +0 -53
  2251. package/react/components/userPreferences/stories/UserPreferences.stories.js.map +0 -1
  2252. package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +0 -11
  2253. package/react/components/userPreferences/stories/WorkspaceButton.stories.js +0 -20
  2254. package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +0 -1
  2255. package/react/components/userPreferences/stories/WorkspaceComponents.stories.d.ts +0 -13
  2256. package/react/components/userPreferences/stories/WorkspaceComponents.stories.js +0 -26
  2257. package/react/components/userPreferences/stories/WorkspaceComponents.stories.js.map +0 -1
  2258. package/react/components/userPreferences/stories/WorkspaceItem.stories.d.ts +0 -9
  2259. package/react/components/userPreferences/stories/WorkspaceItem.stories.js +0 -30
  2260. package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +0 -1
  2261. package/react/components/userPreferences/stories/WorkspaceItemList.stories.d.ts +0 -10
  2262. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js +0 -57
  2263. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +0 -1
  2264. package/react/components/userPreferences/stories/Workspaces.stories.d.ts +0 -9
  2265. package/react/components/userPreferences/stories/Workspaces.stories.js +0 -44
  2266. package/react/components/userPreferences/stories/Workspaces.stories.js.map +0 -1
  2267. package/react/components/userPreferences/tests/ContentSection.spec.d.ts +0 -1
  2268. package/react/components/userPreferences/tests/ContentSection.spec.js +0 -41
  2269. package/react/components/userPreferences/tests/ContentSection.spec.js.map +0 -1
  2270. package/react/components/userPreferences/tests/DashbarEditor.spec.d.ts +0 -1
  2271. package/react/components/userPreferences/tests/DashbarEditor.spec.js +0 -37
  2272. package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +0 -1
  2273. package/react/components/userPreferences/tests/DashbarEditorItem.spec.d.ts +0 -1
  2274. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js +0 -38
  2275. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +0 -1
  2276. package/react/components/userPreferences/tests/General.spec.d.ts +0 -1
  2277. package/react/components/userPreferences/tests/General.spec.js +0 -15
  2278. package/react/components/userPreferences/tests/General.spec.js.map +0 -1
  2279. package/react/components/userPreferences/tests/LeftNav.spec.d.ts +0 -1
  2280. package/react/components/userPreferences/tests/LeftNav.spec.js +0 -26
  2281. package/react/components/userPreferences/tests/LeftNav.spec.js.map +0 -1
  2282. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.d.ts +0 -1
  2283. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js +0 -14
  2284. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +0 -1
  2285. package/react/components/userPreferences/tests/Notifications.spec.d.ts +0 -1
  2286. package/react/components/userPreferences/tests/Notifications.spec.js +0 -17
  2287. package/react/components/userPreferences/tests/Notifications.spec.js.map +0 -1
  2288. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.d.ts +0 -1
  2289. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +0 -43
  2290. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +0 -1
  2291. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.d.ts +0 -1
  2292. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js +0 -22
  2293. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +0 -1
  2294. package/react/components/userPreferences/tests/ScheduledClose.spec.d.ts +0 -1
  2295. package/react/components/userPreferences/tests/ScheduledClose.spec.js +0 -47
  2296. package/react/components/userPreferences/tests/ScheduledClose.spec.js.map +0 -1
  2297. package/react/components/userPreferences/tests/UserPreferencesBase.spec.d.ts +0 -1
  2298. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js +0 -44
  2299. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js.map +0 -1
  2300. package/react/components/userPreferences/tests/Workspace.spec.d.ts +0 -1
  2301. package/react/components/userPreferences/tests/Workspace.spec.js +0 -139
  2302. package/react/components/userPreferences/tests/Workspace.spec.js.map +0 -1
  2303. package/react/components/userPreferences/tests/WorkspaceButton.spec.d.ts +0 -1
  2304. package/react/components/userPreferences/tests/WorkspaceButton.spec.js +0 -38
  2305. package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +0 -1
  2306. package/react/components/userPreferences/tests/WorkspaceComponents.spec.d.ts +0 -1
  2307. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +0 -22
  2308. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +0 -1
  2309. package/react/components/userPreferences/tests/WorkspaceItem.spec.d.ts +0 -1
  2310. package/react/components/userPreferences/tests/WorkspaceItem.spec.js +0 -64
  2311. package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +0 -1
  2312. package/react/components/userPreferences/tests/WorkspaceItemList.spec.d.ts +0 -1
  2313. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js +0 -45
  2314. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +0 -1
  2315. package/react/components/utils.d.ts +0 -2
  2316. package/react/components/utils.js +0 -6
  2317. package/react/components/utils.js.map +0 -1
  2318. package/react/components/yesNoDialog/Timer.spec.d.ts +0 -1
  2319. package/react/components/yesNoDialog/Timer.spec.js +0 -18
  2320. package/react/components/yesNoDialog/Timer.spec.js.map +0 -1
  2321. package/react/components/yesNoDialog/Timer.stories.d.ts +0 -9
  2322. package/react/components/yesNoDialog/Timer.stories.js +0 -15
  2323. package/react/components/yesNoDialog/Timer.stories.js.map +0 -1
  2324. package/react/components/yesNoDialog/YesNoDialog.spec.d.ts +0 -1
  2325. package/react/components/yesNoDialog/YesNoDialog.spec.js +0 -63
  2326. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +0 -1
  2327. package/react/components/yesNoDialog/YesNoDialog.stories.d.ts +0 -14
  2328. package/react/components/yesNoDialog/YesNoDialog.stories.js +0 -74
  2329. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +0 -1
  2330. package/react/enzymeSetup.d.ts +0 -1
  2331. package/react/enzymeSetup.js +0 -35
  2332. package/react/enzymeSetup.js.map +0 -1
  2333. package/react/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,2481 @@
1
+ /**
2
+ * Notes. Because reducers use Immer, you can't just console.log pieces of your store. You'll get a bunch of proxy
3
+ * stuff from the WritableDraft<> template. Wrap your data in unImmer() to print it out normally.
4
+ */
5
+ var _a, _b;
6
+ import { unImmer } from "../../../../common/redux/createReducer";
7
+ import { concatNoDups, INTENT_RESOLVER_CHANNEL, } from "../../../../clients/Interop/types";
8
+ import { selectConnect } from "../selectConnect";
9
+ import { RouterClient } from "../../../../clients/routerClient";
10
+ import { LauncherClient } from "../../../../clients/launcherClient";
11
+ import { Logger } from "../../../../clients/logger";
12
+ import { setActionResult } from "../../../../common/redux/actionIdMapper";
13
+ import { filterForAppAuthorization, filterForClientAuthorization } from "./authorize";
14
+ import { httpGet } from "../../../../common/REST";
15
+ import { authVerify, authVerifyJWT } from "../AuthSignVerify";
16
+ import { getFriendlyName, interopAssertion, uuidsFromWindowName, notifyEndUser } from "./commonUtils";
17
+ import testPoint from "../../../../common/testPoint";
18
+ import { createAction } from "@reduxjs/toolkit";
19
+ import { isEqual } from "lodash";
20
+ import { ResolveError, OpenError } from "@finos/fdc3";
21
+ // Logger errors are also logged to the console, which clutters up the unit test results for error paths, so when running under Node use warnings instead
22
+ if (((_b = (_a = window === null || window === void 0 ? void 0 : window.process) === null || _a === void 0 ? void 0 : _a.release) === null || _b === void 0 ? void 0 : _b.name) === "node") {
23
+ Logger.error = Logger.warn;
24
+ Logger.system.error = Logger.system.warn;
25
+ }
26
+ const workspaceUuid = "#Workspace";
27
+ /**
28
+ * Return uuids for specified appId
29
+ *
30
+ * @param { resolverState, appId }
31
+ * @returns {string[]}
32
+ */
33
+ const uuidsFromAppId = ({ resolverState, appId }) => Object.values(resolverState.clients)
34
+ .filter((client) => client.appId === appId)
35
+ .map((client) => client.uuid);
36
+ /**
37
+ * Returns all app definitions for a given appId
38
+ *
39
+ * @param appId
40
+ * @param appDefinitions
41
+ * @returns appName for the given appId (or "unknown-appName" if unique match not found)
42
+ */
43
+ const appsForAppId = (appId, appDefinitions) => Object.values(appDefinitions).filter((definition) => definition.appId === appId);
44
+ /**
45
+ * Return appId for a given appName; to prevent security hole, return nothing unless there is a unique match for the name
46
+ *
47
+ * @param appName
48
+ * @param appDefinitions
49
+ * @returns appId for the given appName or null if not a unique match
50
+ */
51
+ const getValidatedAppIdForAppName = (appName, appDefinitions) => {
52
+ let appId = null;
53
+ let matchingApps = Object.values(appDefinitions).filter((definition) => definition.name === appName);
54
+ if (matchingApps.length === 1) {
55
+ ({ appId } = matchingApps[0]);
56
+ }
57
+ return appId;
58
+ };
59
+ /**
60
+ * Return appId for specified target
61
+ *
62
+ * @param appDefinitions
63
+ * @param target
64
+ * @returns appId or null
65
+ */
66
+ const appIdFromTargetApp = (appDefinitions, target) => {
67
+ let appId;
68
+ if (typeof target === "string") {
69
+ appId = getValidatedAppIdForAppName(target, appDefinitions);
70
+ }
71
+ else {
72
+ if (target.appId) {
73
+ ({ appId } = target);
74
+ }
75
+ else {
76
+ appId = getValidatedAppIdForAppName(target.name, appDefinitions);
77
+ }
78
+ }
79
+ return appId;
80
+ };
81
+ /**
82
+ * Returns a set of channels against which to apply an action, given the joinedChannels of a client and the channel requested
83
+ * (1) the specified channel, (2) all joined channels (if no channel was specified), or (3) "global" (if no channels were joined)
84
+ */
85
+ // const targetedChannels = (state: ResolverStore, joinedChannels: string[], channel?: string): string[] =>
86
+ // channel ? [channel] : joinedChannels.length ? joinedChannels : ["global"];
87
+ const actions = {
88
+ clientAdded: createAction("resolver/clientAdded"),
89
+ clientRemoved: createAction("resolver/clientRemoved"),
90
+ register: createAction("resolver/register"),
91
+ completeRegistration: createAction("resolver/completeRegistration"),
92
+ heartbeat: createAction("resolver/heartbeat"),
93
+ cleanupAndVerify: createAction("resolver/cleanupAndVerify"),
94
+ unregister: createAction("resolver/unregister"),
95
+ broadcast: createAction("resolver/broadcast"),
96
+ subscribeContext: createAction("resolver/subscribeContext"),
97
+ unsubscribeContext: createAction("resolver/unsubscribeContext"),
98
+ joinChannels: createAction("resolver/joinChannels"),
99
+ leaveChannels: createAction("resolver/leaveChannels"),
100
+ sendMessageToDestinations: createAction("resolver/sendMessageToDestinations"),
101
+ sendSelectConnectMessagesToDestinations: createAction("resolver/sendSelectConnectMessagesToDestinations"),
102
+ registerSelectConnectChannel: createAction("resolver/registerSelectConnectChannel"),
103
+ open: createAction("resolver/open"),
104
+ raiseIntent: createAction("resolver/raiseIntent"),
105
+ subscribeIntent: createAction("resolver/subscribeIntent"),
106
+ unsubscribeIntent: createAction("resolver/unsubscribeIntent"),
107
+ addAppDefinitions: createAction("resolver/addAppDefinitions"),
108
+ removeAppDefinitions: createAction("resolver/removeAppDefinitions"),
109
+ handleUIResolutionResponse: createAction("resolver/handleUIResolutionResponse"),
110
+ openedApp: createAction("resolver/openedApp"),
111
+ registerUIResolver: createAction("resolver/registerUIResolver"),
112
+ setInteropRegistrationData: createAction("resolver/setInteropRegistrationData"),
113
+ resetDetectedLoopState: createAction("resolver/resetDetectedLoopState"),
114
+ addIntentListenerMaxInitializationTimeout: createAction("resolver/addIntentListenerMaxInitializationTimeout"),
115
+ };
116
+ /**
117
+ * Removes any object entries that are explicitly "undefined" or null.
118
+ * We use this in the broadcast loop detection algorithm.
119
+ */
120
+ const removeEmpty = (obj) => {
121
+ if (typeof obj !== "object" || obj === null)
122
+ return obj;
123
+ let newObj = {};
124
+ Object.keys(obj).forEach((key) => {
125
+ if (obj[key] === Object(obj[key]))
126
+ newObj[key] = removeEmpty(obj[key]);
127
+ else if (obj[key] !== undefined && obj[key] !== null)
128
+ newObj[key] = obj[key];
129
+ });
130
+ return newObj;
131
+ };
132
+ /**
133
+ * Filters out intent recipients that are unauthorized as a result of an `authorize` rule.
134
+ */
135
+ const filterUnauthorizedRecipients = ({ which, candidates, state, uuid, intentName, contextType, }) => {
136
+ // Reduce our candidate lists down to arrays of strings (destinations) that can be checked by the SelectConnect `authorize` rule.
137
+ const destinations = candidates.map((candidate) => { var _a, _b; return (_b = (_a = candidate.uuid) !== null && _a !== void 0 ? _a : candidate.meta.appId) !== null && _b !== void 0 ? _b : candidate.meta.name; });
138
+ // Retrieve the authorized destinations by running them through the `authorize` rule.
139
+ const authorizedDestinations = which === "apps"
140
+ ? filterForAppAuthorization({
141
+ state,
142
+ originClientUuid: uuid,
143
+ intentType: intentName,
144
+ contextType: contextType || "",
145
+ destinationAppIdList: destinations,
146
+ })
147
+ : filterForClientAuthorization({
148
+ state,
149
+ originClientUuid: uuid,
150
+ intentType: intentName,
151
+ contextType: contextType || "",
152
+ destinationClientUuidList: destinations,
153
+ });
154
+ // Use the authorized destination lists to rebuild and return the candidate list with only authorized candidates.
155
+ return candidates.filter((candidate) => {
156
+ var _a, _b;
157
+ const identifier = (_b = (_a = candidate.uuid) !== null && _a !== void 0 ? _a : candidate.meta.appId) !== null && _b !== void 0 ? _b : candidate.meta.name;
158
+ return authorizedDestinations.includes(identifier);
159
+ });
160
+ };
161
+ /**
162
+ * TargetApp is either a string or an AppMetadata which contains appId and name members. This
163
+ * function returns true when the provided appName matches the target as a string or
164
+ * the provided appName and appId matches the AppMetaData.
165
+ *
166
+ * For convenience, if target is null or undefined then this will always return false.
167
+ */
168
+ const targetMatch = (appName, appId, target) => {
169
+ if (!target)
170
+ return false;
171
+ if (typeof target === "string")
172
+ return appName === target;
173
+ return appId === target.appId && appName === target.name;
174
+ };
175
+ /**
176
+ * Gets all of the clients who have called `addIntentListener()` for the given intent.
177
+ */
178
+ const getRunningAppsForIntent = ({ state, intent, target, }) => Object.values(state.resolver.clients).flatMap((client) => {
179
+ var _a, _b;
180
+ if (intent && client.subscriptions.globals.intents[intent]) {
181
+ if (!target || targetMatch(client.appName, client.appId, target)) {
182
+ return [
183
+ {
184
+ uuid: client.uuid,
185
+ windowName: client.windowName,
186
+ meta: {
187
+ appId: client.appId,
188
+ name: (_a = state.resolver.apps.definitions[client.appId]) === null || _a === void 0 ? void 0 : _a.name,
189
+ title: (_b = state.resolver.apps.definitions[client.appId]) === null || _b === void 0 ? void 0 : _b.title,
190
+ },
191
+ appId: client.appId,
192
+ },
193
+ ];
194
+ }
195
+ else {
196
+ return [];
197
+ }
198
+ }
199
+ else {
200
+ return [];
201
+ }
202
+ });
203
+ /**
204
+ * Utility function to return list of intents after combining an appD definition's intents with intents in store.
205
+ */
206
+ const appendedIntentData = (resolverState, appDDefinition) => {
207
+ let currentIntents = unImmer(resolverState.intents);
208
+ if (appDDefinition.intents) {
209
+ appDDefinition.intents.forEach((intentDef) => {
210
+ const key = appDDefinition.appId;
211
+ if (!currentIntents[intentDef.name]) {
212
+ let launchableHandlers = {};
213
+ launchableHandlers[key] = null;
214
+ currentIntents[intentDef.name] = {
215
+ info: {
216
+ name: intentDef.name,
217
+ displayName: intentDef.displayName,
218
+ },
219
+ launchableHandlers,
220
+ };
221
+ }
222
+ else {
223
+ currentIntents[intentDef.name].launchableHandlers[key] = null;
224
+ }
225
+ const intentElement = currentIntents[intentDef.name];
226
+ if (intentDef.contexts) {
227
+ intentDef.contexts.forEach((contextName) => {
228
+ intentElement.launchableHandlers[key] = concatNoDups(intentElement.launchableHandlers[key], contextName);
229
+ });
230
+ }
231
+ Logger.system.debug("Interop.resolver.appendedIntentData", intentElement, currentIntents);
232
+ });
233
+ }
234
+ return currentIntents;
235
+ };
236
+ // Utility function to return an array of intentData elements filtered by context (if provided)
237
+ export const filterIntentsByContext = (intentsData, context) => Object.values(intentsData).filter((element) => {
238
+ // return true to keep the intent (don't filter it); return false to not keep the intent (filter it)
239
+ // if no context type then don't filter this intent
240
+ if (!(context === null || context === void 0 ? void 0 : context.type))
241
+ return true;
242
+ // if no launchable handlers to match context, then filter this intent
243
+ if (!element.launchableHandlers)
244
+ return false;
245
+ // if one of the supported apps for this intent can handle the specified context type, then don't filter this intent
246
+ for (const appContextList of Object.values(element.launchableHandlers)) {
247
+ // if no contexts specified, then it's essentially a wildcard match, so don't filter
248
+ if (!appContextList)
249
+ return true;
250
+ // if the input context matches one in the list, then don't filter
251
+ if (appContextList.find((contextType) => contextType === context.type))
252
+ return true;
253
+ }
254
+ return false;
255
+ });
256
+ // Utility function to strip from intent handlers the apps that don't handle the specified context.
257
+ // May optionally filter apps if not launchable or a singleton that is already open
258
+ // Also remove an intent from the array if all it's launchableHandler's apps have been filtered.
259
+ export const filterAppHandlersFromIntents = ({ resolverState, intents, context, target, filterNotLaunchable, filterOpenSingletons, }) => {
260
+ // Intents are readonly so create a mutable clone to modify and return
261
+ intents = unImmer(intents);
262
+ intents.forEach((intentElement) => {
263
+ var _a, _b, _c;
264
+ for (const [appId, contextList] of Object.entries(intentElement.launchableHandlers)) {
265
+ const unscrubbedConfig = resolverState.apps.definitions[appId].manifest;
266
+ // Refactor this when we make appd entries have launchableByUser default to true
267
+ const launchableByUser = (_b = (_a = unscrubbedConfig === null || unscrubbedConfig === void 0 ? void 0 : unscrubbedConfig.foreign) === null || _a === void 0 ? void 0 : _a.components["App Launcher"]) === null || _b === void 0 ? void 0 : _b.launchableByUser;
268
+ const openInstances = uuidsFromAppId({ resolverState, appId }).length > 0;
269
+ const singleton = (_c = unscrubbedConfig === null || unscrubbedConfig === void 0 ? void 0 : unscrubbedConfig.component) === null || _c === void 0 ? void 0 : _c.singleton;
270
+ if (target && !targetMatch(resolverState.apps.definitions[appId].name, appId, target)) {
271
+ // since app doesn't match target, remove it from list
272
+ delete intentElement.launchableHandlers[appId];
273
+ }
274
+ else if (filterNotLaunchable && !launchableByUser) {
275
+ // since app isn't launchable and there is no open instance
276
+ Logger.system.debug("Interop.resolver.filterAppHandlersFromIntents filtered as non-launchable", appId);
277
+ delete intentElement.launchableHandlers[appId];
278
+ }
279
+ else if (filterOpenSingletons && singleton && openInstances) {
280
+ // since app is a singleton and it's already open, remove it from list
281
+ Logger.system.debug("Interop.resolver.filterAppHandlersFromIntents filtered as singleton", appId);
282
+ delete intentElement.launchableHandlers[appId];
283
+ }
284
+ else if (!context || !contextList) {
285
+ // do nothing -- no context implies a wildcard -- all contexts are excepted
286
+ }
287
+ else if (!contextList.includes(context.type)) {
288
+ // since app doesn't include context, remove it from list
289
+ delete intentElement.launchableHandlers[appId];
290
+ }
291
+ else {
292
+ // app includes context, but filter out any other contexts
293
+ intentElement.launchableHandlers[appId] = contextList.filter((appContext) => appContext == context.type);
294
+ }
295
+ }
296
+ });
297
+ // filter out any of the intents that no longer have at least one launchable handler
298
+ intents = intents.filter((intentElement) => Object.keys(intentElement.launchableHandlers).length > 0);
299
+ return intents;
300
+ };
301
+ // Utility function to find a set of intents for a given context. If the intentName is specified then the corresponding intent is the only one returned.
302
+ // Note the intent list will be filtered to only include apps that can handle the context.
303
+ export const findAndFilterAppIntents = ({ resolverState, intentName, context, target, filterNotLaunchable, filterOpenSingletons, originUuid, }) => {
304
+ let appIntents = [];
305
+ const intentsData = unImmer(resolverState.intents);
306
+ // filter intents by the specified context
307
+ // This is redundant because filterAppHandlersFromIntents already filters it out?
308
+ const intentsFilteredByContext = filterIntentsByContext(intentsData, context);
309
+ // strip from intent handlers the apps that don't support the specified context, don't match target, or aren't launchable.
310
+ const strippedIntents = filterAppHandlersFromIntents({
311
+ resolverState,
312
+ intents: intentsFilteredByContext,
313
+ context,
314
+ target,
315
+ filterNotLaunchable,
316
+ filterOpenSingletons,
317
+ });
318
+ // Filter out unauthorized apps
319
+ let intentData = [];
320
+ if (intentName) {
321
+ // after filtering and stripping the intents by context, find the first one that matches theIntentName
322
+ const oneResult = strippedIntents.find((intentElement) => intentElement.info.name === intentName);
323
+ if (oneResult) {
324
+ intentData.push(oneResult);
325
+ }
326
+ }
327
+ else {
328
+ intentData = strippedIntents;
329
+ }
330
+ appIntents = intentData
331
+ .map((resolverIntent) => {
332
+ let apps = Object.keys(resolverIntent.launchableHandlers).map((key) => {
333
+ var _a;
334
+ const definition = resolverState.apps.definitions[key];
335
+ return definition
336
+ ? {
337
+ appId: (_a = definition.appId) !== null && _a !== void 0 ? _a : key,
338
+ name: definition.name,
339
+ title: definition.title,
340
+ version: definition.version,
341
+ description: definition.description,
342
+ }
343
+ : {
344
+ appId: key,
345
+ name: key,
346
+ };
347
+ });
348
+ if (originUuid) {
349
+ const authorizedApps = filterForAppAuthorization({
350
+ state: { resolver: resolverState },
351
+ originClientUuid: originUuid,
352
+ destinationAppIdList: apps.map((app) => app.appId || app.name),
353
+ contextType: (context === null || context === void 0 ? void 0 : context.type) || "",
354
+ });
355
+ apps = apps.filter((app) => (app.appId && authorizedApps.includes(app.appId)) || authorizedApps.includes(app.name));
356
+ }
357
+ return {
358
+ intent: resolverIntent.info,
359
+ apps,
360
+ };
361
+ })
362
+ // Filter out any appIntents that don't have any apps attached to them
363
+ // (happens when a given intent contains some apps, but none of them are authorized)
364
+ .filter((appIntent) => appIntent.apps.length > 0);
365
+ Logger.system.debug("Interop.resolver.findAndFilterAppIntents", {
366
+ intentName,
367
+ appIntents,
368
+ intentData,
369
+ intentsData,
370
+ intentsFilteredByContext,
371
+ strippedIntents,
372
+ });
373
+ return appIntents;
374
+ };
375
+ export const sendMessageOnRouter = async (routerChannel, message) => {
376
+ Logger.system.debug("Interop.resolver.sendMessageOnRouter", routerChannel, message);
377
+ RouterClient.query(routerChannel, unImmer(message), () => { });
378
+ };
379
+ /**
380
+ * Performs a very simple check to see if a broadcasted context is a duplicate - the result of a potential infinite
381
+ * broadcast loop. If the app's current context is the same as its broadcasted context then it's suspect. But it's still
382
+ * possible for users or developers to intentionally resend an app's current context, so we only say it's a duplicate
383
+ * if this occurs within 100 milliseconds (since FDC3 is supposed to operate at human speeds).
384
+ */
385
+ export const isDupBroadcast = (currentContext, broadcastedContext) => {
386
+ var _a;
387
+ const timeframe = 100;
388
+ const lastUpdated = (_a = currentContext === null || currentContext === void 0 ? void 0 : currentContext.meta) === null || _a === void 0 ? void 0 : _a.timestamp;
389
+ return (lastUpdated &&
390
+ Date.now() - lastUpdated < timeframe &&
391
+ isEqual(removeEmpty(currentContext === null || currentContext === void 0 ? void 0 : currentContext.context), removeEmpty(broadcastedContext)));
392
+ };
393
+ /**
394
+ * Associates the provided context with the app's set of current contexts. This saved context represents the currently
395
+ * assigned context for that app. This is used to detect broadcast loops.
396
+ */
397
+ export const saveCurrentContext = (currentContexts, context) => {
398
+ var _a;
399
+ currentContexts[context.type] = {
400
+ context,
401
+ meta: Object.assign(Object.assign({}, (_a = currentContexts[context.type]) === null || _a === void 0 ? void 0 : _a.meta), { timestamp: Date.now() }),
402
+ };
403
+ };
404
+ const getInitialState = () => {
405
+ return {
406
+ pendingInteropRegistrationData: [],
407
+ pendingOpenActionIds: {},
408
+ config: {
409
+ serverUUID: `interopService.${Date.now()}_${Math.random()}`,
410
+ registeredUIResolver: null,
411
+ },
412
+ clients: {},
413
+ selectConnectChannels: {},
414
+ channelMeta: {},
415
+ lastChannelState: {},
416
+ lastChannelStateByType: {},
417
+ apps: {
418
+ definitions: {},
419
+ intentResolutionInProgress: false,
420
+ intentResolutionCurrentActionId: null,
421
+ },
422
+ intents: {},
423
+ contextTypes: {},
424
+ queue: {},
425
+ loopDetectionMap: {},
426
+ addIntentListenerMaxInitializationTimeout: 15000,
427
+ };
428
+ };
429
+ export const openApp = async ({ actionId, appId, pendingMessage, originatingAppId, originatingAppWindow, appDefinitions, }) => {
430
+ let error;
431
+ let windowName = undefined;
432
+ // Don't try to open an app that isn't known to the interopService. Cleaner but also because spawn results are inconsistent in picking up spawn errors.
433
+ if (appDefinitions[appId]) {
434
+ // set windowInterop.parent so auto-associate will work correctly for FDC3.
435
+ const { error: launcherError, response } = await LauncherClient.spawn(appId, {
436
+ addToWorkspace: true,
437
+ windowInterop: { parent: { windowName: originatingAppWindow, componentType: originatingAppId } },
438
+ });
439
+ if (response) {
440
+ const wi = response === null || response === void 0 ? void 0 : response.windowIdentifier;
441
+ windowName = wi === null || wi === void 0 ? void 0 : wi.windowName;
442
+ // something went wrong if the assigned window name has "undefined-" in it (this case doesn't result in a spawn error code being returned)
443
+ error = (launcherError !== null && launcherError !== void 0 ? launcherError : (windowName && windowName.includes("undefined-"))) ? `app ${appId} is undefined` : null;
444
+ Logger.system.debug("Interop.resolver.openApp", {
445
+ appId,
446
+ windowName,
447
+ pendingMessage,
448
+ response,
449
+ });
450
+ }
451
+ else {
452
+ error = "No response from LauncherClient.spawn()";
453
+ }
454
+ }
455
+ else {
456
+ error = `Application ${appId} not found in AppD configuration`;
457
+ }
458
+ return {
459
+ actionId,
460
+ error,
461
+ windowName,
462
+ pendingMessage,
463
+ };
464
+ };
465
+ // handles app resolution for raising an intent
466
+ export const resolveIntentApps = async (actionId, resolutionList, pendingMessage, originatingAppName, originatingAppId, originatingAppWindow) => {
467
+ const intentTargetList = {
468
+ resolutionList,
469
+ originatingAppName,
470
+ originatingAppId,
471
+ originatingAppWindow,
472
+ };
473
+ Logger.system.debug("Sending message to INTENT_RESOLVER_CHANNEL", INTENT_RESOLVER_CHANNEL, intentTargetList);
474
+ const { err, response } = await RouterClient.query(INTENT_RESOLVER_CHANNEL, intentTargetList);
475
+ if (err)
476
+ Logger.system.error("resolveIntentApps", err.toString());
477
+ const resolverResolution = response === null || response === void 0 ? void 0 : response.data;
478
+ Logger.system.debug("Interop.resolver.resolveIntentApps query response", {
479
+ intentTargetList,
480
+ resolverResolution,
481
+ });
482
+ return {
483
+ actionId,
484
+ resolverResolution,
485
+ pendingMessage,
486
+ };
487
+ };
488
+ /**
489
+ * Sends an intent to the FDC3 Resolver UI.
490
+ */
491
+ const sendIntentToAppResolver = ({ state, cmd, actionId, fsa, resolutionList, originatingAppWindow, }) => {
492
+ var _a, _b, _c, _d;
493
+ // We will send a new intent to the UI, whether it's busy or not.
494
+ // If it is busy, cancel whatever it was busy with.
495
+ if (state.resolver.apps.intentResolutionInProgress) {
496
+ // Warning that this is what we're doing
497
+ Logger.warn("An intent has been raised while the previous intent remains unresolved. The previously raised intent will be cancelled.");
498
+ // Resolve previous action with ResolverUnavailable (same thing that gets fired when a raised intent is cancelled)
499
+ const raiseIntentResult = {
500
+ type: "raiseIntent",
501
+ error: ResolveError.ResolverUnavailable,
502
+ };
503
+ setActionResult(state.resolver.apps.intentResolutionCurrentActionId, raiseIntentResult);
504
+ }
505
+ state.resolver.apps.intentResolutionInProgress = true;
506
+ state.resolver.apps.intentResolutionCurrentActionId = actionId;
507
+ // Tell the UI resolver the name of the originating app, and if we don't know the name just use the uuid
508
+ const originatingAppName = (_b = (_a = state.resolver.clients[fsa.meta.uuid]) === null || _a === void 0 ? void 0 : _a.appName) !== null && _b !== void 0 ? _b : fsa.meta.uuid;
509
+ const originatingAppId = (_d = (_c = state.resolver.clients[fsa.meta.uuid]) === null || _c === void 0 ? void 0 : _c.appId) !== null && _d !== void 0 ? _d : originatingAppName;
510
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(resolveIntentApps, {
511
+ args: [actionId, unImmer(resolutionList), fsa, originatingAppName, originatingAppId, originatingAppWindow],
512
+ successActionCreator: actions.handleUIResolutionResponse,
513
+ });
514
+ };
515
+ /**
516
+ * Sends an intent to a running app by looping the fsa to broadcast
517
+ */
518
+ const sendIntentToRunningApp = ({ app, cmd, fsa, }) => {
519
+ const { uuid } = app;
520
+ const interopBroadcast = Object.assign(Object.assign({}, fsa), { meta: Object.assign(Object.assign({}, fsa.meta), { to: uuid }) });
521
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.broadcast(interopBroadcast));
522
+ };
523
+ /**
524
+ * Opens an app as a result of a RaiseIntent. The intent is forwarded
525
+ * to `openApp` which will then queue it until a listener is registered
526
+ */
527
+ const openAppForIntent = ({ actionId, fsa, cmd, state, appId, originatingAppId, originatingAppWindow, }) => {
528
+ Logger.system.debug("Interop.resolver.raiseIntent opening app", {
529
+ appId,
530
+ fsa,
531
+ });
532
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(openApp, {
533
+ args: [
534
+ {
535
+ actionId,
536
+ appId,
537
+ pendingMessage: fsa,
538
+ originatingAppId,
539
+ originatingAppWindow,
540
+ appDefinitions: unImmer(state.resolver.apps.definitions),
541
+ },
542
+ ],
543
+ successActionCreator: actions.openedApp,
544
+ });
545
+ };
546
+ /**
547
+ * Filter any stale messages from queue and respond to any corresponding pending actions.
548
+ * This is an indirect method to recognize an apps isn't following expected behavior as defined in appD.
549
+ */
550
+ export const filterAndResolveStaleMessages = ({ state }, cmd) => {
551
+ // Any message that has not been delivered within ERROR_TIME is a stale message that will be dropped
552
+ const ERROR_TIME = 60 * 1000;
553
+ // ERROR_TIME often takes too long for the typical developer feedback, so put out a warning message earlier.
554
+ const WARNING_TIME = 10 * 1000;
555
+ Object.keys(state.resolver.queue).forEach((key) => {
556
+ const queue = state.resolver.queue[key];
557
+ Logger.system.debug(`Interop.resolver.filterAndResolveStaleMessages ${key} queue depth=${queue.length}`, queue);
558
+ // Filter out and process messages that are ready to be sent (or drop stale messages). It is important to abide by the queue's order, processing from oldest to newest.
559
+ const newQueue = queue.filter((item) => {
560
+ const { pendingMessage, timestamp } = item;
561
+ // Filter the message if the timestamp has expired; might happen for app that doesn't register for pending message;
562
+ // Large ERROR_TIME value is needed to cover a large workspace load of heavy apps.
563
+ // We probably need a config value; in mean time a mid-range but sufficiently large timer value is used
564
+ if (timestamp && Date.now() - timestamp > ERROR_TIME) {
565
+ Logger.error("Stale interop message discarded since no receiving app. Interop.resolver.filterAndResolveStaleMessages: Message expired because it couldn't be delivered. Likely cause is app behavior doesn't match expected behavior, perhaps due to appD config", item, pendingMessage);
566
+ const messageTitle = "FDC3 AppD Config Issue";
567
+ const messageDetails = `Stale interop message discarded since no receiving app. Check the central logger for more information.`;
568
+ const devModeOnly = true;
569
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(notifyEndUser, {
570
+ args: [messageTitle, messageDetails, devModeOnly],
571
+ });
572
+ // if the stale message has a pending action, then respond to the action with an error
573
+ const { pendingActionId } = pendingMessage.meta;
574
+ if (pendingActionId) {
575
+ const actionResult = pendingActionId.type === "raiseIntent"
576
+ ? {
577
+ type: "raiseIntent",
578
+ error: ResolveError.ResolverTimeout,
579
+ }
580
+ : {
581
+ type: "open",
582
+ error: OpenError.AppTimeout,
583
+ };
584
+ setActionResult(pendingActionId, actionResult);
585
+ }
586
+ return false;
587
+ }
588
+ else if (timestamp && Date.now() - timestamp > WARNING_TIME) {
589
+ Logger.warn("Interop.resolver.filterAndResolveStaleMessages: Message has been in the queue a long time. Possible cause is app behavior doesn't match appD config (e.g. app doesn't handle intent that appD indicates is handled", item);
590
+ }
591
+ // otherwise the message is not stale so keep it
592
+ return true;
593
+ });
594
+ newQueue.length ? (state.resolver.queue[key] = newQueue) : delete state.resolver.queue[key];
595
+ });
596
+ };
597
+ /**
598
+ * Logs an error if an app didn't add listeners for all the intents identified in its AppD definition
599
+ */
600
+ const verifyListeners = ({ state }, cmd) => {
601
+ Object.keys(state.resolver.apps.definitions).forEach((appId) => {
602
+ const appDefinition = state.resolver.apps.definitions[appId];
603
+ // If the name and appId are the same, then that's our name. Otherwise, we might have multiple instances of
604
+ // the same name, so we use a compound `Chart:3424343`
605
+ const friendlyName = getFriendlyName(appDefinition);
606
+ Logger.system.debug(`Interop.resolver.verifyIntentListeners checking ${friendlyName}`);
607
+ const initializationComplete = (appDefinition === null || appDefinition === void 0 ? void 0 : appDefinition.firstRegistrationTimestamp) &&
608
+ Date.now() - appDefinition.firstRegistrationTimestamp > state.resolver.addIntentListenerMaxInitializationTimeout;
609
+ if (initializationComplete && !(appDefinition === null || appDefinition === void 0 ? void 0 : appDefinition.verified)) {
610
+ const intents = (appDefinition === null || appDefinition === void 0 ? void 0 : appDefinition.intents) ? Object.values(appDefinition === null || appDefinition === void 0 ? void 0 : appDefinition.intents) : [];
611
+ // An app is incomplete if it didn't add a listener for at least one of the intents in its AppD entry
612
+ const missingIntents = intents.flatMap((intent) => (intent.appListenerAdded ? [] : [intent.name]));
613
+ if (missingIntents.length) {
614
+ // If incomplete then log an error, but only do it once for the app
615
+ Logger.system.error(`Interop.resolver.verifyIntentListeners: "${friendlyName}" didn't call addIntentListener() for intents specified in its AppD config. Update AppD config to match functionality of app.`, "MISSING INTENTS:", missingIntents, "EXPECTED INTENTS:", appDefinition.intents);
616
+ const messageTitle = "FDC3 AppD Config Issue";
617
+ const messageDetails = `"${friendlyName}" didn't call addIntentListener() for intents "${missingIntents}" specified in its AppD config. Check the central logger for more information.`;
618
+ const devModeOnly = true; // This const sole purpose is to improve readability when invoking the notifyEndUser method bellow.
619
+ // the true argument is to flag that this a notification to display in dev mode only
620
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(notifyEndUser, {
621
+ args: [messageTitle, messageDetails, devModeOnly],
622
+ });
623
+ }
624
+ // Regardless of whether it registered all intents or not, it's now been verified. With this flag set to true we'll never get another
625
+ // user notification for that app type again.
626
+ appDefinition.verified = true;
627
+ }
628
+ });
629
+ };
630
+ /**
631
+ * Sends a heartbeat message to every attached client. Clients can use the receipt/non-receipt of a heartbeat
632
+ * to assess whether they've lost connectivity to the interop service.
633
+ */
634
+ const sendHeartbeats = ({ state }, cmd) => {
635
+ Logger.system.debug(`Interop.resolver.sendHeartbeats`, Object.keys(state.resolver.clients));
636
+ const heartbeatFSA = {
637
+ type: "heartbeat",
638
+ meta: {
639
+ uuid: "interopService",
640
+ },
641
+ };
642
+ Object.values(state.resolver.clients).forEach((client) => {
643
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(sendMessageOnRouter, {
644
+ args: [client.routerChannel, heartbeatFSA],
645
+ });
646
+ });
647
+ };
648
+ /**
649
+ * Filter any messages from queue that are addressed to unregistered clients plus respond to any corresponding pending actions.
650
+ */
651
+ const filterAndResolveDeadMessages = ({ state }) => {
652
+ Object.keys(state.resolver.queue).forEach((key) => {
653
+ const queue = state.resolver.queue[key];
654
+ Logger.system.debug(`Interop.resolver.filterAndResolveDeadMessages ${key} queue depth=${queue.length}`, queue);
655
+ const newQueue = queue.filter((item) => {
656
+ const { pendingMessage } = item;
657
+ // if message destination is not registered, then it is a dead message
658
+ if (state.resolver.clients[pendingMessage.meta.uuid] === undefined) {
659
+ Logger.error("Interop.resolver.filterAndResolveDeadMessages: Destination client is not registered so message dropped.", item, pendingMessage);
660
+ // if the dead message has a pending action, then respond to the action with an error
661
+ const { pendingActionId } = pendingMessage.meta;
662
+ if (pendingActionId) {
663
+ const actionResult = pendingActionId.type === "raiseIntent"
664
+ ? {
665
+ type: "raiseIntent",
666
+ error: ResolveError.ResolverTimeout,
667
+ }
668
+ : {
669
+ type: "open",
670
+ error: OpenError.AppTimeout,
671
+ };
672
+ setActionResult(pendingActionId, actionResult);
673
+ }
674
+ return false;
675
+ }
676
+ // otherwise the message is not dead so keep it
677
+ return true;
678
+ });
679
+ newQueue.length ? (state.resolver.queue[key] = newQueue) : delete state.resolver.queue[key];
680
+ });
681
+ };
682
+ /**
683
+ * Returns true if the message matches any of the provided criteria
684
+ */
685
+ const matchMessage = ({ pendingMessage, type, intent, contextType, channel, }) => {
686
+ var _a;
687
+ if (type && pendingMessage.type === type)
688
+ return true;
689
+ if (intent && pendingMessage.payload.intent === intent)
690
+ return true;
691
+ if (contextType && ((_a = pendingMessage.payload.context) === null || _a === void 0 ? void 0 : _a.type) === contextType)
692
+ return true;
693
+ return !!(channel && pendingMessage.meta.channel === channel);
694
+ };
695
+ /**
696
+ * Releases queued messages. This can be called from three possible places:
697
+ * 1) subscribeContext - In order to release any pending broadcasts (such as from a prior `open` call, or from a #Workspace initializing broadcast)
698
+ * 2) subscribeIntent - Similarly, in order to release any pending intents from a prior call to `raiseIntent`
699
+ * 3) register - When an app client registers (and thus selectConnect rules can be processed correctly)
700
+ *
701
+ * This manages a race condition. subscribeContext/subscribeIntent can occur both before or after register completes.
702
+ * (a) When they occur before, then the app won't yet be ready, so the items remain queued but the "subscriberIsReady" flag is flipped to true.
703
+ * Then when register calls releaseQueuedMessages again, all of the items with subscriberIsReady will be released.
704
+ *
705
+ * (b) When they occur after, the app will already be ready, so the items will immediately be broadcast
706
+ */
707
+ export const releaseQueuedMessages = ({ state, uuid, channel, cmd, type, intent, contextType, }) => {
708
+ const { windowName, readiness } = state.resolver.clients[uuid];
709
+ const key = state.resolver.queue[uuid] ? uuid : windowName;
710
+ const queue = state.resolver.queue[key];
711
+ if (!queue)
712
+ return;
713
+ Logger.system.debug(`Interop.resolver.releaseQueuedMessages ${windowName} depth=${queue.length}`, {
714
+ queue,
715
+ state: state.resolver,
716
+ uuid,
717
+ channel,
718
+ cmd,
719
+ type,
720
+ intent,
721
+ contextType,
722
+ });
723
+ // Filter out and process messages that are ready to be sent. It is important to abide by the queue's order, processing from oldest to newest.
724
+ const newQueue = queue.filter((item) => {
725
+ const { pendingMessage } = item;
726
+ /**
727
+ * Tricky logic here. If "type" is set then the call was from subscribeContext or subscribeIntent. In this case
728
+ * if the app isn't yet ready then just set the subscriberIsReady flag to true
729
+ *
730
+ * But if "type" isn't set, then the call was from register. The app is now ready, so release this
731
+ * item only if a prior call to subscribeContext or subscribeIntent has flipped the subscriberIsReady flag to true.
732
+ */
733
+ if (type && readiness !== "ready") {
734
+ item.subscriberIsReady = true;
735
+ return true;
736
+ }
737
+ else if (!type && !item.subscriberIsReady) {
738
+ return true;
739
+ }
740
+ // If the message doesn't match any of our criteria for releasing, then keep it in the queue
741
+ if (!matchMessage({ pendingMessage, type, intent, contextType, channel }))
742
+ return true;
743
+ // Make sure the broadcast is only to this specific uuid
744
+ const directedMessage = Object.assign(Object.assign({}, pendingMessage), { meta: Object.assign(Object.assign({}, pendingMessage.meta), { to: uuid }) });
745
+ Logger.system.debug(`Interop.resolver.releaseQueuedMessages ${windowName} BROADCAST`, item, directedMessage);
746
+ // Broadcast it now that we're subscribed
747
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.broadcast(unImmer(directedMessage)));
748
+ // and unqueue it
749
+ return false;
750
+ });
751
+ newQueue.length ? (state.resolver.queue[key] = newQueue) : delete state.resolver.queue[key];
752
+ };
753
+ const getDestinationsForContext = ({ clients, sender, senderUuid, channel: toChannel, context, to, autoBroadcast, }) => {
754
+ const contextType = context.type;
755
+ const destinationForChannel = (receiver, channel, isSubscribed, isSubscribedToWildcard) => {
756
+ var _a, _b, _c, _d;
757
+ const { routerChannel, uuid } = receiver;
758
+ const subscribedOnThisChannel = !!((_b = (_a = receiver.subscriptions.channels[channel]) === null || _a === void 0 ? void 0 : _a.contexts[contextType]) === null || _b === void 0 ? void 0 : _b.context);
759
+ const subscribedToWildCardOnThisChannel = !!((_d = (_c = receiver.subscriptions.channels[channel]) === null || _c === void 0 ? void 0 : _c.contexts["*"]) === null || _d === void 0 ? void 0 : _d.context);
760
+ const type = "client";
761
+ // Is receiver listening on the specified channel?
762
+ if (receiver.subscriptions.channels[channel]) {
763
+ if (subscribedOnThisChannel)
764
+ return [{ type, uuid, channel, contextType, context, routerChannel }];
765
+ if (subscribedToWildCardOnThisChannel)
766
+ return [{ type, uuid, channel, contextType: "*", context, routerChannel }];
767
+ }
768
+ // Is receiver joined to this channel? (the sender has chosen to broadcast directly on a "system channel" using the channel API)
769
+ // In this case, don't include the "channel" in the destination message
770
+ const destination = (isSubscribed && [{ type, uuid, contextType, context, routerChannel }]) ||
771
+ (isSubscribedToWildcard && [{ type, uuid, contextType: "*", context, routerChannel }]) ||
772
+ [];
773
+ if (receiver.joinedChannels.includes(channel)) {
774
+ return destination;
775
+ }
776
+ // Broadcasts that don't specify a channel are received by listeners on their global channel
777
+ return [];
778
+ };
779
+ const destinationFor = (receiver, isSubscribed, isSubscribedToWildcard) => {
780
+ var _a, _b, _c, _d, _e;
781
+ const { routerChannel, uuid } = receiver;
782
+ const type = "client";
783
+ // The destination is the context listener, and if not then the wild card listener, and if not then nothing
784
+ const destination = (isSubscribed && [{ type, uuid, contextType, context, routerChannel }]) ||
785
+ (isSubscribedToWildcard && [{ type, uuid, contextType: "*", context, routerChannel }]) ||
786
+ [];
787
+ // Directed messages should only go to that specific app
788
+ if (to)
789
+ return destination;
790
+ // Is the receiver joined to any of the same channels as the sender?
791
+ if (sender && sender.joinedChannels.some((c) => receiver.joinedChannels.includes(c)))
792
+ return destination;
793
+ // Are neither sender nor receiver using the linker, and neither are joined to channels (independently of using the linker)
794
+ if (!((_b = (_a = receiver.config) === null || _a === void 0 ? void 0 : _a.interop) === null || _b === void 0 ? void 0 : _b.useLinker) &&
795
+ !((_d = (_c = sender === null || sender === void 0 ? void 0 : sender.config) === null || _c === void 0 ? void 0 : _c.interop) === null || _d === void 0 ? void 0 : _d.useLinker) &&
796
+ !((_e = sender === null || sender === void 0 ? void 0 : sender.joinedChannels) === null || _e === void 0 ? void 0 : _e.length) &&
797
+ !receiver.joinedChannels.length) {
798
+ return destination;
799
+ }
800
+ return [];
801
+ };
802
+ const destinations = Object.values(clients).flatMap((receiver) => {
803
+ var _a, _b;
804
+ // Filter any clients not in our store
805
+ if (!receiver)
806
+ return [];
807
+ const { routerChannel, uuid } = receiver;
808
+ // Don't send messages to ourselves, but allow if autoBroadcast (where senderUuid must be set to destination uuid for authentication)
809
+ if (uuid === senderUuid && !autoBroadcast)
810
+ return [];
811
+ // If the message is directed to a specific recipient then ignore all other uuids
812
+ if (to && uuid !== to)
813
+ return [];
814
+ // The set of all possible applicable subscriptions
815
+ const isSubscribed = !!((_a = receiver.subscriptions.globals.contexts[contextType]) === null || _a === void 0 ? void 0 : _a.context);
816
+ const isSubscribedToWildcard = !!((_b = receiver.subscriptions.globals.contexts["*"]) === null || _b === void 0 ? void 0 : _b.context);
817
+ const type = "client";
818
+ // Broadcasts on a specific "app channel" are only received by listeners on that specific channel
819
+ if (toChannel)
820
+ return destinationForChannel(receiver, toChannel, isSubscribed, isSubscribedToWildcard);
821
+ // Derive the destination - e.g. from joined system channels or directed message ("to")
822
+ const destination = destinationFor(receiver, isSubscribed, isSubscribedToWildcard);
823
+ if (destination.length)
824
+ return destination;
825
+ // broadcast messages originating internally do not have a sender, so skip next check if sender isn't defined
826
+ if (!sender)
827
+ return [];
828
+ // Is the receiver listening for this context type *only* on a specified system channel that the sender is joined to?
829
+ // i.e. did the receiver call channel.addContextLister() on a system channel?
830
+ const channelSends = sender.joinedChannels.flatMap((joinedChannel) => {
831
+ var _a, _b, _c, _d;
832
+ const localSubscription = (_b = (_a = receiver.subscriptions.channels[joinedChannel]) === null || _a === void 0 ? void 0 : _a.contexts[contextType]) === null || _b === void 0 ? void 0 : _b.context;
833
+ const localAnySubscription = (_d = (_c = receiver.subscriptions.channels[joinedChannel]) === null || _c === void 0 ? void 0 : _c.contexts["*"]) === null || _d === void 0 ? void 0 : _d.context;
834
+ if (localSubscription)
835
+ return [{ type, uuid, channel: joinedChannel, contextType, context, routerChannel }];
836
+ if (localAnySubscription)
837
+ return [{ type, uuid, channel: joinedChannel, contextType: "*", context, routerChannel }];
838
+ return [];
839
+ });
840
+ if (channelSends.length)
841
+ return channelSends;
842
+ // Any remaining clients aren't listening on the correct channel or contextType
843
+ return [];
844
+ });
845
+ return destinations;
846
+ };
847
+ const getDestinationsForIntent = ({ clients, to, context, intent, }) => {
848
+ const contextType = context === null || context === void 0 ? void 0 : context.type;
849
+ const receiver = clients[to];
850
+ // flatMap is used to add or remove items from an array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap#for_adding_and_removing_items_during_a_map
851
+ const destinations = Object.values(clients).flatMap((destination) => {
852
+ // Filter any clients not in our store
853
+ if (!destination)
854
+ return [];
855
+ const { routerChannel, uuid } = destination;
856
+ // The set of all possible applicable subscriptions
857
+ const globalSubscription = receiver.subscriptions.globals.intents[intent];
858
+ const type = "client";
859
+ if (uuid == receiver.uuid) {
860
+ // When we find our receiver (if it's subscribed which it should be) then add it as a destination for the intent
861
+ if (globalSubscription)
862
+ return [{ type, uuid, intent, contextType, context, routerChannel }];
863
+ }
864
+ else if (context &&
865
+ globalSubscription &&
866
+ (receiver === null || receiver === void 0 ? void 0 : receiver.joinedChannels.some((c) => destination.joinedChannels.includes(c)))) {
867
+ // But if any destination is linked to the receiver (i.e. joined to any of the same channels) then also send that destination a context update (no intent!)
868
+ return [{ type, uuid, contextType, context, routerChannel }];
869
+ }
870
+ // Any remaining clients aren't listening on the correct channel or intent
871
+ return [];
872
+ });
873
+ return destinations;
874
+ };
875
+ /**
876
+ * Returns timestamp when JWT was created (uses JWT header data, which is also included in the signed data).
877
+ */
878
+ const getJwtCreationTime = (jwt) => {
879
+ try {
880
+ const jwtData = JSON.parse(atob(jwt.split(".")[1]));
881
+ return jwtData.iat * 1000; // JWT uses seconds but milliseconds should be returned for timestamp compatibility
882
+ }
883
+ catch (e) {
884
+ Logger.system.error(`Interop.resolver.validAuthenticationToken: getJwtCreationTime failed. Bad JWT ${jwt}.`);
885
+ return 0; // must ensure expired if bad JWT
886
+ }
887
+ };
888
+ /**
889
+ * Returns true if static authorization signature has expired. This timestamp prevents static authentication tokens from being reused.
890
+ */
891
+ const SIGNATURE_TTL = 30000; // static auth uses a TTL check distinct from dynamic auth
892
+ const expiredStaticAuthSignature = (authenticationToken) => {
893
+ // Typically the timestamp field is already set, but for a JTW the timestamp field must be set here to when the JWT was created.
894
+ // Note for static auth, the timestamp field is in the signed data, but for JWT the iot field can be reliably used.
895
+ if (authenticationToken.signatureStringType === "static-jwt") {
896
+ authenticationToken.timestamp = getJwtCreationTime(authenticationToken.signatureString);
897
+ }
898
+ const expired = authenticationToken.timestamp != undefined && Date.now() - authenticationToken.timestamp > SIGNATURE_TTL;
899
+ return expired;
900
+ };
901
+ /**
902
+ * Returns matching InteropRegistrationData based on windowName
903
+ * @param windowName
904
+ * @param pendingInteropRegistrationData
905
+ * @returns matching object
906
+ */
907
+ const getMatchingInteropRegistrationData = (windowName, pendingInteropRegistrationData) => {
908
+ const matchingRegistrationData = pendingInteropRegistrationData.find((registrationData) => windowName === registrationData.name);
909
+ Logger.system.debug(`Interop.resolver.getMatchingInteropRegistrationData result for ${windowName}`, {
910
+ windowName,
911
+ matchingRegistrationData,
912
+ });
913
+ return matchingRegistrationData;
914
+ };
915
+ const removeAppInteropRegistrationData = (windowName, pendingInteropRegistrationData) => {
916
+ let whatWillBeFiltered = pendingInteropRegistrationData.filter((registrationData) => windowName === registrationData.name);
917
+ let filteredRegistrationData = pendingInteropRegistrationData.filter((registrationData) => windowName !== registrationData.name);
918
+ Logger.system.debug("forceObjectsToLogger", `Interop.resolver.removeAppInteropRegistrationData for ${windowName}`, {
919
+ windowName,
920
+ whatWillBeFiltered,
921
+ filteredRegistrationData,
922
+ pendingInteropRegistrationData,
923
+ });
924
+ return filteredRegistrationData;
925
+ };
926
+ /**
927
+ * Returns signiture key (i.e. the public key) needed for static auth. The key may be in config or referenced by a URL.
928
+ * @param config
929
+ * @returns a signature key, or undefined if key couldn't be found
930
+ */
931
+ const getSignatureKey = async (config) => {
932
+ let signatureKey;
933
+ if (config === null || config === void 0 ? void 0 : config.signatureKeyURL) {
934
+ let { err, getData } = await httpGet(config.signatureKeyURL);
935
+ if (err) {
936
+ Logger.system.error(`Interop.resolver.getSignatureKey: the fetch for the signature key failed: ${err}`, {
937
+ config,
938
+ });
939
+ }
940
+ else {
941
+ signatureKey = getData;
942
+ }
943
+ }
944
+ else if (config === null || config === void 0 ? void 0 : config.signatureKey) {
945
+ ({ signatureKey } = config);
946
+ }
947
+ Logger.system.debug(`Interop.resolver.getSignatureKey result`, {
948
+ config,
949
+ signatureKey,
950
+ });
951
+ return signatureKey;
952
+ };
953
+ /**
954
+ * Returns true if static authentication was successful
955
+ * @param config
956
+ * @param authenticationToken
957
+ * @returns true if authenticated and false otherwise
958
+ */
959
+ export const validStaticAuthenticationToken = async (config, authenticationToken) => {
960
+ let authenticated = false;
961
+ const signatureKey = await getSignatureKey(config);
962
+ if (signatureKey) {
963
+ if (!expiredStaticAuthSignature(authenticationToken)) {
964
+ if (authenticationToken.signatureStringType === "static-jwt") {
965
+ const { verificationResult } = await authVerifyJWT(signatureKey, authenticationToken.signatureString);
966
+ authenticated = verificationResult;
967
+ }
968
+ else if (authenticationToken.signatureStringType === "static") {
969
+ const { verificationResult } = await authVerify(signatureKey, authenticationToken.signatureString, { timestamp: authenticationToken.timestamp });
970
+ authenticated = verificationResult;
971
+ }
972
+ else {
973
+ Logger.system.error(`Interop.resolver.validAuthenticationToken static authenticated failed -- token signatureStringType must be "static" or "static-jwt", but found ${authenticationToken.signatureStringType}`, config, authenticationToken);
974
+ }
975
+ }
976
+ else {
977
+ Logger.system.error("Interop.resolver.validAuthenticationToken static authenticated failed due to missing or expired authentication timestamp.", config, authenticationToken, Date.now());
978
+ }
979
+ if (authenticated) {
980
+ Logger.system.debug("Interop.resolver.validAuthenticationToken static authenticated successful", config, authenticationToken);
981
+ }
982
+ else if (!expiredStaticAuthSignature(authenticationToken)) {
983
+ Logger.system.error("Interop.resolver.validAuthenticationToken static authenticated failed. Confirm the app's AppD config has the correct `signatureKey` value.", config, authenticationToken);
984
+ }
985
+ }
986
+ else {
987
+ Logger.system.error("Interop.resolver.validAuthenticationToken static authenticated failed -- `signatureKey` could not be found", config, authenticationToken);
988
+ }
989
+ return authenticated;
990
+ };
991
+ // Returns true if an app is autoAssociated with the parent (as specified in the parents's appD).
992
+ const isAutoAssociatedWithParent = (appId, parentAppD) => {
993
+ var _a, _b, _c, _d;
994
+ let autoAssociate;
995
+ let selectedChild = false;
996
+ const selectConnectProp = (_b = (_a = parentAppD === null || parentAppD === void 0 ? void 0 : parentAppD.manifest) === null || _a === void 0 ? void 0 : _a.interop) === null || _b === void 0 ? void 0 : _b.selectConnect;
997
+ if (Array.isArray(selectConnectProp)) {
998
+ const autoAssociateElement = (_c = selectConnectProp === null || selectConnectProp === void 0 ? void 0 : selectConnectProp.find((element) => element.autoAssociate)) !== null && _c !== void 0 ? _c : {};
999
+ ({ autoAssociate } = autoAssociateElement);
1000
+ if (Array.isArray(autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.selectChildren)) {
1001
+ selectedChild = (_d = autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.selectChildren) === null || _d === void 0 ? void 0 : _d.includes(appId);
1002
+ }
1003
+ }
1004
+ return ((autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.allChildren) || selectedChild || (!(autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.selectChildren) && (autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.usingConnectId)));
1005
+ };
1006
+ // Returns true if an app auto-associates its children (as specified in the app's appD).
1007
+ const isAutoAssociatingChildren = (appD) => {
1008
+ var _a, _b, _c;
1009
+ let autoAssociate;
1010
+ const selectConnectProp = (_b = (_a = appD === null || appD === void 0 ? void 0 : appD.manifest) === null || _a === void 0 ? void 0 : _a.interop) === null || _b === void 0 ? void 0 : _b.selectConnect;
1011
+ if (Array.isArray(selectConnectProp)) {
1012
+ const autoAssociateElement = (_c = selectConnectProp === null || selectConnectProp === void 0 ? void 0 : selectConnectProp.find((element) => element.autoAssociate)) !== null && _c !== void 0 ? _c : {};
1013
+ ({ autoAssociate } = autoAssociateElement);
1014
+ }
1015
+ return (autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.allChildren) || (autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.selectChildren) || (autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.usingConnectId);
1016
+ };
1017
+ const getAppDSpecifiedConnectId = (appD) => {
1018
+ var _a, _b, _c;
1019
+ let autoAssociate;
1020
+ const selectConnectProp = (_b = (_a = appD === null || appD === void 0 ? void 0 : appD.manifest) === null || _a === void 0 ? void 0 : _a.interop) === null || _b === void 0 ? void 0 : _b.selectConnect;
1021
+ if (Array.isArray(selectConnectProp)) {
1022
+ const autoAssociateElement = (_c = selectConnectProp === null || selectConnectProp === void 0 ? void 0 : selectConnectProp.find((element) => element.autoAssociate)) !== null && _c !== void 0 ? _c : {};
1023
+ ({ autoAssociate } = autoAssociateElement);
1024
+ }
1025
+ return autoAssociate === null || autoAssociate === void 0 ? void 0 : autoAssociate.usingConnectId;
1026
+ };
1027
+ let connectIdCounter = 0; // counter of new connected ids created since startup (for use in newConnectId)
1028
+ // Generate a unique connection Id within Finsemble (just unique within this run -- don't need a GUID)
1029
+ const newConnectId = () => `connectId-${new Date().getTime()}-${connectIdCounter++}`;
1030
+ // Maps a launchGroupId to a connect Id. Note: the same connectId must always be returned for a given launcherGroupId
1031
+ const deriveConnectIdFromLaunchGroupId = (launchGroupId) => `connectId-${launchGroupId}`;
1032
+ // Get the connectId for a launcherGroupId. If launcherGroup app has connectId defined in appD, then use it; otherwise create a connectId directly from the launcherGroup Id
1033
+ const getLauncherGroupConnectId = (parentAppD, launchGroupId) => { var _a; return (_a = getAppDSpecifiedConnectId(parentAppD)) !== null && _a !== void 0 ? _a : deriveConnectIdFromLaunchGroupId(launchGroupId); };
1034
+ // Return the parent's connectId, which must be defined in the parent's client data. Keeping connectId in client data support dynamic auto-associations.
1035
+ const getParentClientConnectId = (parentWindow, clients) => {
1036
+ const uuids = uuidsFromWindowName({ clients, windowName: parentWindow });
1037
+ interopAssertion("uuid exists for parent window", uuids.length === 1);
1038
+ const parentUuid = uuids[0];
1039
+ const { connectId } = clients[parentUuid];
1040
+ interopAssertion("connectId exists for parent", connectId != undefined);
1041
+ return connectId;
1042
+ };
1043
+ // return client's connectId if defined
1044
+ const getClientConnectId = (parentWindow, clients) => {
1045
+ let connectId;
1046
+ const uuids = uuidsFromWindowName({ clients, windowName: parentWindow });
1047
+ if (uuids.length === 1) {
1048
+ const parentUuid = uuids[0];
1049
+ ({ connectId } = clients[parentUuid]);
1050
+ }
1051
+ return connectId;
1052
+ };
1053
+ // Returns a windows connectId (which might be null). This is the top-level function for getting a window's connectId.
1054
+ const maybeGetWindowConnectId = async (windowName, windowDescriptor, clients, appDefinitions) => {
1055
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1056
+ const UnknownApp = "unknown-app";
1057
+ const WorkspaceWindowName = "workspaceService";
1058
+ let resolvedConnectId;
1059
+ const appId = (_b = (_a = windowDescriptor === null || windowDescriptor === void 0 ? void 0 : windowDescriptor.componentType) !== null && _a !== void 0 ? _a : windowDescriptor === null || windowDescriptor === void 0 ? void 0 : windowDescriptor.name) !== null && _b !== void 0 ? _b : UnknownApp;
1060
+ const windowInterop = (_c = windowDescriptor === null || windowDescriptor === void 0 ? void 0 : windowDescriptor.windowInterop) !== null && _c !== void 0 ? _c : {};
1061
+ const appD = appDefinitions[appId];
1062
+ const parentAppD = appDefinitions[(_e = (_d = windowInterop.parent) === null || _d === void 0 ? void 0 : _d.componentType) !== null && _e !== void 0 ? _e : UnknownApp];
1063
+ if (windowInterop.connectId) {
1064
+ // if the window already has a connectId in the window descriptor, then use it
1065
+ resolvedConnectId = windowInterop.connectId;
1066
+ }
1067
+ else if (isAutoAssociatedWithParent(appId, parentAppD)) {
1068
+ // if current window is auto-associated with parent then use parent's connectId
1069
+ if (windowInterop.launchGroupId) {
1070
+ resolvedConnectId =
1071
+ (_h = getClientConnectId((_g = (_f = windowInterop.grandParent) === null || _f === void 0 ? void 0 : _f.windowName) !== null && _g !== void 0 ? _g : "undefined", clients)) !== null && _h !== void 0 ? _h : getLauncherGroupConnectId(parentAppD, (_j = windowInterop.launchGroupId) !== null && _j !== void 0 ? _j : "undefined");
1072
+ }
1073
+ else {
1074
+ resolvedConnectId = await getParentClientConnectId((_l = (_k = windowInterop.parent) === null || _k === void 0 ? void 0 : _k.windowName) !== null && _l !== void 0 ? _l : "undefined", clients);
1075
+ }
1076
+ interopAssertion("connectId found for parent", resolvedConnectId != null);
1077
+ // else if this window is auto-associating children then assigned a connect Id to it for future use with spawned children
1078
+ }
1079
+ else if (isAutoAssociatingChildren(appD)) {
1080
+ resolvedConnectId = (_o = (_m = getAppDSpecifiedConnectId(appD)) !== null && _m !== void 0 ? _m : getClientConnectId(windowName, clients)) !== null && _o !== void 0 ? _o : newConnectId();
1081
+ }
1082
+ const spawnedFromWorkspace = ((_p = windowInterop === null || windowInterop === void 0 ? void 0 : windowInterop.parent) === null || _p === void 0 ? void 0 : _p.windowName) === WorkspaceWindowName;
1083
+ Logger.debug("forceObjectsToLogger", "maybeGetWindowConnectId", {
1084
+ windowName,
1085
+ windowDescriptor,
1086
+ clients,
1087
+ appD,
1088
+ appId,
1089
+ parentAppD,
1090
+ windowInterop,
1091
+ spawnedFromWorkspace,
1092
+ resolvedConnectId,
1093
+ });
1094
+ return { connectId: resolvedConnectId, spawnedFromWorkspace };
1095
+ };
1096
+ // Return window name embedded in identifier. Extracting the name like this is dirty but expediant and effective; still the longer term app security solution will likely supercede this
1097
+ const extractWindowName = (id) => id.split(".")[1];
1098
+ // authentication is successful only when the window name embedded in the token matches the window name embedded in the router origin
1099
+ const validDynamicAuthenticationToken = (routerOrigin, token) => token.signatureString === extractWindowName(routerOrigin);
1100
+ /*
1101
+ * Authenticates an FDC3 client and returns if successful
1102
+ *
1103
+ * @param appId
1104
+ * @param friendlyName
1105
+ * @param routerOrigin where the request originated from
1106
+ * @returns true if authenticated and false otherwise
1107
+ */
1108
+ const authenticateClient = async ({ appId, friendlyName, routerOrigin, authenticationToken, config, }) => {
1109
+ var _a;
1110
+ Logger.system.debug(`Interop.resolver.authenticateClient App=${friendlyName}}.`, {
1111
+ appId,
1112
+ routerOrigin,
1113
+ authenticationToken,
1114
+ });
1115
+ let authenticated = false;
1116
+ if (appId !== ((_a = authenticationToken === null || authenticationToken === void 0 ? void 0 : authenticationToken.meta.appId) !== null && _a !== void 0 ? _a : authenticationToken === null || authenticationToken === void 0 ? void 0 : authenticationToken.meta.name)) {
1117
+ // confirm the app registered with the right appId
1118
+ Logger.system.error(`Interop.resolver.authenticateClient: authentication failed due to appId mismatch in token. App=${friendlyName}}.`, appId, authenticationToken);
1119
+ authenticated = false;
1120
+ }
1121
+ else if (authenticationToken.signatureStringType === "dynamic") {
1122
+ authenticated = validDynamicAuthenticationToken(routerOrigin, authenticationToken);
1123
+ }
1124
+ else if (authenticationToken.signatureStringType === "static" ||
1125
+ authenticationToken.signatureStringType === "static-jwt") {
1126
+ // authenticate and update app name
1127
+ authenticated = await validStaticAuthenticationToken(config, authenticationToken);
1128
+ }
1129
+ else {
1130
+ // since neither dynamic or static, the app will not be authenticated
1131
+ authenticated = false;
1132
+ }
1133
+ if (!authenticated) {
1134
+ Logger.system.error(`Interop.resolver.register: authentication failed for App=${friendlyName}}.`, routerOrigin, authenticationToken);
1135
+ }
1136
+ return authenticated;
1137
+ };
1138
+ // Contains all the async processing for registering a client
1139
+ const processRegistrationRequest = async ({ appId, resolverState, config, uuid, routerOrigin, windowName, authenticationToken, actionId, }) => {
1140
+ var _a;
1141
+ const appDefinition = (_a = resolverState.apps.definitions[appId]) !== null && _a !== void 0 ? _a : {};
1142
+ const friendlyName = getFriendlyName(appDefinition);
1143
+ // get pending data for the given appId plus remove it from the pending list
1144
+ const matchingRegistrationData = getMatchingInteropRegistrationData(windowName, resolverState.pendingInteropRegistrationData);
1145
+ // get connectId to support auto-associate, which drives the linker's auto-join functionality
1146
+ const { connectId, spawnedFromWorkspace } = await maybeGetWindowConnectId(windowName, matchingRegistrationData, resolverState.clients, resolverState.apps.definitions);
1147
+ const authenticated = await authenticateClient({
1148
+ appId,
1149
+ friendlyName,
1150
+ routerOrigin,
1151
+ authenticationToken,
1152
+ config,
1153
+ });
1154
+ // return to completeRegistration reducer
1155
+ return {
1156
+ config,
1157
+ authenticated,
1158
+ appId,
1159
+ windowName,
1160
+ uuid,
1161
+ connectId,
1162
+ spawnedFromWorkspace,
1163
+ actionId,
1164
+ };
1165
+ };
1166
+ // Time interval for loop detection.
1167
+ const LoopDetectionTimeThreshold = 6000;
1168
+ // Number of times an outgoing broadcast must occur within LoopDetectionTimeThreshold time before considered a loop
1169
+ const LoopDetectionCountThreshold = 4;
1170
+ // The interval to wait before cleaning up after a loop is detected (required to filter out in-transit messages)
1171
+ const LoopDetectCleanupInterval = 4000;
1172
+ /**
1173
+ * Set timestamp for the last broadcast to a specific client -- this is the timestamp used to detect loops
1174
+ *
1175
+ * @param {string} senderUuid the being sent a broadcast message
1176
+ * @param {LoopDetectionMap} loopDetectionMap
1177
+ */
1178
+ const loopDetectionSetTimestamp = (senderUuid, loopDetectionMap) => {
1179
+ let loopDetectionRecord = loopDetectionMap[senderUuid] || {
1180
+ timestamp: 0,
1181
+ count: 0,
1182
+ loopNotificationIssued: false,
1183
+ };
1184
+ loopDetectionRecord.timestamp = Date.now();
1185
+ loopDetectionMap[senderUuid] = loopDetectionRecord;
1186
+ Logger.system.debug("Interop.resolver.loopDetectionSetTimestamp", senderUuid, loopDetectionRecord);
1187
+ };
1188
+ /**
1189
+ * after loop detected can't immediately reset counter because multiple messages that are still in transit could keep the loop going; so pause then reset (so system will return to normal state)
1190
+ *
1191
+ * @param {string} senderUuid the app sending the broadcast message
1192
+ * @param {ReturnType<typeof setTimeout>} oldTimerId the previous timer if there was one; should clear since being superseded
1193
+ * @returns {Promise<DelayResetResults>}
1194
+ */
1195
+ const loopDetectionDelayReset = async (senderUuid, oldTimerId) => {
1196
+ let delayPromise = new Promise((resolve) => {
1197
+ if (oldTimerId)
1198
+ clearTimeout(oldTimerId);
1199
+ let newTimerId = setTimeout(() => {
1200
+ resolve({
1201
+ senderUuid,
1202
+ newTimerId,
1203
+ });
1204
+ }, LoopDetectCleanupInterval);
1205
+ });
1206
+ return delayPromise;
1207
+ };
1208
+ /**
1209
+ * Determines if there is an infinite broadcast loop.
1210
+ *
1211
+ * Detection Algorithm:
1212
+ * If a client that is sent a broadcast message "immediately" bounces back with an outgoing broadcast message
1213
+ * AND this broadcast+bounce-back consistently happens multiple times (i.e.LoopDetectionCountThreshold) all within a set time frame (i.e. LoopDetectionTimeThreshold)
1214
+ * THEN there is a broadcast loop (so return true).
1215
+ * Related Details:
1216
+ * a) Anytime this function returns true, the broadcast reducer will drop the broadcast message to help break the loop
1217
+ * b) If a client broadcasts a message independently, without receiving a message within the LoopDetectionCountThreshold time, then the message is assumed to not be from
1218
+ * a loop and the client's loop-detection counter is cleared (if there is a loop though it will continue and still be caught later).
1219
+ * c) After a loop is detected, the detection counter will be maintained for a time interval, LoopDetectCleanupInterval, so messages will continue to be dropped; otherwise messages in transit can
1220
+ * restart the loop. Later after LoopDetectCleanupInterval expires for a detected loop, then the detection counter is reset to restore the client back to its normal operating state.
1221
+ *
1222
+ * Note 1: By considering the context type, a simpler algorithm could identify the most common loop case where a client rebroadcasts an incoming context;
1223
+ * however that could result in a false positive if the user performed a UI action that triggered a broadcast while the same context was also broadcast elsewhere.
1224
+ * Note 2: This algorithm's constants are purposefully set slow (e.g. 6 seconds) to avoid a false positive; however, the tradeoff is it might not detect a loop in a heavily congested system with extremely slow message delivery
1225
+ * due to LoopDetectionTimeThreshold being exceeded. This is more of a issue within a heavy production situation though (e.g. large workspace of apps that are all contributing to a
1226
+ * broadcast storm) -- it isn't likely with typical app integration and initial testing.
1227
+ *
1228
+ * @param {string} senderUuid id of client requesting a broadcast
1229
+ * @param {LoopDetectionMap} loopDetectionMap
1230
+ * @returns {boolean} Returns true if loop detected
1231
+ */
1232
+ const loopDetectionFound = (senderUuid, loopDetectionMap, cmd) => {
1233
+ let loopDetected = false;
1234
+ let loopDetectionRecord = loopDetectionMap[senderUuid];
1235
+ if (loopDetectionRecord) {
1236
+ const timeSinceMessageSentTo = Date.now() - loopDetectionRecord.timestamp;
1237
+ // if enough time has passed, reset the counter given a loop implies continuous messages within the time interval
1238
+ if (timeSinceMessageSentTo > LoopDetectionTimeThreshold) {
1239
+ loopDetectionRecord.count = 0;
1240
+ // once the count is exceeded within a specific time period then loop detected -- this will cause messages to start being dropped and eventually stop the loop
1241
+ }
1242
+ else if (timeSinceMessageSentTo <= LoopDetectionTimeThreshold &&
1243
+ ++loopDetectionRecord.count >= LoopDetectionCountThreshold) {
1244
+ loopDetected = true;
1245
+ // display one notification per client per loop detection
1246
+ if (!loopDetectionRecord.loopNotificationIssued) {
1247
+ const messageTitle = "FDC3 broadcast loop detected so messages dropped.";
1248
+ const messageDetails = `A broadcast loop was detected in ${senderUuid}. Check the central logger for more information.`;
1249
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(notifyEndUser, {
1250
+ args: [messageTitle, messageDetails],
1251
+ });
1252
+ loopDetectionRecord.loopNotificationIssued = true;
1253
+ }
1254
+ // wait, then reset the loop detection state for this app to restore normal functionality
1255
+ cmd.run(loopDetectionDelayReset, {
1256
+ args: [senderUuid, loopDetectionRecord.timerId],
1257
+ successActionCreator: actions.resetDetectedLoopState,
1258
+ });
1259
+ }
1260
+ loopDetectionMap[senderUuid] = loopDetectionRecord;
1261
+ Logger.system.debug("Interop.resolver.loopDetectionFound", loopDetected, senderUuid, timeSinceMessageSentTo, loopDetectionRecord.count);
1262
+ }
1263
+ return loopDetected;
1264
+ };
1265
+ /**
1266
+ * Returns true if the fsa is okay to be processed. This means that it has to be either and intent or context broadcast.
1267
+ * If it's an intent, then it must have a "to" field (which should have been set by RaiseIntent)
1268
+ *
1269
+ * We also check to make sure that a loop isn't being created.
1270
+ */
1271
+ const isValidBroadcastMessage = ({ state, fsa, cmd, }) => {
1272
+ const { intent, context } = fsa.payload;
1273
+ const { uuid, to } = fsa.meta;
1274
+ // Disable loopDetection since false positives are too likely. Might reconsider later so not deleting.
1275
+ // if (loopDetectionFound(uuid, state.resolver.loopDetectionMap, cmd)) {
1276
+ // Logger.error(
1277
+ // `interopService detected probable broadcast loop for ${fsa.meta.uuid}`,
1278
+ // "Context",
1279
+ // context,
1280
+ // "Intent",
1281
+ // intent
1282
+ // );
1283
+ // // drop the broadcast message since loop detected (i.e. stop the broadcast loop)
1284
+ // return false;
1285
+ // }
1286
+ if (!intent && !context) {
1287
+ const error = `interopService resolver broadcast: message received without a "context" or "intent" field. Cannot be routed.`;
1288
+ state.root.testing.error = error;
1289
+ Logger.error(error, fsa);
1290
+ return false;
1291
+ }
1292
+ if (intent && !to) {
1293
+ const error = `interopService resolver broadcast: intent received without a "to" field. Cannot be routed.`;
1294
+ state.root.testing.error = error;
1295
+ Logger.error(error, fsa);
1296
+ return false;
1297
+ }
1298
+ return true;
1299
+ };
1300
+ /**
1301
+ * Saves the context from a broadcast message in the store. Contexts are saved in two places:
1302
+ * 1) In the client entry (except when the sending app is raising an intent or opening a new app)
1303
+ * 2) In the channel entry (except when this broadcast is the result of an autoBroadcast)
1304
+ */
1305
+ const maybeSaveContext = ({ state, fsa }) => {
1306
+ var _a, _b, _c;
1307
+ const { context, intent } = fsa.payload;
1308
+ const contextType = context === null || context === void 0 ? void 0 : context.type;
1309
+ const { setSenderContext, uuid: senderUuid, channel, autoBroadcast } = fsa.meta;
1310
+ const sender = state.resolver.clients[senderUuid];
1311
+ // If the caller doesn't want its context set (e.g. this broadcast came from `open`) or this broadcast came from an intent
1312
+ const dontSetSenderContext = setSenderContext === false || intent;
1313
+ // If we don't have a context then there's nothing to set.
1314
+ if (!context)
1315
+ return;
1316
+ /**
1317
+ * When an app broadcasts a context we set that broadcasting app's own context in our local store (its state) to that value.
1318
+ * If the context is *already* that value (by deep comparison) then the app probably hasn't been written correctly
1319
+ * and is creating a broadcast loop. In this case we short-circuit.
1320
+ *
1321
+ * We call `removeEmpty()` on each side of the deep comparison in order to avoid false negatives due to mismatches
1322
+ * between null, undefined, and missing object members.
1323
+ *
1324
+ * Note that broadcasts that emanate from `open` should have "meta.setSenderContext===false" to avoid setting their own local context
1325
+ */
1326
+ const currentContexts = channel
1327
+ ? (_a = sender === null || sender === void 0 ? void 0 : sender.subscriptions.channels[channel]) === null || _a === void 0 ? void 0 : _a.contexts
1328
+ : sender === null || sender === void 0 ? void 0 : sender.subscriptions.globals.contexts;
1329
+ if (!dontSetSenderContext && contextType && currentContexts) {
1330
+ // don't check for duplicate broadcasts when autoBroadcasting -- autoBroadcasts can look like duplicates
1331
+ if (!autoBroadcast && isDupBroadcast(currentContexts[contextType], context)) {
1332
+ const warning = `Possible broadcast loop detected for app "${sender.appId}" on context type "${contextType}"`;
1333
+ Logger.warn(warning);
1334
+ }
1335
+ // currently saveCurrentContext only needs to be maintained for isDupBroadcast; otherwise we could remove it.
1336
+ saveCurrentContext(currentContexts, context);
1337
+ }
1338
+ // If the message originates from the workspace module, then use desination's joinedChannels instead of senders.
1339
+ // This exception to the rule is a compromise due to the workspace module not being joined to any channels.
1340
+ const whichClient = fsa.meta.uuid === workspaceUuid && fsa.meta.to ? fsa.meta.to : senderUuid;
1341
+ // The destination channel is the one that is specified, otherwise it is all the app's joined channels
1342
+ const destinationChannels = (_c = (channel ? [channel] : (_b = state.resolver.clients[whichClient]) === null || _b === void 0 ? void 0 : _b.joinedChannels)) !== null && _c !== void 0 ? _c : [];
1343
+ // Broadcasts of contexts must be cached per channels (join, getCurrentContext, and addListener will use).
1344
+ // However, don't save autoBroadcast contexts -- this would introduce a potential timing problem.
1345
+ if (!autoBroadcast) {
1346
+ destinationChannels.forEach((oneChannel) => {
1347
+ var _a;
1348
+ // save, given the last context will be rebroadcast when a client joins a channel
1349
+ state.resolver.lastChannelState[oneChannel] = { context, senderUuid };
1350
+ if (context === null || context === void 0 ? void 0 : context.type) {
1351
+ // save by context type per channel to support getCurrentContext
1352
+ let map = (_a = state.resolver.lastChannelStateByType[oneChannel]) !== null && _a !== void 0 ? _a : {};
1353
+ map[context.type] = { context, senderUuid };
1354
+ state.resolver.lastChannelStateByType[oneChannel] = Object.assign(Object.assign({}, state.resolver.lastChannelStateByType[oneChannel]), { [context.type]: { context, senderUuid } });
1355
+ }
1356
+ Logger.system.debug(`Interop.resolver.broadcast lastChannelState set for ${oneChannel}`, context, state.resolver.lastChannelState, state.resolver.lastChannelStateByType);
1357
+ });
1358
+ }
1359
+ };
1360
+ /**
1361
+ * If a message is directed ("to") but we haven't found any valid destinations
1362
+ * then it most likely is because this broadcast has occurred before the app is ready
1363
+ * to listen (race condition). So we'll queue the message. Later calls to subscribeContext
1364
+ * will be responsible for dequeuing and rebroadcasting that message.
1365
+ */
1366
+ const isUnavailableDirectedMessage = ({ state, fsa, destinations, }) => {
1367
+ var _a;
1368
+ const { to, autoBroadcast } = fsa.meta;
1369
+ if (to && !destinations.length) {
1370
+ // However, if the message is from autoBroadcast then don't queue because the message could become stale (replaced by a more recent broadcast context).
1371
+ // Not to worry, the current context will be autoBroadcast again when `subscribeContext` adds this destination's listener.
1372
+ if (!autoBroadcast) {
1373
+ state.resolver.queue[to] = ((_a = state.resolver.queue[to]) !== null && _a !== void 0 ? _a : []).concat([
1374
+ {
1375
+ pendingMessage: fsa,
1376
+ timestamp: Date.now(),
1377
+ },
1378
+ ]);
1379
+ }
1380
+ else {
1381
+ Logger.system.debug(`Interop.resolver.broadcast: autoBroadcast dropped for ${to} since it wasn't a valid destination (e.g. no listener added)`);
1382
+ }
1383
+ return true;
1384
+ }
1385
+ return false;
1386
+ };
1387
+ /**
1388
+ * Update the current context for all of the destination clients (again this is only to help detect broadcast loops)
1389
+ */
1390
+ const saveDestinationContexts = ({ state, destinations }) => {
1391
+ destinations.forEach((destination) => {
1392
+ Logger.system.debug("Interop.resolver.broadcast selectConnectDestinations", destinations);
1393
+ if (destination.type === "client" && destination.context) {
1394
+ const { subscriptions } = state.resolver.clients[destination.uuid];
1395
+ if (destination.channel) {
1396
+ saveCurrentContext(subscriptions.channels[destination.channel].contexts, destination.context);
1397
+ }
1398
+ else {
1399
+ saveCurrentContext(subscriptions.globals.contexts, destination.context);
1400
+ }
1401
+ }
1402
+ });
1403
+ };
1404
+ /**
1405
+ * A broadcast message can result in many individual actions:
1406
+ * 1) Messages to be sent to individual destinations
1407
+ * 2) Dispatches to be run back through redux
1408
+ * 3) Messages to be sent to one or more remote SelectConnect modules (via router)
1409
+ *
1410
+ * This method takes the set of these destinations that has been calculated by the broadcast logic and
1411
+ * breaks them down into three arrays of individual actions.
1412
+ */
1413
+ const breakDownDestinations = ({ state, fsa, destinations, }) => {
1414
+ const { autoBroadcast, targetSubscriberId, pendingActionId } = fsa.meta;
1415
+ const messagesToSend = destinations.flatMap((destination) => {
1416
+ if (destination.type === "client") {
1417
+ let message = {
1418
+ uuid: destination.uuid,
1419
+ routerChannel: destination.routerChannel,
1420
+ pendingActionId,
1421
+ targetSubscriberId: autoBroadcast ? targetSubscriberId : undefined,
1422
+ };
1423
+ // Use this iterative method in order to avoid `channel : undefined` from showing up in the raw Router message
1424
+ if (destination.channel)
1425
+ message.channel = destination.channel;
1426
+ if (destination.context)
1427
+ message.context = destination.context;
1428
+ if (destination.intent)
1429
+ message.intent = destination.intent;
1430
+ return [message];
1431
+ }
1432
+ else {
1433
+ return [];
1434
+ }
1435
+ });
1436
+ const dispatchesToSend = destinations.flatMap((destination) => {
1437
+ var _a;
1438
+ if (destination.type === "selectConnect") {
1439
+ const selectConnectChannel = state.resolver.selectConnectChannels[destination.name];
1440
+ if (selectConnectChannel && "dispatchAction" in selectConnectChannel) {
1441
+ return [
1442
+ {
1443
+ type: selectConnectChannel.dispatchAction,
1444
+ payload: {
1445
+ fsa,
1446
+ uuid: destination.uuid,
1447
+ context: destination.context,
1448
+ contextType: (_a = destination.context) === null || _a === void 0 ? void 0 : _a.type,
1449
+ intent: destination.intent,
1450
+ },
1451
+ },
1452
+ ];
1453
+ }
1454
+ }
1455
+ return [];
1456
+ });
1457
+ const selectConnectChannelMessagesToSend = destinations.flatMap((destination) => {
1458
+ var _a;
1459
+ if (destination.type === "selectConnect") {
1460
+ const selectConnectChannel = state.resolver.selectConnectChannels[destination.name];
1461
+ if (selectConnectChannel && "routerChannel" in selectConnectChannel) {
1462
+ return [
1463
+ {
1464
+ routerChannel: selectConnectChannel.routerChannel,
1465
+ fsa,
1466
+ uuid: destination.uuid,
1467
+ context: destination.context,
1468
+ contextType: (_a = destination.context) === null || _a === void 0 ? void 0 : _a.type,
1469
+ intent: destination.intent,
1470
+ },
1471
+ ];
1472
+ }
1473
+ }
1474
+ return [];
1475
+ });
1476
+ return { messagesToSend, dispatchesToSend, selectConnectChannelMessagesToSend };
1477
+ };
1478
+ export const getClientAppConfig = (appDConfig) => {
1479
+ var _a, _b, _c, _d, _e, _f;
1480
+ const unscrubbedConfig = appDConfig === null || appDConfig === void 0 ? void 0 : appDConfig.manifest;
1481
+ const interopConfig = (_a = unscrubbedConfig === null || unscrubbedConfig === void 0 ? void 0 : unscrubbedConfig.interop) !== null && _a !== void 0 ? _a : {};
1482
+ // Logic to determine whether to show the linker
1483
+ // 1) Is it explicitly turned on or turned off in the "Window Manager" config?
1484
+ const windowManagerShowLinker = (_d = (_c = (_b = unscrubbedConfig === null || unscrubbedConfig === void 0 ? void 0 : unscrubbedConfig.foreign) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c["Window Manager"]) === null || _d === void 0 ? void 0 : _d.showLinker;
1485
+ // 2) Use the above logic unless `useLinker` is explicitly set in the interop config (override)
1486
+ const useLinker = (_e = interopConfig === null || interopConfig === void 0 ? void 0 : interopConfig.useLinker) !== null && _e !== void 0 ? _e : windowManagerShowLinker !== false;
1487
+ const config = Object.assign(Object.assign({}, unscrubbedConfig), { interop: Object.assign(Object.assign({}, interopConfig), { selectConnect: (_f = interopConfig === null || interopConfig === void 0 ? void 0 : interopConfig.selectConnect) !== null && _f !== void 0 ? _f : [], useLinker }) });
1488
+ return config;
1489
+ };
1490
+ // Utility function used by joinChannel and subscribeChannel to send one auto-broadcast message to a specified client for a specific handler for given channel and context name.
1491
+ // If there is nothing to broadcast, then this function is a no-op.
1492
+ const autoBroadCastToSpecifiedClient = ({ uuid, globalSubscription, channel, contextType, targetSubscriberId, resolverState, cmd, }) => {
1493
+ var _a, _b, _c;
1494
+ let channelData;
1495
+ // If specific context type was specified, then get the last channel state for that context; otherwise, just get the last channel state (independent of context)
1496
+ if (contextType && contextType != "*") {
1497
+ channelData = (_b = (_a = resolverState === null || resolverState === void 0 ? void 0 : resolverState.lastChannelStateByType[channel]) === null || _a === void 0 ? void 0 : _a[contextType]) !== null && _b !== void 0 ? _b : {};
1498
+ }
1499
+ else {
1500
+ channelData = (_c = resolverState === null || resolverState === void 0 ? void 0 : resolverState.lastChannelState[channel]) !== null && _c !== void 0 ? _c : {};
1501
+ }
1502
+ // If the channel has context state, then broadcast it to the client.
1503
+ // Note the original broadcasting app's uuid is set in the broadcast's "from" field for proper authorization.
1504
+ if ((channelData === null || channelData === void 0 ? void 0 : channelData.context) && (channelData === null || channelData === void 0 ? void 0 : channelData.senderUuid)) {
1505
+ Logger.system.debug(`Interop.resolver.autoBroadCastToSpecifiedClient: Context broadcasted to ${channel} for ${uuid}`);
1506
+ // the targetSubscriberId specifies in the broadcast tells the client which specific listener's handler should be invoked
1507
+ const directedBroadcast = {
1508
+ type: "broadcast",
1509
+ payload: {
1510
+ context: unImmer(channelData.context),
1511
+ },
1512
+ meta: {
1513
+ uuid: channelData.senderUuid,
1514
+ to: uuid,
1515
+ autoBroadcast: true,
1516
+ targetSubscriberId,
1517
+ channel: globalSubscription ? undefined : channel,
1518
+ noSelectConnect: true,
1519
+ },
1520
+ };
1521
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.broadcast(directedBroadcast));
1522
+ }
1523
+ };
1524
+ // For each channel left, if no more apps in the channel (i.e. the channel is stale) then clear
1525
+ // the channel state; to know if last app in channel, all the clients must be searched
1526
+ const cleanupStaleChannels = (channelsLeft, resolverState) => {
1527
+ // In special test cases, this functionality is disabled.
1528
+ if (testPoint.state.disableCleanupStaleChannels)
1529
+ return;
1530
+ const setOfAllClients = Object.values(resolverState.clients);
1531
+ // if all apps have left then channel, then clear the channel state.
1532
+ channelsLeft.forEach((channel) => {
1533
+ let channelStillInUse = setOfAllClients.some((clientInSet) => clientInSet.joinedChannels.includes(channel));
1534
+ if (!channelStillInUse) {
1535
+ Logger.system.debug(`Interop.resolver.cleanupStaleChannels: context state for channel ${channel} cleared since all apps left the channel`);
1536
+ delete resolverState.lastChannelState[channel];
1537
+ delete resolverState.lastChannelStateByType[channel];
1538
+ }
1539
+ });
1540
+ };
1541
+ const getValidatedAppName = (appId, appDefinitions) => {
1542
+ let appName = null;
1543
+ const appList = appsForAppId(appId, appDefinitions);
1544
+ if (appList.length === 1) {
1545
+ appName = appList[0].name;
1546
+ }
1547
+ else if (appList.length === 0) {
1548
+ Logger.system.warn(`getValidatedAppName: No definitions found for appId=${appId} so no name assigned.`, appList);
1549
+ }
1550
+ else if (appList.length > 1) {
1551
+ Logger.system.error(`getValidatedAppName: Multiple app definitions found for appId=${appId} so no name assigned.`, appList);
1552
+ }
1553
+ return appName;
1554
+ };
1555
+ const addReducerCases = (builder) => {
1556
+ builder
1557
+ // For an fdc3 client to be authenticated, it must register with a token that is contained in pendingInteropRegistrationData, which is added to here.
1558
+ // The window service's spawn function defines these tokens, sending a copy here and another copy to the newly spawned app.
1559
+ .addCase(actions.setInteropRegistrationData, (state, action) => {
1560
+ const fsa = action.payload;
1561
+ const interopRegistrationData = fsa.payload;
1562
+ const { pendingInteropRegistrationData } = state.resolver;
1563
+ pendingInteropRegistrationData.push(interopRegistrationData.windowDescriptor);
1564
+ })
1565
+ .addCase(actions.heartbeat, (state, action) => {
1566
+ const fsa = action.payload;
1567
+ const { uuid } = fsa.meta;
1568
+ let client = state.resolver.clients[uuid];
1569
+ if (client) {
1570
+ client.heartbeatTime = Date.now();
1571
+ Logger.system.debug(`heartbeat received for client ${client.appId} uuid ${uuid}`);
1572
+ }
1573
+ else {
1574
+ Logger.system.warn(`heartbeat received for undefined uuid ${uuid}`);
1575
+ }
1576
+ })
1577
+ .addCase(actions.register, (state, action, cmd) => {
1578
+ var _a;
1579
+ const { actionId } = action.payload;
1580
+ const { fsa } = action.payload;
1581
+ const { clientChannel: routerChannel, windowName, authenticationToken } = fsa.payload;
1582
+ const { uuid, authenticatedTransport, routerOrigin } = fsa.meta;
1583
+ const { clients } = state.resolver;
1584
+ // appId is the key internal identifier for apps; it is also what is authenticated
1585
+ const appId = (_a = authenticationToken === null || authenticationToken === void 0 ? void 0 : authenticationToken.meta.appId) !== null && _a !== void 0 ? _a : "unknown-appid";
1586
+ let appName = getValidatedAppName(appId, state.resolver.apps.definitions);
1587
+ if (!appName) {
1588
+ appName = `unvalidated-name-for-${appId}`;
1589
+ Logger.system.warn(`Could not validate name for ${appId} so using ${appName}, which might affect SelectConnect rules.`);
1590
+ }
1591
+ const config = getClientAppConfig(state.resolver.apps.definitions[appId]);
1592
+ // Initialize a client entry and add to our state
1593
+ state.resolver.clients = Object.assign(Object.assign({}, clients), { [uuid]: {
1594
+ heartbeatTime: 0,
1595
+ readiness: "initializing",
1596
+ authenticated: false,
1597
+ authenticatedTransport: authenticatedTransport !== null && authenticatedTransport !== void 0 ? authenticatedTransport : {},
1598
+ uuid,
1599
+ windowName,
1600
+ appName,
1601
+ appId,
1602
+ routerChannel,
1603
+ config,
1604
+ channels: [],
1605
+ joinedChannels: [],
1606
+ subscriptions: {
1607
+ globals: {
1608
+ contexts: {},
1609
+ intents: {},
1610
+ },
1611
+ channels: {},
1612
+ },
1613
+ } });
1614
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(processRegistrationRequest, {
1615
+ args: [
1616
+ {
1617
+ appId,
1618
+ resolverState: unImmer(state.resolver),
1619
+ config,
1620
+ uuid,
1621
+ routerOrigin: routerOrigin !== null && routerOrigin !== void 0 ? routerOrigin : "unknown-router-origin",
1622
+ windowName,
1623
+ authenticationToken: unImmer(authenticationToken),
1624
+ actionId,
1625
+ },
1626
+ ],
1627
+ successActionCreator: actions.completeRegistration,
1628
+ });
1629
+ })
1630
+ .addCase(actions.completeRegistration, (state, action, cmd) => {
1631
+ var _a, _b, _c;
1632
+ const fsa = action.payload;
1633
+ const { config, authenticated, appId, windowName, uuid, connectId, spawnedFromWorkspace, actionId } = fsa;
1634
+ const appDefinition = (_a = state.resolver.apps.definitions[appId]) !== null && _a !== void 0 ? _a : {};
1635
+ const friendlyName = (_b = getFriendlyName(appDefinition)) !== null && _b !== void 0 ? _b : appId;
1636
+ Logger.system.log(`Interop.resolver.completeRegistration for ${friendlyName}.`, action, appDefinition);
1637
+ if (authenticated) {
1638
+ Logger.system.log(`Authentication successful for ${friendlyName}.`);
1639
+ }
1640
+ else {
1641
+ Logger.system.error(`Authentication failed for ${friendlyName}. Check central logger for additional information.`);
1642
+ }
1643
+ // if client has a connectId then save it
1644
+ state.resolver.clients[uuid].connectId = connectId;
1645
+ // update client readiness and authentication result
1646
+ state.resolver.clients[uuid].authenticated = authenticated;
1647
+ state.resolver.clients[uuid].readiness = "ready";
1648
+ // if pendingOpenActionIds has an actionId, then this is the appropriate place to respond to the request that opened this client
1649
+ if (state.resolver.pendingOpenActionIds[windowName]) {
1650
+ // respond to the app that made the open request; this is only for when the open request didn't contain an initial context (otherwise respond when context listener is subscribed to))
1651
+ Logger.system.debug(`Interop.resolver.completeRegistration setting open result for ${windowName}.`);
1652
+ setActionResult(state.resolver.pendingOpenActionIds[windowName], { type: "open" });
1653
+ delete state.resolver.pendingOpenActionIds[windowName];
1654
+ }
1655
+ // signal other modules that new client registered
1656
+ if (!state.resolver.apps.definitions[appId]) {
1657
+ let errorMessage = `Interop.resolver.completeRegistration NOTE: "${friendlyName}" registered without an appD entry in config (e.g. $configRoot/application/appd.json). For full functionality every app must have a corresponding appD entry.`;
1658
+ Logger.system.log(errorMessage);
1659
+ // add a basic appD entry so the client can function as much as possible -- an appD entry is expected elsewhere in the code
1660
+ state.resolver.apps.definitions[appId] = {
1661
+ appId,
1662
+ name: appId,
1663
+ manifest: {
1664
+ interop: {
1665
+ useLinker: true,
1666
+ },
1667
+ },
1668
+ };
1669
+ }
1670
+ // save the time of the first registration to determine when initialization should be complete (see cleanupAndVerify)
1671
+ if (!((_c = state.resolver.apps.definitions[appId]) === null || _c === void 0 ? void 0 : _c.firstRegistrationTimestamp)) {
1672
+ state.resolver.apps.definitions[appId].firstRegistrationTimestamp = Date.now();
1673
+ }
1674
+ const clientAdded = {
1675
+ appId,
1676
+ config,
1677
+ uuid,
1678
+ windowName,
1679
+ connectId,
1680
+ spawnedFromWorkspace,
1681
+ };
1682
+ // this clientAdded action is defined in the linker
1683
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.clientAdded(unImmer(clientAdded)));
1684
+ releaseQueuedMessages({ state, uuid, cmd });
1685
+ setActionResult(actionId, { type: "register" });
1686
+ testPoint.triggerSnapshot("testPointInteropServiceClientAdded", unImmer(state));
1687
+ testPoint.triggerSnapshot("Fdc3RegistrationComplete", {
1688
+ client: unImmer(state.resolver.clients[uuid]),
1689
+ });
1690
+ })
1691
+ .addCase(actions.cleanupAndVerify, (state, action, cmd) => {
1692
+ // Send heartbeats to all attached clients
1693
+ sendHeartbeats({ state }, cmd);
1694
+ // Look through all the client queues to handle any stale message
1695
+ filterAndResolveStaleMessages({ state }, cmd);
1696
+ // Verifies that all newly registered apps' intent listeners includes all of intents in their AppD definitions
1697
+ verifyListeners({ state }, cmd);
1698
+ })
1699
+ .addCase(actions.unregister, (state, action, cmd) => {
1700
+ var _a;
1701
+ const fsa = action.payload;
1702
+ const { uuid } = fsa.meta;
1703
+ const { windowName } = state.resolver.clients[uuid];
1704
+ const channelsToLeaveFrom = (_a = state.resolver.clients[uuid].joinedChannels) !== null && _a !== void 0 ? _a : [];
1705
+ delete state.resolver.clients[uuid];
1706
+ cleanupStaleChannels(channelsToLeaveFrom, state.resolver);
1707
+ // Having dead messages in the queue would be rare, but not impossible. The most common scenario might be an app that never initializes correctly.
1708
+ filterAndResolveDeadMessages({ state });
1709
+ // for now there we can assume its okay to cleanup all the registration data for the corresponding windowName, but might not be true in future
1710
+ state.resolver.pendingInteropRegistrationData = removeAppInteropRegistrationData(windowName, state.resolver.pendingInteropRegistrationData);
1711
+ // If the window that just closed was the Resolver UI, then we need to unregister the Resolver from the uiResolverListener
1712
+ if (uuid === state.resolver.config.registeredUIResolver) {
1713
+ state.resolver.config.registeredUIResolver = null;
1714
+ // also clear "in-progress" flag in case UIResolver closed in the middle of resolving; this prevents progress flag from locking up resolution
1715
+ state.resolver.apps.intentResolutionInProgress = false;
1716
+ state.resolver.apps.intentResolutionCurrentActionId = null;
1717
+ }
1718
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.clientRemoved({
1719
+ uuid,
1720
+ windowName,
1721
+ }));
1722
+ testPoint.triggerSnapshot("testPointInteropServiceClientRemoved", unImmer(state));
1723
+ })
1724
+ /**
1725
+ * This action will accept either InteropBroadcast or InteropBroadcastInternal.
1726
+ * InteropBroadcast is what is received from external desktop agent clients.
1727
+ * InteropBroadcastInternal - is used by internal functions that use broadcast. See the type definition
1728
+ * for more details.
1729
+ */
1730
+ .addCase(actions.broadcast, (state, action, cmd) => {
1731
+ const fsa = action.payload;
1732
+ const { context, intent } = fsa.payload;
1733
+ const { channel, uuid: senderUuid, to, noSelectConnect, autoBroadcast } = fsa.meta;
1734
+ const sender = state.resolver.clients[senderUuid];
1735
+ // For testing and debugging, clear out any previous triggered rules
1736
+ state.root.testing = Object.assign(Object.assign({}, state.root.testing), { triggeredRules: [], destinationsBeforeSelectConnect: [], messagesToSend: [], dispatchesToSend: [], selectConnectChannelMessagesToSend: [], error: "" });
1737
+ // Checks to make sure the message has a valid set of data, and is not a broadcast loop
1738
+ if (!isValidBroadcastMessage({ state, fsa, cmd }))
1739
+ return;
1740
+ // Saves this broadcasted context in the store (in most cases)
1741
+ maybeSaveContext({ state, fsa });
1742
+ /**
1743
+ * When transmitting back to a client due to a joined channel, we actually want the channel id to be null
1744
+ * instead of the relevant joined channel. This is because the client code expects the response on addContextListener() rather than channel.addContextListener()
1745
+ *
1746
+ * Note: "to" will always be set for an intent. "context" will always be set otherwise - but Typescript doesn't know this so we have an extra check for TS's benefit
1747
+ */
1748
+ /* eslint-disable no-nested-ternary */
1749
+ const destinations = intent
1750
+ ? to
1751
+ ? getDestinationsForIntent({
1752
+ clients: state.resolver.clients,
1753
+ to,
1754
+ intent,
1755
+ context,
1756
+ })
1757
+ : []
1758
+ : context
1759
+ ? getDestinationsForContext({
1760
+ clients: state.resolver.clients,
1761
+ sender,
1762
+ channel,
1763
+ context,
1764
+ senderUuid,
1765
+ to,
1766
+ autoBroadcast,
1767
+ })
1768
+ : [];
1769
+ state.root.testing.destinationsBeforeSelectConnect = destinations;
1770
+ // If the message is directed ("to") but not destination is available then return
1771
+ // this function will queue if necessary
1772
+ if (isUnavailableDirectedMessage({ state, fsa, destinations }))
1773
+ return;
1774
+ // Run through the selectConnect rules, except for a directed message ("to") which should never be re-routed because it could cause infinite loops
1775
+ // SelectConnect may alter, add or remove destinations
1776
+ const selectConnectDestinations = noSelectConnect
1777
+ ? destinations
1778
+ : (() => {
1779
+ const [newDestinations, triggeredRules] = selectConnect(state, fsa, destinations);
1780
+ state.root.testing.triggeredRules = triggeredRules;
1781
+ return newDestinations;
1782
+ })();
1783
+ // Set's the current context for each destination in the redux store to be what we're just about to send it
1784
+ saveDestinationContexts({ state, destinations: selectConnectDestinations });
1785
+ // Get arrays of each type of action to be looper into other redux actions
1786
+ const { messagesToSend, dispatchesToSend, selectConnectChannelMessagesToSend } = breakDownDestinations({
1787
+ state,
1788
+ fsa,
1789
+ destinations: selectConnectDestinations,
1790
+ });
1791
+ Logger.system.debug("Interop.resolver.broadcast messagesToSend", messagesToSend);
1792
+ Logger.system.debug("Interop.resolver.broadcast dispatchesToSend", dispatchesToSend);
1793
+ Logger.system.debug("Interop.resolver.broadcast selectConnectChannelMessagesToSend", selectConnectChannelMessagesToSend);
1794
+ // Use these store locations for testing and live debugging
1795
+ state.root.testing.messagesToSend = messagesToSend;
1796
+ state.root.testing.dispatchesToSend = dispatchesToSend;
1797
+ state.root.testing.selectConnectChannelMessagesToSend = selectConnectChannelMessagesToSend;
1798
+ if (messagesToSend.length)
1799
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.sendMessageToDestinations(messagesToSend));
1800
+ if (selectConnectChannelMessagesToSend.length)
1801
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.sendSelectConnectMessagesToDestinations(selectConnectChannelMessagesToSend));
1802
+ dispatchesToSend.forEach((dispatchMessage) => {
1803
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(dispatchMessage);
1804
+ });
1805
+ })
1806
+ .addCase(actions.sendMessageToDestinations, (state, action, cmd) => {
1807
+ const messagesToSend = action.payload;
1808
+ messagesToSend.forEach((outgoing) => {
1809
+ var _a, _b, _c, _d, _e;
1810
+ const meta = outgoing.channel
1811
+ ? {
1812
+ uuid: state.resolver.config.serverUUID,
1813
+ targetSubscriberId: outgoing.targetSubscriberId,
1814
+ channel: outgoing.channel,
1815
+ }
1816
+ : {
1817
+ uuid: state.resolver.config.serverUUID,
1818
+ targetSubscriberId: outgoing.targetSubscriberId,
1819
+ };
1820
+ let message;
1821
+ if (outgoing.intent) {
1822
+ message = {
1823
+ type: "intent",
1824
+ payload: {
1825
+ intent: outgoing.intent,
1826
+ context: outgoing.context,
1827
+ },
1828
+ meta,
1829
+ };
1830
+ }
1831
+ else if (outgoing.context) {
1832
+ message = {
1833
+ type: "broadcast",
1834
+ payload: {
1835
+ context: outgoing.context,
1836
+ },
1837
+ meta,
1838
+ };
1839
+ }
1840
+ // getCurrentContext() with no parameters (no context type) falls back to `mostRecentContext` being set
1841
+ if (outgoing.context)
1842
+ state.resolver.clients[outgoing.uuid].mostRecentContext = outgoing.context;
1843
+ // If pending action that was waiting on message to be sent to client, then action response can be set now.
1844
+ // When we add support for the client to return intent results, this code will change -- raiseIntent won't be done until result received.
1845
+ if (outgoing.pendingActionId) {
1846
+ const source = (_b = (_a = state.resolver.clients[outgoing.uuid]) === null || _a === void 0 ? void 0 : _a.appId) !== null && _b !== void 0 ? _b : "unknown";
1847
+ const version = (_d = (_c = state.resolver.apps.definitions[source]) === null || _c === void 0 ? void 0 : _c.version) !== null && _d !== void 0 ? _d : "unknown";
1848
+ const actionResult = outgoing.pendingActionId.type === "raiseIntent"
1849
+ ? {
1850
+ type: "raiseIntent",
1851
+ result: {
1852
+ source,
1853
+ // @ts-ignore
1854
+ intent: (_e = outgoing.intent) !== null && _e !== void 0 ? _e : "unknown",
1855
+ version,
1856
+ },
1857
+ }
1858
+ : {
1859
+ type: "open",
1860
+ result: {
1861
+ source,
1862
+ version,
1863
+ },
1864
+ };
1865
+ Logger.system.debug("Interop.resolver.sendMessageToDestinations pendingAction set", outgoing.pendingActionId, actionResult);
1866
+ // Although this message won't actually be transmitted until the sendMessageOnRouter cmd below executes in the next redux loop,
1867
+ // it is virtually done here so invoke setActionResult
1868
+ setActionResult(outgoing.pendingActionId, actionResult);
1869
+ }
1870
+ loopDetectionSetTimestamp(outgoing.uuid, state.resolver.loopDetectionMap);
1871
+ // Send messages out optimistically. We don't wait for a response.
1872
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(sendMessageOnRouter, {
1873
+ args: [outgoing.routerChannel, message],
1874
+ });
1875
+ });
1876
+ })
1877
+ .addCase(actions.sendSelectConnectMessagesToDestinations, (state, action, cmd) => {
1878
+ const messagesToSend = action.payload;
1879
+ messagesToSend.forEach((outgoing) => {
1880
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(sendMessageOnRouter, {
1881
+ args: [outgoing.routerChannel, outgoing],
1882
+ });
1883
+ });
1884
+ })
1885
+ .addCase(actions.subscribeContext, (state, action, cmd) => {
1886
+ var _a;
1887
+ const fsa = action.payload;
1888
+ const { contextType } = fsa.payload;
1889
+ const { channel, uuid, targetSubscriberId } = fsa.meta;
1890
+ let client = state.resolver.clients[uuid];
1891
+ if (!client) {
1892
+ Logger.system.warn(`Interop.resolver.subscribeContext: client ${uuid} unknown so subscribe skipped`);
1893
+ return;
1894
+ }
1895
+ // We use contextType="*" as a wildcard listener
1896
+ const thisContextType = contextType !== null && contextType !== void 0 ? contextType : "*";
1897
+ const thisSubscriberContext = {
1898
+ context: {
1899
+ type: thisContextType,
1900
+ },
1901
+ meta: {
1902
+ timestamp: 0,
1903
+ targetSubscriberId,
1904
+ },
1905
+ };
1906
+ // When new subscriber added, broadcast the latest channel context to the subscribing app.
1907
+ // If the subscriber is for a specific context type, then the last message on the channel for that context type is broadcasted.
1908
+ // Note 1: the broadcast reducer will later filter broadcasts if client isn't authorized.
1909
+ // Note 2: joinChannels will later broadcast if subscriber is added without a channel specified and no joined channels.
1910
+ // Update client subscriptions
1911
+ if (channel) {
1912
+ client.channels = concatNoDups(client.channels, channel);
1913
+ // Add a channel entry for the client if none exists
1914
+ (_a = client.subscriptions.channels[channel]) !== null && _a !== void 0 ? _a : (client.subscriptions.channels[channel] = {
1915
+ contexts: {},
1916
+ intents: {},
1917
+ });
1918
+ // the targetSubscriberId must be maintained here in thisSubscriberContext in case it is needed for autoBroadcast to all listeners when a channel is joined
1919
+ client.subscriptions.channels[channel].contexts[thisContextType] = thisSubscriberContext;
1920
+ // NOTE FDC3 has decided that auto-broadcasts should not occur to app channels, only user channels. Therefore autoBroadCastToSpecifiedClient is not invoked here.
1921
+ }
1922
+ else {
1923
+ client.subscriptions.globals.contexts[thisContextType] = thisSubscriberContext;
1924
+ // For global subscribe: For all the channels already joined to, broadcast the latest channel context to the subscribing app.
1925
+ // Note 1: This might result in multiple broadcast messages (including multiple for the same context and listener)
1926
+ client.joinedChannels.forEach((subscribedChannel) => {
1927
+ autoBroadCastToSpecifiedClient({
1928
+ uuid,
1929
+ globalSubscription: true,
1930
+ channel: subscribedChannel,
1931
+ contextType,
1932
+ targetSubscriberId,
1933
+ resolverState: state.resolver,
1934
+ cmd,
1935
+ });
1936
+ });
1937
+ }
1938
+ releaseQueuedMessages({
1939
+ state,
1940
+ uuid,
1941
+ channel,
1942
+ cmd,
1943
+ type: "broadcast",
1944
+ contextType,
1945
+ });
1946
+ })
1947
+ .addCase(actions.unsubscribeContext, (state, action) => {
1948
+ const fsa = action.payload;
1949
+ const { contextType } = fsa.payload;
1950
+ const { channel, uuid } = fsa.meta;
1951
+ let client = state.resolver.clients[uuid];
1952
+ if (!client)
1953
+ return;
1954
+ let { subscriptions } = client;
1955
+ let { channels } = subscriptions;
1956
+ const thisContextType = contextType !== null && contextType !== void 0 ? contextType : "*";
1957
+ if (channel && channels[channel]) {
1958
+ delete channels[channel].contexts[thisContextType];
1959
+ if (!Object.keys(channels[channel].contexts).length)
1960
+ delete channels[channel].contexts[thisContextType];
1961
+ if (!Object.keys(channels[channel].contexts) && !Object.keys(channels[channel].intents))
1962
+ delete channels[channel];
1963
+ }
1964
+ else {
1965
+ const { contexts } = subscriptions.globals;
1966
+ delete contexts[thisContextType];
1967
+ }
1968
+ })
1969
+ .addCase(actions.joinChannels, (state, action, cmd) => {
1970
+ var _a;
1971
+ const fsa = action.payload;
1972
+ const { uuid } = fsa.meta;
1973
+ const { channels: channelsToAdd } = fsa.payload;
1974
+ const client = state.resolver.clients[uuid];
1975
+ if (!client) {
1976
+ Logger.system.warn(`Interop.resolver.joinChannels: client ${uuid} unknown so join skipped`);
1977
+ return;
1978
+ }
1979
+ const joinedChannels = (_a = client === null || client === void 0 ? void 0 : client.joinedChannels) !== null && _a !== void 0 ? _a : [];
1980
+ // For each channel joined, broadcast the latest channel context to the subscribing app.
1981
+ // Note 1: the broadcast reducer will handle when client doesn't have a listener or isn't authorized.
1982
+ // Note 2: Currently Finsemble's interopService allows a client to join multiple channels. We'll reevaluate this later, given FDC3 limits a client to joining only one channel at a time.
1983
+ channelsToAdd.forEach((channel) => {
1984
+ var _a;
1985
+ if (joinedChannels.includes(channel)) {
1986
+ Logger.system.warn(`Interop.resolver.joinChannels: ${channel} skipped because already joined`);
1987
+ }
1988
+ else {
1989
+ joinedChannels.push(channel);
1990
+ // autoBroadcast for join will only apply to the client's global subscriptions
1991
+ let contextList = Object.values((_a = client.subscriptions.globals.contexts) !== null && _a !== void 0 ? _a : {});
1992
+ Logger.system.debug(`Interop.resolver.joinChannels: joining ${channel} for ${uuid}`, contextList);
1993
+ // for each of the client's context subscriptions on the channel, broadcast the last corresponding context.
1994
+ contextList.forEach((currentContext) => {
1995
+ autoBroadCastToSpecifiedClient({
1996
+ uuid,
1997
+ globalSubscription: true,
1998
+ channel,
1999
+ contextType: currentContext.context.type,
2000
+ targetSubscriberId: currentContext.meta.targetSubscriberId,
2001
+ resolverState: state.resolver,
2002
+ cmd,
2003
+ });
2004
+ });
2005
+ }
2006
+ // must save here since will be a different array reference for first channel joined
2007
+ state.resolver.clients[uuid].joinedChannels = joinedChannels;
2008
+ });
2009
+ })
2010
+ .addCase(actions.leaveChannels, (state, action) => {
2011
+ var _a;
2012
+ const fsa = action.payload;
2013
+ const { uuid } = fsa.meta;
2014
+ const { channels: channelsToRemove } = fsa.payload;
2015
+ const client = state.resolver.clients[uuid];
2016
+ const joinedChannels = (_a = client === null || client === void 0 ? void 0 : client.joinedChannels) !== null && _a !== void 0 ? _a : [];
2017
+ const channelsToLeaveFrom = channelsToRemove !== null && channelsToRemove !== void 0 ? channelsToRemove : joinedChannels;
2018
+ if (client)
2019
+ state.resolver.clients[uuid].joinedChannels = channelsToRemove
2020
+ ? joinedChannels.filter((name) => !channelsToRemove.includes(name))
2021
+ : [];
2022
+ cleanupStaleChannels(channelsToLeaveFrom, state.resolver);
2023
+ })
2024
+ .addCase(actions.registerSelectConnectChannel, (state, action) => {
2025
+ const selectConnectChannel = action.payload;
2026
+ state.resolver.selectConnectChannels[selectConnectChannel.name] = selectConnectChannel;
2027
+ })
2028
+ .addCase(actions.open, (state, action, cmd) => {
2029
+ const { actionId } = action.payload;
2030
+ const { fsa } = action.payload;
2031
+ const { context, target } = fsa.payload;
2032
+ const { uuid } = fsa.meta;
2033
+ const client = state.resolver.clients[uuid];
2034
+ const pendingContextBroadcastMessage = {
2035
+ type: "broadcast",
2036
+ payload: {
2037
+ context,
2038
+ },
2039
+ meta: {
2040
+ uuid: fsa.meta.uuid,
2041
+ // Prevent the opening app from accidentally having its local context state set to the one we're passing to the new app
2042
+ setSenderContext: false,
2043
+ },
2044
+ };
2045
+ Logger.system.debug("Interop.resolver.open target and pending message", {
2046
+ target,
2047
+ pendingContextBroadcastMessage,
2048
+ });
2049
+ const appId = appIdFromTargetApp(state.resolver.apps.definitions, target);
2050
+ if (!appId) {
2051
+ Logger.system.error(`App ${fsa.meta.uuid} failed to open target ${target} because it does not have an unambiguous identifier found in appD.`, state.resolver.apps.definitions);
2052
+ const actionResult = {
2053
+ type: "open",
2054
+ error: OpenError.ErrorOnLaunch,
2055
+ };
2056
+ setActionResult(actionId, actionResult);
2057
+ return;
2058
+ }
2059
+ const authorized = filterForAppAuthorization({
2060
+ state,
2061
+ originClientUuid: fsa.meta.uuid,
2062
+ contextType: (context === null || context === void 0 ? void 0 : context.type) || "",
2063
+ destinationAppIdList: [appId],
2064
+ });
2065
+ const isValid = authorized.length > 0;
2066
+ if (isValid) {
2067
+ // opening the app is an async function because we need to wait for a windowName to be assigned
2068
+ // actions.openedApp receives the openApp results and then completes delivery of context
2069
+ cmd.run(openApp, {
2070
+ args: [
2071
+ {
2072
+ actionId,
2073
+ appId,
2074
+ pendingMessage: context ? pendingContextBroadcastMessage : null,
2075
+ originatingAppId: client.appId,
2076
+ originatingAppWindow: client.windowName,
2077
+ appDefinitions: unImmer(state.resolver.apps.definitions),
2078
+ },
2079
+ ],
2080
+ successActionCreator: actions.openedApp,
2081
+ });
2082
+ }
2083
+ else {
2084
+ Logger.system.log(`Warning: App ${fsa.meta.uuid} tried to open app ${appId}, despite not being authorized.`);
2085
+ const actionResult = {
2086
+ type: "open",
2087
+ error: OpenError.ErrorOnLaunch,
2088
+ };
2089
+ setActionResult(actionId, actionResult);
2090
+ }
2091
+ })
2092
+ // triggered in open to handle openApp results -- see cmd.run(openApp...)
2093
+ .addCase(actions.openedApp, (state, action) => {
2094
+ var _a, _b;
2095
+ const { actionId, error, windowName, pendingMessage } = action.payload;
2096
+ Logger.system.debug(`Interop.resolver.openedApp ${windowName}`, error, pendingMessage);
2097
+ if (!error && windowName && pendingMessage) {
2098
+ // No setActionResult is done here because a successful result won't be sent until initial FDC3 context or intent message is broadcast to the opening client.
2099
+ // Append actionId to signal action response must be sent when the client's initialization message is sent to it.
2100
+ const modifiedPendingMessage = Object.assign(Object.assign({}, pendingMessage), { meta: Object.assign(Object.assign({}, pendingMessage.meta), { pendingActionId: actionId }) });
2101
+ state.resolver.queue[windowName] = ((_a = state.resolver.queue[windowName]) !== null && _a !== void 0 ? _a : []).concat([
2102
+ {
2103
+ pendingMessage: modifiedPendingMessage,
2104
+ timestamp: Date.now(),
2105
+ },
2106
+ ]);
2107
+ }
2108
+ else if (error) {
2109
+ Logger.system.error("open failed due to openApp error", error, windowName);
2110
+ const actionResult = actionId.type === "raiseIntent"
2111
+ ? {
2112
+ type: "raiseIntent",
2113
+ error: ResolveError.NoAppsFound,
2114
+ }
2115
+ : {
2116
+ type: "open",
2117
+ error: OpenError.AppNotFound,
2118
+ };
2119
+ setActionResult(actionId, actionResult);
2120
+ }
2121
+ else if (windowName && !pendingMessage) {
2122
+ // no context was specified in the open for this path
2123
+ // check if window already registered
2124
+ const uuids = uuidsFromWindowName({ clients: state.resolver.clients, windowName });
2125
+ const existingUuid = uuids.length === 0 ? null : uuids[0];
2126
+ if (uuids.length > 1) {
2127
+ Logger.system.warn(`Interop.resolver.openedApp found multiple existing clients with same window name ${windowName}.`);
2128
+ }
2129
+ if (existingUuid && ((_b = state.resolver.clients[existingUuid]) === null || _b === void 0 ? void 0 : _b.readiness) === "ready") {
2130
+ // respond to the app that made the open request; this is only for when the open request didn't contain an initial context (otherwise respond when context listener is subscribed to))
2131
+ Logger.system.debug(`Interop.resolver.completeRegistration setting open result for ${windowName}.`);
2132
+ setActionResult(actionId, { type: "open" });
2133
+ }
2134
+ else {
2135
+ // the window hasn't completed registration yet
2136
+ // so save actionId so completeRegistration action can respond to it
2137
+ state.resolver.pendingOpenActionIds[windowName] = actionId;
2138
+ Logger.system.debug("Interop.resolver.openedApp: no initial context specified");
2139
+ }
2140
+ }
2141
+ else {
2142
+ Logger.system.error("Interop.resolver.openedApp interopAssertion failure -- null path taken", error, windowName, pendingMessage);
2143
+ }
2144
+ })
2145
+ .addCase(actions.raiseIntent, (state, action, cmd) => {
2146
+ var _a;
2147
+ const { actionId } = action.payload;
2148
+ const { fsa } = action.payload;
2149
+ const { intent: intentName, context, target } = fsa.payload;
2150
+ const { uuid } = fsa.meta;
2151
+ const client = state.resolver.clients[uuid];
2152
+ // Get a filtered list of AppIntent objects that match the given intentName and/or context and optionally a target app.
2153
+ // Note that AppIntent itself contains a list of apps, so the `appIntents` object is actually a two dimensional array
2154
+ // This is because raiseIntentByContext requires such a two dimensional array. See comments for ResolutionList type.
2155
+ const appIntents = findAndFilterAppIntents({
2156
+ resolverState: state.resolver,
2157
+ intentName,
2158
+ context,
2159
+ target,
2160
+ });
2161
+ // Get a second list which only contains launchable apps. (This also excludes singletons that are already running).
2162
+ const launchableAppIntents = findAndFilterAppIntents({
2163
+ resolverState: state.resolver,
2164
+ intentName,
2165
+ context,
2166
+ target,
2167
+ filterNotLaunchable: true,
2168
+ filterOpenSingletons: true,
2169
+ });
2170
+ /**
2171
+ * Build a multi-dimensional array of recipients. There is an entry for each known intent (each intent)
2172
+ * from state.resolver.intent - which was generated from appd entries.
2173
+ *
2174
+ * Within each of these entries there is a list of launchable apps (those that have intents registered in their
2175
+ * appd entries) and open apps (those which are running and have called addIntentListener()).
2176
+ *
2177
+ * The reason we build a multi-dimensional array is because this reducer may have been called only with a context.
2178
+ * The resulting `appIntents` list might therefore resolve to a number of intents that all accept that context.
2179
+ * See raiseIntentForContext().
2180
+ */
2181
+ let resolutionMultiArray = appIntents.map((appIntent) => {
2182
+ var _a, _b, _c, _d;
2183
+ // Get lists of resolution objects, both for launchable apps and open apps
2184
+ // The list of intents and corresponding app choices that is launchable is potentially a subset of the broader list
2185
+ const registeredLaunchableApps = (_b = (_a = launchableAppIntents.find((thisIntentData) => thisIntentData.intent.name === appIntent.intent.name)) === null || _a === void 0 ? void 0 : _a.apps) !== null && _b !== void 0 ? _b : [];
2186
+ const openAppsWithHandler = getRunningAppsForIntent({
2187
+ state,
2188
+ target,
2189
+ intent: appIntent.intent.name,
2190
+ });
2191
+ return {
2192
+ launchableApps: filterUnauthorizedRecipients({
2193
+ state,
2194
+ uuid: fsa.meta.uuid,
2195
+ intentName,
2196
+ contextType: (_c = fsa.payload.context) === null || _c === void 0 ? void 0 : _c.type,
2197
+ which: "apps",
2198
+ candidates: registeredLaunchableApps.map((meta) => {
2199
+ return {
2200
+ meta,
2201
+ appId: meta.appId,
2202
+ };
2203
+ }),
2204
+ }),
2205
+ openApps: filterUnauthorizedRecipients({
2206
+ state,
2207
+ uuid: fsa.meta.uuid,
2208
+ intentName,
2209
+ contextType: (_d = fsa.payload.context) === null || _d === void 0 ? void 0 : _d.type,
2210
+ which: "uuids",
2211
+ candidates: openAppsWithHandler,
2212
+ }),
2213
+ intent: appIntent.intent,
2214
+ };
2215
+ });
2216
+ /**
2217
+ * Generate a list of all the running apps that have registered to listen for the intent specified in the fsa.
2218
+ * If the fsa doesn't have an intent (e.g. this reducer is the result of a call to getIntentsByContext) then
2219
+ * this will result in any empty array (those subscribers will be picked up when the resolutionMultiArray is generated below).
2220
+ */
2221
+ const runningAppsWithHandler = getRunningAppsForIntent({
2222
+ state,
2223
+ target,
2224
+ intent: intentName,
2225
+ });
2226
+ /**
2227
+ * Add any "dynamic" intent subscribing clients to the multi-array. These are clients that have called addIntentListener()
2228
+ * on an unknown intent (one that is not in any appd entry).
2229
+ */
2230
+ if (intentName && !resolutionMultiArray.some((resolutionList) => resolutionList.intent.name === intentName)) {
2231
+ resolutionMultiArray = resolutionMultiArray.concat({
2232
+ launchableApps: [],
2233
+ openApps: filterUnauthorizedRecipients({
2234
+ state,
2235
+ uuid: fsa.meta.uuid,
2236
+ intentName,
2237
+ contextType: (_a = fsa.payload.context) === null || _a === void 0 ? void 0 : _a.type,
2238
+ which: "uuids",
2239
+ candidates: runningAppsWithHandler,
2240
+ }),
2241
+ intent: {
2242
+ name: intentName,
2243
+ displayName: intentName,
2244
+ },
2245
+ });
2246
+ }
2247
+ const numberOfAuthorizedRecipients = resolutionMultiArray
2248
+ .map((resolutionList) => resolutionList.launchableApps.length + resolutionList.openApps.length)
2249
+ .reduce((acc, cur) => acc + cur, 0);
2250
+ // Provide helpful warning messages to developers for potential mismatches between AppD entries and addIntentListener()
2251
+ if (intentName && state.resolver.intents[intentName]) {
2252
+ const anyRecipients = launchableAppIntents.length > 0 || runningAppsWithHandler.length > 0;
2253
+ if (!anyRecipients) {
2254
+ Logger.warn(`No app was found for "raiseIntent ${intentName}" although the intent is defined. This might be the desired behavior, but if not then review the AppD config for apps than handle ${intentName}. One possible cause is if the app is not launchable and hasn't registered.`);
2255
+ }
2256
+ else if (!numberOfAuthorizedRecipients) {
2257
+ Logger.warn(`No app was found for "raiseIntent ${intentName}" after filtering for authorization, although the intent is defined. This might be the desired behavior, but if not then review the AppD config authorization rules. Also confirm the target app was authenticated when it registered.`);
2258
+ }
2259
+ }
2260
+ // Raising the intent is always a multi-step acton, so pull together the requisite intent data for the next steps.
2261
+ // Set flag to specify if UI Resolver is available and needed to decide which app handles the intent
2262
+ const isAppResolutionNeeded = numberOfAuthorizedRecipients > 1 && state.resolver.config.registeredUIResolver !== null;
2263
+ Logger.system.log(`Interop.resolver.raiseIntent needs resolution=${isAppResolutionNeeded}`, {
2264
+ appIntents,
2265
+ launchableAppIntents,
2266
+ resolutionMultiArray,
2267
+ });
2268
+ // if UI resolver is needed, then initiate handshake with it
2269
+ if (isAppResolutionNeeded) {
2270
+ sendIntentToAppResolver({
2271
+ state,
2272
+ cmd,
2273
+ actionId,
2274
+ fsa,
2275
+ resolutionList: resolutionMultiArray,
2276
+ originatingAppWindow: client.windowName,
2277
+ });
2278
+ return;
2279
+ }
2280
+ /**
2281
+ * Automatically pick the app. Either because no UI resolution is necessary, or the UI resolver isn't registered.
2282
+ * If the UI resolver is unregistered, then the first app in the list of possibilities is picked.
2283
+ */
2284
+ const appToOpen = resolutionMultiArray.find((listItem) => listItem.launchableApps.length > 0);
2285
+ const alreadyOpenApp = resolutionMultiArray.find((listItem) => listItem.openApps.length > 0);
2286
+ if (appToOpen) {
2287
+ openAppForIntent({
2288
+ state,
2289
+ cmd,
2290
+ fsa,
2291
+ actionId,
2292
+ appId: appToOpen.launchableApps[0].appId,
2293
+ originatingAppId: client.appId,
2294
+ originatingAppWindow: client.windowName,
2295
+ });
2296
+ }
2297
+ else if (alreadyOpenApp) {
2298
+ sendIntentToRunningApp({
2299
+ state,
2300
+ fsa,
2301
+ cmd,
2302
+ app: alreadyOpenApp.openApps[0],
2303
+ });
2304
+ }
2305
+ else {
2306
+ // Return a ResolveError to the Desktop Agent because no valid app was found to handle the intent
2307
+ // Perhaps should be a user notification
2308
+ Logger.warn(`No app found for FDC3 intent request. Intent=\"${intentName}\" Optional Target App=\"${target}\"`);
2309
+ const raiseIntentResult = {
2310
+ type: "raiseIntent",
2311
+ error: ResolveError.NoAppsFound,
2312
+ };
2313
+ setActionResult(actionId, raiseIntentResult);
2314
+ }
2315
+ })
2316
+ // triggered by raiseIntent to handle UI Resolver response -- see cmd.run(resolveIntentApps...)
2317
+ .addCase(actions.handleUIResolutionResponse, (state, action, cmd) => {
2318
+ const fsa = action.payload;
2319
+ const { actionId, resolverResolution, pendingMessage } = fsa;
2320
+ const { intent, windowName, selectedApp, originatingAppWindow } = resolverResolution;
2321
+ let updatedPendingIntentMessage = unImmer(pendingMessage);
2322
+ state.resolver.apps.intentResolutionInProgress = false;
2323
+ state.resolver.apps.intentResolutionCurrentActionId = null;
2324
+ // if UI resolution returned a selected intent name, use if for the pending intent
2325
+ if (intent) {
2326
+ updatedPendingIntentMessage.payload.intent = intent;
2327
+ }
2328
+ // if resolve error, which might be due to user cancel, then don't resolve the intent
2329
+ if (resolverResolution.error) {
2330
+ Logger.warn(`Interop.resolver.handleUIResolutionResponse. ${resolverResolution.error}`, {
2331
+ state,
2332
+ action,
2333
+ resolverResolution,
2334
+ });
2335
+ const raiseIntentResult = {
2336
+ type: "raiseIntent",
2337
+ error: resolverResolution.error,
2338
+ };
2339
+ setActionResult(actionId, raiseIntentResult);
2340
+ // if app is already open, then immediately broadcast the intent to that app
2341
+ }
2342
+ else if (windowName) {
2343
+ const uuids = uuidsFromWindowName({ clients: state.resolver.clients, windowName });
2344
+ if (uuids.length) {
2345
+ const uuid = uuids[0];
2346
+ const interopBroadcast = Object.assign(Object.assign({}, updatedPendingIntentMessage), { meta: Object.assign(Object.assign({}, updatedPendingIntentMessage.meta), { pendingActionId: actionId,
2347
+ // Ensure that the broadcast goes to the specific app selected by the end user
2348
+ to: uuid }) });
2349
+ cmd === null || cmd === void 0 ? void 0 : cmd.action(actions.broadcast(interopBroadcast));
2350
+ // no setActionResult here because a successful result won't be sent until initial intent message is broadcast to the app client
2351
+ }
2352
+ else {
2353
+ Logger.error(`Interop.resolver.handleUIResolutionResponse client ${windowName} not found. App may have been terminated during intent resolution`);
2354
+ const raiseIntentResult = {
2355
+ type: "raiseIntent",
2356
+ error: ResolveError.NoAppsFound,
2357
+ };
2358
+ setActionResult(actionId, raiseIntentResult);
2359
+ }
2360
+ }
2361
+ else if (selectedApp && selectedApp.appId) {
2362
+ // else open the app selected by the end user. The intent will be queued by `openedApp` until the app subscribes for the intent.
2363
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(openApp, {
2364
+ args: [
2365
+ {
2366
+ actionId,
2367
+ appId: selectedApp.appId,
2368
+ pendingMessage: updatedPendingIntentMessage,
2369
+ originatingAppId: originatingAppWindow !== null && originatingAppWindow !== void 0 ? originatingAppWindow : "undefined",
2370
+ originatingAppWindow: originatingAppWindow !== null && originatingAppWindow !== void 0 ? originatingAppWindow : "undefined",
2371
+ appDefinitions: unImmer(state.resolver.apps.definitions),
2372
+ },
2373
+ ],
2374
+ successActionCreator: actions.openedApp,
2375
+ });
2376
+ }
2377
+ else {
2378
+ Logger.error("No appId returned from UI resolver");
2379
+ }
2380
+ Logger.system.debug("Interop.resolver.handleUIResolutionResponse resolution", {
2381
+ state,
2382
+ action,
2383
+ resolverResolution,
2384
+ });
2385
+ })
2386
+ .addCase(actions.subscribeIntent, (state, action, cmd) => {
2387
+ var _a, _b, _c, _d;
2388
+ const fsa = action.payload;
2389
+ const { intent: intentName } = fsa.payload;
2390
+ const { uuid } = fsa.meta;
2391
+ const client = state.resolver.clients[uuid];
2392
+ client.subscriptions.globals.intents[intentName] = true;
2393
+ const appDefinition = (_a = state.resolver.apps.definitions[client.appId]) !== null && _a !== void 0 ? _a : {};
2394
+ // All apps should have AppD entries that identify the intents that they will listen for but
2395
+ // if not then provide a clear message for app developers.
2396
+ const intentIsRegisteredInAppD = (_b = appDefinition === null || appDefinition === void 0 ? void 0 : appDefinition.intents) === null || _b === void 0 ? void 0 : _b.some((intent) => intent.name === intentName);
2397
+ if (!intentIsRegisteredInAppD) {
2398
+ const friendlyName = appDefinition ? getFriendlyName(appDefinition) : client.appId;
2399
+ const logMessage = `"${friendlyName}" added intent listener for "${intentName}" which isn't in its AppD entry. Intents will be processed but an AppD entry must include "${intentName}" for full functionality.`;
2400
+ Logger.system.error(logMessage);
2401
+ const messageTitle = "FDC3 AppD Config Issue";
2402
+ const messageDetails = `"${friendlyName}" added intent listener for "${intentName}" which isn't in its AppD entry. Check the central logger for more information.`;
2403
+ const devModeOnly = true;
2404
+ cmd === null || cmd === void 0 ? void 0 : cmd.run(notifyEndUser, {
2405
+ args: [messageTitle, messageDetails, devModeOnly],
2406
+ });
2407
+ }
2408
+ // find the matching intent in app definitions
2409
+ let matchingIntent = (_d = (_c = state.resolver.apps.definitions[client.appId]) === null || _c === void 0 ? void 0 : _c.intents) === null || _d === void 0 ? void 0 : _d.find((intent) => intent.name === intentName);
2410
+ // each time a listener is added, mark it so cleanAndVerify can later confirm all the expected listeners were added
2411
+ if (matchingIntent) {
2412
+ matchingIntent.appListenerAdded = true;
2413
+ }
2414
+ releaseQueuedMessages({
2415
+ state,
2416
+ uuid,
2417
+ cmd,
2418
+ type: "raiseIntent",
2419
+ intent: intentName,
2420
+ });
2421
+ })
2422
+ .addCase(actions.unsubscribeIntent, (state, action) => {
2423
+ const fsa = action.payload;
2424
+ const { intent: intentName } = fsa.payload;
2425
+ const { uuid } = fsa.meta;
2426
+ const client = state.resolver.clients[uuid];
2427
+ delete client.subscriptions.globals.intents[intentName];
2428
+ })
2429
+ .addCase(actions.addAppDefinitions, (state, action) => {
2430
+ const fsa = action.payload;
2431
+ const { apps } = fsa.payload;
2432
+ Object.values(apps).forEach((definition) => {
2433
+ state.resolver.apps.definitions[definition.appId] = definition;
2434
+ state.resolver.intents = appendedIntentData(state.resolver, definition);
2435
+ });
2436
+ Logger.system.debug("Interop.resolver.addAppDefinitions result", state.resolver.apps.definitions);
2437
+ })
2438
+ .addCase(actions.removeAppDefinitions, (state, action) => {
2439
+ const fsa = action.payload;
2440
+ const { apps } = fsa.payload;
2441
+ const { definitions } = state.resolver.apps;
2442
+ apps.forEach((appId) => {
2443
+ delete definitions[appId];
2444
+ });
2445
+ })
2446
+ .addCase(actions.registerUIResolver, (state, action) => {
2447
+ const fsa = action.payload;
2448
+ const { uuid } = fsa.meta;
2449
+ state.resolver.config.registeredUIResolver = uuid;
2450
+ })
2451
+ .addCase(actions.resetDetectedLoopState, (state, action) => {
2452
+ const { senderUuid, newTimerId } = action.payload;
2453
+ const { loopDetectionMap } = state.resolver;
2454
+ let loopDetectionRecord = loopDetectionMap[senderUuid];
2455
+ loopDetectionRecord.timerId = newTimerId;
2456
+ loopDetectionRecord.count = 0;
2457
+ loopDetectionRecord.loopNotificationIssued = false;
2458
+ Logger.system.debug("Interop.resolver.resetDetectedLoopState record", loopDetectionRecord);
2459
+ })
2460
+ .addCase(actions.addIntentListenerMaxInitializationTimeout, (state, action) => {
2461
+ state.resolver.addIntentListenerMaxInitializationTimeout = action.payload;
2462
+ Logger.system.debug("Interop.resolver.addIntentListenerMaxInitializationTimeout added", action.payload);
2463
+ });
2464
+ };
2465
+ // Used by Live Mocha tests to control state or simulate user actions. See fdc3Tests.js for example where Testpoint.triggerAction causes this onAction() to fire.
2466
+ testPoint.onAction("fdc3.resolver.disableCleanupStaleChannels", () => {
2467
+ testPoint.state.disableCleanupStaleChannels = true;
2468
+ });
2469
+ testPoint.onAction("fdc3.resolver.reenableCleanupStaleChannels", () => {
2470
+ testPoint.state.disableCleanupStaleChannels = false;
2471
+ });
2472
+ export default {
2473
+ getInitialState,
2474
+ addReducerCases,
2475
+ actions,
2476
+ workspaceUuid,
2477
+ initialize: (store) => {
2478
+ store;
2479
+ },
2480
+ };
2481
+ //# sourceMappingURL=resolver.js.map