@sendbird/uikit-react 3.4.9 → 3.5.0-feature-config-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 (591) hide show
  1. package/App.js +81 -62
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +19 -18
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +44 -43
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +15 -14
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +38 -36
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +31 -29
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +38 -37
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +17 -16
  17. package/Channel/components/RemoveMessageModal.js.map +1 -1
  18. package/Channel/components/SuggestedMentionList.js +17 -16
  19. package/Channel/components/SuggestedMentionList.js.map +1 -1
  20. package/Channel/components/TypingIndicator.js +15 -14
  21. package/Channel/components/TypingIndicator.js.map +1 -1
  22. package/Channel/components/UnreadCount.js +4 -4
  23. package/Channel/context.js +12 -11
  24. package/Channel/context.js.map +1 -1
  25. package/Channel.js +42 -41
  26. package/Channel.js.map +1 -1
  27. package/ChannelList/components/AddChannel.js +14 -14
  28. package/ChannelList/components/ChannelListHeader.js +6 -6
  29. package/ChannelList/components/ChannelListUI.js +30 -29
  30. package/ChannelList/components/ChannelListUI.js.map +1 -1
  31. package/ChannelList/components/ChannelPreview.js +26 -25
  32. package/ChannelList/components/ChannelPreview.js.map +1 -1
  33. package/ChannelList/components/ChannelPreviewAction.js +13 -13
  34. package/ChannelList/context.js +7 -7
  35. package/ChannelList.js +30 -29
  36. package/ChannelList.js.map +1 -1
  37. package/{ChannelListProvider-21425002.js → ChannelListProvider-e9b9d9dc.js} +7 -7
  38. package/{ChannelListProvider-21425002.js.map → ChannelListProvider-e9b9d9dc.js.map} +1 -1
  39. package/{ChannelProvider-910bbc1f.js → ChannelProvider-e1ddeda2.js} +52 -30
  40. package/ChannelProvider-e1ddeda2.js.map +1 -0
  41. package/ChannelSettings/components/ChannelProfile.js +11 -11
  42. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  43. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  44. package/ChannelSettings/components/LeaveChannel.js +11 -11
  45. package/ChannelSettings/components/ModerationPanel.js +14 -14
  46. package/ChannelSettings/components/UserListItem.js +10 -10
  47. package/ChannelSettings/components/UserPanel.js +13 -13
  48. package/ChannelSettings/context.js +3 -3
  49. package/ChannelSettings.js +17 -17
  50. package/CreateChannel/components/CreateChannelUI.js +13 -13
  51. package/CreateChannel/components/InviteUsers.js +13 -13
  52. package/CreateChannel/components/SelectChannelType.js +10 -10
  53. package/CreateChannel/context.js +4 -4
  54. package/CreateChannel.js +13 -13
  55. package/{CreateChannelProvider-11c8b9a3.js → CreateChannelProvider-8c7aa9d6.js} +1 -1
  56. package/{CreateChannelProvider-11c8b9a3.js.map → CreateChannelProvider-8c7aa9d6.js.map} +1 -1
  57. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  58. package/CreateOpenChannel/context.js +1 -1
  59. package/CreateOpenChannel.js +9 -9
  60. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  61. package/EditUserProfile.js +12 -12
  62. package/{LocalizationContext-076d6d2e.js → LocalizationContext-2a605cc6.js} +3 -3
  63. package/{LocalizationContext-076d6d2e.js.map → LocalizationContext-2a605cc6.js.map} +1 -1
  64. package/{MediaQueryContext-11f0e43f.js → MediaQueryContext-9a1ce18e.js} +2 -2
  65. package/MediaQueryContext-9a1ce18e.js.map +1 -0
  66. package/{MemberList-061d186f.js → MemberList-f74830e4.js} +8 -6
  67. package/{cjs/MemberList-c886fbc9.js.map → MemberList-f74830e4.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/OpenChannel/components/FrozenChannelNotification.js +4 -4
  72. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  73. package/OpenChannel/components/OpenChannelInput.js +22 -20
  74. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  75. package/OpenChannel/components/OpenChannelMessage.js +37 -32
  76. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  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 +33 -33
  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-426cfb39.js → OpenChannelListProvider-1674b977.js} +3 -3
  86. package/{OpenChannelListProvider-426cfb39.js.map → OpenChannelListProvider-1674b977.js.map} +1 -1
  87. package/{OpenChannelProvider-d3a850e3.js → OpenChannelProvider-c1097360.js} +7 -7
  88. package/{OpenChannelProvider-d3a850e3.js.map → OpenChannelProvider-c1097360.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 +16 -16
  93. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  94. package/OpenChannelSettings/context.js +3 -3
  95. package/OpenChannelSettings.js +17 -17
  96. package/{RemoveMessageModal-78e395ad.js → RemoveMessageModal-103c3502.js} +3 -3
  97. package/{RemoveMessageModal-78e395ad.js.map → RemoveMessageModal-103c3502.js.map} +1 -1
  98. package/SendbirdProvider.js +69 -217
  99. package/SendbirdProvider.js.map +1 -1
  100. package/Thread/components/ParentMessageInfo.js +35 -32
  101. package/Thread/components/ParentMessageInfo.js.map +1 -1
  102. package/Thread/components/ParentMessageInfoItem.js +23 -21
  103. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  104. package/Thread/components/ThreadHeader.js +6 -6
  105. package/Thread/components/ThreadList.js +36 -35
  106. package/Thread/components/ThreadList.js.map +1 -1
  107. package/Thread/components/ThreadListItem.js +44 -38
  108. package/Thread/components/ThreadListItem.js.map +1 -1
  109. package/Thread/components/ThreadMessageInput.js +32 -30
  110. package/Thread/components/ThreadMessageInput.js.map +1 -1
  111. package/Thread/components/ThreadUI.js +40 -39
  112. package/Thread/components/ThreadUI.js.map +1 -1
  113. package/Thread/context.js +8 -8
  114. package/Thread.js +40 -39
  115. package/Thread.js.map +1 -1
  116. package/{ThreadProvider-3a4a4db0.js → ThreadProvider-1799dbab.js} +10 -10
  117. package/ThreadProvider-1799dbab.js.map +1 -0
  118. package/{UserProfileContext-9cfbab4d.js → UserProfileContext-cf8bb199.js} +1 -1
  119. package/{UserProfileContext-9cfbab4d.js.map → UserProfileContext-cf8bb199.js.map} +1 -1
  120. package/{VoiceMessageInputWrapper-dc459df1.js → VoiceMessageInputWrapper-276b625e.js} +8 -7
  121. package/VoiceMessageInputWrapper-276b625e.js.map +1 -0
  122. package/VoicePlayer/context.js +3 -3
  123. package/VoicePlayer/useVoicePlayer.js +15 -3
  124. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  125. package/VoiceRecorder/context.js +42 -4
  126. package/VoiceRecorder/context.js.map +1 -1
  127. package/VoiceRecorder/useVoiceRecorder.js +14 -2
  128. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  129. package/{WebAudioUtils-6df19fcc.js → WebAudioUtils-b2c9fae9.js} +1 -1
  130. package/{WebAudioUtils-6df19fcc.js.map → WebAudioUtils-b2c9fae9.js.map} +1 -1
  131. package/{_rollupPluginBabelHelpers-6bb0305c.js → _rollupPluginBabelHelpers-34fc6689.js} +1 -1
  132. package/_rollupPluginBabelHelpers-34fc6689.js.map +1 -0
  133. package/{actionTypes-ce6caec1.js → actionTypes-3f51c08a.js} +1 -1
  134. package/{actionTypes-ce6caec1.js.map → actionTypes-3f51c08a.js.map} +1 -1
  135. package/cjs/App.js +81 -62
  136. package/cjs/App.js.map +1 -1
  137. package/cjs/Channel/components/ChannelHeader.js +19 -18
  138. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  139. package/cjs/Channel/components/ChannelUI.js +44 -43
  140. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  141. package/cjs/Channel/components/FileViewer.js +15 -14
  142. package/cjs/Channel/components/FileViewer.js.map +1 -1
  143. package/cjs/Channel/components/FrozenNotification.js +4 -4
  144. package/cjs/Channel/components/Message.js +38 -36
  145. package/cjs/Channel/components/Message.js.map +1 -1
  146. package/cjs/Channel/components/MessageInput.js +31 -29
  147. package/cjs/Channel/components/MessageInput.js.map +1 -1
  148. package/cjs/Channel/components/MessageList.js +38 -37
  149. package/cjs/Channel/components/MessageList.js.map +1 -1
  150. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  151. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  152. package/cjs/Channel/components/SuggestedMentionList.js +17 -16
  153. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  154. package/cjs/Channel/components/TypingIndicator.js +15 -14
  155. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  156. package/cjs/Channel/components/UnreadCount.js +4 -4
  157. package/cjs/Channel/context.js +12 -12
  158. package/cjs/Channel.js +42 -41
  159. package/cjs/Channel.js.map +1 -1
  160. package/cjs/ChannelList/components/AddChannel.js +14 -14
  161. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  162. package/cjs/ChannelList/components/ChannelListUI.js +30 -29
  163. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  164. package/cjs/ChannelList/components/ChannelPreview.js +26 -25
  165. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  166. package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
  167. package/cjs/ChannelList/context.js +7 -7
  168. package/cjs/ChannelList.js +30 -29
  169. package/cjs/ChannelList.js.map +1 -1
  170. package/cjs/{ChannelListProvider-6f1b6689.js → ChannelListProvider-26cc6944.js} +7 -7
  171. package/cjs/{ChannelListProvider-6f1b6689.js.map → ChannelListProvider-26cc6944.js.map} +1 -1
  172. package/cjs/{ChannelProvider-da7b08a1.js → ChannelProvider-54bb28cc.js} +51 -30
  173. package/cjs/ChannelProvider-54bb28cc.js.map +1 -0
  174. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  175. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  177. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  178. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  179. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  180. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  181. package/cjs/ChannelSettings/context.js +3 -3
  182. package/cjs/ChannelSettings.js +17 -17
  183. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  184. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  185. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  186. package/cjs/CreateChannel/context.js +4 -4
  187. package/cjs/CreateChannel.js +13 -13
  188. package/cjs/{CreateChannelProvider-2f105a5c.js → CreateChannelProvider-8c106973.js} +1 -1
  189. package/cjs/{CreateChannelProvider-2f105a5c.js.map → CreateChannelProvider-8c106973.js.map} +1 -1
  190. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  191. package/cjs/CreateOpenChannel/context.js +1 -1
  192. package/cjs/CreateOpenChannel.js +9 -9
  193. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  194. package/cjs/EditUserProfile.js +12 -12
  195. package/cjs/{LocalizationContext-df436a16.js → LocalizationContext-bdc95952.js} +3 -3
  196. package/cjs/{LocalizationContext-df436a16.js.map → LocalizationContext-bdc95952.js.map} +1 -1
  197. package/cjs/{MediaQueryContext-f1e8fdbc.js → MediaQueryContext-28b81968.js} +2 -2
  198. package/cjs/MediaQueryContext-28b81968.js.map +1 -0
  199. package/cjs/{MemberList-c886fbc9.js → MemberList-5f5ab063.js} +8 -6
  200. package/cjs/MemberList-5f5ab063.js.map +1 -0
  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/OpenChannel/components/FrozenChannelNotification.js +4 -4
  205. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  206. package/cjs/OpenChannel/components/OpenChannelInput.js +22 -20
  207. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  208. package/cjs/OpenChannel/components/OpenChannelMessage.js +37 -32
  209. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  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 +33 -33
  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-b7914f1a.js → OpenChannelListProvider-da4fd54b.js} +3 -3
  219. package/cjs/{OpenChannelListProvider-b7914f1a.js.map → OpenChannelListProvider-da4fd54b.js.map} +1 -1
  220. package/cjs/{OpenChannelProvider-b431f910.js → OpenChannelProvider-c6295ecd.js} +7 -7
  221. package/cjs/{OpenChannelProvider-b431f910.js.map → OpenChannelProvider-c6295ecd.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 +16 -16
  226. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  227. package/cjs/OpenChannelSettings/context.js +3 -3
  228. package/cjs/OpenChannelSettings.js +17 -17
  229. package/cjs/{RemoveMessageModal-bcf3c6fe.js → RemoveMessageModal-f4d8af47.js} +3 -3
  230. package/cjs/{RemoveMessageModal-bcf3c6fe.js.map → RemoveMessageModal-f4d8af47.js.map} +1 -1
  231. package/cjs/SendbirdProvider.js +70 -218
  232. package/cjs/SendbirdProvider.js.map +1 -1
  233. package/cjs/Thread/components/ParentMessageInfo.js +35 -32
  234. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  235. package/cjs/Thread/components/ParentMessageInfoItem.js +23 -21
  236. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  237. package/cjs/Thread/components/ThreadHeader.js +6 -6
  238. package/cjs/Thread/components/ThreadList.js +36 -35
  239. package/cjs/Thread/components/ThreadList.js.map +1 -1
  240. package/cjs/Thread/components/ThreadListItem.js +44 -38
  241. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  242. package/cjs/Thread/components/ThreadMessageInput.js +32 -30
  243. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  244. package/cjs/Thread/components/ThreadUI.js +40 -39
  245. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  246. package/cjs/Thread/context.js +8 -8
  247. package/cjs/Thread.js +40 -39
  248. package/cjs/Thread.js.map +1 -1
  249. package/cjs/{ThreadProvider-654b9db0.js → ThreadProvider-17ad9d05.js} +10 -10
  250. package/cjs/ThreadProvider-17ad9d05.js.map +1 -0
  251. package/cjs/{UserProfileContext-0c255fa6.js → UserProfileContext-27a5718b.js} +1 -1
  252. package/cjs/{UserProfileContext-0c255fa6.js.map → UserProfileContext-27a5718b.js.map} +1 -1
  253. package/cjs/{VoiceMessageInputWrapper-2aaed45b.js → VoiceMessageInputWrapper-1100905a.js} +8 -7
  254. package/cjs/VoiceMessageInputWrapper-1100905a.js.map +1 -0
  255. package/cjs/VoicePlayer/context.js +4 -3
  256. package/cjs/VoicePlayer/context.js.map +1 -1
  257. package/cjs/VoicePlayer/useVoicePlayer.js +15 -3
  258. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  259. package/cjs/VoiceRecorder/context.js +42 -4
  260. package/cjs/VoiceRecorder/context.js.map +1 -1
  261. package/cjs/VoiceRecorder/useVoiceRecorder.js +14 -2
  262. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  263. package/cjs/{WebAudioUtils-58f47b3f.js → WebAudioUtils-cd45fa51.js} +1 -1
  264. package/cjs/{WebAudioUtils-58f47b3f.js.map → WebAudioUtils-cd45fa51.js.map} +1 -1
  265. package/cjs/{_rollupPluginBabelHelpers-5fad415d.js → _rollupPluginBabelHelpers-d68672d6.js} +1 -1
  266. package/cjs/_rollupPluginBabelHelpers-d68672d6.js.map +1 -0
  267. package/cjs/{actionTypes-6cbf2054.js → actionTypes-bf093246.js} +1 -1
  268. package/cjs/{actionTypes-6cbf2054.js.map → actionTypes-bf093246.js.map} +1 -1
  269. package/cjs/{color-026d07a6.js → color-bb9924cb.js} +1 -1
  270. package/cjs/{color-026d07a6.js.map → color-bb9924cb.js.map} +1 -1
  271. package/cjs/{compareIds-f064c47d.js → compareIds-96cdd2a0.js} +1 -1
  272. package/cjs/{compareIds-f064c47d.js.map → compareIds-96cdd2a0.js.map} +1 -1
  273. package/cjs/{const-692d0039.js → const-44ddbe54.js} +1 -1
  274. package/cjs/{const-692d0039.js.map → const-44ddbe54.js.map} +1 -1
  275. package/cjs/{const-0a12bf51.js → const-73fbd467.js} +1 -1
  276. package/cjs/{const-0a12bf51.js.map → const-73fbd467.js.map} +1 -1
  277. package/cjs/{consts-f0dc64d0.js → consts-2dfc1883.js} +1 -1
  278. package/cjs/{consts-f0dc64d0.js.map → consts-2dfc1883.js.map} +1 -1
  279. package/cjs/{consts-2f667487.js → consts-40680de5.js} +1 -1
  280. package/cjs/{consts-2f667487.js.map → consts-40680de5.js.map} +1 -1
  281. package/cjs/{consts-25fc4351.js → consts-4fbdb1d6.js} +1 -1
  282. package/cjs/{consts-25fc4351.js.map → consts-4fbdb1d6.js.map} +1 -1
  283. package/cjs/{consts-297fdae1.js → consts-ccfad912.js} +1 -1
  284. package/cjs/{consts-297fdae1.js.map → consts-ccfad912.js.map} +1 -1
  285. package/cjs/{context-ec9b8da1.js → context-cdc5a8dd.js} +2 -2
  286. package/cjs/{context-ec9b8da1.js.map → context-cdc5a8dd.js.map} +1 -1
  287. package/cjs/dist/index.css +737 -732
  288. package/cjs/dist/index.css.map +1 -1
  289. package/cjs/{index-a715eaef.js → index-0d4b8939.js} +2 -2
  290. package/cjs/{index-a715eaef.js.map → index-0d4b8939.js.map} +1 -1
  291. package/cjs/{index-162396f5.js → index-1ee86976.js} +3 -3
  292. package/cjs/{index-162396f5.js.map → index-1ee86976.js.map} +1 -1
  293. package/cjs/{index-9b38e167.js → index-2044d323.js} +4 -4
  294. package/cjs/{index-9b38e167.js.map → index-2044d323.js.map} +1 -1
  295. package/cjs/{index-80fc14fe.js → index-4ff12eb9.js} +2 -2
  296. package/cjs/{index-80fc14fe.js.map → index-4ff12eb9.js.map} +1 -1
  297. package/cjs/{index-606495e5.js → index-6d959b4d.js} +5 -5
  298. package/cjs/{index-606495e5.js.map → index-6d959b4d.js.map} +1 -1
  299. package/cjs/{index-0f42efcf.js → index-71def451.js} +1 -1
  300. package/cjs/{index-0f42efcf.js.map → index-71def451.js.map} +1 -1
  301. package/cjs/{index-dd9bc361.js → index-77c91851.js} +1 -1
  302. package/cjs/{index-dd9bc361.js.map → index-77c91851.js.map} +1 -1
  303. package/cjs/{index-33b67e46.js → index-7a9d2024.js} +3 -5
  304. package/cjs/index-7a9d2024.js.map +1 -0
  305. package/cjs/{index-0bd8e5f3.js → index-7b19a3f7.js} +6 -6
  306. package/cjs/{index-0bd8e5f3.js.map → index-7b19a3f7.js.map} +1 -1
  307. package/cjs/{index-6e05ddef.js → index-89314643.js} +35 -20
  308. package/cjs/index-89314643.js.map +1 -0
  309. package/cjs/{index-450be53e.js → index-adcca875.js} +4 -4
  310. package/cjs/{index-450be53e.js.map → index-adcca875.js.map} +1 -1
  311. package/cjs/{index-45cee454.js → index-b1485c4a.js} +2 -2
  312. package/cjs/{index-45cee454.js.map → index-b1485c4a.js.map} +1 -1
  313. package/cjs/{index-21392a2e.js → index-b6a49cba.js} +3 -3
  314. package/cjs/{index-21392a2e.js.map → index-b6a49cba.js.map} +1 -1
  315. package/cjs/{index-4881e776.js → index-ca51d316.js} +6 -6
  316. package/cjs/{index-4881e776.js.map → index-ca51d316.js.map} +1 -1
  317. package/cjs/{index-12ce8274.js → index-dada883d.js} +62 -24
  318. package/cjs/index-dada883d.js.map +1 -0
  319. package/cjs/{index-c89616c9.js → index-e766176d.js} +2 -2
  320. package/cjs/{index-c89616c9.js.map → index-e766176d.js.map} +1 -1
  321. package/cjs/{index-bf4e62fb.js → index-f7b329d2.js} +2 -2
  322. package/cjs/{index-bf4e62fb.js.map → index-f7b329d2.js.map} +1 -1
  323. package/cjs/index.js +58 -56
  324. package/cjs/index.js.map +1 -1
  325. package/cjs/{index.module-e5552393.js → index.module-3e11d4a7.js} +1 -1
  326. package/cjs/{index.module-e5552393.js.map → index.module-3e11d4a7.js.map} +1 -1
  327. package/cjs/resolvedReplyType-42ff3f75.js +32 -0
  328. package/cjs/resolvedReplyType-42ff3f75.js.map +1 -0
  329. package/cjs/sendbirdSelectors.js +3 -3
  330. package/cjs/{stringSet-d7f78de0.js → stringSet-0cddd94a.js} +3 -1
  331. package/cjs/stringSet-0cddd94a.js.map +1 -0
  332. package/cjs/{tokenize-595877b4.js → tokenize-75ed25db.js} +2 -2
  333. package/cjs/{tokenize-595877b4.js.map → tokenize-75ed25db.js.map} +1 -1
  334. package/cjs/{topics-2431bb78.js → topics-3e3eb86d.js} +1 -1
  335. package/cjs/{topics-2431bb78.js.map → topics-3e3eb86d.js.map} +1 -1
  336. package/cjs/{types-ef51254c.js → types-2138565d.js} +1 -1
  337. package/cjs/types-2138565d.js.map +1 -0
  338. package/cjs/ui/Accordion.js +2 -2
  339. package/cjs/ui/AccordionGroup.js +2 -2
  340. package/cjs/ui/AdminMessage.js +2 -2
  341. package/cjs/ui/Avatar.js +1 -1
  342. package/cjs/ui/Badge.js +4 -4
  343. package/cjs/ui/BottomSheet.js +1 -1
  344. package/cjs/ui/Button.js +2 -2
  345. package/cjs/ui/ChannelAvatar.js +2 -2
  346. package/cjs/ui/ConnectionStatus.js +4 -4
  347. package/cjs/ui/ContextMenu.js +5 -5
  348. package/cjs/ui/DateSeparator.js +3 -3
  349. package/cjs/ui/EmojiReactions.js +13 -13
  350. package/cjs/ui/FileMessageItemBody.js +6 -6
  351. package/cjs/ui/FileViewer.js +8 -8
  352. package/cjs/ui/IconButton.js +1 -1
  353. package/cjs/ui/Input.js +2 -2
  354. package/cjs/ui/Label.js +2 -2
  355. package/cjs/ui/LinkLabel.js +2 -2
  356. package/cjs/ui/MentionLabel.js +10 -10
  357. package/cjs/ui/MentionUserLabel.js +1 -1
  358. package/cjs/ui/MessageContent.js +35 -33
  359. package/cjs/ui/MessageContent.js.map +1 -1
  360. package/cjs/ui/MessageInput.js +70 -17
  361. package/cjs/ui/MessageInput.js.map +1 -1
  362. package/cjs/ui/MessageItemMenu.js +8 -8
  363. package/cjs/ui/MessageItemReactionMenu.js +8 -8
  364. package/cjs/ui/MessageSearchFileItem.js +10 -10
  365. package/cjs/ui/MessageSearchItem.js +8 -8
  366. package/cjs/ui/MessageStatus.js +10 -10
  367. package/cjs/ui/Modal.js +7 -7
  368. package/cjs/ui/OGMessageItemBody.js +14 -14
  369. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  370. package/cjs/ui/OpenChannelAvatar.js +5 -5
  371. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  372. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  373. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  374. package/cjs/ui/OpenchannelOGMessage.js +21 -21
  375. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  376. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  377. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  378. package/cjs/ui/OpenchannelUserMessage.js +20 -21
  379. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  380. package/cjs/ui/PlaceHolder.js +5 -5
  381. package/cjs/ui/PlaybackTime.js +2 -2
  382. package/cjs/ui/QuoteMessage.js +7 -7
  383. package/cjs/ui/QuoteMessage.js.map +1 -1
  384. package/cjs/ui/QuoteMessageInput.js +6 -6
  385. package/cjs/ui/ReactionBadge.js +2 -2
  386. package/cjs/ui/ReactionButton.js +4 -4
  387. package/cjs/ui/SortByRow.js +1 -1
  388. package/cjs/ui/TextButton.js +1 -1
  389. package/cjs/ui/TextMessageItemBody.js +14 -14
  390. package/cjs/ui/ThreadReplies.js +5 -5
  391. package/cjs/ui/ThumbnailMessageItemBody.js +6 -13
  392. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  393. package/cjs/ui/Toggle.js +1 -1
  394. package/cjs/ui/Tooltip.js +2 -2
  395. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  396. package/cjs/ui/UserListItem.js +10 -10
  397. package/cjs/ui/UserProfile.js +9 -9
  398. package/cjs/ui/VoiceMessageItemBody.js +17 -6
  399. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  400. package/cjs/ui/VoiceMessgeInput.js +7 -7
  401. package/cjs/ui/Word.js +10 -10
  402. package/cjs/{useDirtyGetMentions-cc7de01f.js → useDirtyGetMentions-9945a1c0.js} +1 -1
  403. package/cjs/{useDirtyGetMentions-cc7de01f.js.map → useDirtyGetMentions-9945a1c0.js.map} +1 -1
  404. package/cjs/{useLongPress-68ad7161.js → useLongPress-5174fd42.js} +3 -3
  405. package/cjs/{useLongPress-68ad7161.js.map → useLongPress-5174fd42.js.map} +1 -1
  406. package/cjs/useSendbirdStateContext.js +1 -1
  407. package/cjs/utils/message/isVoiceMessage.js +2 -2
  408. package/cjs/{utils-53aa911b.js → utils-2ef71eef.js} +1 -1
  409. package/cjs/{utils-53aa911b.js.map → utils-2ef71eef.js.map} +1 -1
  410. package/cjs/{utils-279e7553.js → utils-37a5dfde.js} +1 -1
  411. package/cjs/{utils-279e7553.js.map → utils-37a5dfde.js.map} +1 -1
  412. package/cjs/{utils-080f7835.js → utils-a7008e7b.js} +2 -2
  413. package/cjs/{utils-080f7835.js.map → utils-a7008e7b.js.map} +1 -1
  414. package/cjs/{utils-58e012fb.js → utils-f1c0d384.js} +1 -1
  415. package/cjs/{utils-58e012fb.js.map → utils-f1c0d384.js.map} +1 -1
  416. package/cjs/{uuid-2953f4dd.js → uuid-075367f7.js} +1 -1
  417. package/cjs/{uuid-2953f4dd.js.map → uuid-075367f7.js.map} +1 -1
  418. package/cjs/withSendbird.js +1 -1
  419. package/{color-879cc347.js → color-85cde5a7.js} +1 -1
  420. package/{color-879cc347.js.map → color-85cde5a7.js.map} +1 -1
  421. package/{compareIds-defe2bb3.js → compareIds-3e3591cb.js} +1 -1
  422. package/{compareIds-defe2bb3.js.map → compareIds-3e3591cb.js.map} +1 -1
  423. package/{const-b3f02313.js → const-2109eff9.js} +1 -1
  424. package/{const-b3f02313.js.map → const-2109eff9.js.map} +1 -1
  425. package/{const-221c6a89.js → const-91fefb8e.js} +1 -1
  426. package/{const-221c6a89.js.map → const-91fefb8e.js.map} +1 -1
  427. package/{consts-81544e52.js → consts-b6194fdf.js} +1 -1
  428. package/{consts-81544e52.js.map → consts-b6194fdf.js.map} +1 -1
  429. package/{consts-95d8566e.js → consts-bd5c0783.js} +1 -1
  430. package/{consts-95d8566e.js.map → consts-bd5c0783.js.map} +1 -1
  431. package/{consts-c41580ae.js → consts-d9de055a.js} +1 -1
  432. package/{consts-c41580ae.js.map → consts-d9de055a.js.map} +1 -1
  433. package/{consts-ff014656.js → consts-fafa501c.js} +1 -1
  434. package/{consts-ff014656.js.map → consts-fafa501c.js.map} +1 -1
  435. package/{context-63cbe5bd.js → context-b6e563d1.js} +2 -2
  436. package/{context-63cbe5bd.js.map → context-b6e563d1.js.map} +1 -1
  437. package/dist/index.css +737 -732
  438. package/dist/index.css.map +1 -1
  439. package/{index-cef1cfff.js → index-10472187.js} +3 -3
  440. package/{index-cef1cfff.js.map → index-10472187.js.map} +1 -1
  441. package/{index-fb8a5bc3.js → index-1a6d4397.js} +5 -5
  442. package/{index-fb8a5bc3.js.map → index-1a6d4397.js.map} +1 -1
  443. package/{index-f7ec60a8.js → index-2f7c2c8a.js} +2 -2
  444. package/{index-f7ec60a8.js.map → index-2f7c2c8a.js.map} +1 -1
  445. package/{index-2c3e11ea.js → index-31eb43c8.js} +4 -4
  446. package/{index-2c3e11ea.js.map → index-31eb43c8.js.map} +1 -1
  447. package/{index-99aabd9e.js → index-3515f8f3.js} +1 -1
  448. package/{index-99aabd9e.js.map → index-3515f8f3.js.map} +1 -1
  449. package/{index-7eb65acf.js → index-39f0a98e.js} +4 -5
  450. package/index-39f0a98e.js.map +1 -0
  451. package/{index-e6e562c5.js → index-3a6d5e45.js} +4 -4
  452. package/{index-e6e562c5.js.map → index-3a6d5e45.js.map} +1 -1
  453. package/{index-eaf0d65b.js → index-76929e40.js} +6 -6
  454. package/{index-eaf0d65b.js.map → index-76929e40.js.map} +1 -1
  455. package/{index-63949de5.js → index-8fb5d71a.js} +2 -2
  456. package/{index-63949de5.js.map → index-8fb5d71a.js.map} +1 -1
  457. package/{index-9e49ffe3.js → index-94ed0e50.js} +2 -2
  458. package/{index-9e49ffe3.js.map → index-94ed0e50.js.map} +1 -1
  459. package/{index-aca30408.js → index-9730aae6.js} +35 -20
  460. package/index-9730aae6.js.map +1 -0
  461. package/{index-38e61c64.js → index-a27543ed.js} +1 -1
  462. package/{index-38e61c64.js.map → index-a27543ed.js.map} +1 -1
  463. package/{index-fe932783.js → index-b05a5803.js} +2 -2
  464. package/{index-fe932783.js.map → index-b05a5803.js.map} +1 -1
  465. package/{index-306bc4ab.js → index-bbf4f597.js} +3 -3
  466. package/{index-306bc4ab.js.map → index-bbf4f597.js.map} +1 -1
  467. package/{index-5c1b672d.js → index-bf4f0a7e.js} +6 -6
  468. package/{index-5c1b672d.js.map → index-bf4f0a7e.js.map} +1 -1
  469. package/{index-5c985608.js → index-c54a357d.js} +62 -25
  470. package/index-c54a357d.js.map +1 -0
  471. package/{index-7cdd58b8.js → index-d847ae45.js} +2 -2
  472. package/{index-7cdd58b8.js.map → index-d847ae45.js.map} +1 -1
  473. package/index.d.ts +7 -3
  474. package/index.js +58 -56
  475. package/index.js.map +1 -1
  476. package/{index.module-54d57ec3.js → index.module-9faf1703.js} +1 -1
  477. package/{index.module-54d57ec3.js.map → index.module-9faf1703.js.map} +1 -1
  478. package/package.json +3 -2
  479. package/resolvedReplyType-f5cc6c0b.js +29 -0
  480. package/resolvedReplyType-f5cc6c0b.js.map +1 -0
  481. package/sendbirdSelectors.js +3 -3
  482. package/{stringSet-13bbd4a2.js → stringSet-d0b92983.js} +3 -1
  483. package/stringSet-d0b92983.js.map +1 -0
  484. package/{tokenize-c40f2b57.js → tokenize-fd0af52f.js} +2 -2
  485. package/{tokenize-c40f2b57.js.map → tokenize-fd0af52f.js.map} +1 -1
  486. package/{topics-b2b77fb9.js → topics-8aa96837.js} +1 -1
  487. package/{topics-b2b77fb9.js.map → topics-8aa96837.js.map} +1 -1
  488. package/{types-4ff4177c.js → types-7f0754fd.js} +1 -1
  489. package/types-7f0754fd.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 +5 -5
  500. package/ui/DateSeparator.js +3 -3
  501. package/ui/EmojiReactions.js +13 -13
  502. package/ui/FileMessageItemBody.js +6 -6
  503. package/ui/FileViewer.js +8 -8
  504. package/ui/IconButton.js +1 -1
  505. package/ui/Input.js +2 -2
  506. package/ui/Label.js +2 -2
  507. package/ui/LinkLabel.js +2 -2
  508. package/ui/MentionLabel.js +10 -10
  509. package/ui/MentionUserLabel.js +1 -1
  510. package/ui/MessageContent.js +35 -33
  511. package/ui/MessageContent.js.map +1 -1
  512. package/ui/MessageInput.js +71 -18
  513. package/ui/MessageInput.js.map +1 -1
  514. package/ui/MessageItemMenu.js +8 -8
  515. package/ui/MessageItemReactionMenu.js +8 -8
  516. package/ui/MessageSearchFileItem.js +10 -10
  517. package/ui/MessageSearchItem.js +8 -8
  518. package/ui/MessageStatus.js +10 -10
  519. package/ui/Modal.js +7 -7
  520. package/ui/OGMessageItemBody.js +14 -14
  521. package/ui/OpenChannelAdminMessage.js +2 -2
  522. package/ui/OpenChannelAvatar.js +5 -5
  523. package/ui/OpenchannelConversationHeader.js +6 -6
  524. package/ui/OpenchannelFileMessage.js +17 -17
  525. package/ui/OpenchannelFileMessage.js.map +1 -1
  526. package/ui/OpenchannelOGMessage.js +21 -21
  527. package/ui/OpenchannelOGMessage.js.map +1 -1
  528. package/ui/OpenchannelThumbnailMessage.js +16 -16
  529. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  530. package/ui/OpenchannelUserMessage.js +20 -21
  531. package/ui/OpenchannelUserMessage.js.map +1 -1
  532. package/ui/PlaceHolder.js +5 -5
  533. package/ui/PlaybackTime.js +2 -2
  534. package/ui/QuoteMessage.js +7 -7
  535. package/ui/QuoteMessage.js.map +1 -1
  536. package/ui/QuoteMessageInput.js +6 -6
  537. package/ui/ReactionBadge.js +2 -2
  538. package/ui/ReactionButton.js +4 -4
  539. package/ui/SortByRow.js +1 -1
  540. package/ui/TextButton.js +1 -1
  541. package/ui/TextMessageItemBody.js +14 -14
  542. package/ui/ThreadReplies.js +5 -5
  543. package/ui/ThumbnailMessageItemBody.js +6 -13
  544. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  545. package/ui/Toggle.js +1 -1
  546. package/ui/Tooltip.js +2 -2
  547. package/ui/UnknownMessageItemBody.js +6 -6
  548. package/ui/UserListItem.js +10 -10
  549. package/ui/UserProfile.js +9 -9
  550. package/ui/VoiceMessageItemBody.js +17 -6
  551. package/ui/VoiceMessageItemBody.js.map +1 -1
  552. package/ui/VoiceMessgeInput.js +7 -7
  553. package/ui/Word.js +10 -10
  554. package/{useDirtyGetMentions-aa730e2c.js → useDirtyGetMentions-5b631226.js} +1 -1
  555. package/{useDirtyGetMentions-aa730e2c.js.map → useDirtyGetMentions-5b631226.js.map} +1 -1
  556. package/{useLongPress-1303953d.js → useLongPress-700ef78f.js} +3 -3
  557. package/{useLongPress-1303953d.js.map → useLongPress-700ef78f.js.map} +1 -1
  558. package/useSendbirdStateContext.js +1 -1
  559. package/utils/message/isVoiceMessage.js +2 -2
  560. package/{utils-4bbbca2c.js → utils-0e2c993e.js} +1 -1
  561. package/{utils-4bbbca2c.js.map → utils-0e2c993e.js.map} +1 -1
  562. package/{utils-d86ad6ab.js → utils-6763f910.js} +1 -1
  563. package/{utils-d86ad6ab.js.map → utils-6763f910.js.map} +1 -1
  564. package/{utils-a2009c36.js → utils-8c4a9896.js} +1 -1
  565. package/{utils-a2009c36.js.map → utils-8c4a9896.js.map} +1 -1
  566. package/{utils-30d3ca65.js → utils-9de25bcb.js} +2 -2
  567. package/{utils-30d3ca65.js.map → utils-9de25bcb.js.map} +1 -1
  568. package/{uuid-1adedf62.js → uuid-eadf9a09.js} +1 -1
  569. package/{uuid-1adedf62.js.map → uuid-eadf9a09.js.map} +1 -1
  570. package/withSendbird.js +1 -1
  571. package/ChannelProvider-910bbc1f.js.map +0 -1
  572. package/MediaQueryContext-11f0e43f.js.map +0 -1
  573. package/MemberList-061d186f.js.map +0 -1
  574. package/ThreadProvider-3a4a4db0.js.map +0 -1
  575. package/VoiceMessageInputWrapper-dc459df1.js.map +0 -1
  576. package/_rollupPluginBabelHelpers-6bb0305c.js.map +0 -1
  577. package/cjs/ChannelProvider-da7b08a1.js.map +0 -1
  578. package/cjs/MediaQueryContext-f1e8fdbc.js.map +0 -1
  579. package/cjs/ThreadProvider-654b9db0.js.map +0 -1
  580. package/cjs/VoiceMessageInputWrapper-2aaed45b.js.map +0 -1
  581. package/cjs/_rollupPluginBabelHelpers-5fad415d.js.map +0 -1
  582. package/cjs/index-12ce8274.js.map +0 -1
  583. package/cjs/index-33b67e46.js.map +0 -1
  584. package/cjs/index-6e05ddef.js.map +0 -1
  585. package/cjs/stringSet-d7f78de0.js.map +0 -1
  586. package/cjs/types-ef51254c.js.map +0 -1
  587. package/index-5c985608.js.map +0 -1
  588. package/index-7eb65acf.js.map +0 -1
  589. package/index-aca30408.js.map +0 -1
  590. package/stringSet-13bbd4a2.js.map +0 -1
  591. package/types-4ff4177c.js.map +0 -1
@@ -1,70 +1,72 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Channel_context = require('../../ChannelProvider-da7b08a1.js');
5
- var ui_PlaceHolder = require('../../index-162396f5.js');
4
+ var Channel_context = require('../../ChannelProvider-54bb28cc.js');
5
+ var ui_PlaceHolder = require('../../index-1ee86976.js');
6
6
  var ui_Icon = require('../../ui/Icon.js');
7
7
  var Channel_components_Message = require('./Message.js');
8
- var index = require('../../index-80fc14fe.js');
8
+ var index = require('../../index-4ff12eb9.js');
9
9
  var Channel_components_UnreadCount = require('./UnreadCount.js');
10
10
  var Channel_components_FrozenNotification = require('./FrozenNotification.js');
11
- var consts = require('../../consts-297fdae1.js');
11
+ var consts = require('../../consts-ccfad912.js');
12
12
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
13
13
  var Message_context = require('../../Message/context.js');
14
- var index$1 = require('../../index-a715eaef.js');
15
- require('../../UserProfileContext-0c255fa6.js');
14
+ var index$1 = require('../../index-0d4b8939.js');
15
+ require('../../UserProfileContext-27a5718b.js');
16
16
  require('prop-types');
17
- require('../../index-bf4e62fb.js');
18
- require('../../index-0f42efcf.js');
19
- require('../../topics-2431bb78.js');
20
- require('../../index-33b67e46.js');
21
- require('../../_rollupPluginBabelHelpers-5fad415d.js');
17
+ require('../../const-44ddbe54.js');
18
+ require('../../index-f7b329d2.js');
19
+ require('../../index-71def451.js');
20
+ require('../../topics-3e3eb86d.js');
21
+ require('../../index-7a9d2024.js');
22
+ require('../../_rollupPluginBabelHelpers-d68672d6.js');
22
23
  require('../../utils/message/getOutgoingMessageState.js');
23
- require('../../compareIds-f064c47d.js');
24
- require('../../const-692d0039.js');
24
+ require('../../compareIds-96cdd2a0.js');
25
25
  require('@sendbird/chat/groupChannel');
26
- require('../../uuid-2953f4dd.js');
26
+ require('../../uuid-075367f7.js');
27
27
  require('@sendbird/chat/message');
28
- require('../../LocalizationContext-df436a16.js');
29
- require('../../stringSet-d7f78de0.js');
30
- require('../../index-c89616c9.js');
28
+ require('../../resolvedReplyType-42ff3f75.js');
29
+ require('../../LocalizationContext-bdc95952.js');
30
+ require('../../stringSet-0cddd94a.js');
31
+ require('../../index-e766176d.js');
31
32
  require('../../ui/Loader.js');
32
33
  require('./SuggestedMentionList.js');
33
34
  require('../../ui/Avatar.js');
34
35
  require('../../ui/ImageRenderer.js');
35
- require('../../const-0a12bf51.js');
36
- require('../../ThreadProvider-654b9db0.js');
36
+ require('../../const-73fbd467.js');
37
+ require('../../ThreadProvider-17ad9d05.js');
37
38
  require('../../Thread/context/types.js');
38
39
  require('@sendbird/chat');
39
40
  require('../../ui/DateSeparator.js');
40
- require('../../color-026d07a6.js');
41
+ require('../../color-bb9924cb.js');
41
42
  require('../../ui/MessageInput.js');
42
43
  require('../../ui/IconButton.js');
43
44
  require('../../ui/Button.js');
44
45
  require('dompurify');
45
- require('../../consts-2f667487.js');
46
- require('../../consts-f0dc64d0.js');
47
- require('../../consts-25fc4351.js');
48
- require('../../tokenize-595877b4.js');
46
+ require('../../consts-40680de5.js');
47
+ require('../../consts-2dfc1883.js');
48
+ require('../../consts-4fbdb1d6.js');
49
+ require('../../tokenize-75ed25db.js');
50
+ require('../../index.module-3e11d4a7.js');
49
51
  require('../../ui/MessageContent.js');
50
52
  require('../../ui/UserProfile.js');
51
53
  require('../../sendbirdSelectors.js');
52
- require('../../utils-279e7553.js');
53
- require('../../index-4881e776.js');
54
- require('../../index-21392a2e.js');
54
+ require('../../utils-37a5dfde.js');
55
+ require('../../index-ca51d316.js');
56
+ require('../../index-b6a49cba.js');
55
57
  require('../../ui/MessageItemMenu.js');
56
58
  require('../../ui/ContextMenu.js');
57
59
  require('react-dom');
58
60
  require('../../ui/SortByRow.js');
59
- require('../../types-ef51254c.js');
61
+ require('../../types-2138565d.js');
60
62
  require('../../ui/MessageItemReactionMenu.js');
61
63
  require('../../ui/ReactionButton.js');
62
- require('../../useLongPress-68ad7161.js');
63
- require('../../MediaQueryContext-f1e8fdbc.js');
64
+ require('../../useLongPress-5174fd42.js');
65
+ require('../../MediaQueryContext-28b81968.js');
64
66
  require('../../ui/EmojiReactions.js');
65
67
  require('../../ui/ReactionBadge.js');
66
68
  require('../../ui/BottomSheet.js');
67
- require('../../index-dd9bc361.js');
69
+ require('../../index-77c91851.js');
68
70
  require('../../ui/UserListItem.js');
69
71
  require('../../ui/MutedAvatarOverlay.js');
70
72
  require('../../ui/Checkbox.js');
@@ -72,8 +74,7 @@ require('../../ui/Tooltip.js');
72
74
  require('../../ui/TooltipWrapper.js');
73
75
  require('../../ui/AdminMessage.js');
74
76
  require('../../ui/TextMessageItemBody.js');
75
- require('../../index-450be53e.js');
76
- require('../../index.module-e5552393.js');
77
+ require('../../index-adcca875.js');
77
78
  require('../../ui/MentionLabel.js');
78
79
  require('../../ui/LinkLabel.js');
79
80
  require('../../ui/FileMessageItemBody.js');
@@ -82,19 +83,19 @@ require('../../ui/ThumbnailMessageItemBody.js');
82
83
  require('../../ui/OGMessageItemBody.js');
83
84
  require('../../ui/UnknownMessageItemBody.js');
84
85
  require('../../ui/QuoteMessage.js');
85
- require('../../index-6e05ddef.js');
86
+ require('../../index-89314643.js');
86
87
  require('../../ui/ThreadReplies.js');
87
88
  require('../../ui/VoiceMessageItemBody.js');
88
89
  require('../../ui/ProgressBar.js');
89
90
  require('../../VoicePlayer/useVoicePlayer.js');
90
- require('../../index-12ce8274.js');
91
+ require('../../index-dada883d.js');
91
92
  require('../../VoiceRecorder/context.js');
93
+ require('../../ui/Modal.js');
92
94
  require('../../withSendbird.js');
93
95
  require('../../ui/PlaybackTime.js');
94
96
  require('./FileViewer.js');
95
97
  require('./RemoveMessageModal.js');
96
- require('../../ui/Modal.js');
97
- require('../../useDirtyGetMentions-cc7de01f.js');
98
+ require('../../useDirtyGetMentions-9945a1c0.js');
98
99
 
99
100
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
100
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sources":["../../../../src/modules/Channel/components/MessageList/getMessagePartsInfo.ts","../../../../src/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.ts","../../../../src/modules/Channel/components/MessageList/index.tsx"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { compareMessagesForGrouping } from '../../context/utils';\n\nexport interface GetMessagePartsInfoProps {\n allMessages: Array<UserMessage | FileMessage | AdminMessage>;\n isMessageGroupingEnabled: boolean;\n currentIndex: number;\n currentMessage: UserMessage | FileMessage | AdminMessage;\n currentChannel: GroupChannel;\n replyType: string;\n}\n\ninterface OutPuts {\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n}\n\nexport const getMessagePartsInfo = ({\n allMessages = [],\n isMessageGroupingEnabled = true,\n currentIndex = 0,\n currentMessage = null,\n currentChannel = null,\n replyType = '',\n}: GetMessagePartsInfoProps): OutPuts => {\n const previousMessage = allMessages[currentIndex - 1];\n const nextMessage = allMessages[currentIndex + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = currentMessage.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n return {\n chainTop,\n chainBottom,\n hasSeparator,\n };\n};\n","import React, { useState } from 'react';\nimport { useDebounce } from '../../../../../hooks/useDebounce';\n\nconst DELAY = 500;\n\nexport function useSetScrollToBottom(): ({\n scrollBottom: number;\n scrollToBottomHandler: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;\n}) {\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollCb = (e: React.UIEvent<HTMLDivElement, UIEvent>) => {\n const element = e.target as HTMLDivElement;\n try {\n setScrollBottom(element.scrollHeight - element.scrollTop - element.offsetHeight);\n } catch {\n //\n }\n };\n return {\n scrollBottom,\n scrollToBottomHandler: useDebounce(scrollCb, DELAY),\n };\n}\n","import './message-list.scss';\n\nimport React from 'react';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Message from '../Message';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport { getMessagePartsInfo } from './getMessagePartsInfo';\nimport UnreadCount from '../UnreadCount';\nimport FrozenNotification from '../FrozenNotification';\nimport { SCROLL_BUFFER } from '../../../../utils/consts';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { useHandleOnScrollCallback } from '../../../../hooks/useHandleOnScrollCallback';\nimport { useSetScrollToBottom } from './hooks/useSetScrollToBottom';\n\nconst SCROLL_BOTTOM_PADDING = 50;\n\nexport interface MessageListProps {\n className?: string;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderPlaceholderLoader?: () => React.ReactElement;\n}\n\nconst MessageList: React.FC<MessageListProps> = ({\n className = '',\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n renderPlaceholderLoader,\n}) => {\n const {\n allMessages,\n hasMorePrev,\n hasMoreNext,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n filterMessageList,\n replyType,\n loading,\n unreadSince,\n } = useChannelContext();\n const store = useSendbirdStateContext();\n const allMessagesFiltered = (typeof filterMessageList === 'function')\n ? allMessages.filter((filterMessageList as (message: EveryMessage) => boolean))\n : allMessages;\n const markAsReadScheduler = store.config.markAsReadScheduler;\n\n const onScroll = () => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (isAboutSame(scrollTop, 0, SCROLL_BUFFER)) {\n onScrollCallback((messages) => {\n if (messages) {\n try {\n //\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER) && hasMoreNext) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (!disableMarkAsRead\n && isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER)\n && !!currentGroupChannel\n ) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n markAsReadScheduler.push(currentGroupChannel);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n };\n\n // Move the messsage list scroll when the last message's height is changed by reactions\n const handleMessageHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom && scrollBottom <= SCROLL_BUFFER) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n // Keep the scrollBottom value after fetching new message list\n const handleMessageListHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n const handleOnScroll = useHandleOnScrollCallback({\n hasMore: hasMorePrev,\n hasNext: hasMoreNext,\n onScroll,\n scrollRef,\n });\n\n const { scrollToBottomHandler, scrollBottom } = useSetScrollToBottom();\n\n if (loading) {\n return (typeof renderPlaceholderLoader === 'function')\n ? renderPlaceholderLoader()\n : <PlaceHolder type={PlaceHolderTypes.LOADING} />;\n }\n if (allMessagesFiltered.length < 1) {\n if (renderPlaceholderEmpty && typeof renderPlaceholderEmpty === 'function') {\n return renderPlaceholderEmpty();\n }\n return <PlaceHolder className=\"sendbird-conversation__no-messages\" type={PlaceHolderTypes.NO_MESSAGES} />;\n }\n return (\n <div className={`sendbird-conversation__messages ${className}`}>\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={(e) => {\n handleOnScroll();\n scrollToBottomHandler(e);\n }}\n >\n {allMessagesFiltered.map((m, idx) => {\n const {\n chainTop,\n chainBottom,\n hasSeparator,\n } = getMessagePartsInfo({\n allMessages: allMessagesFiltered,\n replyType,\n isMessageGroupingEnabled,\n currentIndex: idx,\n currentMessage: m,\n currentChannel: currentGroupChannel,\n });\n const isByMe = (m as UserMessage)?.sender?.userId === store?.config?.userId;\n return (\n <MessageProvider message={m} key={m?.messageId} isByMe={isByMe}>\n <Message\n handleScroll={handleMessageHeightChange}\n handleMessageListHeightChange={handleMessageListHeightChange}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n />\n </MessageProvider>\n );\n })}\n {/* show frozen notifications */}\n {/* show new message notifications */}\n </div>\n </div>\n {currentGroupChannel?.isFrozen && (\n <FrozenNotification className=\"sendbird-conversation__messages__notification\" />\n )}\n <UnreadCount\n className=\"sendbird-conversation__messages__notification\"\n count={currentGroupChannel?.unreadMessageCount}\n time={unreadSince}\n onClick={() => {\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n if (!disableMarkAsRead && !!currentGroupChannel) {\n markAsReadScheduler.push(currentGroupChannel);\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n }\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n {\n // This flag is an unmatched variable\n scrollBottom > SCROLL_BOTTOM_PADDING && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["getMessagePartsInfo","_ref","allMessages","isMessageGroupingEnabled","currentIndex","currentMessage","currentChannel","replyType","previousMessage","nextMessage","chainTop","chainBottom","compareMessagesForGrouping","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","DELAY","useSetScrollToBottom","scrollBottom","setScrollBottom","useState","scrollCb","e","element","target","scrollHeight","scrollTop","offsetHeight","_unused","scrollToBottomHandler","useDebounce","SCROLL_BOTTOM_PADDING","MessageList","className","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","renderPlaceholderLoader","hasMorePrev","hasMoreNext","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","filterMessageList","loading","unreadSince","useChannelContext","store","useSendbirdStateContext","allMessagesFiltered","filter","markAsReadScheduler","config","onScroll","current","clientHeight","isAboutSame","SCROLL_BUFFER","messages","_ref2","type","MARK_AS_READ","payload","channel","push","onClickScrollBot","_scrollRef$current","_scrollRef$current$sc","_scrollRef$current2","_scrollRef$current$of","_scrollRef$current3","handleMessageHeightChange","bottom","handleMessageListHeightChange","handleOnScroll","useHandleOnScrollCallback","hasMore","hasNext","React","createElement","PlaceHolder","PlaceHolderTypes","LOADING","length","NO_MESSAGES","ref","map","m","idx","_sender","_store$config","isByMe","sender","userId","MessageProvider","message","key","messageId","Message","handleScroll","isFrozen","FrozenNotification","UnreadCount","count","unreadMessageCount","time","onClick","_scrollRef$current4","_scrollRef$current$sc2","_scrollRef$current5","_scrollRef$current$of2","_scrollRef$current6","onKeyDown","tabIndex","role","Icon","width","height","IconTypes","CHEVRON_DOWN","fillColor","IconColors","PRIMARY"],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sources":["../../../../src/modules/Channel/components/MessageList/getMessagePartsInfo.ts","../../../../src/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.ts","../../../../src/modules/Channel/components/MessageList/index.tsx"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { compareMessagesForGrouping } from '../../context/utils';\n\nexport interface GetMessagePartsInfoProps {\n allMessages: Array<UserMessage | FileMessage | AdminMessage>;\n isMessageGroupingEnabled: boolean;\n currentIndex: number;\n currentMessage: UserMessage | FileMessage | AdminMessage;\n currentChannel: GroupChannel;\n replyType: string;\n}\n\ninterface OutPuts {\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n}\n\nexport const getMessagePartsInfo = ({\n allMessages = [],\n isMessageGroupingEnabled = true,\n currentIndex = 0,\n currentMessage = null,\n currentChannel = null,\n replyType = '',\n}: GetMessagePartsInfoProps): OutPuts => {\n const previousMessage = allMessages[currentIndex - 1];\n const nextMessage = allMessages[currentIndex + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = currentMessage.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n return {\n chainTop,\n chainBottom,\n hasSeparator,\n };\n};\n","import React, { useState } from 'react';\nimport { useDebounce } from '../../../../../hooks/useDebounce';\n\nconst DELAY = 500;\n\nexport function useSetScrollToBottom(): ({\n scrollBottom: number;\n scrollToBottomHandler: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;\n}) {\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollCb = (e: React.UIEvent<HTMLDivElement, UIEvent>) => {\n const element = e.target as HTMLDivElement;\n try {\n setScrollBottom(element.scrollHeight - element.scrollTop - element.offsetHeight);\n } catch {\n //\n }\n };\n return {\n scrollBottom,\n scrollToBottomHandler: useDebounce(scrollCb, DELAY),\n };\n}\n","import './message-list.scss';\n\nimport React from 'react';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Message from '../Message';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport { getMessagePartsInfo } from './getMessagePartsInfo';\nimport UnreadCount from '../UnreadCount';\nimport FrozenNotification from '../FrozenNotification';\nimport { SCROLL_BUFFER } from '../../../../utils/consts';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { useHandleOnScrollCallback } from '../../../../hooks/useHandleOnScrollCallback';\nimport { useSetScrollToBottom } from './hooks/useSetScrollToBottom';\n\nconst SCROLL_BOTTOM_PADDING = 50;\n\nexport interface MessageListProps {\n className?: string;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderPlaceholderLoader?: () => React.ReactElement;\n}\n\nconst MessageList: React.FC<MessageListProps> = ({\n className = '',\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n renderPlaceholderLoader,\n}) => {\n const {\n allMessages,\n hasMorePrev,\n hasMoreNext,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n filterMessageList,\n replyType,\n loading,\n unreadSince,\n } = useChannelContext();\n const store = useSendbirdStateContext();\n const allMessagesFiltered = (typeof filterMessageList === 'function')\n ? allMessages.filter((filterMessageList as (message: EveryMessage) => boolean))\n : allMessages;\n const markAsReadScheduler = store.config.markAsReadScheduler;\n\n const onScroll = () => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (isAboutSame(scrollTop, 0, SCROLL_BUFFER)) {\n onScrollCallback((messages) => {\n if (messages) {\n try {\n //\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER) && hasMoreNext) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (!disableMarkAsRead\n && isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER)\n && !!currentGroupChannel\n ) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n markAsReadScheduler.push(currentGroupChannel);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n };\n\n // Move the messsage list scroll when the last message's height is changed by reactions\n const handleMessageHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom && scrollBottom <= SCROLL_BUFFER) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n // Keep the scrollBottom value after fetching new message list\n const handleMessageListHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n const handleOnScroll = useHandleOnScrollCallback({\n hasMore: hasMorePrev,\n hasNext: hasMoreNext,\n onScroll,\n scrollRef,\n });\n\n const { scrollToBottomHandler, scrollBottom } = useSetScrollToBottom();\n\n if (loading) {\n return (typeof renderPlaceholderLoader === 'function')\n ? renderPlaceholderLoader()\n : <PlaceHolder type={PlaceHolderTypes.LOADING} />;\n }\n if (allMessagesFiltered.length < 1) {\n if (renderPlaceholderEmpty && typeof renderPlaceholderEmpty === 'function') {\n return renderPlaceholderEmpty();\n }\n return <PlaceHolder className=\"sendbird-conversation__no-messages\" type={PlaceHolderTypes.NO_MESSAGES} />;\n }\n return (\n <div className={`sendbird-conversation__messages ${className}`}>\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={(e) => {\n handleOnScroll();\n scrollToBottomHandler(e);\n }}\n >\n {allMessagesFiltered.map((m, idx) => {\n const {\n chainTop,\n chainBottom,\n hasSeparator,\n } = getMessagePartsInfo({\n allMessages: allMessagesFiltered,\n replyType,\n isMessageGroupingEnabled,\n currentIndex: idx,\n currentMessage: m,\n currentChannel: currentGroupChannel,\n });\n const isByMe = (m as UserMessage)?.sender?.userId === store?.config?.userId;\n return (\n <MessageProvider message={m} key={m?.messageId} isByMe={isByMe}>\n <Message\n handleScroll={handleMessageHeightChange}\n handleMessageListHeightChange={handleMessageListHeightChange}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n />\n </MessageProvider>\n );\n })}\n {/* show frozen notifications */}\n {/* show new message notifications */}\n </div>\n </div>\n {currentGroupChannel?.isFrozen && (\n <FrozenNotification className=\"sendbird-conversation__messages__notification\" />\n )}\n <UnreadCount\n className=\"sendbird-conversation__messages__notification\"\n count={currentGroupChannel?.unreadMessageCount}\n time={unreadSince}\n onClick={() => {\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n if (!disableMarkAsRead && !!currentGroupChannel) {\n markAsReadScheduler.push(currentGroupChannel);\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n }\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n {\n // This flag is an unmatched variable\n scrollBottom > SCROLL_BOTTOM_PADDING && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["getMessagePartsInfo","_ref","allMessages","isMessageGroupingEnabled","currentIndex","currentMessage","currentChannel","replyType","previousMessage","nextMessage","chainTop","chainBottom","compareMessagesForGrouping","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","DELAY","useSetScrollToBottom","scrollBottom","setScrollBottom","useState","scrollCb","e","element","target","scrollHeight","scrollTop","offsetHeight","_unused","scrollToBottomHandler","useDebounce","SCROLL_BOTTOM_PADDING","MessageList","className","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","renderPlaceholderLoader","hasMorePrev","hasMoreNext","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","filterMessageList","loading","unreadSince","useChannelContext","store","useSendbirdStateContext","allMessagesFiltered","filter","markAsReadScheduler","config","onScroll","current","clientHeight","isAboutSame","SCROLL_BUFFER","messages","_ref2","type","MARK_AS_READ","payload","channel","push","onClickScrollBot","_scrollRef$current","_scrollRef$current$sc","_scrollRef$current2","_scrollRef$current$of","_scrollRef$current3","handleMessageHeightChange","bottom","handleMessageListHeightChange","handleOnScroll","useHandleOnScrollCallback","hasMore","hasNext","React","createElement","PlaceHolder","PlaceHolderTypes","LOADING","length","NO_MESSAGES","ref","map","m","idx","_sender","_store$config","isByMe","sender","userId","MessageProvider","message","key","messageId","Message","handleScroll","isFrozen","FrozenNotification","UnreadCount","count","unreadMessageCount","time","onClick","_scrollRef$current4","_scrollRef$current$sc2","_scrollRef$current5","_scrollRef$current$of2","_scrollRef$current6","onKeyDown","tabIndex","role","Icon","width","height","IconTypes","CHEVRON_DOWN","fillColor","IconColors","PRIMARY"],"mappings":"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"}
@@ -3,31 +3,32 @@
3
3
  var React = require('react');
4
4
  var ui_Modal = require('../../ui/Modal.js');
5
5
  var ui_Button = require('../../ui/Button.js');
6
- var LocalizationContext = require('../../LocalizationContext-df436a16.js');
7
- var Channel_context = require('../../ChannelProvider-da7b08a1.js');
6
+ var LocalizationContext = require('../../LocalizationContext-bdc95952.js');
7
+ var Channel_context = require('../../ChannelProvider-54bb28cc.js');
8
8
  require('react-dom');
9
- require('../../index-dd9bc361.js');
9
+ require('../../index-77c91851.js');
10
10
  require('../../ui/Icon.js');
11
11
  require('prop-types');
12
12
  require('../../ui/IconButton.js');
13
- require('../../_rollupPluginBabelHelpers-5fad415d.js');
14
- require('../../index-c89616c9.js');
15
- require('../../stringSet-d7f78de0.js');
16
- require('../../MediaQueryContext-f1e8fdbc.js');
17
- require('../../index-0f42efcf.js');
18
- require('../../UserProfileContext-0c255fa6.js');
13
+ require('../../_rollupPluginBabelHelpers-d68672d6.js');
14
+ require('../../index-e766176d.js');
15
+ require('../../stringSet-0cddd94a.js');
16
+ require('../../MediaQueryContext-28b81968.js');
17
+ require('../../index-71def451.js');
18
+ require('../../UserProfileContext-27a5718b.js');
19
19
  require('../../useSendbirdStateContext.js');
20
20
  require('../../withSendbird.js');
21
- require('../../index-bf4e62fb.js');
22
- require('../../topics-2431bb78.js');
23
- require('../../index-33b67e46.js');
21
+ require('../../const-44ddbe54.js');
22
+ require('../../index-f7b329d2.js');
23
+ require('../../topics-3e3eb86d.js');
24
+ require('../../index-7a9d2024.js');
24
25
  require('../../utils/message/getOutgoingMessageState.js');
25
- require('../../compareIds-f064c47d.js');
26
- require('../../const-692d0039.js');
26
+ require('../../compareIds-96cdd2a0.js');
27
27
  require('@sendbird/chat/groupChannel');
28
- require('../../uuid-2953f4dd.js');
28
+ require('../../uuid-075367f7.js');
29
29
  require('@sendbird/chat/message');
30
- require('../../consts-297fdae1.js');
30
+ require('../../consts-ccfad912.js');
31
+ require('../../resolvedReplyType-42ff3f75.js');
31
32
 
32
33
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/modules/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onSubmit?: () => void;\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onSubmit = () => { /* noop */ },\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onSubmit();\n onCancel();\n }); }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","_message$threadInfo","onSubmit","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","createElement","Modal","type","ButtonTypes","DANGER","disabled","threadInfo","replyCount","then","submitText","MESSAGE_MENU__DELETE","titleText","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcMA,MAAAA,aAA2C,GAAIC,KAAyB,IAAK;AAAA,EAAA,IAAAC,mBAAA,CAAA;EACjF,MAAM;AACJC,IAAAA,QAAQ,GAAGA,MAAM,YAAc;IAC/BC,QAAQ;AACRC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,KAAK,CAAA;EACT,MAAM;AAAEK,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,MAAM;AACJC,IAAAA,aAAAA;GACD,GAAGC,iCAAiB,EAAE,CAAA;AACvB,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,mBAAK,EAAA;IACJC,IAAI,EAAEC,qBAAW,CAACC,MAAO;AACzBC,IAAAA,QAAQ,EAAE,CAAAZ,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAH,mBAAA,GAAPG,OAAO,CAAEa,UAAU,cAAAhB,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqBiB,UAAU,IAAG,CAAE;AAC9Cf,IAAAA,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,MAAM;AAAEM,MAAAA,aAAa,CAACJ,OAAO,CAAC,CAACe,IAAI,CAAC,MAAM;AAClDjB,QAAAA,QAAQ,EAAE,CAAA;AACVC,QAAAA,QAAQ,EAAE,CAAA;AACZ,OAAC,CAAC,CAAA;KAAI;IACNiB,UAAU,EAAEf,SAAS,CAACgB,oBAAqB;IAC3CC,SAAS,EAAEjB,SAAS,CAACkB,4BAAAA;GACrB,CAAA,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/modules/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onSubmit?: () => void;\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onSubmit = () => { /* noop */ },\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onSubmit();\n onCancel();\n }); }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","_message$threadInfo","onSubmit","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","createElement","Modal","type","ButtonTypes","DANGER","disabled","threadInfo","replyCount","then","submitText","MESSAGE_MENU__DELETE","titleText","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcMA,MAAAA,aAA2C,GAAIC,KAAyB,IAAK;AAAA,EAAA,IAAAC,mBAAA,CAAA;EACjF,MAAM;AACJC,IAAAA,QAAQ,GAAGA,MAAM,YAAc;IAC/BC,QAAQ;AACRC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,KAAK,CAAA;EACT,MAAM;AAAEK,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,MAAM;AACJC,IAAAA,aAAAA;GACD,GAAGC,iCAAiB,EAAE,CAAA;AACvB,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,mBAAK,EAAA;IACJC,IAAI,EAAEC,qBAAW,CAACC,MAAO;AACzBC,IAAAA,QAAQ,EAAE,CAAAZ,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAH,mBAAA,GAAPG,OAAO,CAAEa,UAAU,cAAAhB,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqBiB,UAAU,IAAG,CAAE;AAC9Cf,IAAAA,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,MAAM;AAAEM,MAAAA,aAAa,CAACJ,OAAO,CAAC,CAACe,IAAI,CAAC,MAAM;AAClDjB,QAAAA,QAAQ,EAAE,CAAA;AACVC,QAAAA,QAAQ,EAAE,CAAA;AACZ,OAAC,CAAC,CAAA;KAAI;IACNiB,UAAU,EAAEf,SAAS,CAACgB,oBAAqB;IAC3CC,SAAS,EAAEjB,SAAS,CAACkB,4BAAAA;GACrB,CAAA,CAAA;AAEN;;;;"}
@@ -1,30 +1,31 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ui_Label = require('../../index-c89616c9.js');
4
+ var ui_Label = require('../../index-e766176d.js');
5
5
  var ui_Icon = require('../../ui/Icon.js');
