@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
@@ -0,0 +1,376 @@
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
+ 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; }
5
+ 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; }
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+ import { teamsClient } from '@atlaskit/teams-client';
8
+ import { containersDeepEqual } from './containers-deep-equal';
9
+ import { initialConnectedTeamsState } from './initial-connected-teams-state';
10
+ export var actions = {
11
+ fetchTeamContainers: function fetchTeamContainers(teamId, fireAnalytics) {
12
+ return /*#__PURE__*/function () {
13
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
14
+ var setState, getState, _getState, currentTeamId, containers, _t;
15
+ return _regeneratorRuntime.wrap(function (_context) {
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ setState = _ref.setState, getState = _ref.getState;
19
+ _getState = getState(), currentTeamId = _getState.teamId;
20
+ if (!(currentTeamId === teamId)) {
21
+ _context.next = 1;
22
+ break;
23
+ }
24
+ return _context.abrupt("return");
25
+ case 1:
26
+ setState({
27
+ loading: true,
28
+ error: null,
29
+ teamContainers: [],
30
+ teamId: teamId,
31
+ hasLoaded: false
32
+ });
33
+ _context.prev = 2;
34
+ _context.next = 3;
35
+ return teamsClient.getTeamContainers(teamId);
36
+ case 3:
37
+ containers = _context.sent;
38
+ fireAnalytics('operational.fetchTeamContainers.succeeded', {
39
+ teamId: teamId
40
+ });
41
+ setState({
42
+ teamContainers: containers,
43
+ loading: false,
44
+ error: null,
45
+ hasLoaded: true
46
+ });
47
+ _context.next = 5;
48
+ break;
49
+ case 4:
50
+ _context.prev = 4;
51
+ _t = _context["catch"](2);
52
+ fireAnalytics('operational.fetchTeamContainers.failed', {
53
+ teamId: teamId,
54
+ error: {
55
+ message: _t.message || JSON.stringify(_t),
56
+ stack: _t.stack
57
+ }
58
+ });
59
+ setState({
60
+ teamContainers: [],
61
+ error: _t,
62
+ loading: false,
63
+ hasLoaded: true
64
+ });
65
+ case 5:
66
+ case "end":
67
+ return _context.stop();
68
+ }
69
+ }, _callee, null, [[2, 4]]);
70
+ }));
71
+ return function (_x) {
72
+ return _ref2.apply(this, arguments);
73
+ };
74
+ }();
75
+ },
76
+ refetchTeamContainers: function refetchTeamContainers(fireAnalytics) {
77
+ return /*#__PURE__*/function () {
78
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
79
+ var setState, getState, _getState2, teamId, containers, _t2;
80
+ return _regeneratorRuntime.wrap(function (_context2) {
81
+ while (1) switch (_context2.prev = _context2.next) {
82
+ case 0:
83
+ setState = _ref3.setState, getState = _ref3.getState;
84
+ _getState2 = getState(), teamId = _getState2.teamId;
85
+ if (teamId) {
86
+ _context2.next = 1;
87
+ break;
88
+ }
89
+ return _context2.abrupt("return");
90
+ case 1:
91
+ _context2.prev = 1;
92
+ _context2.next = 2;
93
+ return teamsClient.getTeamContainers(teamId);
94
+ case 2:
95
+ containers = _context2.sent;
96
+ fireAnalytics('operational.refetchTeamContainers.succeeded', {
97
+ teamId: teamId
98
+ });
99
+ // optimisation to avoid unnecessary state updates
100
+ if (!containersDeepEqual(containers, getState().teamContainers)) {
101
+ setState({
102
+ teamContainers: containers,
103
+ loading: false,
104
+ error: null,
105
+ hasLoaded: true
106
+ });
107
+ }
108
+ _context2.next = 4;
109
+ break;
110
+ case 3:
111
+ _context2.prev = 3;
112
+ _t2 = _context2["catch"](1);
113
+ fireAnalytics('operational.refetchTeamContainers.failed', {
114
+ teamId: teamId,
115
+ error: {
116
+ message: _t2.message || JSON.stringify(_t2),
117
+ stack: _t2.stack
118
+ }
119
+ });
120
+ setState({
121
+ teamContainers: getState().teamContainers,
122
+ error: _t2,
123
+ loading: false,
124
+ hasLoaded: true
125
+ });
126
+ case 4:
127
+ case "end":
128
+ return _context2.stop();
129
+ }
130
+ }, _callee2, null, [[1, 3]]);
131
+ }));
132
+ return function (_x2) {
133
+ return _ref4.apply(this, arguments);
134
+ };
135
+ }();
136
+ },
137
+ fetchNumberOfConnectedTeams: function fetchNumberOfConnectedTeams(containerId, fireAnalytics) {
138
+ return /*#__PURE__*/function () {
139
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
140
+ var setState, getState, _getState3, currentContainerId, numberOfTeams, _t3;
141
+ return _regeneratorRuntime.wrap(function (_context3) {
142
+ while (1) switch (_context3.prev = _context3.next) {
143
+ case 0:
144
+ setState = _ref5.setState, getState = _ref5.getState;
145
+ _getState3 = getState(), currentContainerId = _getState3.connectedTeams.containerId;
146
+ if (!(currentContainerId === containerId)) {
147
+ _context3.next = 1;
148
+ break;
149
+ }
150
+ return _context3.abrupt("return");
151
+ case 1:
152
+ setState({
153
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
154
+ containerId: containerId,
155
+ numberOfTeams: undefined
156
+ })
157
+ });
158
+ _context3.prev = 2;
159
+ _context3.next = 3;
160
+ return teamsClient.getNumberOfConnectedTeams(containerId);
161
+ case 3:
162
+ numberOfTeams = _context3.sent;
163
+ fireAnalytics('operational.fetchNumberOfConnectedTeams.succeeded', {
164
+ numberOfTeams: numberOfTeams,
165
+ containerId: containerId
166
+ });
167
+ setState({
168
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
169
+ containerId: containerId,
170
+ numberOfTeams: numberOfTeams
171
+ })
172
+ });
173
+ _context3.next = 5;
174
+ break;
175
+ case 4:
176
+ _context3.prev = 4;
177
+ _t3 = _context3["catch"](2);
178
+ fireAnalytics('operational.fetchNumberOfConnectedTeams.failed', {
179
+ numberOfTeams: initialConnectedTeamsState.numberOfTeams || null,
180
+ containerId: containerId,
181
+ error: {
182
+ message: _t3.message || JSON.stringify(_t3),
183
+ stack: _t3.stack
184
+ }
185
+ });
186
+ setState({
187
+ connectedTeams: _objectSpread(_objectSpread({}, initialConnectedTeamsState), {}, {
188
+ containerId: containerId,
189
+ error: _t3
190
+ })
191
+ });
192
+ case 5:
193
+ case "end":
194
+ return _context3.stop();
195
+ }
196
+ }, _callee3, null, [[2, 4]]);
197
+ }));
198
+ return function (_x3) {
199
+ return _ref6.apply(this, arguments);
200
+ };
201
+ }();
202
+ },
203
+ fetchConnectedTeams: function fetchConnectedTeams(containerId, fireAnalytics) {
204
+ return /*#__PURE__*/function () {
205
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
206
+ var setState, getState, _getState4, _getState4$connectedT, currentContainerId, numberOfTeams, hasLoaded, teams, _t4;
207
+ return _regeneratorRuntime.wrap(function (_context4) {
208
+ while (1) switch (_context4.prev = _context4.next) {
209
+ case 0:
210
+ setState = _ref7.setState, getState = _ref7.getState;
211
+ _getState4 = getState(), _getState4$connectedT = _getState4.connectedTeams, currentContainerId = _getState4$connectedT.containerId, numberOfTeams = _getState4$connectedT.numberOfTeams, hasLoaded = _getState4$connectedT.hasLoaded;
212
+ if (!(currentContainerId === containerId && hasLoaded)) {
213
+ _context4.next = 1;
214
+ break;
215
+ }
216
+ return _context4.abrupt("return");
217
+ case 1:
218
+ setState({
219
+ connectedTeams: {
220
+ containerId: containerId,
221
+ isLoading: true,
222
+ hasLoaded: false,
223
+ teams: undefined,
224
+ error: null,
225
+ numberOfTeams: numberOfTeams
226
+ }
227
+ });
228
+ _context4.prev = 2;
229
+ _context4.next = 3;
230
+ return teamsClient.getConnectedTeams(containerId);
231
+ case 3:
232
+ teams = _context4.sent;
233
+ fireAnalytics('operational.fetchConnectedTeams.succeeded', {
234
+ numberOfTeams: numberOfTeams || null,
235
+ containerId: containerId
236
+ });
237
+ setState({
238
+ connectedTeams: {
239
+ containerId: containerId,
240
+ isLoading: false,
241
+ hasLoaded: true,
242
+ teams: teams,
243
+ error: null,
244
+ numberOfTeams: numberOfTeams
245
+ }
246
+ });
247
+ _context4.next = 5;
248
+ break;
249
+ case 4:
250
+ _context4.prev = 4;
251
+ _t4 = _context4["catch"](2);
252
+ fireAnalytics('operational.fetchConnectedTeams.failed', {
253
+ numberOfTeams: numberOfTeams || null,
254
+ containerId: containerId,
255
+ error: {
256
+ message: _t4.message || JSON.stringify(_t4),
257
+ stack: _t4.stack
258
+ }
259
+ });
260
+ setState({
261
+ connectedTeams: {
262
+ containerId: containerId,
263
+ isLoading: false,
264
+ hasLoaded: false,
265
+ teams: [],
266
+ error: _t4,
267
+ numberOfTeams: numberOfTeams
268
+ }
269
+ });
270
+ case 5:
271
+ case "end":
272
+ return _context4.stop();
273
+ }
274
+ }, _callee4, null, [[2, 4]]);
275
+ }));
276
+ return function (_x4) {
277
+ return _ref8.apply(this, arguments);
278
+ };
279
+ }();
280
+ },
281
+ unlinkTeamContainers: function unlinkTeamContainers(teamId, containerId) {
282
+ return /*#__PURE__*/function () {
283
+ var _ref0 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
284
+ var setState, getState, mutationResult, _getState5, teamContainers, connectedTeams, newContainers, _t5;
285
+ return _regeneratorRuntime.wrap(function (_context5) {
286
+ while (1) switch (_context5.prev = _context5.next) {
287
+ case 0:
288
+ setState = _ref9.setState, getState = _ref9.getState;
289
+ setState({
290
+ unlinkError: null
291
+ });
292
+ _context5.prev = 1;
293
+ _context5.next = 2;
294
+ return teamsClient.unlinkTeamContainer(teamId, containerId);
295
+ case 2:
296
+ mutationResult = _context5.sent;
297
+ if (mutationResult.deleteTeamConnectedToContainer.errors.length) {
298
+ // Just handle 1 error at a time should be suffcient as we disconenct only 1 container at a time
299
+ setState({
300
+ unlinkError: mutationResult.deleteTeamConnectedToContainer.errors[0]
301
+ });
302
+ } else {
303
+ _getState5 = getState(), teamContainers = _getState5.teamContainers, connectedTeams = _getState5.connectedTeams;
304
+ newContainers = teamContainers.filter(function (container) {
305
+ return container.id !== containerId;
306
+ });
307
+ if (connectedTeams.containerId === containerId) {
308
+ setState({
309
+ teamContainers: newContainers,
310
+ connectedTeams: initialConnectedTeamsState
311
+ });
312
+ } else {
313
+ setState({
314
+ teamContainers: newContainers
315
+ });
316
+ }
317
+ }
318
+ _context5.next = 4;
319
+ break;
320
+ case 3:
321
+ _context5.prev = 3;
322
+ _t5 = _context5["catch"](1);
323
+ setState({
324
+ unlinkError: _t5
325
+ });
326
+ case 4:
327
+ case "end":
328
+ return _context5.stop();
329
+ }
330
+ }, _callee5, null, [[1, 3]]);
331
+ }));
332
+ return function (_x5) {
333
+ return _ref0.apply(this, arguments);
334
+ };
335
+ }();
336
+ },
337
+ addTeamContainer: function addTeamContainer(teamContainer) {
338
+ return /*#__PURE__*/function () {
339
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref1) {
340
+ var setState, getState, _getState6, teamContainers, connectedTeams, containerExists;
341
+ return _regeneratorRuntime.wrap(function (_context6) {
342
+ while (1) switch (_context6.prev = _context6.next) {
343
+ case 0:
344
+ setState = _ref1.setState, getState = _ref1.getState;
345
+ _getState6 = getState(), teamContainers = _getState6.teamContainers, connectedTeams = _getState6.connectedTeams;
346
+ containerExists = teamContainers.some(function (container) {
347
+ return container.id === teamContainer.id;
348
+ });
349
+ if (!containerExists) {
350
+ _context6.next = 1;
351
+ break;
352
+ }
353
+ return _context6.abrupt("return");
354
+ case 1:
355
+ if (connectedTeams.containerId === teamContainer.id) {
356
+ setState({
357
+ teamContainers: [].concat(_toConsumableArray(teamContainers), [teamContainer]),
358
+ connectedTeams: initialConnectedTeamsState
359
+ });
360
+ } else {
361
+ setState({
362
+ teamContainers: [].concat(_toConsumableArray(teamContainers), [teamContainer])
363
+ });
364
+ }
365
+ case 2:
366
+ case "end":
367
+ return _context6.stop();
368
+ }
369
+ }, _callee6);
370
+ }));
371
+ return function (_x6) {
372
+ return _ref10.apply(this, arguments);
373
+ };
374
+ }();
375
+ }
376
+ };
@@ -0,0 +1,16 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ /**
3
+ * Compares two container lists for deep equality, ignoring order.
4
+ *
5
+ * 1. Sorts both lists by `id`.
6
+ * 2. Serialises each and compares the results, so a change to any field counts as a difference.
7
+ *
8
+ * Contrast with `containersEqual` in `./containers-equal`, which compares `id` alone and so
9
+ * treats two lists of the same containers as equal even when their contents differ.
10
+ */
11
+ export function containersDeepEqual(arr1, arr2) {
12
+ var sortById = function sortById(a, b) {
13
+ return a.id.localeCompare(b.id);
14
+ };
15
+ return JSON.stringify(_toConsumableArray(arr1).sort(sortById)) === JSON.stringify(_toConsumableArray(arr2).sort(sortById));
16
+ }
@@ -0,0 +1,22 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ /**
3
+ * Compares two container lists by id, ignoring order.
4
+ *
5
+ * 1. Returns false immediately if the lengths differ.
6
+ * 2. Sorts both lists by `id` and compares ids pairwise, so field-level changes are ignored.
7
+ *
8
+ * Contrast with `containersDeepEqual` in `./containers-deep-equal`, which also compares contents.
9
+ */
10
+ export function containersEqual(arr1, arr2) {
11
+ if (arr1.length !== arr2.length) {
12
+ return false;
13
+ }
14
+ var sortById = function sortById(a, b) {
15
+ return a.id.localeCompare(b.id);
16
+ };
17
+ var sorted1 = _toConsumableArray(arr1).sort(sortById);
18
+ var sorted2 = _toConsumableArray(arr2).sort(sortById);
19
+ return sorted1.every(function (item, index) {
20
+ return item.id === sorted2[index].id;
21
+ });
22
+ }
@@ -0,0 +1,8 @@
1
+ import { normalizeError } from './normalize-error';
2
+ export function getErrorDetails(err) {
3
+ var error = normalizeError(err);
4
+ return {
5
+ message: error.message,
6
+ stack: error.stack
7
+ };
8
+ }
@@ -0,0 +1,12 @@
1
+ import { initialConnectedTeamsState } from './initial-connected-teams-state';
2
+ export var getInitialTeamState = function getInitialTeamState() {
3
+ return {
4
+ teamContainers: [],
5
+ loading: false,
6
+ hasLoaded: false,
7
+ error: null,
8
+ unlinkError: null,
9
+ teamId: null,
10
+ connectedTeams: initialConnectedTeamsState
11
+ };
12
+ };