@sendbird/uikit-react 3.4.8 → 3.4.9-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/App.js +123 -74
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +18 -18
  5. package/Channel/components/ChannelUI.js +46 -41
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -14
  8. package/Channel/components/FrozenNotification.js +4 -4
  9. package/Channel/components/Message.js +59 -45
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +40 -38
  12. package/Channel/components/MessageInput.js.map +1 -1
  13. package/Channel/components/MessageList.js +85 -46
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +16 -16
  16. package/Channel/components/SuggestedMentionList.js +16 -16
  17. package/Channel/components/TypingIndicator.js +14 -14
  18. package/Channel/components/UnreadCount.js +5 -5
  19. package/Channel/components/UnreadCount.js.map +1 -1
  20. package/Channel/context.js +11 -11
  21. package/Channel.js +46 -41
  22. package/Channel.js.map +1 -1
  23. package/ChannelList/components/AddChannel.js +14 -14
  24. package/ChannelList/components/ChannelListHeader.js +6 -6
  25. package/ChannelList/components/ChannelListUI.js +33 -32
  26. package/ChannelList/components/ChannelListUI.js.map +1 -1
  27. package/ChannelList/components/ChannelPreview.js +26 -26
  28. package/ChannelList/components/ChannelPreview.js.map +1 -1
  29. package/ChannelList/components/ChannelPreviewAction.js +15 -14
  30. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  31. package/ChannelList/context.js +7 -7
  32. package/ChannelList.js +29 -29
  33. package/{ChannelListProvider-1d8f4d94.js → ChannelListProvider-b42f8a70.js} +19 -37
  34. package/ChannelListProvider-b42f8a70.js.map +1 -0
  35. package/{ChannelProvider-bba4a095.js → ChannelProvider-6c5b02f1.js} +81 -29
  36. package/ChannelProvider-6c5b02f1.js.map +1 -0
  37. package/ChannelSettings/components/ChannelProfile.js +11 -11
  38. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  39. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  40. package/ChannelSettings/components/LeaveChannel.js +11 -11
  41. package/ChannelSettings/components/ModerationPanel.js +27 -21
  42. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  43. package/ChannelSettings/components/UserListItem.js +10 -10
  44. package/ChannelSettings/components/UserPanel.js +13 -13
  45. package/ChannelSettings/context.js +3 -3
  46. package/ChannelSettings.js +17 -17
  47. package/CreateChannel/components/CreateChannelUI.js +13 -13
  48. package/CreateChannel/components/InviteUsers.js +15 -14
  49. package/CreateChannel/components/InviteUsers.js.map +1 -1
  50. package/CreateChannel/components/SelectChannelType.js +10 -10
  51. package/CreateChannel/context.js +4 -4
  52. package/CreateChannel.js +13 -13
  53. package/{CreateChannelProvider-1ba7a571.js → CreateChannelProvider-4a0190ed.js} +1 -1
  54. package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-4a0190ed.js.map} +1 -1
  55. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  56. package/CreateOpenChannel/context.js +1 -1
  57. package/CreateOpenChannel.js +9 -9
  58. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  59. package/EditUserProfile.js +12 -12
  60. package/{LocalizationContext-ae38446a.js → LocalizationContext-8b7b48ec.js} +3 -3
  61. package/{LocalizationContext-ae38446a.js.map → LocalizationContext-8b7b48ec.js.map} +1 -1
  62. package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-744e0eb4.js} +20 -15
  63. package/MediaQueryContext-744e0eb4.js.map +1 -0
  64. package/{MemberList-38971d43.js → MemberList-6e52b1b1.js} +17 -11
  65. package/MemberList-6e52b1b1.js.map +1 -0
  66. package/Message/context.js +5 -1
  67. package/Message/context.js.map +1 -1
  68. package/MessageSearch/components/MessageSearchUI.js +11 -11
  69. package/MessageSearch/context.js +1 -1
  70. package/MessageSearch.js +11 -11
  71. package/MessageSearch.js.map +1 -1
  72. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  73. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  74. package/OpenChannel/components/OpenChannelInput.js +33 -25
  75. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  76. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  77. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  78. package/OpenChannel/components/OpenChannelUI.js +31 -31
  79. package/OpenChannel/context.js +8 -8
  80. package/OpenChannel.js +31 -31
  81. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  82. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  83. package/OpenChannelList/context.js +3 -3
  84. package/OpenChannelList.js +13 -13
  85. package/{OpenChannelListProvider-e0add710.js → OpenChannelListProvider-d99e3cd2.js} +3 -3
  86. package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-d99e3cd2.js.map} +1 -1
  87. package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-4857158c.js} +7 -7
  88. package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-4857158c.js.map} +1 -1
  89. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  90. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  91. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  92. package/OpenChannelSettings/components/OperatorUI.js +32 -24
  93. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  94. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  95. package/OpenChannelSettings/context.js +3 -3
  96. package/OpenChannelSettings.js +17 -17
  97. package/{RemoveMessageModal-10f50eae.js → RemoveMessageModal-38fef9c4.js} +3 -3
  98. package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-38fef9c4.js.map} +1 -1
  99. package/SendbirdProvider.js +378 -76
  100. package/SendbirdProvider.js.map +1 -1
  101. package/Thread/components/ParentMessageInfo.js +97 -52
  102. package/Thread/components/ParentMessageInfo.js.map +1 -1
  103. package/Thread/components/ParentMessageInfoItem.js +33 -25
  104. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  105. package/Thread/components/ThreadHeader.js +7 -7
  106. package/Thread/components/ThreadHeader.js.map +1 -1
  107. package/Thread/components/ThreadList.js +40 -33
  108. package/Thread/components/ThreadList.js.map +1 -1
  109. package/Thread/components/ThreadListItem.js +94 -50
  110. package/Thread/components/ThreadListItem.js.map +1 -1
  111. package/Thread/components/ThreadMessageInput.js +37 -39
  112. package/Thread/components/ThreadMessageInput.js.map +1 -1
  113. package/Thread/components/ThreadUI.js +56 -46
  114. package/Thread/components/ThreadUI.js.map +1 -1
  115. package/Thread/context.js +8 -8
  116. package/Thread.js +49 -42
  117. package/Thread.js.map +1 -1
  118. package/{ThreadProvider-128d5041.js → ThreadProvider-637aa7f0.js} +11 -8
  119. package/ThreadProvider-637aa7f0.js.map +1 -0
  120. package/{UserProfileContext-91e3b3f2.js → UserProfileContext-9040499b.js} +1 -1
  121. package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-9040499b.js.map} +1 -1
  122. package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-f593346c.js} +7 -7
  123. package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-f593346c.js.map} +1 -1
  124. package/VoicePlayer/context.js +3 -3
  125. package/VoicePlayer/useVoicePlayer.js +3 -3
  126. package/VoiceRecorder/context.js +11 -4
  127. package/VoiceRecorder/context.js.map +1 -1
  128. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  129. package/{WebAudioUtils-5f47139c.js → WebAudioUtils-904afd00.js} +1 -1
  130. package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-904afd00.js.map} +1 -1
  131. package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-8c286a7c.js} +1 -1
  132. package/_rollupPluginBabelHelpers-8c286a7c.js.map +1 -0
  133. package/{actionTypes-98eee9f4.js → actionTypes-bd8af98d.js} +1 -1
  134. package/{actionTypes-98eee9f4.js.map → actionTypes-bd8af98d.js.map} +1 -1
  135. package/cjs/App.js +123 -74
  136. package/cjs/App.js.map +1 -1
  137. package/cjs/Channel/components/ChannelHeader.js +18 -18
  138. package/cjs/Channel/components/ChannelUI.js +46 -41
  139. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  140. package/cjs/Channel/components/FileViewer.js +14 -14
  141. package/cjs/Channel/components/FrozenNotification.js +4 -4
  142. package/cjs/Channel/components/Message.js +59 -45
  143. package/cjs/Channel/components/Message.js.map +1 -1
  144. package/cjs/Channel/components/MessageInput.js +40 -38
  145. package/cjs/Channel/components/MessageInput.js.map +1 -1
  146. package/cjs/Channel/components/MessageList.js +85 -46
  147. package/cjs/Channel/components/MessageList.js.map +1 -1
  148. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  149. package/cjs/Channel/components/SuggestedMentionList.js +16 -16
  150. package/cjs/Channel/components/TypingIndicator.js +14 -14
  151. package/cjs/Channel/components/UnreadCount.js +5 -5
  152. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  153. package/cjs/Channel/context.js +11 -11
  154. package/cjs/Channel.js +46 -41
  155. package/cjs/Channel.js.map +1 -1
  156. package/cjs/ChannelList/components/AddChannel.js +14 -14
  157. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  158. package/cjs/ChannelList/components/ChannelListUI.js +33 -32
  159. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  160. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  161. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -14
  163. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  164. package/cjs/ChannelList/context.js +7 -7
  165. package/cjs/ChannelList.js +29 -29
  166. package/cjs/{ChannelListProvider-634b78f3.js → ChannelListProvider-2ea52e8f.js} +19 -37
  167. package/cjs/ChannelListProvider-2ea52e8f.js.map +1 -0
  168. package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-4057a4e6.js} +81 -28
  169. package/cjs/ChannelProvider-4057a4e6.js.map +1 -0
  170. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  171. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  172. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  173. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  174. package/cjs/ChannelSettings/components/ModerationPanel.js +27 -21
  175. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  176. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  177. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  178. package/cjs/ChannelSettings/context.js +3 -3
  179. package/cjs/ChannelSettings.js +17 -17
  180. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  181. package/cjs/CreateChannel/components/InviteUsers.js +15 -14
  182. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  183. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  184. package/cjs/CreateChannel/context.js +4 -4
  185. package/cjs/CreateChannel.js +13 -13
  186. package/cjs/{CreateChannelProvider-65dcc450.js → CreateChannelProvider-83cd1b9a.js} +1 -1
  187. package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-83cd1b9a.js.map} +1 -1
  188. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  189. package/cjs/CreateOpenChannel/context.js +1 -1
  190. package/cjs/CreateOpenChannel.js +9 -9
  191. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  192. package/cjs/EditUserProfile.js +12 -12
  193. package/cjs/{LocalizationContext-4fa55e6b.js → LocalizationContext-a7ac3575.js} +3 -3
  194. package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-a7ac3575.js.map} +1 -1
  195. package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-f0b22fae.js} +20 -15
  196. package/cjs/MediaQueryContext-f0b22fae.js.map +1 -0
  197. package/cjs/{MemberList-3736f22c.js → MemberList-d02103a5.js} +17 -11
  198. package/cjs/MemberList-d02103a5.js.map +1 -0
  199. package/cjs/Message/context.js +5 -1
  200. package/cjs/Message/context.js.map +1 -1
  201. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  202. package/cjs/MessageSearch/context.js +1 -1
  203. package/cjs/MessageSearch.js +11 -11
  204. package/cjs/MessageSearch.js.map +1 -1
  205. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  206. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  207. package/cjs/OpenChannel/components/OpenChannelInput.js +33 -25
  208. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  209. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  210. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  211. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  212. package/cjs/OpenChannel/context.js +8 -8
  213. package/cjs/OpenChannel.js +31 -31
  214. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  215. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  216. package/cjs/OpenChannelList/context.js +3 -3
  217. package/cjs/OpenChannelList.js +13 -13
  218. package/cjs/{OpenChannelListProvider-458abc0e.js → OpenChannelListProvider-8c304b22.js} +3 -3
  219. package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-8c304b22.js.map} +1 -1
  220. package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-ea1d6825.js} +7 -7
  221. package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-ea1d6825.js.map} +1 -1
  222. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  223. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  224. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  225. package/cjs/OpenChannelSettings/components/OperatorUI.js +32 -24
  226. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  227. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  228. package/cjs/OpenChannelSettings/context.js +3 -3
  229. package/cjs/OpenChannelSettings.js +17 -17
  230. package/cjs/{RemoveMessageModal-3535563a.js → RemoveMessageModal-95aeddfe.js} +3 -3
  231. package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-95aeddfe.js.map} +1 -1
  232. package/cjs/SendbirdProvider.js +377 -75
  233. package/cjs/SendbirdProvider.js.map +1 -1
  234. package/cjs/Thread/components/ParentMessageInfo.js +97 -52
  235. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  236. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -25
  237. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  238. package/cjs/Thread/components/ThreadHeader.js +7 -7
  239. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  240. package/cjs/Thread/components/ThreadList.js +40 -33
  241. package/cjs/Thread/components/ThreadList.js.map +1 -1
  242. package/cjs/Thread/components/ThreadListItem.js +94 -50
  243. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  244. package/cjs/Thread/components/ThreadMessageInput.js +37 -39
  245. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  246. package/cjs/Thread/components/ThreadUI.js +56 -46
  247. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  248. package/cjs/Thread/context.js +8 -8
  249. package/cjs/Thread.js +49 -42
  250. package/cjs/Thread.js.map +1 -1
  251. package/cjs/{ThreadProvider-d38505b4.js → ThreadProvider-6a39fc92.js} +11 -8
  252. package/cjs/ThreadProvider-6a39fc92.js.map +1 -0
  253. package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-a026a307.js} +1 -1
  254. package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-a026a307.js.map} +1 -1
  255. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-ab392692.js} +7 -7
  256. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-ab392692.js.map} +1 -1
  257. package/cjs/VoicePlayer/context.js +3 -3
  258. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  259. package/cjs/VoiceRecorder/context.js +11 -4
  260. package/cjs/VoiceRecorder/context.js.map +1 -1
  261. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  262. package/cjs/{WebAudioUtils-00b9890d.js → WebAudioUtils-2196360d.js} +1 -1
  263. package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-2196360d.js.map} +1 -1
  264. package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-af66a654.js} +1 -1
  265. package/cjs/_rollupPluginBabelHelpers-af66a654.js.map +1 -0
  266. package/cjs/{actionTypes-fb3f6a66.js → actionTypes-8348f508.js} +1 -1
  267. package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-8348f508.js.map} +1 -1
  268. package/cjs/{color-83cbca20.js → color-2ebe48ee.js} +1 -1
  269. package/cjs/{color-83cbca20.js.map → color-2ebe48ee.js.map} +1 -1
  270. package/cjs/{compareIds-c2907ec8.js → compareIds-d863dd50.js} +1 -1
  271. package/cjs/{compareIds-c2907ec8.js.map → compareIds-d863dd50.js.map} +1 -1
  272. package/cjs/{const-75153738.js → const-08ab2fdd.js} +1 -1
  273. package/cjs/{const-75153738.js.map → const-08ab2fdd.js.map} +1 -1
  274. package/cjs/{const-17970c49.js → const-6414a39e.js} +1 -1
  275. package/cjs/{const-17970c49.js.map → const-6414a39e.js.map} +1 -1
  276. package/cjs/{consts-5ead6f3b.js → consts-083ada31.js} +1 -1
  277. package/cjs/{consts-5ead6f3b.js.map → consts-083ada31.js.map} +1 -1
  278. package/cjs/{consts-d2103ed5.js → consts-3cb3a988.js} +1 -1
  279. package/cjs/{consts-d2103ed5.js.map → consts-3cb3a988.js.map} +1 -1
  280. package/cjs/{consts-0db2bedc.js → consts-78795eea.js} +3 -3
  281. package/cjs/consts-78795eea.js.map +1 -0
  282. package/cjs/{consts-aaf1208c.js → consts-eadce101.js} +1 -1
  283. package/cjs/{consts-aaf1208c.js.map → consts-eadce101.js.map} +1 -1
  284. package/cjs/{context-d9a84cb9.js → context-717f3cfa.js} +2 -2
  285. package/cjs/{context-d9a84cb9.js.map → context-717f3cfa.js.map} +1 -1
  286. package/cjs/dist/index.css +253 -181
  287. package/cjs/dist/index.css.map +1 -1
  288. package/cjs/{index-56735815.js → index-00cb06de.js} +5 -5
  289. package/cjs/{index-56735815.js.map → index-00cb06de.js.map} +1 -1
  290. package/cjs/{index-265937df.js → index-05291303.js} +18 -2
  291. package/cjs/index-05291303.js.map +1 -0
  292. package/cjs/{index-47e4bdbc.js → index-0dad3b72.js} +1 -1
  293. package/cjs/{index-47e4bdbc.js.map → index-0dad3b72.js.map} +1 -1
  294. package/cjs/{index-41ce4c44.js → index-148f38a8.js} +2 -2
  295. package/cjs/{index-41ce4c44.js.map → index-148f38a8.js.map} +1 -1
  296. package/cjs/{index-1737cbae.js → index-33b26fc7.js} +4 -4
  297. package/cjs/{index-1737cbae.js.map → index-33b26fc7.js.map} +1 -1
  298. package/cjs/{index-01768a5e.js → index-4bfecbd3.js} +6 -6
  299. package/cjs/{index-01768a5e.js.map → index-4bfecbd3.js.map} +1 -1
  300. package/cjs/index-564380b1.js +441 -0
  301. package/cjs/index-564380b1.js.map +1 -0
  302. package/cjs/{index-61c3208b.js → index-5d3946d1.js} +4 -4
  303. package/cjs/{index-61c3208b.js.map → index-5d3946d1.js.map} +1 -1
  304. package/cjs/{index-fcd2f4ff.js → index-73f2b1ce.js} +3 -2
  305. package/cjs/{index-fcd2f4ff.js.map → index-73f2b1ce.js.map} +1 -1
  306. package/cjs/{index-6ac703ea.js → index-77d2b6d3.js} +18 -12
  307. package/cjs/index-77d2b6d3.js.map +1 -0
  308. package/cjs/{index-c8c25288.js → index-793e52a7.js} +3 -3
  309. package/cjs/{index-c8c25288.js.map → index-793e52a7.js.map} +1 -1
  310. package/cjs/{index-552eb819.js → index-8fb98e2d.js} +3 -3
  311. package/cjs/{index-552eb819.js.map → index-8fb98e2d.js.map} +1 -1
  312. package/cjs/{index-5307f6c1.js → index-9b389aa4.js} +12 -7
  313. package/cjs/index-9b389aa4.js.map +1 -0
  314. package/cjs/{index-22bdf04e.js → index-b6443976.js} +2 -2
  315. package/cjs/{index-22bdf04e.js.map → index-b6443976.js.map} +1 -1
  316. package/cjs/{index-09f8f2a4.js → index-b8d7e1e9.js} +3 -3
  317. package/cjs/{index-09f8f2a4.js.map → index-b8d7e1e9.js.map} +1 -1
  318. package/cjs/{index-be9c5a7d.js → index-c2afb27d.js} +2 -2
  319. package/cjs/{index-be9c5a7d.js.map → index-c2afb27d.js.map} +1 -1
  320. package/cjs/{index-10d8f30f.js → index-f70fcb3a.js} +1 -1
  321. package/cjs/{index-10d8f30f.js.map → index-f70fcb3a.js.map} +1 -1
  322. package/cjs/index.js +60 -58
  323. package/cjs/index.js.map +1 -1
  324. package/cjs/{index.module-3e7701ca.js → index.module-045566c2.js} +1 -1
  325. package/cjs/{index.module-3e7701ca.js.map → index.module-045566c2.js.map} +1 -1
  326. package/cjs/sendbirdSelectors.js +3 -3
  327. package/cjs/{stringSet-c24927d9.js → stringSet-12caaa90.js} +1 -1
  328. package/cjs/{stringSet-c24927d9.js.map → stringSet-12caaa90.js.map} +1 -1
  329. package/cjs/{tokenize-1441f448.js → tokenize-6d05ba0a.js} +7 -3
  330. package/cjs/tokenize-6d05ba0a.js.map +1 -0
  331. package/cjs/{topics-0df2f6f9.js → topics-d00505e4.js} +1 -1
  332. package/cjs/{topics-0df2f6f9.js.map → topics-d00505e4.js.map} +1 -1
  333. package/cjs/{types-df20b895.js → types-0d699a7d.js} +1 -1
  334. package/cjs/types-0d699a7d.js.map +1 -0
  335. package/cjs/ui/Accordion.js +2 -2
  336. package/cjs/ui/AccordionGroup.js +2 -2
  337. package/cjs/ui/AdminMessage.js +2 -2
  338. package/cjs/ui/Avatar.js +1 -1
  339. package/cjs/ui/Badge.js +4 -4
  340. package/cjs/ui/BottomSheet.js +1 -1
  341. package/cjs/ui/Button.js +2 -2
  342. package/cjs/ui/ChannelAvatar.js +2 -2
  343. package/cjs/ui/ConnectionStatus.js +4 -4
  344. package/cjs/ui/ContextMenu.js +39 -26
  345. package/cjs/ui/ContextMenu.js.map +1 -1
  346. package/cjs/ui/DateSeparator.js +3 -3
  347. package/cjs/ui/EmojiReactions.js +252 -47
  348. package/cjs/ui/EmojiReactions.js.map +1 -1
  349. package/cjs/ui/FileMessageItemBody.js +6 -6
  350. package/cjs/ui/FileViewer.js +8 -8
  351. package/cjs/ui/Icon.js +190 -167
  352. package/cjs/ui/Icon.js.map +1 -1
  353. package/cjs/ui/IconButton.js +1 -1
  354. package/cjs/ui/Input.js +2 -2
  355. package/cjs/ui/Label.js +2 -2
  356. package/cjs/ui/LinkLabel.js +2 -2
  357. package/cjs/ui/MentionLabel.js +10 -10
  358. package/cjs/ui/MentionUserLabel.js +1 -1
  359. package/cjs/ui/MessageContent.js +60 -401
  360. package/cjs/ui/MessageContent.js.map +1 -1
  361. package/cjs/ui/MessageInput.js +12 -12
  362. package/cjs/ui/MessageItemMenu.js +22 -15
  363. package/cjs/ui/MessageItemMenu.js.map +1 -1
  364. package/cjs/ui/MessageItemReactionMenu.js +14 -7
  365. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  366. package/cjs/ui/MessageSearchFileItem.js +10 -10
  367. package/cjs/ui/MessageSearchItem.js +8 -8
  368. package/cjs/ui/MessageStatus.js +10 -10
  369. package/cjs/ui/Modal.js +7 -7
  370. package/cjs/ui/OGMessageItemBody.js +14 -14
  371. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  372. package/cjs/ui/OpenChannelAvatar.js +5 -5
  373. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  374. package/cjs/ui/OpenchannelFileMessage.js +19 -17
  375. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  376. package/cjs/ui/OpenchannelOGMessage.js +53 -55
  377. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  378. package/cjs/ui/OpenchannelThumbnailMessage.js +18 -16
  379. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  380. package/cjs/ui/OpenchannelUserMessage.js +23 -19
  381. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  382. package/cjs/ui/PlaceHolder.js +5 -5
  383. package/cjs/ui/PlaybackTime.js +2 -2
  384. package/cjs/ui/QuoteMessage.js +6 -6
  385. package/cjs/ui/QuoteMessageInput.js +6 -6
  386. package/cjs/ui/ReactionBadge.js +2 -2
  387. package/cjs/ui/ReactionButton.js +18 -12
  388. package/cjs/ui/ReactionButton.js.map +1 -1
  389. package/cjs/ui/SortByRow.js +1 -1
  390. package/cjs/ui/TextButton.js +1 -1
  391. package/cjs/ui/TextMessageItemBody.js +14 -14
  392. package/cjs/ui/ThreadReplies.js +5 -5
  393. package/cjs/ui/ThumbnailMessageItemBody.js +15 -9
  394. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  395. package/cjs/ui/Toggle.js +1 -1
  396. package/cjs/ui/Tooltip.js +2 -2
  397. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  398. package/cjs/ui/UserListItem.js +14 -13
  399. package/cjs/ui/UserListItem.js.map +1 -1
  400. package/cjs/ui/UserProfile.js +9 -9
  401. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  402. package/cjs/ui/VoiceMessgeInput.js +7 -7
  403. package/cjs/ui/Word.js +10 -10
  404. package/cjs/useDirtyGetMentions-ccb235e4.js +77 -0
  405. package/cjs/useDirtyGetMentions-ccb235e4.js.map +1 -0
  406. package/cjs/{useLongPress-8aa00a28.js → useLongPress-5df6f108.js} +9 -5
  407. package/cjs/useLongPress-5df6f108.js.map +1 -0
  408. package/cjs/useSendbirdStateContext.js +1 -1
  409. package/cjs/utils/message/isVoiceMessage.js +2 -2
  410. package/cjs/{utils-4717b83e.js → utils-6436fe9d.js} +2 -2
  411. package/cjs/{utils-4717b83e.js.map → utils-6436fe9d.js.map} +1 -1
  412. package/cjs/{utils-111f523c.js → utils-abf8a0cd.js} +1 -1
  413. package/cjs/{utils-111f523c.js.map → utils-abf8a0cd.js.map} +1 -1
  414. package/cjs/{utils-93abfb7c.js → utils-b812f859.js} +1 -1
  415. package/cjs/{utils-93abfb7c.js.map → utils-b812f859.js.map} +1 -1
  416. package/cjs/{utils-a1fead2f.js → utils-ddd1b029.js} +1 -1
  417. package/cjs/{utils-a1fead2f.js.map → utils-ddd1b029.js.map} +1 -1
  418. package/cjs/{uuid-c854e2a9.js → uuid-cd931d55.js} +1 -1
  419. package/cjs/{uuid-c854e2a9.js.map → uuid-cd931d55.js.map} +1 -1
  420. package/cjs/withSendbird.js +1 -1
  421. package/{color-c1b95a91.js → color-be032457.js} +1 -1
  422. package/{color-c1b95a91.js.map → color-be032457.js.map} +1 -1
  423. package/{compareIds-74cf4016.js → compareIds-fa21456c.js} +1 -1
  424. package/{compareIds-74cf4016.js.map → compareIds-fa21456c.js.map} +1 -1
  425. package/{const-3af04f0a.js → const-48b39769.js} +1 -1
  426. package/{const-3af04f0a.js.map → const-48b39769.js.map} +1 -1
  427. package/{const-befef81d.js → const-71be96fe.js} +1 -1
  428. package/{const-befef81d.js.map → const-71be96fe.js.map} +1 -1
  429. package/{consts-a8bc28bd.js → consts-5cbd0257.js} +1 -1
  430. package/{consts-a8bc28bd.js.map → consts-5cbd0257.js.map} +1 -1
  431. package/{consts-9ece4263.js → consts-63e52cd8.js} +3 -3
  432. package/consts-63e52cd8.js.map +1 -0
  433. package/{consts-354db0d9.js → consts-967162b2.js} +1 -1
  434. package/{consts-354db0d9.js.map → consts-967162b2.js.map} +1 -1
  435. package/{consts-bb6cbaee.js → consts-c4702413.js} +1 -1
  436. package/{consts-bb6cbaee.js.map → consts-c4702413.js.map} +1 -1
  437. package/{context-38bde7ff.js → context-70804470.js} +2 -2
  438. package/{context-38bde7ff.js.map → context-70804470.js.map} +1 -1
  439. package/dist/index.css +253 -181
  440. package/dist/index.css.map +1 -1
  441. package/{index-ecf3a793.js → index-01c17da3.js} +12 -7
  442. package/index-01c17da3.js.map +1 -0
  443. package/{index-db801708.js → index-02d5e1f7.js} +5 -5
  444. package/{index-db801708.js.map → index-02d5e1f7.js.map} +1 -1
  445. package/{index-8a4d2b6e.js → index-0872eca4.js} +2 -2
  446. package/{index-8a4d2b6e.js.map → index-0872eca4.js.map} +1 -1
  447. package/{index-4554e20e.js → index-29ec12d6.js} +4 -4
  448. package/{index-4554e20e.js.map → index-29ec12d6.js.map} +1 -1
  449. package/{index-d8fdbe6f.js → index-2d3d2283.js} +16 -3
  450. package/index-2d3d2283.js.map +1 -0
  451. package/{index-1556dc4a.js → index-2eaeb4c8.js} +3 -3
  452. package/{index-1556dc4a.js.map → index-2eaeb4c8.js.map} +1 -1
  453. package/{index-321e838f.js → index-617179bd.js} +1 -1
  454. package/{index-321e838f.js.map → index-617179bd.js.map} +1 -1
  455. package/{index-88ab67cc.js → index-6ba87b2d.js} +4 -4
  456. package/{index-88ab67cc.js.map → index-6ba87b2d.js.map} +1 -1
  457. package/{index-ae8e6fc3.js → index-8d2735b6.js} +3 -3
  458. package/{index-ae8e6fc3.js.map → index-8d2735b6.js.map} +1 -1
  459. package/{index-14bb6832.js → index-a62f231a.js} +1 -1
  460. package/{index-14bb6832.js.map → index-a62f231a.js.map} +1 -1
  461. package/{index-1be3f6d7.js → index-c281a87e.js} +3 -3
  462. package/{index-1be3f6d7.js.map → index-c281a87e.js.map} +1 -1
  463. package/{index-96f6e11b.js → index-c3176145.js} +6 -6
  464. package/{index-96f6e11b.js.map → index-c3176145.js.map} +1 -1
  465. package/{index-a900bd78.js → index-c4af409f.js} +2 -2
  466. package/{index-a900bd78.js.map → index-c4af409f.js.map} +1 -1
  467. package/index-de27e990.js +435 -0
  468. package/index-de27e990.js.map +1 -0
  469. package/{index-aa215b1c.js → index-e307d0c3.js} +3 -3
  470. package/{index-aa215b1c.js.map → index-e307d0c3.js.map} +1 -1
  471. package/{index-8bf82e3b.js → index-efb59270.js} +18 -12
  472. package/index-efb59270.js.map +1 -0
  473. package/{index-67dd0c26.js → index-f22b46c2.js} +2 -2
  474. package/{index-67dd0c26.js.map → index-f22b46c2.js.map} +1 -1
  475. package/index.d.ts +5 -2
  476. package/index.js +60 -58
  477. package/index.js.map +1 -1
  478. package/{index.module-1c75b4f5.js → index.module-3529d572.js} +1 -1
  479. package/{index.module-1c75b4f5.js.map → index.module-3529d572.js.map} +1 -1
  480. package/package.json +2 -2
  481. package/sendbirdSelectors.js +3 -3
  482. package/{stringSet-6d89212b.js → stringSet-387833a3.js} +1 -1
  483. package/{stringSet-6d89212b.js.map → stringSet-387833a3.js.map} +1 -1
  484. package/{tokenize-2e969273.js → tokenize-c2f4569f.js} +7 -3
  485. package/tokenize-c2f4569f.js.map +1 -0
  486. package/{topics-8f4016e9.js → topics-019712e5.js} +1 -1
  487. package/{topics-8f4016e9.js.map → topics-019712e5.js.map} +1 -1
  488. package/{types-ebbbec62.js → types-34b09dae.js} +1 -1
  489. package/types-34b09dae.js.map +1 -0
  490. package/ui/Accordion.js +2 -2
  491. package/ui/AccordionGroup.js +2 -2
  492. package/ui/AdminMessage.js +2 -2
  493. package/ui/Avatar.js +1 -1
  494. package/ui/Badge.js +4 -4
  495. package/ui/BottomSheet.js +1 -1
  496. package/ui/Button.js +2 -2
  497. package/ui/ChannelAvatar.js +2 -2
  498. package/ui/ConnectionStatus.js +4 -4
  499. package/ui/ContextMenu.js +39 -26
  500. package/ui/ContextMenu.js.map +1 -1
  501. package/ui/DateSeparator.js +3 -3
  502. package/ui/EmojiReactions.js +253 -48
  503. package/ui/EmojiReactions.js.map +1 -1
  504. package/ui/FileMessageItemBody.js +6 -6
  505. package/ui/FileViewer.js +8 -8
  506. package/ui/Icon.js +190 -167
  507. package/ui/Icon.js.map +1 -1
  508. package/ui/IconButton.js +1 -1
  509. package/ui/Input.js +2 -2
  510. package/ui/Label.js +2 -2
  511. package/ui/LinkLabel.js +2 -2
  512. package/ui/MentionLabel.js +10 -10
  513. package/ui/MentionUserLabel.js +1 -1
  514. package/ui/MessageContent.js +61 -402
  515. package/ui/MessageContent.js.map +1 -1
  516. package/ui/MessageInput.js +12 -12
  517. package/ui/MessageItemMenu.js +22 -15
  518. package/ui/MessageItemMenu.js.map +1 -1
  519. package/ui/MessageItemReactionMenu.js +14 -7
  520. package/ui/MessageItemReactionMenu.js.map +1 -1
  521. package/ui/MessageSearchFileItem.js +10 -10
  522. package/ui/MessageSearchItem.js +8 -8
  523. package/ui/MessageStatus.js +10 -10
  524. package/ui/Modal.js +7 -7
  525. package/ui/OGMessageItemBody.js +14 -14
  526. package/ui/OpenChannelAdminMessage.js +2 -2
  527. package/ui/OpenChannelAvatar.js +5 -5
  528. package/ui/OpenchannelConversationHeader.js +6 -6
  529. package/ui/OpenchannelFileMessage.js +19 -17
  530. package/ui/OpenchannelFileMessage.js.map +1 -1
  531. package/ui/OpenchannelOGMessage.js +53 -55
  532. package/ui/OpenchannelOGMessage.js.map +1 -1
  533. package/ui/OpenchannelThumbnailMessage.js +18 -16
  534. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  535. package/ui/OpenchannelUserMessage.js +23 -19
  536. package/ui/OpenchannelUserMessage.js.map +1 -1
  537. package/ui/PlaceHolder.js +5 -5
  538. package/ui/PlaybackTime.js +2 -2
  539. package/ui/QuoteMessage.js +6 -6
  540. package/ui/QuoteMessageInput.js +6 -6
  541. package/ui/ReactionBadge.js +2 -2
  542. package/ui/ReactionButton.js +18 -12
  543. package/ui/ReactionButton.js.map +1 -1
  544. package/ui/SortByRow.js +1 -1
  545. package/ui/TextButton.js +1 -1
  546. package/ui/TextMessageItemBody.js +14 -14
  547. package/ui/ThreadReplies.js +5 -5
  548. package/ui/ThumbnailMessageItemBody.js +15 -9
  549. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  550. package/ui/Toggle.js +1 -1
  551. package/ui/Tooltip.js +2 -2
  552. package/ui/UnknownMessageItemBody.js +6 -6
  553. package/ui/UserListItem.js +14 -13
  554. package/ui/UserListItem.js.map +1 -1
  555. package/ui/UserProfile.js +9 -9
  556. package/ui/VoiceMessageItemBody.js +5 -5
  557. package/ui/VoiceMessgeInput.js +7 -7
  558. package/ui/Word.js +10 -10
  559. package/useDirtyGetMentions-a032c723.js +75 -0
  560. package/useDirtyGetMentions-a032c723.js.map +1 -0
  561. package/{useLongPress-8d44d259.js → useLongPress-b803e920.js} +9 -5
  562. package/useLongPress-b803e920.js.map +1 -0
  563. package/useSendbirdStateContext.js +1 -1
  564. package/utils/message/isVoiceMessage.js +2 -2
  565. package/{utils-b42f4fab.js → utils-1d8ffd91.js} +2 -2
  566. package/{utils-b42f4fab.js.map → utils-1d8ffd91.js.map} +1 -1
  567. package/{utils-c8b489c4.js → utils-28a3bfad.js} +1 -1
  568. package/{utils-c8b489c4.js.map → utils-28a3bfad.js.map} +1 -1
  569. package/{utils-7d781542.js → utils-43d93f46.js} +1 -1
  570. package/{utils-7d781542.js.map → utils-43d93f46.js.map} +1 -1
  571. package/{utils-8e039c1b.js → utils-cb06f177.js} +1 -1
  572. package/{utils-8e039c1b.js.map → utils-cb06f177.js.map} +1 -1
  573. package/{uuid-c94bd88b.js → uuid-295e6b8b.js} +1 -1
  574. package/{uuid-c94bd88b.js.map → uuid-295e6b8b.js.map} +1 -1
  575. package/withSendbird.js +1 -1
  576. package/ChannelListProvider-1d8f4d94.js.map +0 -1
  577. package/ChannelProvider-bba4a095.js.map +0 -1
  578. package/MediaQueryContext-8d283dc2.js.map +0 -1
  579. package/MemberList-38971d43.js.map +0 -1
  580. package/ThreadProvider-128d5041.js.map +0 -1
  581. package/_rollupPluginBabelHelpers-eaf55eff.js.map +0 -1
  582. package/cjs/ChannelListProvider-634b78f3.js.map +0 -1
  583. package/cjs/ChannelProvider-5366f030.js.map +0 -1
  584. package/cjs/MediaQueryContext-e443379e.js.map +0 -1
  585. package/cjs/MemberList-3736f22c.js.map +0 -1
  586. package/cjs/ThreadProvider-d38505b4.js.map +0 -1
  587. package/cjs/_rollupPluginBabelHelpers-2c0fc9c3.js.map +0 -1
  588. package/cjs/consts-0db2bedc.js.map +0 -1
  589. package/cjs/index-265937df.js.map +0 -1
  590. package/cjs/index-5307f6c1.js.map +0 -1
  591. package/cjs/index-6ac703ea.js.map +0 -1
  592. package/cjs/tokenize-1441f448.js.map +0 -1
  593. package/cjs/types-df20b895.js.map +0 -1
  594. package/cjs/useLongPress-8aa00a28.js.map +0 -1
  595. package/consts-9ece4263.js.map +0 -1
  596. package/index-8bf82e3b.js.map +0 -1
  597. package/index-d8fdbe6f.js.map +0 -1
  598. package/index-ecf3a793.js.map +0 -1
  599. package/tokenize-2e969273.js.map +0 -1
  600. package/types-ebbbec62.js.map +0 -1
  601. package/useLongPress-8d44d259.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ import { useState, useLayoutEffect, useEffect } from 'react';
2
+
3
+ function getMentionNodes(root) {
4
+ if (root) {
5
+ const mentions = root.querySelectorAll("[data-sb-mention='true']");
6
+ const mentionsArray = Array.from(mentions);
7
+ return mentionsArray;
8
+ }
9
+ return [];
10
+ }
11
+
12
+ /**
13
+ * This is a dirty way to get the mentions given DOM node
14
+ */
15
+ function useDirtyGetMentions(_ref, _ref2) {
16
+ let {
17
+ ref
18
+ } = _ref;
19
+ let {
20
+ logger
21
+ } = _ref2;
22
+ // Select the node that will be observed for mutations
23
+ const targetNode = ref.current;
24
+ const [mentionNodes, setMentionNodes] = useState([]);
25
+
26
+ // to get the initial mentions
27
+ useLayoutEffect(() => {
28
+ if (targetNode) {
29
+ const mentions = getMentionNodes(targetNode);
30
+ setMentionNodes(mentions);
31
+ }
32
+ }, [targetNode]);
33
+ useEffect(() => {
34
+ // Options for the observer (which mutations to observe)
35
+ const config = {
36
+ childList: true,
37
+ subtree: true
38
+ };
39
+
40
+ // Callback function to execute when mutations are observed
41
+ const callback = mutationList => {
42
+ const hasMutation = mutationList.length > 0;
43
+ if (hasMutation) {
44
+ setMentionNodes(getMentionNodes(targetNode));
45
+ }
46
+ };
47
+
48
+ // Create an observer instance linked to the callback function
49
+ const observer = new MutationObserver(callback);
50
+ if (targetNode) {
51
+ // Start observing the target node for configured mutations
52
+ observer.observe(targetNode, config);
53
+ logger.info('useDirtyGetMentions: observer started', {
54
+ observer,
55
+ config
56
+ });
57
+ }
58
+ return () => {
59
+ try {
60
+ observer.disconnect();
61
+ logger.info('useDirtyGetMentions: observer disconnected', {
62
+ observer
63
+ });
64
+ } catch (error) {
65
+ logger.error('useDirtyGetMentions: observer disconnect failed', {
66
+ observer
67
+ });
68
+ }
69
+ };
70
+ }, [targetNode]);
71
+ return mentionNodes;
72
+ }
73
+
74
+ export { useDirtyGetMentions as u };
75
+ //# sourceMappingURL=useDirtyGetMentions-a032c723.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirtyGetMentions-a032c723.js","sources":["../src/modules/Message/utils/getMentionNodes.ts","../src/modules/Message/hooks/useDirtyGetMentions.ts"],"sourcesContent":["export function getMentionNodes(root: HTMLElement): Element[] {\n if (root) {\n const mentions = root.querySelectorAll(\"[data-sb-mention='true']\");\n const mentionsArray = Array.from(mentions);\n return mentionsArray;\n }\n return [];\n}\n","import { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Logger } from '../../../lib/SendbirdState';\nimport { getMentionNodes } from '../utils/getMentionNodes';\n\ninterface DynamicParams {\n ref: React.RefObject<HTMLElement>;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\n/**\n * This is a dirty way to get the mentions given DOM node\n */\nexport function useDirtyGetMentions({\n ref,\n}: DynamicParams, {\n logger,\n}: StaticParams) {\n // Select the node that will be observed for mutations\n const targetNode = ref.current as HTMLElement;\n const [mentionNodes, setMentionNodes] = useState<Element[]>([]);\n\n // to get the initial mentions\n useLayoutEffect(() => {\n if (targetNode) {\n const mentions = getMentionNodes(targetNode);\n setMentionNodes(mentions);\n }\n }, [targetNode]);\n\n useEffect(() => {\n // Options for the observer (which mutations to observe)\n const config = { childList: true, subtree: true };\n\n // Callback function to execute when mutations are observed\n const callback = (mutationList: MutationRecord[]): void => {\n const hasMutation = mutationList.length > 0;\n if (hasMutation) {\n setMentionNodes(getMentionNodes(targetNode));\n }\n };\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(callback);\n\n if (targetNode) {\n // Start observing the target node for configured mutations\n observer.observe(targetNode, config);\n logger.info('useDirtyGetMentions: observer started', { observer, config });\n }\n\n return () => {\n try {\n observer.disconnect();\n logger.info('useDirtyGetMentions: observer disconnected', { observer });\n } catch (error) {\n logger.error('useDirtyGetMentions: observer disconnect failed', { observer });\n }\n };\n }, [targetNode]);\n return mentionNodes;\n}\n"],"names":["getMentionNodes","root","mentions","querySelectorAll","mentionsArray","Array","from","useDirtyGetMentions","_ref","_ref2","ref","logger","targetNode","current","mentionNodes","setMentionNodes","useState","useLayoutEffect","useEffect","config","childList","subtree","callback","mutationList","hasMutation","length","observer","MutationObserver","observe","info","disconnect","error"],"mappings":";;AAAO,SAASA,eAAeA,CAACC,IAAiB,EAAa;AAC5D,EAAA,IAAIA,IAAI,EAAE;AACR,IAAA,MAAMC,QAAQ,GAAGD,IAAI,CAACE,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AAClE,IAAA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAAC,CAAA;AAC1C,IAAA,OAAOE,aAAa,CAAA;AACtB,GAAA;AACA,EAAA,OAAO,EAAE,CAAA;AACX;;ACMA;AACA;AACA;AACO,SAASG,mBAAmBA,CAAAC,IAAA,EAAAC,KAAA,EAIlB;EAAA,IAJmB;AAClCC,IAAAA,GAAAA;AACa,GAAC,GAAAF,IAAA,CAAA;EAAA,IAAE;AAChBG,IAAAA,MAAAA;AACY,GAAC,GAAAF,KAAA,CAAA;AACb;AACA,EAAA,MAAMG,UAAU,GAAGF,GAAG,CAACG,OAAsB,CAAA;EAC7C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAY,EAAE,CAAC,CAAA;;AAE/D;AACAC,EAAAA,eAAe,CAAC,MAAM;AACpB,IAAA,IAAIL,UAAU,EAAE;AACd,MAAA,MAAMV,QAAQ,GAAGF,eAAe,CAACY,UAAU,CAAC,CAAA;MAC5CG,eAAe,CAACb,QAAQ,CAAC,CAAA;AAC3B,KAAA;AACF,GAAC,EAAE,CAACU,UAAU,CAAC,CAAC,CAAA;AAEhBM,EAAAA,SAAS,CAAC,MAAM;AACd;AACA,IAAA,MAAMC,MAAM,GAAG;AAAEC,MAAAA,SAAS,EAAE,IAAI;AAAEC,MAAAA,OAAO,EAAE,IAAA;KAAM,CAAA;;AAEjD;IACA,MAAMC,QAAQ,GAAIC,YAA8B,IAAW;AACzD,MAAA,MAAMC,WAAW,GAAGD,YAAY,CAACE,MAAM,GAAG,CAAC,CAAA;AAC3C,MAAA,IAAID,WAAW,EAAE;AACfT,QAAAA,eAAe,CAACf,eAAe,CAACY,UAAU,CAAC,CAAC,CAAA;AAC9C,OAAA;KACD,CAAA;;AAED;AACA,IAAA,MAAMc,QAAQ,GAAG,IAAIC,gBAAgB,CAACL,QAAQ,CAAC,CAAA;AAE/C,IAAA,IAAIV,UAAU,EAAE;AACd;AACAc,MAAAA,QAAQ,CAACE,OAAO,CAAChB,UAAU,EAAEO,MAAM,CAAC,CAAA;AACpCR,MAAAA,MAAM,CAACkB,IAAI,CAAC,uCAAuC,EAAE;QAAEH,QAAQ;AAAEP,QAAAA,MAAAA;AAAO,OAAC,CAAC,CAAA;AAC5E,KAAA;AAEA,IAAA,OAAO,MAAM;MACX,IAAI;QACFO,QAAQ,CAACI,UAAU,EAAE,CAAA;AACrBnB,QAAAA,MAAM,CAACkB,IAAI,CAAC,4CAA4C,EAAE;AAAEH,UAAAA,QAAAA;AAAS,SAAC,CAAC,CAAA;OACxE,CAAC,OAAOK,KAAK,EAAE;AACdpB,QAAAA,MAAM,CAACoB,KAAK,CAAC,iDAAiD,EAAE;AAAEL,UAAAA,QAAAA;AAAS,SAAC,CAAC,CAAA;AAC/E,OAAA;KACD,CAAA;AACH,GAAC,EAAE,CAACd,UAAU,CAAC,CAAC,CAAA;AAChB,EAAA,OAAOE,YAAY,CAAA;AACrB;;;;"}
@@ -1,6 +1,6 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-eaf55eff.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-8c286a7c.js';
2
2
  import { useState, useRef, useCallback } from 'react';
3
- import { u as useMediaQueryContext } from './MediaQueryContext-8d283dc2.js';
3
+ import { u as useMediaQueryContext } from './MediaQueryContext-744e0eb4.js';
4
4
 
5
5
  const DEFAULT_DURATION = 300;
6
6
  function preventDefault(e) {
@@ -21,7 +21,8 @@ function useLongPress(_ref) {
21
21
  } = _ref;
22
22
  let {
23
23
  delay = DEFAULT_DURATION,
24
- shouldPreventDefault = true
24
+ shouldPreventDefault = true,
25
+ shouldStopPropagation = false
25
26
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
27
  const {
27
28
  isMobile
@@ -35,6 +36,9 @@ function useLongPress(_ref) {
35
36
  e.persist();
36
37
  const clonedEvent = _objectSpread2({}, e);
37
38
  setDragTriggered(false);
39
+ if (shouldStopPropagation) {
40
+ e.stopPropagation();
41
+ }
38
42
  if (shouldPreventDefault && e.target) {
39
43
  e.target.addEventListener('touchend', preventDefault, {
40
44
  passive: false
@@ -45,7 +49,7 @@ function useLongPress(_ref) {
45
49
  onLongPress(clonedEvent);
46
50
  setLongPressTriggered(true);
47
51
  }, delay);
48
- }, [onLongPress, delay, shouldPreventDefault, isMobile]);
52
+ }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);
49
53
  const clear = useCallback(function (e) {
50
54
  let shouldTriggerClick = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
51
55
  let onDrag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
@@ -78,4 +82,4 @@ function useLongPress(_ref) {
78
82
  }
79
83
 
80
84
  export { useLongPress as u };
81
- //# sourceMappingURL=useLongPress-8d44d259.js.map
85
+ //# sourceMappingURL=useLongPress-b803e920.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongPress-b803e920.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_ref","onLongPress","onClick","delay","shouldPreventDefault","shouldStopPropagation","arguments","undefined","isMobile","useMediaQueryContext","longPressTriggered","setLongPressTriggered","useState","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","_objectSpread","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":";;;;AA4BA,MAAMA,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAASC,cAAcA,CAACC,CAAQ,EAAE;AAChC,EAAA,IAAI,CAACC,YAAY,CAACD,CAAC,CAAC,EAAE;AACpB,IAAA,OAAA;AACF,GAAA;EAEA,IAAIA,CAAC,CAACE,OAAO,CAACC,MAAM,GAAG,CAAC,IAAIH,CAAC,CAACD,cAAc,EAAE;IAC5CC,CAAC,CAACD,cAAc,EAAE,CAAA;AACpB,GAAA;AACF,CAAA;AAEO,SAASE,YAAYA,CAACD,CAAQ,EAAmB;AACtD,EAAA,OAAOA,CAAC,IAAI,SAAS,IAAIA,CAAC,CAAA;AAC5B,CAAA;AAsBe,SAASI,YAAYA,CAAAC,IAAA,EAOE;EAAA,IAPE;IACtCC,WAAW;AACXC,IAAAA,OAAAA;AACgB,GAAC,GAAAF,IAAA,CAAA;EAAA,IAAE;AACnBG,IAAAA,KAAK,GAAGV,gBAAgB;AACxBW,IAAAA,oBAAoB,GAAG,IAAI;AAC3BC,IAAAA,qBAAqB,GAAG,KAAA;AACjB,GAAC,GAAAC,SAAA,CAAAR,MAAA,GAAAQ,CAAAA,IAAAA,SAAA,CAAAC,CAAAA,CAAAA,KAAAA,SAAA,GAAAD,SAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;EACb,MAAM;AAAEE,IAAAA,QAAAA;GAAU,GAAGC,oBAAoB,EAAE,CAAA;EAC3C,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;EACnE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC,CAAA;AACzD;EACA,MAAMG,OAAO,GAAGC,MAAM,EAAiC,CAAA;EACvD,MAAMC,MAAM,GAAGD,MAAM,EAAe,CAAA;AAEpC,EAAA,MAAME,KAAK,GAAGC,WAAW,CAAExB,CAA4C,IAAK;IAC1EA,CAAC,CAACyB,OAAO,EAAE,CAAA;AACX,IAAA,MAAMC,WAAW,GAAAC,cAAA,CAAA,EAAA,EACZ3B,CAAC,CACL,CAAA;IACDmB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACvB,IAAA,IAAIT,qBAAqB,EAAE;MACzBV,CAAC,CAAC4B,eAAe,EAAE,CAAA;AACrB,KAAA;AACA,IAAA,IAAInB,oBAAoB,IAAIT,CAAC,CAACsB,MAAM,EAAE;MACpCtB,CAAC,CAACsB,MAAM,CAACO,gBAAgB,CACvB,UAAU,EACV9B,cAAc,EACd;AACE+B,QAAAA,OAAO,EAAE,KAAA;AACX,OAAC,CACF,CAAA;AACDR,MAAAA,MAAM,CAACS,OAAO,GAAG/B,CAAC,CAACsB,MAAM,CAAA;AAC3B,KAAA;AAEAF,IAAAA,OAAO,CAACW,OAAO,GAAGC,UAAU,CAAC,MAAM;MACjC1B,WAAW,CAACoB,WAAW,CAAC,CAAA;MACxBV,qBAAqB,CAAC,IAAI,CAAC,CAAA;KAC5B,EAAER,KAAK,CAAC,CAAA;AACX,GAAC,EAAE,CAACF,WAAW,EAAEE,KAAK,EAAEC,oBAAoB,EAAEC,qBAAqB,EAAEG,QAAQ,CAAC,CAAC,CAAA;AAE/E,EAAA,MAAMoB,KAAK,GAAGT,WAAW,CAAC,UACxBxB,CAA4C,EAGzC;AAAA,IAAA,IAFHkC,kBAAkB,GAAAvB,SAAA,CAAAR,MAAA,GAAA,CAAA,IAAAQ,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAAA,IAAA,IACzBwB,MAAM,GAAAxB,SAAA,CAAAR,MAAA,GAAA,CAAA,IAAAQ,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK,CAAA;AAEd,IAAA,IAAIwB,MAAM,EAAE;MACVhB,gBAAgB,CAAC,IAAI,CAAC,CAAA;AACxB,KAAC,MAAM;MACLA,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,KAAA;AACA,IAAA,IAAIC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEW,OAAO,EAAE;AACpBK,MAAAA,YAAY,CAAChB,OAAO,CAACW,OAAO,CAAC,CAAA;AAC/B,KAAA;AACA,IAAA,IAAIG,kBAAkB,IAAI,CAACnB,kBAAkB,IAAI,CAACG,aAAa,EAAE;AAC/DX,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGP,CAAC,CAAC,CAAA;AACd,KAAA;IACAgB,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAC5B,IAAA,IAAIP,oBAAoB,IAAIa,MAAM,CAACS,OAAO,EAAE;MAC1CT,MAAM,CAACS,OAAO,CAACM,mBAAmB,CAAC,UAAU,EAAEtC,cAAc,CAAC,CAAA;AAChE,KAAA;GACD,EAAE,CAACU,oBAAoB,EAAEF,OAAO,EAAEQ,kBAAkB,EAAEG,aAAa,CAAC,CAAC,CAAA;EAEtE,OAAO;AACLoB,IAAAA,WAAW,EAAGtC,CAAsB,IAAKuB,KAAK,CAACvB,CAAC,CAAC;AACjDuC,IAAAA,SAAS,EAAGvC,CAAsB,IAAKiC,KAAK,CAACjC,CAAC,CAAC;IAC/CwC,YAAY,EAAGxC,CAAsB,IAAKiC,KAAK,CAACjC,CAAC,EAAE,KAAK,CAAC;AACzDyC,IAAAA,YAAY,EAAGzC,CAAsB,IAAKuB,KAAK,CAACvB,CAAC,CAAC;AAClD;AACA;IACA0C,WAAW,EAAG1C,CAAsB,IAAKiC,KAAK,CAACjC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;AAC9D2C,IAAAA,UAAU,EAAG3C,CAAsB,IAAKiC,KAAK,CAACjC,CAAC,CAAA;GAChD,CAAA;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './_rollupPluginBabelHelpers-eaf55eff.js';
3
+ import './_rollupPluginBabelHelpers-8c286a7c.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -1,5 +1,5 @@
1
- import { d as isVoiceMessage$1 } from '../../index-d8fdbe6f.js';
2
- import '../../_rollupPluginBabelHelpers-eaf55eff.js';
1
+ import { d as isVoiceMessage$1 } from '../../index-2d3d2283.js';
2
+ import '../../_rollupPluginBabelHelpers-8c286a7c.js';
3
3
  import './getOutgoingMessageState.js';
4
4
 
5
5
  const isVoiceMessage = isVoiceMessage$1;
@@ -1,4 +1,4 @@
1
- import { c as LabelStringSet } from './index-a900bd78.js';
1
+ import { c as LabelStringSet } from './index-c4af409f.js';
2
2
 
3
3
  const getChannelTitle = (channel, currentUserId, stringSet) => {
4
4
  var _channel$members;
@@ -26,4 +26,4 @@ const getChannelTitle = (channel, currentUserId, stringSet) => {
26
26
  };
27
27
 
28
28
  export { getChannelTitle as g };
29
- //# sourceMappingURL=utils-b42f4fab.js.map
29
+ //# sourceMappingURL=utils-1d8ffd91.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-b42f4fab.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","_channel$members","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join"],"mappings":";;AAGO,MAAMA,eAAe,GAAGA,CAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,KAC3B;AAAA,EAAA,IAAAC,gBAAA,CAAA;AACX,EAAA,MAAMC,gBAA6C,GAAGF,SAAS,IAAIG,cAAc,CAAA;AACjF,EAAA,IAAI,EAACL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,CAAI,IAAA,EAACN,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEO,OAAO,CAAE,EAAA;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AAClC,GAAA;AACA,EAAA,IAAIR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,IAAIN,OAAO,CAACM,IAAI,KAAK,eAAe,EAAE;IACrD,OAAON,OAAO,CAACM,IAAI,CAAA;AACrB,GAAA;AAEA,EAAA,IAAI,CAAAN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAG,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPH,OAAO,CAAEO,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBM,MAAM,MAAK,CAAC,EAAE;IAClC,OAAOL,gBAAgB,CAACM,UAAU,CAAA;AACpC,GAAA;EAEA,OAAOV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEO,OAAO,CACpBI,MAAM,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,MAAAA;AAAO,KAAC,GAAAD,IAAA,CAAA;IAAA,OAAKC,MAAM,KAAKZ,aAAa,CAAA;GAAC,CAAA,CAChDa,GAAG,CAACC,KAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,QAAAA;AAAS,KAAC,GAAAD,KAAA,CAAA;AAAA,IAAA,OAAMC,QAAQ,IAAIZ,gBAAgB,CAACa,OAAO,CAAA;AAAA,GAAC,CAAC,CAC7DC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
1
+ {"version":3,"file":"utils-1d8ffd91.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","_channel$members","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join"],"mappings":";;AAGO,MAAMA,eAAe,GAAGA,CAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,KAC3B;AAAA,EAAA,IAAAC,gBAAA,CAAA;AACX,EAAA,MAAMC,gBAA6C,GAAGF,SAAS,IAAIG,cAAc,CAAA;AACjF,EAAA,IAAI,EAACL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,CAAI,IAAA,EAACN,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEO,OAAO,CAAE,EAAA;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AAClC,GAAA;AACA,EAAA,IAAIR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,IAAIN,OAAO,CAACM,IAAI,KAAK,eAAe,EAAE;IACrD,OAAON,OAAO,CAACM,IAAI,CAAA;AACrB,GAAA;AAEA,EAAA,IAAI,CAAAN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAG,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPH,OAAO,CAAEO,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBM,MAAM,MAAK,CAAC,EAAE;IAClC,OAAOL,gBAAgB,CAACM,UAAU,CAAA;AACpC,GAAA;EAEA,OAAOV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEO,OAAO,CACpBI,MAAM,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,MAAAA;AAAO,KAAC,GAAAD,IAAA,CAAA;IAAA,OAAKC,MAAM,KAAKZ,aAAa,CAAA;GAAC,CAAA,CAChDa,GAAG,CAACC,KAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,QAAAA;AAAS,KAAC,GAAAD,KAAA,CAAA;AAAA,IAAA,OAAMC,QAAQ,IAAIZ,gBAAgB,CAACa,OAAO,CAAA;AAAA,GAAC,CAAC,CAC7DC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
@@ -1,4 +1,4 @@
1
1
  const noop = () => {};
2
2
 
3
3
  export { noop as n };
4
- //# sourceMappingURL=utils-c8b489c4.js.map
4
+ //# sourceMappingURL=utils-28a3bfad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-c8b489c4.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"MAAaA,IAAI,GAAGA,MAAM;;;;"}
1
+ {"version":3,"file":"utils-28a3bfad.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"MAAaA,IAAI,GAAGA,MAAM;;;;"}
@@ -23,4 +23,4 @@ const copyToClipboard = text => {
23
23
  };
24
24
 
25
25
  export { copyToClipboard as c };
26
- //# sourceMappingURL=utils-7d781542.js.map
26
+ //# sourceMappingURL=utils-43d93f46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-7d781542.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,MAAAA,eAAe,GAAIC,IAAY,IAAc;AACxD;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AACnD,GAAA;EACA,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACd,KAAC,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACrC,KAAA;AACF,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"utils-43d93f46.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,MAAAA,eAAe,GAAIC,IAAY,IAAc;AACxD;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AACnD,GAAA;EACA,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACd,KAAC,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACrC,KAAA;AACF,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
@@ -28,4 +28,4 @@ const generateDefaultAvatar = channel => {
28
28
  };
29
29
 
30
30
  export { getChannelAvatarSource as a, getOpenChannelAvatar as b, generateDefaultAvatar as g };
31
- //# sourceMappingURL=utils-8e039c1b.js.map
31
+ //# sourceMappingURL=utils-cb06f177.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-8e039c1b.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_ref","profileUrl","generateDefaultAvatar"],"mappings":"AAGO,MAAMA,kBAAkB,GAAG,iDAAiD,CAAA;AAEtEC,MAAAA,oBAAoB,GAAIC,OAAoB,IAAa;AACpE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,GAAA;AACF,EAAC;MAEYC,sBAAsB,GAAGA,CAACF,OAAqB,EAAEG,aAAqB,KAA6B;AAC9G,EAAA,IAAIH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAE,IAAGN,kBAAmB,CAAA,CAAC,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,KAAA;AACF,GAAA;EACA,OAAO,CAAC,CAAAD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAC,CACnDO,GAAG,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,UAAAA;AAAW,KAAC,GAAAD,IAAA,CAAA;AAAA,IAAA,OAAKC,UAAU,CAAA;GAAC,CAAA,CAAA;AACxC,EAAC;AAEYC,MAAAA,qBAAqB,GAAIb,OAAqB,IAAc;AACvE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAE,CAAA,CAAA,EAAGN,kBAAmB,CAAC,CAAA,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"utils-cb06f177.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_ref","profileUrl","generateDefaultAvatar"],"mappings":"AAGO,MAAMA,kBAAkB,GAAG,iDAAiD,CAAA;AAEtEC,MAAAA,oBAAoB,GAAIC,OAAoB,IAAa;AACpE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,GAAA;AACF,EAAC;MAEYC,sBAAsB,GAAGA,CAACF,OAAqB,EAAEG,aAAqB,KAA6B;AAC9G,EAAA,IAAIH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAE,IAAGN,kBAAmB,CAAA,CAAC,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,KAAA;AACF,GAAA;EACA,OAAO,CAAC,CAAAD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAC,CACnDO,GAAG,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,UAAAA;AAAW,KAAC,GAAAD,IAAA,CAAA;AAAA,IAAA,OAAKC,UAAU,CAAA;GAAC,CAAA,CAAA;AACxC,EAAC;AAEYC,MAAAA,qBAAqB,GAAIb,OAAqB,IAAc;AACvE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAE,CAAA,CAAA,EAAGN,kBAAmB,CAAC,CAAA,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -10,4 +10,4 @@ const uuidv4 = () => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c =
10
10
  });
11
11
 
12
12
  export { uuidv4 as u };
13
- //# sourceMappingURL=uuid-c94bd88b.js.map
13
+ //# sourceMappingURL=uuid-295e6b8b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-c94bd88b.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,MAAAA,MAAM,GAAGA,MAAc,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;EACjG,MAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,EAAA,MAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,EAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;;;;"}
1
+ {"version":3,"file":"uuid-295e6b8b.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,MAAAA,MAAM,GAAGA,MAAc,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;EACjG,MAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,EAAA,MAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,EAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;;;;"}
package/withSendbird.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-eaf55eff.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-8c286a7c.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  const SendbirdSdkContext = /*#__PURE__*/React__default.createContext({});
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChannelListProvider-1d8f4d94.js","sources":["../src/modules/ChannelList/dux/actionTypes.js","../src/modules/ChannelList/utils.js","../src/modules/ChannelList/dux/initialState.js","../src/modules/ChannelList/dux/reducers.js","../src/modules/ChannelList/context/hooks/useActiveChannelUrl.ts","../src/modules/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const USER_INVITED = 'USER_INVITED';\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","import { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\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 if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n },\n onUserReceivedInvitation: (channel, inviter, invitees) => {\n logger.info('ChannelList: onUserReceivedInvitation', { channel, inviter, invitees });\n const { currentUser } = sdk;\n const isInvited = invitees.find((user) => user?.userId === currentUser?.userId);\n if (isInvited) {\n channelListDispatcher({\n type: channelActions.USER_INVITED,\n payload: channel,\n });\n }\n },\n onUserBanned: (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n },\n onUserLeft: (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n },\n\n onReadStatus: (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n\n onDeliveryReceiptUpdated: (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n\n onMessageUpdated: (channel, message) => {\n if (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\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n\n onChannelFrozen: (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n },\n\n onChannelUnfrozen: (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const param = {};\n param.includeEmpty = false;\n param.limit = 20; // The value of pagination limit could be set up to 100.\n param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n param[key] = userFilledChannelListQuery[key];\n });\n }\n\n const channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n markAsReadScheduler,\n}) {\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.next().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\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered) {\n sortChannelList.forEach((channel) => {\n if (channel?.unreadMessageCount > 0) {\n markAsReadScheduler.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) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subscriber = new Map();\n if (!pubSub) return subscriber;\n subscriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\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 subscriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }));\n\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","export default {\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","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS: {\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\n && channelList\n && channelList.length\n && channelList.length > 0\n )\n ? channelList[0]\n : null,\n };\n }\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.USER_INVITED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel?.url && isMe));\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel?.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel?.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.ON_LAST_MESSAGE_UPDATED: {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel?.url === action.payload.url ? action.payload : channel)),\n };\n }\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.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 case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.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 case actions.CHANNEL_REPLACED_TO_TOP: {\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: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n default:\n return 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, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n SendbirdGroupChat,\n GroupChannelListQuery as GroupChannelListQuerySb,\n GroupChannelUserIdsFilter,\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\nimport { CHANNEL_TYPE } from '../../CreateChannel/types';\nimport useActiveChannelUrl from './hooks/useActiveChannelUrl';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\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';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n userIdsFilter?: GroupChannelUserIdsFilter;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\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: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: GroupChannelListQuerySb | null;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\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});\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 markAsReadScheduler,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\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(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n const [channelsTomarkAsRead, setChannelsToMarkAsRead] = useState<Array<GroupChannel>>([]);\n useEffect(() => {\n // https://stackoverflow.com/a/60907638\n let isMounted = true;\n if (channelsTomarkAsRead?.length > 0 && !disableMarkAsDelivered) {\n channelsTomarkAsRead?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n if (isMounted) {\n c?.markAsDelivered();\n }\n }, 2000 * idx);\n });\n }\n return () => {\n isMounted = false;\n };\n }, [channelsTomarkAsRead]);\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 setChannelsToMarkAsRead,\n markAsReadScheduler,\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 = null;\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 channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n onMentionReceived(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\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 }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : 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 activeChannelUrl,\n channels: sortedChannels,\n sdk,\n }, {\n logger,\n channelListDispatcher,\n });\n\n return (\n <ChannelListContext.Provider 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: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n onUserProfileMessage={onUserProfileMessage}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","USER_INVITED","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_RECIPT","createEventHandler","_ref","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserReceivedInvitation","inviter","invitees","currentUser","isInvited","find","user","userId","onUserBanned","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","_ref2","userFilledChannelListQuery","param","includeEmpty","limit","order","Object","keys","forEach","key","channelListQuery","createMyGroupChannelListQuery","setupChannelList","_ref3","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","markAsReadScheduler","warning","currentUserId","hasNext","next","then","channelList","_sdk$appInfo","_sdk$appInfo$premiumF","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","feature","unreadMessageCount","push","catch","err","error","pubSubHandleRemover","subscriber","s","remove","_unused","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","UPDATE_USER_MESSAGE","_updatedChannel$lastM","updatedChannel","messageId","LEAVE_CHANNEL","url","SEND_MESSAGE_START","initialized","loading","allChannels","currentChannel","reducer","state","action","actions","_objectSpread","initialState","length","currentChannels","map","c","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","_state$currentChannel","nextChannel","_state$currentChannel2","_state$currentChannel5","_state$currentChannel4","_state$currentChannel3","_ref4","_state$currentChannel6","_ref5","_ref6","currentUnreadCount","_ref7","_state$currentChannel7","_ref8","isFrozen","_state$currentChannel8","_ref9","useActiveChannelUrl","activeChannelUrl","channels","useEffect","activeChannel","messageActionTypes","_sdk$groupChannel","getChannel","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","channelSource","typingChannels","ChannelListProvider","props","_sdk$currentUser","children","overrideInviteUser","isTypingIndicatorEnabled","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","onUserProfileMessage","disableMarkAsDelivered","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","channelListStore","useReducer","channelListReducers","channelListInitialState","useState","setTypingChannels","channelsTomarkAsRead","setChannelsToMarkAsRead","isMounted","idx","setTimeout","markAsDelivered","uuidv4","removeGroupChannelHandler","channelListActions","_sdk$groupChannel2","_sdk$groupChannel3","_sdk$groupChannel4","typingHandlerId","_sdk$groupChannel5","handler","onTypingStatusUpdated","_channel$getTypingUse","typingMemberCount","getTypingUsers","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","getChannelWithoutCache","onMentionReceived","_sdk$groupChannel6","queries_","useMemo","sortedChannels","console","warn","before","after","createElement","Provider","value","UserProfileProvider","useChannelListContext","context","useContext"],"mappings":"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"}