@sendbird/uikit-react 3.2.6 → 3.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/App.js +163 -71
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +40 -0
  4. package/Channel/components/ChannelHeader.js +18 -43
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -23
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -14
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +49 -24
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +21 -16
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +30 -32
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +16 -16
  17. package/Channel/components/SuggestedMentionList.js +54 -48
  18. package/Channel/components/SuggestedMentionList.js.map +1 -1
  19. package/Channel/components/TypingIndicator.js +14 -14
  20. package/Channel/components/UnreadCount.js +4 -4
  21. package/Channel/context.js +13 -13
  22. package/Channel.js +35 -24
  23. package/Channel.js.map +1 -1
  24. package/ChannelList/components/AddChannel.js +14 -14
  25. package/ChannelList/components/ChannelListHeader.js +7 -7
  26. package/ChannelList/components/ChannelListUI.js +28 -27
  27. package/ChannelList/components/ChannelListUI.js.map +1 -1
  28. package/ChannelList/components/ChannelPreview.js +26 -24
  29. package/ChannelList/components/ChannelPreview.js.map +1 -1
  30. package/ChannelList/components/ChannelPreviewAction.js +32 -25
  31. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +27 -27
  34. package/{ChannelListProvider-6596e633.js → ChannelListProvider-6916e880.js} +8 -8
  35. package/{ChannelListProvider-6596e633.js.map → ChannelListProvider-6916e880.js.map} +1 -1
  36. package/{ChannelProvider-5e995fe8.js → ChannelProvider-8be62d5d.js} +90 -47
  37. package/ChannelProvider-8be62d5d.js.map +1 -0
  38. package/ChannelSettings/components/ChannelProfile.js +12 -12
  39. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  40. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  41. package/ChannelSettings/components/LeaveChannel.js +12 -12
  42. package/ChannelSettings/components/ModerationPanel.js +24 -19
  43. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  44. package/ChannelSettings/components/UserListItem.js +13 -13
  45. package/ChannelSettings/components/UserListItem.js.map +1 -1
  46. package/ChannelSettings/components/UserPanel.js +14 -14
  47. package/ChannelSettings/context.js +3 -3
  48. package/ChannelSettings.js +18 -18
  49. package/CreateChannel/components/CreateChannelUI.js +14 -14
  50. package/CreateChannel/components/InviteUsers.js +14 -14
  51. package/CreateChannel/components/SelectChannelType.js +11 -11
  52. package/CreateChannel/context.js +4 -4
  53. package/CreateChannel.js +14 -14
  54. package/{CreateChannelProvider-fc0268d6.js → CreateChannelProvider-4604e579.js} +1 -1
  55. package/{CreateChannelProvider-fc0268d6.js.map → CreateChannelProvider-4604e579.js.map} +1 -1
  56. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  57. package/CreateOpenChannel/context.js +1 -1
  58. package/CreateOpenChannel.js +10 -10
  59. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  60. package/EditUserProfile.js +13 -13
  61. package/{LocalizationContext-a90809c7.js → LocalizationContext-5920dafc.js} +3 -3
  62. package/{LocalizationContext-a90809c7.js.map → LocalizationContext-5920dafc.js.map} +1 -1
  63. package/{MediaQueryContext-280871f5.js → MediaQueryContext-9c1bb79f.js} +1 -1
  64. package/{MediaQueryContext-280871f5.js.map → MediaQueryContext-9c1bb79f.js.map} +1 -1
  65. package/{MemberList-25c34d5b.js → MemberList-743b0708.js} +7 -6
  66. package/MemberList-743b0708.js.map +1 -0
  67. package/MessageSearch/components/MessageSearchUI.js +11 -11
  68. package/MessageSearch/context.js +2 -2
  69. package/MessageSearch.js +11 -11
  70. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  71. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  72. package/OpenChannel/components/OpenChannelInput.js +15 -15
  73. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  74. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  75. package/OpenChannel/components/OpenChannelUI.js +24 -24
  76. package/OpenChannel/context.js +9 -9
  77. package/OpenChannel.js +24 -24
  78. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  79. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  80. package/OpenChannelList/context.js +4 -4
  81. package/OpenChannelList.js +13 -13
  82. package/{OpenChannelListProvider-9b77cf19.js → OpenChannelListProvider-8f97ace6.js} +3 -3
  83. package/{OpenChannelListProvider-9b77cf19.js.map → OpenChannelListProvider-8f97ace6.js.map} +1 -1
  84. package/{OpenChannelProvider-911f3536.js → OpenChannelProvider-1438b899.js} +7 -7
  85. package/OpenChannelProvider-1438b899.js.map +1 -0
  86. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  87. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  88. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  89. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  90. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  91. package/OpenChannelSettings/context.js +3 -3
  92. package/OpenChannelSettings.js +18 -18
  93. package/RemoveMessageModal-0ce1f978.js +31 -0
  94. package/RemoveMessageModal-0ce1f978.js.map +1 -0
  95. package/SendbirdProvider.js +18 -14
  96. package/SendbirdProvider.js.map +1 -1
  97. package/Thread/components/ParentMessageInfo.js +360 -0
  98. package/Thread/components/ParentMessageInfo.js.map +1 -0
  99. package/Thread/components/ParentMessageInfoItem.js +197 -0
  100. package/Thread/components/ParentMessageInfoItem.js.map +1 -0
  101. package/Thread/components/ThreadHeader.js +61 -0
  102. package/Thread/components/ThreadHeader.js.map +1 -0
  103. package/Thread/components/ThreadList.js +139 -0
  104. package/Thread/components/ThreadList.js.map +1 -0
  105. package/Thread/components/ThreadListItem.js +522 -0
  106. package/Thread/components/ThreadListItem.js.map +1 -0
  107. package/Thread/components/ThreadMessageInput.js +193 -0
  108. package/Thread/components/ThreadMessageInput.js.map +1 -0
  109. package/Thread/components/ThreadUI.js +314 -0
  110. package/Thread/components/ThreadUI.js.map +1 -0
  111. package/Thread/context/types.js +30 -0
  112. package/Thread/context/types.js.map +1 -0
  113. package/Thread/context.js +18 -0
  114. package/Thread/context.js.map +1 -0
  115. package/Thread.js +112 -0
  116. package/Thread.js.map +1 -0
  117. package/ThreadProvider-4640c6fb.js +1644 -0
  118. package/ThreadProvider-4640c6fb.js.map +1 -0
  119. package/{UserProfileContext-4e70ef73.js → UserProfileContext-749db4f6.js} +1 -1
  120. package/{UserProfileContext-4e70ef73.js.map → UserProfileContext-749db4f6.js.map} +1 -1
  121. package/{_rollupPluginBabelHelpers-51c9f5c3.js → _rollupPluginBabelHelpers-636e674b.js} +1 -1
  122. package/_rollupPluginBabelHelpers-636e674b.js.map +1 -0
  123. package/{actionTypes-3dc172c6.js → actionTypes-9bf40e56.js} +1 -1
  124. package/{actionTypes-3dc172c6.js.map → actionTypes-9bf40e56.js.map} +1 -1
  125. package/cjs/App.js +163 -71
  126. package/cjs/App.js.map +1 -1
  127. package/cjs/Channel/components/ChannelHeader.js +20 -45
  128. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  129. package/cjs/Channel/components/ChannelUI.js +28 -23
  130. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  131. package/cjs/Channel/components/FileViewer.js +14 -14
  132. package/cjs/Channel/components/FrozenNotification.js +4 -4
  133. package/cjs/Channel/components/Message.js +49 -24
  134. package/cjs/Channel/components/Message.js.map +1 -1
  135. package/cjs/Channel/components/MessageInput.js +21 -16
  136. package/cjs/Channel/components/MessageInput.js.map +1 -1
  137. package/cjs/Channel/components/MessageList.js +30 -32
  138. package/cjs/Channel/components/MessageList.js.map +1 -1
  139. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  140. package/cjs/Channel/components/SuggestedMentionList.js +54 -48
  141. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  142. package/cjs/Channel/components/TypingIndicator.js +14 -14
  143. package/cjs/Channel/components/UnreadCount.js +4 -4
  144. package/cjs/Channel/context.js +14 -13
  145. package/cjs/Channel/context.js.map +1 -1
  146. package/cjs/Channel.js +35 -24
  147. package/cjs/Channel.js.map +1 -1
  148. package/cjs/ChannelList/components/AddChannel.js +14 -14
  149. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  150. package/cjs/ChannelList/components/ChannelListUI.js +28 -27
  151. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelPreview.js +26 -24
  153. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  154. package/cjs/ChannelList/components/ChannelPreviewAction.js +32 -25
  155. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  156. package/cjs/ChannelList/context.js +8 -8
  157. package/cjs/ChannelList.js +27 -27
  158. package/cjs/{ChannelListProvider-a61b57d9.js → ChannelListProvider-d04a3815.js} +8 -8
  159. package/cjs/{ChannelListProvider-a61b57d9.js.map → ChannelListProvider-d04a3815.js.map} +1 -1
  160. package/cjs/{ChannelProvider-4dd6e426.js → ChannelProvider-6fd99b0a.js} +90 -46
  161. package/cjs/ChannelProvider-6fd99b0a.js.map +1 -0
  162. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  163. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  164. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  165. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  166. package/cjs/ChannelSettings/components/ModerationPanel.js +24 -19
  167. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  168. package/cjs/ChannelSettings/components/UserListItem.js +13 -13
  169. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  170. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  171. package/cjs/ChannelSettings/context.js +3 -3
  172. package/cjs/ChannelSettings.js +18 -18
  173. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  174. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  175. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  176. package/cjs/CreateChannel/context.js +4 -4
  177. package/cjs/CreateChannel.js +14 -14
  178. package/cjs/{CreateChannelProvider-29af9e9c.js → CreateChannelProvider-a096e766.js} +1 -1
  179. package/cjs/{CreateChannelProvider-29af9e9c.js.map → CreateChannelProvider-a096e766.js.map} +1 -1
  180. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  181. package/cjs/CreateOpenChannel/context.js +1 -1
  182. package/cjs/CreateOpenChannel.js +10 -10
  183. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  184. package/cjs/EditUserProfile.js +13 -13
  185. package/cjs/{LocalizationContext-3c85c616.js → LocalizationContext-9c61d945.js} +3 -3
  186. package/cjs/{LocalizationContext-3c85c616.js.map → LocalizationContext-9c61d945.js.map} +1 -1
  187. package/cjs/{MediaQueryContext-c8f557d1.js → MediaQueryContext-19197e12.js} +1 -1
  188. package/cjs/{MediaQueryContext-c8f557d1.js.map → MediaQueryContext-19197e12.js.map} +1 -1
  189. package/cjs/{MemberList-0861d5f8.js → MemberList-82cd8a28.js} +7 -6
  190. package/cjs/MemberList-82cd8a28.js.map +1 -0
  191. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  192. package/cjs/MessageSearch/context.js +2 -2
  193. package/cjs/MessageSearch.js +11 -11
  194. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  195. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  196. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  197. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  198. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  199. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  200. package/cjs/OpenChannel/context.js +9 -9
  201. package/cjs/OpenChannel.js +24 -24
  202. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  203. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  204. package/cjs/OpenChannelList/context.js +4 -4
  205. package/cjs/OpenChannelList.js +13 -13
  206. package/cjs/{OpenChannelListProvider-934729b4.js → OpenChannelListProvider-3998074a.js} +3 -3
  207. package/cjs/{OpenChannelListProvider-934729b4.js.map → OpenChannelListProvider-3998074a.js.map} +1 -1
  208. package/cjs/{OpenChannelProvider-c05255cc.js → OpenChannelProvider-7bd784c2.js} +7 -7
  209. package/cjs/OpenChannelProvider-7bd784c2.js.map +1 -0
  210. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  211. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  212. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  213. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  214. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  215. package/cjs/OpenChannelSettings/context.js +3 -3
  216. package/cjs/OpenChannelSettings.js +18 -18
  217. package/cjs/RemoveMessageModal-81ca8cf7.js +37 -0
  218. package/cjs/RemoveMessageModal-81ca8cf7.js.map +1 -0
  219. package/cjs/SendbirdProvider.js +18 -14
  220. package/cjs/SendbirdProvider.js.map +1 -1
  221. package/cjs/Thread/components/ParentMessageInfo.js +366 -0
  222. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
  223. package/cjs/Thread/components/ParentMessageInfoItem.js +203 -0
  224. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -0
  225. package/cjs/Thread/components/ThreadHeader.js +67 -0
  226. package/cjs/Thread/components/ThreadHeader.js.map +1 -0
  227. package/cjs/Thread/components/ThreadList.js +145 -0
  228. package/cjs/Thread/components/ThreadList.js.map +1 -0
  229. package/cjs/Thread/components/ThreadListItem.js +528 -0
  230. package/cjs/Thread/components/ThreadListItem.js.map +1 -0
  231. package/cjs/Thread/components/ThreadMessageInput.js +199 -0
  232. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
  233. package/cjs/Thread/components/ThreadUI.js +320 -0
  234. package/cjs/Thread/components/ThreadUI.js.map +1 -0
  235. package/cjs/Thread/context/types.js +32 -0
  236. package/cjs/Thread/context/types.js.map +1 -0
  237. package/cjs/Thread/context.js +27 -0
  238. package/cjs/Thread/context.js.map +1 -0
  239. package/cjs/Thread.js +118 -0
  240. package/cjs/Thread.js.map +1 -0
  241. package/cjs/ThreadProvider-acb1ddb1.js +1653 -0
  242. package/cjs/ThreadProvider-acb1ddb1.js.map +1 -0
  243. package/cjs/{UserProfileContext-c16bb529.js → UserProfileContext-637e5f40.js} +1 -1
  244. package/cjs/{UserProfileContext-c16bb529.js.map → UserProfileContext-637e5f40.js.map} +1 -1
  245. package/cjs/{_rollupPluginBabelHelpers-23c0e950.js → _rollupPluginBabelHelpers-20ad87c1.js} +1 -1
  246. package/cjs/_rollupPluginBabelHelpers-20ad87c1.js.map +1 -0
  247. package/cjs/{actionTypes-d80c4fb6.js → actionTypes-7ba29408.js} +1 -1
  248. package/cjs/{actionTypes-d80c4fb6.js.map → actionTypes-7ba29408.js.map} +1 -1
  249. package/cjs/{color-03c2ecf2.js → color-da1f2f09.js} +1 -1
  250. package/cjs/{color-03c2ecf2.js.map → color-da1f2f09.js.map} +1 -1
  251. package/cjs/{compareIds-c670ae57.js → compareIds-a7a8f34b.js} +1 -1
  252. package/cjs/{compareIds-c670ae57.js.map → compareIds-a7a8f34b.js.map} +1 -1
  253. package/cjs/{const-fe6f002d.js → const-5f50d896.js} +1 -1
  254. package/cjs/{const-fe6f002d.js.map → const-5f50d896.js.map} +1 -1
  255. package/cjs/{const-0095baf3.js → const-c5332da3.js} +7 -1
  256. package/cjs/const-c5332da3.js.map +1 -0
  257. package/cjs/{context-0fb617f1.js → context-3063790f.js} +2 -2
  258. package/cjs/{context-0fb617f1.js.map → context-3063790f.js.map} +1 -1
  259. package/cjs/dist/index.css +1044 -191
  260. package/cjs/dist/index.css.map +1 -1
  261. package/cjs/{index-1218eab2.js → index-0418c426.js} +7 -7
  262. package/cjs/index-0418c426.js.map +1 -0
  263. package/cjs/{index-1042f264.js → index-566a2b96.js} +2 -2
  264. package/cjs/{index-1042f264.js.map → index-566a2b96.js.map} +1 -1
  265. package/cjs/{index-fab17fef.js → index-568f12d2.js} +4 -4
  266. package/cjs/{index-fab17fef.js.map → index-568f12d2.js.map} +1 -1
  267. package/cjs/{index-0854d1ea.js → index-5d551bb1.js} +2 -2
  268. package/cjs/{index-0854d1ea.js.map → index-5d551bb1.js.map} +1 -1
  269. package/cjs/{index-1b69f7d2.js → index-6a32eea2.js} +1 -1
  270. package/cjs/{index-1b69f7d2.js.map → index-6a32eea2.js.map} +1 -1
  271. package/cjs/{index-b1a4b6f0.js → index-795706d2.js} +2 -2
  272. package/cjs/{index-b1a4b6f0.js.map → index-795706d2.js.map} +1 -1
  273. package/cjs/{index-039012c4.js → index-94a96213.js} +4 -4
  274. package/cjs/{index-039012c4.js.map → index-94a96213.js.map} +1 -1
  275. package/cjs/{index-475ae379.js → index-99943583.js} +5 -5
  276. package/cjs/{index-475ae379.js.map → index-99943583.js.map} +1 -1
  277. package/cjs/{index-97e2a887.js → index-ac7ef6d8.js} +9 -9
  278. package/cjs/index-ac7ef6d8.js.map +1 -0
  279. package/cjs/{index-607cb4ff.js → index-b82af371.js} +1 -1
  280. package/cjs/{index-607cb4ff.js.map → index-b82af371.js.map} +1 -1
  281. package/cjs/{index-27c6a6bc.js → index-d0d7cb2e.js} +2 -2
  282. package/cjs/{index-27c6a6bc.js.map → index-d0d7cb2e.js.map} +1 -1
  283. package/cjs/index.js +82 -68
  284. package/cjs/index.js.map +1 -1
  285. package/cjs/sendbirdSelectors.js +2 -2
  286. package/cjs/{stringSet-da2fe019.js → stringSet-520996cb.js} +17 -3
  287. package/cjs/stringSet-520996cb.js.map +1 -0
  288. package/cjs/{topics-fd2124f5.js → topics-e5734128.js} +1 -1
  289. package/cjs/{topics-fd2124f5.js.map → topics-e5734128.js.map} +1 -1
  290. package/cjs/tslib.es6-29ba80a6.js +97 -0
  291. package/cjs/{tslib.es6-bce345aa.js.map → tslib.es6-29ba80a6.js.map} +1 -1
  292. package/cjs/ui/Accordion.js +3 -3
  293. package/cjs/ui/AccordionGroup.js +2 -2
  294. package/cjs/ui/AdminMessage.js +3 -3
  295. package/cjs/ui/AdminMessage.js.map +1 -1
  296. package/cjs/ui/Avatar.js +2 -2
  297. package/cjs/ui/Badge.js +5 -5
  298. package/cjs/ui/BottomSheet.js +1 -1
  299. package/cjs/ui/Button.js +3 -3
  300. package/cjs/ui/ChannelAvatar.js +3 -3
  301. package/cjs/ui/ConnectionStatus.js +4 -4
  302. package/cjs/ui/ContextMenu.js +15 -11
  303. package/cjs/ui/ContextMenu.js.map +1 -1
  304. package/cjs/ui/DateSeparator.js +4 -4
  305. package/cjs/ui/EmojiReactions.js +26 -14
  306. package/cjs/ui/EmojiReactions.js.map +1 -1
  307. package/cjs/ui/FileMessageItemBody.js +11 -8
  308. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  309. package/cjs/ui/FileViewer.js +8 -8
  310. package/cjs/ui/IconButton.js +1 -1
  311. package/cjs/ui/ImageRenderer.js +1 -1
  312. package/cjs/ui/Input.js +2 -2
  313. package/cjs/ui/Label.js +2 -2
  314. package/cjs/ui/LinkLabel.js +2 -2
  315. package/cjs/ui/Loader.js +1 -1
  316. package/cjs/ui/MentionLabel.js +15 -14
  317. package/cjs/ui/MentionLabel.js.map +1 -1
  318. package/cjs/ui/MessageContent.js +104 -56
  319. package/cjs/ui/MessageContent.js.map +1 -1
  320. package/cjs/ui/MessageInput.js +17 -13
  321. package/cjs/ui/MessageInput.js.map +1 -1
  322. package/cjs/ui/MessageItemMenu.js +40 -16
  323. package/cjs/ui/MessageItemMenu.js.map +1 -1
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +9 -9
  326. package/cjs/ui/MessageSearchItem.js +9 -9
  327. package/cjs/ui/MessageStatus.js +11 -11
  328. package/cjs/ui/MessageStatus.js.map +1 -1
  329. package/cjs/ui/Modal.js +7 -7
  330. package/cjs/ui/Modal.js.map +1 -1
  331. package/cjs/ui/OGMessageItemBody.js +11 -13
  332. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  333. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  334. package/cjs/ui/OpenChannelAvatar.js +6 -6
  335. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  336. package/cjs/ui/OpenchannelFileMessage.js +21 -19
  337. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  338. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  339. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  340. package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
  341. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  342. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  343. package/cjs/ui/PlaceHolder.js +6 -6
  344. package/cjs/ui/QuoteMessage.js +34 -16
  345. package/cjs/ui/QuoteMessage.js.map +1 -1
  346. package/cjs/ui/QuoteMessageInput.js +6 -6
  347. package/cjs/ui/ReactionBadge.js +3 -3
  348. package/cjs/ui/ReactionButton.js +1 -1
  349. package/cjs/ui/SortByRow.js +2 -2
  350. package/cjs/ui/SortByRow.js.map +1 -1
  351. package/cjs/ui/TextButton.js +2 -2
  352. package/cjs/ui/TextMessageItemBody.js +11 -11
  353. package/cjs/ui/ThreadReplies.js +82 -0
  354. package/cjs/ui/ThreadReplies.js.map +1 -0
  355. package/cjs/ui/ThumbnailMessageItemBody.js +14 -12
  356. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  357. package/cjs/ui/Tooltip.js +3 -3
  358. package/cjs/ui/TooltipWrapper.js +1 -1
  359. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  360. package/cjs/ui/UserListItem.js +17 -17
  361. package/cjs/ui/UserListItem.js.map +1 -1
  362. package/cjs/ui/UserProfile.js +14 -12
  363. package/cjs/ui/UserProfile.js.map +1 -1
  364. package/cjs/ui/Word.js +11 -11
  365. package/cjs/{useLongPress-698416e4.js → useLongPress-9c1d0d7e.js} +3 -3
  366. package/cjs/{useLongPress-698416e4.js.map → useLongPress-9c1d0d7e.js.map} +1 -1
  367. package/cjs/useSendbirdStateContext.js +1 -1
  368. package/cjs/utils-88f4aff4.js +32 -0
  369. package/cjs/utils-88f4aff4.js.map +1 -0
  370. package/cjs/{utils-0d32641e.js → utils-c137a361.js} +1 -1
  371. package/cjs/{utils-0d32641e.js.map → utils-c137a361.js.map} +1 -1
  372. package/cjs/{utils-557bb5d2.js → utils-ee8b0f03.js} +1 -1
  373. package/cjs/{utils-557bb5d2.js.map → utils-ee8b0f03.js.map} +1 -1
  374. package/cjs/{utils-8a793976.js → utils-f215ace1.js} +1 -1
  375. package/cjs/{utils-8a793976.js.map → utils-f215ace1.js.map} +1 -1
  376. package/cjs/{uuid-2a459d4b.js → uuid-ed079835.js} +1 -1
  377. package/cjs/{uuid-2a459d4b.js.map → uuid-ed079835.js.map} +1 -1
  378. package/cjs/withSendbird.js +1 -1
  379. package/{color-e740c17f.js → color-253fcdc4.js} +1 -1
  380. package/{color-e740c17f.js.map → color-253fcdc4.js.map} +1 -1
  381. package/{compareIds-e84966df.js → compareIds-5494c074.js} +1 -1
  382. package/{compareIds-e84966df.js.map → compareIds-5494c074.js.map} +1 -1
  383. package/{const-3c9680d2.js → const-2aae43f2.js} +1 -1
  384. package/{const-3c9680d2.js.map → const-2aae43f2.js.map} +1 -1
  385. package/const-8bb8cc10.js +14 -0
  386. package/const-8bb8cc10.js.map +1 -0
  387. package/{context-3adaf9b3.js → context-8c660706.js} +2 -2
  388. package/{context-3adaf9b3.js.map → context-8c660706.js.map} +1 -1
  389. package/dist/index.css +1044 -191
  390. package/dist/index.css.map +1 -1
  391. package/{index-ca3ba8a0.js → index-1a59aaa9.js} +7 -7
  392. package/index-1a59aaa9.js.map +1 -0
  393. package/{index-fb4777a9.js → index-358a6180.js} +4 -4
  394. package/{index-fb4777a9.js.map → index-358a6180.js.map} +1 -1
  395. package/{index-64740116.js → index-4a23e6ff.js} +2 -2
  396. package/{index-64740116.js.map → index-4a23e6ff.js.map} +1 -1
  397. package/{index-041c94d3.js → index-4f51d577.js} +2 -2
  398. package/{index-041c94d3.js.map → index-4f51d577.js.map} +1 -1
  399. package/{index-0fa44537.js → index-8b94db1e.js} +2 -2
  400. package/{index-0fa44537.js.map → index-8b94db1e.js.map} +1 -1
  401. package/{index-cfdf3b6d.js → index-a6dbcbe1.js} +2 -2
  402. package/{index-cfdf3b6d.js.map → index-a6dbcbe1.js.map} +1 -1
  403. package/{index-8e0d1cc6.js → index-b5b56cb7.js} +1 -1
  404. package/{index-8e0d1cc6.js.map → index-b5b56cb7.js.map} +1 -1
  405. package/{index-8ce0c4b6.js → index-b932b49d.js} +5 -5
  406. package/{index-8ce0c4b6.js.map → index-b932b49d.js.map} +1 -1
  407. package/{index-873ffa33.js → index-cb6348b0.js} +4 -4
  408. package/{index-873ffa33.js.map → index-cb6348b0.js.map} +1 -1
  409. package/{index-8d74bd4b.js → index-d2dd3ae2.js} +1 -1
  410. package/{index-8d74bd4b.js.map → index-d2dd3ae2.js.map} +1 -1
  411. package/{index-05c36d6c.js → index-d5896de7.js} +9 -9
  412. package/index-d5896de7.js.map +1 -0
  413. package/index.d.ts +224 -13
  414. package/index.js +82 -68
  415. package/index.js.map +1 -1
  416. package/package.json +1 -1
  417. package/sendbirdSelectors.js +2 -2
  418. package/{stringSet-e413411d.js → stringSet-f0e25f08.js} +17 -3
  419. package/stringSet-f0e25f08.js.map +1 -0
  420. package/{topics-b81e5b9b.js → topics-d2e15fe6.js} +1 -1
  421. package/{topics-b81e5b9b.js.map → topics-d2e15fe6.js.map} +1 -1
  422. package/tslib.es6-279bc71d.js +92 -0
  423. package/{tslib.es6-e592f653.js.map → tslib.es6-279bc71d.js.map} +1 -1
  424. package/ui/Accordion.js +3 -3
  425. package/ui/AccordionGroup.js +2 -2
  426. package/ui/AdminMessage.js +3 -3
  427. package/ui/AdminMessage.js.map +1 -1
  428. package/ui/Avatar.js +2 -2
  429. package/ui/Badge.js +5 -5
  430. package/ui/BottomSheet.js +1 -1
  431. package/ui/Button.js +3 -3
  432. package/ui/ChannelAvatar.js +3 -3
  433. package/ui/ConnectionStatus.js +4 -4
  434. package/ui/ContextMenu.js +15 -11
  435. package/ui/ContextMenu.js.map +1 -1
  436. package/ui/DateSeparator.js +4 -4
  437. package/ui/EmojiReactions.js +26 -14
  438. package/ui/EmojiReactions.js.map +1 -1
  439. package/ui/FileMessageItemBody.js +11 -8
  440. package/ui/FileMessageItemBody.js.map +1 -1
  441. package/ui/FileViewer.js +8 -8
  442. package/ui/IconButton.js +1 -1
  443. package/ui/ImageRenderer.js +1 -1
  444. package/ui/Input.js +2 -2
  445. package/ui/Label.js +2 -2
  446. package/ui/LinkLabel.js +2 -2
  447. package/ui/Loader.js +1 -1
  448. package/ui/MentionLabel.js +15 -14
  449. package/ui/MentionLabel.js.map +1 -1
  450. package/ui/MessageContent.js +104 -56
  451. package/ui/MessageContent.js.map +1 -1
  452. package/ui/MessageInput.js +17 -13
  453. package/ui/MessageInput.js.map +1 -1
  454. package/ui/MessageItemMenu.js +40 -16
  455. package/ui/MessageItemMenu.js.map +1 -1
  456. package/ui/MessageItemReactionMenu.js +5 -5
  457. package/ui/MessageSearchFileItem.js +9 -9
  458. package/ui/MessageSearchItem.js +9 -9
  459. package/ui/MessageStatus.js +11 -11
  460. package/ui/MessageStatus.js.map +1 -1
  461. package/ui/Modal.js +7 -7
  462. package/ui/Modal.js.map +1 -1
  463. package/ui/OGMessageItemBody.js +11 -13
  464. package/ui/OGMessageItemBody.js.map +1 -1
  465. package/ui/OpenChannelAdminMessage.js +3 -3
  466. package/ui/OpenChannelAvatar.js +6 -6
  467. package/ui/OpenchannelConversationHeader.js +6 -6
  468. package/ui/OpenchannelFileMessage.js +21 -19
  469. package/ui/OpenchannelFileMessage.js.map +1 -1
  470. package/ui/OpenchannelOGMessage.js +18 -18
  471. package/ui/OpenchannelOGMessage.js.map +1 -1
  472. package/ui/OpenchannelThumbnailMessage.js +17 -17
  473. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  474. package/ui/OpenchannelUserMessage.js +16 -16
  475. package/ui/PlaceHolder.js +6 -6
  476. package/ui/QuoteMessage.js +34 -16
  477. package/ui/QuoteMessage.js.map +1 -1
  478. package/ui/QuoteMessageInput.js +6 -6
  479. package/ui/ReactionBadge.js +3 -3
  480. package/ui/ReactionButton.js +1 -1
  481. package/ui/SortByRow.js +2 -2
  482. package/ui/SortByRow.js.map +1 -1
  483. package/ui/TextButton.js +2 -2
  484. package/ui/TextMessageItemBody.js +11 -11
  485. package/ui/ThreadReplies.js +76 -0
  486. package/ui/ThreadReplies.js.map +1 -0
  487. package/ui/ThumbnailMessageItemBody.js +14 -12
  488. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  489. package/ui/Tooltip.js +3 -3
  490. package/ui/TooltipWrapper.js +1 -1
  491. package/ui/UnknownMessageItemBody.js +6 -6
  492. package/ui/UserListItem.js +17 -17
  493. package/ui/UserListItem.js.map +1 -1
  494. package/ui/UserProfile.js +14 -12
  495. package/ui/UserProfile.js.map +1 -1
  496. package/ui/Word.js +11 -11
  497. package/{useLongPress-8cda7590.js → useLongPress-53f7929a.js} +3 -3
  498. package/{useLongPress-8cda7590.js.map → useLongPress-53f7929a.js.map} +1 -1
  499. package/useSendbirdStateContext.js +1 -1
  500. package/{utils-f95bafde.js → utils-128b3636.js} +1 -1
  501. package/{utils-f95bafde.js.map → utils-128b3636.js.map} +1 -1
  502. package/{utils-c2438081.js → utils-5a4995e3.js} +1 -1
  503. package/{utils-c2438081.js.map → utils-5a4995e3.js.map} +1 -1
  504. package/utils-ad636dfd.js +30 -0
  505. package/utils-ad636dfd.js.map +1 -0
  506. package/{utils-90964f90.js → utils-afd23bb8.js} +1 -1
  507. package/{utils-90964f90.js.map → utils-afd23bb8.js.map} +1 -1
  508. package/{uuid-c41826f3.js → uuid-636df95b.js} +1 -1
  509. package/{uuid-c41826f3.js.map → uuid-636df95b.js.map} +1 -1
  510. package/withSendbird.js +1 -1
  511. package/ChannelProvider-5e995fe8.js.map +0 -1
  512. package/MemberList-25c34d5b.js.map +0 -1
  513. package/OpenChannelProvider-911f3536.js.map +0 -1
  514. package/_rollupPluginBabelHelpers-51c9f5c3.js.map +0 -1
  515. package/cjs/ChannelProvider-4dd6e426.js.map +0 -1
  516. package/cjs/MemberList-0861d5f8.js.map +0 -1
  517. package/cjs/OpenChannelProvider-c05255cc.js.map +0 -1
  518. package/cjs/_rollupPluginBabelHelpers-23c0e950.js.map +0 -1
  519. package/cjs/const-0095baf3.js.map +0 -1
  520. package/cjs/index-1218eab2.js.map +0 -1
  521. package/cjs/index-97e2a887.js.map +0 -1
  522. package/cjs/stringSet-da2fe019.js.map +0 -1
  523. package/cjs/tslib.es6-bce345aa.js +0 -57
  524. package/const-630a8129.js +0 -8
  525. package/const-630a8129.js.map +0 -1
  526. package/index-05c36d6c.js.map +0 -1
  527. package/index-ca3ba8a0.js.map +0 -1
  528. package/stringSet-e413411d.js.map +0 -1
  529. package/tslib.es6-e592f653.js +0 -54