6
6
  var ui_Avatar = require('../../ui/Avatar.js');
7
- var LocalizationContext = require('../../LocalizationContext-df436a16.js');
8
- var uuid = require('../../uuid-2953f4dd.js');
9
- var Channel_context = require('../../ChannelProvider-da7b08a1.js');
7
+ var LocalizationContext = require('../../LocalizationContext-bdc95952.js');
8
+ var uuid = require('../../uuid-075367f7.js');
9
+ var Channel_context = require('../../ChannelProvider-54bb28cc.js');
10
10
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
11
- var _const$1 = require('../../const-692d0039.js');
12
- var _const = require('../../const-0a12bf51.js');
13
- var Thread_context = require('../../ThreadProvider-654b9db0.js');
11
+ var _const$1 = require('../../const-44ddbe54.js');
12
+ var _const = require('../../const-73fbd467.js');
13
+ var Thread_context = require('../../ThreadProvider-17ad9d05.js');
14
14
  require('prop-types');
15
- require('../../stringSet-d7f78de0.js');
15
+ require('../../stringSet-0cddd94a.js');
16
16
  require('../../ui/ImageRenderer.js');
17
- require('../../index-0f42efcf.js');
18
- require('../../UserProfileContext-0c255fa6.js');
19
- require('../../index-bf4e62fb.js');
20
- require('../../topics-2431bb78.js');
21
- require('../../index-33b67e46.js');
22
- require('../../_rollupPluginBabelHelpers-5fad415d.js');
17
+ require('../../index-71def451.js');
18
+ require('../../UserProfileContext-27a5718b.js');
19
+ require('../../index-f7b329d2.js');
20
+ require('../../topics-3e3eb86d.js');
21
+ require('../../index-7a9d2024.js');
22
+ require('../../_rollupPluginBabelHelpers-d68672d6.js');
23
23
  require('../../utils/message/getOutgoingMessageState.js');
