@atlaskit/teams-public 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/confluence-icon/package.json +9 -0
  3. package/dist/cjs/common/hooks/useSpaceInviteScheduler.js +2 -2
  4. package/dist/cjs/common/ui/container-icon/index.js +9 -9
  5. package/dist/cjs/common/ui/loom-avatar/getAvatarText.js +9 -0
  6. package/dist/cjs/common/ui/loom-avatar/hash.js +13 -0
  7. package/dist/cjs/common/ui/loom-avatar/main.js +9 -7
  8. package/dist/cjs/common/ui/loom-avatar/pickContainerColor.js +19 -0
  9. package/dist/cjs/common/ui/loom-avatar/pickTextColor.js +19 -0
  10. package/dist/cjs/common/ui/team-link-card-actions/index.js +12 -12
  11. package/dist/cjs/common/utils/analytics.js +2 -2
  12. package/dist/cjs/common/utils/container-to-new-web-link.js +13 -0
  13. package/dist/cjs/common/utils/get-container-properties.js +6 -6
  14. package/dist/cjs/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +4 -14
  15. package/dist/cjs/common/utils/get-is-experiment-enabled.js +3 -3
  16. package/dist/cjs/common/utils/is-new-team-web-link.js +9 -0
  17. package/dist/cjs/common/utils/team-web-link-converters.js +1 -34
  18. package/dist/cjs/common/utils/unsafe-get-domain-from-url.js +16 -0
  19. package/dist/cjs/common/utils/web-link-to-container.js +15 -0
  20. package/dist/cjs/common/utils/web-links-to-containers.js +16 -0
  21. package/dist/cjs/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  22. package/dist/cjs/controllers/hooks/use-team-containers/actions-2.js +488 -0
  23. package/dist/cjs/controllers/hooks/use-team-containers/actions.js +383 -0
  24. package/dist/cjs/controllers/hooks/use-team-containers/connected-teams.js +5 -0
  25. package/dist/cjs/controllers/hooks/use-team-containers/containers-deep-equal.js +23 -0
  26. package/dist/cjs/controllers/hooks/use-team-containers/containers-equal.js +29 -0
  27. package/dist/cjs/controllers/hooks/use-team-containers/fire-analytics-props.js +1 -0
  28. package/dist/cjs/controllers/hooks/use-team-containers/get-error-details.js +14 -0
  29. package/dist/cjs/controllers/hooks/use-team-containers/get-initial-team-state.js +18 -0
  30. package/dist/cjs/controllers/hooks/use-team-containers/index.js +17 -465
  31. package/dist/cjs/controllers/hooks/use-team-containers/initial-connected-teams-state.js +14 -0
  32. package/dist/cjs/controllers/hooks/use-team-containers/multi-team.js +4 -634
  33. package/dist/cjs/controllers/hooks/use-team-containers/normalize-error.js +12 -0
  34. package/dist/cjs/controllers/hooks/use-team-containers/state.js +5 -0
  35. package/dist/cjs/controllers/hooks/use-team-containers/store.js +23 -0
  36. package/dist/cjs/controllers/hooks/use-team-containers/team-containers-state.js +5 -0
  37. package/dist/cjs/controllers/hooks/use-team-containers/team-state.js +5 -0
  38. package/dist/cjs/controllers/hooks/use-team-containers/use-connected-teams-2.js +56 -0
  39. package/dist/cjs/controllers/hooks/use-team-containers/use-connected-teams.js +36 -0
  40. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers-2.js +86 -0
  41. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers-hook.js +9 -0
  42. package/dist/cjs/controllers/hooks/use-team-containers/use-team-containers.js +55 -0
  43. package/dist/cjs/controllers/hooks/use-team-links-and-containers/index.js +9 -7
  44. package/dist/cjs/controllers/hooks/use-team-web-links/actions.js +328 -0
  45. package/dist/cjs/controllers/hooks/use-team-web-links/index.js +17 -359
  46. package/dist/cjs/controllers/hooks/use-team-web-links/initial-state.js +19 -0
  47. package/dist/cjs/controllers/hooks/use-team-web-links/store.js +14 -0
  48. package/dist/cjs/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +21 -0
  49. package/dist/cjs/controllers/hooks/use-team-web-links/use-team-web-links.js +19 -0
  50. package/dist/cjs/controllers/index.js +6 -5
  51. package/dist/cjs/controllers/product-permission/getProductPermissionRequestBody.js +28 -0
  52. package/dist/cjs/controllers/product-permission/hasProductPermission.js +23 -0
  53. package/dist/cjs/controllers/product-permission/main.js +4 -3
  54. package/dist/cjs/controllers/product-permission/transformPermissions.js +22 -0
  55. package/dist/cjs/controllers/product-permission/utils.js +19 -51
  56. package/dist/cjs/index.js +8 -6
  57. package/dist/cjs/next/ui/team-containers/team-link-card/index.js +4 -4
  58. package/dist/cjs/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +8 -52
  59. package/dist/cjs/ui/team-containers/add-container-card/getAddContainerCards.js +54 -0
  60. package/dist/cjs/ui/team-containers/disconnect-dialog/index.js +5 -5
  61. package/dist/cjs/ui/team-containers/main.compiled.css +1 -0
  62. package/dist/cjs/ui/team-containers/main.js +34 -29
  63. package/dist/cjs/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  64. package/dist/cjs/ui/team-containers/team-link-card/index.js +19 -17
  65. package/dist/es2019/common/assets/index.js +10 -0
  66. package/dist/es2019/common/hooks/useSpaceInviteScheduler.js +1 -1
  67. package/dist/es2019/common/ui/container-icon/index.js +5 -5
  68. package/dist/es2019/common/ui/loom-avatar/getAvatarText.js +3 -0
  69. package/dist/es2019/common/ui/loom-avatar/hash.js +6 -0
  70. package/dist/es2019/common/ui/loom-avatar/index.js +4 -0
  71. package/dist/es2019/common/ui/loom-avatar/main.js +5 -3
  72. package/dist/es2019/common/ui/loom-avatar/pickContainerColor.js +13 -0
  73. package/dist/es2019/common/ui/loom-avatar/pickTextColor.js +13 -0
  74. package/dist/es2019/common/ui/team-link-card-actions/index.js +6 -4
  75. package/dist/es2019/common/utils/analytics.js +1 -1
  76. package/dist/es2019/common/utils/container-to-new-web-link.js +7 -0
  77. package/dist/es2019/common/utils/get-container-properties.js +2 -2
  78. package/dist/es2019/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +2 -11
  79. package/dist/es2019/common/utils/get-is-experiment-enabled.js +1 -1
  80. package/dist/es2019/common/utils/is-new-team-web-link.js +3 -0
  81. package/dist/es2019/common/utils/team-web-link-converters.js +0 -25
  82. package/dist/es2019/common/utils/unsafe-get-domain-from-url.js +10 -0
  83. package/dist/es2019/common/utils/web-link-to-container.js +9 -0
  84. package/dist/es2019/common/utils/web-links-to-containers.js +7 -0
  85. package/dist/es2019/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  86. package/dist/es2019/controllers/hooks/use-team-containers/actions-2.js +413 -0
  87. package/dist/es2019/controllers/hooks/use-team-containers/actions.js +260 -0
  88. package/dist/es2019/controllers/hooks/use-team-containers/connected-teams.js +1 -0
  89. package/dist/es2019/controllers/hooks/use-team-containers/containers-deep-equal.js +13 -0
  90. package/dist/es2019/controllers/hooks/use-team-containers/containers-equal.js +17 -0
  91. package/dist/es2019/controllers/hooks/use-team-containers/fire-analytics-props.js +0 -0
  92. package/dist/es2019/controllers/hooks/use-team-containers/get-error-details.js +8 -0
  93. package/dist/es2019/controllers/hooks/use-team-containers/get-initial-team-state.js +10 -0
  94. package/dist/es2019/controllers/hooks/use-team-containers/index.js +13 -329
  95. package/dist/es2019/controllers/hooks/use-team-containers/initial-connected-teams-state.js +8 -0
  96. package/dist/es2019/controllers/hooks/use-team-containers/multi-team.js +2 -541
  97. package/dist/es2019/controllers/hooks/use-team-containers/normalize-error.js +6 -0
  98. package/dist/es2019/controllers/hooks/use-team-containers/state.js +1 -0
  99. package/dist/es2019/controllers/hooks/use-team-containers/store.js +17 -0
  100. package/dist/es2019/controllers/hooks/use-team-containers/team-containers-state.js +1 -0
  101. package/dist/es2019/controllers/hooks/use-team-containers/team-state.js +1 -0
  102. package/dist/es2019/controllers/hooks/use-team-containers/use-connected-teams-2.js +44 -0
  103. package/dist/es2019/controllers/hooks/use-team-containers/use-connected-teams.js +20 -0
  104. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers-2.js +59 -0
  105. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers-hook.js +3 -0
  106. package/dist/es2019/controllers/hooks/use-team-containers/use-team-containers.js +28 -0
  107. package/dist/es2019/controllers/hooks/use-team-links-and-containers/index.js +5 -3
  108. package/dist/es2019/controllers/hooks/use-team-web-links/actions.js +177 -0
  109. package/dist/es2019/controllers/hooks/use-team-web-links/index.js +13 -217
  110. package/dist/es2019/controllers/hooks/use-team-web-links/initial-state.js +13 -0
  111. package/dist/es2019/controllers/hooks/use-team-web-links/store.js +8 -0
  112. package/dist/es2019/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +15 -0
  113. package/dist/es2019/controllers/hooks/use-team-web-links/use-team-web-links.js +13 -0
  114. package/dist/es2019/controllers/index.js +17 -3
  115. package/dist/es2019/controllers/product-permission/getProductPermissionRequestBody.js +19 -0
  116. package/dist/es2019/controllers/product-permission/hasProductPermission.js +15 -0
  117. package/dist/es2019/controllers/product-permission/main.js +2 -1
  118. package/dist/es2019/controllers/product-permission/transformPermissions.js +15 -0
  119. package/dist/es2019/controllers/product-permission/utils.js +11 -48
  120. package/dist/es2019/i18n/index.js +88 -0
  121. package/dist/es2019/index.js +5 -3
  122. package/dist/es2019/next/index.js +10 -0
  123. package/dist/es2019/next/ui/team-containers/team-link-card/index.js +2 -2
  124. package/dist/es2019/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +4 -41
  125. package/dist/es2019/ui/team-containers/add-container-card/getAddContainerCards.js +40 -0
  126. package/dist/es2019/ui/team-containers/disconnect-dialog/index.js +2 -2
  127. package/dist/es2019/ui/team-containers/index.js +12 -1
  128. package/dist/es2019/ui/team-containers/main.compiled.css +1 -0
  129. package/dist/es2019/ui/team-containers/main.js +17 -11
  130. package/dist/es2019/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  131. package/dist/es2019/ui/team-containers/team-link-card/index.js +9 -7
  132. package/dist/esm/common/assets/index.js +10 -0
  133. package/dist/esm/common/hooks/useSpaceInviteScheduler.js +1 -1
  134. package/dist/esm/common/ui/container-icon/index.js +5 -5
  135. package/dist/esm/common/ui/loom-avatar/getAvatarText.js +3 -0
  136. package/dist/esm/common/ui/loom-avatar/hash.js +6 -0
  137. package/dist/esm/common/ui/loom-avatar/index.js +4 -0
  138. package/dist/esm/common/ui/loom-avatar/main.js +5 -3
  139. package/dist/esm/common/ui/loom-avatar/pickContainerColor.js +13 -0
  140. package/dist/esm/common/ui/loom-avatar/pickTextColor.js +13 -0
  141. package/dist/esm/common/ui/team-link-card-actions/index.js +6 -4
  142. package/dist/esm/common/utils/analytics.js +1 -1
  143. package/dist/esm/common/utils/container-to-new-web-link.js +7 -0
  144. package/dist/esm/common/utils/get-container-properties.js +2 -2
  145. package/dist/esm/common/utils/{get-link-domain.js → get-domain-from-link-uri.js} +2 -11
  146. package/dist/esm/common/utils/get-is-experiment-enabled.js +1 -1
  147. package/dist/esm/common/utils/is-new-team-web-link.js +3 -0
  148. package/dist/esm/common/utils/team-web-link-converters.js +0 -28
  149. package/dist/esm/common/utils/unsafe-get-domain-from-url.js +10 -0
  150. package/dist/esm/common/utils/web-link-to-container.js +9 -0
  151. package/dist/esm/common/utils/web-links-to-containers.js +10 -0
  152. package/dist/esm/controllers/hooks/use-refresh-containers-on-container-created/index.js +1 -1
  153. package/dist/esm/controllers/hooks/use-team-containers/actions-2.js +481 -0
  154. package/dist/esm/controllers/hooks/use-team-containers/actions.js +376 -0
  155. package/dist/esm/controllers/hooks/use-team-containers/connected-teams.js +1 -0
  156. package/dist/esm/controllers/hooks/use-team-containers/containers-deep-equal.js +16 -0
  157. package/dist/esm/controllers/hooks/use-team-containers/containers-equal.js +22 -0
  158. package/dist/esm/controllers/hooks/use-team-containers/fire-analytics-props.js +0 -0
  159. package/dist/esm/controllers/hooks/use-team-containers/get-error-details.js +8 -0
  160. package/dist/esm/controllers/hooks/use-team-containers/get-initial-team-state.js +12 -0
  161. package/dist/esm/controllers/hooks/use-team-containers/index.js +13 -467
  162. package/dist/esm/controllers/hooks/use-team-containers/initial-connected-teams-state.js +8 -0
  163. package/dist/esm/controllers/hooks/use-team-containers/multi-team.js +2 -631
  164. package/dist/esm/controllers/hooks/use-team-containers/normalize-error.js +6 -0
  165. package/dist/esm/controllers/hooks/use-team-containers/state.js +1 -0
  166. package/dist/esm/controllers/hooks/use-team-containers/store.js +17 -0
  167. package/dist/esm/controllers/hooks/use-team-containers/team-containers-state.js +1 -0
  168. package/dist/esm/controllers/hooks/use-team-containers/team-state.js +1 -0
  169. package/dist/esm/controllers/hooks/use-team-containers/use-connected-teams-2.js +49 -0
  170. package/dist/esm/controllers/hooks/use-team-containers/use-connected-teams.js +29 -0
  171. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers-2.js +79 -0
  172. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers-hook.js +3 -0
  173. package/dist/esm/controllers/hooks/use-team-containers/use-team-containers.js +48 -0
  174. package/dist/esm/controllers/hooks/use-team-links-and-containers/index.js +5 -3
  175. package/dist/esm/controllers/hooks/use-team-web-links/actions.js +321 -0
  176. package/dist/esm/controllers/hooks/use-team-web-links/index.js +13 -361
  177. package/dist/esm/controllers/hooks/use-team-web-links/initial-state.js +13 -0
  178. package/dist/esm/controllers/hooks/use-team-web-links/store.js +8 -0
  179. package/dist/esm/controllers/hooks/use-team-web-links/use-team-web-links-actions.js +15 -0
  180. package/dist/esm/controllers/hooks/use-team-web-links/use-team-web-links.js +13 -0
  181. package/dist/esm/controllers/index.js +17 -3
  182. package/dist/esm/controllers/product-permission/getProductPermissionRequestBody.js +21 -0
  183. package/dist/esm/controllers/product-permission/hasProductPermission.js +17 -0
  184. package/dist/esm/controllers/product-permission/main.js +2 -1
  185. package/dist/esm/controllers/product-permission/transformPermissions.js +15 -0
  186. package/dist/esm/controllers/product-permission/utils.js +11 -49
  187. package/dist/esm/i18n/index.js +88 -0
  188. package/dist/esm/index.js +5 -3
  189. package/dist/esm/next/index.js +10 -0
  190. package/dist/esm/next/ui/team-containers/team-link-card/index.js +2 -2
  191. package/dist/esm/ui/team-containers/add-container-card/{index.js → AddContainerCard.js} +4 -48
  192. package/dist/esm/ui/team-containers/add-container-card/getAddContainerCards.js +47 -0
  193. package/dist/esm/ui/team-containers/disconnect-dialog/index.js +2 -2
  194. package/dist/esm/ui/team-containers/index.js +12 -1
  195. package/dist/esm/ui/team-containers/main.compiled.css +1 -0
  196. package/dist/esm/ui/team-containers/main.js +17 -11
  197. package/dist/esm/ui/team-containers/no-product-access-empty-state/index.js +1 -1
  198. package/dist/esm/ui/team-containers/team-link-card/index.js +9 -7
  199. package/dist/types/common/assets/index.d.ts +9 -0
  200. package/dist/types/common/ui/loom-avatar/getAvatarText.d.ts +1 -0
  201. package/dist/types/common/ui/loom-avatar/hash.d.ts +1 -0
  202. package/dist/types/common/ui/loom-avatar/index.d.ts +3 -0
  203. package/dist/types/common/ui/loom-avatar/pickContainerColor.d.ts +8 -0
  204. package/dist/types/common/ui/loom-avatar/pickTextColor.d.ts +8 -0
  205. package/dist/types/common/utils/container-to-new-web-link.d.ts +2 -0
  206. package/dist/types/common/utils/{get-link-domain.d.ts → get-domain-from-link-uri.d.ts} +0 -7
  207. package/dist/types/common/utils/is-new-team-web-link.d.ts +2 -0
  208. package/dist/types/common/utils/team-web-link-converters.d.ts +0 -5
  209. package/dist/types/common/utils/unsafe-get-domain-from-url.d.ts +7 -0
  210. package/dist/types/common/utils/web-link-to-container.d.ts +3 -0
  211. package/dist/types/common/utils/web-links-to-containers.d.ts +3 -0
  212. package/dist/types/controllers/hooks/use-team-containers/actions-2.d.ts +13 -0
  213. package/dist/types/controllers/hooks/use-team-containers/actions.d.ts +12 -0
  214. package/dist/types/controllers/hooks/use-team-containers/connected-teams.d.ts +9 -0
  215. package/dist/types/controllers/hooks/use-team-containers/containers-deep-equal.d.ts +12 -0
  216. package/dist/types/controllers/hooks/use-team-containers/containers-equal.d.ts +11 -0
  217. package/dist/types/controllers/hooks/use-team-containers/fire-analytics-props.d.ts +7 -0
  218. package/dist/types/controllers/hooks/use-team-containers/get-error-details.d.ts +4 -0
  219. package/dist/types/controllers/hooks/use-team-containers/get-initial-team-state.d.ts +2 -0
  220. package/dist/types/controllers/hooks/use-team-containers/index.d.ts +12 -59
  221. package/dist/types/controllers/hooks/use-team-containers/initial-connected-teams-state.d.ts +2 -0
  222. package/dist/types/controllers/hooks/use-team-containers/multi-team.d.ts +3 -53
  223. package/dist/types/controllers/hooks/use-team-containers/normalize-error.d.ts +1 -0
  224. package/dist/types/controllers/hooks/use-team-containers/state.d.ts +6 -0
  225. package/dist/types/controllers/hooks/use-team-containers/store.d.ts +4 -0
  226. package/dist/types/controllers/hooks/use-team-containers/team-containers-state.d.ts +16 -0
  227. package/dist/types/controllers/hooks/use-team-containers/team-state.d.ts +11 -0
  228. package/dist/types/controllers/hooks/use-team-containers/use-connected-teams-2.d.ts +11 -0
  229. package/dist/types/controllers/hooks/use-team-containers/use-connected-teams.d.ts +11 -0
  230. package/dist/types/controllers/hooks/use-team-containers/use-team-containers-2.d.ts +15 -0
  231. package/dist/types/controllers/hooks/use-team-containers/use-team-containers-hook.d.ts +12 -0
  232. package/dist/types/controllers/hooks/use-team-containers/use-team-containers.d.ts +21 -0
  233. package/dist/types/controllers/hooks/use-team-web-links/actions.d.ts +12 -0
  234. package/dist/types/controllers/hooks/use-team-web-links/index.d.ts +12 -165
  235. package/dist/types/controllers/hooks/use-team-web-links/initial-state.d.ts +2 -0
  236. package/dist/types/controllers/hooks/use-team-web-links/store.d.ts +4 -0
  237. package/dist/types/controllers/hooks/use-team-web-links/use-team-web-links-actions.d.ts +147 -0
  238. package/dist/types/controllers/hooks/use-team-web-links/use-team-web-links.d.ts +13 -0
  239. package/dist/types/controllers/index.d.ts +16 -3
  240. package/dist/types/controllers/product-permission/getProductPermissionRequestBody.d.ts +2 -0
  241. package/dist/types/controllers/product-permission/hasProductPermission.d.ts +5 -0
  242. package/dist/types/controllers/product-permission/transformPermissions.d.ts +2 -0
  243. package/dist/types/controllers/product-permission/utils.d.ts +10 -5
  244. package/dist/types/i18n/index.d.ts +87 -0
  245. package/dist/types/index.d.ts +5 -3
  246. package/dist/types/next/index.d.ts +9 -0
  247. package/dist/types/ui/team-containers/add-container-card/AddContainerCard.d.ts +12 -0
  248. package/dist/types/ui/team-containers/add-container-card/{index.d.ts → getAddContainerCards.d.ts} +1 -11
  249. package/dist/types/ui/team-containers/index.d.ts +9 -0
  250. package/dist/types/ui/team-containers/types.d.ts +1 -1
  251. package/jira-icon/package.json +9 -0
  252. package/loom-icon/package.json +9 -0
  253. package/package.json +19 -19
  254. package/product-permission/get-product-permission-request-body/package.json +10 -0
  255. package/product-permission/has-product-permission/package.json +10 -0
  256. package/product-permission/transform-permissions/package.json +10 -0
  257. package/use-connected-teams/package.json +10 -0
  258. package/use-team-containers/use-team-containers/package.json +10 -0
  259. package/use-team-containers/use-team-containers-hook/package.json +10 -0
  260. package/use-team-web-links/actions/package.json +10 -0
  261. package/use-team-web-links/use-team-web-links/package.json +10 -0
  262. package/use-team-web-links-actions/package.json +10 -0
  263. package/dist/cjs/common/ui/loom-avatar/utils.js +0 -39
  264. package/dist/es2019/common/ui/loom-avatar/utils.js +0 -33
  265. package/dist/esm/common/ui/loom-avatar/utils.js +0 -33
  266. package/dist/types/common/ui/loom-avatar/utils.d.ts +0 -16
  267. /package/dist/cjs/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
  268. /package/dist/es2019/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
  269. /package/dist/esm/ui/team-containers/add-container-card/{index.compiled.css → AddContainerCard.compiled.css} +0 -0