@@ -0,0 +1,199 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../../tslib.es6-29ba80a6.js');
4
+ var React = require('react');
5
+ var SendbirdChat = require('@sendbird/chat');
6
+ var groupChannel = require('@sendbird/chat/groupChannel');
7
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
8
+ var ui_MessageInput = require('../../ui/MessageInput.js');
9
+ var _const = require('../../const-5f50d896.js');
10
+ var Channel_components_SuggestedMentionList = require('../../Channel/components/SuggestedMentionList.js');
11
+ var Thread_context = require('../../ThreadProvider-acb1ddb1.js');
12
+ var LocalizationContext = require('../../LocalizationContext-9c61d945.js');
13
+ require('../../withSendbird.js');
14
+ require('../../_rollupPluginBabelHelpers-20ad87c1.js');
15
+ require('react-dom/server');
16
+ require('prop-types');
17
+ require('../../const-c5332da3.js');
18
+ require('../../ui/IconButton.js');
19
+ require('../../ui/Button.js');
20
+ require('../../index-795706d2.js');
21
+ require('../../stringSet-520996cb.js');
22
+ require('../../ui/MentionUserLabel.js');
23
+ require('../../ui/Icon.js');
24
+ require('../../index-0418c426.js');
25
+ require('../../utils/message/getOutgoingMessageState.js');
26
+ require('../../index-b82af371.js');
27
+ require('../../ui/Avatar.js');
28
+ require('../../ui/ImageRenderer.js');
29
+ require('../../uuid-ed079835.js');
30
+ require('../../ChannelProvider-6fd99b0a.js');
31
+ require('../../UserProfileContext-637e5f40.js');
32
+ require('../../index-566a2b96.js');
33
+ require('../../topics-e5734128.js');
34
+ require('../../compareIds-a7a8f34b.js');
35
+ require('@sendbird/chat/message');
36
+ require('../../ui/ContextMenu.js');
37
+ require('react-dom');
38
+ require('../../ui/SortByRow.js');
39
+ require('../../ui/ReactionButton.js');
40
+ require('../context/types.js');
41
+
42
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
43
+
44
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
+
46
+ var ThreadMessageInput = function (props, ref) {
47
+ var className = props.className;
48
+ var config = useSendbirdStateContext().config;
49
+ var stringSet = LocalizationContext.useLocalization().stringSet;
50
+ var isMentionEnabled = config.isMentionEnabled,
51
+ isOnline = config.isOnline,
52
+ userMention = config.userMention;
53
+
54
+ var _a = Thread_context.useThreadContext(),
55
+ currentChannel = _a.currentChannel,
56
+ parentMessage = _a.parentMessage,
57
+ sendMessage = _a.sendMessage,
58
+ sendFileMessage = _a.sendFileMessage,
59
+ isMuted = _a.isMuted,
60
+ isChannelFrozen = _a.isChannelFrozen,
61
+ allThreadMessages = _a.allThreadMessages;
62
+
63
+ var messageInputRef = React.useRef();
64
+ var disabled = isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === SendbirdChat.Role.OPERATOR) && isChannelFrozen || parentMessage === null; // mention
65
+
66
+ var _b = React.useState(''),
67
+ mentionNickname = _b[0],
68
+ setMentionNickname = _b[1];
69
+
70
+ var _c = React.useState([]),
71
+ mentionedUsers = _c[0],
72
+ setMentionedUsers = _c[1];
73
+
74
+ var _d = React.useState([]),
75
+ mentionedUserIds = _d[0],
76
+ setMentionedUserIds = _d[1];
77
+
78
+ var _e = React.useState(null),
79
+ selectedUser = _e[0],
80
+ setSelectedUser = _e[1];
81
+
82
+ var _f = React.useState([]),
83
+ mentionSuggestedUsers = _f[0],
84
+ setMentionSuggestedUsers = _f[1];
85
+
86
+ var _g = React.useState(true),
87
+ ableMention = _g[0],
88
+ setAbleMention = _g[1];
89
+
90
+ var _h = React.useState(null),
91
+ messageInputEvent = _h[0],
92
+ setMessageInputEvent = _h[1];
93
+
94
+ var displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0; // && !utils.isDisabledBecauseFrozen(channel)
95
+ // && !utils.isDisabledBecauseMuted(channel);
96
+
97
+ React.useEffect(function () {
98
+ if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount)) {
99
+ setAbleMention(false);
100
+ } else {
101
+ setAbleMention(true);
102
+ }
103
+ }, [mentionedUsers]);
104
+ React.useEffect(function () {
105
+ setMentionedUsers(mentionedUsers.filter(function (_a) {
106
+ var userId = _a.userId;
107
+ var i = mentionedUserIds.indexOf(userId);
108
+
109
+ if (i < 0) {
110
+ return false;
111
+ } else {
112
+ mentionedUserIds.splice(i, 1);
113
+ return true;
114
+ }
115
+ }));
116
+ }, [mentionedUserIds]);
117
+ return /*#__PURE__*/React__default["default"].createElement("div", {
118
+ className: "sendbird-thread-message-input ".concat(className)
119
+ }, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
120
+ targetNickname: mentionNickname,
121
+ inputEvent: messageInputEvent // renderUserMentionItem={renderUserMentionItem}
122
+ ,
123
+ onUserItemClick: function (user) {
124
+ if (user) {
125
+ setMentionedUsers(tslib_es6.__spreadArray(tslib_es6.__spreadArray([], mentionedUsers, true), [user], false));
126
+ }
127
+
128
+ setMentionNickname('');
129
+ setSelectedUser(user);
130
+ setMessageInputEvent(null);
131
+ },
132
+ onFocusItemChange: function () {
133
+ setMessageInputEvent(null);
134
+ },
135
+ onFetchUsers: function (users) {
136
+ setMentionSuggestedUsers(users);
137
+ },
138
+ ableAddMention: ableMention,
139
+ maxMentionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount,
140
+ maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
141
+ }), /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
142
+ className: "sendbird-thread-message-input__message-input",
143
+ messageFieldId: "sendbird-message-input-text-field--thread",
144
+ disabled: disabled,
145
+ channelUrl: currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url,
146
+ mentionSelectedUser: selectedUser,
147
+ isMentionEnabled: isMentionEnabled,
148
+ ref: ref || messageInputRef,
149
+ placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === SendbirdChat.Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === groupChannel.MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
150
+ onStartTyping: function () {
151
+ var _a;
152
+
153
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.startTyping) === null || _a === void 0 ? void 0 : _a.call(currentChannel);
154
+ },
155
+ onSendMessage: function (_a) {
156
+ var _b;
157
+
158
+ var message = _a.message,
159
+ mentionTemplate = _a.mentionTemplate;
160
+ sendMessage({
161
+ message: message,
162
+ mentionedUsers: mentionedUsers,
163
+ mentionTemplate: mentionTemplate,
164
+ quoteMessage: parentMessage
165
+ });
166
+ setMentionNickname('');
167
+ setMentionedUsers([]);
168
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.endTyping) === null || _b === void 0 ? void 0 : _b.call(currentChannel);
169
+ },
170
+ onFileUpload: function (file) {
171
+ sendFileMessage(file, parentMessage);
172
+ },
173
+ onUserMentioned: function (user) {
174
+ if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
175
+ setSelectedUser(null);
176
+ setMentionNickname('');
177
+ }
178
+ },
179
+ onMentionStringChange: function (mentionText) {
180
+ setMentionNickname(mentionText);
181
+ },
182
+ onMentionedUserIdsUpdated: function (userIds) {
183
+ setMentionedUserIds(userIds);
184
+ },
185
+ onKeyDown: function (e) {
186
+ if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === _const.MessageInputKeys.Enter && ableMention || e.key === _const.MessageInputKeys.ArrowUp || e.key === _const.MessageInputKeys.ArrowDown)) {
187
+ setMessageInputEvent(e);
188
+ return true;
189
+ }
190
+
191
+ return false;
192
+ }
193
+ }));
194
+ };
195
+
196
+ var ThreadMessageInput$1 = /*#__PURE__*/React__default["default"].forwardRef(ThreadMessageInput);
197
+
198
+ module.exports = ThreadMessageInput$1;
199
+ //# sourceMappingURL=ThreadMessageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadMessageInput.js","sources":["../../../../src/smart-components/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Role } from '@sendbird/chat';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const { className } = props;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = isMuted || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n // && !utils.isDisabledBecauseFrozen(channel)\n // && !utils.isDisabledBecauseMuted(channel);\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n return (\n <div className={`sendbird-thread-message-input ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","_a","useThreadContext","currentChannel","parentMessage","sendMessage","sendFileMessage","isMuted","isChannelFrozen","allThreadMessages","messageInputRef","useRef","disabled","myRole","Role","OPERATOR","_b","useState","mentionNickname","setMentionNickname","_c","mentionedUsers","setMentionedUsers","_d","mentionedUserIds","setMentionedUserIds","_e","selectedUser","setSelectedUser","_f","mentionSuggestedUsers","setMentionSuggestedUsers","_g","ableMention","setAbleMention","_h","messageInputEvent","setMessageInputEvent","displaySuggestedMentionList","length","useEffect","maxMentionCount","filter","userId","i","indexOf","splice","React","concat","SuggestedMentionList","user","__spreadArray","users","maxSuggestionCount","MessageInput","url","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","startTyping","message","mentionTemplate","quoteMessage","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
@@ -0,0 +1,320 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
5
+ var LocalizationContext = require('../../LocalizationContext-9c61d945.js');
6
+ var utils = require('../../utils-88f4aff4.js');
7
+ var Thread_context = require('../../ThreadProvider-acb1ddb1.js');
8
+ var Thread_components_ParentMessageInfo = require('./ParentMessageInfo.js');
9
+ var Thread_components_ThreadHeader = require('./ThreadHeader.js');
10
+ var Thread_components_ThreadList = require('./ThreadList.js');
11
+ var Thread_components_ThreadMessageInput = require('./ThreadMessageInput.js');
12
+ var Thread_context_types = require('../context/types.js');
13
+ var ui_PlaceHolder = require('../../index-94a96213.js');
14
+ var ui_Label = require('../../index-795706d2.js');
15
+ require('../../withSendbird.js');
16
+ require('../../_rollupPluginBabelHelpers-20ad87c1.js');
17
+ require('../../stringSet-520996cb.js');
18
+ require('../../index-b82af371.js');
19
+ require('../../index-566a2b96.js');
20
+ require('../../utils/message/getOutgoingMessageState.js');
21
+ require('../../UserProfileContext-637e5f40.js');
22
+ require('prop-types');
23
+ require('../../tslib.es6-29ba80a6.js');
24
+ require('@sendbird/chat');
25
+ require('../../topics-e5734128.js');
26
+ require('@sendbird/chat/groupChannel');
27
+ require('../../uuid-ed079835.js');
28
+ require('@sendbird/chat/message');
29
+ require('../../RemoveMessageModal-81ca8cf7.js');
30
+ require('../../ui/Modal.js');
31
+ require('react-dom');
32
+ require('../../index-6a32eea2.js');
33
+ require('../../ui/Button.js');
34
+ require('../../ui/Icon.js');
35
+ require('../../ui/IconButton.js');
36
+ require('../../MediaQueryContext-19197e12.js');
37
+ require('./ParentMessageInfoItem.js');
38
+ require('../../index-0418c426.js');
39
+ require('../../ui/Word.js');
40
+ require('../../ui/LinkLabel.js');
41
+ require('../../ui/MentionLabel.js');
42
+ require('../../ui/ContextMenu.js');
43
+ require('../../ui/SortByRow.js');
44
+ require('../../ui/UserProfile.js');
45
+ require('../../sendbirdSelectors.js');
46
+ require('../../utils-ee8b0f03.js');
47
+ require('../../ui/Avatar.js');
48
+ require('../../ui/ImageRenderer.js');
49
+ require('../../ui/TextButton.js');
50
+ require('../../color-da1f2f09.js');
51
+ require('../../ui/EmojiReactions.js');
52
+ require('../../ui/Tooltip.js');
53
+ require('../../ui/TooltipWrapper.js');
54
+ require('../../ui/ReactionBadge.js');
55
+ require('../../ui/ReactionButton.js');
56
+ require('../../Channel/components/SuggestedMentionList.js');
57
+ require('../../ChannelProvider-6fd99b0a.js');
58
+ require('../../compareIds-a7a8f34b.js');
59
+ require('../../const-c5332da3.js');
60
+ require('../../const-5f50d896.js');
61
+ require('../../ui/FileViewer.js');
62
+ require('../../ui/MessageItemMenu.js');
63
+ require('../../ui/MessageItemReactionMenu.js');
64
+ require('../../ui/MessageInput.js');
65
+ require('react-dom/server');
66
+ require('../../ui/MentionUserLabel.js');
67
+ require('./ThreadListItem.js');
68
+ require('../../ui/DateSeparator.js');
69
+ require('../../ui/MessageStatus.js');
70
+ require('../../ui/Loader.js');
71
+ require('../../ui/TextMessageItemBody.js');
72
+ require('../../ui/OGMessageItemBody.js');
73
+ require('../../ui/FileMessageItemBody.js');
74
+ require('../../ui/ThumbnailMessageItemBody.js');
75
+ require('../../ui/UnknownMessageItemBody.js');
76
+ require('date-fns');
77
+
78
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
79
+
80
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
81
+
82
+ var useMemorizedHeader = function (_a) {
83
+ var renderHeader = _a.renderHeader;
84
+ return React.useMemo(function () {
85
+ if (typeof renderHeader === 'function') {
86
+ return renderHeader();
87
+ }
88
+
89
+ return null;
90
+ }, [renderHeader]);
91
+ };
92
+
93
+ var useMemorizedParentMessageInfo = function (_a) {
94
+ var parentMessage = _a.parentMessage,
95
+ parentMessageInfoStatus = _a.parentMessageInfoStatus,
96
+ renderParentMessageInfo = _a.renderParentMessageInfo,
97
+ renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder;
98
+ return React.useMemo(function () {
99
+ if (parentMessageInfoStatus === Thread_context_types.ParentMessageInfoStateTypes.NIL || parentMessageInfoStatus === Thread_context_types.ParentMessageInfoStateTypes.LOADING || parentMessageInfoStatus === Thread_context_types.ParentMessageInfoStateTypes.INVALID) {
100
+ if (typeof renderParentMessageInfoPlaceholder === 'function') {
101
+ return renderParentMessageInfoPlaceholder(parentMessageInfoStatus);
102
+ }
103
+
104
+ switch (parentMessageInfoStatus) {
105
+ case Thread_context_types.ParentMessageInfoStateTypes.NIL:
106
+ {
107
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
108
+ className: "sendbird-thread-ui__parent-message-info placeholder-nil",
109
+ type: ui_PlaceHolder.PlaceHolderTypes.NO_RESULTS,
110
+ iconSize: "64px"
111
+ });
112
+ }
113
+
114
+ case Thread_context_types.ParentMessageInfoStateTypes.LOADING:
115
+ {
116
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
117
+ className: "sendbird-thread-ui__parent-message-info placeholder-loading",
118
+ type: ui_PlaceHolder.PlaceHolderTypes.LOADING,
119
+ iconSize: "64px"
120
+ });
121
+ }
122
+
123
+ case Thread_context_types.ParentMessageInfoStateTypes.INVALID:
124
+ {
125
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
126
+ className: "sendbird-thread-ui__parent-message-info placeholder-invalid",
127
+ type: ui_PlaceHolder.PlaceHolderTypes.WRONG,
128
+ iconSize: "64px"
129
+ });
130
+ }
131
+
132
+ default:
133
+ {
134
+ return null;
135
+ }
136
+ }
137
+ } else if (parentMessageInfoStatus === Thread_context_types.ParentMessageInfoStateTypes.INITIALIZED) {
138
+ if (typeof renderParentMessageInfo === 'function') {
139
+ return renderParentMessageInfo();
140
+ }
141
+ }
142
+
143
+ return null;
144
+ }, [parentMessage, parentMessageInfoStatus, renderParentMessageInfo, renderParentMessageInfoPlaceholder]);
145
+ };
146
+
147
+ var useMemorizedThreadList = function (_a) {
148
+ var threadListStatus = _a.threadListStatus,
149
+ renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder;
150
+ return React.useMemo(function () {
151
+ if (threadListStatus === Thread_context_types.ThreadListStateTypes.NIL || threadListStatus === Thread_context_types.ThreadListStateTypes.LOADING || threadListStatus === Thread_context_types.ThreadListStateTypes.INVALID) {
152
+ if (typeof renderThreadListPlaceHolder === 'function') {
153
+ return renderThreadListPlaceHolder(threadListStatus);
154
+ }
155
+
156
+ switch (threadListStatus) {
157
+ case Thread_context_types.ThreadListStateTypes.LOADING:
158
+ {
159
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
160
+ className: "sendbird-thread-ui__thread-list placeholder-loading",
161
+ type: ui_PlaceHolder.PlaceHolderTypes.LOADING,
162
+ iconSize: "64px"
163
+ });
164
+ }
165
+
166
+ case Thread_context_types.ThreadListStateTypes.INVALID:
167
+ {
168
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
169
+ className: "sendbird-thread-ui__thread-list placeholder-invalid",
170
+ type: ui_PlaceHolder.PlaceHolderTypes.WRONG,
171
+ iconSize: "64px"
172
+ });
173
+ }
174
+
175
+ case Thread_context_types.ThreadListStateTypes.NIL:
176
+ {
177
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
178
+ }
179
+
180
+ default:
181
+ {
182
+ return null;
183
+ }
184
+ }
185
+ }
186
+
187
+ return null;
188
+ }, [threadListStatus, renderThreadListPlaceHolder]);
189
+ };
190
+
191
+ var ThreadUI = function (_a) {
192
+ var _b, _c, _d;
193
+
194
+ var renderHeader = _a.renderHeader,
195
+ renderParentMessageInfo = _a.renderParentMessageInfo,
196
+ renderMessage = _a.renderMessage,
197
+ renderMessageInput = _a.renderMessageInput,
198
+ renderCustomSeparator = _a.renderCustomSeparator,
199
+ renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder,
200
+ renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder;
201
+ var stores = useSendbirdStateContext().stores;
202
+ var currentUserId = (_d = (_c = (_b = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk) === null || _c === void 0 ? void 0 : _c.currentUser) === null || _d === void 0 ? void 0 : _d.userId;
203
+ var stringSet = LocalizationContext.useLocalization().stringSet;
204
+
205
+ var _e = Thread_context.useThreadContext(),
206
+ currentChannel = _e.currentChannel,
207
+ allThreadMessages = _e.allThreadMessages,
208
+ parentMessage = _e.parentMessage,
209
+ parentMessageInfoStatus = _e.parentMessageInfoStatus,
210
+ threadListStatus = _e.threadListStatus,
211
+ hasMorePrev = _e.hasMorePrev,
212
+ hasMoreNext = _e.hasMoreNext,
213
+ fetchPrevThreads = _e.fetchPrevThreads,
214
+ fetchNextThreads = _e.fetchNextThreads,
215
+ onHeaderActionClick = _e.onHeaderActionClick,
216
+ onMoveToParentMessage = _e.onMoveToParentMessage;
217
+
218
+ var replyCount = allThreadMessages.length; // Memoized custom components
219
+
220
+ var MemorizedHeader = useMemorizedHeader({
221
+ renderHeader: renderHeader
222
+ });
223
+ var MemorizedParentMessageInfo = useMemorizedParentMessageInfo({
224
+ parentMessage: parentMessage,
225
+ parentMessageInfoStatus: parentMessageInfoStatus,
226
+ renderParentMessageInfo: renderParentMessageInfo,
227
+ renderParentMessageInfoPlaceholder: renderParentMessageInfoPlaceholder
228
+ });
229
+ var MemorizedThreadList = useMemorizedThreadList({
230
+ threadListStatus: threadListStatus,
231
+ renderThreadListPlaceHolder: renderThreadListPlaceHolder
232
+ }); // scroll
233
+
234
+ var _f = React.useState(0),
235
+ scrollBottom = _f[0],
236
+ setScrollBottom = _f[1];
237
+
238
+ var scrollRef = React.useRef(null);
239
+
240
+ var onScroll = function (e) {
241
+ var element = e.target;
242
+ var scrollTop = element.scrollTop,
243
+ clientHeight = element.clientHeight,
244
+ scrollHeight = element.scrollHeight;
245
+ var threadItemNodes = scrollRef.current.querySelectorAll('.sendbird-thread-list-item');
246
+ var firstNode = threadItemNodes === null || threadItemNodes === void 0 ? void 0 : threadItemNodes[0];
247
+
248
+ if (Thread_context.isAboutSame(scrollTop, 0, 10) && hasMorePrev) {
249
+ fetchPrevThreads(function (messages) {
250
+ var _a;
251
+
252
+ if (messages) {
253
+ try {
254
+ (_a = firstNode === null || firstNode === void 0 ? void 0 : firstNode.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(firstNode, {
255
+ block: 'start',
256
+ inline: 'nearest'
257
+ });
258
+ } catch (error) {//
259
+ }
260
+ }
261
+ });
262
+ }
263
+
264
+ if (Thread_context.isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {
265
+ var scrollTop_1 = scrollTop;
266
+ fetchNextThreads(function (messages) {
267
+ if (messages) {
268
+ try {
269
+ element.scrollTop = scrollTop_1;
270
+ scrollRef.current.scrollTop = scrollTop_1;
271
+ } catch (error) {//
272
+ }
273
+ }
274
+ });
275
+ } // save the lastest scroll bottom value
276
+
277
+
278
+ if (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) {
279
+ var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
280
+ setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);
281
+ }
282
+ };
283
+
284
+ return /*#__PURE__*/React__default["default"].createElement("div", {
285
+ className: "sendbird-thread-ui"
286
+ }, MemorizedHeader || /*#__PURE__*/React__default["default"].createElement(Thread_components_ThreadHeader, {
287
+ className: "sendbird-thread-ui__header",
288
+ channelName: utils.getChannelTitle(currentChannel, currentUserId, stringSet),
289
+ onActionIconClick: onHeaderActionClick,
290
+ onChannelNameClick: function () {
291
+ return onMoveToParentMessage({
292
+ message: parentMessage,
293
+ channel: currentChannel
294
+ });
295
+ }
296
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
297
+ className: "sendbird-thread-ui--scroll",
298
+ ref: scrollRef,
299
+ onScroll: onScroll
300
+ }, MemorizedParentMessageInfo || /*#__PURE__*/React__default["default"].createElement(Thread_components_ParentMessageInfo, {
301
+ className: "sendbird-thread-ui__parent-message-info"
302
+ }), replyCount > 0 && /*#__PURE__*/React__default["default"].createElement("div", {
303
+ className: "sendbird-thread-ui__reply-counts"
304
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
305
+ type: ui_Label.LabelTypography.BODY_1,
306
+ color: ui_Label.LabelColors.ONBACKGROUND_3
307
+ }, "".concat(replyCount, " ").concat(replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY))), MemorizedThreadList || /*#__PURE__*/React__default["default"].createElement(Thread_components_ThreadList, {
308
+ className: "sendbird-thread-ui__thread-list",
309
+ allThreadMessages: allThreadMessages,
310
+ renderMessage: renderMessage,
311
+ renderCustomSeparator: renderCustomSeparator,
312
+ scrollRef: scrollRef,
313
+ scrollBottom: scrollBottom
314
+ }), (renderMessageInput === null || renderMessageInput === void 0 ? void 0 : renderMessageInput()) || /*#__PURE__*/React__default["default"].createElement(Thread_components_ThreadMessageInput, {
315
+ className: "sendbird-thread-ui__message-input"
316
+ })));
317
+ };
318
+
319
+ module.exports = ThreadUI;
320
+ //# sourceMappingURL=ThreadUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadUI.js","sources":["../../../../src/smart-components/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../../src/smart-components/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../../src/smart-components/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../../src/smart-components/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageInfoStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: UserMessage | FileMessage;\n parentMessageInfoStatus: ParentMessageInfoStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageInfoStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageInfoStatus,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageInfoStatus === ParentMessageInfoStateTypes.NIL\n || parentMessageInfoStatus === ParentMessageInfoStateTypes.LOADING\n || parentMessageInfoStatus === ParentMessageInfoStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageInfoStatus);\n }\n switch (parentMessageInfoStatus) {\n case ParentMessageInfoStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageInfoStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageInfoStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageInfoStatus === ParentMessageInfoStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageInfoStatus,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListStatus: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListStatus,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListStatus === ThreadListStateTypes.NIL\n || threadListStatus === ThreadListStateTypes.LOADING\n || threadListStatus === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListStatus);\n }\n switch (threadListStatus) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListStatus,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageInfoStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageInfoStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageInfoStatus,\n threadListStatus,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageInfoStatus,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListStatus,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => onMoveToParentMessage({ message: parentMessage, channel: currentChannel })}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n allThreadMessages={allThreadMessages}\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n />\n )\n }\n </div>\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_a","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageInfoStatus","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageInfoStateTypes","NIL","LOADING","INVALID","React","PlaceHolder","PlaceHolderTypes","NO_RESULTS","WRONG","INITIALIZED","useMemorizedThreadList","threadListStatus","renderThreadListPlaceHolder","ThreadListStateTypes","ThreadUI","renderMessage","renderMessageInput","renderCustomSeparator","stores","useSendbirdStateContext","currentUserId","_d","_b","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","_e","useThreadContext","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","replyCount","length","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","_f","useState","scrollBottom","setScrollBottom","scrollRef","useRef","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","scrollIntoView","call","block","inline","error","scrollTop_1","offsetHeight","ThreadHeader","getChannelTitle","message","channel","ParentMessageInfo","Label","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","concat","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // Initializing status
6
+ exports.ChannelStateTypes = void 0;
7
+
8
+ (function (ChannelStateTypes) {
9
+ ChannelStateTypes["NIL"] = "NIL";
10
+ ChannelStateTypes["LOADING"] = "LOADING";
11
+ ChannelStateTypes["INVALID"] = "INVALID";
12
+ ChannelStateTypes["INITIALIZED"] = "INITIALIZED";
13
+ })(exports.ChannelStateTypes || (exports.ChannelStateTypes = {}));
14
+
15
+ exports.ParentMessageInfoStateTypes = void 0;
16
+
17
+ (function (ParentMessageInfoStateTypes) {
18
+ ParentMessageInfoStateTypes["NIL"] = "NIL";
19
+ ParentMessageInfoStateTypes["LOADING"] = "LOADING";
20
+ ParentMessageInfoStateTypes["INVALID"] = "INVALID";
21
+ ParentMessageInfoStateTypes["INITIALIZED"] = "INITIALIZED";
22
+ })(exports.ParentMessageInfoStateTypes || (exports.ParentMessageInfoStateTypes = {}));
23
+
24
+ exports.ThreadListStateTypes = void 0;
25
+
26
+ (function (ThreadListStateTypes) {
27
+ ThreadListStateTypes["NIL"] = "NIL";
28
+ ThreadListStateTypes["LOADING"] = "LOADING";
29
+ ThreadListStateTypes["INVALID"] = "INVALID";
30
+ ThreadListStateTypes["INITIALIZED"] = "INITIALIZED";
31
+ })(exports.ThreadListStateTypes || (exports.ThreadListStateTypes = {}));
32
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../src/smart-components/Thread/types.tsx"],"sourcesContent":["// Initializing status\nexport enum ChannelStateTypes {\n NIL = 'NIL',\n LOADING = 'LOADING',\n INVALID = 'INVALID',\n INITIALIZED = 'INITIALIZED',\n}\nexport enum ParentMessageInfoStateTypes {\n NIL = 'NIL',\n LOADING = 'LOADING',\n INVALID = 'INVALID',\n INITIALIZED = 'INITIALIZED',\n}\nexport enum ThreadListStateTypes {\n NIL = 'NIL',\n LOADING = 'LOADING',\n INVALID = 'INVALID',\n INITIALIZED = 'INITIALIZED',\n}\n"],"names":["ChannelStateTypes","ParentMessageInfoStateTypes","ThreadListStateTypes"],"mappings":";;;;AAAA;AACYA,mCAAZ;;AAAA,CAAA,UAAYA,iBAAZ,EAA6B;AAC3BA,EAAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACAA,EAAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AACD,CALD,EAAYA,yBAAiB,KAAjBA,yBAAiB,GAK5B,EAL4B,CAA7B,CAAA,CAAA;;AAMYC,6CAAZ;;AAAA,CAAA,UAAYA,2BAAZ,EAAuC;AACrCA,EAAAA,2BAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACAA,EAAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,2BAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,2BAAA,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AACD,CALD,EAAYA,mCAA2B,KAA3BA,mCAA2B,GAKtC,EALsC,CAAvC,CAAA,CAAA;;AAMYC,sCAAZ;;AAAA,CAAA,UAAYA,oBAAZ,EAAgC;AAC9BA,EAAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACAA,EAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AACD,CALD,EAAYA,4BAAoB,KAApBA,4BAAoB,GAK/B,EAL+B,CAAhC,CAAA;;"}