24
- require('../../compareIds-f064c47d.js');
24
+ require('../../compareIds-96cdd2a0.js');
25
25
  require('@sendbird/chat/groupChannel');
26
26
  require('@sendbird/chat/message');
27
- require('../../consts-297fdae1.js');
27
+ require('../../consts-ccfad912.js');
28
+ require('../../resolvedReplyType-42ff3f75.js');
28
29
  require('../../withSendbird.js');
29
30
  require('../../Thread/context/types.js');
30
31
  require('@sendbird/chat');
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/modules/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef<HTMLDivElement>(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused && parentScrollRef?.current != null && scrollRef?.current != null\n && (parentScrollRef.current.scrollTop >= scrollRef.current.offsetTop\n || parentScrollRef.current.scrollTop + parentScrollRef.current.clientHeight <= scrollRef.current.offsetTop\n )) {\n scrollRef.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\nimport { useThreadContext } from '../../../Thread/context/ThreadProvider';\n\nexport interface SuggestedMentionListProps {\n className?: string;\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n className,\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const currentGroupChannel = useChannelContext?.()?.currentGroupChannel;\n const currentChannel = useThreadContext?.()?.currentChannel;\n const channelInstance = currentGroupChannel || currentChannel;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME),\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!channelInstance?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = channelInstance?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [channelInstance?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className={`sendbird-mention-suggest-list ${className}`}\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","stringSet","useContext","LocalizationContext","useEffect","current","scrollTop","offsetTop","clientHeight","scrollIntoView","block","inline","customMentionItem","useMemo","React","createElement","className","event","itemRef","key","userId","uuidv4","ref","user","Avatar","src","profileUrl","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","_useChannelContext","_useThreadContext","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","maxMentionCount","MAX_USER_MENTION_COUNT","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","currentGroupChannel","useChannelContext","currentChannel","useThreadContext","channelInstance","config","stores","useSendbirdStateContext","logger","currentUserId","sdkStore","sdk","currentUser","timer","setTimer","useState","searchString","setSearchString","lastSearchString","setLastSearchString","setCurrentUser","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","_ref","_ref2","Icon","IconTypes","INFO","fillColor","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
1
+ {"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/modules/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef<HTMLDivElement>(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused && parentScrollRef?.current != null && scrollRef?.current != null\n && (parentScrollRef.current.scrollTop >= scrollRef.current.offsetTop\n || parentScrollRef.current.scrollTop + parentScrollRef.current.clientHeight <= scrollRef.current.offsetTop\n )) {\n scrollRef.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\nimport { useThreadContext } from '../../../Thread/context/ThreadProvider';\n\nexport interface SuggestedMentionListProps {\n className?: string;\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n className,\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const currentGroupChannel = useChannelContext?.()?.currentGroupChannel;\n const currentChannel = useThreadContext?.()?.currentChannel;\n const channelInstance = currentGroupChannel || currentChannel;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME),\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!channelInstance?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = channelInstance?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [channelInstance?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className={`sendbird-mention-suggest-list ${className}`}\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","stringSet","useContext","LocalizationContext","useEffect","current","scrollTop","offsetTop","clientHeight","scrollIntoView","block","inline","customMentionItem","useMemo","React","createElement","className","event","itemRef","key","userId","uuidv4","ref","user","Avatar","src","profileUrl","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","_useChannelContext","_useThreadContext","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","maxMentionCount","MAX_USER_MENTION_COUNT","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","currentGroupChannel","useChannelContext","currentChannel","useThreadContext","channelInstance","config","stores","useSendbirdStateContext","logger","currentUserId","sdkStore","sdk","currentUser","timer","setTimer","useState","searchString","setSearchString","lastSearchString","setLastSearchString","setCurrentUser","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","_ref","_ref2","Icon","IconTypes","INFO","fillColor","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAASA,wBAAwBA,CAACC,KAAoC,EAAe;EACnF,MAAM;IACJC,MAAM;AACNC,IAAAA,SAAS,GAAG,KAAK;IACjBC,eAAe;IACfC,OAAO;IACPC,WAAW;IACXC,WAAW;AACXC,IAAAA,qBAAAA;AACF,GAAC,GAAGP,KAAK,CAAA;AACT,EAAA,MAAMQ,SAAS,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;EAC9C,MAAM;AAAEC,IAAAA,SAAS,GAAG,EAAC;AAAE,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;AAC1DC,EAAAA,eAAS,CAAC,MAAM;IACd,IAAIX,SAAS,IAAI,CAAAC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAEW,OAAO,KAAI,IAAI,IAAI,CAAAN,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEM,OAAO,KAAI,IAAI,KACzEX,eAAe,CAACW,OAAO,CAACC,SAAS,IAAIP,SAAS,CAACM,OAAO,CAACE,SAAS,IAC/Db,eAAe,CAACW,OAAO,CAACC,SAAS,GAAGZ,eAAe,CAACW,OAAO,CAACG,YAAY,IAAIT,SAAS,CAACM,OAAO,CAACE,SAAS,CAC3G,EAAE;AACHR,MAAAA,SAAS,CAACM,OAAO,CAACI,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,SAAS;AAAEC,QAAAA,MAAM,EAAE,SAAA;AAAU,OAAC,CAAC,CAAA;AAC3E,KAAA;AACF,GAAC,EAAE,CAAClB,SAAS,CAAC,CAAC,CAAA;AACf,EAAA,MAAMmB,iBAAiB,GAAGC,aAAO,CAAC,MAAM;AACtC,IAAA,IAAIf,qBAAqB,EAAE;MACzB,oBACEgB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,0CAA0C;QACpDrB,OAAO,EAAGsB,KAAK,IAAKtB,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAG;UAAEsB,KAAK;AAAEzB,UAAAA,MAAM,EAAGA,MAAiB;AAAE0B,UAAAA,OAAO,EAAEnB,SAAAA;AAAU,SAAC,CAAE;QACzFH,WAAW,EAAGqB,KAAK,IAAKrB,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG;UAAEqB,KAAK;AAAEzB,UAAAA,MAAM,EAAGA,MAAiB;AAAE0B,UAAAA,OAAO,EAAEnB,SAAAA;AAAU,SAAC,CAAE;QACjGF,WAAW,EAAGoB,KAAK,IAAKpB,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG;UAAEoB,KAAK;AAAEzB,UAAAA,MAAM,EAAGA,MAAiB;AAAE0B,UAAAA,OAAO,EAAEnB,SAAAA;AAAU,SAAC,CAAE;QACjGoB,GAAG,EAAE,CAAA3B,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE4B,MAAM,KAAIC,WAAM,EAAG;AAChCC,QAAAA,GAAG,EAAEvB,SAAAA;AAAU,OAAA,EAEdD,qBAAqB,CAAC;AAAEyB,QAAAA,IAAI,EAAE/B,MAAAA;AAAO,OAAC,CAAC,CACpC,CAAA;AAEV,KAAA;AACF,GAAC,EAAE,CAACM,qBAAqB,CAAC,CAAC,CAAA;AAC3B,EAAA,IAAIc,iBAAiB,EAAE;AACrB,IAAA,OAAOA,iBAAiB,CAAA;AAC1B,GAAA;EACA,oBACEE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAG,CAA2CvB,yCAAAA,EAAAA,SAAS,GAAG,SAAS,GAAG,EAAG,CAAE,CAAA;IACpFE,OAAO,EAAGsB,KAAK,IAAKtB,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAG;MAAEsB,KAAK;AAAEzB,MAAAA,MAAM,EAAGA,MAAiB;AAAE0B,MAAAA,OAAO,EAAEnB,SAAAA;AAAU,KAAC,CAAE;IACzFH,WAAW,EAAGqB,KAAK,IAAKrB,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG;MAAEqB,KAAK;AAAEzB,MAAAA,MAAM,EAAGA,MAAiB;AAAE0B,MAAAA,OAAO,EAAEnB,SAAAA;AAAU,KAAC,CAAE;IACjGF,WAAW,EAAGoB,KAAK,IAAKpB,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAG;MAAEoB,KAAK;AAAEzB,MAAAA,MAAM,EAAGA,MAAiB;AAAE0B,MAAAA,OAAO,EAAEnB,SAAAA;AAAU,KAAC,CAAE;IACjGoB,GAAG,EAAE,CAAA3B,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE4B,MAAM,KAAIC,WAAM,EAAG;AAChCC,IAAAA,GAAG,EAAEvB,SAAAA;AAAU,GAAA,eAEfe,yBAAA,CAAAC,aAAA,CAACS,oBAAM,EAAA;AACLR,IAAAA,SAAS,EAAC,kDAAkD;AAC5DS,IAAAA,GAAG,EAAEjC,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkC,UAAW;AACxBC,IAAAA,GAAG,EAAC,cAAc;AAClBC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,CACb,eACFf,yBAAA,CAAAC,aAAA,CAACe,cAAK,EAAA;AACJd,IAAAA,SAAS,EAAC,oDAAoD;IAC9De,IAAI,EAAEC,wBAAe,CAACC,UAAW;AACjCC,IAAAA,KAAK,EAAE1C,MAAM,KAANA,IAAAA,IAAAA,MAAM,eAANA,MAAM,CAAE2C,QAAQ,GAAGC,oBAAW,CAACC,cAAc,GAAGD,oBAAW,CAACE,cAAAA;GAElE,EAAA,CAAA9C,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE2C,QAAQ,MAAIlC,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEsC,qBAAqB,CAAA,CAC/C,eACRzB,yBAAA,CAAAC,aAAA,CAACe,cAAK,EAAA;AACJd,IAAAA,SAAS,EAAC,mDAAmD;IAC7De,IAAI,EAAEC,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEE,oBAAW,CAACI,cAAAA;GAElBhD,EAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAE4B,MAAM,CACT,CACJ,CAAA;AAEV;;AC7DA,MAAMqB,eAAe,GAAG,GAAG,CAAA;AAE3B,SAASC,oBAAoBA,CAACnD,KAAgC,EAAe;EAAA,IAAAoD,kBAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,oBAAA,EAAAC,qBAAA,CAAA;EAC3E,MAAM;IACJ/B,SAAS;AACTgC,IAAAA,cAAc,GAAG,EAAE;AACnB;IACAC,eAAe;IACfC,iBAAiB;IACjBC,YAAY;IACZrD,qBAAqB;IACrBsD,UAAU;AACVC,IAAAA,cAAc,GAAG,IAAI;AACrBC,IAAAA,eAAe,GAAGC,+BAAsB;AACxCC,IAAAA,kBAAkB,GAAGC,kCAAAA;AACvB,GAAC,GAAGlE,KAAK,CAAA;AACT,EAAA,MAAMmE,mBAAmB,GAAGC,iCAAiB,KAAA,IAAA,IAAjBA,iCAAiB,KAAAhB,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAA,GAAjBgB,iCAAiB,EAAI,MAAAhB,IAAAA,IAAAA,kBAAA,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAuBe,mBAAmB,CAAA;AACtE,EAAA,MAAME,cAAc,GAAGC,+BAAgB,KAAA,IAAA,IAAhBA,+BAAgB,KAAAjB,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,iBAAA,GAAhBiB,+BAAgB,EAAI,MAAAjB,IAAAA,IAAAA,iBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAsBgB,cAAc,CAAA;AAC3D,EAAA,MAAME,eAAe,GAAGJ,mBAAmB,IAAIE,cAAc,CAAA;EAC7D,MAAM;IAAEG,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EACpD,MAAM;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGH,MAAM,CAAA;AACzB,EAAA,MAAMI,aAAa,GAAG,CAAAH,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAnB,gBAAA,GAANmB,MAAM,CAAEI,QAAQ,MAAAvB,IAAAA,IAAAA,gBAAA,wBAAAC,oBAAA,GAAhBD,gBAAA,CAAkBwB,GAAG,MAAAvB,IAAAA,IAAAA,oBAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAArBD,oBAAA,CAAuBwB,WAAW,MAAA,IAAA,IAAAvB,qBAAA,KAAlCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAoC3B,MAAM,KAAI,EAAE,CAAA;AACtE,EAAA,MAAMrB,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EAC9B,MAAM;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,MAAM,CAACoE,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAQ,CAAC,IAAI,CAAC,CAAA;EACxC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGF,cAAQ,CAAC,EAAE,CAAC,CAAA;EACpD,MAAM,CAACG,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGJ,cAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAACH,WAAW,EAAEQ,cAAc,CAAC,GAAGL,cAAQ,CAAO,IAAI,CAAC,CAAA;EAC1D,MAAM,CAACM,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGP,cAAQ,CAAgB,EAAE,CAAC,CAAA;AAE7ErE,EAAAA,eAAS,CAAC,MAAM;IACd6E,YAAY,CAACV,KAAK,CAAC,CAAA;IACnBC,QAAQ,CACNU,UAAU,CAAC,MAAM;MACfP,eAAe,CAAC3B,cAAc,CAAC,CAAA;KAChC,EAAEP,eAAe,CAAC,CACpB,CAAA;AACH,GAAC,EAAE,CAACO,cAAc,CAAC,CAAC,CAAA;AAEpB5C,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAAAgD,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,GAAG,MAAKgE,uBAAgB,CAACC,KAAK,EAAE;AAC9C,MAAA,IAAIL,iBAAiB,CAACM,MAAM,GAAG,CAAC,EAAE;QAChCpC,eAAe,CAACqB,WAAW,CAAC,CAAA;AAC9B,OAAA;AACF,KAAA;AACA,IAAA,IAAI,CAAAlB,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,GAAG,MAAKgE,uBAAgB,CAACG,OAAO,EAAE;MAChD,MAAMC,gBAAgB,GAAGR,iBAAiB,CAACS,SAAS,CAAEhG,MAAM,IAC1D,CAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE4B,MAAM,OAAKkD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAElD,MAAM,CACvC,CAAC,CAAA;MACF,IAAI,CAAC,GAAGmE,gBAAgB,EAAE;AACxBT,QAAAA,cAAc,CAACC,iBAAiB,CAACQ,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAA;AACvDrC,QAAAA,iBAAiB,CAAC6B,iBAAiB,CAACQ,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5D,OAAA;AACF,KAAA;AACA,IAAA,IAAI,CAAAnC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,GAAG,MAAKgE,uBAAgB,CAACM,SAAS,EAAE;MAClD,MAAMF,gBAAgB,GAAGR,iBAAiB,CAACS,SAAS,CAAEhG,MAAM,IAC1D,CAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE4B,MAAM,OAAKkD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAElD,MAAM,CACvC,CAAC,CAAA;AACF,MAAA,IAAImE,gBAAgB,GAAGR,iBAAiB,CAACM,MAAM,GAAG,CAAC,EAAE;AACnDP,QAAAA,cAAc,CAACC,iBAAiB,CAACQ,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAA;AACvDrC,QAAAA,iBAAiB,CAAC6B,iBAAiB,CAACQ,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5D,OAAA;AACF,KAAA;AACF,GAAC,EAAE,CAACnC,UAAU,CAAC,CAAC,CAAA;;AAEhB;AACAhD,EAAAA,eAAS,CAAC,MAAM;IACd,IAAI,EAAC0D,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAE4B,qBAAqB,CAAE,EAAA;AAC3CxB,MAAAA,MAAM,CAACyB,OAAO,CAAC,yDAAyD,CAAC,CAAA;AACzE,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIf,gBAAgB,IAAIF,YAAY,CAACkB,OAAO,CAAChB,gBAAgB,CAAC,KAAK,CAAC,IAAIG,iBAAiB,CAACM,MAAM,KAAK,CAAC,EAAE;AACtG;AACA,MAAA,OAAA;AACF,KAAA;IAEA,MAAMQ,KAAK,GAAG/B,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAE4B,qBAAqB,CAAC;MACnDI,KAAK,EAAEtC,kBAAkB,GAAG,CAAC;AAAE;AAC/BuC,MAAAA,wBAAwB,EAAErB,YAAY,CAACsB,KAAK,CAACC,+BAAsB,CAACZ,MAAM,CAAA;AAC5E,KAAC,CAAC,CAAA;AACF;AACAQ,IAAAA,KAAK,CAACK,IAAI,EAAE,CACTC,IAAI,CAAEC,UAAU,IAAK;MACpB,MAAMC,iBAAiB,GAAGD,UAAU,CACjCE,MAAM,CAAE9G,MAAM,IAAK2E,aAAa,MAAK3E,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE4B,MAAM,CAAC,CAAA,CACpD4E,KAAK,CAAC,CAAC,EAAExC,kBAAkB,CAAC,CAAA;AAC/B,MAAA,IAAI6C,iBAAiB,CAAChB,MAAM,GAAG,CAAC,EAAE;AAChCnB,QAAAA,MAAM,CAACqC,IAAI,CAAC,oDAAoD,CAAC,CAAA;AACnE,OAAC,MAAM;AACLrC,QAAAA,MAAM,CAACqC,IAAI,CAAC,sDAAsD,EAAE;AAAEC,UAAAA,eAAe,EAAEX,KAAK;AAAEO,UAAAA,UAAU,EAAEC,iBAAAA;AAAkB,SAAC,CAAC,CAAA;AAC9HvB,QAAAA,cAAc,CAACuB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,OAAA;MACAxB,mBAAmB,CAACH,YAAY,CAAC,CAAA;MACjCvB,YAAY,CAACkD,iBAAiB,CAAC,CAAA;MAC/BrB,oBAAoB,CAACqB,iBAAiB,CAAC,CAAA;AACzC,KAAC,CAAC,CACDI,KAAK,CAAEC,KAAK,IAAK;AAChB,MAAA,IAAIA,KAAK,EAAE;AACTxC,QAAAA,MAAM,CAACwC,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC,CAAA;AAC1E,OAAA;AACF,KAAC,CAAC,CAAA;AACN,GAAC,EAAE,CAAC5C,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAE6C,GAAG,EAAEjC,YAAY,CAAC,CAAC,CAAA;EAExC,IAAI,CAACrB,cAAc,IAAI0B,iBAAiB,CAACM,MAAM,KAAK,CAAC,EAAE;AACrD,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEvE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAG,CAAgCA,8BAAAA,EAAAA,SAAU,CAAE,CAAA;AACxDG,IAAAA,GAAG,EAAC,+BAA+B;AACnCG,IAAAA,GAAG,EAAEvB,SAAAA;AAAU,GAAA,EAGbsD,cAAc,KAAI0B,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAE6B,GAAG,CAAEpH,MAAM,iBAC9CsB,yBAAA,CAAAC,aAAA,CAACzB,wBAAwB,EAAA;IACvB6B,GAAG,EAAE,CAAA3B,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE4B,MAAM,KAAIC,WAAM,EAAG;AAChC7B,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,SAAS,EAAE,CAAAD,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE4B,MAAM,OAAKkD,WAAW,KAAXA,IAAAA,IAAAA,WAAW,uBAAXA,WAAW,CAAElD,MAAM,CAAC;AAClD1B,IAAAA,eAAe,EAAEK,SAAU;IAC3BJ,OAAO,EAAEkH,IAAA,IAAgB;MAAA,IAAf;AAAErH,QAAAA,MAAAA;AAAO,OAAC,GAAAqH,IAAA,CAAA;MAClB5D,eAAe,CAACzD,MAAM,CAAC,CAAA;KACvB;IACFI,WAAW,EAAEkH,KAAA,IAAgB;MAAA,IAAf;AAAEtH,QAAAA,MAAAA;AAAO,OAAC,GAAAsH,KAAA,CAAA;MACtBhC,cAAc,CAACtF,MAAM,CAAC,CAAA;KACtB;AACFM,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,GAAA,CAEhD,CAAC,CAGF,EAAA,CAACuD,cAAc,iBACbvC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,4CAAA;AAA4C,GAAA,eACzDF,yBAAA,CAAAC,aAAA,CAACgG,kBAAI,EAAA;AACH/F,IAAAA,SAAS,EAAC,kDAAkD;IAC5De,IAAI,EAAEiF,iBAAS,CAACC,IAAK;IACrBC,SAAS,EAAEC,kBAAU,CAACC,eAAgB;AACtCxF,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,CACb,eACFf,yBAAA,CAAAC,aAAA,CAACe,cAAK,EAAA;AACJd,IAAAA,SAAS,EAAC,kDAAkD;IAC5De,IAAI,EAAEC,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEE,oBAAW,CAACI,cAAAA;AAAe,GAAA,EAEjCvC,SAAS,CAACoH,yBAAyB,CAACC,OAAO,CAAC,IAAI,EAAEhE,eAAe,CAAC,CAC7D,CAEX,CAEC,CAAA;AAEV;;;;"}
@@ -4,24 +4,25 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var groupChannel = require('@sendbird/chat/groupChannel');
7
- var LocalizationContext = require('../../LocalizationContext-df436a16.js');
8
- var uuid = require('../../uuid-2953f4dd.js');
9
- var ui_Label = require('../../index-c89616c9.js');
10
- var Channel_context = require('../../ChannelProvider-da7b08a1.js');
7
+ var LocalizationContext = require('../../LocalizationContext-bdc95952.js');
8
+ var uuid = require('../../uuid-075367f7.js');
9
+ var ui_Label = require('../../index-e766176d.js');
10
+ var Channel_context = require('../../ChannelProvider-54bb28cc.js');
11
11
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
12
- require('../../stringSet-d7f78de0.js');
13
- require('../../index-0f42efcf.js');
12
+ require('../../stringSet-0cddd94a.js');
13
+ require('../../index-71def451.js');
14
14
  require('prop-types');
15
- require('../../UserProfileContext-0c255fa6.js');
16
- require('../../index-bf4e62fb.js');
17
- require('../../topics-2431bb78.js');
18
- require('../../index-33b67e46.js');
19
- require('../../_rollupPluginBabelHelpers-5fad415d.js');
15
+ require('../../UserProfileContext-27a5718b.js');
16
+ require('../../const-44ddbe54.js');
17
+ require('../../index-f7b329d2.js');
18
+ require('../../topics-3e3eb86d.js');
19
+ require('../../index-7a9d2024.js');
20
+ require('../../_rollupPluginBabelHelpers-d68672d6.js');
20
21
  require('../../utils/message/getOutgoingMessageState.js');
21
- require('../../compareIds-f064c47d.js');
22
- require('../../const-692d0039.js');
22
+ require('../../compareIds-96cdd2a0.js');
23
23
  require('@sendbird/chat/message');
24
- require('../../consts-297fdae1.js');
24
+ require('../../consts-ccfad912.js');
25
+ require('../../resolvedReplyType-42ff3f75.js');
25
26
  require('../../withSendbird.js');
26
27
 
27
28
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sources":["../../../../src/modules/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n },\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb?.groupChannel?.removeGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n};\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_ref","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","_globalStore$stores","_globalStore$stores$s","_globalStore$config","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","handlerId","setHandlerId","useState","uuidv4","typingMembers","setTypingMembers","useEffect","_sb$groupChannel","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","_sb$groupChannel2","React","createElement","Label","className","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"TypingIndicator.js","sources":["../../../../src/modules/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n },\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb?.groupChannel?.removeGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n};\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_ref","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","_globalStore$stores","_globalStore$stores$s","_globalStore$config","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","handlerId","setHandlerId","useState","uuidv4","typingMembers","setTypingMembers","useEffect","_sb$groupChannel","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","_sb$groupChannel2","React","createElement","Label","className","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-df436a16.js');
5
- var ui_Label = require('../../index-c89616c9.js');
4
+ var LocalizationContext = require('../../LocalizationContext-bdc95952.js');
5
+ var ui_Label = require('../../index-e766176d.js');
6
6
  var ui_Icon = require('../../ui/Icon.js');
7
- require('../../stringSet-d7f78de0.js');
8
- require('../../index-0f42efcf.js');
7
+ require('../../stringSet-0cddd94a.js');
8
+ require('../../index-71def451.js');
9
9
  require('prop-types');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }