@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
@@ -1,641 +1,12 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
5
- import _regeneratorRuntime from "@babel/runtime/regenerator";
6
- 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; }
7
- 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; }
8
- import { useCallback, useEffect } from 'react';
9
1
  import { createHook, createStore } from 'react-sweet-state';
10
- import { useAnalyticsEvents } from '@atlaskit/analytics-next';
11
- import { useAnalyticsEvents as useAnalyticsEventsNext } from '@atlaskit/teams-app-internal-analytics';
12
- import { teamsClient } from '@atlaskit/teams-client';
13
- import { usePeopleAndTeamAnalytics } from '../../../common/utils/analytics';
14
- var initialConnectedTeamsState = {
15
- containerId: undefined,
16
- isLoading: false,
17
- hasLoaded: false,
18
- teams: undefined,
19
- error: null,
20
- numberOfTeams: undefined
21
- };
22
- var getInitialTeamState = function getInitialTeamState() {
23
- return {
24
- teamContainers: [],
25
- loading: false,
26
- hasLoaded: false,
27
- error: null,
28
- unlinkError: null,
29
- teamId: null,
30
- connectedTeams: initialConnectedTeamsState
31
- };
32
- };
2
+ import { actions } from './actions-2';
33
3
  var initialState = {
34
4
  teams: {},
35
5
  unlinkError: null
36
6
  };