@@ -10,9 +10,9 @@ import { cx } from '@atlaskit/css';
10
10
  import LinkIcon from '@atlaskit/icon/core/link';
11
11
  import LinkExternalIcon from '@atlaskit/icon/core/link-external';
12
12
  import Image from '@atlaskit/image';
13
- import { fg } from '@atlaskit/platform-feature-flags';
13
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
14
14
  import { Box, Flex, Text } from '@atlaskit/primitives/compiled';
15
- import Tile from '@atlaskit/tile';
15
+ import Tile from '@atlaskit/tile/tile';
16
16
  import ConfluenceIcon from '../assets/ConfluenceIcon.svg';
17
17
  import JiraIcon from '../assets/JiraIcon.svg';
18
18
  import JiraProjectDiscovery from '../assets/JiraProjectDiscovery.svg';
@@ -1,3 +1,5 @@
1
+ import { unsafeGetDomainFromUrl } from './unsafe-get-domain-from-url';
2
+
1
3
  /**
2
4
  * Extract the domain from the URL. Strips "www" subdomains
3
5
  * e.g. http://dogs.animals.com/yellow/golden-retriever becomes "dogs.animals.com"
@@ -23,15 +25,4 @@ export var getDomainFromLinkUri = function getDomainFromLinkUri(url) {
23
25
  return '';
24
26
  }
25
27
  return hostname.replace(/^www\./, '');
26
- };
27
-
28
- /**
29
- * Extract the domain from the URL.
30
- * Throws if url param is not a valid URL.
31
- * Marked as unsafe because the URL constructor throws Type Errors when it
32
- * receives invalid URLs. Feel free to use this method with adequate care.
33
- */
34
- export var unsafeGetDomainFromUrl = function unsafeGetDomainFromUrl(url) {
35
- var urlObj = new URL(url);
36
- return urlObj.hostname;
37
28
  };
