@sendbird/uikit-react 3.6.7 → 3.6.8-rc.1

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 (626) hide show
  1. package/App.js +57 -49
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +63 -0
  4. package/Channel/components/ChannelHeader.js +20 -19
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +45 -41
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +16 -15
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/Message.js +38 -36
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +34 -32
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +41 -60
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +18 -17
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +18 -17
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +16 -15
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +4 -4
  24. package/Channel/context.js +13 -12
  25. package/Channel/context.js.map +1 -1
  26. package/Channel/utils/compareMessagesForGrouping.js +22 -0
  27. package/Channel/utils/compareMessagesForGrouping.js.map +1 -0
  28. package/Channel/utils/getMessagePartsInfo.js +38 -0
  29. package/Channel/utils/getMessagePartsInfo.js.map +1 -0
  30. package/Channel.js +45 -41
  31. package/Channel.js.map +1 -1
  32. package/ChannelList/components/AddChannel.js +15 -15
  33. package/ChannelList/components/ChannelListHeader.js +6 -6
  34. package/ChannelList/components/ChannelListUI.js +31 -30
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +27 -26
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  39. package/ChannelList/context.js +8 -8
  40. package/ChannelList.js +31 -30
  41. package/ChannelList.js.map +1 -1
  42. package/{ChannelListProvider-fc14f42d.js → ChannelListProvider-8bad6b5d.js} +11 -14
  43. package/ChannelListProvider-8bad6b5d.js.map +1 -0
  44. package/{ChannelProvider-78e85f32.js → ChannelProvider-849524b4.js} +31 -331
  45. package/ChannelProvider-849524b4.js.map +1 -0
  46. package/ChannelSettings/components/ChannelProfile.js +11 -11
  47. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  48. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  49. package/ChannelSettings/components/LeaveChannel.js +11 -11
  50. package/ChannelSettings/components/ModerationPanel.js +14 -14
  51. package/ChannelSettings/components/UserListItem.js +10 -10
  52. package/ChannelSettings/components/UserPanel.js +13 -13
  53. package/ChannelSettings/context.js +3 -3
  54. package/ChannelSettings.js +17 -17
  55. package/CreateChannel/components/CreateChannelUI.js +13 -13
  56. package/CreateChannel/components/InviteUsers.js +13 -13
  57. package/CreateChannel/components/SelectChannelType.js +10 -10
  58. package/CreateChannel/context.js +4 -4
  59. package/CreateChannel.js +13 -13
  60. package/{CreateChannelProvider-fe23c38f.js → CreateChannelProvider-05a17cd7.js} +1 -1
  61. package/{CreateChannelProvider-fe23c38f.js.map → CreateChannelProvider-05a17cd7.js.map} +1 -1
  62. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  63. package/CreateOpenChannel/context.js +1 -1
  64. package/CreateOpenChannel.js +9 -9
  65. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  66. package/EditUserProfile.js +12 -12
  67. package/{LocalizationContext-5fe9b59d.js → LocalizationContext-8781208d.js} +3 -3
  68. package/{LocalizationContext-5fe9b59d.js.map → LocalizationContext-8781208d.js.map} +1 -1
  69. package/{MediaQueryContext-66b59195.js → MediaQueryContext-2ef9f34f.js} +1 -1
  70. package/{MediaQueryContext-66b59195.js.map → MediaQueryContext-2ef9f34f.js.map} +1 -1
  71. package/{MemberList-c03817ad.js → MemberList-41b2fd92.js} +5 -5
  72. package/{MemberList-c03817ad.js.map → MemberList-41b2fd92.js.map} +1 -1
  73. package/{useDirtyGetMentions-3f7692ab.js → Message/hooks/useDirtyGetMentions.js} +3 -2
  74. package/Message/hooks/useDirtyGetMentions.js.map +1 -0
  75. package/MessageSearch/components/MessageSearchUI.js +11 -11
  76. package/MessageSearch/context.js +1 -1
  77. package/MessageSearch/context.js.map +1 -1
  78. package/MessageSearch.js +11 -11
  79. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  80. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  81. package/OpenChannel/components/OpenChannelInput.js +20 -19
  82. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  83. package/OpenChannel/components/OpenChannelMessage.js +30 -38
  84. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  85. package/OpenChannel/components/OpenChannelMessageList.js +33 -32
  86. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  87. package/OpenChannel/components/OpenChannelUI.js +33 -32
  88. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  89. package/OpenChannel/context.js +8 -8
  90. package/OpenChannel.js +33 -32
  91. package/OpenChannel.js.map +1 -1
  92. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  93. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  94. package/OpenChannelList/context.js +3 -3
  95. package/OpenChannelList.js +13 -13
  96. package/{OpenChannelListProvider-5d21932a.js → OpenChannelListProvider-573391ab.js} +3 -3
  97. package/{OpenChannelListProvider-5d21932a.js.map → OpenChannelListProvider-573391ab.js.map} +1 -1
  98. package/{OpenChannelProvider-a6f4f92a.js → OpenChannelProvider-ac1c9c33.js} +7 -7
  99. package/OpenChannelProvider-ac1c9c33.js.map +1 -0
  100. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  101. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  102. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  103. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  104. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  105. package/OpenChannelSettings/context.js +3 -3
  106. package/OpenChannelSettings.js +17 -17
  107. package/{RemoveMessageModal-0d438e31.js → RemoveMessageModal-6a47b7bb.js} +3 -3
  108. package/RemoveMessageModal-6a47b7bb.js.map +1 -0
  109. package/SendbirdProvider.js +24 -21
  110. package/SendbirdProvider.js.map +1 -1
  111. package/Thread/components/ParentMessageInfo.js +36 -34
  112. package/Thread/components/ParentMessageInfo.js.map +1 -1
  113. package/Thread/components/ParentMessageInfoItem.js +21 -21
  114. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  115. package/Thread/components/ThreadHeader.js +6 -6
  116. package/Thread/components/ThreadList.js +39 -37
  117. package/Thread/components/ThreadList.js.map +1 -1
  118. package/Thread/components/ThreadListItem.js +40 -38
  119. package/Thread/components/ThreadListItem.js.map +1 -1
  120. package/Thread/components/ThreadMessageInput.js +32 -30
  121. package/Thread/components/ThreadMessageInput.js.map +1 -1
  122. package/Thread/components/ThreadUI.js +43 -41
  123. package/Thread/components/ThreadUI.js.map +1 -1
  124. package/Thread/context.js +8 -8
  125. package/Thread.js +43 -41
  126. package/Thread.js.map +1 -1
  127. package/{ThreadProvider-2a4356a2.js → ThreadProvider-9e14db75.js} +12 -11
  128. package/ThreadProvider-9e14db75.js.map +1 -0
  129. package/{UserProfileContext-8b8f3e3a.js → UserProfileContext-3be56f3a.js} +1 -1
  130. package/{UserProfileContext-8b8f3e3a.js.map → UserProfileContext-3be56f3a.js.map} +1 -1
  131. package/{VoiceMessageInputWrapper-b8742ea1.js → VoiceMessageInputWrapper-be6706b2.js} +7 -7
  132. package/{VoiceMessageInputWrapper-b8742ea1.js.map → VoiceMessageInputWrapper-be6706b2.js.map} +1 -1
  133. package/VoicePlayer/context.js +3 -3
  134. package/VoicePlayer/useVoicePlayer.js +9 -9
  135. package/VoiceRecorder/context.js +9 -9
  136. package/VoiceRecorder/useVoiceRecorder.js +8 -8
  137. package/{WebAudioUtils-63418113.js → WebAudioUtils-9b10fbb0.js} +2 -2
  138. package/{WebAudioUtils-63418113.js.map → WebAudioUtils-9b10fbb0.js.map} +1 -1
  139. package/{_rollupPluginBabelHelpers-90ff7fc4.js → _rollupPluginBabelHelpers-404d1a9c.js} +1 -1
  140. package/_rollupPluginBabelHelpers-404d1a9c.js.map +1 -0
  141. package/{actionTypes-66bf934b.js → actionTypes-a16bc0a0.js} +1 -1
  142. package/{actionTypes-66bf934b.js.map → actionTypes-a16bc0a0.js.map} +1 -1
  143. package/cjs/App.js +57 -49
  144. package/cjs/App.js.map +1 -1
  145. package/cjs/Channel/components/ChannelHeader.js +20 -19
  146. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  147. package/cjs/Channel/components/ChannelUI.js +45 -41
  148. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  149. package/cjs/Channel/components/FileViewer.js +16 -15
  150. package/cjs/Channel/components/FileViewer.js.map +1 -1
  151. package/cjs/Channel/components/FrozenNotification.js +4 -4
  152. package/cjs/Channel/components/Message.js +41 -39
  153. package/cjs/Channel/components/Message.js.map +1 -1
  154. package/cjs/Channel/components/MessageInput.js +39 -37
  155. package/cjs/Channel/components/MessageInput.js.map +1 -1
  156. package/cjs/Channel/components/MessageList.js +47 -66
  157. package/cjs/Channel/components/MessageList.js.map +1 -1
  158. package/cjs/Channel/components/RemoveMessageModal.js +18 -17
  159. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  160. package/cjs/Channel/components/SuggestedMentionList.js +18 -17
  161. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  162. package/cjs/Channel/components/TypingIndicator.js +16 -15
  163. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  164. package/cjs/Channel/components/UnreadCount.js +4 -4
  165. package/cjs/Channel/context.js +13 -12
  166. package/cjs/Channel/context.js.map +1 -1
  167. package/cjs/Channel/utils/compareMessagesForGrouping.js +26 -0
  168. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -0
  169. package/cjs/Channel/utils/getMessagePartsInfo.js +42 -0
  170. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -0
  171. package/cjs/Channel.js +45 -41
  172. package/cjs/Channel.js.map +1 -1
  173. package/cjs/ChannelList/components/AddChannel.js +15 -15
  174. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  175. package/cjs/ChannelList/components/ChannelListUI.js +31 -30
  176. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  177. package/cjs/ChannelList/components/ChannelPreview.js +27 -26
  178. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  179. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  180. package/cjs/ChannelList/context.js +8 -8
  181. package/cjs/ChannelList.js +31 -30
  182. package/cjs/ChannelList.js.map +1 -1
  183. package/cjs/{ChannelListProvider-c1f3cf4a.js → ChannelListProvider-11d605eb.js} +11 -14
  184. package/cjs/ChannelListProvider-11d605eb.js.map +1 -0
  185. package/cjs/{ChannelProvider-633edf61.js → ChannelProvider-58b2dd24.js} +109 -414
  186. package/cjs/ChannelProvider-58b2dd24.js.map +1 -0
  187. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  188. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  189. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  190. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  192. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  193. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  194. package/cjs/ChannelSettings/context.js +3 -3
  195. package/cjs/ChannelSettings.js +17 -17
  196. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  197. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  198. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  199. package/cjs/CreateChannel/context.js +4 -4
  200. package/cjs/CreateChannel.js +13 -13
  201. package/cjs/{CreateChannelProvider-32102712.js → CreateChannelProvider-ea0ac249.js} +1 -1
  202. package/cjs/{CreateChannelProvider-32102712.js.map → CreateChannelProvider-ea0ac249.js.map} +1 -1
  203. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  204. package/cjs/CreateOpenChannel/context.js +1 -1
  205. package/cjs/CreateOpenChannel.js +9 -9
  206. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  207. package/cjs/EditUserProfile.js +12 -12
  208. package/cjs/{LocalizationContext-a15ec4eb.js → LocalizationContext-98e10f52.js} +3 -3
  209. package/cjs/{LocalizationContext-a15ec4eb.js.map → LocalizationContext-98e10f52.js.map} +1 -1
  210. package/cjs/{MediaQueryContext-80d10d7b.js → MediaQueryContext-add76360.js} +1 -1
  211. package/cjs/{MediaQueryContext-80d10d7b.js.map → MediaQueryContext-add76360.js.map} +1 -1
  212. package/cjs/{MemberList-5303bbbb.js → MemberList-ae4434a0.js} +5 -5
  213. package/cjs/{MemberList-5303bbbb.js.map → MemberList-ae4434a0.js.map} +1 -1
  214. package/cjs/{useDirtyGetMentions-a37639f1.js → Message/hooks/useDirtyGetMentions.js} +4 -1
  215. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -0
  216. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  217. package/cjs/MessageSearch/context.js +1 -1
  218. package/cjs/MessageSearch/context.js.map +1 -1
  219. package/cjs/MessageSearch.js +11 -11
  220. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  221. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  222. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -19
  223. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  224. package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -40
  225. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  226. package/cjs/OpenChannel/components/OpenChannelMessageList.js +33 -32
  227. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  228. package/cjs/OpenChannel/components/OpenChannelUI.js +33 -32
  229. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  230. package/cjs/OpenChannel/context.js +8 -8
  231. package/cjs/OpenChannel.js +33 -32
  232. package/cjs/OpenChannel.js.map +1 -1
  233. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  234. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  235. package/cjs/OpenChannelList/context.js +3 -3
  236. package/cjs/OpenChannelList.js +13 -13
  237. package/cjs/{OpenChannelListProvider-49874b88.js → OpenChannelListProvider-8e908f4d.js} +3 -3
  238. package/cjs/{OpenChannelListProvider-49874b88.js.map → OpenChannelListProvider-8e908f4d.js.map} +1 -1
  239. package/cjs/{OpenChannelProvider-c2b3dc2c.js → OpenChannelProvider-7b3b81b1.js} +7 -7
  240. package/cjs/OpenChannelProvider-7b3b81b1.js.map +1 -0
  241. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  242. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  243. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  244. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  245. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  246. package/cjs/OpenChannelSettings/context.js +3 -3
  247. package/cjs/OpenChannelSettings.js +17 -17
  248. package/cjs/{RemoveMessageModal-271f1251.js → RemoveMessageModal-33422173.js} +3 -3
  249. package/cjs/RemoveMessageModal-33422173.js.map +1 -0
  250. package/cjs/SendbirdProvider.js +24 -21
  251. package/cjs/SendbirdProvider.js.map +1 -1
  252. package/cjs/Thread/components/ParentMessageInfo.js +38 -36
  253. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  254. package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
  255. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  256. package/cjs/Thread/components/ThreadHeader.js +6 -6
  257. package/cjs/Thread/components/ThreadList.js +39 -37
  258. package/cjs/Thread/components/ThreadList.js.map +1 -1
  259. package/cjs/Thread/components/ThreadListItem.js +42 -40
  260. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  261. package/cjs/Thread/components/ThreadMessageInput.js +34 -32
  262. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  263. package/cjs/Thread/components/ThreadUI.js +43 -41
  264. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  265. package/cjs/Thread/context.js +8 -8
  266. package/cjs/Thread.js +43 -41
  267. package/cjs/Thread.js.map +1 -1
  268. package/cjs/{ThreadProvider-8d2ce923.js → ThreadProvider-f7ee365b.js} +12 -11
  269. package/cjs/ThreadProvider-f7ee365b.js.map +1 -0
  270. package/cjs/{UserProfileContext-f8f1cee7.js → UserProfileContext-b249921b.js} +1 -1
  271. package/cjs/{UserProfileContext-f8f1cee7.js.map → UserProfileContext-b249921b.js.map} +1 -1
  272. package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js → VoiceMessageInputWrapper-a365a098.js} +9 -9
  273. package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js.map → VoiceMessageInputWrapper-a365a098.js.map} +1 -1
  274. package/cjs/VoicePlayer/context.js +3 -3
  275. package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
  276. package/cjs/VoiceRecorder/context.js +9 -9
  277. package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
  278. package/cjs/{WebAudioUtils-88dbfaed.js → WebAudioUtils-a6402df3.js} +2 -2
  279. package/cjs/{WebAudioUtils-88dbfaed.js.map → WebAudioUtils-a6402df3.js.map} +1 -1
  280. package/cjs/{_rollupPluginBabelHelpers-0d9d52a5.js → _rollupPluginBabelHelpers-af83a471.js} +1 -1
  281. package/cjs/_rollupPluginBabelHelpers-af83a471.js.map +1 -0
  282. package/cjs/{actionTypes-974dfe33.js → actionTypes-200d8a9f.js} +1 -1
  283. package/cjs/{actionTypes-974dfe33.js.map → actionTypes-200d8a9f.js.map} +1 -1
  284. package/cjs/{color-1e9cc481.js → color-31d6570a.js} +1 -1
  285. package/cjs/{color-1e9cc481.js.map → color-31d6570a.js.map} +1 -1
  286. package/cjs/{compareIds-0344920c.js → compareIds-e79c9a5a.js} +1 -1
  287. package/cjs/{compareIds-0344920c.js.map → compareIds-e79c9a5a.js.map} +1 -1
  288. package/cjs/{const-0d4d91cd.js → const-a3aa0fd6.js} +1 -1
  289. package/cjs/{const-0d4d91cd.js.map → const-a3aa0fd6.js.map} +1 -1
  290. package/cjs/{const-182fe978.js → const-c4593fa8.js} +1 -1
  291. package/cjs/{const-182fe978.js.map → const-c4593fa8.js.map} +1 -1
  292. package/cjs/{consts-10e5b075.js → consts-0ce6dc5f.js} +1 -1
  293. package/cjs/{consts-10e5b075.js.map → consts-0ce6dc5f.js.map} +1 -1
  294. package/cjs/{consts-5bdc2c7f.js → consts-43df77ef.js} +1 -1
  295. package/cjs/{consts-5bdc2c7f.js.map → consts-43df77ef.js.map} +1 -1
  296. package/cjs/{consts-0c9a38ef.js → consts-6d791ff5.js} +5 -1
  297. package/cjs/{consts-0c9a38ef.js.map → consts-6d791ff5.js.map} +1 -1
  298. package/cjs/{consts-c336bb61.js → consts-95de97c6.js} +1 -1
  299. package/cjs/{consts-c336bb61.js.map → consts-95de97c6.js.map} +1 -1
  300. package/cjs/{context-0276d21e.js → context-cec5a03c.js} +2 -2
  301. package/cjs/{context-0276d21e.js.map → context-cec5a03c.js.map} +1 -1
  302. package/cjs/dist/index.css +154 -127
  303. package/cjs/dist/index.css.map +1 -1
  304. package/cjs/{index-2cb13008.js → index-0a1d6159.js} +2 -2
  305. package/cjs/{index-2cb13008.js.map → index-0a1d6159.js.map} +1 -1
  306. package/cjs/{index-ed1ee70b.js → index-0a49ce60.js} +21 -14
  307. package/cjs/index-0a49ce60.js.map +1 -0
  308. package/cjs/index-0bcc6578.js +298 -0
  309. package/cjs/index-0bcc6578.js.map +1 -0
  310. package/cjs/{index-6cb3365f.js → index-1a05108d.js} +2 -2
  311. package/cjs/{index-6cb3365f.js.map → index-1a05108d.js.map} +1 -1
  312. package/cjs/{index-49fe0efb.js → index-44f82a5f.js} +4 -4
  313. package/cjs/{index-49fe0efb.js.map → index-44f82a5f.js.map} +1 -1
  314. package/cjs/{index-08c5777e.js → index-5125200f.js} +67 -28
  315. package/cjs/index-5125200f.js.map +1 -0
  316. package/cjs/{index-5a651f3c.js → index-5eddbcdd.js} +2 -2
  317. package/cjs/{index-5a651f3c.js.map → index-5eddbcdd.js.map} +1 -1
  318. package/cjs/{index-87e11d7e.js → index-6a049d22.js} +5 -5
  319. package/cjs/{index-87e11d7e.js.map → index-6a049d22.js.map} +1 -1
  320. package/cjs/{index-092b22dd.js → index-71ac2b0c.js} +2 -2
  321. package/cjs/{index-092b22dd.js.map → index-71ac2b0c.js.map} +1 -1
  322. package/cjs/{index-e46cc828.js → index-7c287c6e.js} +6 -6
  323. package/cjs/{index-e46cc828.js.map → index-7c287c6e.js.map} +1 -1
  324. package/cjs/{index-c2454b7e.js → index-821a74b6.js} +1 -1
  325. package/cjs/{index-c2454b7e.js.map → index-821a74b6.js.map} +1 -1
  326. package/cjs/{index-dbccd7fb.js → index-86a4d820.js} +3 -3
  327. package/cjs/{index-dbccd7fb.js.map → index-86a4d820.js.map} +1 -1
  328. package/cjs/{index-54228aa8.js → index-892e04e5.js} +4 -4
  329. package/cjs/{index-54228aa8.js.map → index-892e04e5.js.map} +1 -1
  330. package/cjs/{index-b428366f.js → index-ae818469.js} +2 -2
  331. package/cjs/index-ae818469.js.map +1 -0
  332. package/cjs/{index-1325e266.js → index-cffeab44.js} +3 -3
  333. package/cjs/{index-1325e266.js.map → index-cffeab44.js.map} +1 -1
  334. package/cjs/{index-9c8e297d.js → index-d1afbcfe.js} +3 -3
  335. package/cjs/{index-9c8e297d.js.map → index-d1afbcfe.js.map} +1 -1
  336. package/cjs/{index-cebd1362.js → index-dafc4dfb.js} +4 -4
  337. package/cjs/{index-cebd1362.js.map → index-dafc4dfb.js.map} +1 -1
  338. package/cjs/{index-17a6519d.js → index-eb531448.js} +1 -1
  339. package/cjs/{index-17a6519d.js.map → index-eb531448.js.map} +1 -1
  340. package/cjs/index-fc0d8ea1.js +230 -0
  341. package/cjs/index-fc0d8ea1.js.map +1 -0
  342. package/cjs/index.js +57 -53
  343. package/cjs/index.js.map +1 -1
  344. package/cjs/{index.module-8026e7d3.js → index.module-dcf622ba.js} +1 -1
  345. package/cjs/{index.module-8026e7d3.js.map → index.module-dcf622ba.js.map} +1 -1
  346. package/cjs/package.json +2 -2
  347. package/cjs/{resolvedReplyType-8137e072.js → resolvedReplyType-7074785b.js} +1 -1
  348. package/cjs/{resolvedReplyType-8137e072.js.map → resolvedReplyType-7074785b.js.map} +1 -1
  349. package/cjs/sendbirdSelectors.js +3 -4
  350. package/cjs/sendbirdSelectors.js.map +1 -1
  351. package/cjs/{stringSet-769f181d.js → stringSet-20c5f2fa.js} +1 -1
  352. package/cjs/{stringSet-769f181d.js.map → stringSet-20c5f2fa.js.map} +1 -1
  353. package/cjs/{tokenize-586ed01a.js → tokenize-3c568761.js} +2 -2
  354. package/cjs/{tokenize-586ed01a.js.map → tokenize-3c568761.js.map} +1 -1
  355. package/cjs/{topics-99121946.js → topics-b61b6276.js} +1 -1
  356. package/cjs/{topics-99121946.js.map → topics-b61b6276.js.map} +1 -1
  357. package/cjs/{types-812b3bfd.js → types-7d4d4e4a.js} +1 -1
  358. package/cjs/types-7d4d4e4a.js.map +1 -0
  359. package/cjs/ui/Accordion.js +2 -2
  360. package/cjs/ui/AccordionGroup.js +2 -2
  361. package/cjs/ui/AdminMessage.js +2 -2
  362. package/cjs/ui/Avatar.js +1 -1
  363. package/cjs/ui/Badge.js +4 -4
  364. package/cjs/ui/BottomSheet.js +1 -1
  365. package/cjs/ui/Button.js +2 -2
  366. package/cjs/ui/ChannelAvatar.js +2 -2
  367. package/cjs/ui/ConnectionStatus.js +4 -4
  368. package/cjs/ui/ContextMenu.js +5 -5
  369. package/cjs/ui/DateSeparator.js +3 -3
  370. package/cjs/ui/EmojiReactions.js +13 -13
  371. package/cjs/ui/EmojiReactions.js.map +1 -1
  372. package/cjs/ui/FileMessageItemBody.js +6 -6
  373. package/cjs/ui/FileViewer.js +17 -126
  374. package/cjs/ui/FileViewer.js.map +1 -1
  375. package/cjs/ui/Icon.js +178 -159
  376. package/cjs/ui/Icon.js.map +1 -1
  377. package/cjs/ui/IconButton.js +1 -1
  378. package/cjs/ui/Input.js +2 -2
  379. package/cjs/ui/Label.js +2 -2
  380. package/cjs/ui/LinkLabel.js +2 -2
  381. package/cjs/ui/MentionLabel.js +10 -10
  382. package/cjs/ui/MentionUserLabel.js +1 -1
  383. package/cjs/ui/MessageContent.js +28 -28
  384. package/cjs/ui/MessageContent.js.map +1 -1
  385. package/cjs/ui/MessageInput/hooks/usePaste.js +16 -0
  386. package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -0
  387. package/cjs/ui/MessageInput.js +21 -233
  388. package/cjs/ui/MessageInput.js.map +1 -1
  389. package/cjs/ui/MessageItemMenu.js +8 -8
  390. package/cjs/ui/MessageItemMenu.js.map +1 -1
  391. package/cjs/ui/MessageItemReactionMenu.js +8 -8
  392. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  393. package/cjs/ui/MessageSearchFileItem.js +10 -10
  394. package/cjs/ui/MessageSearchItem.js +8 -8
  395. package/cjs/ui/MessageStatus.js +10 -10
  396. package/cjs/ui/Modal.js +7 -7
  397. package/cjs/ui/OGMessageItemBody.js +14 -14
  398. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  399. package/cjs/ui/OpenChannelAvatar.js +5 -5
  400. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  401. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  402. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  403. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  404. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  405. package/cjs/ui/PlaceHolder.js +5 -5
  406. package/cjs/ui/PlaybackTime.js +2 -2
  407. package/cjs/ui/QuoteMessage.js +6 -6
  408. package/cjs/ui/QuoteMessage.js.map +1 -1
  409. package/cjs/ui/QuoteMessageInput.js +6 -6
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  411. package/cjs/ui/ReactionBadge.js +2 -2
  412. package/cjs/ui/ReactionButton.js +4 -4
  413. package/cjs/ui/SortByRow.js +1 -1
  414. package/cjs/ui/TextButton.js +1 -1
  415. package/cjs/ui/TextMessageItemBody.js +14 -14
  416. package/cjs/ui/ThreadReplies.js +5 -5
  417. package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
  418. package/cjs/ui/Toggle.js +1 -1
  419. package/cjs/ui/Tooltip.js +2 -2
  420. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  421. package/cjs/ui/UserListItem.js +10 -10
  422. package/cjs/ui/UserProfile.js +9 -9
  423. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  424. package/cjs/ui/VoiceMessgeInput.js +7 -7
  425. package/cjs/ui/Word.js +10 -10
  426. package/cjs/{useLongPress-a77054d5.js → useLongPress-f1d03c8d.js} +3 -3
  427. package/cjs/{useLongPress-a77054d5.js.map → useLongPress-f1d03c8d.js.map} +1 -1
  428. package/cjs/useSendbirdStateContext.js +1 -1
  429. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  430. package/cjs/utils/message/isVoiceMessage.js +2 -2
  431. package/cjs/{utils-c8ca7346.js → utils-03f96fba.js} +1 -1
  432. package/cjs/{utils-c8ca7346.js.map → utils-03f96fba.js.map} +1 -1
  433. package/cjs/{utils-18517a45.js → utils-482c5d41.js} +2 -2
  434. package/cjs/{utils-18517a45.js.map → utils-482c5d41.js.map} +1 -1
  435. package/cjs/{utils-3fda8de7.js → utils-9a0e0c06.js} +1 -1
  436. package/cjs/{utils-3fda8de7.js.map → utils-9a0e0c06.js.map} +1 -1
  437. package/cjs/utils-a569b281.js +340 -0
  438. package/cjs/utils-a569b281.js.map +1 -0
  439. package/cjs/{utils-d6b081f0.js → utils-e00d6f10.js} +1 -1
  440. package/cjs/{utils-d6b081f0.js.map → utils-e00d6f10.js.map} +1 -1
  441. package/cjs/{uuid-6c019e89.js → uuid-f9a11afa.js} +1 -1
  442. package/cjs/{uuid-6c019e89.js.map → uuid-f9a11afa.js.map} +1 -1
  443. package/cjs/withSendbird.js +1 -1
  444. package/{color-2315a258.js → color-08fea5a1.js} +1 -1
  445. package/{color-2315a258.js.map → color-08fea5a1.js.map} +1 -1
  446. package/{compareIds-2464aab2.js → compareIds-72c21832.js} +1 -1
  447. package/{compareIds-2464aab2.js.map → compareIds-72c21832.js.map} +1 -1
  448. package/{const-0cca8d38.js → const-035fb030.js} +1 -1
  449. package/{const-0cca8d38.js.map → const-035fb030.js.map} +1 -1
  450. package/{const-c6a266f4.js → const-cf103f8d.js} +1 -1
  451. package/{const-c6a266f4.js.map → const-cf103f8d.js.map} +1 -1
  452. package/{consts-991d3823.js → consts-52c058a5.js} +1 -1
  453. package/{consts-991d3823.js.map → consts-52c058a5.js.map} +1 -1
  454. package/{consts-32a2c4a7.js → consts-d9925dd6.js} +1 -1
  455. package/{consts-32a2c4a7.js.map → consts-d9925dd6.js.map} +1 -1
  456. package/{consts-3d956927.js → consts-dbf4e2a7.js} +1 -1
  457. package/{consts-3d956927.js.map → consts-dbf4e2a7.js.map} +1 -1
  458. package/{consts-b6f24cc7.js → consts-f92f7a23.js} +5 -2
  459. package/{consts-b6f24cc7.js.map → consts-f92f7a23.js.map} +1 -1
  460. package/{context-e46fff7b.js → context-866e205a.js} +2 -2
  461. package/{context-e46fff7b.js.map → context-866e205a.js.map} +1 -1
  462. package/dist/index.css +154 -127
  463. package/dist/index.css.map +1 -1
  464. package/{index-335e7557.js → index-0cfeeaac.js} +2 -2
  465. package/{index-335e7557.js.map → index-0cfeeaac.js.map} +1 -1
  466. package/{index-f2e30f98.js → index-220222c3.js} +2 -2
  467. package/{index-f2e30f98.js.map → index-220222c3.js.map} +1 -1
  468. package/{index-499d9ef9.js → index-3c8065f1.js} +2 -2
  469. package/{index-499d9ef9.js.map → index-3c8065f1.js.map} +1 -1
  470. package/{index-17b78bb0.js → index-3e9067b2.js} +21 -14
  471. package/index-3e9067b2.js.map +1 -0
  472. package/{index-fe2c7493.js → index-48b8b7ea.js} +6 -6
  473. package/{index-fe2c7493.js.map → index-48b8b7ea.js.map} +1 -1
  474. package/{index-13d9d766.js → index-5a7039da.js} +2 -2
  475. package/{index-13d9d766.js.map → index-5a7039da.js.map} +1 -1
  476. package/index-5d775cdb.js +221 -0
  477. package/index-5d775cdb.js.map +1 -0
  478. package/{index-7b3790d3.js → index-87a9a309.js} +4 -4
  479. package/{index-7b3790d3.js.map → index-87a9a309.js.map} +1 -1
  480. package/{index-07345a6e.js → index-89a6798f.js} +5 -5
  481. package/{index-07345a6e.js.map → index-89a6798f.js.map} +1 -1
  482. package/{index-bafedab0.js → index-92d47d85.js} +1 -1
  483. package/{index-bafedab0.js.map → index-92d47d85.js.map} +1 -1
  484. package/index-a3d726e9.js +289 -0
  485. package/index-a3d726e9.js.map +1 -0
  486. package/{index-a39b9075.js → index-adaead71.js} +3 -3
  487. package/{index-a39b9075.js.map → index-adaead71.js.map} +1 -1
  488. package/{index-ebb8a7df.js → index-b3d5a76f.js} +2 -2
  489. package/index-b3d5a76f.js.map +1 -0
  490. package/{index-2544bb0a.js → index-bbc82f2a.js} +4 -4
  491. package/{index-2544bb0a.js.map → index-bbc82f2a.js.map} +1 -1
  492. package/{index-b9b184a4.js → index-c17b453a.js} +1 -1
  493. package/{index-b9b184a4.js.map → index-c17b453a.js.map} +1 -1
  494. package/{index-c4273470.js → index-ceda3633.js} +4 -4
  495. package/{index-c4273470.js.map → index-ceda3633.js.map} +1 -1
  496. package/{index-879bcfab.js → index-d637d23d.js} +3 -3
  497. package/{index-879bcfab.js.map → index-d637d23d.js.map} +1 -1
  498. package/{index-56249831.js → index-e9757459.js} +68 -29
  499. package/index-e9757459.js.map +1 -0
  500. package/{index-63c995b8.js → index-ef60ce9f.js} +3 -3
  501. package/{index-63c995b8.js.map → index-ef60ce9f.js.map} +1 -1
  502. package/index.d.ts +278 -134
  503. package/index.js +57 -53
  504. package/index.js.map +1 -1
  505. package/{index.module-41885c5b.js → index.module-476c67cc.js} +1 -1
  506. package/{index.module-41885c5b.js.map → index.module-476c67cc.js.map} +1 -1
  507. package/package.json +3 -2
  508. package/{resolvedReplyType-d6e22593.js → resolvedReplyType-8fa44680.js} +1 -1
  509. package/{resolvedReplyType-d6e22593.js.map → resolvedReplyType-8fa44680.js.map} +1 -1
  510. package/sendbirdSelectors.js +3 -4
  511. package/sendbirdSelectors.js.map +1 -1
  512. package/{stringSet-47601d79.js → stringSet-f13a0a37.js} +1 -1
  513. package/{stringSet-47601d79.js.map → stringSet-f13a0a37.js.map} +1 -1
  514. package/{tokenize-c0cf9574.js → tokenize-be306c61.js} +2 -2
  515. package/{tokenize-c0cf9574.js.map → tokenize-be306c61.js.map} +1 -1
  516. package/{topics-e985567d.js → topics-df485c66.js} +1 -1
  517. package/{topics-e985567d.js.map → topics-df485c66.js.map} +1 -1
  518. package/{types-02054e6e.js → types-b2ebbd50.js} +1 -1
  519. package/types-b2ebbd50.js.map +1 -0
  520. package/ui/Accordion.js +2 -2
  521. package/ui/AccordionGroup.js +2 -2
  522. package/ui/AdminMessage.js +2 -2
  523. package/ui/Avatar.js +1 -1
  524. package/ui/Badge.js +4 -4
  525. package/ui/BottomSheet.js +1 -1
  526. package/ui/Button.js +2 -2
  527. package/ui/ChannelAvatar.js +2 -2
  528. package/ui/ConnectionStatus.js +4 -4
  529. package/ui/ContextMenu.js +5 -5
  530. package/ui/DateSeparator.js +3 -3
  531. package/ui/EmojiReactions.js +13 -13
  532. package/ui/EmojiReactions.js.map +1 -1
  533. package/ui/FileMessageItemBody.js +6 -6
  534. package/ui/FileViewer.js +15 -124
  535. package/ui/FileViewer.js.map +1 -1
  536. package/ui/Icon.js +178 -159
  537. package/ui/Icon.js.map +1 -1
  538. package/ui/IconButton.js +1 -1
  539. package/ui/Input.js +2 -2
  540. package/ui/Label.js +2 -2
  541. package/ui/LinkLabel.js +2 -2
  542. package/ui/MentionLabel.js +10 -10
  543. package/ui/MentionUserLabel.js +1 -1
  544. package/ui/MessageContent.js +28 -28
  545. package/ui/MessageContent.js.map +1 -1
  546. package/ui/MessageInput/hooks/usePaste.js +7 -0
  547. package/ui/MessageInput/hooks/usePaste.js.map +1 -0
  548. package/ui/MessageInput.js +16 -227
  549. package/ui/MessageInput.js.map +1 -1
  550. package/ui/MessageItemMenu.js +8 -8
  551. package/ui/MessageItemMenu.js.map +1 -1
  552. package/ui/MessageItemReactionMenu.js +8 -8
  553. package/ui/MessageItemReactionMenu.js.map +1 -1
  554. package/ui/MessageSearchFileItem.js +10 -10
  555. package/ui/MessageSearchItem.js +8 -8
  556. package/ui/MessageStatus.js +10 -10
  557. package/ui/Modal.js +7 -7
  558. package/ui/OGMessageItemBody.js +14 -14
  559. package/ui/OpenChannelAdminMessage.js +2 -2
  560. package/ui/OpenChannelAvatar.js +5 -5
  561. package/ui/OpenchannelConversationHeader.js +6 -6
  562. package/ui/OpenchannelFileMessage.js +15 -15
  563. package/ui/OpenchannelOGMessage.js +18 -18
  564. package/ui/OpenchannelThumbnailMessage.js +14 -14
  565. package/ui/OpenchannelUserMessage.js +15 -15
  566. package/ui/PlaceHolder.js +5 -5
  567. package/ui/PlaybackTime.js +2 -2
  568. package/ui/QuoteMessage.js +6 -6
  569. package/ui/QuoteMessage.js.map +1 -1
  570. package/ui/QuoteMessageInput.js +6 -6
  571. package/ui/QuoteMessageInput.js.map +1 -1
  572. package/ui/ReactionBadge.js +2 -2
  573. package/ui/ReactionButton.js +4 -4
  574. package/ui/SortByRow.js +1 -1
  575. package/ui/TextButton.js +1 -1
  576. package/ui/TextMessageItemBody.js +14 -14
  577. package/ui/ThreadReplies.js +5 -5
  578. package/ui/ThumbnailMessageItemBody.js +5 -5
  579. package/ui/Toggle.js +1 -1
  580. package/ui/Tooltip.js +2 -2
  581. package/ui/UnknownMessageItemBody.js +6 -6
  582. package/ui/UserListItem.js +10 -10
  583. package/ui/UserProfile.js +9 -9
  584. package/ui/VoiceMessageItemBody.js +9 -9
  585. package/ui/VoiceMessgeInput.js +7 -7
  586. package/ui/Word.js +10 -10
  587. package/{useLongPress-0a2a8916.js → useLongPress-e69367cf.js} +3 -3
  588. package/{useLongPress-0a2a8916.js.map → useLongPress-e69367cf.js.map} +1 -1
  589. package/useSendbirdStateContext.js +1 -1
  590. package/utils/message/getOutgoingMessageState.js.map +1 -1
  591. package/utils/message/isVoiceMessage.js +2 -2
  592. package/{utils-93924431.js → utils-3ee416c9.js} +1 -1
  593. package/{utils-93924431.js.map → utils-3ee416c9.js.map} +1 -1
  594. package/{utils-2f26afa0.js → utils-42133229.js} +1 -1
  595. package/{utils-2f26afa0.js.map → utils-42133229.js.map} +1 -1
  596. package/{utils-d15f13cf.js → utils-60a2e587.js} +1 -1
  597. package/{utils-d15f13cf.js.map → utils-60a2e587.js.map} +1 -1
  598. package/{utils-70ea4cc9.js → utils-910ef5dd.js} +2 -2
  599. package/{utils-70ea4cc9.js.map → utils-910ef5dd.js.map} +1 -1
  600. package/utils-df42b9f9.js +301 -0
  601. package/utils-df42b9f9.js.map +1 -0
  602. package/{uuid-ec51ac4d.js → uuid-1b498132.js} +1 -1
  603. package/{uuid-ec51ac4d.js.map → uuid-1b498132.js.map} +1 -1
  604. package/withSendbird.js +1 -1
  605. package/ChannelListProvider-fc14f42d.js.map +0 -1
  606. package/ChannelProvider-78e85f32.js.map +0 -1
  607. package/OpenChannelProvider-a6f4f92a.js.map +0 -1
  608. package/RemoveMessageModal-0d438e31.js.map +0 -1
  609. package/ThreadProvider-2a4356a2.js.map +0 -1
  610. package/_rollupPluginBabelHelpers-90ff7fc4.js.map +0 -1
  611. package/cjs/ChannelListProvider-c1f3cf4a.js.map +0 -1
  612. package/cjs/ChannelProvider-633edf61.js.map +0 -1
  613. package/cjs/OpenChannelProvider-c2b3dc2c.js.map +0 -1
  614. package/cjs/RemoveMessageModal-271f1251.js.map +0 -1
  615. package/cjs/ThreadProvider-8d2ce923.js.map +0 -1
  616. package/cjs/_rollupPluginBabelHelpers-0d9d52a5.js.map +0 -1
  617. package/cjs/index-08c5777e.js.map +0 -1
  618. package/cjs/index-b428366f.js.map +0 -1
  619. package/cjs/index-ed1ee70b.js.map +0 -1
  620. package/cjs/types-812b3bfd.js.map +0 -1
  621. package/cjs/useDirtyGetMentions-a37639f1.js.map +0 -1
  622. package/index-17b78bb0.js.map +0 -1
  623. package/index-56249831.js.map +0 -1
  624. package/index-ebb8a7df.js.map +0 -1
  625. package/types-02054e6e.js.map +0 -1
  626. package/useDirtyGetMentions-3f7692ab.js.map +0 -1