37
- function containersEqual(arr1, arr2) {
38
- if (arr1.length !== arr2.length) {
39
- return false;
40
- }
41
- var sortById = function sortById(a, b) {
42
- return a.id.localeCompare(b.id);
43
- };
44
- var sorted1 = _toConsumableArray(arr1).sort(sortById);
45
- var sorted2 = _toConsumableArray(arr2).sort(sortById);
46
- return sorted1.every(function (item, index) {
47
- return item.id === sorted2[index].id;
48
- });
49
- }
50
- function normalizeError(err) {
51
- if (err instanceof Error) {
52
- return err;
53
- }
54
- return new Error(typeof err === 'string' ? err : JSON.stringify(err));
55
- }
56
- function getErrorDetails(err) {
57
- var error = normalizeError(err);
58
- return {
59
- message: error.message,
60
- stack: error.stack
61
- };
62
- }
63
- var actions = {
64
- fetchTeamContainers: function fetchTeamContainers(teamId, fireAnalytics, fireAnalyticsNext) {
65
- return /*#__PURE__*/function () {
66
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
67
- var setState, getState, _getState, teams, currentTeamState, containers, currentState, _currentTeamState, _currentState, _t;
68
- return _regeneratorRuntime.wrap(function (_context) {
69
- while (1) switch (_context.prev = _context.next) {
70
- case 0:
71
- setState = _ref.setState, getState = _ref.getState;
72
- _getState = getState(), teams = _getState.teams;
73
- currentTeamState = teams[teamId]; // Only skip if already loaded and not currently loading (prevents duplicate fetches)
74
- if (!(currentTeamState !== null && currentTeamState !== void 0 && currentTeamState.hasLoaded && !currentTeamState.loading)) {
75
- _context.next = 1;
76
- break;
77
- }
78
- return _context.abrupt("return");
79
- case 1:
80
- if (!(currentTeamState !== null && currentTeamState !== void 0 && currentTeamState.loading)) {
81
- _context.next = 2;
82
- break;
83
- }
84
- return _context.abrupt("return");
85
- case 2:
86
- setState({
87
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, getInitialTeamState()), {}, {
88
- teamContainers: [],
89
- // Ensure empty containers for new fetch
90
- loading: true,
91
- hasLoaded: false
92
- })))
93
- });
94
- _context.prev = 3;
95
- _context.next = 4;
96
- return teamsClient.getTeamContainers(teamId);
97
- case 4:
98
- containers = _context.sent;
99
- fireAnalyticsNext('operational.fetchTeamContainers.succeeded', {
100
- teamId: teamId
101
- });
102
-
103
- // Get fresh state after async operation
104
- currentState = getState();
105
- _currentTeamState = currentState.teams[teamId];
106
- if (!(!_currentTeamState || _currentTeamState.loading === false)) {
107
- _context.next = 5;
108
- break;
109
- }
110
- return _context.abrupt("return");
111
- case 5:
112
- // Only update if we're still loading (prevents race conditions when teamId changes)
113
- if (_currentTeamState.loading) {
114
- setState({
115
- teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _currentTeamState), {}, {
116
- teamContainers: containers,
117
- loading: false,
118
- error: null,
119
- hasLoaded: true,
120
- teamId: teamId
121
- })))
122
- });
123
- }
124
- _context.next = 8;
125
- break;
126
- case 6:
127
- _context.prev = 6;
128
- _t = _context["catch"](3);
129
- fireAnalyticsNext('operational.fetchTeamContainers.failed', {
130
- teamId: teamId,
131
- error: getErrorDetails(_t)
132
- });
133
-
134
- // Get fresh state after async operation
135
- _currentState = getState();
136
- if (_currentState.teams[teamId]) {
137
- _context.next = 7;
138
- break;
139
- }
140
- return _context.abrupt("return");
141
- case 7:
142
- setState({
143
- teams: _objectSpread(_objectSpread({}, _currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _currentState.teams[teamId]), {}, {
144
- teamContainers: [],
145
- error: normalizeError(_t),
146
- loading: false,
147
- hasLoaded: true,
148
- teamId: teamId
149
- })))
150
- });
151
- case 8:
152
- case "end":
153
- return _context.stop();
154
- }
155
- }, _callee, null, [[3, 6]]);
156
- }));
157
- return function (_x) {
158
- return _ref2.apply(this, arguments);
159
- };
160
- }();
161
- },
162
- refetchTeamContainers: function refetchTeamContainers(teamId, fireAnalytics, fireAnalyticsNext) {
163
- return /*#__PURE__*/function () {
164
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
165
- var setState, getState, _getState2, teams, currentTeamState, containers, _t2;
166
- return _regeneratorRuntime.wrap(function (_context2) {
167
- while (1) switch (_context2.prev = _context2.next) {
168
- case 0:
169
- setState = _ref3.setState, getState = _ref3.getState;
170
- _getState2 = getState(), teams = _getState2.teams;
171
- currentTeamState = teams[teamId];
172
- if (currentTeamState) {
173
- _context2.next = 1;
174
- break;
175
- }
176
- return _context2.abrupt("return");
177
- case 1:
178
- _context2.prev = 1;
179
- _context2.next = 2;
180
- return teamsClient.getTeamContainers(teamId);
181
- case 2:
182
- containers = _context2.sent;
183
- fireAnalyticsNext('operational.refetchTeamContainers.succeeded', {
184
- teamId: teamId
185
- });
186
- if (!containersEqual(containers, currentTeamState.teamContainers)) {
187
- setState({
188
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
189
- teamContainers: containers,
190
- loading: false,
191
- error: null,
192
- hasLoaded: true,
193
- teamId: teamId
194
- })))
195
- });
196
- }
197
- _context2.next = 4;
198
- break;
199
- case 3:
200
- _context2.prev = 3;
201
- _t2 = _context2["catch"](1);
202
- fireAnalyticsNext('operational.refetchTeamContainers.failed', {
203
- teamId: teamId,
204
- error: getErrorDetails(_t2)
205
- });
206
- setState({
207
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
208
- error: normalizeError(_t2),
209
- loading: false,
210
- hasLoaded: true,
211
- teamId: teamId
212
- })))
213
- });
214
- case 4:
215
- case "end":
216
- return _context2.stop();
217
- }
218
- }, _callee2, null, [[1, 3]]);
219
- }));
220
- return function (_x2) {
221
- return _ref4.apply(this, arguments);
222
- };
223
- }();
224
- },
225
- fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(teamId, containerId, fireAnalytics, fireAnalyticsNext) {
226
- return /*#__PURE__*/function () {
227
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
228
- var setState, getState, _getState3, teams, currentTeamState, currentContainerId, numberOfTeams, currentState, updatedTeamState, _currentState2, _updatedTeamState, _t3;
229
- return _regeneratorRuntime.wrap(function (_context3) {
230
- while (1) switch (_context3.prev = _context3.next) {
231
- case 0:
232
- setState = _ref5.setState, getState = _ref5.getState;
233
- _getState3 = getState(), teams = _getState3.teams;
234
- currentTeamState = teams[teamId];
235
- if (currentTeamState) {
236
- _context3.next = 1;
237
- break;
238
- }
239
- return _context3.abrupt("return");
240
- case 1:
241
- currentContainerId = currentTeamState.connectedTeams.containerId;
242
- if (!(currentContainerId === containerId)) {
243
- _context3.next = 2;
244
- break;
245
- }
246
- return _context3.abrupt("return");
247
- case 2:
248
- setState({
249
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
250
- connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
251
- containerId: containerId,
252
- numberOfTeams: undefined
253
- })
254
- })))
255
- });
256
- _context3.prev = 3;
257
- _context3.next = 4;
258
- return teamsClient.getNumberOfConnectedTeams(containerId);
259
- case 4:
260
- numberOfTeams = _context3.sent;
261
- fireAnalyticsNext('operational.fetchNumberOfConnectedTeams.succeeded', {
262
- numberOfTeams: numberOfTeams,
263
- containerId: containerId
264
- });
265
- currentState = getState();
266
- updatedTeamState = currentState.teams[teamId];
267
- if (updatedTeamState) {
268
- setState({
269
- teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
270
- connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
271
- containerId: containerId,
272
- numberOfTeams: numberOfTeams,
273
- hasLoaded: true
274
- })
275
- })))
276
- });
277
- }
278
- _context3.next = 6;
279
- break;
280
- case 5:
281
- _context3.prev = 5;
282
- _t3 = _context3["catch"](3);
283
- fireAnalyticsNext('operational.fetchNumberOfConnectedTeams.failed', {
284
- numberOfTeams: initialConnectedTeamsState.numberOfTeams || null,
285
- containerId: containerId,
286
- error: getErrorDetails(_t3)
287
- });
288
- _currentState2 = getState();
289
- _updatedTeamState = _currentState2.teams[teamId];
290
- if (_updatedTeamState) {
291
- setState({
292
- teams: _objectSpread(_objectSpread({}, _currentState2.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState), {}, {
293
- connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
294
- containerId: containerId,
295
- error: normalizeError(_t3)
296
- })
297
- })))
298
- });
299
- }
300
- case 6:
301
- case "end":
302
- return _context3.stop();
303
- }
304
- }, _callee3, null, [[3, 5]]);
305
- }));
306
- return function (_x3) {
307
- return _ref6.apply(this, arguments);
308
- };
309
- }();
310
- },
311
- fetchConnectedTeams: function fetchConnectedTeams(teamId, containerId, fireAnalytics, fireAnalyticsNext) {
312
- return /*#__PURE__*/function () {
313
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
314
- var setState, getState, _getState4, teams, currentTeamState, _currentTeamState$con, currentContainerId, numberOfTeams, hasLoaded, teamsResult, currentState, updatedTeamState, _currentState3, _updatedTeamState2, _t4;
315
- return _regeneratorRuntime.wrap(function (_context4) {
316
- while (1) switch (_context4.prev = _context4.next) {
317
- case 0:
318
- setState = _ref7.setState, getState = _ref7.getState;
319
- _getState4 = getState(), teams = _getState4.teams;
320
- currentTeamState = teams[teamId];
321
- if (currentTeamState) {
322
- _context4.next = 1;
323
- break;
324
- }
325
- return _context4.abrupt("return");
326
- case 1:
327
- _currentTeamState$con = currentTeamState.connectedTeams, currentContainerId = _currentTeamState$con.containerId, numberOfTeams = _currentTeamState$con.numberOfTeams, hasLoaded = _currentTeamState$con.hasLoaded;
328
- if (!(currentContainerId === containerId && hasLoaded)) {
329
- _context4.next = 2;
330
- break;
331
- }
332
- return _context4.abrupt("return");
333
- case 2:
334
- setState({
335
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
336
- connectedTeams: {
337
- containerId: containerId,
338
- isLoading: true,
339
- hasLoaded: false,
340
- teams: undefined,
341
- error: null,
342
- numberOfTeams: numberOfTeams
343
- }
344
- })))
345
- });
346
- _context4.prev = 3;
347
- _context4.next = 4;
348
- return teamsClient.getConnectedTeams(containerId);
349
- case 4:
350
- teamsResult = _context4.sent;
351
- fireAnalyticsNext('operational.fetchConnectedTeams.succeeded', {
352
- numberOfTeams: numberOfTeams || null,
353
- containerId: containerId
354
- });
355
- currentState = getState();
356
- updatedTeamState = currentState.teams[teamId];
357
- if (updatedTeamState) {
358
- setState({
359
- teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
360
- connectedTeams: {
361
- containerId: containerId,
362
- isLoading: false,
363
- hasLoaded: true,
364
- teams: teamsResult,
365
- error: null,
366
- numberOfTeams: numberOfTeams
367
- }
368
- })))
369
- });
370
- }
371
- _context4.next = 6;
372
- break;
373
- case 5:
374
- _context4.prev = 5;
375
- _t4 = _context4["catch"](3);
376
- fireAnalyticsNext('operational.fetchConnectedTeams.failed', {
377
- numberOfTeams: numberOfTeams || null,
378
- containerId: containerId,
379
- error: getErrorDetails(_t4)
380
- });
381
- _currentState3 = getState();
382
- _updatedTeamState2 = _currentState3.teams[teamId];
383
- if (_updatedTeamState2) {
384
- setState({
385
- teams: _objectSpread(_objectSpread({}, _currentState3.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState2), {}, {
386
- connectedTeams: {
387
- containerId: containerId,
388
- isLoading: false,
389
- hasLoaded: false,
390
- teams: [],
391
- error: normalizeError(_t4),
392
- numberOfTeams: numberOfTeams
393
- }
394
- })))
395
- });
396
- }
397
- case 6:
398
- case "end":
399
- return _context4.stop();
400
- }
401
- }, _callee4, null, [[3, 5]]);
402
- }));
403
- return function (_x4) {
404
- return _ref8.apply(this, arguments);
405
- };
406
- }();
407
- },
408
- unlinkTeamContainers: function unlinkTeamContainers(teamId, containerId) {
409
- return /*#__PURE__*/function () {
410
- var _ref0 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
411
- var setState, getState, _getState5, teams, currentTeamState, mutationResult, currentState, updatedTeamState, newContainers, shouldResetConnectedTeams, _currentState4, _updatedTeamState3, _t5;
412
- return _regeneratorRuntime.wrap(function (_context5) {
413
- while (1) switch (_context5.prev = _context5.next) {
414
- case 0:
415
- setState = _ref9.setState, getState = _ref9.getState;
416
- _getState5 = getState(), teams = _getState5.teams;
417
- currentTeamState = teams[teamId];
418
- if (currentTeamState) {
419
- setState({
420
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, currentTeamState), {}, {
421
- unlinkError: null
422
- })))
423
- });
424
- }
425
- _context5.prev = 1;
426
- _context5.next = 2;
427
- return teamsClient.unlinkTeamContainer(teamId, containerId);
428
- case 2:
429
- mutationResult = _context5.sent;
430
- currentState = getState();
431
- updatedTeamState = currentState.teams[teamId];
432
- if (updatedTeamState) {
433
- _context5.next = 3;
434
- break;
435
- }
436
- return _context5.abrupt("return");
437
- case 3:
438
- if (mutationResult.deleteTeamConnectedToContainer.errors.length) {
439
- // Just handle 1 error at a time should be sufficient as we disconnect only 1 container at a time
440
- setState({
441
- teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, updatedTeamState), {}, {
442
- unlinkError: mutationResult.deleteTeamConnectedToContainer.errors[0]
443
- })))
444
- });
445
- } else {
446
- newContainers = updatedTeamState.teamContainers.filter(function (container) {
447
- return container.id !== containerId;
448
- });
449
- shouldResetConnectedTeams = updatedTeamState.connectedTeams.containerId === containerId;
450
- setState({
451
- teams: _objectSpread(_objectSpread({}, currentState.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread(_objectSpread({}, updatedTeamState), {}, {
452
- teamContainers: newContainers
453
- }, shouldResetConnectedTeams && {
454
- connectedTeams: initialConnectedTeamsState
455
- }), {}, {
456
- unlinkError: null
457
- })))
458
- });
459
- }
460
- _context5.next = 5;
461
- break;
462
- case 4:
463
- _context5.prev = 4;
464
- _t5 = _context5["catch"](1);
465
- _currentState4 = getState();
466
- _updatedTeamState3 = _currentState4.teams[teamId];
467
- if (_updatedTeamState3) {
468
- setState({
469
- teams: _objectSpread(_objectSpread({}, _currentState4.teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread({}, _updatedTeamState3), {}, {
470
- unlinkError: normalizeError(_t5)
471
- })))
472
- });
473
- }
474
- case 5:
475
- case "end":
476
- return _context5.stop();
477
- }
478
- }, _callee5, null, [[1, 4]]);
479
- }));
480
- return function (_x5) {
481
- return _ref0.apply(this, arguments);
482
- };
483
- }();
484
- },
485
- addTeamContainer: function addTeamContainer(teamId, teamContainer) {
486
- return /*#__PURE__*/function () {
487
- var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref1) {
488
- var setState, getState, _getState6, teams, currentTeamState, containerExists, shouldResetConnectedTeams;
489
- return _regeneratorRuntime.wrap(function (_context6) {
490
- while (1) switch (_context6.prev = _context6.next) {
491
- case 0:
492
- setState = _ref1.setState, getState = _ref1.getState;
493
- _getState6 = getState(), teams = _getState6.teams;
494
- currentTeamState = teams[teamId];
495
- if (currentTeamState) {
496
- _context6.next = 1;
497
- break;
498
- }
499
- return _context6.abrupt("return");
500
- case 1:
501
- containerExists = currentTeamState.teamContainers.some(function (container) {
502
- return container.id === teamContainer.id;
503
- });
504
- if (!containerExists) {
505
- _context6.next = 2;
506
- break;
507
- }
508
- return _context6.abrupt("return");
509
- case 2:
510
- shouldResetConnectedTeams = currentTeamState.connectedTeams.containerId === teamContainer.id;
511
- setState({
512
- teams: _objectSpread(_objectSpread({}, teams), {}, _defineProperty({}, teamId, _objectSpread(_objectSpread(_objectSpread({}, currentTeamState), {}, {
513
- teamContainers: [].concat(_toConsumableArray(currentTeamState.teamContainers), [teamContainer])
514
- }, shouldResetConnectedTeams && {
515
- connectedTeams: initialConnectedTeamsState
516
- }), {}, {
517
- teamId: teamId
518
- })))
519
- });
520
- case 3:
521
- case "end":
522
- return _context6.stop();
523
- }
524
- }, _callee6);
525
- }));
526
- return function (_x6) {
527
- return _ref10.apply(this, arguments);
528
- };
529
- }();
530
- }
531
- };
532
7
  var Store = createStore({
533
8
  initialState: initialState,
534
9
  actions: actions,
535
10
  name: 'multiTeamContainersStore'
536
11
  });