@@ -1,4 +1,4 @@
1
- import FeatureGates from '@atlaskit/feature-gate-js-client';
1
+ import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
2
2
  export var COHORT_PARAMETER = 'cohort';
3
3
  export var NOT_ENROLLED = 'not-enrolled';
4
4
  export var CONTROL = 'control';
@@ -0,0 +1,3 @@
1
+ export var isNewTeamWebLink = function isNewTeamWebLink(input) {
2
+ return 'contentTitle' in input && 'linkUri' in input && !('type' in input) && !('id' in input);
3
+ };
@@ -1,28 +0,0 @@
1
- export var containerToNewWebLink = function containerToNewWebLink(container) {
2
- return {
3
- contentTitle: container.name,
4
- description: '',
5
- linkUri: container.link || ''
6
- };
7
- };
8
- export var webLinkToContainer = function webLinkToContainer(link, iconData) {
9
- return {
10
- id: link.linkId,
11
- type: 'WebLink',
12
- name: link.contentTitle,
13
- icon: (iconData === null || iconData === void 0 ? void 0 : iconData.iconUrl) || null,
14
- link: link.linkUri
15
- };
16
- };
17
- export var webLinksToContainers = function webLinksToContainers(links) {
18
- var linkIcons = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
19
- return links.map(function (link) {
20
- var iconData = linkIcons.find(function (icon) {
21
- return icon.linkUrl === link.linkUri;
22
- });
23
- return webLinkToContainer(link, iconData);
24
- });
25
- };
26
- export var isNewTeamWebLink = function isNewTeamWebLink(input) {
27
- return 'contentTitle' in input && 'linkUri' in input && !('type' in input) && !('id' in input);
28
- };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Extract the domain from the URL.
3
+ * Throws if url param is not a valid URL.
4
+ * Marked as unsafe because the URL constructor throws Type Errors when it
5
+ * receives invalid URLs. Feel free to use this method with adequate care.
6
+ */
7
+ export var unsafeGetDomainFromUrl = function unsafeGetDomainFromUrl(url) {
8
+ var urlObj = new URL(url);
9
+ return urlObj.hostname;
10
+ };
@@ -0,0 +1,9 @@
1
+ export var webLinkToContainer = function webLinkToContainer(link, iconData) {
2
+ return {
3
+ id: link.linkId,
4
+ type: 'WebLink',
5
+ name: link.contentTitle,
6
+ icon: (iconData === null || iconData === void 0 ? void 0 : iconData.iconUrl) || null,
7
+ link: link.linkUri
8
+ };
9
+ };
@@ -0,0 +1,10 @@
1
+ import { webLinkToContainer } from './web-link-to-container';
2
+ export var webLinksToContainers = function webLinksToContainers(links) {
3
+ var linkIcons = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
4
+ return links.map(function (link) {
5
+ var iconData = linkIcons.find(function (icon) {
6
+ return icon.linkUrl === link.linkUri;
7
+ });
8
+ return webLinkToContainer(link, iconData);
9
+ });
10
+ };
@@ -4,7 +4,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import { useEffect, useRef, useState } from 'react';
6
6
  import { useCreateContainers } from '../use-create-containers';
