@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-rc.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 (625) hide show
  1. package/App.js +316 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +121 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +182 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +153 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +364 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +214 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +242 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +55 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +306 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +102 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +26 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +109 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +235 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +216 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +133 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +15 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +91 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-76b1ec23.js +944 -0
  45. package/ChannelListProvider-76b1ec23.js.map +1 -0
  46. package/ChannelProvider-c0ed5fae.js +2075 -0
  47. package/ChannelProvider-c0ed5fae.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +102 -0
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  52. package/ChannelSettings/components/EditDetailsModal.js +158 -0
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  54. package/ChannelSettings/components/LeaveChannel.js +53 -0
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  56. package/ChannelSettings/components/ModerationPanel.js +851 -0
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +106 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteUsers.js +180 -0
  69. package/CreateChannel/components/InviteUsers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +9 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-8c72aa06.js +53 -0
  77. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-fb3dafcd.js +22 -0
  85. package/LocalizationContext-fb3dafcd.js.map +1 -0
  86. package/MemberList-01d3c8bf.js +404 -0
  87. package/MemberList-01d3c8bf.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +387 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +80 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +58 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +287 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +158 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +111 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +16 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +82 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-0fb27972.js +1946 -0
  111. package/OpenChannelProvider-0fb27972.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +199 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +145 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +0 -1
  127. package/SendbirdProvider.js +782 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-6a387a08.js +38 -0
  130. package/UserProfileContext-6a387a08.js.map +1 -0
  131. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  132. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  133. package/_rollupPluginBabelHelpers-084fb589.js +233 -0
  134. package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
  135. package/actionTypes-302a2801.js +6 -0
  136. package/actionTypes-302a2801.js.map +1 -0
  137. package/cjs/App.js +323 -0
  138. package/cjs/App.js.map +1 -0
  139. package/cjs/Channel/components/ChannelHeader.js +127 -0
  140. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  141. package/cjs/Channel/components/ChannelUI.js +188 -0
  142. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  143. package/cjs/Channel/components/FileViewer.js +162 -0
  144. package/cjs/Channel/components/FileViewer.js.map +1 -0
  145. package/cjs/Channel/components/FrozenNotification.js +26 -0
  146. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  147. package/cjs/Channel/components/Message.js +370 -0
  148. package/cjs/Channel/components/Message.js.map +1 -0
  149. package/cjs/Channel/components/MessageInput.js +220 -0
  150. package/cjs/Channel/components/MessageInput.js.map +1 -0
  151. package/cjs/Channel/components/MessageList.js +248 -0
  152. package/cjs/Channel/components/MessageList.js.map +1 -0
  153. package/cjs/Channel/components/RemoveMessageModal.js +61 -0
  154. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  155. package/cjs/Channel/components/SuggestedMentionList.js +312 -0
  156. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  157. package/cjs/Channel/components/TypingIndicator.js +111 -0
  158. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  159. package/cjs/Channel/components/UnreadCount.js +47 -0
  160. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  161. package/cjs/Channel/context.js +35 -0
  162. package/cjs/Channel/context.js.map +1 -0
  163. package/cjs/Channel.js +115 -0
  164. package/cjs/Channel.js.map +1 -0
  165. package/cjs/ChannelList/components/AddChannel.js +79 -0
  166. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  168. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelListUI.js +241 -0
  170. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreview.js +222 -0
  172. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  173. package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  175. package/cjs/ChannelList/context.js +24 -0
  176. package/cjs/ChannelList/context.js.map +1 -0
  177. package/cjs/ChannelList.js +97 -0
  178. package/cjs/ChannelList.js.map +1 -0
  179. package/cjs/ChannelListProvider-7d1c0466.js +956 -0
  180. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  181. package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
  182. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
  192. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserListItem.js +112 -0
  194. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  195. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  196. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  197. package/cjs/ChannelSettings/context.js +102 -0
  198. package/cjs/ChannelSettings/context.js.map +1 -0
  199. package/cjs/ChannelSettings.js +77 -0
  200. package/cjs/ChannelSettings.js.map +1 -0
  201. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  202. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  203. package/cjs/CreateChannel/components/InviteUsers.js +186 -0
  204. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  205. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  206. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  207. package/cjs/CreateChannel/context.js +18 -0
  208. package/cjs/CreateChannel/context.js.map +1 -0
  209. package/cjs/CreateChannel.js +59 -0
  210. package/cjs/CreateChannel.js.map +1 -0
  211. package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
  212. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  213. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  215. package/cjs/EditUserProfile/context.js +36 -0
  216. package/cjs/EditUserProfile/context.js.map +1 -0
  217. package/cjs/EditUserProfile.js +45 -0
  218. package/cjs/EditUserProfile.js.map +1 -0
  219. package/cjs/LocalizationContext-5a6a0f67.js +30 -0
  220. package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
  221. package/cjs/MemberList-bfecdd64.js +410 -0
  222. package/cjs/MemberList-bfecdd64.js.map +1 -0
  223. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  224. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  225. package/cjs/MessageSearch/context.js +396 -0
  226. package/cjs/MessageSearch/context.js.map +1 -0
  227. package/cjs/MessageSearch.js +152 -0
  228. package/cjs/MessageSearch.js.map +1 -0
  229. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
  234. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  239. package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
  240. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  241. package/cjs/OpenChannel/context.js +25 -0
  242. package/cjs/OpenChannel/context.js.map +1 -0
  243. package/cjs/OpenChannel.js +88 -0
  244. package/cjs/OpenChannel.js.map +1 -0
  245. package/cjs/OpenChannelProvider-e8247193.js +1955 -0
  246. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  257. package/cjs/OpenChannelSettings/context.js +73 -0
  258. package/cjs/OpenChannelSettings/context.js.map +1 -0
  259. package/cjs/OpenChannelSettings.js +70 -0
  260. package/cjs/OpenChannelSettings.js.map +1 -0
  261. package/cjs/SendbirdProvider.js +790 -0
  262. package/cjs/SendbirdProvider.js.map +1 -0
  263. package/cjs/UserProfileContext-17c8f75c.js +46 -0
  264. package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
  265. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  266. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  267. package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
  268. package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
  269. package/cjs/actionTypes-7a330bec.js +10 -0
  270. package/cjs/actionTypes-7a330bec.js.map +1 -0
  271. package/cjs/color-b30f84a2.js +42 -0
  272. package/cjs/color-b30f84a2.js.map +1 -0
  273. package/cjs/compareIds-d8053014.js +20 -0
  274. package/cjs/compareIds-d8053014.js.map +1 -0
  275. package/cjs/const-2623fae1.js +22 -0
  276. package/cjs/const-2623fae1.js.map +1 -0
  277. package/cjs/const-6aa26f9f.js +14 -0
  278. package/cjs/const-6aa26f9f.js.map +1 -0
  279. package/cjs/context-83ecdafd.js +19 -0
  280. package/cjs/context-83ecdafd.js.map +1 -0
  281. package/cjs/dist/index.css +4603 -0
  282. package/cjs/dist/index.css.map +1 -0
  283. package/cjs/groupChannel-e311e26a.js +9 -0
  284. package/cjs/groupChannel-e311e26a.js.map +1 -0
  285. package/cjs/index-1e14c5b9.js +130 -0
  286. package/cjs/index-1e14c5b9.js.map +1 -0
  287. package/cjs/index-2537cbc7.js +284 -0
  288. package/cjs/index-2537cbc7.js.map +1 -0
  289. package/cjs/index-40d245a3.js +729 -0
  290. package/cjs/index-40d245a3.js.map +1 -0
  291. package/cjs/index-5e7b82c2.js +178 -0
  292. package/cjs/index-5e7b82c2.js.map +1 -0
  293. package/cjs/index-72479c2a.js +514 -0
  294. package/cjs/index-72479c2a.js.map +1 -0
  295. package/cjs/index-ab5d906d.js +67 -0
  296. package/cjs/index-ab5d906d.js.map +1 -0
  297. package/cjs/index-cdcd27bc.js +1880 -0
  298. package/cjs/index-cdcd27bc.js.map +1 -0
  299. package/cjs/index-ce679d41.js +9 -0
  300. package/cjs/index-ce679d41.js.map +1 -0
  301. package/cjs/index-df05e765.js +142 -0
  302. package/cjs/index-df05e765.js.map +1 -0
  303. package/cjs/index-f9677913.js +97 -0
  304. package/cjs/index-f9677913.js.map +1 -0
  305. package/cjs/index.js +165 -0
  306. package/cjs/index.js.map +1 -0
  307. package/cjs/openChannel-e9f65946.js +13 -0
  308. package/cjs/openChannel-e9f65946.js.map +1 -0
  309. package/cjs/openChannelUtils-4b7d2697.js +97 -0
  310. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  311. package/cjs/sendbirdSelectors.js +696 -0
  312. package/cjs/sendbirdSelectors.js.map +1 -0
  313. package/cjs/stringSet-2f3588b5.js +118 -0
  314. package/cjs/stringSet-2f3588b5.js.map +1 -0
  315. package/cjs/topics-582e38dc.js +18 -0
  316. package/cjs/topics-582e38dc.js.map +1 -0
  317. package/cjs/tslib.es6-d9c7aa8b.js +40 -0
  318. package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
  319. package/cjs/ui/Accordion.js +74 -0
  320. package/cjs/ui/Accordion.js.map +1 -0
  321. package/cjs/ui/AccordionGroup.js +32 -0
  322. package/cjs/ui/AccordionGroup.js.map +1 -0
  323. package/cjs/ui/AdminMessage.js +45 -0
  324. package/cjs/ui/AdminMessage.js.map +1 -0
  325. package/cjs/ui/Avatar.js +226 -0
  326. package/cjs/ui/Avatar.js.map +1 -0
  327. package/cjs/ui/Badge.js +45 -0
  328. package/cjs/ui/Badge.js.map +1 -0
  329. package/cjs/ui/Button.js +17 -0
  330. package/cjs/ui/Button.js.map +1 -0
  331. package/cjs/ui/ChannelAvatar.js +59 -0
  332. package/cjs/ui/ChannelAvatar.js.map +1 -0
  333. package/cjs/ui/ChannelPreview.js +208 -0
  334. package/cjs/ui/ChannelPreview.js.map +1 -0
  335. package/cjs/ui/ChatHeader.js +152 -0
  336. package/cjs/ui/ChatHeader.js.map +1 -0
  337. package/cjs/ui/Checkbox.js +49 -0
  338. package/cjs/ui/Checkbox.js.map +1 -0
  339. package/cjs/ui/ConnectionStatus.js +34 -0
  340. package/cjs/ui/ConnectionStatus.js.map +1 -0
  341. package/cjs/ui/ContextMenu.js +410 -0
  342. package/cjs/ui/ContextMenu.js.map +1 -0
  343. package/cjs/ui/DateSeparator.js +44 -0
  344. package/cjs/ui/DateSeparator.js.map +1 -0
  345. package/cjs/ui/Dropdown.js +107 -0
  346. package/cjs/ui/Dropdown.js.map +1 -0
  347. package/cjs/ui/EmojiReactions.js +127 -0
  348. package/cjs/ui/EmojiReactions.js.map +1 -0
  349. package/cjs/ui/FileMessageItemBody.js +57 -0
  350. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  351. package/cjs/ui/FileViewer.js +174 -0
  352. package/cjs/ui/FileViewer.js.map +1 -0
  353. package/cjs/ui/Icon.js +1466 -0
  354. package/cjs/ui/Icon.js.map +1 -0
  355. package/cjs/ui/IconButton.js +83 -0
  356. package/cjs/ui/IconButton.js.map +1 -0
  357. package/cjs/ui/ImageRenderer.js +138 -0
  358. package/cjs/ui/ImageRenderer.js.map +1 -0
  359. package/cjs/ui/Input.js +74 -0
  360. package/cjs/ui/Input.js.map +1 -0
  361. package/cjs/ui/Label.js +17 -0
  362. package/cjs/ui/Label.js.map +1 -0
  363. package/cjs/ui/LinkLabel.js +51 -0
  364. package/cjs/ui/LinkLabel.js.map +1 -0
  365. package/cjs/ui/Loader.js +44 -0
  366. package/cjs/ui/Loader.js.map +1 -0
  367. package/cjs/ui/MentionLabel.js +100 -0
  368. package/cjs/ui/MentionLabel.js.map +1 -0
  369. package/cjs/ui/MentionUserLabel.js +25 -0
  370. package/cjs/ui/MentionUserLabel.js.map +1 -0
  371. package/cjs/ui/MessageContent.js +297 -0
  372. package/cjs/ui/MessageContent.js.map +1 -0
  373. package/cjs/ui/MessageInput.js +5052 -0
  374. package/cjs/ui/MessageInput.js.map +1 -0
  375. package/cjs/ui/MessageItemMenu.js +137 -0
  376. package/cjs/ui/MessageItemMenu.js.map +1 -0
  377. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  378. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  379. package/cjs/ui/MessageSearchFileItem.js +131 -0
  380. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  381. package/cjs/ui/MessageSearchItem.js +93 -0
  382. package/cjs/ui/MessageSearchItem.js.map +1 -0
  383. package/cjs/ui/MessageStatus.js +66 -0
  384. package/cjs/ui/MessageStatus.js.map +1 -0
  385. package/cjs/ui/Modal.js +140 -0
  386. package/cjs/ui/Modal.js.map +1 -0
  387. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  388. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  389. package/cjs/ui/OGMessageItemBody.js +119 -0
  390. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  391. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  392. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  393. package/cjs/ui/OpenChannelAvatar.js +41 -0
  394. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  395. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  396. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  397. package/cjs/ui/OpenchannelFileMessage.js +231 -0
  398. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  399. package/cjs/ui/OpenchannelOGMessage.js +346 -0
  400. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  401. package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
  402. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  403. package/cjs/ui/OpenchannelUserMessage.js +265 -0
  404. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  405. package/cjs/ui/PlaceHolder.js +20 -0
  406. package/cjs/ui/PlaceHolder.js.map +1 -0
  407. package/cjs/ui/QuoteMessage.js +131 -0
  408. package/cjs/ui/QuoteMessage.js.map +1 -0
  409. package/cjs/ui/QuoteMessageInput.js +97 -0
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  411. package/cjs/ui/ReactionBadge.js +68 -0
  412. package/cjs/ui/ReactionBadge.js.map +1 -0
  413. package/cjs/ui/ReactionButton.js +55 -0
  414. package/cjs/ui/ReactionButton.js.map +1 -0
  415. package/cjs/ui/SortByRow.js +57 -0
  416. package/cjs/ui/SortByRow.js.map +1 -0
  417. package/cjs/ui/TextButton.js +45 -0
  418. package/cjs/ui/TextButton.js.map +1 -0
  419. package/cjs/ui/TextMessageItemBody.js +76 -0
  420. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  421. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  422. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  423. package/cjs/ui/Tooltip.js +35 -0
  424. package/cjs/ui/Tooltip.js.map +1 -0
  425. package/cjs/ui/TooltipWrapper.js +65 -0
  426. package/cjs/ui/TooltipWrapper.js.map +1 -0
  427. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  428. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  429. package/cjs/ui/UserListItem.js +159 -0
  430. package/cjs/ui/UserListItem.js.map +1 -0
  431. package/cjs/ui/UserProfile.js +88 -0
  432. package/cjs/ui/UserProfile.js.map +1 -0
  433. package/cjs/ui/Word.js +76 -0
  434. package/cjs/ui/Word.js.map +1 -0
  435. package/cjs/useSendbirdStateContext.js +22 -0
  436. package/cjs/useSendbirdStateContext.js.map +1 -0
  437. package/cjs/utils-031aba48.js +6 -0
  438. package/cjs/utils-031aba48.js.map +1 -0
  439. package/cjs/utils-510b93ac.js +38 -0
  440. package/cjs/utils-510b93ac.js.map +1 -0
  441. package/cjs/utils-689065e6.js +32 -0
  442. package/cjs/utils-689065e6.js.map +1 -0
  443. package/cjs/uuid-099485ae.js +19 -0
  444. package/cjs/uuid-099485ae.js.map +1 -0
  445. package/cjs/withSendBird.js +35 -0
  446. package/cjs/withSendBird.js.map +1 -0
  447. package/color-9bf8c922.js +39 -0
  448. package/color-9bf8c922.js.map +1 -0
  449. package/compareIds-b78d7cd6.js +18 -0
  450. package/compareIds-b78d7cd6.js.map +1 -0
  451. package/const-40b58d8b.js +18 -0
  452. package/const-40b58d8b.js.map +1 -0
  453. package/const-99800b8d.js +8 -0
  454. package/const-99800b8d.js.map +1 -0
  455. package/context-bedea43b.js +12 -0
  456. package/context-bedea43b.js.map +1 -0
  457. package/dist/index.css +292 -152
  458. package/dist/index.css.map +1 -1
  459. package/groupChannel-96502de7.js +6 -0
  460. package/groupChannel-96502de7.js.map +1 -0
  461. package/index-13729368.js +512 -0
  462. package/index-13729368.js.map +1 -0
  463. package/index-16bed610.js +64 -0
  464. package/index-16bed610.js.map +1 -0
  465. package/index-1d112ad4.js +7 -0
  466. package/index-1d112ad4.js.map +1 -0
  467. package/index-71ad343b.js +171 -0
  468. package/index-71ad343b.js.map +1 -0
  469. package/index-71e2bf26.js +131 -0
  470. package/index-71e2bf26.js.map +1 -0
  471. package/index-8e6a607b.js +688 -0
  472. package/index-8e6a607b.js.map +1 -0
  473. package/index-a5e8849a.js +280 -0
  474. package/index-a5e8849a.js.map +1 -0
  475. package/index-b574cc8e.js +87 -0
  476. package/index-b574cc8e.js.map +1 -0
  477. package/index-c95d2aab.js +121 -0
  478. package/index-c95d2aab.js.map +1 -0
  479. package/index-ccd99cfe.js +1873 -0
  480. package/index-ccd99cfe.js.map +1 -0
  481. package/index.d.ts +1965 -0
  482. package/index.d.ts_bkup +1883 -0
  483. package/index.js +146 -0
  484. package/index.js.map +1 -0
  485. package/openChannel-dd5c9246.js +8 -0
  486. package/openChannel-dd5c9246.js.map +1 -0
  487. package/openChannelUtils-211a679a.js +86 -0
  488. package/openChannelUtils-211a679a.js.map +1 -0
  489. package/package.json +11 -33
  490. package/sendbirdSelectors.js +671 -0
  491. package/sendbirdSelectors.js.map +1 -0
  492. package/stringSet-d3a8a2a0.js +116 -0
  493. package/stringSet-d3a8a2a0.js.map +1 -0
  494. package/topics-f941ba80.js +10 -0
  495. package/topics-f941ba80.js.map +1 -0
  496. package/tslib.es6-a7db0cc5.js +38 -0
  497. package/tslib.es6-a7db0cc5.js.map +1 -0
  498. package/ui/Accordion.js +65 -0
  499. package/ui/Accordion.js.map +1 -0
  500. package/ui/AccordionGroup.js +26 -0
  501. package/ui/AccordionGroup.js.map +1 -0
  502. package/ui/AdminMessage.js +38 -0
  503. package/ui/AdminMessage.js.map +1 -0
  504. package/ui/Avatar.js +217 -0
  505. package/ui/Avatar.js.map +1 -0
  506. package/ui/Badge.js +38 -0
  507. package/ui/Badge.js.map +1 -0
  508. package/ui/Button.js +7 -0
  509. package/ui/Button.js.map +1 -0
  510. package/ui/ChannelAvatar.js +53 -0
  511. package/ui/ChannelAvatar.js.map +1 -0
  512. package/ui/ChannelPreview.js +201 -0
  513. package/ui/ChannelPreview.js.map +1 -0
  514. package/ui/ChatHeader.js +145 -0
  515. package/ui/ChatHeader.js.map +1 -0
  516. package/ui/Checkbox.js +42 -0
  517. package/ui/Checkbox.js.map +1 -0
  518. package/ui/ConnectionStatus.js +28 -0
  519. package/ui/ConnectionStatus.js.map +1 -0
  520. package/ui/ContextMenu.js +396 -0
  521. package/ui/ContextMenu.js.map +1 -0
  522. package/ui/DateSeparator.js +37 -0
  523. package/ui/DateSeparator.js.map +1 -0
  524. package/ui/Dropdown.js +97 -0
  525. package/ui/Dropdown.js.map +1 -0
  526. package/ui/EmojiReactions.js +121 -0
  527. package/ui/EmojiReactions.js.map +1 -0
  528. package/ui/FileMessageItemBody.js +51 -0
  529. package/ui/FileMessageItemBody.js.map +1 -0
  530. package/ui/FileViewer.js +164 -0
  531. package/ui/FileViewer.js.map +1 -0
  532. package/ui/Icon.js +1436 -0
  533. package/ui/Icon.js.map +1 -0
  534. package/ui/IconButton.js +76 -0
  535. package/ui/IconButton.js.map +1 -0
  536. package/ui/ImageRenderer.js +131 -0
  537. package/ui/ImageRenderer.js.map +1 -0
  538. package/ui/Input.js +64 -0
  539. package/ui/Input.js.map +1 -0
  540. package/ui/Label.js +6 -0
  541. package/ui/Label.js.map +1 -0
  542. package/ui/LinkLabel.js +40 -0
  543. package/ui/LinkLabel.js.map +1 -0
  544. package/ui/Loader.js +37 -0
  545. package/ui/Loader.js.map +1 -0
  546. package/ui/MentionLabel.js +94 -0
  547. package/ui/MentionLabel.js.map +1 -0
  548. package/ui/MentionUserLabel.js +19 -0
  549. package/ui/MentionUserLabel.js.map +1 -0
  550. package/ui/MessageContent.js +291 -0
  551. package/ui/MessageContent.js.map +1 -0
  552. package/ui/MessageInput.js +5044 -0
  553. package/ui/MessageInput.js.map +1 -0
  554. package/ui/MessageItemMenu.js +131 -0
  555. package/ui/MessageItemMenu.js.map +1 -0
  556. package/ui/MessageItemReactionMenu.js +106 -0
  557. package/ui/MessageItemReactionMenu.js.map +1 -0
  558. package/ui/MessageSearchFileItem.js +125 -0
  559. package/ui/MessageSearchFileItem.js.map +1 -0
  560. package/ui/MessageSearchItem.js +87 -0
  561. package/ui/MessageSearchItem.js.map +1 -0
  562. package/ui/MessageStatus.js +57 -0
  563. package/ui/MessageStatus.js.map +1 -0
  564. package/ui/Modal.js +128 -0
  565. package/ui/Modal.js.map +1 -0
  566. package/ui/MutedAvatarOverlay.js +34 -0
  567. package/ui/MutedAvatarOverlay.js.map +1 -0
  568. package/ui/OGMessageItemBody.js +113 -0
  569. package/ui/OGMessageItemBody.js.map +1 -0
  570. package/ui/OpenChannelAdminMessage.js +21 -0
  571. package/ui/OpenChannelAdminMessage.js.map +1 -0
  572. package/ui/OpenChannelAvatar.js +35 -0
  573. package/ui/OpenChannelAvatar.js.map +1 -0
  574. package/ui/OpenchannelConversationHeader.js +67 -0
  575. package/ui/OpenchannelConversationHeader.js.map +1 -0
  576. package/ui/OpenchannelFileMessage.js +225 -0
  577. package/ui/OpenchannelFileMessage.js.map +1 -0
  578. package/ui/OpenchannelOGMessage.js +340 -0
  579. package/ui/OpenchannelOGMessage.js.map +1 -0
  580. package/ui/OpenchannelThumbnailMessage.js +300 -0
  581. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  582. package/ui/OpenchannelUserMessage.js +259 -0
  583. package/ui/OpenchannelUserMessage.js.map +1 -0
  584. package/ui/PlaceHolder.js +11 -0
  585. package/ui/PlaceHolder.js.map +1 -0
  586. package/ui/QuoteMessage.js +125 -0
  587. package/ui/QuoteMessage.js.map +1 -0
  588. package/ui/QuoteMessageInput.js +91 -0
  589. package/ui/QuoteMessageInput.js.map +1 -0
  590. package/ui/ReactionBadge.js +61 -0
  591. package/ui/ReactionBadge.js.map +1 -0
  592. package/ui/ReactionButton.js +48 -0
  593. package/ui/ReactionButton.js.map +1 -0
  594. package/ui/SortByRow.js +50 -0
  595. package/ui/SortByRow.js.map +1 -0
  596. package/ui/TextButton.js +38 -0
  597. package/ui/TextButton.js.map +1 -0
  598. package/ui/TextMessageItemBody.js +70 -0
  599. package/ui/TextMessageItemBody.js.map +1 -0
  600. package/ui/ThumbnailMessageItemBody.js +76 -0
  601. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  602. package/ui/Tooltip.js +28 -0
  603. package/ui/Tooltip.js.map +1 -0
  604. package/ui/TooltipWrapper.js +58 -0
  605. package/ui/TooltipWrapper.js.map +1 -0
  606. package/ui/UnknownMessageItemBody.js +35 -0
  607. package/ui/UnknownMessageItemBody.js.map +1 -0
  608. package/ui/UserListItem.js +152 -0
  609. package/ui/UserListItem.js.map +1 -0
  610. package/ui/UserProfile.js +82 -0
  611. package/ui/UserProfile.js.map +1 -0
  612. package/ui/Word.js +70 -0
  613. package/ui/Word.js.map +1 -0
  614. package/useSendbirdStateContext.js +20 -0
  615. package/useSendbirdStateContext.js.map +1 -0
  616. package/utils-2e3623c0.js +30 -0
  617. package/utils-2e3623c0.js.map +1 -0
  618. package/utils-cadde06a.js +4 -0
  619. package/utils-cadde06a.js.map +1 -0
  620. package/utils-d9325ddf.js +34 -0
  621. package/utils-d9325ddf.js.map +1 -0
  622. package/uuid-748dae7a.js +17 -0
  623. package/uuid-748dae7a.js.map +1 -0
  624. package/withSendBird.js +26 -0
  625. package/withSendBird.js.map +1 -0