@@ -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/hooks/useScrollBehavior.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, { useEffect, useState } from 'react';\nimport { useDebounce } from '../../../../../hooks/useDebounce';\n\nconst DELAY = 500;\n\nexport function useSetScrollToBottom({\n loading,\n}: {\n loading: boolean;\n}): ({\n scrollBottom: number;\n scrollToBottomHandler: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;\n}) {\n const [scrollBottom, setScrollBottom] = useState(0);\n useEffect(() => {\n if (loading) {\n setScrollBottom(0);\n }\n }, [loading]);\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 { useEffect } from 'react';\nimport { useChannelContext } from '../../../context/ChannelProvider';\n\nexport function useScrollBehavior() {\n const {\n scrollRef,\n scrollBehavior = 'auto',\n } = useChannelContext();\n\n useEffect(() => {\n if (scrollRef.current) {\n scrollRef.current.style.scrollBehavior = scrollBehavior;\n }\n }, [scrollRef.current]);\n\n return null;\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';\nimport { useScrollBehavior } from './hooks/useScrollBehavior';\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 useScrollBehavior();\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 /**\n * 1. Move the messsage list scroll\n * when each message's height is changed by `reactions` OR `showEdit`\n * 2. Keep the scrollBottom value after fetching new message list\n */\n const moveScroll = (isBottomMessageAffected = false): void => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom\n && (!isBottomMessageAffected || scrollBottom < SCROLL_BUFFER)) {\n // Move the scroll as much as the height of the message has changed\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({ loading });\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={moveScroll}\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 {unreadSince && (\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 {\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","loading","scrollBottom","setScrollBottom","useState","useEffect","scrollCb","e","element","target","scrollHeight","scrollTop","offsetHeight","_unused","scrollToBottomHandler","useDebounce","useScrollBehavior","scrollRef","scrollBehavior","useChannelContext","current","style","SCROLL_BOTTOM_PADDING","MessageList","className","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","renderPlaceholderLoader","hasMorePrev","hasMoreNext","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","filterMessageList","unreadSince","store","useSendbirdStateContext","allMessagesFiltered","filter","markAsReadScheduler","config","onScroll","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","moveScroll","isBottomMessageAffected","arguments","length","undefined","bottom","handleOnScroll","useHandleOnScrollCallback","hasMore","hasNext","React","createElement","PlaceHolder","PlaceHolderTypes","LOADING","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/hooks/useSetScrollToBottom.ts","../../../src/modules/Channel/components/MessageList/hooks/useScrollBehavior.ts","../../../src/modules/Channel/components/MessageList/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useDebounce } from '../../../../../hooks/useDebounce';\n\nconst DELAY = 500;\n\nexport function useSetScrollToBottom({\n loading,\n}: {\n loading: boolean;\n}): ({\n scrollBottom: number;\n scrollToBottomHandler: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;\n}) {\n const [scrollBottom, setScrollBottom] = useState(0);\n useEffect(() => {\n if (loading) {\n setScrollBottom(0);\n }\n }, [loading]);\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 { useEffect } from 'react';\nimport { useChannelContext } from '../../../context/ChannelProvider';\n\nexport function useScrollBehavior() {\n const {\n scrollRef,\n scrollBehavior = 'auto',\n } = useChannelContext();\n\n useEffect(() => {\n if (scrollRef.current) {\n scrollRef.current.style.scrollBehavior = scrollBehavior;\n }\n }, [scrollRef.current]);\n\n return null;\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';\nimport { useScrollBehavior } from './hooks/useScrollBehavior';\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 useScrollBehavior();\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 /**\n * 1. Move the messsage list scroll\n * when each message's height is changed by `reactions` OR `showEdit`\n * 2. Keep the scrollBottom value after fetching new message list\n */\n const moveScroll = (isBottomMessageAffected = false): void => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom\n && (!isBottomMessageAffected || scrollBottom < SCROLL_BUFFER)) {\n // Move the scroll as much as the height of the message has changed\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({ loading });\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={moveScroll}\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 {unreadSince && (\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 {\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":["DELAY","useSetScrollToBottom","_ref","loading","scrollBottom","setScrollBottom","useState","useEffect","scrollCb","e","element","target","scrollHeight","scrollTop","offsetHeight","_unused","scrollToBottomHandler","useDebounce","useScrollBehavior","scrollRef","scrollBehavior","useChannelContext","current","style","SCROLL_BOTTOM_PADDING","MessageList","className","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","renderPlaceholderLoader","allMessages","hasMorePrev","hasMoreNext","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","filterMessageList","replyType","unreadSince","store","useSendbirdStateContext","allMessagesFiltered","filter","markAsReadScheduler","config","onScroll","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","moveScroll","isBottomMessageAffected","arguments","length","undefined","bottom","handleOnScroll","useHandleOnScrollCallback","hasMore","hasNext","React","createElement","PlaceHolder","PlaceHolderTypes","LOADING","NO_MESSAGES","ref","map","m","idx","_sender","_store$config","chainTop","chainBottom","hasSeparator","getMessagePartsInfo","currentIndex","currentMessage","currentChannel","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,32 +1,33 @@
1
1
  import React__default, { useContext } from 'react';
2
2
  import Modal from '../../ui/Modal.js';
3
3
  import { ButtonTypes } from '../../ui/Button.js';
4
- import { a as LocalizationContext } from '../../LocalizationContext-5fe9b59d.js';
5
- import { u as useChannelContext } from '../../ChannelProvider-78e85f32.js';
4
+ import { a as LocalizationContext } from '../../LocalizationContext-8781208d.js';
5
+ import { u as useChannelContext } from '../../ChannelProvider-849524b4.js';
6
6
  import 'react-dom';
7
- import '../../index-bafedab0.js';
7
+ import '../../index-92d47d85.js';
8
8
  import '../../ui/Icon.js';
9
9
  import 'prop-types';
10
10
  import '../../ui/IconButton.js';
11
- import '../../_rollupPluginBabelHelpers-90ff7fc4.js';
12
- import '../../index-13d9d766.js';
13
- import '../../stringSet-47601d79.js';
14
- import '../../MediaQueryContext-66b59195.js';
15
- import '../../index-b9b184a4.js';
16
- import '../../UserProfileContext-8b8f3e3a.js';
11
+ import '../../_rollupPluginBabelHelpers-404d1a9c.js';
12
+ import '../../index-5a7039da.js';
13
+ import '../../stringSet-f13a0a37.js';
14
+ import '../../MediaQueryContext-2ef9f34f.js';
15
+ import '../../index-c17b453a.js';
16
+ import '../../UserProfileContext-3be56f3a.js';
17
17
  import '../../useSendbirdStateContext.js';
18
18
  import '../../withSendbird.js';
19
- import '../../const-c6a266f4.js';
20
- import '../../index-335e7557.js';
21
- import '../../topics-e985567d.js';
22
- import '../../index-56249831.js';
19
+ import '../../const-cf103f8d.js';
20
+ import '../../utils-df42b9f9.js';
21
+ import '../../index-0cfeeaac.js';
22
+ import '../../topics-df485c66.js';
23
+ import '../../index-e9757459.js';
23
24
  import '../../utils/message/getOutgoingMessageState.js';
24
- import '../../compareIds-2464aab2.js';
25
+ import '../../compareIds-72c21832.js';
25
26
  import '@sendbird/chat/groupChannel';
26
- import '../../uuid-ec51ac4d.js';
27
+ import '../../uuid-1b498132.js';
27
28
  import '@sendbird/chat/message';
28
- import '../../consts-b6f24cc7.js';
29
- import '../../resolvedReplyType-d6e22593.js';
29
+ import '../../consts-f92f7a23.js';
30
+ import '../../resolvedReplyType-8fa44680.js';
30
31
 
31
32
  const RemoveMessage = props => {
32
33
  var _message$threadInfo;
@@ -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,UAAU,CAACC,mBAAmB,CAAC,CAAA;EACrD,MAAM;AACJC,IAAAA,aAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;AACvB,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;IACJC,IAAI,EAAEC,WAAW,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,UAAU,CAACC,mBAAmB,CAAC,CAAA;EACrD,MAAM;AACJC,IAAAA,aAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;AACvB,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;IACJC,IAAI,EAAEC,WAAW,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,29 +1,30 @@
1
1
  import React__default, { useRef, useContext, useEffect, useMemo, useState } from 'react';
2
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-13d9d766.js';
2
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-5a7039da.js';
3
3
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
4
4
  import Avatar from '../../ui/Avatar.js';
5
- import { a as LocalizationContext } from '../../LocalizationContext-5fe9b59d.js';
6
- import { u as uuidv4 } from '../../uuid-ec51ac4d.js';
7
- import { u as useChannelContext } from '../../ChannelProvider-78e85f32.js';
5
+ import { a as LocalizationContext } from '../../LocalizationContext-8781208d.js';
6
+ import { u as uuidv4 } from '../../uuid-1b498132.js';
7
+ import { u as useChannelContext } from '../../ChannelProvider-849524b4.js';
8
8
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
9
- import { U as USER_MENTION_TEMP_CHAR, M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-c6a266f4.js';
10
- import { M as MessageInputKeys } from '../../const-0cca8d38.js';
11
- import { u as useThreadContext } from '../../ThreadProvider-2a4356a2.js';
9
+ import { U as USER_MENTION_TEMP_CHAR, M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-cf103f8d.js';
10
+ import { M as MessageInputKeys } from '../../const-035fb030.js';
11
+ import { u as useThreadContext } from '../../ThreadProvider-9e14db75.js';
12
12
  import 'prop-types';
13
- import '../../stringSet-47601d79.js';
13
+ import '../../stringSet-f13a0a37.js';
14
14
  import '../../ui/ImageRenderer.js';
15
- import '../../index-b9b184a4.js';
16
- import '../../UserProfileContext-8b8f3e3a.js';
17
- import '../../index-335e7557.js';
18
- import '../../topics-e985567d.js';
19
- import '../../index-56249831.js';
20
- import '../../_rollupPluginBabelHelpers-90ff7fc4.js';
15
+ import '../../index-c17b453a.js';
16
+ import '../../UserProfileContext-3be56f3a.js';
17
+ import '../../utils-df42b9f9.js';
18
+ import '../../index-0cfeeaac.js';
19
+ import '../../topics-df485c66.js';
20
+ import '../../index-e9757459.js';
21
+ import '../../_rollupPluginBabelHelpers-404d1a9c.js';
21
22
  import '../../utils/message/getOutgoingMessageState.js';
22
- import '../../compareIds-2464aab2.js';
23
+ import '../../compareIds-72c21832.js';
23
24
  import '@sendbird/chat/groupChannel';
24
25
  import '@sendbird/chat/message';
25
- import '../../consts-b6f24cc7.js';
26
- import '../../resolvedReplyType-d6e22593.js';
26
+ import '../../consts-f92f7a23.js';
27
+ import '../../resolvedReplyType-8fa44680.js';
27
28
  import '../../withSendbird.js';
28
29
  import '../../Thread/context/types.js';
29
30
  import '@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":"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"}
@@ -1,24 +1,25 @@
1
1
  import React__default, { useContext, useState, useEffect } from 'react';
2
2
  import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
3
- import { a as LocalizationContext } from '../../LocalizationContext-5fe9b59d.js';
4
- import { u as uuidv4 } from '../../uuid-ec51ac4d.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-13d9d766.js';
6
- import { u as useChannelContext } from '../../ChannelProvider-78e85f32.js';
3
+ import { a as LocalizationContext } from '../../LocalizationContext-8781208d.js';
4
+ import { u as uuidv4 } from '../../uuid-1b498132.js';
5
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-5a7039da.js';
6
+ import { u as useChannelContext } from '../../ChannelProvider-849524b4.js';
7
7
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
8
- import '../../stringSet-47601d79.js';
9
- import '../../index-b9b184a4.js';
8
+ import '../../stringSet-f13a0a37.js';
9
+ import '../../index-c17b453a.js';
10
10
  import 'prop-types';
11
- import '../../UserProfileContext-8b8f3e3a.js';
12
- import '../../const-c6a266f4.js';
13
- import '../../index-335e7557.js';
14
- import '../../topics-e985567d.js';
15
- import '../../index-56249831.js';
16
- import '../../_rollupPluginBabelHelpers-90ff7fc4.js';
11
+ import '../../UserProfileContext-3be56f3a.js';
12
+ import '../../const-cf103f8d.js';
13
+ import '../../utils-df42b9f9.js';
14
+ import '../../index-0cfeeaac.js';
15
+ import '../../topics-df485c66.js';
16
+ import '../../index-e9757459.js';
17
+ import '../../_rollupPluginBabelHelpers-404d1a9c.js';
17
18
  import '../../utils/message/getOutgoingMessageState.js';
18
- import '../../compareIds-2464aab2.js';
19
+ import '../../compareIds-72c21832.js';
19
20
  import '@sendbird/chat/message';
20
- import '../../consts-b6f24cc7.js';
21
- import '../../resolvedReplyType-d6e22593.js';
21
+ import '../../consts-f92f7a23.js';
22
+ import '../../resolvedReplyType-8fa44680.js';
22
23
  import '../../withSendbird.js';
23
24
 
24
25
  const TypingIndicatorText = _ref => {
@@ -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,9 +1,9 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-5fe9b59d.js';
3
- import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-13d9d766.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-8781208d.js';
3
+ import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-5a7039da.js';
4
4
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
5
- import '../../stringSet-47601d79.js';
6
- import '../../index-b9b184a4.js';
5
+ import '../../stringSet-f13a0a37.js';
6
+ import '../../index-c17b453a.js';
7
7
  import 'prop-types';
8
8
 
9
9
  const UnreadCount = _ref => {
@@ -1,20 +1,21 @@
1
1
  import 'react';
2
- import '../UserProfileContext-8b8f3e3a.js';
2
+ import '../UserProfileContext-3be56f3a.js';
3
3
  import '../useSendbirdStateContext.js';
4
- import '../const-c6a266f4.js';
5
- export { C as ChannelProvider, u as useChannelContext } from '../ChannelProvider-78e85f32.js';
6
- import '../resolvedReplyType-d6e22593.js';
4
+ import '../const-cf103f8d.js';
5
+ import '../utils-df42b9f9.js';
6
+ export { C as ChannelProvider, u as useChannelContext } from '../ChannelProvider-849524b4.js';
7
+ import '../resolvedReplyType-8fa44680.js';
7
8
  import 'prop-types';
8
9
  import '../withSendbird.js';
9
- import '../_rollupPluginBabelHelpers-90ff7fc4.js';
10
- import '../index-335e7557.js';
11
- import '../index-b9b184a4.js';
12
- import '../topics-e985567d.js';
13
- import '../index-56249831.js';
10
+ import '../_rollupPluginBabelHelpers-404d1a9c.js';
11
+ import '../index-0cfeeaac.js';
12
+ import '../index-c17b453a.js';
13
+ import '../topics-df485c66.js';
14
+ import '../index-e9757459.js';
14
15
  import '../utils/message/getOutgoingMessageState.js';
15
- import '../compareIds-2464aab2.js';
16
+ import '../compareIds-72c21832.js';
16
17
  import '@sendbird/chat/groupChannel';
17
- import '../uuid-ec51ac4d.js';
18
+ import '../uuid-1b498132.js';
18
19
  import '@sendbird/chat/message';
19
- import '../consts-b6f24cc7.js';
20
+ import '../consts-f92f7a23.js';
20
21
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,22 @@
1
+ import { H as isSameGroup } from '../../utils-df42b9f9.js';
2
+ import '../../index-0cfeeaac.js';
3
+ import '../../index-c17b453a.js';
4
+ import '../../topics-df485c66.js';
5
+ import '../../index-e9757459.js';
6
+ import '../../_rollupPluginBabelHelpers-404d1a9c.js';
7
+ import '../../utils/message/getOutgoingMessageState.js';
8
+
9
+ /**
10
+ * exported, should be backward compatible
11
+ */
12
+ const compareMessagesForGrouping = (prevMessage, currMessage, nextMessage, currentChannel, replyType) => {
13
+ if (replyType === 'THREAD' && currMessage !== null && currMessage !== void 0 && currMessage.threadInfo) {
14
+ return [false, false];
15
+ }
16
+ const sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
17
+ const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
18
+ return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
19
+ };
20
+
21
+ export { compareMessagesForGrouping };
22
+ //# sourceMappingURL=compareMessagesForGrouping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareMessagesForGrouping.js","sources":["../../../src/modules/Channel/context/compareMessagesForGrouping.ts"],"sourcesContent":["import { UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { isSameGroup } from './utils';\nimport { ReplyType } from '../../../types';\nimport { CoreMessageType } from '../../../utils';\n\n/**\n * exported, should be backward compatible\n */\nexport const compareMessagesForGrouping = (\n prevMessage: CoreMessageType,\n currMessage: CoreMessageType,\n nextMessage: CoreMessageType,\n currentChannel: GroupChannel,\n replyType: ReplyType,\n): [\n chainTop: boolean,\n chainBottom: boolean,\n] => {\n if (replyType === 'THREAD' && currMessage?.threadInfo) {\n return [false, false];\n }\n const sendingStatus = (currMessage as UserMessage)?.sendingStatus || '';\n const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';\n return [\n isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable,\n isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable,\n ];\n};\n"],"names":["compareMessagesForGrouping","prevMessage","currMessage","nextMessage","currentChannel","replyType","threadInfo","sendingStatus","isAcceptable","isSameGroup"],"mappings":";;;;;;;;AAOA;AACA;AACA;AACaA,MAAAA,0BAA0B,GAAGA,CACxCC,WAA4B,EAC5BC,WAA4B,EAC5BC,WAA4B,EAC5BC,cAA4B,EAC5BC,SAAoB,KAIjB;EACH,IAAIA,SAAS,KAAK,QAAQ,IAAIH,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,IAAAA,WAAW,CAAEI,UAAU,EAAE;AACrD,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvB,GAAA;EACA,MAAMC,aAAa,GAAG,CAACL,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAkBK,aAAa,KAAI,EAAE,CAAA;EACvE,MAAMC,YAAY,GAAGD,aAAa,KAAK,SAAS,IAAIA,aAAa,KAAK,QAAQ,CAAA;EAC9E,OAAO,CACLE,WAAW,CAACR,WAAW,EAAEC,WAAW,EAAEE,cAAc,CAAC,IAAII,YAAY,EACrEC,WAAW,CAACP,WAAW,EAAEC,WAAW,EAAEC,cAAc,CAAC,IAAII,YAAY,CACtE,CAAA;AACH;;;;"}
@@ -0,0 +1,38 @@
1
+ import { i as isSameDay } from '../../index-3c8065f1.js';
2
+ import { compareMessagesForGrouping } from './compareMessagesForGrouping.js';
3
+ import '../../index-0cfeeaac.js';
4
+ import '../../index-c17b453a.js';
5
+ import '../../utils-df42b9f9.js';
6
+ import '../../topics-df485c66.js';
7
+ import '../../index-e9757459.js';
8
+ import '../../_rollupPluginBabelHelpers-404d1a9c.js';
9
+ import '../../utils/message/getOutgoingMessageState.js';
10
+
11
+ /**
12
+ * exported, should be backward compatible
13
+ */
14
+ const getMessagePartsInfo = _ref => {
15
+ let {
16
+ allMessages = [],
17
+ isMessageGroupingEnabled = true,
18
+ currentIndex = 0,
19
+ currentMessage = null,
20
+ currentChannel = null,
21
+ replyType = ''
22
+ } = _ref;
23
+ const previousMessage = allMessages[currentIndex - 1];
24
+ const nextMessage = allMessages[currentIndex + 1];
25
+ const [chainTop, chainBottom] = isMessageGroupingEnabled ? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType) : [false, false];
26
+ const previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
27
+ const currentCreatedAt = currentMessage.createdAt;
28
+ // https://stackoverflow.com/a/41855608
29
+ const hasSeparator = !(previousMessageCreatedAt && isSameDay(currentCreatedAt, previousMessageCreatedAt));
30
+ return {
31
+ chainTop,
32
+ chainBottom,
33
+ hasSeparator
34
+ };
35
+ };
36
+
37
+ export { getMessagePartsInfo };
38
+ //# sourceMappingURL=getMessagePartsInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMessagePartsInfo.js","sources":["../../../src/modules/Channel/components/MessageList/getMessagePartsInfo.ts"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { compareMessagesForGrouping } from '../../context/compareMessagesForGrouping';\nimport { ReplyType } from '../../../../types';\nimport { CoreMessageType } from '../../../../utils';\n\nexport interface GetMessagePartsInfoProps {\n allMessages: Array<CoreMessageType>;\n isMessageGroupingEnabled: boolean;\n currentIndex: number;\n currentMessage: CoreMessageType;\n currentChannel: GroupChannel;\n replyType: string;\n}\n\ninterface OutPuts {\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n}\n\n/**\n * exported, should be backward compatible\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 as 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"],"names":["getMessagePartsInfo","_ref","allMessages","isMessageGroupingEnabled","currentIndex","currentMessage","currentChannel","replyType","previousMessage","nextMessage","chainTop","chainBottom","compareMessagesForGrouping","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay"],"mappings":";;;;;;;;;;AAsBA;AACA;AACA;AACaA,MAAAA,mBAAmB,GAAGC,IAAA,IAOM;EAAA,IAPL;AAClCC,IAAAA,WAAW,GAAG,EAAE;AAChBC,IAAAA,wBAAwB,GAAG,IAAI;AAC/BC,IAAAA,YAAY,GAAG,CAAC;AAChBC,IAAAA,cAAc,GAAG,IAAI;AACrBC,IAAAA,cAAc,GAAG,IAAI;AACrBC,IAAAA,SAAS,GAAG,EAAA;AACY,GAAC,GAAAN,IAAA,CAAA;AACzB,EAAA,MAAMO,eAAe,GAAGN,WAAW,CAACE,YAAY,GAAG,CAAC,CAAC,CAAA;AACrD,EAAA,MAAMK,WAAW,GAAGP,WAAW,CAACE,YAAY,GAAG,CAAC,CAAC,CAAA;EACjD,MAAM,CAACM,QAAQ,EAAEC,WAAW,CAAC,GAAGR,wBAAwB,GACpDS,0BAA0B,CAACJ,eAAe,EAAEH,cAAc,EAAEI,WAAW,EAAEH,cAAc,EAAGC,SAAS,CAAe,GAClH,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;EAClB,MAAMM,wBAAwB,GAAGL,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAEM,SAAS,CAAA;AAC3D,EAAA,MAAMC,gBAAgB,GAAGV,cAAc,CAACS,SAAS,CAAA;AACjD;EACA,MAAME,YAAY,GAAG,EAAEH,wBAAwB,IAC7CI,SAAS,CAACF,gBAAgB,EAAEF,wBAAwB,CACrD,CAAC,CAAA;EACF,OAAO;IACLH,QAAQ;IACRC,WAAW;AACXK,IAAAA,YAAAA;GACD,CAAA;AACH;;;;"}