7
- import { useTeamContainers } from '../use-team-containers';
7
+ import { useTeamContainers } from '../use-team-containers/use-team-containers';
8
8
  var PRODUCT_TO_CONTAINER_TYPE = {
9
9
  Jira: 'JiraProject',
10
10
  Confluence: 'ConfluenceSpace',
@@ -0,0 +1,481 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ import { teamsClient } from '@atlaskit/teams-client';
8
+ import { containersEqual } from './containers-equal';
9
+ import { getErrorDetails } from './get-error-details';
10
+ import { getInitialTeamState } from './get-initial-team-state';
11
+ import { initialConnectedTeamsState } from './initial-connected-teams-state';
12
+ import { normalizeError } from './normalize-error';
13
+ export var actions = {
14
+ fetchTeamContainers: function fetchTeamContainers(teamId, fireAnalytics, fireAnalyticsNext) {
15
+ return /*#__PURE__*/function () {
16
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
17
+ var setState, getState, _getState, teams, currentTeamState, containers, currentState, _currentTeamState, _currentState, _t;
18
+ return _regeneratorRuntime.wrap(function (_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ setState = _ref.setState, getState = _ref.getState;
22
+ _getState = getState(), teams = _getState.teams;
23
+ currentTeamState = teams[teamId]; // Only skip if already loaded and not currently loading (prevents duplicate fetches)
24
+ if (!(currentTeamState !== null && currentTeamState !== void 0 && currentTeamState.hasLoaded && !currentTeamState.loading)) {
25
+ _context.next = 1;
26
+ break;
27
+ }
28
+ return _context.abrupt("return");
29
+ case 1:
30
+ if (!(currentTeamState !== null && currentTeamState !== void 0 && currentTeamState.loading)) {
31
+ _context.next = 2;
32
+ break;
33
+ }
34
+ return _context.abrupt("return");
35
+ case 2:
36
+ setState({
37
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, getInitialTeamState()), {}, {
38
+ teamContainers: [],
39
+ // Ensure empty containers for new fetch
40
+ loading: true,
41
+ hasLoaded: false
42
+ })))
43
+ });
44
+ _context.prev = 3;
45
+ _context.next = 4;
46
+ return teamsClient.getTeamContainers(teamId);
47
+ case 4:
48
+ containers = _context.sent;
49
+ fireAnalyticsNext('operational.fetchTeamContainers.succeeded', {
50
+ teamId: teamId
51
+ });
52
+
53
+ // Get fresh state after async operation
54
+ currentState = getState();
55
+ _currentTeamState = currentState.teams[teamId];
56
+ if (!(!_currentTeamState || _currentTeamState.loading === false)) {
57
+ _context.next = 5;
58
+ break;
59
+ }
60
+ return _context.abrupt("return");
61
+ case 5:
62
+ // Only update if we're still loading (prevents race conditions when teamId changes)
63
+ if (_currentTeamState.loading) {
64
+ setState({
65
+ teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _currentTeamState), {}, {
66
+ teamContainers: containers,
67
+ loading: false,
68
+ error: null,
69
+ hasLoaded: true,
70
+ teamId: teamId
71
+ })))
72
+ });
73
+ }
74
+ _context.next = 8;
75
+ break;
76
+ case 6:
77
+ _context.prev = 6;
78
+ _t = _context["catch"](3);
79
+ fireAnalyticsNext('operational.fetchTeamContainers.failed', {
80
+ teamId: teamId,
81
+ error: getErrorDetails(_t)
82
+ });
83
+
84
+ // Get fresh state after async operation
85
+ _currentState = getState();
86
+ if (_currentState.teams[teamId]) {
87
+ _context.next = 7;
88
+ break;
89
+ }
90
+ return _context.abrupt("return");
91
+ case 7:
92
+ setState({
93
+ teams: _objectSpread(_objectSpread({}, _currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _currentState.teams[teamId]), {}, {
94
+ teamContainers: [],
95
+ error: normalizeError(_t),
96
+ loading: false,
97
+ hasLoaded: true,
98
+ teamId: teamId
99
+ })))
100
+ });
101
+ case 8:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }, _callee, null, [[3, 6]]);
106
+ }));
107
+ return function (_x) {
108
+ return _ref2.apply(this, arguments);
109
+ };
110
+ }();
111
+ },
112
+ refetchTeamContainers: function refetchTeamContainers(teamId, fireAnalytics, fireAnalyticsNext) {
113
+ return /*#__PURE__*/function () {
114
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
115
+ var setState, getState, _getState2, teams, currentTeamState, containers, _t2;
116
+ return _regeneratorRuntime.wrap(function (_context2) {
117
+ while (1) switch (_context2.prev = _context2.next) {
118
+ case 0:
119
+ setState = _ref3.setState, getState = _ref3.getState;
120
+ _getState2 = getState(), teams = _getState2.teams;
121
+ currentTeamState = teams[teamId];
122
+ if (currentTeamState) {
123
+ _context2.next = 1;
124
+ break;
125
+ }
126
+ return _context2.abrupt("return");
127
+ case 1:
128
+ _context2.prev = 1;
129
+ _context2.next = 2;
130
+ return teamsClient.getTeamContainers(teamId);
131
+ case 2:
132
+ containers = _context2.sent;
133
+ fireAnalyticsNext('operational.refetchTeamContainers.succeeded', {
134
+ teamId: teamId
135
+ });
136
+ if (!containersEqual(containers, currentTeamState.teamContainers)) {
137
+ setState({
138
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
139
+ teamContainers: containers,
140
+ loading: false,
141
+ error: null,
142
+ hasLoaded: true,
143
+ teamId: teamId
144
+ })))
145
+ });
146
+ }
147
+ _context2.next = 4;
148
+ break;
149
+ case 3:
150
+ _context2.prev = 3;
151
+ _t2 = _context2["catch"](1);
152
+ fireAnalyticsNext('operational.refetchTeamContainers.failed', {
153
+ teamId: teamId,
154
+ error: getErrorDetails(_t2)
155
+ });
156
+ setState({
157
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
158
+ error: normalizeError(_t2),
159
+ loading: false,
160
+ hasLoaded: true,
161
+ teamId: teamId
162
+ })))
163
+ });
164
+ case 4:
165
+ case "end":
166
+ return _context2.stop();
167
+ }
168
+ }, _callee2, null, [[1, 3]]);
169
+ }));
170
+ return function (_x2) {
171
+ return _ref4.apply(this, arguments);
172
+ };
173
+ }();
174
+ },
175
+ fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(teamId, containerId, fireAnalytics, fireAnalyticsNext) {
176
+ return /*#__PURE__*/function () {
177
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
178
+ var setState, getState, _getState3, teams, currentTeamState, currentContainerId, numberOfTeams, currentState, updatedTeamState, _currentState2, _updatedTeamState, _t3;
179
+ return _regeneratorRuntime.wrap(function (_context3) {
180
+ while (1) switch (_context3.prev = _context3.next) {
181
+ case 0:
182
+ setState = _ref5.setState, getState = _ref5.getState;
183
+ _getState3 = getState(), teams = _getState3.teams;
184
+ currentTeamState = teams[teamId];
185
+ if (currentTeamState) {
186
+ _context3.next = 1;
187
+ break;
188
+ }
189
+ return _context3.abrupt("return");
190
+ case 1:
191
+ currentContainerId = currentTeamState.connectedTeams.containerId;
192
+ if (!(currentContainerId === containerId)) {
193
+ _context3.next = 2;
194
+ break;
195
+ }
196
+ return _context3.abrupt("return");
197
+ case 2:
198
+ setState({
199
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
200
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
201
+ containerId: containerId,
202
+ numberOfTeams: undefined
203
+ })
204
+ })))
205
+ });
206
+ _context3.prev = 3;
207
+ _context3.next = 4;
208
+ return teamsClient.getNumberOfConnectedTeams(containerId);
209
+ case 4:
210
+ numberOfTeams = _context3.sent;
211
+ fireAnalyticsNext('operational.fetchNumberOfConnectedTeams.succeeded', {
212
+ numberOfTeams: numberOfTeams,
213
+ containerId: containerId
214
+ });
215
+ currentState = getState();
216
+ updatedTeamState = currentState.teams[teamId];
217
+ if (updatedTeamState) {
218
+ setState({
219
+ teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
220
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
221
+ containerId: containerId,
222
+ numberOfTeams: numberOfTeams,
223
+ hasLoaded: true
224
+ })
225
+ })))
226
+ });
227
+ }
228
+ _context3.next = 6;
229
+ break;
230
+ case 5:
231
+ _context3.prev = 5;
232
+ _t3 = _context3["catch"](3);
233
+ fireAnalyticsNext('operational.fetchNumberOfConnectedTeams.failed', {
234
+ numberOfTeams: initialConnectedTeamsState.numberOfTeams || null,
235
+ containerId: containerId,
236
+ error: getErrorDetails(_t3)
237
+ });
238
+ _currentState2 = getState();
239
+ _updatedTeamState = _currentState2.teams[teamId];
240
+ if (_updatedTeamState) {
241
+ setState({
242
+ teams: _objectSpread(_objectSpread({}, _currentState2.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState), {}, {
243
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
244
+ containerId: containerId,
245
+ error: normalizeError(_t3)
246
+ })
247
+ })))
248
+ });
249
+ }
250
+ case 6:
251
+ case "end":
252
+ return _context3.stop();
253
+ }
254
+ }, _callee3, null, [[3, 5]]);
255
+ }));
256
+ return function (_x3) {
257
+ return _ref6.apply(this, arguments);
258
+ };
259
+ }();
260
+ },
261
+ fetchConnectedTeams: function fetchConnectedTeams(teamId, containerId, fireAnalytics, fireAnalyticsNext) {
262
+ return /*#__PURE__*/function () {
263
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
264
+ var setState, getState, _getState4, teams, currentTeamState, _currentTeamState$con, currentContainerId, numberOfTeams, hasLoaded, teamsResult, currentState, updatedTeamState, _currentState3, _updatedTeamState2, _t4;
265
+ return _regeneratorRuntime.wrap(function (_context4) {
266
+ while (1) switch (_context4.prev = _context4.next) {
267
+ case 0:
268
+ setState = _ref7.setState, getState = _ref7.getState;
269
+ _getState4 = getState(), teams = _getState4.teams;
270
+ currentTeamState = teams[teamId];
271
+ if (currentTeamState) {
272
+ _context4.next = 1;
273
+ break;
274
+ }
275
+ return _context4.abrupt("return");
276
+ case 1:
277
+ _currentTeamState$con = currentTeamState.connectedTeams, currentContainerId = _currentTeamState$con.containerId, numberOfTeams = _currentTeamState$con.numberOfTeams, hasLoaded = _currentTeamState$con.hasLoaded;
278
+ if (!(currentContainerId === containerId && hasLoaded)) {
279
+ _context4.next = 2;
280
+ break;
281
+ }
282
+ return _context4.abrupt("return");
283
+ case 2:
284
+ setState({
285
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
286
+ connectedTeams: {
287
+ containerId: containerId,
288
+ isLoading: true,
289
+ hasLoaded: false,
290
+ teams: undefined,
291
+ error: null,
292
+ numberOfTeams: numberOfTeams
293
+ }
294
+ })))
295
+ });
296
+ _context4.prev = 3;
297
+ _context4.next = 4;
298
+ return teamsClient.getConnectedTeams(containerId);
299
+ case 4:
300
+ teamsResult = _context4.sent;
301
+ fireAnalyticsNext('operational.fetchConnectedTeams.succeeded', {
302
+ numberOfTeams: numberOfTeams || null,
303
+ containerId: containerId
304
+ });
305
+ currentState = getState();
306
+ updatedTeamState = currentState.teams[teamId];
307
+ if (updatedTeamState) {
308
+ setState({
309
+ teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
310
+ connectedTeams: {
311
+ containerId: containerId,
312
+ isLoading: false,
313
+ hasLoaded: true,
314
+ teams: teamsResult,
315
+ error: null,
316
+ numberOfTeams: numberOfTeams
317
+ }
318
+ })))
319
+ });
320
+ }
321
+ _context4.next = 6;
322
+ break;
323
+ case 5:
324
+ _context4.prev = 5;
325
+ _t4 = _context4["catch"](3);
326
+ fireAnalyticsNext('operational.fetchConnectedTeams.failed', {
327
+ numberOfTeams: numberOfTeams || null,
328
+ containerId: containerId,
329
+ error: getErrorDetails(_t4)
330
+ });
331
+ _currentState3 = getState();
332
+ _updatedTeamState2 = _currentState3.teams[teamId];
333
+ if (_updatedTeamState2) {
334
+ setState({
335
+ teams: _objectSpread(_objectSpread({}, _currentState3.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState2), {}, {
336
+ connectedTeams: {
337
+ containerId: containerId,
338
+ isLoading: false,
339
+ hasLoaded: false,
340
+ teams: [],
341
+ error: normalizeError(_t4),
342
+ numberOfTeams: numberOfTeams
343
+ }
344
+ })))
345
+ });
346
+ }
347
+ case 6:
348
+ case "end":
349
+ return _context4.stop();
350
+ }
351
+ }, _callee4, null, [[3, 5]]);
352
+ }));
353
+ return function (_x4) {
354
+ return _ref8.apply(this, arguments);
355
+ };
356
+ }();
357
+ },
358
+ unlinkTeamContainers: function unlinkTeamContainers(teamId, containerId) {
359
+ return /*#__PURE__*/function () {
360
+ var _ref0 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
361
+ var setState, getState, _getState5, teams, currentTeamState, mutationResult, currentState, updatedTeamState, newContainers, shouldResetConnectedTeams, _currentState4, _updatedTeamState3, _t5;
362
+ return _regeneratorRuntime.wrap(function (_context5) {
363
+ while (1) switch (_context5.prev = _context5.next) {
364
+ case 0:
365
+ setState = _ref9.setState, getState = _ref9.getState;
366
+ _getState5 = getState(), teams = _getState5.teams;
367
+ currentTeamState = teams[teamId];
368
+ if (currentTeamState) {
369
+ setState({
370
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
371
+ unlinkError: null
372
+ })))
373
+ });
374
+ }
375
+ _context5.prev = 1;
376
+ _context5.next = 2;
377
+ return teamsClient.unlinkTeamContainer(teamId, containerId);
378
+ case 2:
379
+ mutationResult = _context5.sent;
380
+ currentState = getState();
381
+ updatedTeamState = currentState.teams[teamId];
382
+ if (updatedTeamState) {
383
+ _context5.next = 3;
384
+ break;
385
+ }
386
+ return _context5.abrupt("return");
387
+ case 3:
388
+ if (mutationResult.deleteTeamConnectedToContainer.errors.length) {
389
+ // Just handle 1 error at a time should be sufficient as we disconnect only 1 container at a time
390
+ setState({
391
+ teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
392
+ unlinkError: mutationResult.deleteTeamConnectedToContainer.errors[0]
393
+ })))
394
+ });
395
+ } else {
396
+ newContainers = updatedTeamState.teamContainers.filter(function (container) {
397
+ return container.id !== containerId;
398
+ });
399
+ shouldResetConnectedTeams = updatedTeamState.connectedTeams.containerId === containerId;
400
+ setState({
401
+ teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread(_objectSpread({}, updatedTeamState), {}, {
402
+ teamContainers: newContainers
403
+ }, shouldResetConnectedTeams && {
404
+ connectedTeams: initialConnectedTeamsState
405
+ }), {}, {
406
+ unlinkError: null
407
+ })))
408
+ });
409
+ }
410
+ _context5.next = 5;
411
+ break;
412
+ case 4:
413
+ _context5.prev = 4;
414
+ _t5 = _context5["catch"](1);
415
+ _currentState4 = getState();
416
+ _updatedTeamState3 = _currentState4.teams[teamId];
417
+ if (_updatedTeamState3) {
418
+ setState({
419
+ teams: _objectSpread(_objectSpread({}, _currentState4.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState3), {}, {
420
+ unlinkError: normalizeError(_t5)
421
+ })))
422
+ });
423
+ }
424
+ case 5:
425
+ case "end":
426
+ return _context5.stop();
427
+ }
428
+ }, _callee5, null, [[1, 4]]);
429
+ }));
430
+ return function (_x5) {
431
+ return _ref0.apply(this, arguments);
432
+ };
433
+ }();
434
+ },
435
+ addTeamContainer: function addTeamContainer(teamId, teamContainer) {
436
+ return /*#__PURE__*/function () {
437
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref1) {
438
+ var setState, getState, _getState6, teams, currentTeamState, containerExists, shouldResetConnectedTeams;
439
+ return _regeneratorRuntime.wrap(function (_context6) {
440
+ while (1) switch (_context6.prev = _context6.next) {
441
+ case 0:
442
+ setState = _ref1.setState, getState = _ref1.getState;
443
+ _getState6 = getState(), teams = _getState6.teams;
444
+ currentTeamState = teams[teamId];
445
+ if (currentTeamState) {
446
+ _context6.next = 1;
447
+ break;
448
+ }
449
+ return _context6.abrupt("return");
450
+ case 1:
451
+ containerExists = currentTeamState.teamContainers.some(function (container) {
452
+ return container.id === teamContainer.id;
453
+ });
454
+ if (!containerExists) {
455
+ _context6.next = 2;
456
+ break;
457
+ }
458
+ return _context6.abrupt("return");
459
+ case 2:
460
+ shouldResetConnectedTeams = currentTeamState.connectedTeams.containerId === teamContainer.id;
461
+ setState({
462
+ teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread(_objectSpread({}, currentTeamState), {}, {
463
+ teamContainers: [].concat(_toConsumableArray(currentTeamState.teamContainers), [teamContainer])
464
+ }, shouldResetConnectedTeams && {
465
+ connectedTeams: initialConnectedTeamsState
466
+ }), {}, {
467
+ teamId: teamId
468
+ })))
469
+ });
470
+ case 3:
471
+ case "end":
472
+ return _context6.stop();
473
+ }
474
+ }, _callee6);
475
+ }));
476
+ return function (_x6) {
477
+ return _ref10.apply(this, arguments);
478
+ };
479
+ }();
480
+ }
481
+ };