537
- export var useTeamContainersHook = createHook(Store);
538
- export var useTeamContainers = function useTeamContainers(teamId) {
539
- var enable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
540
- var _useTeamContainersHoo = useTeamContainersHook(),
541
- _useTeamContainersHoo2 = _slicedToArray(_useTeamContainersHoo, 2),
542
- state = _useTeamContainersHoo2[0],
543
- actions = _useTeamContainersHoo2[1];
544
- var _usePeopleAndTeamAnal = usePeopleAndTeamAnalytics(),
545
- fireOperationalEvent = _usePeopleAndTeamAnal.fireOperationalEvent;
546
- var _useAnalyticsEvents = useAnalyticsEvents(),
547
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
548
- var _useAnalyticsEventsNe = useAnalyticsEventsNext(),
549
- fireEvent = _useAnalyticsEventsNe.fireEvent;
550
- var fireOperationalAnalytics = useCallback(function (action, actionSubject, error) {
551
- fireOperationalEvent(createAnalyticsEvent, {
552
- action: action,
553
- actionSubject: actionSubject,
554
- attributes: _objectSpread({
555
- teamId: teamId
556
- }, error && {
557
- error: getErrorDetails(error)
558
- })
559
- });
560
- }, [fireOperationalEvent, createAnalyticsEvent, teamId]);
561
- useEffect(function () {
562
- if (enable) {
563
- // Get fresh state to ensure we're checking the correct team
564
- var currentState = state;
565
- var _teamState = currentState.teams[teamId];
566
- // Only fetch if not already loaded or loading
567
- if (!(_teamState !== null && _teamState !== void 0 && _teamState.hasLoaded) && !(_teamState !== null && _teamState !== void 0 && _teamState.loading)) {
568
- actions.fetchTeamContainers(teamId, fireOperationalAnalytics, fireEvent);
569
- }
570
- }
571
- // eslint-disable-next-line react-hooks/exhaustive-deps
572
- }, [teamId, enable]);
573
- var refetchTeamContainers = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
574
- return _regeneratorRuntime.wrap(function (_context7) {
575
- while (1) switch (_context7.prev = _context7.next) {
576
- case 0:
577
- return _context7.abrupt("return", actions.refetchTeamContainers(teamId, fireOperationalAnalytics, fireEvent));
578
- case 1:
579
- case "end":
580
- return _context7.stop();
581
- }
582
- }, _callee7);
583
- })), [teamId, actions, fireOperationalAnalytics, fireEvent]);
584
-
585
- // Always get the state for the specific teamId to avoid showing wrong team's data
586
- var teamState = state.teams[teamId] || getInitialTeamState();
587
- return {
588
- teamContainers: teamState.teamContainers,
589
- loading: teamState.loading,
590
- hasLoaded: teamState.hasLoaded,
591
- error: teamState.error,
592
- unlinkError: teamState.unlinkError,
593
- teamId: teamState.teamId,
594
- connectedTeams: teamState.connectedTeams,
595
- addTeamContainer: function addTeamContainer(teamContainer) {
596
- return actions.addTeamContainer(teamId, teamContainer);
597
- },
598
- unlinkTeamContainers: function unlinkTeamContainers(containerId) {
599
- return actions.unlinkTeamContainers(teamId, containerId);
600
- },
601
- refetchTeamContainers: refetchTeamContainers
602
- };
603
- };
604
- export var useConnectedTeams = function useConnectedTeams(teamId) {
605
- var _useTeamContainersHoo3 = useTeamContainersHook(),
606
- _useTeamContainersHoo4 = _slicedToArray(_useTeamContainersHoo3, 2),
607
- state = _useTeamContainersHoo4[0],
608
- actions = _useTeamContainersHoo4[1];
609
- var _usePeopleAndTeamAnal2 = usePeopleAndTeamAnalytics(),
610
- fireOperationalEvent = _usePeopleAndTeamAnal2.fireOperationalEvent;
611
- var _useAnalyticsEvents2 = useAnalyticsEvents(),
612
- createAnalyticsEvent = _useAnalyticsEvents2.createAnalyticsEvent;
613
- var _useAnalyticsEventsNe2 = useAnalyticsEventsNext(),
614
- fireEvent = _useAnalyticsEventsNe2.fireEvent;
615
- var fireOperationalAnalytics = useCallback(function (_ref12) {
616
- var action = _ref12.action,
617
- actionSubject = _ref12.actionSubject,
618
- containerId = _ref12.containerId,
619
- numberOfTeams = _ref12.numberOfTeams,
620
- error = _ref12.error;
621
- fireOperationalEvent(createAnalyticsEvent, {
622
- action: action,
623
- actionSubject: actionSubject,
624
- attributes: _objectSpread({
625
- containerId: containerId,
626
- numberOfTeams: numberOfTeams
627
- }, error && {
628
- error: getErrorDetails(error)
629
- })
630
- });
631
- }, [fireOperationalEvent, createAnalyticsEvent]);
632
- var teamState = state.teams[teamId] || getInitialTeamState();
633
- return _objectSpread(_objectSpread({}, teamState.connectedTeams), {}, {
634
- fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(containerId) {
635
- return actions.fetchNumberOfConnectedTeams(teamId, containerId, fireOperationalAnalytics, fireEvent);
636
- },
637
- fetchConnectedTeams: function fetchConnectedTeams(containerId) {
638
- return actions.fetchConnectedTeams(teamId, containerId, fireOperationalAnalytics, fireEvent);
639
- }
640
- });
641
- };
12
+ export var useTeamContainersHook = createHook(Store);
@@ -0,0 +1,6 @@
1
+ export function normalizeError(err) {
2
+ if (err instanceof Error) {
3
+ return err;
4
+ }
5
+ return new Error(typeof err === 'string' ? err : JSON.stringify(err));
6
+ }
@@ -0,0 +1,17 @@
1
+ import { createStore } from 'react-sweet-state';
2
+ import { actions } from './actions';
3
+ import { initialConnectedTeamsState } from './initial-connected-teams-state';
4
+ var initialState = {
5
+ teamContainers: [],
6
+ loading: true,
7
+ hasLoaded: false,
8
+ error: null,
9
+ unlinkError: null,
10
+ teamId: null,
11
+ connectedTeams: initialConnectedTeamsState
12
+ };
13
+ export var TeamContainersStore = createStore({
14
+ initialState: initialState,
15
+ actions: actions,
16
+ name: 'teamContainersStore'
17
+ });