@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-beta.5

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