@sendbird/uikit-react 3.7.0-rc.0 → 3.7.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 (532) hide show
  1. package/App.js +52 -52
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +46 -46
  4. package/Channel/components/FileViewer.js +19 -19
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +33 -33
  8. package/Channel/components/MessageList.js +42 -42
  9. package/Channel/components/RemoveMessageModal.js +23 -23
  10. package/Channel/components/SuggestedMentionList.js +19 -19
  11. package/Channel/components/TypingIndicator.js +18 -18
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +15 -15
  14. package/Channel/utils/compareMessagesForGrouping.js +6 -6
  15. package/Channel/utils/getMessagePartsInfo.js +7 -7
  16. package/Channel.js +46 -46
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +32 -32
  20. package/ChannelList/components/ChannelPreview.js +30 -30
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +8 -8
  23. package/ChannelList.js +32 -32
  24. package/{ChannelListProvider-f520f5b3.js → ChannelListProvider-eccd99c6.js} +8 -8
  25. package/{ChannelListProvider-f520f5b3.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
  26. package/{ChannelProvider-7f6fd1f8.js → ChannelProvider-9ba5893a.js} +42 -43
  27. package/ChannelProvider-9ba5893a.js.map +1 -0
  28. package/ChannelSettings/components/ChannelProfile.js +14 -14
  29. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  30. package/ChannelSettings/components/EditDetailsModal.js +14 -14
  31. package/ChannelSettings/components/LeaveChannel.js +13 -13
  32. package/ChannelSettings/components/ModerationPanel.js +15 -15
  33. package/ChannelSettings/components/UserListItem.js +11 -11
  34. package/ChannelSettings/components/UserPanel.js +14 -14
  35. package/ChannelSettings/context.js +3 -3
  36. package/ChannelSettings.js +17 -17
  37. package/CreateChannel/components/CreateChannelUI.js +14 -14
  38. package/CreateChannel/components/InviteUsers.js +14 -14
  39. package/CreateChannel/components/SelectChannelType.js +11 -11
  40. package/CreateChannel/context.js +3 -3
  41. package/CreateChannel.js +14 -14
  42. package/{CreateChannelProvider-c25dd81b.js → CreateChannelProvider-a2885972.js} +1 -1
  43. package/{CreateChannelProvider-c25dd81b.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
  44. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  45. package/CreateOpenChannel/context.js +1 -1
  46. package/CreateOpenChannel.js +12 -12
  47. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  48. package/EditUserProfile.js +13 -13
  49. package/{LocalizationContext-d18a86d8.js → LocalizationContext-287ee149.js} +3 -3
  50. package/{LocalizationContext-d18a86d8.js.map → LocalizationContext-287ee149.js.map} +1 -1
  51. package/{MediaQueryContext-3eeeec4f.js → MediaQueryContext-114ca049.js} +1 -1
  52. package/{MediaQueryContext-3eeeec4f.js.map → MediaQueryContext-114ca049.js.map} +1 -1
  53. package/{MemberList-469dae9b.js → MemberList-4e71a841.js} +7 -7
  54. package/{MemberList-469dae9b.js.map → MemberList-4e71a841.js.map} +1 -1
  55. package/MessageSearch/components/MessageSearchUI.js +12 -12
  56. package/MessageSearch/context.js +1 -1
  57. package/MessageSearch.js +12 -12
  58. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  59. package/OpenChannel/components/OpenChannelHeader.js +11 -11
  60. package/OpenChannel/components/OpenChannelInput.js +21 -21
  61. package/OpenChannel/components/OpenChannelMessage.js +32 -32
  62. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  63. package/OpenChannel/components/OpenChannelUI.js +34 -34
  64. package/OpenChannel/context.js +7 -7
  65. package/OpenChannel.js +34 -34
  66. package/OpenChannelList/components/OpenChannelListUI.js +14 -14
  67. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  68. package/OpenChannelList/context.js +2 -2
  69. package/OpenChannelList.js +14 -14
  70. package/{OpenChannelListProvider-24e735a1.js → OpenChannelListProvider-45d4ab54.js} +2 -2
  71. package/{OpenChannelListProvider-24e735a1.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
  72. package/{OpenChannelProvider-e9cb0f98.js → OpenChannelProvider-9818f9ed.js} +6 -6
  73. package/{OpenChannelProvider-e9cb0f98.js.map → OpenChannelProvider-9818f9ed.js.map} +1 -1
  74. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  75. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  76. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  77. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  78. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  79. package/OpenChannelSettings/context.js +3 -3
  80. package/OpenChannelSettings.js +17 -17
  81. package/{RemoveMessageModal-f0cd37a5.js → RemoveMessageModal-007c2f04.js} +6 -6
  82. package/{RemoveMessageModal-f0cd37a5.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
  83. package/SendbirdProvider.js +18 -18
  84. package/SendbirdProvider.js.map +1 -1
  85. package/Thread/components/ParentMessageInfo.js +38 -38
  86. package/Thread/components/ParentMessageInfoItem.js +25 -25
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +42 -42
  89. package/Thread/components/ThreadListItem.js +42 -42
  90. package/Thread/components/ThreadMessageInput.js +33 -33
  91. package/Thread/components/ThreadUI.js +45 -45
  92. package/Thread/context.js +12 -10
  93. package/Thread/context.js.map +1 -1
  94. package/Thread.js +45 -45
  95. package/{UserProfileContext-26e71f9a.js → UserProfileContext-2001a468.js} +1 -1
  96. package/{UserProfileContext-26e71f9a.js.map → UserProfileContext-2001a468.js.map} +1 -1
  97. package/VoicePlayer/context.js +3 -3
  98. package/VoicePlayer/useVoicePlayer.js +12 -12
  99. package/VoiceRecorder/context.js +12 -12
  100. package/VoiceRecorder/useVoiceRecorder.js +11 -11
  101. package/{WebAudioUtils-dbb010a5.js → WebAudioUtils-31f7c8eb.js} +2 -2
  102. package/{WebAudioUtils-dbb010a5.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
  103. package/{_rollupPluginBabelHelpers-07dcbc2b.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
  104. package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
  105. package/{actionTypes-3cd49b5c.js → actionTypes-324495ed.js} +1 -1
  106. package/{actionTypes-3cd49b5c.js.map → actionTypes-324495ed.js.map} +1 -1
  107. package/cjs/App.js +52 -52
  108. package/cjs/Channel/components/ChannelHeader.js +22 -22
  109. package/cjs/Channel/components/ChannelUI.js +46 -46
  110. package/cjs/Channel/components/FileViewer.js +19 -19
  111. package/cjs/Channel/components/FrozenNotification.js +4 -4
  112. package/cjs/Channel/components/Message.js +42 -42
  113. package/cjs/Channel/components/MessageInput.js +33 -33
  114. package/cjs/Channel/components/MessageList.js +42 -42
  115. package/cjs/Channel/components/RemoveMessageModal.js +23 -23
  116. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  117. package/cjs/Channel/components/TypingIndicator.js +18 -18
  118. package/cjs/Channel/components/UnreadCount.js +4 -4
  119. package/cjs/Channel/context.js +15 -15
  120. package/cjs/Channel/utils/compareMessagesForGrouping.js +6 -6
  121. package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
  122. package/cjs/Channel.js +46 -46
  123. package/cjs/ChannelList/components/AddChannel.js +16 -16
  124. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  125. package/cjs/ChannelList/components/ChannelListUI.js +32 -32
  126. package/cjs/ChannelList/components/ChannelPreview.js +30 -30
  127. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  128. package/cjs/ChannelList/context.js +8 -8
  129. package/cjs/ChannelList.js +32 -32
  130. package/cjs/{ChannelListProvider-a418de2e.js → ChannelListProvider-d0ad5a84.js} +8 -8
  131. package/cjs/{ChannelListProvider-a418de2e.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
  132. package/cjs/{ChannelProvider-7fa98120.js → ChannelProvider-fc111e5f.js} +42 -43
  133. package/cjs/ChannelProvider-fc111e5f.js.map +1 -0
  134. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  136. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
  137. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  138. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  140. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  141. package/cjs/ChannelSettings/context.js +3 -3
  142. package/cjs/ChannelSettings.js +17 -17
  143. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  144. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  145. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  146. package/cjs/CreateChannel/context.js +3 -3
  147. package/cjs/CreateChannel.js +14 -14
  148. package/cjs/{CreateChannelProvider-70c9cb7c.js → CreateChannelProvider-c3c843e4.js} +1 -1
  149. package/cjs/{CreateChannelProvider-70c9cb7c.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
  150. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  151. package/cjs/CreateOpenChannel/context.js +1 -1
  152. package/cjs/CreateOpenChannel.js +12 -12
  153. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  154. package/cjs/EditUserProfile.js +13 -13
  155. package/cjs/{LocalizationContext-5009012e.js → LocalizationContext-58b6ed7c.js} +3 -3
  156. package/cjs/{LocalizationContext-5009012e.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
  157. package/cjs/{MediaQueryContext-d6fdbe43.js → MediaQueryContext-6141d955.js} +1 -1
  158. package/cjs/{MediaQueryContext-d6fdbe43.js.map → MediaQueryContext-6141d955.js.map} +1 -1
  159. package/cjs/{MemberList-529a0086.js → MemberList-2bd3db33.js} +7 -7
  160. package/cjs/{MemberList-529a0086.js.map → MemberList-2bd3db33.js.map} +1 -1
  161. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  162. package/cjs/MessageSearch/context.js +1 -1
  163. package/cjs/MessageSearch.js +12 -12
  164. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  165. package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
  166. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  170. package/cjs/OpenChannel/context.js +7 -7
  171. package/cjs/OpenChannel.js +34 -34
  172. package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
  173. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  174. package/cjs/OpenChannelList/context.js +2 -2
  175. package/cjs/OpenChannelList.js +14 -14
  176. package/cjs/{OpenChannelListProvider-0b8cd3bf.js → OpenChannelListProvider-a8560978.js} +2 -2
  177. package/cjs/{OpenChannelListProvider-0b8cd3bf.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
  178. package/cjs/{OpenChannelProvider-d8cc11fe.js → OpenChannelProvider-39f13647.js} +6 -6
  179. package/cjs/{OpenChannelProvider-d8cc11fe.js.map → OpenChannelProvider-39f13647.js.map} +1 -1
  180. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  181. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  182. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  183. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  184. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  185. package/cjs/OpenChannelSettings/context.js +3 -3
  186. package/cjs/OpenChannelSettings.js +17 -17
  187. package/cjs/{RemoveMessageModal-f029d40e.js → RemoveMessageModal-afc3e268.js} +6 -6
  188. package/cjs/{RemoveMessageModal-f029d40e.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
  189. package/cjs/SendbirdProvider.js +18 -18
  190. package/cjs/SendbirdProvider.js.map +1 -1
  191. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  192. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  193. package/cjs/Thread/components/ThreadHeader.js +6 -6
  194. package/cjs/Thread/components/ThreadList.js +42 -42
  195. package/cjs/Thread/components/ThreadListItem.js +42 -42
  196. package/cjs/Thread/components/ThreadMessageInput.js +33 -33
  197. package/cjs/Thread/components/ThreadUI.js +45 -45
  198. package/cjs/Thread/context.js +12 -10
  199. package/cjs/Thread/context.js.map +1 -1
  200. package/cjs/Thread.js +45 -45
  201. package/cjs/{UserProfileContext-922a43ec.js → UserProfileContext-c6d7abb7.js} +1 -1
  202. package/cjs/{UserProfileContext-922a43ec.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
  205. package/cjs/VoiceRecorder/context.js +12 -12
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
  207. package/cjs/{WebAudioUtils-29717597.js → WebAudioUtils-36803ab2.js} +2 -2
  208. package/cjs/{WebAudioUtils-29717597.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
  209. package/cjs/{_rollupPluginBabelHelpers-94c18dc1.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
  210. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
  211. package/cjs/{actionTypes-7fa02f94.js → actionTypes-327123b5.js} +1 -1
  212. package/cjs/{actionTypes-7fa02f94.js.map → actionTypes-327123b5.js.map} +1 -1
  213. package/cjs/{color-477ddbd4.js → color-5bf5a8f5.js} +1 -1
  214. package/cjs/{color-477ddbd4.js.map → color-5bf5a8f5.js.map} +1 -1
  215. package/cjs/{compareIds-de541666.js → compareIds-28c6af62.js} +1 -1
  216. package/cjs/{compareIds-de541666.js.map → compareIds-28c6af62.js.map} +1 -1
  217. package/cjs/{const-640252c1.js → const-876980e8.js} +1 -1
  218. package/cjs/{const-640252c1.js.map → const-876980e8.js.map} +1 -1
  219. package/cjs/{const-9def5c09.js → const-c9e7a340.js} +1 -1
  220. package/cjs/{const-9def5c09.js.map → const-c9e7a340.js.map} +1 -1
  221. package/cjs/{consts-a3b7ae99.js → consts-61d83828.js} +1 -1
  222. package/cjs/{consts-a3b7ae99.js.map → consts-61d83828.js.map} +1 -1
  223. package/cjs/{consts-54f5c12d.js → consts-b3c4f548.js} +1 -1
  224. package/cjs/{consts-54f5c12d.js.map → consts-b3c4f548.js.map} +1 -1
  225. package/cjs/{consts-85cd42fa.js → consts-b711321c.js} +1 -1
  226. package/cjs/{consts-85cd42fa.js.map → consts-b711321c.js.map} +1 -1
  227. package/cjs/{consts-95462b21.js → consts-f54b15c2.js} +1 -1
  228. package/cjs/{consts-95462b21.js.map → consts-f54b15c2.js.map} +1 -1
  229. package/cjs/{context-9814fafe.js → context-6684538e.js} +2 -2
  230. package/cjs/{context-9814fafe.js.map → context-6684538e.js.map} +1 -1
  231. package/cjs/dist/index.css +55 -55
  232. package/cjs/dist/index.css.map +1 -1
  233. package/cjs/hooks/useModal.js +11 -11
  234. package/cjs/{index-826b76d5.js → index-134e9852.js} +2 -2
  235. package/cjs/{index-826b76d5.js.map → index-134e9852.js.map} +1 -1
  236. package/cjs/{index-b6d51e74.js → index-3448df64.js} +2 -2
  237. package/cjs/{index-b6d51e74.js.map → index-3448df64.js.map} +1 -1
  238. package/cjs/{index-80a11b6a.js → index-45933be9.js} +2 -2
  239. package/cjs/{index-80a11b6a.js.map → index-45933be9.js.map} +1 -1
  240. package/cjs/{index-ee3bf381.js → index-4c378655.js} +4 -4
  241. package/cjs/{index-ee3bf381.js.map → index-4c378655.js.map} +1 -1
  242. package/cjs/{index-6b0644d7.js → index-4e939c26.js} +9 -9
  243. package/cjs/{index-6b0644d7.js.map → index-4e939c26.js.map} +1 -1
  244. package/cjs/{index-aeb36f01.js → index-520e12b8.js} +7 -7
  245. package/cjs/{index-aeb36f01.js.map → index-520e12b8.js.map} +1 -1
  246. package/cjs/{index-609b07a2.js → index-54279ec2.js} +1 -1
  247. package/cjs/{index-609b07a2.js.map → index-54279ec2.js.map} +1 -1
  248. package/cjs/{index-c22e0cbf.js → index-692ea6aa.js} +2 -2
  249. package/cjs/{index-c22e0cbf.js.map → index-692ea6aa.js.map} +1 -1
  250. package/cjs/{index-83d2aed9.js → index-7627b546.js} +3 -3
  251. package/cjs/{index-83d2aed9.js.map → index-7627b546.js.map} +1 -1
  252. package/cjs/{index-0ec5a831.js → index-a95c4ab4.js} +3 -3
  253. package/cjs/{index-0ec5a831.js.map → index-a95c4ab4.js.map} +1 -1
  254. package/cjs/{index-35820a94.js → index-b5a9b4b7.js} +2 -2
  255. package/cjs/{index-35820a94.js.map → index-b5a9b4b7.js.map} +1 -1
  256. package/cjs/{index-daf80c58.js → index-b8ba4548.js} +1 -1
  257. package/cjs/{index-daf80c58.js.map → index-b8ba4548.js.map} +1 -1
  258. package/cjs/{index-7b0c6630.js → index-bc6623d7.js} +11 -11
  259. package/cjs/{index-7b0c6630.js.map → index-bc6623d7.js.map} +1 -1
  260. package/cjs/{index-bdf7089c.js → index-cc2e05a4.js} +5 -5
  261. package/cjs/{index-bdf7089c.js.map → index-cc2e05a4.js.map} +1 -1
  262. package/cjs/{index-e81e2882.js → index-ce07a2a3.js} +4 -4
  263. package/cjs/{index-e81e2882.js.map → index-ce07a2a3.js.map} +1 -1
  264. package/cjs/{index-b995f638.js → index-dbe8dd84.js} +3 -3
  265. package/cjs/{index-b995f638.js.map → index-dbe8dd84.js.map} +1 -1
  266. package/cjs/{index-0a25b9b2.js → index-e5e6d9b0.js} +4 -4
  267. package/cjs/{index-0a25b9b2.js.map → index-e5e6d9b0.js.map} +1 -1
  268. package/cjs/{index-fd8a0abb.js → index-e8928da6.js} +1 -1
  269. package/cjs/{index-fd8a0abb.js.map → index-e8928da6.js.map} +1 -1
  270. package/cjs/index.js +56 -56
  271. package/cjs/{resolvedReplyType-c20ef661.js → resolvedReplyType-c4564ebe.js} +1 -1
  272. package/cjs/{resolvedReplyType-c20ef661.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
  273. package/cjs/sendbirdSelectors.js +1 -1
  274. package/cjs/{stringFormatterUtils-e324636c.js → stringFormatterUtils-92dbef3c.js} +3 -3
  275. package/cjs/{stringFormatterUtils-e324636c.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
  276. package/cjs/{stringSet-98b52c49.js → stringSet-1539ac47.js} +1 -1
  277. package/cjs/{stringSet-98b52c49.js.map → stringSet-1539ac47.js.map} +1 -1
  278. package/cjs/{tokenize-91bdbeb0.js → tokenize-d5286fa8.js} +3 -3
  279. package/cjs/{tokenize-91bdbeb0.js.map → tokenize-d5286fa8.js.map} +1 -1
  280. package/cjs/{tslib.es6-2f2b0bca.js → tslib.es6-c74b513f.js} +1 -1
  281. package/cjs/{tslib.es6-2f2b0bca.js.map → tslib.es6-c74b513f.js.map} +1 -1
  282. package/cjs/{types-66554668.js → types-d0d770c3.js} +1 -1
  283. package/cjs/{types-66554668.js.map → types-d0d770c3.js.map} +1 -1
  284. package/cjs/{types-31ed2276.js → types-feda9656.js} +1 -1
  285. package/cjs/{types-31ed2276.js.map → types-feda9656.js.map} +1 -1
  286. package/cjs/ui/Accordion.js +3 -3
  287. package/cjs/ui/AccordionGroup.js +2 -2
  288. package/cjs/ui/AdminMessage.js +3 -3
  289. package/cjs/ui/Avatar.js +2 -2
  290. package/cjs/ui/Badge.js +5 -5
  291. package/cjs/ui/BottomSheet.js +6 -6
  292. package/cjs/ui/Button.js +4 -4
  293. package/cjs/ui/ChannelAvatar.js +3 -3
  294. package/cjs/ui/ConnectionStatus.js +4 -4
  295. package/cjs/ui/ContextMenu.js +6 -6
  296. package/cjs/ui/DateSeparator.js +4 -4
  297. package/cjs/ui/EmojiReactions.js +15 -15
  298. package/cjs/ui/FileMessageItemBody.js +7 -7
  299. package/cjs/ui/FileViewer.js +14 -14
  300. package/cjs/ui/IconButton.js +1 -1
  301. package/cjs/ui/ImageRenderer.js +1 -1
  302. package/cjs/ui/Input.js +2 -2
  303. package/cjs/ui/Label.js +2 -2
  304. package/cjs/ui/LinkLabel.js +2 -2
  305. package/cjs/ui/Loader.js +1 -1
  306. package/cjs/ui/MentionLabel.js +11 -11
  307. package/cjs/ui/MentionUserLabel.js +1 -1
  308. package/cjs/ui/MessageContent.js +37 -37
  309. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
  310. package/cjs/ui/MessageInput.js +16 -16
  311. package/cjs/ui/MessageItemMenu.js +19 -19
  312. package/cjs/ui/MessageItemReactionMenu.js +10 -10
  313. package/cjs/ui/MessageSearchFileItem.js +12 -12
  314. package/cjs/ui/MessageSearchItem.js +9 -9
  315. package/cjs/ui/MessageStatus.js +11 -11
  316. package/cjs/ui/Modal.js +10 -10
  317. package/cjs/ui/OGMessageItemBody.js +14 -14
  318. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  319. package/cjs/ui/OpenChannelAvatar.js +6 -6
  320. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  321. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  322. package/cjs/ui/OpenchannelOGMessage.js +19 -19
  323. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  324. package/cjs/ui/OpenchannelUserMessage.js +17 -17
  325. package/cjs/ui/PlaceHolder.js +5 -5
  326. package/cjs/ui/PlaybackTime.js +2 -2
  327. package/cjs/ui/QuoteMessage.js +8 -8
  328. package/cjs/ui/QuoteMessageInput.js +8 -8
  329. package/cjs/ui/ReactionBadge.js +3 -3
  330. package/cjs/ui/ReactionButton.js +5 -5
  331. package/cjs/ui/SortByRow.js +2 -2
  332. package/cjs/ui/TextButton.js +2 -2
  333. package/cjs/ui/TextMessageItemBody.js +14 -14
  334. package/cjs/ui/ThreadReplies.js +6 -6
  335. package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
  336. package/cjs/ui/Toggle.js +1 -1
  337. package/cjs/ui/Tooltip.js +3 -3
  338. package/cjs/ui/TooltipWrapper.js +1 -1
  339. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  340. package/cjs/ui/UserListItem.js +11 -11
  341. package/cjs/ui/UserProfile.js +9 -9
  342. package/cjs/ui/VoiceMessageItemBody.js +12 -12
  343. package/cjs/ui/VoiceMessgeInput.js +8 -8
  344. package/cjs/ui/Word.js +11 -11
  345. package/cjs/{useHandleUploadFiles-fbe6ad64.js → useHandleUploadFiles-39e8d107.js} +11 -11
  346. package/cjs/{useHandleUploadFiles-fbe6ad64.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
  347. package/cjs/{useLongPress-c1da8ba7.js → useLongPress-18b7af79.js} +3 -3
  348. package/cjs/{useLongPress-c1da8ba7.js.map → useLongPress-18b7af79.js.map} +1 -1
  349. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
  350. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
  351. package/cjs/useSendbirdStateContext.js +1 -1
  352. package/cjs/{useStatefulFileInfoList-aa70b6b9.js → useStatefulFileInfoList-c510792f.js} +4 -4
  353. package/cjs/{useStatefulFileInfoList-aa70b6b9.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
  354. package/cjs/utils/message/isVoiceMessage.js +3 -3
  355. package/cjs/{utils-46483130.js → utils-1d0f1e0c.js} +1 -1
  356. package/cjs/{utils-46483130.js.map → utils-1d0f1e0c.js.map} +1 -1
  357. package/cjs/{utils-55fc6797.js → utils-9193a195.js} +4 -4
  358. package/cjs/{utils-55fc6797.js.map → utils-9193a195.js.map} +1 -1
  359. package/cjs/{utils-851724e0.js → utils-93ca9d57.js} +3 -3
  360. package/cjs/{utils-851724e0.js.map → utils-93ca9d57.js.map} +1 -1
  361. package/cjs/{utils-e313131f.js → utils-98441ba6.js} +1 -1
  362. package/cjs/{utils-e313131f.js.map → utils-98441ba6.js.map} +1 -1
  363. package/cjs/{utils-0fac6ad1.js → utils-e6c4b2b0.js} +2 -2
  364. package/cjs/{utils-0fac6ad1.js.map → utils-e6c4b2b0.js.map} +1 -1
  365. package/cjs/{utils-180c6bc8.js → utils-eb6d90e0.js} +1 -1
  366. package/cjs/{utils-180c6bc8.js.map → utils-eb6d90e0.js.map} +1 -1
  367. package/cjs/{uuid-c74bbbb6.js → uuid-9a117e16.js} +1 -1
  368. package/cjs/{uuid-c74bbbb6.js.map → uuid-9a117e16.js.map} +1 -1
  369. package/cjs/withSendbird.js +1 -1
  370. package/{color-1383d4ab.js → color-57373b4c.js} +1 -1
  371. package/{color-1383d4ab.js.map → color-57373b4c.js.map} +1 -1
  372. package/{compareIds-b56b02f1.js → compareIds-7e517404.js} +1 -1
  373. package/{compareIds-b56b02f1.js.map → compareIds-7e517404.js.map} +1 -1
  374. package/{const-e3326913.js → const-73db0277.js} +1 -1
  375. package/{const-e3326913.js.map → const-73db0277.js.map} +1 -1
  376. package/{const-4bc3721f.js → const-93731a4c.js} +1 -1
  377. package/{const-4bc3721f.js.map → const-93731a4c.js.map} +1 -1
  378. package/{consts-f0ba9b80.js → consts-4ec7d640.js} +1 -1
  379. package/{consts-f0ba9b80.js.map → consts-4ec7d640.js.map} +1 -1
  380. package/{consts-7f4d53a3.js → consts-57c888b9.js} +1 -1
  381. package/{consts-7f4d53a3.js.map → consts-57c888b9.js.map} +1 -1
  382. package/{consts-833420ed.js → consts-be37687e.js} +1 -1
  383. package/{consts-833420ed.js.map → consts-be37687e.js.map} +1 -1
  384. package/{consts-aa64aca8.js → consts-d9c5f25a.js} +1 -1
  385. package/{consts-aa64aca8.js.map → consts-d9c5f25a.js.map} +1 -1
  386. package/{context-ae47ac54.js → context-729493c4.js} +2 -2
  387. package/{context-ae47ac54.js.map → context-729493c4.js.map} +1 -1
  388. package/dist/index.css +55 -55
  389. package/dist/index.css.map +1 -1
  390. package/hooks/useModal.js +11 -11
  391. package/{index-c7ed4aef.js → index-04bd1a59.js} +1 -1
  392. package/{index-c7ed4aef.js.map → index-04bd1a59.js.map} +1 -1
  393. package/{index-c6095960.js → index-09847c0f.js} +1 -1
  394. package/{index-c6095960.js.map → index-09847c0f.js.map} +1 -1
  395. package/{index-7a1085b6.js → index-0f017704.js} +11 -11
  396. package/{index-7a1085b6.js.map → index-0f017704.js.map} +1 -1
  397. package/{index-c81fd6ec.js → index-2d27aeef.js} +2 -2
  398. package/{index-c81fd6ec.js.map → index-2d27aeef.js.map} +1 -1
  399. package/{index-ec0c048b.js → index-493689bd.js} +4 -4
  400. package/{index-ec0c048b.js.map → index-493689bd.js.map} +1 -1
  401. package/{index-1969ccd8.js → index-494f9e79.js} +2 -2
  402. package/{index-1969ccd8.js.map → index-494f9e79.js.map} +1 -1
  403. package/{index-942c5fa2.js → index-4b4e9682.js} +7 -7
  404. package/{index-942c5fa2.js.map → index-4b4e9682.js.map} +1 -1
  405. package/{index-89b3b8ba.js → index-62d5f020.js} +9 -9
  406. package/{index-89b3b8ba.js.map → index-62d5f020.js.map} +1 -1
  407. package/{index-1432c287.js → index-682a192c.js} +2 -2
  408. package/{index-1432c287.js.map → index-682a192c.js.map} +1 -1
  409. package/{index-8c72f0bd.js → index-686a551d.js} +2 -2
  410. package/{index-8c72f0bd.js.map → index-686a551d.js.map} +1 -1
  411. package/{index-40447645.js → index-6b3b1eca.js} +5 -5
  412. package/{index-40447645.js.map → index-6b3b1eca.js.map} +1 -1
  413. package/{index-fc1642cb.js → index-776554c0.js} +3 -3
  414. package/{index-fc1642cb.js.map → index-776554c0.js.map} +1 -1
  415. package/{index-12103973.js → index-92741c7e.js} +2 -2
  416. package/{index-12103973.js.map → index-92741c7e.js.map} +1 -1
  417. package/{index-3d508585.js → index-a0638563.js} +4 -4
  418. package/{index-3d508585.js.map → index-a0638563.js.map} +1 -1
  419. package/{index-eec0ce47.js → index-c22e4772.js} +4 -4
  420. package/{index-eec0ce47.js.map → index-c22e4772.js.map} +1 -1
  421. package/{index-124a5766.js → index-e04159fe.js} +3 -3
  422. package/{index-124a5766.js.map → index-e04159fe.js.map} +1 -1
  423. package/{index-d3f61405.js → index-e4277f9c.js} +1 -1
  424. package/{index-d3f61405.js.map → index-e4277f9c.js.map} +1 -1
  425. package/{index-dc1827ea.js → index-f8a9cb51.js} +3 -3
  426. package/{index-dc1827ea.js.map → index-f8a9cb51.js.map} +1 -1
  427. package/index.d.ts +1 -1
  428. package/index.js +56 -56
  429. package/package.json +1 -1
  430. package/{resolvedReplyType-0532593c.js → resolvedReplyType-fb987595.js} +1 -1
  431. package/{resolvedReplyType-0532593c.js.map → resolvedReplyType-fb987595.js.map} +1 -1
  432. package/sendbirdSelectors.js +1 -1
  433. package/{stringFormatterUtils-444f6f4c.js → stringFormatterUtils-abbe70ba.js} +3 -3
  434. package/{stringFormatterUtils-444f6f4c.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
  435. package/{stringSet-1106c8ec.js → stringSet-6422c6b9.js} +1 -1
  436. package/{stringSet-1106c8ec.js.map → stringSet-6422c6b9.js.map} +1 -1
  437. package/{tokenize-d17bf862.js → tokenize-eae44765.js} +3 -3
  438. package/{tokenize-d17bf862.js.map → tokenize-eae44765.js.map} +1 -1
  439. package/{tslib.es6-0c779aab.js → tslib.es6-c2fb729e.js} +1 -1
  440. package/{tslib.es6-0c779aab.js.map → tslib.es6-c2fb729e.js.map} +1 -1
  441. package/{types-50e412d8.js → types-781e0bab.js} +1 -1
  442. package/{types-50e412d8.js.map → types-781e0bab.js.map} +1 -1
  443. package/{types-4ffc52f6.js → types-9d43ac6e.js} +1 -1
  444. package/{types-4ffc52f6.js.map → types-9d43ac6e.js.map} +1 -1
  445. package/ui/Accordion.js +3 -3
  446. package/ui/AccordionGroup.js +2 -2
  447. package/ui/AdminMessage.js +3 -3
  448. package/ui/Avatar.js +2 -2
  449. package/ui/Badge.js +5 -5
  450. package/ui/BottomSheet.js +6 -6
  451. package/ui/Button.js +5 -5
  452. package/ui/ChannelAvatar.js +3 -3
  453. package/ui/ConnectionStatus.js +4 -4
  454. package/ui/ContextMenu.js +6 -6
  455. package/ui/DateSeparator.js +4 -4
  456. package/ui/EmojiReactions.js +15 -15
  457. package/ui/FileMessageItemBody.js +7 -7
  458. package/ui/FileViewer.js +14 -14
  459. package/ui/IconButton.js +1 -1
  460. package/ui/ImageRenderer.js +1 -1
  461. package/ui/Input.js +2 -2
  462. package/ui/Label.js +2 -2
  463. package/ui/LinkLabel.js +2 -2
  464. package/ui/Loader.js +1 -1
  465. package/ui/MentionLabel.js +11 -11
  466. package/ui/MentionUserLabel.js +1 -1
  467. package/ui/MessageContent.js +37 -37
  468. package/ui/MessageInput/hooks/usePaste.js +5 -5
  469. package/ui/MessageInput.js +16 -16
  470. package/ui/MessageItemMenu.js +19 -19
  471. package/ui/MessageItemReactionMenu.js +10 -10
  472. package/ui/MessageSearchFileItem.js +12 -12
  473. package/ui/MessageSearchItem.js +9 -9
  474. package/ui/MessageStatus.js +11 -11
  475. package/ui/Modal.js +10 -10
  476. package/ui/OGMessageItemBody.js +14 -14
  477. package/ui/OpenChannelAdminMessage.js +3 -3
  478. package/ui/OpenChannelAvatar.js +6 -6
  479. package/ui/OpenchannelConversationHeader.js +6 -6
  480. package/ui/OpenchannelFileMessage.js +17 -17
  481. package/ui/OpenchannelOGMessage.js +19 -19
  482. package/ui/OpenchannelThumbnailMessage.js +16 -16
  483. package/ui/OpenchannelUserMessage.js +17 -17
  484. package/ui/PlaceHolder.js +5 -5
  485. package/ui/PlaybackTime.js +2 -2
  486. package/ui/QuoteMessage.js +8 -8
  487. package/ui/QuoteMessageInput.js +8 -8
  488. package/ui/ReactionBadge.js +3 -3
  489. package/ui/ReactionButton.js +5 -5
  490. package/ui/SortByRow.js +2 -2
  491. package/ui/TextButton.js +2 -2
  492. package/ui/TextMessageItemBody.js +14 -14
  493. package/ui/ThreadReplies.js +6 -6
  494. package/ui/ThumbnailMessageItemBody.js +8 -8
  495. package/ui/Toggle.js +1 -1
  496. package/ui/Tooltip.js +3 -3
  497. package/ui/TooltipWrapper.js +1 -1
  498. package/ui/UnknownMessageItemBody.js +7 -7
  499. package/ui/UserListItem.js +11 -11
  500. package/ui/UserProfile.js +9 -9
  501. package/ui/VoiceMessageItemBody.js +12 -12
  502. package/ui/VoiceMessgeInput.js +8 -8
  503. package/ui/Word.js +11 -11
  504. package/{useHandleUploadFiles-33aff88e.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
  505. package/{useHandleUploadFiles-33aff88e.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
  506. package/{useLongPress-322bb6a3.js → useLongPress-f8655a14.js} +3 -3
  507. package/{useLongPress-322bb6a3.js.map → useLongPress-f8655a14.js.map} +1 -1
  508. package/{useSendMultipleFilesMessage-4489a0f6.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
  509. package/{useSendMultipleFilesMessage-4489a0f6.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
  510. package/useSendbirdStateContext.js +1 -1
  511. package/{useStatefulFileInfoList-dd95f949.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
  512. package/{useStatefulFileInfoList-dd95f949.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
  513. package/utils/message/isVoiceMessage.js +3 -3
  514. package/{utils-48a3ef27.js → utils-2c1f072b.js} +1 -1
  515. package/{utils-48a3ef27.js.map → utils-2c1f072b.js.map} +1 -1
  516. package/{utils-74c161a0.js → utils-6c50a6d1.js} +1 -1
  517. package/{utils-74c161a0.js.map → utils-6c50a6d1.js.map} +1 -1
  518. package/{utils-40040f8e.js → utils-aa4086dc.js} +4 -4
  519. package/{utils-40040f8e.js.map → utils-aa4086dc.js.map} +1 -1
  520. package/{utils-e98a7f8c.js → utils-bfc0ab3b.js} +3 -3
  521. package/{utils-e98a7f8c.js.map → utils-bfc0ab3b.js.map} +1 -1
  522. package/{utils-158c1683.js → utils-fa321757.js} +1 -1
  523. package/{utils-158c1683.js.map → utils-fa321757.js.map} +1 -1
  524. package/{utils-3660243c.js → utils-fc1f5aa0.js} +2 -2
  525. package/{utils-3660243c.js.map → utils-fc1f5aa0.js.map} +1 -1
  526. package/{uuid-3c77ef7b.js → uuid-c15b8b3b.js} +1 -1
  527. package/{uuid-3c77ef7b.js.map → uuid-c15b8b3b.js.map} +1 -1
  528. package/withSendbird.js +1 -1
  529. package/ChannelProvider-7f6fd1f8.js.map +0 -1
  530. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +0 -1
  531. package/cjs/ChannelProvider-7fa98120.js.map +0 -1
  532. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelListProvider-a418de2e.js","sources":["../../src/modules/ChannelList/dux/actionTypes.ts","../../src/modules/ChannelList/utils.ts","../../src/modules/ChannelList/dux/getNextChannel.ts","../../src/modules/ChannelList/dux/initialState.ts","../../src/modules/ChannelList/dux/reducers.ts","../../src/modules/ChannelList/context/hooks/useActiveChannelUrl.ts","../../src/modules/ChannelList/context/hooks/useFetchChannelList.ts","../../src/modules/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["import type { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n\ntype CHANNEL_LIST_PAYLOAD_TYPES = {\n [RESET_CHANNEL_LIST]: null;\n [CREATE_CHANNEL]: GroupChannel;\n [UNLOAD_CHANNELS]: null;\n [SET_CHANNEL_LOADING]: boolean;\n [LEAVE_CHANNEL_SUCCESS]: ChannelURL;\n [SET_CURRENT_CHANNEL]: GroupChannel | null;\n [FETCH_CHANNELS_START]: null;\n\n [FETCH_CHANNELS_SUCCESS]: GroupChannel[];\n [FETCH_CHANNELS_FAILURE]: null;\n [INIT_CHANNELS_START]: null;\n [INIT_CHANNELS_SUCCESS]: {\n channelList: GroupChannel[];\n disableAutoSelect: boolean;\n };\n [INIT_CHANNELS_FAILURE]: null;\n [INVITE_MEMBERS_SUCESS]: null;\n [ON_USER_JOINED]: GroupChannel;\n [ON_CHANNEL_DELETED]: ChannelURL;\n [ON_LAST_MESSAGE_UPDATED]: GroupChannel;\n [ON_USER_LEFT]: {\n isMe: boolean;\n channel: GroupChannel;\n };\n [ON_CHANNEL_CHANGED]: GroupChannel;\n [ON_CHANNEL_ARCHIVED]: GroupChannel;\n [ON_CHANNEL_FROZEN]: GroupChannel;\n [ON_CHANNEL_UNFROZEN]: GroupChannel;\n [ON_READ_RECEIPT_UPDATED]: GroupChannel;\n [ON_DELIVERY_RECEIPT_UPDATED]: GroupChannel;\n [CHANNEL_REPLACED_TO_TOP]: GroupChannel;\n [CHANNEL_LIST_PARAMS_UPDATED]: {\n channelListQuery: GroupChannelListQuery;\n currentUserId: string | undefined;\n };\n};\n\ntype ChannelURL = string;\n\nexport type ChannelListActionTypes = CreateAction<CHANNEL_LIST_PAYLOAD_TYPES>;\n","import {\n GroupChannel,\n GroupChannelHandler,\n GroupChannelListQuery,\n GroupChannelListQueryParams,\n} from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../lib/pubSub/topics';\nimport { SdkStore } from '../../lib/types';\nimport React from 'react';\nimport { ChannelListInitialStateType } from './dux/initialState';\nimport { ChannelListActionTypes } from './dux/actionTypes';\nimport { GroupChannelListQueryParamsInternal } from './context/ChannelListProvider';\nimport { LoggerInterface } from '../../lib/Logger';\nimport { MarkAsDeliveredSchedulerType } from '../../lib/hooks/useMarkAsDeliveredScheduler';\nimport { PubSubTypes } from '../../lib/pubSub';\nimport { BaseMessage } from '@sendbird/chat/message';\n\nconst DELIVERY_RECEIPT = 'delivery_receipt';\n\ntype CreateEventHandlerParams = {\n sdk: SdkStore['sdk'];\n sdkChannelHandlerId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n logger: LoggerInterface;\n};\nconst createEventHandler = ({ sdk, sdkChannelHandlerId, channelListDispatcher, logger }: CreateEventHandlerParams) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n }\n },\n onChannelDeleted: (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n },\n onUserJoined: (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n },\n onUserBanned: (channel, user) => {\n if (channel.isGroupChannel()) {\n logger.info('Channel: onUserBanned', channel);\n const isMe = user.userId === sdk?.currentUser?.userId;\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: { channel, isMe },\n });\n }\n },\n onUserLeft: (channel, user) => {\n logger.info('ChannelList: onUserLeft', channel);\n const isMe = user.userId === sdk?.currentUser?.userId;\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: { channel, isMe },\n });\n },\n onUnreadMemberStatusUpdated: (channel) => {\n logger.info('ChannelList: onUnreadMemberStatusUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated: (channel) => {\n logger.info('ChannelList: onUndeliveredMemberStatusUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n onMessageUpdated: (channel, message) => {\n if (channel.isGroupChannel() && channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n },\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n onChannelFrozen: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n }\n },\n onChannelUnfrozen: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n }\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\ntype CreateChannelListQueryParams = {\n sdk: SdkStore['sdk'];\n userFilledChannelListQuery: GroupChannelListQueryParamsInternal;\n};\n\nconst createChannelListQuery = ({\n sdk,\n userFilledChannelListQuery = {},\n}: CreateChannelListQueryParams): GroupChannelListQuery => {\n const params: GroupChannelListQueryParamsInternal = {\n includeEmpty: false,\n limit: 20, // The value of pagination limit could be set up to 100.\n order: 'latest_last_message', // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n };\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n params[key] = userFilledChannelListQuery[key];\n });\n }\n\n return sdk.groupChannel.createMyGroupChannelListQuery(params as GroupChannelListQueryParams);\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\ntype SetupChannelListParams = {\n sdk: SdkStore['sdk'];\n sdkChannelHandlerId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n setChannelSource: (query: GroupChannelListQuery) => void;\n onChannelSelect: (channel: ChannelListInitialStateType['currentChannel']) => void;\n userFilledChannelListQuery: GroupChannelListQueryParamsInternal;\n logger: LoggerInterface;\n sortChannelList: (channels: GroupChannel[]) => GroupChannel[];\n disableAutoSelect: boolean;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n disableMarkAsDelivered: boolean;\n};\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n}: SetupChannelListParams) {\n if (sdk?.groupChannel) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery\n .next()\n .then((channelList) => {\n logger.info('ChannelList - fetched channels', channelList);\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect?.(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: { channelList: sortedChannelList, disableAutoSelect },\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList?.find((feature) => feature === DELIVERY_RECEIPT);\n\n if (canSetMarkAsDelivered && !disableMarkAsDelivered) {\n sortedChannelList.forEach((channel) => {\n markAsDeliveredScheduler.push(channel);\n });\n }\n })\n .catch((err) => {\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n }\n });\n } else {\n logger.info('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber: ReturnType<typeof pubSubHandler>) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub: PubSubTypes, channelListDispatcher: React.Dispatch<ChannelListActionTypes>) => {\n const subscriber = new Map<string, ReturnType<PubSubTypes['subscribe']>>();\n if (!pubSub) return subscriber;\n subscriber.set(\n topics.CREATE_CHANNEL,\n pubSub.subscribe(topics.CREATE_CHANNEL, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }),\n );\n\n subscriber.set(\n topics.UPDATE_USER_MESSAGE,\n pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg: { channel: GroupChannel; message: BaseMessage }) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }),\n );\n\n subscriber.set(\n topics.LEAVE_CHANNEL,\n pubSub.subscribe(topics.LEAVE_CHANNEL, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }),\n );\n\n subscriber.set(\n topics.SEND_MESSAGE_START,\n pubSub.subscribe(topics.SEND_MESSAGE_START, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }),\n );\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","// See the conditions of this function here https://github.com/sendbird/sendbird-uikit-react/pull/777\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\ntype CurrentChannelType = GroupChannel | null;\n\nexport interface GetNextChannelParams {\n channel: GroupChannel;\n currentChannel: CurrentChannelType;\n allChannels: GroupChannel[];\n disableAutoSelect: boolean;\n}\n\n/**\n * NOTICE: Use this function IF the current channel is removed from allChannels.\n * This function will give you the next currentChannel value.\n */\nexport const getNextChannel = ({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n}: GetNextChannelParams): CurrentChannelType => {\n let nextChannel: CurrentChannelType = null;\n if (currentChannel?.url === channel.url) {\n if (!disableAutoSelect && allChannels.length > 0) {\n const [firstChannel, secondChannel = null] = allChannels;\n nextChannel = firstChannel.url === channel.url ? secondChannel : firstChannel;\n }\n } else {\n nextChannel = currentChannel;\n }\n return nextChannel;\n};\n","import type { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nexport interface ChannelListInitialStateType {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: null | GroupChannel;\n channelListQuery: null | GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\n}\n\nconst initialState: ChannelListInitialStateType = {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: true,\n allChannels: [],\n currentChannel: null,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n\nexport default initialState;\n","import { match, P } from 'ts-pattern';\nimport { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as channelListActions from './actionTypes';\nimport { ChannelListActionTypes } from './actionTypes';\nimport { getNextChannel } from './getNextChannel';\nimport initialState, { ChannelListInitialStateType } from './initialState';\n\nexport default function channelListReducer(\n state: ChannelListInitialStateType,\n action: ChannelListActionTypes,\n): ChannelListInitialStateType {\n return (\n match(action)\n .with({ type: channelListActions.INIT_CHANNELS_START }, () => ({ ...state, loading: true }))\n .with({ type: channelListActions.RESET_CHANNEL_LIST }, () => initialState)\n .with({ type: channelListActions.INIT_CHANNELS_SUCCESS }, (action) => {\n const { channelList, disableAutoSelect } = action.payload;\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: channelList,\n disableAutoSelect,\n currentChannel:\n !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : null,\n };\n })\n .with({ type: channelListActions.FETCH_CHANNELS_SUCCESS }, (action) => {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(({ url }) => !currentChannels.find((c) => c === url));\n return {\n ...state,\n allChannels: [...state.allChannels, ...filteredChannels],\n };\n })\n .with({ type: channelListActions.CREATE_CHANNEL }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, channelListQuery } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to add to the ChannelList\n return {\n ...state,\n currentChannel: channel,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Do not add to the ChannelList\n return {\n ...state,\n currentChannel: channel,\n };\n }\n // No channelListQuery\n // Add to the top of the ChannelList\n return {\n ...state,\n currentChannel: channel,\n allChannels: [channel, ...allChannels.filter((ch) => ch.url !== channel?.url)],\n };\n })\n // A hidden channel will be unhidden when getting new message\n .with({ type: channelListActions.ON_CHANNEL_ARCHIVED }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // * Remove the channel from the ChannelList: because the channel is filtered\n }\n\n // No channelListQuery\n // * Remove the channel from the ChannelList: because the channel is hidden\n // Replace the currentChannel if it's filtered or hidden\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n })\n .with(\n { type: P.union(channelListActions.LEAVE_CHANNEL_SUCCESS, channelListActions.ON_CHANNEL_DELETED) },\n (action) => {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: channelUrl === state.currentChannel?.url ? state.allChannels[0] : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n },\n )\n .with({ type: channelListActions.ON_USER_LEFT }, (action) => {\n const { channel, isMe } = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n let nextChannels = allChannels.filter((ch) => ch.url !== channel.url);\n let nextChannel = null;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n nextChannels = getChannelsWithUpsertedChannel(allChannels, channel);\n }\n }\n // Replace the currentChannel if I left the currentChannel\n if (isMe) {\n nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n }\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: nextChannels,\n };\n })\n .with(\n {\n type: P.union(\n channelListActions.ON_USER_JOINED,\n channelListActions.ON_CHANNEL_CHANGED,\n channelListActions.ON_READ_RECEIPT_UPDATED,\n channelListActions.ON_DELIVERY_RECEIPT_UPDATED,\n ),\n },\n (action) => {\n const channel = action.payload;\n const { allChannels = [], currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n const { unreadMessageCount } = channel;\n\n // Do not display the channel when it's created (and not sent a message yet)\n if (action.type === channelListActions.ON_USER_JOINED && !channel?.lastMessage) return state;\n\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n\n if (\n // When marking as read the channel\n unreadMessageCount === 0\n // @ts-ignore - When sending a message by the current peer\n && channel?.lastMessage?.sender?.userId !== currentUserId\n ) {\n // Don't move to the top\n return {\n ...state,\n allChannels: allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n // Move to the top\n return {\n ...state,\n allChannels: [channel, ...allChannels.filter(({ url }) => url !== channel.url)],\n };\n },\n )\n .with({ type: channelListActions.SET_CURRENT_CHANNEL }, (action) => {\n return {\n ...state,\n currentChannel: action.payload,\n };\n })\n .with({ type: channelListActions.ON_LAST_MESSAGE_UPDATED }, (action) => {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => channel?.url === action.payload.url ? action.payload : channel,\n ),\n };\n })\n .with({ type: channelListActions.ON_CHANNEL_FROZEN }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n return {\n ...state,\n allChannels: allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n })\n .with({ type: channelListActions.ON_CHANNEL_UNFROZEN }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n\n // No channelListQuery\n return {\n ...state,\n allChannels: allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n })\n .with({ type: channelListActions.CHANNEL_REPLACED_TO_TOP }, (action) => {\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, action.payload, state.currentUserId)) {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n return state;\n }\n return {\n ...state,\n allChannels: [action.payload, ...state.allChannels.filter((channel) => channel?.url !== action.payload.url)],\n };\n })\n .with({ type: channelListActions.CHANNEL_LIST_PARAMS_UPDATED }, (action) => {\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n })\n .otherwise(() => state)\n );\n}\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../../dux/actionTypes';\nimport { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../../../../lib/SendbirdState';\n\nexport type DynamicProps = {\n activeChannelUrl?: string;\n channels?: GroupChannel[];\n sdk?: SendbirdGroupChat;\n};\n\nexport type StaticProps = {\n logger: Logger;\n channelListDispatcher: React.Dispatch<any>;\n};\n\nfunction useActiveChannelUrl({\n activeChannelUrl,\n channels,\n sdk,\n}: DynamicProps, {\n logger,\n channelListDispatcher,\n}: StaticProps): void {\n return useEffect(() => {\n if (activeChannelUrl) {\n logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl });\n const activeChannel = channels?.find(channel => channel.url === activeChannelUrl);\n if (activeChannel) {\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: activeChannel,\n });\n } else {\n logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl });\n sdk?.groupChannel?.getChannel(activeChannelUrl)\n .then((channel) => {\n channelListDispatcher({\n type: messageActionTypes.FETCH_CHANNELS_SUCCESS,\n payload: [channel],\n });\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n })\n .catch(() => {\n logger.warning('ChannelListProvider: Active channel not found');\n });\n }\n }\n }, [activeChannelUrl]);\n}\n\nexport default useActiveChannelUrl;\n","import React, { useCallback } from 'react';\nimport { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nimport { Nullable } from '../../../../types';\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { MarkAsDeliveredSchedulerType } from '../../../../lib/hooks/useMarkAsDeliveredScheduler';\nimport * as channelListActions from '../../dux/actionTypes';\nimport { ChannelListActionTypes } from '../../dux/actionTypes';\n\ninterface DynamicProps {\n channelSource: Nullable<GroupChannelListQuery>;\n disableMarkAsDelivered: boolean;\n}\ninterface StaticProps {\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n logger: Logger;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n}\n\nexport const useFetchChannelList = ({\n channelSource,\n disableMarkAsDelivered,\n}: DynamicProps, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n}: StaticProps) => {\n return useCallback(async () => {\n if (!channelSource?.hasNext) {\n logger.info('ChannelList: not able to fetch');\n return;\n }\n logger.info('ChannelList: starting fetch');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n try {\n const channelList: GroupChannel[] = await channelSource.next();\n logger.info('ChannelList: succeeded fetch', { channelList });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (!disableMarkAsDelivered) {\n logger.info('ChannelList: mark as delivered to fetched channels');\n // eslint-disable-next-line no-unused-expressions\n channelList?.forEach((channel) => {\n if (channel?.unreadMessageCount > 0) {\n markAsDeliveredScheduler.push(channel);\n }\n });\n }\n } catch (error) {\n logger.error('ChannelList: failed fetch', { error });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: error,\n });\n }\n }, [\n channelSource,\n disableMarkAsDelivered,\n ]);\n};\n","import React, { useContext, useEffect, useMemo, useReducer, useState } from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n GroupChannelListQuery as GroupChannelListQuerySb,\n GroupChannelUserIdsFilter,\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, { pubSubHandler, pubSubHandleRemover } from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\nimport { DELIVERY_RECEIPT } from '../../../utils/consts';\n\nimport * as channelListActions from '../dux/actionTypes';\nimport { ChannelListActionTypes } from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\nimport { CHANNEL_TYPE } from '../../CreateChannel/types';\nimport useActiveChannelUrl from './hooks/useActiveChannelUrl';\nimport { useFetchChannelList } from './hooks/useFetchChannelList';\n\nexport interface ApplicationUserListQueryInternal {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\nexport interface GroupChannelListQueryParamsInternal {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper' | 'broadcast_only' | 'exclusive_only';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?:\n | 'all'\n | 'unhidden_only'\n | 'hidden_only'\n | 'hidden_allow_auto_unhide'\n | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n userIdsFilter?: GroupChannelUserIdsFilter;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQueryInternal;\n channelListQuery?: GroupChannelListQueryParamsInternal;\n}\n\ntype OverrideInviteUserType = {\n users: Array<string>;\n onClose: () => void;\n channelType: CHANNEL_TYPE;\n};\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;\n overrideInviteUser?(params: OverrideInviteUserType): void;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: User): void;\n onChannelSelect?(channel: GroupChannel | null): void;\n sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactElement;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n activeChannelUrl?: string;\n typingChannels?: Array<GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQueryParamsInternal;\n currentUserId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n channelSource: GroupChannelListQuerySb | null;\n fetchChannelList: () => void;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n fetchChannelList: noop,\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n overrideInviteUser,\n activeChannelUrl,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n // disable autoselect, if activeChannelUrl is provided\n // useActiveChannelUrl should be executed when activeChannelUrl is present\n const disableAutoSelect = props?.disableAutoSelect || !!activeChannelUrl;\n const onChannelSelect = props?.onChannelSelect || noop;\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger, onUserProfileMessage } = config;\n const {\n markAsDeliveredScheduler,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk;\n const { premiumFeatureList = [] } = sdk?.appInfo ?? {};\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(channelListReducers, channelListInitialState);\n const { currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n const sdkChannelHandlerId = uuidv4();\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk?.groupChannel?.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n let typingHandlerId = '';\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n typingHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (channel) => {\n const typingMemberCount = channel?.getTypingUsers()?.length;\n const channelList = typingChannels.filter((ch) => ch.url !== channel.url);\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel]);\n } else {\n setTypingChannels(channelList);\n }\n },\n onUnreadMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onMessageUpdated(channel) {\n if (channel.isGroupChannel()) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url).then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n }\n },\n onMentionReceived(channel) {\n if (channel.isGroupChannel()) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url).then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n }\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(typingHandlerId, handler);\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler && typingHandlerId !== '') {\n sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);\n }\n };\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n // Set current channel (by on_channel_selected event)\n useEffect(() => {\n if (!sdk || !sdk.groupChannel || !currentChannel || !currentChannel?.url) {\n return;\n }\n sdk.groupChannel.getChannel(currentChannel.url).then((groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n // Set active channel (by url)\n useActiveChannelUrl(\n {\n activeChannelUrl,\n channels: sortedChannels,\n sdk,\n },\n {\n logger,\n channelListDispatcher,\n },\n );\n\n const fetchChannelList = useFetchChannelList(\n {\n channelSource,\n disableMarkAsDelivered:\n disableMarkAsDelivered || !premiumFeatureList.some((feature) => feature === DELIVERY_RECEIPT),\n },\n {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n },\n );\n\n return (\n <ChannelListContext.Provider\n value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n overrideInviteUser,\n onChannelSelect,\n sortChannelList,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled:\n isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled:\n isMessageReceiptStatusEnabled !== null\n ? isMessageReceiptStatusEnabled\n : isMessageReceiptStatusEnabledOnChannelList,\n fetchChannelList,\n }}\n >\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile ?? config?.disableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n <div className={`sendbird-channel-list ${className}`}>{children}</div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport { ChannelListProvider, useChannelListContext };\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECEIPT","createEventHandler","_a","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","isGroupChannel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","onUserBanned","user","isMe","userId","currentUser","onUserLeft","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","lastMessage","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","_b","userFilledChannelListQuery","params","includeEmpty","limit","order","Object","keys","forEach","key","createMyGroupChannelListQuery","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","markAsDeliveredScheduler","disableMarkAsDelivered","warning","channelListQuery","currentUserId","hasNext","next","then","channelList","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","push","catch","err","error","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","UPDATE_USER_MESSAGE","updatedChannel","messageId","LEAVE_CHANNEL","url","SEND_MESSAGE_START","getNextChannel","currentChannel","allChannels","nextChannel","length","firstChannel","secondChannel","initialState","initialized","loading","channelListReducer","state","action","match","with","channelListActions","__assign","currentChannels","map","c","filteredChannels","filter","__spreadArray","filterChannelListParams","getChannelsWithUpsertedChannel","ch","P","union","nextChannels","_c","unreadMessageCount","sender","isFrozen","otherwise","useActiveChannelUrl","activeChannelUrl","channels","useEffect","activeChannel","messageActionTypes","getChannel","useFetchChannelList","channelSource","useCallback","__awaiter","sent","error_1","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","typingChannels","fetchChannelList","noop","ChannelListProvider","props","children","overrideInviteUser","isTypingIndicatorEnabled","_d","isMessageReceiptStatusEnabled","globalStore","useSendbirdStateContext","config","stores","sdkStore","onUserProfileMessage","_e","_f","isTypingIndicatorEnabledOnChannelList","_g","isMessageReceiptStatusEnabledOnChannelList","_h","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_j","useReducer","channelListReducers","channelListInitialState","channelListStore","_k","useState","_l","setTypingChannels","uuidv4","removeGroupChannelHandler","typingHandlerId","handler","onTypingStatusUpdated","typingMemberCount","getTypingUsers","getChannelWithoutCache","onMentionReceived","queries_","useMemo","sortedChannels","console","warn","before","after","some","createElement","Provider","value","UserProfileProvider","concat","useChannelListContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelListProvider-d0ad5a84.js","sources":["../../src/modules/ChannelList/dux/actionTypes.ts","../../src/modules/ChannelList/utils.ts","../../src/modules/ChannelList/dux/getNextChannel.ts","../../src/modules/ChannelList/dux/initialState.ts","../../src/modules/ChannelList/dux/reducers.ts","../../src/modules/ChannelList/context/hooks/useActiveChannelUrl.ts","../../src/modules/ChannelList/context/hooks/useFetchChannelList.ts","../../src/modules/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["import type { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n\ntype CHANNEL_LIST_PAYLOAD_TYPES = {\n [RESET_CHANNEL_LIST]: null;\n [CREATE_CHANNEL]: GroupChannel;\n [UNLOAD_CHANNELS]: null;\n [SET_CHANNEL_LOADING]: boolean;\n [LEAVE_CHANNEL_SUCCESS]: ChannelURL;\n [SET_CURRENT_CHANNEL]: GroupChannel | null;\n [FETCH_CHANNELS_START]: null;\n\n [FETCH_CHANNELS_SUCCESS]: GroupChannel[];\n [FETCH_CHANNELS_FAILURE]: null;\n [INIT_CHANNELS_START]: null;\n [INIT_CHANNELS_SUCCESS]: {\n channelList: GroupChannel[];\n disableAutoSelect: boolean;\n };\n [INIT_CHANNELS_FAILURE]: null;\n [INVITE_MEMBERS_SUCESS]: null;\n [ON_USER_JOINED]: GroupChannel;\n [ON_CHANNEL_DELETED]: ChannelURL;\n [ON_LAST_MESSAGE_UPDATED]: GroupChannel;\n [ON_USER_LEFT]: {\n isMe: boolean;\n channel: GroupChannel;\n };\n [ON_CHANNEL_CHANGED]: GroupChannel;\n [ON_CHANNEL_ARCHIVED]: GroupChannel;\n [ON_CHANNEL_FROZEN]: GroupChannel;\n [ON_CHANNEL_UNFROZEN]: GroupChannel;\n [ON_READ_RECEIPT_UPDATED]: GroupChannel;\n [ON_DELIVERY_RECEIPT_UPDATED]: GroupChannel;\n [CHANNEL_REPLACED_TO_TOP]: GroupChannel;\n [CHANNEL_LIST_PARAMS_UPDATED]: {\n channelListQuery: GroupChannelListQuery;\n currentUserId: string | undefined;\n };\n};\n\ntype ChannelURL = string;\n\nexport type ChannelListActionTypes = CreateAction<CHANNEL_LIST_PAYLOAD_TYPES>;\n","import {\n GroupChannel,\n GroupChannelHandler,\n GroupChannelListQuery,\n GroupChannelListQueryParams,\n} from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../lib/pubSub/topics';\nimport { SdkStore } from '../../lib/types';\nimport React from 'react';\nimport { ChannelListInitialStateType } from './dux/initialState';\nimport { ChannelListActionTypes } from './dux/actionTypes';\nimport { GroupChannelListQueryParamsInternal } from './context/ChannelListProvider';\nimport { LoggerInterface } from '../../lib/Logger';\nimport { MarkAsDeliveredSchedulerType } from '../../lib/hooks/useMarkAsDeliveredScheduler';\nimport { PubSubTypes } from '../../lib/pubSub';\nimport { BaseMessage } from '@sendbird/chat/message';\n\nconst DELIVERY_RECEIPT = 'delivery_receipt';\n\ntype CreateEventHandlerParams = {\n sdk: SdkStore['sdk'];\n sdkChannelHandlerId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n logger: LoggerInterface;\n};\nconst createEventHandler = ({ sdk, sdkChannelHandlerId, channelListDispatcher, logger }: CreateEventHandlerParams) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n }\n },\n onChannelDeleted: (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n },\n onUserJoined: (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n },\n onUserBanned: (channel, user) => {\n if (channel.isGroupChannel()) {\n logger.info('Channel: onUserBanned', channel);\n const isMe = user.userId === sdk?.currentUser?.userId;\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: { channel, isMe },\n });\n }\n },\n onUserLeft: (channel, user) => {\n logger.info('ChannelList: onUserLeft', channel);\n const isMe = user.userId === sdk?.currentUser?.userId;\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: { channel, isMe },\n });\n },\n onUnreadMemberStatusUpdated: (channel) => {\n logger.info('ChannelList: onUnreadMemberStatusUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated: (channel) => {\n logger.info('ChannelList: onUndeliveredMemberStatusUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n onMessageUpdated: (channel, message) => {\n if (channel.isGroupChannel() && channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n },\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n onChannelFrozen: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n }\n },\n onChannelUnfrozen: (channel) => {\n if (channel.isGroupChannel()) {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n }\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\ntype CreateChannelListQueryParams = {\n sdk: SdkStore['sdk'];\n userFilledChannelListQuery: GroupChannelListQueryParamsInternal;\n};\n\nconst createChannelListQuery = ({\n sdk,\n userFilledChannelListQuery = {},\n}: CreateChannelListQueryParams): GroupChannelListQuery => {\n const params: GroupChannelListQueryParamsInternal = {\n includeEmpty: false,\n limit: 20, // The value of pagination limit could be set up to 100.\n order: 'latest_last_message', // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n };\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n params[key] = userFilledChannelListQuery[key];\n });\n }\n\n return sdk.groupChannel.createMyGroupChannelListQuery(params as GroupChannelListQueryParams);\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\ntype SetupChannelListParams = {\n sdk: SdkStore['sdk'];\n sdkChannelHandlerId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n setChannelSource: (query: GroupChannelListQuery) => void;\n onChannelSelect: (channel: ChannelListInitialStateType['currentChannel']) => void;\n userFilledChannelListQuery: GroupChannelListQueryParamsInternal;\n logger: LoggerInterface;\n sortChannelList: (channels: GroupChannel[]) => GroupChannel[];\n disableAutoSelect: boolean;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n disableMarkAsDelivered: boolean;\n};\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n}: SetupChannelListParams) {\n if (sdk?.groupChannel) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery\n .next()\n .then((channelList) => {\n logger.info('ChannelList - fetched channels', channelList);\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect?.(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: { channelList: sortedChannelList, disableAutoSelect },\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList?.find((feature) => feature === DELIVERY_RECEIPT);\n\n if (canSetMarkAsDelivered && !disableMarkAsDelivered) {\n sortedChannelList.forEach((channel) => {\n markAsDeliveredScheduler.push(channel);\n });\n }\n })\n .catch((err) => {\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n }\n });\n } else {\n logger.info('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber: ReturnType<typeof pubSubHandler>) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub: PubSubTypes, channelListDispatcher: React.Dispatch<ChannelListActionTypes>) => {\n const subscriber = new Map<string, ReturnType<PubSubTypes['subscribe']>>();\n if (!pubSub) return subscriber;\n subscriber.set(\n topics.CREATE_CHANNEL,\n pubSub.subscribe(topics.CREATE_CHANNEL, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }),\n );\n\n subscriber.set(\n topics.UPDATE_USER_MESSAGE,\n pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg: { channel: GroupChannel; message: BaseMessage }) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }),\n );\n\n subscriber.set(\n topics.LEAVE_CHANNEL,\n pubSub.subscribe(topics.LEAVE_CHANNEL, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }),\n );\n\n subscriber.set(\n topics.SEND_MESSAGE_START,\n pubSub.subscribe(topics.SEND_MESSAGE_START, (msg: { channel: GroupChannel }) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }),\n );\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","// See the conditions of this function here https://github.com/sendbird/sendbird-uikit-react/pull/777\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\ntype CurrentChannelType = GroupChannel | null;\n\nexport interface GetNextChannelParams {\n channel: GroupChannel;\n currentChannel: CurrentChannelType;\n allChannels: GroupChannel[];\n disableAutoSelect: boolean;\n}\n\n/**\n * NOTICE: Use this function IF the current channel is removed from allChannels.\n * This function will give you the next currentChannel value.\n */\nexport const getNextChannel = ({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n}: GetNextChannelParams): CurrentChannelType => {\n let nextChannel: CurrentChannelType = null;\n if (currentChannel?.url === channel.url) {\n if (!disableAutoSelect && allChannels.length > 0) {\n const [firstChannel, secondChannel = null] = allChannels;\n nextChannel = firstChannel.url === channel.url ? secondChannel : firstChannel;\n }\n } else {\n nextChannel = currentChannel;\n }\n return nextChannel;\n};\n","import type { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nexport interface ChannelListInitialStateType {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: null | GroupChannel;\n channelListQuery: null | GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\n}\n\nconst initialState: ChannelListInitialStateType = {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: true,\n allChannels: [],\n currentChannel: null,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n\nexport default initialState;\n","import { match, P } from 'ts-pattern';\nimport { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as channelListActions from './actionTypes';\nimport { ChannelListActionTypes } from './actionTypes';\nimport { getNextChannel } from './getNextChannel';\nimport initialState, { ChannelListInitialStateType } from './initialState';\n\nexport default function channelListReducer(\n state: ChannelListInitialStateType,\n action: ChannelListActionTypes,\n): ChannelListInitialStateType {\n return (\n match(action)\n .with({ type: channelListActions.INIT_CHANNELS_START }, () => ({ ...state, loading: true }))\n .with({ type: channelListActions.RESET_CHANNEL_LIST }, () => initialState)\n .with({ type: channelListActions.INIT_CHANNELS_SUCCESS }, (action) => {\n const { channelList, disableAutoSelect } = action.payload;\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: channelList,\n disableAutoSelect,\n currentChannel:\n !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : null,\n };\n })\n .with({ type: channelListActions.FETCH_CHANNELS_SUCCESS }, (action) => {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(({ url }) => !currentChannels.find((c) => c === url));\n return {\n ...state,\n allChannels: [...state.allChannels, ...filteredChannels],\n };\n })\n .with({ type: channelListActions.CREATE_CHANNEL }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, channelListQuery } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to add to the ChannelList\n return {\n ...state,\n currentChannel: channel,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Do not add to the ChannelList\n return {\n ...state,\n currentChannel: channel,\n };\n }\n // No channelListQuery\n // Add to the top of the ChannelList\n return {\n ...state,\n currentChannel: channel,\n allChannels: [channel, ...allChannels.filter((ch) => ch.url !== channel?.url)],\n };\n })\n // A hidden channel will be unhidden when getting new message\n .with({ type: channelListActions.ON_CHANNEL_ARCHIVED }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // * Remove the channel from the ChannelList: because the channel is filtered\n }\n\n // No channelListQuery\n // * Remove the channel from the ChannelList: because the channel is hidden\n // Replace the currentChannel if it's filtered or hidden\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n })\n .with(\n { type: P.union(channelListActions.LEAVE_CHANNEL_SUCCESS, channelListActions.ON_CHANNEL_DELETED) },\n (action) => {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: channelUrl === state.currentChannel?.url ? state.allChannels[0] : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n },\n )\n .with({ type: channelListActions.ON_USER_LEFT }, (action) => {\n const { channel, isMe } = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n let nextChannels = allChannels.filter((ch) => ch.url !== channel.url);\n let nextChannel = null;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n nextChannels = getChannelsWithUpsertedChannel(allChannels, channel);\n }\n }\n // Replace the currentChannel if I left the currentChannel\n if (isMe) {\n nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n }\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: nextChannels,\n };\n })\n .with(\n {\n type: P.union(\n channelListActions.ON_USER_JOINED,\n channelListActions.ON_CHANNEL_CHANGED,\n channelListActions.ON_READ_RECEIPT_UPDATED,\n channelListActions.ON_DELIVERY_RECEIPT_UPDATED,\n ),\n },\n (action) => {\n const channel = action.payload;\n const { allChannels = [], currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n const { unreadMessageCount } = channel;\n\n // Do not display the channel when it's created (and not sent a message yet)\n if (action.type === channelListActions.ON_USER_JOINED && !channel?.lastMessage) return state;\n\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n\n if (\n // When marking as read the channel\n unreadMessageCount === 0\n // @ts-ignore - When sending a message by the current peer\n && channel?.lastMessage?.sender?.userId !== currentUserId\n ) {\n // Don't move to the top\n return {\n ...state,\n allChannels: allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n // Move to the top\n return {\n ...state,\n allChannels: [channel, ...allChannels.filter(({ url }) => url !== channel.url)],\n };\n },\n )\n .with({ type: channelListActions.SET_CURRENT_CHANNEL }, (action) => {\n return {\n ...state,\n currentChannel: action.payload,\n };\n })\n .with({ type: channelListActions.ON_LAST_MESSAGE_UPDATED }, (action) => {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => channel?.url === action.payload.url ? action.payload : channel,\n ),\n };\n })\n .with({ type: channelListActions.ON_CHANNEL_FROZEN }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n return {\n ...state,\n allChannels: allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n })\n .with({ type: channelListActions.ON_CHANNEL_UNFROZEN }, (action) => {\n const channel = action.payload;\n const { allChannels, currentUserId, currentChannel, channelListQuery, disableAutoSelect } = state;\n if (channelListQuery) {\n if (filterChannelListParams(channelListQuery, channel, currentUserId)) {\n // Good to [add to/keep in] the ChannelList\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n // Filter the channel from the ChannelList\n // Replace the currentChannel if it's filtered channel\n const nextChannel = getNextChannel({\n channel,\n currentChannel,\n allChannels,\n disableAutoSelect,\n });\n return {\n ...state,\n currentChannel: nextChannel,\n allChannels: allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n\n // No channelListQuery\n return {\n ...state,\n allChannels: allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n })\n .with({ type: channelListActions.CHANNEL_REPLACED_TO_TOP }, (action) => {\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, action.payload, state.currentUserId)) {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n return state;\n }\n return {\n ...state,\n allChannels: [action.payload, ...state.allChannels.filter((channel) => channel?.url !== action.payload.url)],\n };\n })\n .with({ type: channelListActions.CHANNEL_LIST_PARAMS_UPDATED }, (action) => {\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n })\n .otherwise(() => state)\n );\n}\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../../dux/actionTypes';\nimport { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../../../../lib/SendbirdState';\n\nexport type DynamicProps = {\n activeChannelUrl?: string;\n channels?: GroupChannel[];\n sdk?: SendbirdGroupChat;\n};\n\nexport type StaticProps = {\n logger: Logger;\n channelListDispatcher: React.Dispatch<any>;\n};\n\nfunction useActiveChannelUrl({\n activeChannelUrl,\n channels,\n sdk,\n}: DynamicProps, {\n logger,\n channelListDispatcher,\n}: StaticProps): void {\n return useEffect(() => {\n if (activeChannelUrl) {\n logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl });\n const activeChannel = channels?.find(channel => channel.url === activeChannelUrl);\n if (activeChannel) {\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: activeChannel,\n });\n } else {\n logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl });\n sdk?.groupChannel?.getChannel(activeChannelUrl)\n .then((channel) => {\n channelListDispatcher({\n type: messageActionTypes.FETCH_CHANNELS_SUCCESS,\n payload: [channel],\n });\n channelListDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n })\n .catch(() => {\n logger.warning('ChannelListProvider: Active channel not found');\n });\n }\n }\n }, [activeChannelUrl]);\n}\n\nexport default useActiveChannelUrl;\n","import React, { useCallback } from 'react';\nimport { GroupChannel, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\n\nimport { Nullable } from '../../../../types';\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { MarkAsDeliveredSchedulerType } from '../../../../lib/hooks/useMarkAsDeliveredScheduler';\nimport * as channelListActions from '../../dux/actionTypes';\nimport { ChannelListActionTypes } from '../../dux/actionTypes';\n\ninterface DynamicProps {\n channelSource: Nullable<GroupChannelListQuery>;\n disableMarkAsDelivered: boolean;\n}\ninterface StaticProps {\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n logger: Logger;\n markAsDeliveredScheduler: MarkAsDeliveredSchedulerType;\n}\n\nexport const useFetchChannelList = ({\n channelSource,\n disableMarkAsDelivered,\n}: DynamicProps, {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n}: StaticProps) => {\n return useCallback(async () => {\n if (!channelSource?.hasNext) {\n logger.info('ChannelList: not able to fetch');\n return;\n }\n logger.info('ChannelList: starting fetch');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n try {\n const channelList: GroupChannel[] = await channelSource.next();\n logger.info('ChannelList: succeeded fetch', { channelList });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (!disableMarkAsDelivered) {\n logger.info('ChannelList: mark as delivered to fetched channels');\n // eslint-disable-next-line no-unused-expressions\n channelList?.forEach((channel) => {\n if (channel?.unreadMessageCount > 0) {\n markAsDeliveredScheduler.push(channel);\n }\n });\n }\n } catch (error) {\n logger.error('ChannelList: failed fetch', { error });\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: error,\n });\n }\n }, [\n channelSource,\n disableMarkAsDelivered,\n ]);\n};\n","import React, { useContext, useEffect, useMemo, useReducer, useState } from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n GroupChannelListQuery as GroupChannelListQuerySb,\n GroupChannelUserIdsFilter,\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, { pubSubHandler, pubSubHandleRemover } from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\nimport { DELIVERY_RECEIPT } from '../../../utils/consts';\n\nimport * as channelListActions from '../dux/actionTypes';\nimport { ChannelListActionTypes } from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\nimport { CHANNEL_TYPE } from '../../CreateChannel/types';\nimport useActiveChannelUrl from './hooks/useActiveChannelUrl';\nimport { useFetchChannelList } from './hooks/useFetchChannelList';\n\nexport interface ApplicationUserListQueryInternal {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\nexport interface GroupChannelListQueryParamsInternal {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper' | 'broadcast_only' | 'exclusive_only';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?:\n | 'all'\n | 'unhidden_only'\n | 'hidden_only'\n | 'hidden_allow_auto_unhide'\n | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n userIdsFilter?: GroupChannelUserIdsFilter;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQueryInternal;\n channelListQuery?: GroupChannelListQueryParamsInternal;\n}\n\ntype OverrideInviteUserType = {\n users: Array<string>;\n onClose: () => void;\n channelType: CHANNEL_TYPE;\n};\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;\n overrideInviteUser?(params: OverrideInviteUserType): void;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: User): void;\n onChannelSelect?(channel: GroupChannel | null): void;\n sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactElement;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n activeChannelUrl?: string;\n typingChannels?: Array<GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQueryParamsInternal;\n currentUserId: string;\n channelListDispatcher: React.Dispatch<ChannelListActionTypes>;\n channelSource: GroupChannelListQuerySb | null;\n fetchChannelList: () => void;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n fetchChannelList: noop,\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n overrideInviteUser,\n activeChannelUrl,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n // disable autoselect, if activeChannelUrl is provided\n // useActiveChannelUrl should be executed when activeChannelUrl is present\n const disableAutoSelect = props?.disableAutoSelect || !!activeChannelUrl;\n const onChannelSelect = props?.onChannelSelect || noop;\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger, onUserProfileMessage } = config;\n const {\n markAsDeliveredScheduler,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk;\n const { premiumFeatureList = [] } = sdk?.appInfo ?? {};\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(channelListReducers, channelListInitialState);\n const { currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n const sdkChannelHandlerId = uuidv4();\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsDeliveredScheduler,\n disableMarkAsDelivered,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk?.groupChannel?.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n let typingHandlerId = '';\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n typingHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (channel) => {\n const typingMemberCount = channel?.getTypingUsers()?.length;\n const channelList = typingChannels.filter((ch) => ch.url !== channel.url);\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel]);\n } else {\n setTypingChannels(channelList);\n }\n },\n onUnreadMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onMessageUpdated(channel) {\n if (channel.isGroupChannel()) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url).then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n }\n },\n onMentionReceived(channel) {\n if (channel.isGroupChannel()) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url).then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n }\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(typingHandlerId, handler);\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler && typingHandlerId !== '') {\n sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);\n }\n };\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n // Set current channel (by on_channel_selected event)\n useEffect(() => {\n if (!sdk || !sdk.groupChannel || !currentChannel || !currentChannel?.url) {\n return;\n }\n sdk.groupChannel.getChannel(currentChannel.url).then((groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n // Set active channel (by url)\n useActiveChannelUrl(\n {\n activeChannelUrl,\n channels: sortedChannels,\n sdk,\n },\n {\n logger,\n channelListDispatcher,\n },\n );\n\n const fetchChannelList = useFetchChannelList(\n {\n channelSource,\n disableMarkAsDelivered:\n disableMarkAsDelivered || !premiumFeatureList.some((feature) => feature === DELIVERY_RECEIPT),\n },\n {\n channelListDispatcher,\n logger,\n markAsDeliveredScheduler,\n },\n );\n\n return (\n <ChannelListContext.Provider\n value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n overrideInviteUser,\n onChannelSelect,\n sortChannelList,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled:\n isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled:\n isMessageReceiptStatusEnabled !== null\n ? isMessageReceiptStatusEnabled\n : isMessageReceiptStatusEnabledOnChannelList,\n fetchChannelList,\n }}\n >\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile ?? config?.disableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n <div className={`sendbird-channel-list ${className}`}>{children}</div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport { ChannelListProvider, useChannelListContext };\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECEIPT","createEventHandler","_a","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","isGroupChannel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","onUserBanned","user","isMe","userId","currentUser","onUserLeft","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","lastMessage","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","_b","userFilledChannelListQuery","params","includeEmpty","limit","order","Object","keys","forEach","key","createMyGroupChannelListQuery","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","markAsDeliveredScheduler","disableMarkAsDelivered","warning","channelListQuery","currentUserId","hasNext","next","then","channelList","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","push","catch","err","error","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","UPDATE_USER_MESSAGE","updatedChannel","messageId","LEAVE_CHANNEL","url","SEND_MESSAGE_START","getNextChannel","currentChannel","allChannels","nextChannel","length","firstChannel","secondChannel","initialState","initialized","loading","channelListReducer","state","action","match","with","channelListActions","__assign","currentChannels","map","c","filteredChannels","filter","__spreadArray","filterChannelListParams","getChannelsWithUpsertedChannel","ch","P","union","nextChannels","_c","unreadMessageCount","sender","isFrozen","otherwise","useActiveChannelUrl","activeChannelUrl","channels","useEffect","activeChannel","messageActionTypes","getChannel","useFetchChannelList","channelSource","useCallback","__awaiter","sent","error_1","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","typingChannels","fetchChannelList","noop","ChannelListProvider","props","children","overrideInviteUser","isTypingIndicatorEnabled","_d","isMessageReceiptStatusEnabled","globalStore","useSendbirdStateContext","config","stores","sdkStore","onUserProfileMessage","_e","_f","isTypingIndicatorEnabledOnChannelList","_g","isMessageReceiptStatusEnabledOnChannelList","_h","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_j","useReducer","channelListReducers","channelListInitialState","channelListStore","_k","useState","_l","setTypingChannels","uuidv4","removeGroupChannelHandler","typingHandlerId","handler","onTypingStatusUpdated","typingMemberCount","getTypingUsers","getChannelWithoutCache","onMentionReceived","queries_","useMemo","sortedChannels","console","warn","before","after","some","createElement","Provider","value","UserProfileProvider","concat","useChannelListContext","context","useContext"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var UserProfileContext = require('./UserProfileContext-922a43ec.js');
4
+ var UserProfileContext = require('./UserProfileContext-c6d7abb7.js');
5
5
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
- var _const = require('./const-9def5c09.js');
7
- var utils = require('./utils-55fc6797.js');
8
- var tslib_es6 = require('./tslib.es6-2f2b0bca.js');
9
- var index$2 = require('./index-b6d51e74.js');
6
+ var _const = require('./const-c9e7a340.js');
7
+ var utils = require('./utils-9193a195.js');
8
+ var tslib_es6 = require('./tslib.es6-c74b513f.js');
9
+ var index$2 = require('./index-3448df64.js');
10
10
  var message = require('@sendbird/chat/message');
11
- var index = require('./index-609b07a2.js');
12
- var useSendMultipleFilesMessage = require('./useSendMultipleFilesMessage-87e0ffa3.js');
13
- var compareIds = require('./compareIds-de541666.js');
14
- var index$1 = require('./index-b995f638.js');
11
+ var index = require('./index-54279ec2.js');
12
+ var useSendMultipleFilesMessage = require('./useSendMultipleFilesMessage-d6a3d5cf.js');
13
+ var compareIds = require('./compareIds-28c6af62.js');
14
+ var index$1 = require('./index-dbe8dd84.js');
15
15
  var groupChannel = require('@sendbird/chat/groupChannel');
16
- var uuid = require('./uuid-c74bbbb6.js');
16
+ var uuid = require('./uuid-9a117e16.js');
17
17
  var pubSub_topics = require('./pubSub/topics.js');
18
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-94c18dc1.js');
19
- var consts = require('./consts-95462b21.js');
20
- var resolvedReplyType = require('./resolvedReplyType-c20ef661.js');
18
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f5b0dfb9.js');
19
+ var consts = require('./consts-f54b15c2.js');
20
+ var resolvedReplyType = require('./resolvedReplyType-c4564ebe.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
@@ -1731,8 +1731,7 @@ var ChannelProvider = function (props) {
1731
1731
  isReactionEnabled = props.isReactionEnabled,
1732
1732
  _g = props.isMessageGroupingEnabled,
1733
1733
  isMessageGroupingEnabled = _g === void 0 ? true : _g,
1734
- _h = props.isMultipleFilesMessageEnabled,
1735
- isMultipleFilesMessageEnabled = _h === void 0 ? false : _h,
1734
+ isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled,
1736
1735
  showSearchIcon = props.showSearchIcon,
1737
1736
  animatedMessage = props.animatedMessage,
1738
1737
  highlightedMessage = props.highlightedMessage,
@@ -1749,16 +1748,16 @@ var ChannelProvider = function (props) {
1749
1748
  threadReplySelectType = props.threadReplySelectType,
1750
1749
  queries = props.queries,
1751
1750
  filterMessageList = props.filterMessageList,
1752
- _j = props.disableMarkAsRead,
1753
- disableMarkAsRead = _j === void 0 ? false : _j,
1751
+ _h = props.disableMarkAsRead,
1752
+ disableMarkAsRead = _h === void 0 ? false : _h,
1754
1753
  onReplyInThread = props.onReplyInThread,
1755
1754
  onQuoteMessageClick = props.onQuoteMessageClick,
1756
1755
  onMessageAnimated = props.onMessageAnimated,
1757
1756
  onMessageHighlighted = props.onMessageHighlighted,
1758
- _k = props.scrollBehavior,
1759
- scrollBehavior = _k === void 0 ? 'auto' : _k,
1760
- _l = props.reconnectOnIdle,
1761
- reconnectOnIdle = _l === void 0 ? true : _l;
1757
+ _j = props.scrollBehavior,
1758
+ scrollBehavior = _j === void 0 ? 'auto' : _j,
1759
+ _k = props.reconnectOnIdle,
1760
+ reconnectOnIdle = _k === void 0 ? true : _k;
1762
1761
  var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1763
1762
  var config = globalStore.config;
1764
1763
  var replyType = channelReplyType !== null && channelReplyType !== void 0 ? channelReplyType : config.replyType;
@@ -1775,31 +1774,31 @@ var ChannelProvider = function (props) {
1775
1774
  var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
1776
1775
  var sdkInit = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.sdkStore) === null || _d === void 0 ? void 0 : _d.initialized;
1777
1776
  var globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1778
- var _m = React.useState(startingPoint),
1779
- initialTimeStamp = _m[0],
1780
- setInitialTimeStamp = _m[1];
1777
+ var _l = React.useState(startingPoint),
1778
+ initialTimeStamp = _l[0],
1779
+ setInitialTimeStamp = _l[1];
1781
1780
  React.useEffect(function () {
1782
1781
  setInitialTimeStamp(startingPoint);
1783
1782
  }, [startingPoint, channelUrl]);
1784
- var _o = React.useState(0),
1785
- animatedMessageId = _o[0],
1786
- setAnimatedMessageId = _o[1];
1787
- var _p = React.useState(highlightedMessage),
1788
- highLightedMessageId = _p[0],
1789
- setHighLightedMessageId = _p[1];
1783
+ var _m = React.useState(0),
1784
+ animatedMessageId = _m[0],
1785
+ setAnimatedMessageId = _m[1];
1786
+ var _o = React.useState(highlightedMessage),
1787
+ highLightedMessageId = _o[0],
1788
+ setHighLightedMessageId = _o[1];
1790
1789
  React.useEffect(function () {
1791
1790
  setHighLightedMessageId(highlightedMessage);
1792
1791
  }, [highlightedMessage]);
1793
1792
  var userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1794
- var _q = React.useState(null),
1795
- quoteMessage = _q[0],
1796
- setQuoteMessage = _q[1];
1797
- var _r = React.useState(false),
1798
- isScrolled = _r[0],
1799
- setIsScrolled = _r[1];
1800
- var _s = React.useReducer(channelReducer, initialState),
1801
- messagesStore = _s[0],
1802
- messagesDispatcher = _s[1];
1793
+ var _p = React.useState(null),
1794
+ quoteMessage = _p[0],
1795
+ setQuoteMessage = _p[1];
1796
+ var _q = React.useState(false),
1797
+ isScrolled = _q[0],
1798
+ setIsScrolled = _q[1];
1799
+ var _r = React.useReducer(channelReducer, initialState),
1800
+ messagesStore = _r[0],
1801
+ messagesDispatcher = _r[1];
1803
1802
  var scrollRef = React.useRef(null);
1804
1803
  var allMessages = messagesStore.allMessages,
1805
1804
  localMessages = messagesStore.localMessages,
@@ -1963,7 +1962,7 @@ var ChannelProvider = function (props) {
1963
1962
  }, {
1964
1963
  logger: logger
1965
1964
  });
1966
- var _t = useSendMessageCallback({
1965
+ var _s = useSendMessageCallback({
1967
1966
  currentGroupChannel: currentGroupChannel,
1968
1967
  isMentionEnabled: isMentionEnabled,
1969
1968
  onBeforeSendUserMessage: onBeforeSendUserMessage
@@ -1973,8 +1972,8 @@ var ChannelProvider = function (props) {
1973
1972
  scrollRef: scrollRef,
1974
1973
  messagesDispatcher: messagesDispatcher
1975
1974
  }),
1976
- messageInputRef = _t[0],
1977
- sendMessage = _t[1];
1975
+ messageInputRef = _s[0],
1976
+ sendMessage = _s[1];
1978
1977
  var sendFileMessage = useSendFileMessageCallback({
1979
1978
  currentGroupChannel: currentGroupChannel,
1980
1979
  imageCompression: imageCompression,
@@ -2085,4 +2084,4 @@ var useChannelContext = function () {
2085
2084
  exports.ChannelProvider = ChannelProvider;
2086
2085
  exports.getIsReactionEnabled = getIsReactionEnabled;
2087
2086
  exports.useChannelContext = useChannelContext;
2088
- //# sourceMappingURL=ChannelProvider-7fa98120.js.map
2087
+ //# sourceMappingURL=ChannelProvider-fc111e5f.js.map