@@ -0,0 +1,944 @@
1
+ import { a as __spreadArray, _ as __assign } from './tslib.es6-a7db0cc5.js';
2
+ import React__default, { useReducer, useState, useEffect, useMemo, useContext } from 'react';
3
+ import { Y as Yr } from './groupChannel-96502de7.js';
4
+ import { C as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, L as LEAVE_CHANNEL, S as SEND_MESSAGE_START } from './topics-f941ba80.js';
5
+ import { u as uuidv4 } from './uuid-748dae7a.js';
6
+ import { n as noop } from './utils-cadde06a.js';
7
+ import { U as UserProfileProvider } from './UserProfileContext-6a387a08.js';
8
+ import useSendbirdStateContext from './useSendbirdStateContext.js';
9
+ import { _ as _objectSpread2, b as _toConsumableArray } from './_rollupPluginBabelHelpers-084fb589.js';
10
+ import { f as filterChannelListParams, g as getChannelsWithUpsertedChannel } from './index-8e6a607b.js';
11
+
12
+ var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
13
+ var CREATE_CHANNEL = 'CREATE_CHANNEL';
14
+ var LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';
15
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
16
+ var SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';
17
+ var HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';
18
+ var FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';
19
+ var FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';
20
+ var FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';
21
+ var INIT_CHANNELS_START = 'INIT_CHANNELS_START';
22
+ var INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';
23
+ var INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';
24
+ var ON_USER_JOINED = 'ON_USER_JOINED';
25
+ var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
26
+ var ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';
27
+ var ON_USER_LEFT = 'ON_USER_LEFT';
28
+ var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
29
+ var ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';
30
+ var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
31
+ var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
32
+ var ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';
33
+ var ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
34
+ var CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';
35
+ var CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';
36
+
37
+ var DELIVERY_RECIPT = 'delivery_receipt';
38
+
39
+ var createEventHandler = function createEventHandler(_ref) {
40
+ var sdk = _ref.sdk,
41
+ sdkChannelHandlerId = _ref.sdkChannelHandlerId,
42
+ channelListDispatcher = _ref.channelListDispatcher,
43
+ logger = _ref.logger;
44
+ var ChannelHandler = new Yr({
45
+ onChannelChanged: function onChannelChanged(channel) {
46
+ logger.info('ChannelList: onChannelChanged', channel);
47
+ channelListDispatcher({
48
+ type: ON_CHANNEL_CHANGED,
49
+ payload: channel
50
+ });
51
+ },
52
+ onChannelDeleted: function onChannelDeleted(channelUrl) {
53
+ logger.info('ChannelList: onChannelDeleted', channelUrl);
54
+ channelListDispatcher({
55
+ type: ON_CHANNEL_DELETED,
56
+ payload: channelUrl
57
+ });
58
+ },
59
+ onUserJoined: function onUserJoined(channel) {
60
+ logger.info('ChannelList: onUserJoined', channel);
61
+
62
+ if (channel !== null && channel !== void 0 && channel.lastMessage) {
63
+ channelListDispatcher({
64
+ type: ON_USER_JOINED,
65
+ payload: channel
66
+ });
67
+ }
68
+ },
69
+ onUserBanned: function onUserBanned(channel, user) {
70
+ var currentUser = sdk.currentUser;
71
+ logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);
72
+
73
+ if (user.userId === currentUser.userId) {
74
+ channelListDispatcher({
75
+ type: ON_USER_LEFT,
76
+ payload: {
77
+ channel: channel,
78
+ isMe: true
79
+ }
80
+ });
81
+ } else {
82
+ channelListDispatcher({
83
+ type: ON_USER_LEFT,
84
+ payload: {
85
+ channel: channel,
86
+ isMe: false
87
+ }
88
+ });
89
+ }
90
+ },
91
+ onUserLeft: function onUserLeft(channel, leftUser) {
92
+ var currentUser = sdk.currentUser;
93
+ var isMe = currentUser.userId === leftUser.userId;
94
+ logger.info('ChannelList: onUserLeft', channel);
95
+ channelListDispatcher({
96
+ type: ON_USER_LEFT,
97
+ payload: {
98
+ channel: channel,
99
+ isMe: isMe
100
+ }
101
+ });
102
+ },
103
+ onReadStatus: function onReadStatus(channel) {
104
+ logger.info('ChannelList: onReadStatus', channel);
105
+ channelListDispatcher({
106
+ type: ON_READ_RECEIPT_UPDATED,
107
+ payload: channel
108
+ });
109
+ },
110
+ onDeliveryReceiptUpdated: function onDeliveryReceiptUpdated(channel) {
111
+ logger.info('ChannelList: onDeliveryReceiptUpdated', channel);
112
+
113
+ if (channel !== null && channel !== void 0 && channel.lastMessage) {
114
+ channelListDispatcher({
115
+ type: ON_DELIVERY_RECEIPT_UPDATED,
116
+ payload: channel
117
+ });
118
+ }
119
+ },
120
+ onMessageUpdated: function onMessageUpdated(channel, message) {
121
+ if (channel !== null && channel !== void 0 && channel.lastMessage.isEqual(message)) {
122
+ logger.info('ChannelList: onMessageUpdated', channel);
123
+ channelListDispatcher({
124
+ type: ON_LAST_MESSAGE_UPDATED,
125
+ payload: channel
126
+ });
127
+ }
128
+ },
129
+ onChannelHidden: function onChannelHidden(channel) {
130
+ logger.info('ChannelList: onChannelHidden', channel);
131
+ channelListDispatcher({
132
+ type: ON_CHANNEL_ARCHIVED,
133
+ payload: channel
134
+ });
135
+ },
136
+ onChannelFrozen: function onChannelFrozen(channel) {
137
+ logger.info('ChannelList: onChannelFrozen', channel);
138
+ channelListDispatcher({
139
+ type: ON_CHANNEL_FROZEN,
140
+ payload: channel
141
+ });
142
+ },
143
+ onChannelUnfrozen: function onChannelUnfrozen(channel) {
144
+ logger.info('ChannelList: onChannelUnfrozen', channel);
145
+ channelListDispatcher({
146
+ type: ON_CHANNEL_UNFROZEN,
147
+ payload: channel
148
+ });
149
+ }
150
+ });
151
+ logger.info('ChannelList: Added channelHandler');
152
+ sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);
153
+ };
154
+
155
+ var createChannelListQuery = function createChannelListQuery(_ref2) {
156
+ var sdk = _ref2.sdk,
157
+ _ref2$userFilledChann = _ref2.userFilledChannelListQuery,
158
+ userFilledChannelListQuery = _ref2$userFilledChann === void 0 ? {} : _ref2$userFilledChann;
159
+ var param = {};
160
+ param.includeEmpty = false;
161
+ param.limit = 20; // The value of pagination limit could be set up to 100.
162
+
163
+ param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'
164
+
165
+ if (userFilledChannelListQuery) {
166
+ Object.keys(userFilledChannelListQuery).forEach(function (key) {
167
+ param[key] = userFilledChannelListQuery[key];
168
+ });
169
+ }
170
+
171
+ var channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);
172
+ return channelListQuery;
173
+ };
174
+ /**
175
+ * Setup event listener
176
+ * create channel source query
177
+ * addloading screen
178
+ */
179
+
180
+
181
+ function setupChannelList(_ref3) {
182
+ var sdk = _ref3.sdk,
183
+ sdkChannelHandlerId = _ref3.sdkChannelHandlerId,
184
+ channelListDispatcher = _ref3.channelListDispatcher,
185
+ setChannelSource = _ref3.setChannelSource,
186
+ onChannelSelect = _ref3.onChannelSelect,
187
+ userFilledChannelListQuery = _ref3.userFilledChannelListQuery,
188
+ logger = _ref3.logger,
189
+ sortChannelList = _ref3.sortChannelList,
190
+ disableAutoSelect = _ref3.disableAutoSelect;
191
+
192
+ if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
193
+ createEventHandler({
194
+ sdk: sdk,
195
+ channelListDispatcher: channelListDispatcher,
196
+ sdkChannelHandlerId: sdkChannelHandlerId,
197
+ logger: logger
198
+ });
199
+ } else {
200
+ logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);
201
+ }
202
+
203
+ logger.info('ChannelList - creating query', {
204
+ userFilledChannelListQuery: userFilledChannelListQuery
205
+ });
206
+ var channelListQuery = createChannelListQuery({
207
+ sdk: sdk,
208
+ userFilledChannelListQuery: userFilledChannelListQuery
209
+ });
210
+ logger.info('ChannelList - created query', channelListQuery);
211
+ setChannelSource(channelListQuery);
212
+ channelListDispatcher({
213
+ type: INIT_CHANNELS_START
214
+ });
215
+
216
+ if (userFilledChannelListQuery) {
217
+ logger.info('ChannelList - setting up channelListQuery', channelListQuery);
218
+ channelListDispatcher({
219
+ type: CHANNEL_LIST_PARAMS_UPDATED,
220
+ payload: {
221
+ channelListQuery: channelListQuery,
222
+ currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId
223
+ }
224
+ });
225
+ }
226
+
227
+ logger.info('ChannelList - fetching channels');
228
+
229
+ if (channelListQuery.hasNext) {
230
+ channelListQuery.next().then(function (channelList) {
231
+ var _sdk$appInfo, _sdk$appInfo$premiumF;
232
+
233
+ logger.info('ChannelList - fetched channels', channelList); // select first channel
234
+
235
+ logger.info('ChannelList - highlight channel', channelList[0]);
236
+ var sortedChannelList = channelList;
237
+
238
+ if (sortChannelList && typeof sortChannelList === 'function') {
239
+ sortedChannelList = sortChannelList(channelList);
240
+ logger.info('ChannelList - channel list sorted', sortedChannelList);
241
+ }
242
+
243
+ if (!disableAutoSelect) {
244
+ onChannelSelect(sortedChannelList[0]);
245
+ }
246
+
247
+ channelListDispatcher({
248
+ type: INIT_CHANNELS_SUCCESS,
249
+ payload: {
250
+ channelList: sortedChannelList,
251
+ disableAutoSelect: disableAutoSelect
252
+ }
253
+ });
254
+ var canSetMarkAsDelivered = sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : (_sdk$appInfo$premiumF = _sdk$appInfo.premiumFeatureList) === null || _sdk$appInfo$premiumF === void 0 ? void 0 : _sdk$appInfo$premiumF.find(function (feature) {
255
+ return feature === DELIVERY_RECIPT;
256
+ });
257
+
258
+ if (canSetMarkAsDelivered) {
259
+ logger.info('ChannelList: Marking all channels as read'); // eslint-disable-next-line no-unused-expressions
260
+
261
+ channelList.forEach(function (c, idx) {
262
+ // Plan-based rate limits - minimum limit is 5 requests per second
263
+ setTimeout(function () {
264
+ // eslint-disable-next-line no-unused-expressions
265
+ c.markAsDelivered();
266
+ }, 300 * idx);
267
+ });
268
+ }
269
+ }).catch(function (err) {
270
+ if (err) {
271
+ logger.error('ChannelList - couldnt fetch channels', err);
272
+ channelListDispatcher({
273
+ type: INIT_CHANNELS_FAILURE
274
+ });
275
+ }
276
+ });
277
+ } else {
278
+ logger.warning('ChannelList - there are no more channels');
279
+ }
280
+ }
281
+
282
+ var pubSubHandleRemover = function pubSubHandleRemover(subscriber) {
283
+ subscriber.forEach(function (s) {
284
+ try {
285
+ s.remove();
286
+ } catch (_unused) {//
287
+ }
288
+ });
289
+ };
290
+ var pubSubHandler = function pubSubHandler(pubSub, channelListDispatcher) {
291
+ var subscriber = new Map();
292
+ if (!pubSub) return subscriber;
293
+ subscriber.set(CREATE_CHANNEL$1, pubSub.subscribe(CREATE_CHANNEL$1, function (msg) {
294
+ var channel = msg.channel;
295
+ channelListDispatcher({
296
+ type: 'CREATE_CHANNEL',
297
+ payload: channel
298
+ });
299
+ }));
300
+ subscriber.set(UPDATE_USER_MESSAGE, pubSub.subscribe(UPDATE_USER_MESSAGE, function (msg) {
301
+ var _updatedChannel$lastM;
302
+
303
+ var channel = msg.channel,
304
+ message = msg.message;
305
+ var updatedChannel = channel;
306
+
307
+ if ((updatedChannel === null || updatedChannel === void 0 ? void 0 : (_updatedChannel$lastM = updatedChannel.lastMessage) === null || _updatedChannel$lastM === void 0 ? void 0 : _updatedChannel$lastM.messageId) === message.messageId) {
308
+ updatedChannel.lastMessage = message;
309
+ }
310
+
311
+ if (channel) {
312
+ channelListDispatcher({
313
+ type: ON_LAST_MESSAGE_UPDATED,
314
+ payload: updatedChannel
315
+ });
316
+ }
317
+ }));
318
+ subscriber.set(LEAVE_CHANNEL, pubSub.subscribe(LEAVE_CHANNEL, function (msg) {
319
+ var channel = msg.channel;
320
+ channelListDispatcher({
321
+ type: LEAVE_CHANNEL_SUCCESS,
322
+ payload: channel === null || channel === void 0 ? void 0 : channel.url
323
+ });
324
+ }));
325
+ subscriber.set(SEND_MESSAGE_START, pubSub.subscribe(SEND_MESSAGE_START, function (msg) {
326
+ var channel = msg.channel;
327
+ channelListDispatcher({
328
+ type: CHANNEL_REPLACED_TO_TOP,
329
+ payload: channel
330
+ });
331
+ }));
332
+ return subscriber;
333
+ };
334
+
335
+ var channelListInitialState = {
336
+ // we might not need this initialized state -> should remove
337
+ initialized: false,
338
+ loading: false,
339
+ allChannels: [],
340
+ currentChannel: null,
341
+ showSettings: false,
342
+ channelListQuery: null,
343
+ currentUserId: '',
344
+ disableAutoSelect: false
345
+ };
346
+
347
+ function reducer(state, action) {
348
+ switch (action.type) {
349
+ case INIT_CHANNELS_START:
350
+ return _objectSpread2(_objectSpread2({}, state), {}, {
351
+ loading: true
352
+ });
353
+
354
+ case RESET_CHANNEL_LIST:
355
+ return channelListInitialState;
356
+
357
+ case INIT_CHANNELS_SUCCESS:
358
+ {
359
+ var _action$payload = action.payload,
360
+ channelList = _action$payload.channelList,
361
+ disableAutoSelect = _action$payload.disableAutoSelect;
362
+ return _objectSpread2(_objectSpread2({}, state), {}, {
363
+ initialized: true,
364
+ loading: false,
365
+ allChannels: channelList,
366
+ disableAutoSelect: disableAutoSelect,
367
+ currentChannel: !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : null
368
+ });
369
+ }
370
+
371
+ case FETCH_CHANNELS_SUCCESS:
372
+ {
373
+ var currentChannels = state.allChannels.map(function (c) {
374
+ return c.url;
375
+ });
376
+ var filteredChannels = action.payload.filter(function (_ref) {
377
+ var url = _ref.url;
378
+ return !currentChannels.find(function (c) {
379
+ return c === url;
380
+ });
381
+ });
382
+ return _objectSpread2(_objectSpread2({}, state), {}, {
383
+ allChannels: [].concat(_toConsumableArray(state.allChannels), _toConsumableArray(filteredChannels))
384
+ });
385
+ }
386
+
387
+ case CREATE_CHANNEL:
388
+ {
389
+ var channel = action.payload;
390
+
391
+ if (state.channelListQuery) {
392
+ if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {
393
+ return _objectSpread2(_objectSpread2({}, state), {}, {
394
+ allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel)
395
+ });
396
+ }
397
+
398
+ return _objectSpread2(_objectSpread2({}, state), {}, {
399
+ currentChannel: channel
400
+ });
401
+ }
402
+
403
+ return _objectSpread2(_objectSpread2({}, state), {}, {
404
+ allChannels: [channel].concat(_toConsumableArray(state.allChannels.filter(function (ch) {
405
+ return ch.url !== (channel === null || channel === void 0 ? void 0 : channel.url);
406
+ }))),
407
+ currentChannel: channel
408
+ });
409
+ }
410
+
411
+ case ON_CHANNEL_ARCHIVED:
412
+ {
413
+ var _state$currentChannel;
414
+
415
+ var _channel = action.payload;
416
+
417
+ if (state.channelListQuery) {
418
+ if (filterChannelListParams(state.channelListQuery, _channel, state.currentUserId)) {
419
+ return _objectSpread2(_objectSpread2({}, state), {}, {
420
+ allChannels: getChannelsWithUpsertedChannel(state.allChannels, _channel)
421
+ }); // TODO: Check if we have to set current channel
422
+ }
423
+ }
424
+
425
+ var nextChannel = (_channel === null || _channel === void 0 ? void 0 : _channel.url) === ((_state$currentChannel = state.currentChannel) === null || _state$currentChannel === void 0 ? void 0 : _state$currentChannel.url) ? state.allChannels[state.allChannels[0].url === (_channel === null || _channel === void 0 ? void 0 : _channel.url) ? 1 : 0] : state.currentChannel;
426
+ return _objectSpread2(_objectSpread2({}, state), {}, {
427
+ allChannels: state.allChannels.filter(function (_ref2) {
428
+ var url = _ref2.url;
429
+ return url !== (_channel === null || _channel === void 0 ? void 0 : _channel.url);
430
+ }),
431
+ currentChannel: state.disableAutoSelect ? null : nextChannel
432
+ });
433
+ }
434
+
435
+ case LEAVE_CHANNEL_SUCCESS:
436
+ case ON_CHANNEL_DELETED:
437
+ {
438
+ var _state$currentChannel2;
439
+
440
+ var channelUrl = action.payload;
441
+ return _objectSpread2(_objectSpread2({}, state), {}, {
442
+ currentChannel: channelUrl === ((_state$currentChannel2 = state.currentChannel) === null || _state$currentChannel2 === void 0 ? void 0 : _state$currentChannel2.url) ? state.allChannels[0] : state.currentChannel,
443
+ allChannels: state.allChannels.filter(function (_ref3) {
444
+ var url = _ref3.url;
445
+ return url !== channelUrl;
446
+ })
447
+ });
448
+ }
449
+
450
+ case ON_USER_LEFT:
451
+ {
452
+ var _state$currentChannel5;
453
+
454
+ var _action$payload2 = action.payload,
455
+ _channel2 = _action$payload2.channel,
456
+ isMe = _action$payload2.isMe;
457
+
458
+ if (state.channelListQuery) {
459
+ var _state$currentChannel4;
460
+
461
+ if (filterChannelListParams(state.channelListQuery, _channel2, state.currentUserId)) {
462
+ var _state$currentChannel3;
463
+
464
+ var _filteredChannels2 = getChannelsWithUpsertedChannel(state.allChannels, _channel2);
465
+
466
+ var _nextChannel3 = isMe && (_channel2 === null || _channel2 === void 0 ? void 0 : _channel2.url) === ((_state$currentChannel3 = state.currentChannel) === null || _state$currentChannel3 === void 0 ? void 0 : _state$currentChannel3.url) ? _filteredChannels2[0] : state.currentChannel;
467
+
468
+ return _objectSpread2(_objectSpread2({}, state), {}, {
469
+ currentChannel: state.disableAutoSelect ? null : _nextChannel3,
470
+ allChannels: _filteredChannels2
471
+ });
472
+ }
473
+
474
+ var _nextChannel2 = (_channel2 === null || _channel2 === void 0 ? void 0 : _channel2.url) === ((_state$currentChannel4 = state.currentChannel) === null || _state$currentChannel4 === void 0 ? void 0 : _state$currentChannel4.url) ? state.allChannels[0] : state.currentChannel;
475
+
476
+ return _objectSpread2(_objectSpread2({}, state), {}, {
477
+ currentChannel: state.disableAutoSelect ? null : _nextChannel2,
478
+ allChannels: state.allChannels.filter(function (_ref4) {
479
+ var url = _ref4.url;
480
+ return url !== (_channel2 === null || _channel2 === void 0 ? void 0 : _channel2.url);
481
+ })
482
+ });
483
+ }
484
+
485
+ var _filteredChannels = state.allChannels.filter(function (c) {
486
+ return !(c.url === (_channel2 === null || _channel2 === void 0 ? void 0 : _channel2.url) && isMe);
487
+ });
488
+
489
+ var _nextChannel = isMe && (_channel2 === null || _channel2 === void 0 ? void 0 : _channel2.url) === ((_state$currentChannel5 = state.currentChannel) === null || _state$currentChannel5 === void 0 ? void 0 : _state$currentChannel5.url) ? _filteredChannels[0] : state.currentChannel;
490
+
491
+ return _objectSpread2(_objectSpread2({}, state), {}, {
492
+ currentChannel: state.disableAutoSelect ? null : _nextChannel,
493
+ allChannels: _filteredChannels
494
+ });
495
+ }
496
+
497
+ case ON_USER_JOINED:
498
+ case ON_CHANNEL_CHANGED:
499
+ case ON_READ_RECEIPT_UPDATED:
500
+ case ON_DELIVERY_RECEIPT_UPDATED:
501
+ {
502
+ var _state$allChannels = state.allChannels,
503
+ allChannels = _state$allChannels === void 0 ? [] : _state$allChannels;
504
+ var _channel3 = action.payload;
505
+ var unreadMessageCount = _channel3.unreadMessageCount;
506
+ if (!(_channel3 !== null && _channel3 !== void 0 && _channel3.lastMessage)) return state;
507
+
508
+ if (state.channelListQuery) {
509
+ var _state$currentChannel6;
510
+
511
+ if (filterChannelListParams(state.channelListQuery, _channel3, state.currentUserId)) {
512
+ return _objectSpread2(_objectSpread2({}, state), {}, {
513
+ allChannels: getChannelsWithUpsertedChannel(allChannels, _channel3)
514
+ });
515
+ }
516
+
517
+ var _nextChannel4 = (_channel3 === null || _channel3 === void 0 ? void 0 : _channel3.url) === ((_state$currentChannel6 = state.currentChannel) === null || _state$currentChannel6 === void 0 ? void 0 : _state$currentChannel6.url) ? state.allChannels[state.allChannels[0].url === (_channel3 === null || _channel3 === void 0 ? void 0 : _channel3.url) ? 1 : 0] // if coming channel is first of channel list, current channel will be the next one
518
+ : state.currentChannel;
519
+
520
+ return _objectSpread2(_objectSpread2({}, state), {}, {
521
+ currentChannel: state.disableAutoSelect ? null : _nextChannel4,
522
+ allChannels: state.allChannels.filter(function (_ref5) {
523
+ var url = _ref5.url;
524
+ return url !== (_channel3 === null || _channel3 === void 0 ? void 0 : _channel3.url);
525
+ })
526
+ });
527
+ } // if its only an unread message count change, dont push to top
528
+
529
+
530
+ if (unreadMessageCount === 0) {
531
+ var currentChannel = allChannels.find(function (_ref6) {
532
+ var url = _ref6.url;
533
+ return url === (_channel3 === null || _channel3 === void 0 ? void 0 : _channel3.url);
534
+ });
535
+ var currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;
536
+
537
+ if (currentUnreadCount === 0) {
538
+ return _objectSpread2(_objectSpread2({}, state), {}, {
539
+ allChannels: state.allChannels.map(function (ch) {
540
+ return ch.url === (_channel3 === null || _channel3 === void 0 ? void 0 : _channel3.url) ? _channel3 : ch;
541
+ })
542
+ });
543
+ }
544
+ }
545
+
546
+ return _objectSpread2(_objectSpread2({}, state), {}, {
547
+ allChannels: [_channel3].concat(_toConsumableArray(state.allChannels.filter(function (_ref7) {
548
+ var url = _ref7.url;
549
+ return url !== action.payload.url;
550
+ })))
551
+ });
552
+ }
553
+
554
+ case SET_CURRENT_CHANNEL:
555
+ return _objectSpread2(_objectSpread2({}, state), {}, {
556
+ currentChannel: action.payload
557
+ });
558
+
559
+ case SHOW_CHANNEL_SETTINGS:
560
+ return _objectSpread2(_objectSpread2({}, state), {}, {
561
+ showSettings: true
562
+ });
563
+
564
+ case HIDE_CHANNEL_SETTINGS:
565
+ return _objectSpread2(_objectSpread2({}, state), {}, {
566
+ showSettings: false
567
+ });
568
+
569
+ case ON_LAST_MESSAGE_UPDATED:
570
+ {
571
+ return _objectSpread2(_objectSpread2({}, state), {}, {
572
+ allChannels: state.allChannels.map(function (channel) {
573
+ return (channel === null || channel === void 0 ? void 0 : channel.url) === action.payload.url ? action.payload : channel;
574
+ })
575
+ });
576
+ }
577
+
578
+ case ON_CHANNEL_FROZEN:
579
+ {
580
+ var _channel4 = action.payload;
581
+
582
+ if (state.channelListQuery) {
583
+ var _state$currentChannel7;
584
+
585
+ if (filterChannelListParams(state.channelListQuery, _channel4, state.currentUserId)) {
586
+ return _objectSpread2(_objectSpread2({}, state), {}, {
587
+ allChannels: getChannelsWithUpsertedChannel(state.allChannels, _channel4)
588
+ });
589
+ }
590
+
591
+ var _nextChannel5 = (_channel4 === null || _channel4 === void 0 ? void 0 : _channel4.url) === ((_state$currentChannel7 = state.currentChannel) === null || _state$currentChannel7 === void 0 ? void 0 : _state$currentChannel7.url) ? state.allChannels[state.allChannels[0].url === (_channel4 === null || _channel4 === void 0 ? void 0 : _channel4.url) ? 1 : 0] // if coming channel is first of channel list, current channel will be the next one
592
+ : state.currentChannel;
593
+
594
+ return _objectSpread2(_objectSpread2({}, state), {}, {
595
+ allChannels: state.allChannels.filter(function (_ref8) {
596
+ var url = _ref8.url;
597
+ return url !== (_channel4 === null || _channel4 === void 0 ? void 0 : _channel4.url);
598
+ }),
599
+ currentChannel: state.disableAutoSelect ? null : _nextChannel5
600
+ });
601
+ }
602
+
603
+ return _objectSpread2(_objectSpread2({}, state), {}, {
604
+ allChannels: state.allChannels.map(function (ch) {
605
+ if (ch.url === (_channel4 === null || _channel4 === void 0 ? void 0 : _channel4.url)) {
606
+ // eslint-disable-next-line no-param-reassign
607
+ ch.isFrozen = true;
608
+ return ch;
609
+ }
610
+
611
+ return ch;
612
+ })
613
+ });
614
+ }
615
+
616
+ case ON_CHANNEL_UNFROZEN:
617
+ {
618
+ var _channel5 = action.payload;
619
+
620
+ if (state.channelListQuery) {
621
+ var _state$currentChannel8;
622
+
623
+ if (filterChannelListParams(state.channelListQuery, _channel5, state.currentUserId)) {
624
+ return _objectSpread2(_objectSpread2({}, state), {}, {
625
+ allChannels: getChannelsWithUpsertedChannel(state.allChannels, _channel5)
626
+ });
627
+ }
628
+
629
+ var _nextChannel6 = (_channel5 === null || _channel5 === void 0 ? void 0 : _channel5.url) === ((_state$currentChannel8 = state.currentChannel) === null || _state$currentChannel8 === void 0 ? void 0 : _state$currentChannel8.url) ? state.allChannels[state.allChannels[0].url === (_channel5 === null || _channel5 === void 0 ? void 0 : _channel5.url) ? 1 : 0] // if coming channel is first of channel list, current channel will be the next one
630
+ : state.currentChannel;
631
+
632
+ return _objectSpread2(_objectSpread2({}, state), {}, {
633
+ allChannels: state.allChannels.filter(function (_ref9) {
634
+ var url = _ref9.url;
635
+ return url !== (_channel5 === null || _channel5 === void 0 ? void 0 : _channel5.url);
636
+ }),
637
+ currentChannel: state.disableAutoSelect ? null : _nextChannel6
638
+ });
639
+ }
640
+
641
+ return _objectSpread2(_objectSpread2({}, state), {}, {
642
+ allChannels: state.allChannels.map(function (ch) {
643
+ if (ch.url === (_channel5 === null || _channel5 === void 0 ? void 0 : _channel5.url)) {
644
+ // eslint-disable-next-line no-param-reassign
645
+ ch.isFrozen = false;
646
+ return ch;
647
+ }
648
+
649
+ return ch;
650
+ })
651
+ });
652
+ }
653
+
654
+ case CHANNEL_REPLACED_TO_TOP:
655
+ {
656
+ return _objectSpread2(_objectSpread2({}, state), {}, {
657
+ allChannels: [action.payload].concat(_toConsumableArray(state.allChannels.filter(function (channel) {
658
+ return (channel === null || channel === void 0 ? void 0 : channel.url) !== action.payload.url;
659
+ })))
660
+ });
661
+ }
662
+
663
+ case CHANNEL_LIST_PARAMS_UPDATED:
664
+ return _objectSpread2(_objectSpread2({}, state), {}, {
665
+ currentUserId: action.payload.currentUserId,
666
+ channelListQuery: action.payload.channelListQuery
667
+ });
668
+
669
+ default:
670
+ return state;
671
+ }
672
+ }
673
+
674
+ var ChannelListContext = /*#__PURE__*/React__default.createContext({
675
+ disableUserProfile: true,
676
+ allowProfileEdit: true,
677
+ onBeforeCreateChannel: null,
678
+ onThemeChange: null,
679
+ onProfileEditSuccess: null,
680
+ onChannelSelect: null,
681
+ queries: {},
682
+ className: null,
683
+ initialized: false,
684
+ loading: false,
685
+ allChannels: [],
686
+ currentChannel: null,
687
+ showSettings: false,
688
+ channelListQuery: {},
689
+ currentUserId: null,
690
+ channelListDispatcher: null,
691
+ channelSource: null,
692
+ typingChannels: []
693
+ });
694
+
695
+ var ChannelListProvider = function ChannelListProvider(props) {
696
+ var _a; // destruct props
697
+
698
+
699
+ var children = props.children,
700
+ className = props.className,
701
+ disableUserProfile = props.disableUserProfile,
702
+ allowProfileEdit = props.allowProfileEdit,
703
+ queries = props.queries,
704
+ onProfileEditSuccess = props.onProfileEditSuccess,
705
+ onThemeChange = props.onThemeChange,
706
+ onBeforeCreateChannel = props.onBeforeCreateChannel,
707
+ sortChannelList = props.sortChannelList,
708
+ disableAutoSelect = props.disableAutoSelect,
709
+ _b = props.isTypingIndicatorEnabled,
710
+ isTypingIndicatorEnabled = _b === void 0 ? null : _b,
711
+ _c = props.isMessageReceiptStatusEnabled,
712
+ isMessageReceiptStatusEnabled = _c === void 0 ? null : _c;
713
+ var onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || noop; // fetch store from <SendbirdProvider />
714
+
715
+ var globalStore = useSendbirdStateContext();
716
+ var config = globalStore.config,
717
+ stores = globalStore.stores;
718
+ var sdkStore = stores.sdkStore;
719
+ var pubSub = config.pubSub,
720
+ logger = config.logger;
721
+ var isTypingIndicatorEnabledOnChannelList = config.isTypingIndicatorEnabledOnChannelList,
722
+ isMessageReceiptStatusEnabledOnChannelList = config.isMessageReceiptStatusEnabledOnChannelList;
723
+ var sdk = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk; // derive some variables
724
+ // enable if it is true atleast once(both are flase by default)
725
+
726
+ var userDefinedDisableUserProfile = disableUserProfile || (config === null || config === void 0 ? void 0 : config.disableUserProfile);
727
+ var userDefinedRenderProfile = config === null || config === void 0 ? void 0 : config.renderUserProfile;
728
+ var enableEditProfile = allowProfileEdit || (config === null || config === void 0 ? void 0 : config.allowProfileEdit);
729
+ var userFilledChannelListQuery = queries === null || queries === void 0 ? void 0 : queries.channelListQuery;
730
+ var userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
731
+ var sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
732
+
733
+ var _d = useReducer(reducer, channelListInitialState),
734
+ channelListStore = _d[0],
735
+ channelListDispatcher = _d[1];
736
+
737
+ var loading = channelListStore.loading,
738
+ currentChannel = channelListStore.currentChannel;
739
+
740
+ var _e = useState(),
741
+ channelSource = _e[0],
742
+ setChannelSource = _e[1];
743
+
744
+ var _f = useState(null),
745
+ sdkChannelHandlerId = _f[0],
746
+ setSdkChannelHandlerId = _f[1];
747
+
748
+ var _g = useState(null),
749
+ typingHandlerId = _g[0],
750
+ setTypingHandlerId = _g[1];
751
+
752
+ var _h = useState([]),
753
+ typingChannels = _h[0],
754
+ setTypingChannels = _h[1];
755
+
756
+ useEffect(function () {
757
+ var subscriber = pubSubHandler(pubSub, channelListDispatcher);
758
+ return function () {
759
+ pubSubHandleRemover(subscriber);
760
+ };
761
+ }, [sdkIntialized]);
762
+ useEffect(function () {
763
+ var _a;
764
+
765
+ setSdkChannelHandlerId(uuidv4);
766
+
767
+ if (sdkIntialized) {
768
+ logger.info('ChannelList: Setup channelHandlers');
769
+ setupChannelList({
770
+ sdk: sdk,
771
+ sdkChannelHandlerId: sdkChannelHandlerId,
772
+ channelListDispatcher: channelListDispatcher,
773
+ setChannelSource: setChannelSource,
774
+ onChannelSelect: onChannelSelect,
775
+ userFilledChannelListQuery: userFilledChannelListQuery,
776
+ logger: logger,
777
+ sortChannelList: sortChannelList,
778
+ disableAutoSelect: disableAutoSelect
779
+ });
780
+ } else {
781
+ logger.info('ChannelList: Removing channelHandlers'); // remove previous channelHandlers
782
+
783
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
784
+ sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);
785
+ } // remove channelSource
786
+
787
+
788
+ setChannelSource(null); // cleanup
789
+
790
+ channelListDispatcher({
791
+ type: RESET_CHANNEL_LIST,
792
+ payload: null
793
+ });
794
+ }
795
+
796
+ return function () {
797
+ var _a, _b;
798
+
799
+ logger.info('ChannelList: Removing channelHandlers');
800
+
801
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
802
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.removeGroupChannelHandler(sdkChannelHandlerId);
803
+ }
804
+ };
805
+ }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);
806
+ useEffect(function () {
807
+ var _a, _b;
808
+
809
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) {
810
+ var handlerId = uuidv4();
811
+ var handler = new Yr({
812
+ onTypingStatusUpdated: function onTypingStatusUpdated(channel) {
813
+ var _a;
814
+
815
+ var typingMemberCount = (_a = channel === null || channel === void 0 ? void 0 : channel.getTypingUsers()) === null || _a === void 0 ? void 0 : _a.length;
816
+ var channelList = typingChannels.filter(function (ch) {
817
+ return ch.url !== channel.url;
818
+ });
819
+
820
+ if (typingMemberCount > 0) {
821
+ setTypingChannels(__spreadArray(__spreadArray([], channelList, true), [channel], false));
822
+ } else {
823
+ setTypingChannels(channelList);
824
+ }
825
+ },
826
+ onUnreadMemberStatusUpdated: function onUnreadMemberStatusUpdated(channel) {
827
+ channelListDispatcher({
828
+ type: ON_LAST_MESSAGE_UPDATED,
829
+ payload: channel
830
+ });
831
+ },
832
+ onUndeliveredMemberStatusUpdated: function onUndeliveredMemberStatusUpdated(channel) {
833
+ channelListDispatcher({
834
+ type: ON_LAST_MESSAGE_UPDATED,
835
+ payload: channel
836
+ });
837
+ },
838
+ onMessageUpdated: function onMessageUpdated(channel) {
839
+ channelListDispatcher({
840
+ type: ON_LAST_MESSAGE_UPDATED,
841
+ payload: channel
842
+ });
843
+ sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
844
+ channelListDispatcher({
845
+ type: ON_LAST_MESSAGE_UPDATED,
846
+ payload: ch
847
+ });
848
+ });
849
+ },
850
+ onMentionReceived: function onMentionReceived(channel) {
851
+ channelListDispatcher({
852
+ type: ON_LAST_MESSAGE_UPDATED,
853
+ payload: channel
854
+ });
855
+ sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
856
+ channelListDispatcher({
857
+ type: ON_LAST_MESSAGE_UPDATED,
858
+ payload: ch
859
+ });
860
+ });
861
+ }
862
+ });
863
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.addGroupChannelHandler(handlerId, handler);
864
+ setTypingHandlerId(handlerId);
865
+ }
866
+
867
+ return function () {
868
+ var _a;
869
+
870
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
871
+ sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);
872
+ }
873
+ };
874
+ }, [(_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId]);
875
+ var queries_ = useMemo(function () {
876
+ return {
877
+ applicationUserListQuery: userFilledApplicationUserListQuery,
878
+ channelListQuery: userFilledChannelListQuery
879
+ };
880
+ }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);
881
+ var allChannels = channelListStore.allChannels;
882
+ var sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;
883
+
884
+ if (sortedChannels.length !== allChannels.length) {
885
+ var warning = "ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems"; // eslint-disable-next-line no-console
886
+
887
+ console.warn(warning, {
888
+ before: allChannels,
889
+ after: sortedChannels
890
+ });
891
+ logger.warning(warning, {
892
+ before: allChannels,
893
+ after: sortedChannels
894
+ });
895
+ }
896
+
897
+ useEffect(function () {
898
+ if (!sdk || !sdk.groupChannel || !currentChannel || !(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
899
+ return;
900
+ }
901
+
902
+ sdk.groupChannel.getChannel(currentChannel.url).then(function (groupChannel) {
903
+ if (groupChannel) {
904
+ onChannelSelect(groupChannel);
905
+ } else {
906
+ onChannelSelect(null);
907
+ }
908
+ });
909
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
910
+ return /*#__PURE__*/React__default.createElement(ChannelListContext.Provider, {
911
+ value: __assign(__assign({
912
+ className: className,
913
+ disableUserProfile: disableUserProfile,
914
+ queries: queries_,
915
+ onProfileEditSuccess: onProfileEditSuccess,
916
+ onThemeChange: onThemeChange,
917
+ onBeforeCreateChannel: onBeforeCreateChannel,
918
+ onChannelSelect: onChannelSelect,
919
+ sortChannelList: sortChannelList,
920
+ loading: loading,
921
+ allowProfileEdit: enableEditProfile,
922
+ channelListDispatcher: channelListDispatcher,
923
+ channelSource: channelSource
924
+ }, channelListStore), {
925
+ allChannels: sortedChannels,
926
+ typingChannels: typingChannels,
927
+ isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,
928
+ isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList
929
+ })
930
+ }, /*#__PURE__*/React__default.createElement(UserProfileProvider, {
931
+ disableUserProfile: userDefinedDisableUserProfile,
932
+ renderUserProfile: userDefinedRenderProfile
933
+ }, /*#__PURE__*/React__default.createElement("div", {
934
+ className: "sendbird-channel-list ".concat(className)
935
+ }, children)));
936
+ };
937
+
938
+ function useChannelListContext() {
939
+ var context = useContext(ChannelListContext);
940
+ return context;
941
+ }
942
+
943
+ export { ChannelListProvider as C, FETCH_CHANNELS_START as F, LEAVE_CHANNEL_SUCCESS as L, SET_CURRENT_CHANNEL as S, FETCH_CHANNELS_SUCCESS as a, FETCH_CHANNELS_FAILURE as b, useChannelListContext as u };
944
+ //# sourceMappingURL=ChannelListProvider-76b1ec23.js.map