@sendbird/uikit-react 3.3.7 → 3.4.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 (572) hide show
  1. package/App.js +60 -34
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +150 -0
  4. package/Channel/components/ChannelHeader.js +20 -18
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +48 -29
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +15 -14
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/Message.js +33 -24
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +62 -20
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +36 -27
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +21 -17
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +17 -16
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +15 -14
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +4 -4
  24. package/Channel/context.js +14 -13
  25. package/Channel/context.js.map +1 -1
  26. package/Channel.js +43 -28
  27. package/Channel.js.map +1 -1
  28. package/ChannelList/components/AddChannel.js +15 -15
  29. package/ChannelList/components/ChannelListHeader.js +7 -7
  30. package/ChannelList/components/ChannelListUI.js +29 -28
  31. package/ChannelList/components/ChannelListUI.js.map +1 -1
  32. package/ChannelList/components/ChannelPreview.js +26 -25
  33. package/ChannelList/components/ChannelPreview.js.map +1 -1
  34. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  35. package/ChannelList/context.js +8 -8
  36. package/ChannelList.js +29 -28
  37. package/ChannelList.js.map +1 -1
  38. package/{ChannelListProvider-eb4708a3.js → ChannelListProvider-3c78429f.js} +8 -8
  39. package/{ChannelListProvider-eb4708a3.js.map → ChannelListProvider-3c78429f.js.map} +1 -1
  40. package/{ChannelProvider-1e540c0e.js → ChannelProvider-1d70b8a0.js} +88 -13
  41. package/ChannelProvider-1d70b8a0.js.map +1 -0
  42. package/ChannelSettings/components/ChannelProfile.js +12 -12
  43. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  44. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  45. package/ChannelSettings/components/LeaveChannel.js +12 -12
  46. package/ChannelSettings/components/ModerationPanel.js +15 -15
  47. package/ChannelSettings/components/UserListItem.js +11 -11
  48. package/ChannelSettings/components/UserPanel.js +18 -15
  49. package/ChannelSettings/components/UserPanel.js.map +1 -1
  50. package/ChannelSettings/context.js +3 -3
  51. package/ChannelSettings.js +18 -18
  52. package/CreateChannel/components/CreateChannelUI.js +14 -14
  53. package/CreateChannel/components/InviteUsers.js +14 -14
  54. package/CreateChannel/components/SelectChannelType.js +11 -11
  55. package/CreateChannel/context.js +4 -4
  56. package/CreateChannel.js +14 -14
  57. package/{CreateChannelProvider-ed2e3cb4.js → CreateChannelProvider-946fb371.js} +1 -1
  58. package/{CreateChannelProvider-ed2e3cb4.js.map → CreateChannelProvider-946fb371.js.map} +1 -1
  59. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  60. package/CreateOpenChannel/context.js +1 -1
  61. package/CreateOpenChannel.js +10 -10
  62. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  63. package/EditUserProfile.js +13 -13
  64. package/{LocalizationContext-4c2faa9a.js → LocalizationContext-539093a9.js} +3 -3
  65. package/{LocalizationContext-4c2faa9a.js.map → LocalizationContext-539093a9.js.map} +1 -1
  66. package/{MediaQueryContext-97a21b7e.js → MediaQueryContext-79c8ad08.js} +1 -1
  67. package/{MediaQueryContext-97a21b7e.js.map → MediaQueryContext-79c8ad08.js.map} +1 -1
  68. package/{MemberList-6483a7db.js → MemberList-1350e670.js} +10 -7
  69. package/MemberList-1350e670.js.map +1 -0
  70. package/MessageSearch/components/MessageSearchUI.js +13 -11
  71. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  72. package/MessageSearch/context.js +2 -2
  73. package/MessageSearch.js +13 -11
  74. package/MessageSearch.js.map +1 -1
  75. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  76. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  77. package/OpenChannel/components/OpenChannelInput.js +16 -15
  78. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  79. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  80. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  81. package/OpenChannel/components/OpenChannelUI.js +24 -24
  82. package/OpenChannel/context.js +9 -9
  83. package/OpenChannel.js +24 -24
  84. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  85. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  86. package/OpenChannelList/context.js +4 -4
  87. package/OpenChannelList.js +13 -13
  88. package/{OpenChannelListProvider-95808e48.js → OpenChannelListProvider-64e2ca27.js} +3 -3
  89. package/{OpenChannelListProvider-95808e48.js.map → OpenChannelListProvider-64e2ca27.js.map} +1 -1
  90. package/{OpenChannelProvider-e3137432.js → OpenChannelProvider-5a54a791.js} +7 -7
  91. package/{OpenChannelProvider-e3137432.js.map → OpenChannelProvider-5a54a791.js.map} +1 -1
  92. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  93. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  94. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  95. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  96. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  97. package/OpenChannelSettings/context.js +3 -3
  98. package/OpenChannelSettings.js +18 -18
  99. package/README.md +8 -0
  100. package/{RemoveMessageModal-0baf3553.js → RemoveMessageModal-cd536405.js} +3 -3
  101. package/{RemoveMessageModal-0baf3553.js.map → RemoveMessageModal-cd536405.js.map} +1 -1
  102. package/SendbirdProvider.js +29 -11
  103. package/SendbirdProvider.js.map +1 -1
  104. package/Thread/components/ParentMessageInfo.js +32 -22
  105. package/Thread/components/ParentMessageInfo.js.map +1 -1
  106. package/Thread/components/ParentMessageInfoItem.js +33 -16
  107. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  108. package/Thread/components/ThreadHeader.js +6 -6
  109. package/Thread/components/ThreadList.js +33 -24
  110. package/Thread/components/ThreadList.js.map +1 -1
  111. package/Thread/components/ThreadListItem.js +40 -25
  112. package/Thread/components/ThreadListItem.js.map +1 -1
  113. package/Thread/components/ThreadMessageInput.js +71 -21
  114. package/Thread/components/ThreadMessageInput.js.map +1 -1
  115. package/Thread/components/ThreadUI.js +49 -31
  116. package/Thread/components/ThreadUI.js.map +1 -1
  117. package/Thread/context.js +9 -8
  118. package/Thread/context.js.map +1 -1
  119. package/Thread.js +47 -29
  120. package/Thread.js.map +1 -1
  121. package/{ThreadProvider-a1413f01.js → ThreadProvider-9f8652df.js} +91 -11
  122. package/ThreadProvider-9f8652df.js.map +1 -0
  123. package/{UserProfileContext-e5d90f15.js → UserProfileContext-bd8525b7.js} +1 -1
  124. package/{UserProfileContext-e5d90f15.js.map → UserProfileContext-bd8525b7.js.map} +1 -1
  125. package/VoiceMessageInputWrapper-b149ff89.js +173 -0
  126. package/VoiceMessageInputWrapper-b149ff89.js.map +1 -0
  127. package/VoicePlayer/context.js +5 -0
  128. package/VoicePlayer/context.js.map +1 -0
  129. package/VoicePlayer/useVoicePlayer.js +87 -0
  130. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  131. package/VoiceRecorder/context.js +243 -0
  132. package/VoiceRecorder/context.js.map +1 -0
  133. package/VoiceRecorder/useVoiceRecorder.js +117 -0
  134. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  135. package/{_rollupPluginBabelHelpers-b45d3824.js → _rollupPluginBabelHelpers-09618dc3.js} +1 -1
  136. package/_rollupPluginBabelHelpers-09618dc3.js.map +1 -0
  137. package/{actionTypes-c69daac1.js → actionTypes-0dd0c34b.js} +1 -1
  138. package/{actionTypes-c69daac1.js.map → actionTypes-0dd0c34b.js.map} +1 -1
  139. package/cjs/App.js +60 -34
  140. package/cjs/App.js.map +1 -1
  141. package/cjs/Channel/components/ChannelHeader.js +20 -18
  142. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  143. package/cjs/Channel/components/ChannelUI.js +48 -29
  144. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  145. package/cjs/Channel/components/FileViewer.js +15 -14
  146. package/cjs/Channel/components/FileViewer.js.map +1 -1
  147. package/cjs/Channel/components/FrozenNotification.js +4 -4
  148. package/cjs/Channel/components/Message.js +33 -24
  149. package/cjs/Channel/components/Message.js.map +1 -1
  150. package/cjs/Channel/components/MessageInput.js +62 -20
  151. package/cjs/Channel/components/MessageInput.js.map +1 -1
  152. package/cjs/Channel/components/MessageList.js +36 -27
  153. package/cjs/Channel/components/MessageList.js.map +1 -1
  154. package/cjs/Channel/components/RemoveMessageModal.js +21 -17
  155. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  156. package/cjs/Channel/components/SuggestedMentionList.js +17 -16
  157. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  158. package/cjs/Channel/components/TypingIndicator.js +15 -14
  159. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  160. package/cjs/Channel/components/UnreadCount.js +4 -4
  161. package/cjs/Channel/context.js +14 -13
  162. package/cjs/Channel/context.js.map +1 -1
  163. package/cjs/Channel.js +43 -28
  164. package/cjs/Channel.js.map +1 -1
  165. package/cjs/ChannelList/components/AddChannel.js +15 -15
  166. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  167. package/cjs/ChannelList/components/ChannelListUI.js +29 -28
  168. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  169. package/cjs/ChannelList/components/ChannelPreview.js +26 -25
  170. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  171. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  172. package/cjs/ChannelList/context.js +8 -8
  173. package/cjs/ChannelList.js +29 -28
  174. package/cjs/ChannelList.js.map +1 -1
  175. package/cjs/{ChannelListProvider-94df9f01.js → ChannelListProvider-7df03e2a.js} +8 -8
  176. package/cjs/{ChannelListProvider-94df9f01.js.map → ChannelListProvider-7df03e2a.js.map} +1 -1
  177. package/cjs/{ChannelProvider-3fbf7c5e.js → ChannelProvider-56b10dd6.js} +87 -12
  178. package/cjs/ChannelProvider-56b10dd6.js.map +1 -0
  179. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  180. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  181. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  182. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  183. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  184. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  185. package/cjs/ChannelSettings/components/UserPanel.js +18 -15
  186. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  187. package/cjs/ChannelSettings/context.js +3 -3
  188. package/cjs/ChannelSettings.js +18 -18
  189. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  190. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  191. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  192. package/cjs/CreateChannel/context.js +4 -4
  193. package/cjs/CreateChannel.js +14 -14
  194. package/cjs/{CreateChannelProvider-70422add.js → CreateChannelProvider-359f35d1.js} +1 -1
  195. package/cjs/{CreateChannelProvider-70422add.js.map → CreateChannelProvider-359f35d1.js.map} +1 -1
  196. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  197. package/cjs/CreateOpenChannel/context.js +1 -1
  198. package/cjs/CreateOpenChannel.js +10 -10
  199. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  200. package/cjs/EditUserProfile.js +13 -13
  201. package/cjs/{LocalizationContext-a0f833e9.js → LocalizationContext-7d2c13ee.js} +3 -3
  202. package/cjs/{LocalizationContext-a0f833e9.js.map → LocalizationContext-7d2c13ee.js.map} +1 -1
  203. package/cjs/{MediaQueryContext-770ae8bc.js → MediaQueryContext-36855cf6.js} +1 -1
  204. package/cjs/{MediaQueryContext-770ae8bc.js.map → MediaQueryContext-36855cf6.js.map} +1 -1
  205. package/cjs/{MemberList-4a0910dd.js → MemberList-cf4488bc.js} +10 -7
  206. package/cjs/MemberList-cf4488bc.js.map +1 -0
  207. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -11
  208. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  209. package/cjs/MessageSearch/context.js +2 -2
  210. package/cjs/MessageSearch.js +13 -11
  211. package/cjs/MessageSearch.js.map +1 -1
  212. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  213. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  214. package/cjs/OpenChannel/components/OpenChannelInput.js +16 -15
  215. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  216. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  217. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  218. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  219. package/cjs/OpenChannel/context.js +9 -9
  220. package/cjs/OpenChannel.js +24 -24
  221. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  222. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  223. package/cjs/OpenChannelList/context.js +4 -4
  224. package/cjs/OpenChannelList.js +13 -13
  225. package/cjs/{OpenChannelListProvider-e97c8ed9.js → OpenChannelListProvider-d0e494e8.js} +3 -3
  226. package/cjs/{OpenChannelListProvider-e97c8ed9.js.map → OpenChannelListProvider-d0e494e8.js.map} +1 -1
  227. package/cjs/{OpenChannelProvider-9b453ac0.js → OpenChannelProvider-84d45a52.js} +7 -7
  228. package/cjs/{OpenChannelProvider-9b453ac0.js.map → OpenChannelProvider-84d45a52.js.map} +1 -1
  229. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  230. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  231. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  232. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  233. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  234. package/cjs/OpenChannelSettings/context.js +3 -3
  235. package/cjs/OpenChannelSettings.js +18 -18
  236. package/cjs/{RemoveMessageModal-7bde69be.js → RemoveMessageModal-44018509.js} +3 -3
  237. package/cjs/{RemoveMessageModal-7bde69be.js.map → RemoveMessageModal-44018509.js.map} +1 -1
  238. package/cjs/SendbirdProvider.js +29 -11
  239. package/cjs/SendbirdProvider.js.map +1 -1
  240. package/cjs/Thread/components/ParentMessageInfo.js +34 -24
  241. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  242. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -16
  243. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  244. package/cjs/Thread/components/ThreadHeader.js +6 -6
  245. package/cjs/Thread/components/ThreadList.js +33 -24
  246. package/cjs/Thread/components/ThreadList.js.map +1 -1
  247. package/cjs/Thread/components/ThreadListItem.js +41 -26
  248. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  249. package/cjs/Thread/components/ThreadMessageInput.js +73 -23
  250. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  251. package/cjs/Thread/components/ThreadUI.js +49 -31
  252. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  253. package/cjs/Thread/context.js +9 -8
  254. package/cjs/Thread/context.js.map +1 -1
  255. package/cjs/Thread.js +47 -29
  256. package/cjs/Thread.js.map +1 -1
  257. package/cjs/{ThreadProvider-71441c16.js → ThreadProvider-e8591a61.js} +90 -10
  258. package/cjs/ThreadProvider-e8591a61.js.map +1 -0
  259. package/cjs/{UserProfileContext-74e6409b.js → UserProfileContext-89b8a98d.js} +1 -1
  260. package/cjs/{UserProfileContext-74e6409b.js.map → UserProfileContext-89b8a98d.js.map} +1 -1
  261. package/cjs/VoiceMessageInputWrapper-6d309e8c.js +179 -0
  262. package/cjs/VoiceMessageInputWrapper-6d309e8c.js.map +1 -0
  263. package/cjs/VoicePlayer/context.js +14 -0
  264. package/cjs/VoicePlayer/context.js.map +1 -0
  265. package/cjs/VoicePlayer/useVoicePlayer.js +91 -0
  266. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  267. package/cjs/VoiceRecorder/context.js +253 -0
  268. package/cjs/VoiceRecorder/context.js.map +1 -0
  269. package/cjs/VoiceRecorder/useVoiceRecorder.js +122 -0
  270. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  271. package/cjs/{_rollupPluginBabelHelpers-25763ef8.js → _rollupPluginBabelHelpers-9807f0cb.js} +1 -1
  272. package/cjs/_rollupPluginBabelHelpers-9807f0cb.js.map +1 -0
  273. package/cjs/{actionTypes-85a652e4.js → actionTypes-64f969d0.js} +1 -1
  274. package/cjs/{actionTypes-85a652e4.js.map → actionTypes-64f969d0.js.map} +1 -1
  275. package/cjs/{color-51fd9a0c.js → color-ae15b40e.js} +1 -1
  276. package/cjs/{color-51fd9a0c.js.map → color-ae15b40e.js.map} +1 -1
  277. package/cjs/{compareIds-44844f10.js → compareIds-88a3abee.js} +1 -1
  278. package/cjs/{compareIds-44844f10.js.map → compareIds-88a3abee.js.map} +1 -1
  279. package/cjs/{const-4761421a.js → const-6d993a66.js} +1 -1
  280. package/cjs/{const-4761421a.js.map → const-6d993a66.js.map} +1 -1
  281. package/cjs/{const-618dd4f4.js → const-98ae036e.js} +1 -1
  282. package/cjs/{const-618dd4f4.js.map → const-98ae036e.js.map} +1 -1
  283. package/cjs/consts-7142bdfe.js +36 -0
  284. package/cjs/consts-7142bdfe.js.map +1 -0
  285. package/cjs/{context-4b1de73e.js → context-9f945182.js} +2 -2
  286. package/cjs/{context-4b1de73e.js.map → context-9f945182.js.map} +1 -1
  287. package/cjs/dist/index.css +413 -16
  288. package/cjs/dist/index.css.map +1 -1
  289. package/cjs/{index-32b39be6.js → index-1f2ac00b.js} +5 -5
  290. package/cjs/{index-32b39be6.js.map → index-1f2ac00b.js.map} +1 -1
  291. package/cjs/{index-4dc29990.js → index-31135e46.js} +1 -1
  292. package/cjs/{index-4dc29990.js.map → index-31135e46.js.map} +1 -1
  293. package/cjs/{index-9f6a474c.js → index-318ca5bb.js} +2 -2
  294. package/cjs/{index-9f6a474c.js.map → index-318ca5bb.js.map} +1 -1
  295. package/cjs/{index-0e76934f.js → index-45c199d5.js} +8 -8
  296. package/cjs/index-45c199d5.js.map +1 -0
  297. package/cjs/{index-bfe8bdde.js → index-6691da2c.js} +49 -3
  298. package/cjs/index-6691da2c.js.map +1 -0
  299. package/cjs/{index-97532335.js → index-80ec94b9.js} +2 -2
  300. package/cjs/{index-97532335.js.map → index-80ec94b9.js.map} +1 -1
  301. package/cjs/{index-2c095d94.js → index-86b55059.js} +2 -2
  302. package/cjs/{index-2c095d94.js.map → index-86b55059.js.map} +1 -1
  303. package/cjs/{index-c4738d8b.js → index-9d2d5d23.js} +3 -3
  304. package/cjs/{index-c4738d8b.js.map → index-9d2d5d23.js.map} +1 -1
  305. package/cjs/{index-756baf20.js → index-9f074bb0.js} +7 -7
  306. package/cjs/{index-756baf20.js.map → index-9f074bb0.js.map} +1 -1
  307. package/cjs/{index-4d6f2a4e.js → index-a34a53d3.js} +4 -4
  308. package/cjs/{index-4d6f2a4e.js.map → index-a34a53d3.js.map} +1 -1
  309. package/cjs/{index-67134275.js → index-c34f34a2.js} +2 -2
  310. package/cjs/{index-67134275.js.map → index-c34f34a2.js.map} +1 -1
  311. package/cjs/index-e0971532.js +280 -0
  312. package/cjs/index-e0971532.js.map +1 -0
  313. package/cjs/index-fa531baa.js +175 -0
  314. package/cjs/index-fa531baa.js.map +1 -0
  315. package/cjs/{index-7d4e7ad9.js → index-fb42d34c.js} +1 -1
  316. package/cjs/{index-7d4e7ad9.js.map → index-fb42d34c.js.map} +1 -1
  317. package/cjs/index.js +51 -39
  318. package/cjs/index.js.map +1 -1
  319. package/cjs/lame.all.js +14498 -0
  320. package/cjs/lame.all.js.map +1 -0
  321. package/cjs/sendbirdSelectors.js +2 -2
  322. package/cjs/{stringSet-87e51d08.js → stringSet-d4071e23.js} +5 -1
  323. package/cjs/stringSet-d4071e23.js.map +1 -0
  324. package/cjs/{topics-d9091126.js → topics-7108f68f.js} +1 -1
  325. package/cjs/{topics-d9091126.js.map → topics-7108f68f.js.map} +1 -1
  326. package/cjs/{tslib.es6-0b4c49f8.js → tslib.es6-23b4ef32.js} +1 -1
  327. package/cjs/{tslib.es6-0b4c49f8.js.map → tslib.es6-23b4ef32.js.map} +1 -1
  328. package/cjs/types-8f7bbb00.js +11 -0
  329. package/cjs/types-8f7bbb00.js.map +1 -0
  330. package/cjs/ui/Accordion.js +3 -3
  331. package/cjs/ui/AccordionGroup.js +2 -2
  332. package/cjs/ui/AdminMessage.js +3 -3
  333. package/cjs/ui/Avatar.js +2 -2
  334. package/cjs/ui/Badge.js +5 -5
  335. package/cjs/ui/BottomSheet.js +1 -1
  336. package/cjs/ui/Button.js +3 -3
  337. package/cjs/ui/ChannelAvatar.js +3 -3
  338. package/cjs/ui/ConnectionStatus.js +4 -4
  339. package/cjs/ui/ContextMenu.js +5 -5
  340. package/cjs/ui/DateSeparator.js +4 -4
  341. package/cjs/ui/EmojiReactions.js +7 -7
  342. package/cjs/ui/FileMessageItemBody.js +6 -6
  343. package/cjs/ui/FileViewer.js +8 -8
  344. package/cjs/ui/Icon.js +354 -314
  345. package/cjs/ui/Icon.js.map +1 -1
  346. package/cjs/ui/IconButton.js +1 -1
  347. package/cjs/ui/ImageRenderer.js +1 -1
  348. package/cjs/ui/Input.js +2 -2
  349. package/cjs/ui/Label.js +2 -2
  350. package/cjs/ui/LinkLabel.js +2 -2
  351. package/cjs/ui/Loader.js +1 -1
  352. package/cjs/ui/MentionLabel.js +11 -11
  353. package/cjs/ui/MessageContent.js +35 -20
  354. package/cjs/ui/MessageContent.js.map +1 -1
  355. package/cjs/ui/MessageInput.js +35 -16
  356. package/cjs/ui/MessageInput.js.map +1 -1
  357. package/cjs/ui/MessageItemMenu.js +9 -8
  358. package/cjs/ui/MessageItemMenu.js.map +1 -1
  359. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  360. package/cjs/ui/MessageSearchFileItem.js +17 -14
  361. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  362. package/cjs/ui/MessageSearchItem.js +9 -9
  363. package/cjs/ui/MessageStatus.js +10 -10
  364. package/cjs/ui/Modal.js +7 -7
  365. package/cjs/ui/OGMessageItemBody.js +36 -26
  366. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  367. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  368. package/cjs/ui/OpenChannelAvatar.js +6 -6
  369. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  370. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  371. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  372. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  373. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  374. package/cjs/ui/PlaceHolder.js +6 -6
  375. package/cjs/ui/PlaybackTime.js +36 -0
  376. package/cjs/ui/PlaybackTime.js.map +1 -0
  377. package/cjs/ui/ProgressBar.js +41 -0
  378. package/cjs/ui/ProgressBar.js.map +1 -0
  379. package/cjs/ui/QuoteMessage.js +14 -8
  380. package/cjs/ui/QuoteMessage.js.map +1 -1
  381. package/cjs/ui/QuoteMessageInput.js +12 -11
  382. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  383. package/cjs/ui/ReactionBadge.js +3 -3
  384. package/cjs/ui/ReactionButton.js +1 -1
  385. package/cjs/ui/SortByRow.js +2 -2
  386. package/cjs/ui/TextButton.js +2 -2
  387. package/cjs/ui/TextMessageItemBody.js +11 -11
  388. package/cjs/ui/ThreadReplies.js +6 -6
  389. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  390. package/cjs/ui/Tooltip.js +3 -3
  391. package/cjs/ui/TooltipWrapper.js +1 -1
  392. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  393. package/cjs/ui/UserListItem.js +11 -11
  394. package/cjs/ui/UserProfile.js +10 -10
  395. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  396. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  397. package/cjs/ui/VoiceMessgeInput.js +23 -0
  398. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  399. package/cjs/ui/Word.js +11 -11
  400. package/cjs/{useLongPress-ff6353a1.js → useLongPress-62a89444.js} +3 -3
  401. package/cjs/{useLongPress-ff6353a1.js.map → useLongPress-62a89444.js.map} +1 -1
  402. package/cjs/useSendbirdStateContext.js +1 -1
  403. package/cjs/utils/message/isVoiceMessage.js +10 -0
  404. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  405. package/cjs/{utils-aa1597cc.js → utils-178ccede.js} +1 -1
  406. package/cjs/{utils-aa1597cc.js.map → utils-178ccede.js.map} +1 -1
  407. package/cjs/{utils-edb40a10.js → utils-41fef560.js} +2 -2
  408. package/cjs/{utils-edb40a10.js.map → utils-41fef560.js.map} +1 -1
  409. package/cjs/{utils-c948ddfe.js → utils-7bec6eaa.js} +1 -1
  410. package/cjs/{utils-c948ddfe.js.map → utils-7bec6eaa.js.map} +1 -1
  411. package/cjs/{utils-72ab488f.js → utils-b691a058.js} +1 -1
  412. package/cjs/{utils-72ab488f.js.map → utils-b691a058.js.map} +1 -1
  413. package/cjs/{uuid-0b5f4e5e.js → uuid-42040a5c.js} +1 -1
  414. package/cjs/{uuid-0b5f4e5e.js.map → uuid-42040a5c.js.map} +1 -1
  415. package/cjs/withSendbird.js +1 -1
  416. package/{color-1b42e49d.js → color-f2370c85.js} +1 -1
  417. package/{color-1b42e49d.js.map → color-f2370c85.js.map} +1 -1
  418. package/{compareIds-df760ae2.js → compareIds-a4557492.js} +1 -1
  419. package/{compareIds-df760ae2.js.map → compareIds-a4557492.js.map} +1 -1
  420. package/{const-c269fd32.js → const-593595f5.js} +1 -1
  421. package/{const-c269fd32.js.map → const-593595f5.js.map} +1 -1
  422. package/{const-11ae0dd9.js → const-ce447fcf.js} +1 -1
  423. package/{const-11ae0dd9.js.map → const-ce447fcf.js.map} +1 -1
  424. package/consts-d2d25dac.js +23 -0
  425. package/consts-d2d25dac.js.map +1 -0
  426. package/{context-2c35a852.js → context-95839b09.js} +2 -2
  427. package/{context-2c35a852.js.map → context-95839b09.js.map} +1 -1
  428. package/dist/index.css +413 -16
  429. package/dist/index.css.map +1 -1
  430. package/{index-6a8be188.js → index-2aaa784a.js} +7 -7
  431. package/{index-6a8be188.js.map → index-2aaa784a.js.map} +1 -1
  432. package/{index-e2994193.js → index-4a977e7d.js} +2 -2
  433. package/{index-e2994193.js.map → index-4a977e7d.js.map} +1 -1
  434. package/{index-6491c190.js → index-4b51e7af.js} +5 -5
  435. package/{index-6491c190.js.map → index-4b51e7af.js.map} +1 -1
  436. package/{index-30726ee1.js → index-4c6a2064.js} +2 -2
  437. package/{index-30726ee1.js.map → index-4c6a2064.js.map} +1 -1
  438. package/index-60d3992b.js +271 -0
  439. package/index-60d3992b.js.map +1 -0
  440. package/{index-8c38f9d0.js → index-620331eb.js} +2 -2
  441. package/{index-8c38f9d0.js.map → index-620331eb.js.map} +1 -1
  442. package/index-7b5efb26.js +168 -0
  443. package/index-7b5efb26.js.map +1 -0
  444. package/{index-a53d78b6.js → index-999fdb64.js} +1 -1
  445. package/{index-a53d78b6.js.map → index-999fdb64.js.map} +1 -1
  446. package/{index-1f0b91f3.js → index-9c2d0ccd.js} +2 -2
  447. package/{index-1f0b91f3.js.map → index-9c2d0ccd.js.map} +1 -1
  448. package/{index-fd5a03a3.js → index-b8e990b4.js} +1 -1
  449. package/{index-fd5a03a3.js.map → index-b8e990b4.js.map} +1 -1
  450. package/{index-425e5f17.js → index-bbab31f0.js} +48 -4
  451. package/index-bbab31f0.js.map +1 -0
  452. package/{index-aa4edbe2.js → index-daccde5e.js} +8 -8
  453. package/index-daccde5e.js.map +1 -0
  454. package/{index-6d541758.js → index-ed1f765b.js} +3 -3
  455. package/{index-6d541758.js.map → index-ed1f765b.js.map} +1 -1
  456. package/{index-aecdd02c.js → index-eefaf935.js} +4 -4
  457. package/{index-aecdd02c.js.map → index-eefaf935.js.map} +1 -1
  458. package/index.d.ts +16 -1
  459. package/index.js +51 -39
  460. package/index.js.map +1 -1
  461. package/lame.all.js +14492 -0
  462. package/lame.all.js.map +1 -0
  463. package/package.json +1 -1
  464. package/sendbirdSelectors.js +2 -2
  465. package/{stringSet-c2443946.js → stringSet-f9763488.js} +5 -1
  466. package/stringSet-f9763488.js.map +1 -0
  467. package/{topics-0ba43ee8.js → topics-1ec669f0.js} +1 -1
  468. package/{topics-0ba43ee8.js.map → topics-1ec669f0.js.map} +1 -1
  469. package/{tslib.es6-13412863.js → tslib.es6-fc4a2658.js} +1 -1
  470. package/{tslib.es6-13412863.js.map → tslib.es6-fc4a2658.js.map} +1 -1
  471. package/types-e86f9fca.js +9 -0
  472. package/types-e86f9fca.js.map +1 -0
  473. package/ui/Accordion.js +3 -3
  474. package/ui/AccordionGroup.js +2 -2
  475. package/ui/AdminMessage.js +3 -3
  476. package/ui/Avatar.js +2 -2
  477. package/ui/Badge.js +5 -5
  478. package/ui/BottomSheet.js +1 -1
  479. package/ui/Button.js +3 -3
  480. package/ui/ChannelAvatar.js +3 -3
  481. package/ui/ConnectionStatus.js +4 -4
  482. package/ui/ContextMenu.js +5 -5
  483. package/ui/DateSeparator.js +4 -4
  484. package/ui/EmojiReactions.js +7 -7
  485. package/ui/FileMessageItemBody.js +6 -6
  486. package/ui/FileViewer.js +8 -8
  487. package/ui/Icon.js +341 -299
  488. package/ui/Icon.js.map +1 -1
  489. package/ui/IconButton.js +1 -1
  490. package/ui/ImageRenderer.js +1 -1
  491. package/ui/Input.js +2 -2
  492. package/ui/Label.js +2 -2
  493. package/ui/LinkLabel.js +2 -2
  494. package/ui/Loader.js +1 -1
  495. package/ui/MentionLabel.js +11 -11
  496. package/ui/MessageContent.js +35 -20
  497. package/ui/MessageContent.js.map +1 -1
  498. package/ui/MessageInput.js +35 -16
  499. package/ui/MessageInput.js.map +1 -1
  500. package/ui/MessageItemMenu.js +9 -8
  501. package/ui/MessageItemMenu.js.map +1 -1
  502. package/ui/MessageItemReactionMenu.js +5 -5
  503. package/ui/MessageSearchFileItem.js +17 -14
  504. package/ui/MessageSearchFileItem.js.map +1 -1
  505. package/ui/MessageSearchItem.js +9 -9
  506. package/ui/MessageStatus.js +10 -10
  507. package/ui/Modal.js +7 -7
  508. package/ui/OGMessageItemBody.js +37 -27
  509. package/ui/OGMessageItemBody.js.map +1 -1
  510. package/ui/OpenChannelAdminMessage.js +3 -3
  511. package/ui/OpenChannelAvatar.js +6 -6
  512. package/ui/OpenchannelConversationHeader.js +6 -6
  513. package/ui/OpenchannelFileMessage.js +16 -16
  514. package/ui/OpenchannelOGMessage.js +16 -16
  515. package/ui/OpenchannelThumbnailMessage.js +15 -15
  516. package/ui/OpenchannelUserMessage.js +16 -16
  517. package/ui/PlaceHolder.js +6 -6
  518. package/ui/PlaybackTime.js +27 -0
  519. package/ui/PlaybackTime.js.map +1 -0
  520. package/ui/ProgressBar.js +31 -0
  521. package/ui/ProgressBar.js.map +1 -0
  522. package/ui/QuoteMessage.js +14 -8
  523. package/ui/QuoteMessage.js.map +1 -1
  524. package/ui/QuoteMessageInput.js +12 -11
  525. package/ui/QuoteMessageInput.js.map +1 -1
  526. package/ui/ReactionBadge.js +3 -3
  527. package/ui/ReactionButton.js +1 -1
  528. package/ui/SortByRow.js +2 -2
  529. package/ui/TextButton.js +2 -2
  530. package/ui/TextMessageItemBody.js +11 -11
  531. package/ui/ThreadReplies.js +6 -6
  532. package/ui/ThumbnailMessageItemBody.js +2 -2
  533. package/ui/Tooltip.js +3 -3
  534. package/ui/TooltipWrapper.js +1 -1
  535. package/ui/UnknownMessageItemBody.js +6 -6
  536. package/ui/UserListItem.js +11 -11
  537. package/ui/UserProfile.js +10 -10
  538. package/ui/VoiceMessageItemBody.js +110 -0
  539. package/ui/VoiceMessageItemBody.js.map +1 -0
  540. package/ui/VoiceMessgeInput.js +15 -0
  541. package/ui/VoiceMessgeInput.js.map +1 -0
  542. package/ui/Word.js +11 -11
  543. package/{useLongPress-fbe83e54.js → useLongPress-6fc8312a.js} +3 -3
  544. package/{useLongPress-fbe83e54.js.map → useLongPress-6fc8312a.js.map} +1 -1
  545. package/useSendbirdStateContext.js +1 -1
  546. package/utils/message/isVoiceMessage.js +7 -0
  547. package/utils/message/isVoiceMessage.js.map +1 -0
  548. package/{utils-87d19647.js → utils-2570c397.js} +1 -1
  549. package/{utils-87d19647.js.map → utils-2570c397.js.map} +1 -1
  550. package/{utils-dd13f89e.js → utils-6c7dd397.js} +1 -1
  551. package/{utils-dd13f89e.js.map → utils-6c7dd397.js.map} +1 -1
  552. package/{utils-9c95a786.js → utils-8c242c8c.js} +2 -2
  553. package/{utils-9c95a786.js.map → utils-8c242c8c.js.map} +1 -1
  554. package/{utils-87dce5dd.js → utils-c1d219fa.js} +1 -1
  555. package/{utils-87dce5dd.js.map → utils-c1d219fa.js.map} +1 -1
  556. package/{uuid-7a5e68ed.js → uuid-6ca64623.js} +1 -1
  557. package/{uuid-7a5e68ed.js.map → uuid-6ca64623.js.map} +1 -1
  558. package/withSendbird.js +1 -1
  559. package/ChannelProvider-1e540c0e.js.map +0 -1
  560. package/MemberList-6483a7db.js.map +0 -1
  561. package/ThreadProvider-a1413f01.js.map +0 -1
  562. package/_rollupPluginBabelHelpers-b45d3824.js.map +0 -1
  563. package/cjs/ChannelProvider-3fbf7c5e.js.map +0 -1
  564. package/cjs/MemberList-4a0910dd.js.map +0 -1
  565. package/cjs/ThreadProvider-71441c16.js.map +0 -1
  566. package/cjs/_rollupPluginBabelHelpers-25763ef8.js.map +0 -1
  567. package/cjs/index-0e76934f.js.map +0 -1
  568. package/cjs/index-bfe8bdde.js.map +0 -1
  569. package/cjs/stringSet-87e51d08.js.map +0 -1
  570. package/index-425e5f17.js.map +0 -1
  571. package/index-aa4edbe2.js.map +0 -1
  572. package/stringSet-c2443946.js.map +0 -1
@@ -1 +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 { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: UserMessage | FileMessage;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.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 ParentMessageStateTypes.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 ParentMessageStateTypes.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 (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\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 threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\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 threadListState,\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 { ParentMessageStateTypes, 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: {\n message: UserMessage | FileMessage,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => 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 parentMessageState,\n threadListState,\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 parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\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","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","PlaceHolderTypes","NO_RESULTS","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","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","getChannelTitle","message","channel","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","concat","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY"],"mappings":"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"}
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 { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: UserMessage | FileMessage;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.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 ParentMessageStateTypes.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 ParentMessageStateTypes.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 (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\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 threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\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 threadListState,\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 { ParentMessageStateTypes, 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: {\n message: UserMessage | FileMessage,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => 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 renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\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 parentMessageState,\n threadListState,\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 parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\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 </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_a","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","PlaceHolderTypes","NO_RESULTS","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","ThreadUI","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","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","getChannelTitle","message","channel","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","concat","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY"],"mappings":"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"}
package/Thread/context.js CHANGED
@@ -1,18 +1,19 @@
1
1
  import 'react';
2
- export { T as ThreadProvider, u as useThreadContext } from '../ThreadProvider-a1413f01.js';
3
- import '../UserProfileContext-e5d90f15.js';
2
+ export { T as ThreadProvider, u as useThreadContext } from '../ThreadProvider-9f8652df.js';
3
+ import '../UserProfileContext-bd8525b7.js';
4
4
  import '../useSendbirdStateContext.js';
5
- import '../index-8c38f9d0.js';
6
- import '../index-a53d78b6.js';
5
+ import '../index-620331eb.js';
6
+ import '../index-999fdb64.js';
7
7
  import '../utils/message/getOutgoingMessageState.js';
8
- import '../tslib.es6-13412863.js';
8
+ import '../tslib.es6-fc4a2658.js';
9
9
  import './context/types.js';
10
10
  import '@sendbird/chat';
11
- import '../topics-0ba43ee8.js';
11
+ import '../topics-1ec669f0.js';
12
12
  import '@sendbird/chat/groupChannel';
13
- import '../uuid-7a5e68ed.js';
13
+ import '../uuid-6ca64623.js';
14
14
  import '@sendbird/chat/message';
15
+ import '../consts-d2d25dac.js';
15
16
  import 'prop-types';
16
17
  import '../withSendbird.js';
17
- import '../_rollupPluginBabelHelpers-b45d3824.js';
18
+ import '../_rollupPluginBabelHelpers-09618dc3.js';
18
19
  //# 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":";;;;;;;;;;;;;;;;;"}
package/Thread.js CHANGED
@@ -1,36 +1,37 @@
1
1
  import React__default from 'react';
2
- import { T as ThreadProvider } from './ThreadProvider-a1413f01.js';
2
+ import { T as ThreadProvider } from './ThreadProvider-9f8652df.js';
3
3
  import ThreadUI from './Thread/components/ThreadUI.js';
4
- import './index-8c38f9d0.js';
5
- import './index-a53d78b6.js';
4
+ import './index-620331eb.js';
5
+ import './index-999fdb64.js';
6
6
  import './utils/message/getOutgoingMessageState.js';
7
- import './UserProfileContext-e5d90f15.js';
7
+ import './UserProfileContext-bd8525b7.js';
8
8
  import 'prop-types';
9
9
  import './useSendbirdStateContext.js';
10
10
  import './withSendbird.js';
11
- import './_rollupPluginBabelHelpers-b45d3824.js';
12
- import './tslib.es6-13412863.js';
11
+ import './_rollupPluginBabelHelpers-09618dc3.js';
12
+ import './tslib.es6-fc4a2658.js';
13
13
  import './Thread/context/types.js';
14
14
  import '@sendbird/chat';
15
- import './topics-0ba43ee8.js';
15
+ import './topics-1ec669f0.js';
16
16
  import '@sendbird/chat/groupChannel';
17
- import './uuid-7a5e68ed.js';
17
+ import './uuid-6ca64623.js';
18
18
  import '@sendbird/chat/message';
19
- import './LocalizationContext-4c2faa9a.js';
20
- import './stringSet-c2443946.js';
21
- import './utils-9c95a786.js';
22
- import './index-e2994193.js';
19
+ import './consts-d2d25dac.js';
20
+ import './LocalizationContext-539093a9.js';
21
+ import './stringSet-f9763488.js';
22
+ import './utils-8c242c8c.js';
23
+ import './index-4a977e7d.js';
23
24
  import './Thread/components/ParentMessageInfo.js';
24
- import './RemoveMessageModal-0baf3553.js';
25
+ import './RemoveMessageModal-cd536405.js';
25
26
  import './ui/Modal.js';
26
27
  import 'react-dom';
27
- import './index-fd5a03a3.js';
28
+ import './index-b8e990b4.js';
28
29
  import './ui/Button.js';
29
30
  import './ui/Icon.js';
30
31
  import './ui/IconButton.js';
31
- import './MediaQueryContext-97a21b7e.js';
32
+ import './MediaQueryContext-79c8ad08.js';
32
33
  import './Thread/components/ParentMessageInfoItem.js';
33
- import './index-425e5f17.js';
34
+ import './index-bbab31f0.js';
34
35
  import './ui/Word.js';
35
36
  import './ui/LinkLabel.js';
36
37
  import './ui/MentionLabel.js';
@@ -38,23 +39,32 @@ import './ui/ContextMenu.js';
38
39
  import './ui/SortByRow.js';
39
40
  import './ui/UserProfile.js';
40
41
  import './sendbirdSelectors.js';
41
- import './utils-87dce5dd.js';
42
+ import './utils-c1d219fa.js';
42
43
  import './ui/Avatar.js';
43
44
  import './ui/ImageRenderer.js';
44
45
  import './ui/TextButton.js';
45
- import './color-1b42e49d.js';
46
+ import './color-f2370c85.js';
46
47
  import './ui/EmojiReactions.js';
47
48
  import './ui/Tooltip.js';
48
49
  import './ui/TooltipWrapper.js';
49
50
  import './ui/ReactionBadge.js';
50
51
  import './ui/ReactionButton.js';
52
+ import './ui/VoiceMessageItemBody.js';
53
+ import './ui/ProgressBar.js';
54
+ import './VoicePlayer/useVoicePlayer.js';
55
+ import './index-60d3992b.js';
56
+ import './VoiceRecorder/context.js';
57
+ import './lame.all.js';
58
+ import './ui/PlaybackTime.js';
59
+ import './ui/Loader.js';
51
60
  import './Channel/components/SuggestedMentionList.js';
52
- import './ChannelProvider-1e540c0e.js';
53
- import './compareIds-df760ae2.js';
54
- import './const-c269fd32.js';
55
- import './const-11ae0dd9.js';
61
+ import './ChannelProvider-1d70b8a0.js';
62
+ import './compareIds-a4557492.js';
63
+ import './const-593595f5.js';
64
+ import './const-ce447fcf.js';
56
65
  import './ui/FileViewer.js';
57
66
  import './ui/MessageItemMenu.js';
67
+ import './types-e86f9fca.js';
58
68
  import './ui/MessageItemReactionMenu.js';
59
69
  import './ui/MessageInput.js';
60
70
  import 'react-dom/server';
@@ -63,10 +73,9 @@ import './Thread/components/ThreadHeader.js';
63
73
  import './Thread/components/ThreadList.js';
64
74
  import './Thread/components/ThreadListItem.js';
65
75
  import './ui/DateSeparator.js';
66
- import './index-aa4edbe2.js';
67
- import './ui/Loader.js';
68
- import './index-6d541758.js';
69
- import './index-30726ee1.js';
76
+ import './index-daccde5e.js';
77
+ import './index-ed1f765b.js';
78
+ import './index-4c6a2064.js';
70
79
  import './ui/TextMessageItemBody.js';
71
80
  import './ui/OGMessageItemBody.js';
72
81
  import './ui/FileMessageItemBody.js';
@@ -74,7 +83,10 @@ import './ui/ThumbnailMessageItemBody.js';
74
83
  import './ui/UnknownMessageItemBody.js';
75
84
  import 'date-fns';
76
85
  import './Thread/components/ThreadMessageInput.js';
77
- import './index-aecdd02c.js';
86
+ import './VoiceMessageInputWrapper-b149ff89.js';
87
+ import './VoiceRecorder/useVoiceRecorder.js';
88
+ import './index-7b5efb26.js';
89
+ import './index-eefaf935.js';
78
90
 
79
91
  var Thread = function (props) {
80
92
  var // props
@@ -91,7 +103,10 @@ var Thread = function (props) {
91
103
  renderMessageInput = props.renderMessageInput,
92
104
  renderCustomSeparator = props.renderCustomSeparator,
93
105
  renderParentMessageInfoPlaceholder = props.renderParentMessageInfoPlaceholder,
94
- renderThreadListPlaceHolder = props.renderThreadListPlaceHolder;
106
+ renderThreadListPlaceHolder = props.renderThreadListPlaceHolder,
107
+ renderFileUploadIcon = props.renderFileUploadIcon,
108
+ renderVoiceMessageIcon = props.renderVoiceMessageIcon,
109
+ renderSendMessageIcon = props.renderSendMessageIcon;
95
110
  return /*#__PURE__*/React__default.createElement("div", {
96
111
  className: "sendbird-thread ".concat(className)
97
112
  }, /*#__PURE__*/React__default.createElement(ThreadProvider, {
@@ -106,7 +121,10 @@ var Thread = function (props) {
106
121
  renderMessageInput: renderMessageInput,
107
122
  renderCustomSeparator: renderCustomSeparator,
108
123
  renderParentMessageInfoPlaceholder: renderParentMessageInfoPlaceholder,
109
- renderThreadListPlaceHolder: renderThreadListPlaceHolder
124
+ renderThreadListPlaceHolder: renderThreadListPlaceHolder,
125
+ renderFileUploadIcon: renderFileUploadIcon,
126
+ renderVoiceMessageIcon: renderVoiceMessageIcon,
127
+ renderSendMessageIcon: renderSendMessageIcon
110
128
  })));
111
129
  };
112
130
 
package/Thread.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.js","sources":["../src/smart-components/Thread/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ThreadProvider,\n ThreadProviderProps,\n} from './context/ThreadProvider';\nimport ThreadUI, { ThreadUIProps } from './components/ThreadUI';\n\nexport interface ThreadProps extends ThreadProviderProps, ThreadUIProps {\n className?: string;\n}\n\nconst Thread: React.FC<ThreadProps> = (props: ThreadProps) => {\n const {\n // props\n className,\n // ThreadProviderProps\n channelUrl,\n message,\n onHeaderActionClick,\n onMoveToParentMessage,\n // ThreadUIProps\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n } = props;\n return (\n <div className={`sendbird-thread ${className}`}>\n <ThreadProvider\n channelUrl={channelUrl}\n message={message}\n onHeaderActionClick={onHeaderActionClick}\n onMoveToParentMessage={onMoveToParentMessage}\n >\n <ThreadUI\n renderHeader={renderHeader}\n renderParentMessageInfo={renderParentMessageInfo}\n renderMessage={renderMessage}\n renderMessageInput={renderMessageInput}\n renderCustomSeparator={renderCustomSeparator}\n renderParentMessageInfoPlaceholder={renderParentMessageInfoPlaceholder}\n renderThreadListPlaceHolder={renderThreadListPlaceHolder}\n />\n </ThreadProvider>\n </div>\n );\n};\n\nexport default Thread;\n"],"names":["Thread","props","className","channelUrl","message","onHeaderActionClick","onMoveToParentMessage","renderHeader","renderParentMessageInfo","renderMessage","renderMessageInput","renderCustomSeparator","renderParentMessageInfoPlaceholder","renderThreadListPlaceHolder","React","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,MAAM,GAA0B,UAACC,KAAD,EAAmB;EAGrD;EAAAC,SAAS,GAcPD,KAAK,CAdEC,SAAT;;EAEAC,UAAU,GAYRF,KAAK,CAAAE,UAdP;AAAA,MAGAC,OAAO,GAWLH,KAAK,CAAAG,OAdP;AAAA,MAIAC,mBAAmB,GAUjBJ,KAAK,CAAAI,mBAdP;AAAA,MAKAC,qBAAqB,GASnBL,KAAK,CATcK,qBALrB;;EAOAC,YAAY,GAOVN,KAAK,CAPKM,YAPZ;AAAA,MAQAC,uBAAuB,GAMrBP,KAAK,CANgBO,uBARvB;AAAA,MASAC,aAAa,GAKXR,KAAK,CAAAQ,aAdP;AAAA,MAUAC,kBAAkB,GAIhBT,KAAK,CAAAS,kBAdP;AAAA,MAWAC,qBAAqB,GAGnBV,KAAK,sBAdP;AAAA,MAYAW,kCAAkC,GAEhCX,KAAK,mCAdP;AAAA,MAaAY,2BAA2B,GACzBZ,KAAK,4BAdP,CAAA;EAeF,oBACEa,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE,kBAAA,CAAmBC,MAAnB,CAAmBb,SAAnB,CAAA;AAAhB,GAAA,eACEY,6BAAC,cAAD,EAAA;AACE,IAAA,UAAU,EAAEX,UADd;AAEE,IAAA,OAAO,EAAEC,OAFX;AAGE,IAAA,mBAAmB,EAAEC,mBAHvB;AAIE,IAAA,qBAAqB,EAAEC,qBAAAA;AAJzB,GAAA,eAMEQ,6BAAC,QAAD,EAAA;AACE,IAAA,YAAY,EAAEP,YADhB;AAEE,IAAA,uBAAuB,EAAEC,uBAF3B;AAGE,IAAA,aAAa,EAAEC,aAHjB;AAIE,IAAA,kBAAkB,EAAEC,kBAJtB;AAKE,IAAA,qBAAqB,EAAEC,qBALzB;AAME,IAAA,kCAAkC,EAAEC,kCANtC;AAOE,IAAA,2BAA2B,EAAEC,2BAAAA;AAP/B,GAAA,CANF,CADF,CADF,CAAA;AAoBD;;;;"}
1
+ {"version":3,"file":"Thread.js","sources":["../src/smart-components/Thread/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ThreadProvider,\n ThreadProviderProps,\n} from './context/ThreadProvider';\nimport ThreadUI, { ThreadUIProps } from './components/ThreadUI';\n\nexport interface ThreadProps extends ThreadProviderProps, ThreadUIProps {\n className?: string;\n}\n\nconst Thread: React.FC<ThreadProps> = (props: ThreadProps) => {\n const {\n // props\n className,\n // ThreadProviderProps\n channelUrl,\n message,\n onHeaderActionClick,\n onMoveToParentMessage,\n // ThreadUIProps\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n return (\n <div className={`sendbird-thread ${className}`}>\n <ThreadProvider\n channelUrl={channelUrl}\n message={message}\n onHeaderActionClick={onHeaderActionClick}\n onMoveToParentMessage={onMoveToParentMessage}\n >\n <ThreadUI\n renderHeader={renderHeader}\n renderParentMessageInfo={renderParentMessageInfo}\n renderMessage={renderMessage}\n renderMessageInput={renderMessageInput}\n renderCustomSeparator={renderCustomSeparator}\n renderParentMessageInfoPlaceholder={renderParentMessageInfoPlaceholder}\n renderThreadListPlaceHolder={renderThreadListPlaceHolder}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n </ThreadProvider>\n </div>\n );\n};\n\nexport default Thread;\n"],"names":["Thread","props","className","channelUrl","message","onHeaderActionClick","onMoveToParentMessage","renderHeader","renderParentMessageInfo","renderMessage","renderMessageInput","renderCustomSeparator","renderParentMessageInfoPlaceholder","renderThreadListPlaceHolder","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","React","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,MAAM,GAA0B,UAACC,KAAD,EAAmB;EAGrD;EAAAC,SAAS,GAiBPD,KAAK,CAjBEC,SAAT;;EAEAC,UAAU,GAeRF,KAAK,CAAAE,UAjBP;AAAA,MAGAC,OAAO,GAcLH,KAAK,CAAAG,OAjBP;AAAA,MAIAC,mBAAmB,GAajBJ,KAAK,CAAAI,mBAjBP;AAAA,MAKAC,qBAAqB,GAYnBL,KAAK,CAZcK,qBALrB;;EAOAC,YAAY,GAUVN,KAAK,CAVKM,YAPZ;AAAA,MAQAC,uBAAuB,GASrBP,KAAK,CATgBO,uBARvB;AAAA,MASAC,aAAa,GAQXR,KAAK,CARMQ,aATb;AAAA,MAUAC,kBAAkB,GAOhBT,KAAK,mBAjBP;AAAA,MAWAU,qBAAqB,GAMnBV,KAAK,CANcU,qBAXrB;AAAA,MAYAC,kCAAkC,GAKhCX,KAAK,mCAjBP;AAAA,MAaAY,2BAA2B,GAIzBZ,KAAK,CAAAY,2BAjBP;AAAA,MAcAC,oBAAoB,GAGlBb,KAAK,qBAjBP;AAAA,MAeAc,sBAAsB,GAEpBd,KAAK,CAAAc,sBAjBP;AAAA,MAgBAC,qBAAqB,GACnBf,KAAK,CAAAe,qBAjBP,CAAA;EAkBF,oBACEC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE,kBAAA,CAAmBC,MAAnB,CAAmBhB,SAAnB,CAAA;AAAhB,GAAA,eACEe,6BAAC,cAAD,EAAA;AACE,IAAA,UAAU,EAAEd,UADd;AAEE,IAAA,OAAO,EAAEC,OAFX;AAGE,IAAA,mBAAmB,EAAEC,mBAHvB;AAIE,IAAA,qBAAqB,EAAEC,qBAAAA;AAJzB,GAAA,eAMEW,6BAAC,QAAD,EAAA;AACE,IAAA,YAAY,EAAEV,YADhB;AAEE,IAAA,uBAAuB,EAAEC,uBAF3B;AAGE,IAAA,aAAa,EAAEC,aAHjB;AAIE,IAAA,kBAAkB,EAAEC,kBAJtB;AAKE,IAAA,qBAAqB,EAAEC,qBALzB;AAME,IAAA,kCAAkC,EAAEC,kCANtC;AAOE,IAAA,2BAA2B,EAAEC,2BAP/B;AAQE,IAAA,oBAAoB,EAAEC,oBARxB;AASE,IAAA,sBAAsB,EAAEC,sBAT1B;AAUE,IAAA,qBAAqB,EAAEC,qBAAAA;AAVzB,GAAA,CANF,CADF,CADF,CAAA;AAuBD;;;;"}
@@ -1,15 +1,16 @@
1
1
  import React__default, { useEffect, useCallback, useReducer, useMemo } from 'react';
2
- import { f as format } from './index-8c38f9d0.js';
2
+ import { f as format } from './index-620331eb.js';
3
3
  import { getOutgoingMessageState, OutgoingMessageStates } from './utils/message/getOutgoingMessageState.js';
4
- import { U as UserProfileProvider } from './UserProfileContext-e5d90f15.js';
4
+ import { U as UserProfileProvider } from './UserProfileContext-bd8525b7.js';
5
5
  import useSendbirdStateContext from './useSendbirdStateContext.js';
6
- import { _ as __assign, a as __spreadArray, c as __awaiter, d as __generator } from './tslib.es6-13412863.js';
6
+ import { _ as __assign, a as __spreadArray, c as __awaiter, d as __generator } from './tslib.es6-fc4a2658.js';
7
7
  import { ChannelStateTypes, ThreadListStateTypes, ParentMessageStateTypes } from './Thread/context/types.js';
8
8
  import { ChannelType } from '@sendbird/chat';
9
- import { a as SEND_USER_MESSAGE, b as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE } from './topics-0ba43ee8.js';
9
+ import { a as SEND_USER_MESSAGE, b as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE } from './topics-1ec669f0.js';
10
10
  import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
11
- import { u as uuidv4 } from './uuid-7a5e68ed.js';
12
- import { SendingStatus, MessageType } from '@sendbird/chat/message';
11
+ import { u as uuidv4 } from './uuid-6ca64623.js';
12
+ import { SendingStatus, MessageType, MessageMetaArray } from '@sendbird/chat/message';
13
+ import { d as VOICE_MESSAGE_FILE_NAME, e as VOICE_MESSAGE_MIME_TYPE, M as META_ARRAY_VOICE_DURATION_KEY, h as META_ARRAY_MESSAGE_TYPE_KEY, i as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE } from './consts-d2d25dac.js';
13
14
 
14
15
  var getNicknamesMapFromMembers = function (members) {
15
16
  if (members === void 0) {
@@ -624,7 +625,8 @@ function useGetThreadList(_a, _b) {
624
625
  var params = {
625
626
  prevResultSize: PREV_THREADS_FETCH_SIZE,
626
627
  nextResultSize: NEXT_THREADS_FETCH_SIZE,
627
- includeReactions: isReactionEnabled
628
+ includeReactions: isReactionEnabled,
629
+ includeMetaArray: true
628
630
  };
629
631
  logger.info('Thread | useGetThreadList: Initialize thread list start.', {
630
632
  timeStamp: timeStamp,
@@ -653,7 +655,7 @@ function useGetThreadList(_a, _b) {
653
655
  });
654
656
  });
655
657
  }
656
- }, [sdkInit, parentMessage, anchorMessage]);
658
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId, anchorMessage]);
657
659
  }
658
660
 
659
661
  function useGetParentMessage(_a, _b) {
@@ -1180,7 +1182,8 @@ function useGetPrevThreadsCallback(_a, _b) {
1180
1182
  (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, oldestMessageTimeStamp, {
1181
1183
  prevResultSize: PREV_THREADS_FETCH_SIZE,
1182
1184
  nextResultSize: 0,
1183
- includeReactions: isReactionEnabled
1185
+ includeReactions: isReactionEnabled,
1186
+ includeMetaArray: true
1184
1187
  }).then(function (_a) {
1185
1188
  var parentMessage = _a.parentMessage,
1186
1189
  threadedMessages = _a.threadedMessages;
@@ -1227,7 +1230,8 @@ function useGetNextThreadsCallback(_a, _b) {
1227
1230
  (_a = parentMessage.getThreadedMessagesByTimestamp) === null || _a === void 0 ? void 0 : _a.call(parentMessage, latestMessageTimeStamp, {
1228
1231
  prevResultSize: 0,
1229
1232
  nextResultSize: NEXT_THREADS_FETCH_SIZE,
1230
- includeReactions: isReactionEnabled
1233
+ includeReactions: isReactionEnabled,
1234
+ includeMetaArray: true
1231
1235
  }).then(function (_a) {
1232
1236
  var parentMessage = _a.parentMessage,
1233
1237
  threadedMessages = _a.threadedMessages;
@@ -1428,6 +1432,72 @@ function useResendMessageCallback(_a, _b) {
1428
1432
  }, [currentChannel]);
1429
1433
  }
1430
1434
 
1435
+ var useSendVoiceMessageCallback = function (_a, _b) {
1436
+ var currentChannel = _a.currentChannel,
1437
+ onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1438
+ var logger = _b.logger,
1439
+ pubSub = _b.pubSub,
1440
+ threadDispatcher = _b.threadDispatcher;
1441
+ var sendMessage = useCallback(function (file, duration, quoteMessage) {
1442
+ var messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1443
+ file: file,
1444
+ fileName: VOICE_MESSAGE_FILE_NAME,
1445
+ mimeType: VOICE_MESSAGE_MIME_TYPE,
1446
+ metaArrays: [new MessageMetaArray({
1447
+ key: META_ARRAY_VOICE_DURATION_KEY,
1448
+ value: ["".concat(duration)]
1449
+ }), new MessageMetaArray({
1450
+ key: META_ARRAY_MESSAGE_TYPE_KEY,
1451
+ value: [META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
1452
+ })]
1453
+ };
1454
+
1455
+ if (quoteMessage) {
1456
+ messageParams.isReplyToChannel = true;
1457
+ messageParams.parentMessageId = quoteMessage.messageId;
1458
+ }
1459
+
1460
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1461
+ threadDispatcher({
1462
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
1463
+ payload: {
1464
+ /* pubSub is used instead of messagesDispatcher
1465
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1466
+ message: __assign(__assign({}, pendingMessage), {
1467
+ url: URL.createObjectURL(file),
1468
+ // pending thumbnail message seems to be failed
1469
+ requestState: 'pending'
1470
+ })
1471
+ }
1472
+ });
1473
+ setTimeout(function () {
1474
+ return scrollIntoLast();
1475
+ }, 1000);
1476
+ }).onFailed(function (error, message) {
1477
+ message.localUrl = URL.createObjectURL(file);
1478
+ message.file = file;
1479
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', {
1480
+ message: message,
1481
+ error: error
1482
+ });
1483
+ threadDispatcher({
1484
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1485
+ payload: {
1486
+ message: message,
1487
+ error: error
1488
+ }
1489
+ });
1490
+ }).onSucceeded(function (message) {
1491
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1492
+ pubSub.publish(SEND_FILE_MESSAGE, {
1493
+ channel: currentChannel,
1494
+ message: message
1495
+ });
1496
+ });
1497
+ }, [currentChannel, onBeforeSendVoiceMessage]);
1498
+ return sendMessage;
1499
+ };
1500
+
1431
1501
  var ThreadContext = /*#__PURE__*/React__default.createContext(null);
1432
1502
  var ThreadProvider = function (props) {
1433
1503
  var _a, _b;
@@ -1437,6 +1507,7 @@ var ThreadProvider = function (props) {
1437
1507
  message = props.message,
1438
1508
  onHeaderActionClick = props.onHeaderActionClick,
1439
1509
  onMoveToParentMessage = props.onMoveToParentMessage,
1510
+ onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage,
1440
1511
  // User Profile
1441
1512
  disableUserProfile = props.disableUserProfile,
1442
1513
  renderUserProfile = props.renderUserProfile,
@@ -1573,6 +1644,14 @@ var ThreadProvider = function (props) {
1573
1644
  pubSub: pubSub,
1574
1645
  threadDispatcher: threadDispatcher
1575
1646
  });
1647
+ var sendVoiceMessage = useSendVoiceMessageCallback({
1648
+ currentChannel: currentChannel,
1649
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage
1650
+ }, {
1651
+ logger: logger,
1652
+ pubSub: pubSub,
1653
+ threadDispatcher: threadDispatcher
1654
+ });
1576
1655
  var resendMessage = useResendMessageCallback({
1577
1656
  currentChannel: currentChannel
1578
1657
  }, {
@@ -1621,6 +1700,7 @@ var ThreadProvider = function (props) {
1621
1700
  toggleReaction: toggleReaction,
1622
1701
  sendMessage: sendMessage,
1623
1702
  sendFileMessage: sendFileMessage,
1703
+ sendVoiceMessage: sendVoiceMessage,
1624
1704
  resendMessage: resendMessage,
1625
1705
  updateMessage: updateMessage,
1626
1706
  deleteMessage: deleteMessage,
@@ -1641,4 +1721,4 @@ var useThreadContext = function () {
1641
1721
  };
1642
1722
 
1643
1723
  export { ThreadProvider as T, compareMessagesForGrouping as c, isAboutSame as i, useThreadContext as u };
1644
- //# sourceMappingURL=ThreadProvider-a1413f01.js.map
1724
+ //# sourceMappingURL=ThreadProvider-9f8652df.js.map