@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (932) hide show
  1. package/App.js +284 -226
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +470 -0
  4. package/Channel/components/ChannelHeader.js +45 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +101 -129
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +55 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +238 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +150 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +258 -174
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +33 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +138 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +43 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +67 -43
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +100 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +71 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +31 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-86b6d956.js} +233 -285
  45. package/ChannelListProvider-86b6d956.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-b41fde4c.js} +627 -716
  47. package/ChannelProvider-b41fde4c.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-2b669e7e.js +44 -0
  76. package/CreateChannelProvider-2b669e7e.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-57b46f6c.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-57b46f6c.js.map} +1 -1
  91. package/MediaQueryContext-fbe7af77.js +87 -0
  92. package/MediaQueryContext-fbe7af77.js.map +1 -0
  93. package/MemberList-6ff1e7fa.js +401 -0
  94. package/MemberList-6ff1e7fa.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +46 -33
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +168 -190
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +34 -28
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-700cf3de.js +429 -0
  128. package/OpenChannelListProvider-700cf3de.js.map +1 -0
  129. package/OpenChannelProvider-b634e564.js +1885 -0
  130. package/OpenChannelProvider-b634e564.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-625b3778.js +36 -0
  147. package/RemoveMessageModal-625b3778.js.map +1 -0
  148. package/SendbirdProvider.js +897 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +235 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +110 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +107 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +297 -273
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +144 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +168 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +86 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-a3d3b241.js +1695 -0
  170. package/ThreadProvider-a3d3b241.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-29074346.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-29074346.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-bdc53de4.js +169 -0
  174. package/VoiceMessageInputWrapper-bdc53de4.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +72 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +118 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +109 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-c3ea2db7.js +123 -0
  184. package/WebAudioUtils-c3ea2db7.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-0bc76382.js} +17 -11
  186. package/_rollupPluginBabelHelpers-0bc76382.js.map +1 -0
  187. package/actionTypes-45ec82e6.js +8 -0
  188. package/actionTypes-45ec82e6.js.map +1 -0
  189. package/cjs/App.js +284 -226
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +45 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +99 -127
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +55 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +241 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +149 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +258 -174
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +33 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +138 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +43 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +67 -43
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +99 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +71 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +31 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-46e379c7.js} +232 -284
  232. package/cjs/ChannelListProvider-46e379c7.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-2bfafa25.js} +626 -714
  234. package/cjs/ChannelProvider-2bfafa25.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-ef7e4c91.js +52 -0
  263. package/cjs/CreateChannelProvider-ef7e4c91.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-2b3f310d.js → LocalizationContext-b42fa07d.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-b42fa07d.js.map} +1 -1
  278. package/cjs/MediaQueryContext-372b55a6.js +94 -0
  279. package/cjs/MediaQueryContext-372b55a6.js.map +1 -0
  280. package/cjs/MemberList-d878307c.js +407 -0
  281. package/cjs/MemberList-d878307c.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +46 -33
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +168 -190
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +34 -28
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-d1cbe71b.js +439 -0
  315. package/cjs/OpenChannelListProvider-d1cbe71b.js.map +1 -0
  316. package/cjs/OpenChannelProvider-94eb45b4.js +1894 -0
  317. package/cjs/OpenChannelProvider-94eb45b4.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-83d3158a.js} +19 -14
  333. package/cjs/RemoveMessageModal-83d3158a.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +897 -409
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +234 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +109 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +107 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +296 -272
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +144 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +169 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +86 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-3ff0ff63.js +1704 -0
  356. package/cjs/ThreadProvider-3ff0ff63.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-c87514d3.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-c87514d3.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-6e1d03d7.js +175 -0
  360. package/cjs/VoiceMessageInputWrapper-6e1d03d7.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +16 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +76 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +128 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +114 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-de98e939.js +126 -0
  370. package/cjs/WebAudioUtils-de98e939.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-3a9d1641.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-3a9d1641.js.map +1 -0
  373. package/cjs/actionTypes-ecb5bef6.js +10 -0
  374. package/cjs/actionTypes-ecb5bef6.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-a4e73e6f.js} +13 -21
  376. package/cjs/color-a4e73e6f.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-a7029d6a.js} +5 -6
  378. package/cjs/compareIds-a7029d6a.js.map +1 -0
  379. package/cjs/{const-db71e993.js → const-3ab3e45c.js} +4 -4
  380. package/cjs/const-3ab3e45c.js.map +1 -0
  381. package/cjs/const-68cf2709.js +20 -0
  382. package/cjs/const-68cf2709.js.map +1 -0
  383. package/cjs/consts-26d4668c.js +6 -0
  384. package/cjs/consts-26d4668c.js.map +1 -0
  385. package/cjs/consts-ad8ba629.js +6 -0
  386. package/cjs/consts-ad8ba629.js.map +1 -0
  387. package/cjs/consts-bb2a67c7.js +6 -0
  388. package/cjs/consts-bb2a67c7.js.map +1 -0
  389. package/cjs/consts-f71467c8.js +41 -0
  390. package/cjs/consts-f71467c8.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-b81d493d.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-b81d493d.js.map} +1 -1
  393. package/cjs/dist/index.css +970 -532
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/index-0b8a1074.js +590 -0
  398. package/cjs/index-0b8a1074.js.map +1 -0
  399. package/cjs/index-1c18afa8.js +57 -0
  400. package/cjs/index-1c18afa8.js.map +1 -0
  401. package/cjs/index-3f079f3e.js +367 -0
  402. package/cjs/index-3f079f3e.js.map +1 -0
  403. package/cjs/{index-d6ef2a60.js → index-72e412f7.js} +11 -25
  404. package/cjs/index-72e412f7.js.map +1 -0
  405. package/cjs/{index-0988ab25.js → index-7ec4fe06.js} +57 -3
  406. package/cjs/index-7ec4fe06.js.map +1 -0
  407. package/cjs/{index-be9c6237.js → index-811da6ee.js} +55 -63
  408. package/cjs/index-811da6ee.js.map +1 -0
  409. package/cjs/{index-73467e1d.js → index-849f44b0.js} +2 -2
  410. package/cjs/{index-73467e1d.js.map → index-849f44b0.js.map} +1 -1
  411. package/cjs/{index-de151767.js → index-97005534.js} +1 -1
  412. package/cjs/{index-de151767.js.map → index-97005534.js.map} +1 -1
  413. package/cjs/index-9b23b5c2.js +161 -0
  414. package/cjs/index-9b23b5c2.js.map +1 -0
  415. package/cjs/{index-621e74bd.js → index-9d9e563e.js} +29 -37
  416. package/cjs/index-9d9e563e.js.map +1 -0
  417. package/cjs/index-a401f2b6.js +441 -0
  418. package/cjs/index-a401f2b6.js.map +1 -0
  419. package/cjs/{index-2c5dd48c.js → index-afada680.js} +2 -2
  420. package/cjs/{index-2c5dd48c.js.map → index-afada680.js.map} +1 -1
  421. package/cjs/index-c38404d2.js +79 -0
  422. package/cjs/index-c38404d2.js.map +1 -0
  423. package/cjs/index-cb1d7ac4.js +292 -0
  424. package/cjs/index-cb1d7ac4.js.map +1 -0
  425. package/cjs/{index-e240e852.js → index-e1d69370.js} +42 -51
  426. package/cjs/index-e1d69370.js.map +1 -0
  427. package/cjs/{index-c4d4ef49.js → index-e8b83547.js} +1 -1
  428. package/cjs/index-e8b83547.js.map +1 -0
  429. package/cjs/index-f4f6d794.js +202 -0
  430. package/cjs/index-f4f6d794.js.map +1 -0
  431. package/cjs/index.js +77 -58
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-d2876b1c.js +6 -0
  434. package/cjs/index.module-d2876b1c.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/sendbirdSelectors.js +307 -417
  438. package/cjs/sendbirdSelectors.js.map +1 -1
  439. package/cjs/{stringSet-91b919f6.js → stringSet-4f30313f.js} +110 -90
  440. package/cjs/stringSet-4f30313f.js.map +1 -0
  441. package/cjs/tokenize-e944d548.js +164 -0
  442. package/cjs/tokenize-e944d548.js.map +1 -0
  443. package/cjs/topics-3226c6ee.js +18 -0
  444. package/cjs/topics-3226c6ee.js.map +1 -0
  445. package/cjs/types-31174fcc.js +17 -0
  446. package/cjs/types-31174fcc.js.map +1 -0
  447. package/cjs/ui/Accordion.js +21 -24
  448. package/cjs/ui/Accordion.js.map +1 -1
  449. package/cjs/ui/AccordionGroup.js +10 -13
  450. package/cjs/ui/AccordionGroup.js.map +1 -1
  451. package/cjs/ui/AdminMessage.js +10 -13
  452. package/cjs/ui/AdminMessage.js.map +1 -1
  453. package/cjs/ui/Avatar.js +57 -79
  454. package/cjs/ui/Avatar.js.map +1 -1
  455. package/cjs/ui/Badge.js +16 -15
  456. package/cjs/ui/Badge.js.map +1 -1
  457. package/cjs/ui/BottomSheet.js +14 -12
  458. package/cjs/ui/BottomSheet.js.map +1 -1
  459. package/cjs/ui/Button.js +20 -35
  460. package/cjs/ui/Button.js.map +1 -1
  461. package/cjs/ui/ChannelAvatar.js +38 -41
  462. package/cjs/ui/ChannelAvatar.js.map +1 -1
  463. package/cjs/ui/Checkbox.js +11 -13
  464. package/cjs/ui/Checkbox.js.map +1 -1
  465. package/cjs/ui/ConnectionStatus.js +7 -5
  466. package/cjs/ui/ConnectionStatus.js.map +1 -1
  467. package/cjs/ui/ContextMenu.js +175 -199
  468. package/cjs/ui/ContextMenu.js.map +1 -1
  469. package/cjs/ui/DateSeparator.js +12 -14
  470. package/cjs/ui/DateSeparator.js.map +1 -1
  471. package/cjs/ui/EmojiReactions.js +299 -107
  472. package/cjs/ui/EmojiReactions.js.map +1 -1
  473. package/cjs/ui/FileMessageItemBody.js +22 -23
  474. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  475. package/cjs/ui/FileViewer.js +36 -36
  476. package/cjs/ui/FileViewer.js.map +1 -1
  477. package/cjs/ui/Icon.js +447 -623
  478. package/cjs/ui/Icon.js.map +1 -1
  479. package/cjs/ui/IconButton.js +20 -31
  480. package/cjs/ui/IconButton.js.map +1 -1
  481. package/cjs/ui/ImageRenderer.js +34 -43
  482. package/cjs/ui/ImageRenderer.js.map +1 -1
  483. package/cjs/ui/Input.js +16 -16
  484. package/cjs/ui/Input.js.map +1 -1
  485. package/cjs/ui/Label.js +2 -2
  486. package/cjs/ui/LinkLabel.js +4 -3
  487. package/cjs/ui/LinkLabel.js.map +1 -1
  488. package/cjs/ui/Loader.js +10 -12
  489. package/cjs/ui/Loader.js.map +1 -1
  490. package/cjs/ui/MentionLabel.js +58 -65
  491. package/cjs/ui/MentionLabel.js.map +1 -1
  492. package/cjs/ui/MentionUserLabel.js +12 -10
  493. package/cjs/ui/MentionUserLabel.js.map +1 -1
  494. package/cjs/ui/MessageContent.js +208 -546
  495. package/cjs/ui/MessageContent.js.map +1 -1
  496. package/cjs/ui/MessageInput.js +338 -118
  497. package/cjs/ui/MessageInput.js.map +1 -1
  498. package/cjs/ui/MessageItemMenu.js +83 -83
  499. package/cjs/ui/MessageItemMenu.js.map +1 -1
  500. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  501. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  502. package/cjs/ui/MessageSearchFileItem.js +56 -51
  503. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  504. package/cjs/ui/MessageSearchItem.js +42 -41
  505. package/cjs/ui/MessageSearchItem.js.map +1 -1
  506. package/cjs/ui/MessageStatus.js +10 -11
  507. package/cjs/ui/MessageStatus.js.map +1 -1
  508. package/cjs/ui/Modal.js +52 -46
  509. package/cjs/ui/Modal.js.map +1 -1
  510. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  511. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  512. package/cjs/ui/OGMessageItemBody.js +67 -63
  513. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  514. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  515. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  516. package/cjs/ui/OpenChannelAvatar.js +18 -17
  517. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  518. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  519. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  520. package/cjs/ui/OpenchannelFileMessage.js +138 -149
  521. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  522. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  523. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelThumbnailMessage.js +213 -220
  525. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelUserMessage.js +164 -173
  527. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  528. package/cjs/ui/PlaceHolder.js +5 -6
  529. package/cjs/ui/PlaceHolder.js.map +1 -1
  530. package/cjs/ui/PlaybackTime.js +35 -0
  531. package/cjs/ui/PlaybackTime.js.map +1 -0
  532. package/cjs/ui/ProgressBar.js +40 -0
  533. package/cjs/ui/ProgressBar.js.map +1 -0
  534. package/cjs/ui/QuoteMessage.js +50 -44
  535. package/cjs/ui/QuoteMessage.js.map +1 -1
  536. package/cjs/ui/QuoteMessageInput.js +31 -29
  537. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  538. package/cjs/ui/ReactionBadge.js +13 -21
  539. package/cjs/ui/ReactionBadge.js.map +1 -1
  540. package/cjs/ui/ReactionButton.js +30 -27
  541. package/cjs/ui/ReactionButton.js.map +1 -1
  542. package/cjs/ui/SortByRow.js +14 -18
  543. package/cjs/ui/SortByRow.js.map +1 -1
  544. package/cjs/ui/TextButton.js +13 -21
  545. package/cjs/ui/TextButton.js.map +1 -1
  546. package/cjs/ui/TextMessageItemBody.js +41 -48
  547. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  548. package/cjs/ui/ThreadReplies.js +25 -22
  549. package/cjs/ui/ThreadReplies.js.map +1 -1
  550. package/cjs/ui/ThumbnailMessageItemBody.js +43 -45
  551. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  552. package/cjs/ui/Toggle.js +202 -0
  553. package/cjs/ui/Toggle.js.map +1 -0
  554. package/cjs/ui/Tooltip.js +8 -9
  555. package/cjs/ui/Tooltip.js.map +1 -1
  556. package/cjs/ui/TooltipWrapper.js +17 -20
  557. package/cjs/ui/TooltipWrapper.js.map +1 -1
  558. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  559. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  560. package/cjs/ui/UserListItem.js +76 -76
  561. package/cjs/ui/UserListItem.js.map +1 -1
  562. package/cjs/ui/UserProfile.js +31 -29
  563. package/cjs/ui/UserProfile.js.map +1 -1
  564. package/cjs/ui/VoiceMessageItemBody.js +108 -0
  565. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  566. package/cjs/ui/VoiceMessgeInput.js +22 -0
  567. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  568. package/cjs/ui/Word.js +31 -39
  569. package/cjs/ui/Word.js.map +1 -1
  570. package/cjs/useDirtyGetMentions-97c6e05a.js +77 -0
  571. package/cjs/useDirtyGetMentions-97c6e05a.js.map +1 -0
  572. package/cjs/useLongPress-bf1e8eee.js +87 -0
  573. package/cjs/useLongPress-bf1e8eee.js.map +1 -0
  574. package/cjs/useSendbirdStateContext.js +2 -3
  575. package/cjs/useSendbirdStateContext.js.map +1 -1
  576. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  577. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  578. package/cjs/utils/message/isVoiceMessage.js +12 -0
  579. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  580. package/cjs/{utils-1f6c6626.js → utils-146517a9.js} +1 -1
  581. package/cjs/{utils-1f6c6626.js.map → utils-146517a9.js.map} +1 -1
  582. package/cjs/utils-411a893e.js +31 -0
  583. package/cjs/utils-411a893e.js.map +1 -0
  584. package/cjs/{utils-3714e90e.js → utils-dbaff0d0.js} +3 -7
  585. package/cjs/{utils-3714e90e.js.map → utils-dbaff0d0.js.map} +1 -1
  586. package/cjs/utils-de654d3c.js +35 -0
  587. package/cjs/utils-de654d3c.js.map +1 -0
  588. package/cjs/uuid-5ab4f88b.js +15 -0
  589. package/cjs/{uuid-11d4efe8.js.map → uuid-5ab4f88b.js.map} +1 -1
  590. package/cjs/withSendbird.js +5 -6
  591. package/cjs/withSendbird.js.map +1 -1
  592. package/{color-ff5f9069.js → color-2ed716e6.js} +5 -14
  593. package/{color-ff5f9069.js.map → color-2ed716e6.js.map} +1 -1
  594. package/{compareIds-9430f9d8.js → compareIds-bc881fe7.js} +5 -6
  595. package/compareIds-bc881fe7.js.map +1 -0
  596. package/{const-83764204.js → const-8daee9fc.js} +4 -4
  597. package/const-8daee9fc.js.map +1 -0
  598. package/const-e51dda0c.js +13 -0
  599. package/const-e51dda0c.js.map +1 -0
  600. package/consts-3c0ff1ed.js +27 -0
  601. package/consts-3c0ff1ed.js.map +1 -0
  602. package/consts-7aab5aff.js +4 -0
  603. package/consts-7aab5aff.js.map +1 -0
  604. package/consts-d0b365df.js +4 -0
  605. package/consts-d0b365df.js.map +1 -0
  606. package/consts-d0cfee49.js +4 -0
  607. package/consts-d0cfee49.js.map +1 -0
  608. package/context-cde5c2bf.js +13 -0
  609. package/{context-9a69e846.js.map → context-cde5c2bf.js.map} +1 -1
  610. package/dist/index.css +970 -532
  611. package/dist/index.css.map +1 -1
  612. package/handlers/OpenChannelHandler.js.map +1 -1
  613. package/handlers/SessionHandler.js.map +1 -1
  614. package/{index-134314e2.js → index-0f22e96e.js} +29 -37
  615. package/index-0f22e96e.js.map +1 -0
  616. package/index-1e5cf284.js +154 -0
  617. package/index-1e5cf284.js.map +1 -0
  618. package/{index-defabece.js → index-1ec11afb.js} +57 -4
  619. package/index-1ec11afb.js.map +1 -0
  620. package/{index-d3f6dbb9.js → index-37531f98.js} +2 -2
  621. package/{index-d3f6dbb9.js.map → index-37531f98.js.map} +1 -1
  622. package/index-3f1fa3f9.js +76 -0
  623. package/index-3f1fa3f9.js.map +1 -0
  624. package/{index-44470dab.js → index-4023d1b2.js} +11 -25
  625. package/index-4023d1b2.js.map +1 -0
  626. package/index-5141f766.js +51 -0
  627. package/index-5141f766.js.map +1 -0
  628. package/{index-fc4702b7.js → index-5a1c1956.js} +55 -63
  629. package/index-5a1c1956.js.map +1 -0
  630. package/index-735cb5a3.js +360 -0
  631. package/index-735cb5a3.js.map +1 -0
  632. package/{index-e5b78039.js → index-7bff4ce0.js} +1 -1
  633. package/index-7bff4ce0.js.map +1 -0
  634. package/{index-07e060cd.js → index-865112db.js} +1 -1
  635. package/{index-07e060cd.js.map → index-865112db.js.map} +1 -1
  636. package/index-ac642e0b.js +435 -0
  637. package/index-ac642e0b.js.map +1 -0
  638. package/index-d847a382.js +283 -0
  639. package/index-d847a382.js.map +1 -0
  640. package/index-e2601165.js +544 -0
  641. package/index-e2601165.js.map +1 -0
  642. package/{index-3f26a31c.js → index-f1701c11.js} +2 -2
  643. package/{index-3f26a31c.js.map → index-f1701c11.js.map} +1 -1
  644. package/{index-1b91b116.js → index-fa140763.js} +39 -48
  645. package/index-fa140763.js.map +1 -0
  646. package/index-fa37119a.js +187 -0
  647. package/index-fa37119a.js.map +1 -0
  648. package/index.d.ts +171 -123
  649. package/index.js +77 -58
  650. package/index.js.map +1 -1
  651. package/index.module-9202ebbd.js +4 -0
  652. package/index.module-9202ebbd.js.map +1 -0
  653. package/lame.all.js +2537 -0
  654. package/lame.all.js.map +1 -0
  655. package/package.json +61 -41
  656. package/sendbirdSelectors.js +307 -417
  657. package/sendbirdSelectors.js.map +1 -1
  658. package/{stringSet-d555d877.js → stringSet-7a8ce1ce.js} +110 -90
  659. package/stringSet-7a8ce1ce.js.map +1 -0
  660. package/tokenize-003bf3f7.js +159 -0
  661. package/tokenize-003bf3f7.js.map +1 -0
  662. package/topics-5ff88d6f.js +16 -0
  663. package/topics-5ff88d6f.js.map +1 -0
  664. package/types-bffbc5f5.js +15 -0
  665. package/types-bffbc5f5.js.map +1 -0
  666. package/ui/Accordion.js +21 -24
  667. package/ui/Accordion.js.map +1 -1
  668. package/ui/AccordionGroup.js +10 -13
  669. package/ui/AccordionGroup.js.map +1 -1
  670. package/ui/AdminMessage.js +10 -13
  671. package/ui/AdminMessage.js.map +1 -1
  672. package/ui/Avatar.js +57 -79
  673. package/ui/Avatar.js.map +1 -1
  674. package/ui/Badge.js +16 -15
  675. package/ui/Badge.js.map +1 -1
  676. package/ui/BottomSheet.js +14 -12
  677. package/ui/BottomSheet.js.map +1 -1
  678. package/ui/Button.js +20 -35
  679. package/ui/Button.js.map +1 -1
  680. package/ui/ChannelAvatar.js +38 -41
  681. package/ui/ChannelAvatar.js.map +1 -1
  682. package/ui/Checkbox.js +11 -13
  683. package/ui/Checkbox.js.map +1 -1
  684. package/ui/ConnectionStatus.js +7 -5
  685. package/ui/ConnectionStatus.js.map +1 -1
  686. package/ui/ContextMenu.js +176 -200
  687. package/ui/ContextMenu.js.map +1 -1
  688. package/ui/DateSeparator.js +12 -14
  689. package/ui/DateSeparator.js.map +1 -1
  690. package/ui/EmojiReactions.js +300 -108
  691. package/ui/EmojiReactions.js.map +1 -1
  692. package/ui/FileMessageItemBody.js +22 -23
  693. package/ui/FileMessageItemBody.js.map +1 -1
  694. package/ui/FileViewer.js +36 -36
  695. package/ui/FileViewer.js.map +1 -1
  696. package/ui/Icon.js +448 -622
  697. package/ui/Icon.js.map +1 -1
  698. package/ui/IconButton.js +20 -31
  699. package/ui/IconButton.js.map +1 -1
  700. package/ui/ImageRenderer.js +34 -43
  701. package/ui/ImageRenderer.js.map +1 -1
  702. package/ui/Input.js +16 -16
  703. package/ui/Input.js.map +1 -1
  704. package/ui/Label.js +2 -2
  705. package/ui/LinkLabel.js +4 -3
  706. package/ui/LinkLabel.js.map +1 -1
  707. package/ui/Loader.js +10 -12
  708. package/ui/Loader.js.map +1 -1
  709. package/ui/MentionLabel.js +58 -65
  710. package/ui/MentionLabel.js.map +1 -1
  711. package/ui/MentionUserLabel.js +12 -10
  712. package/ui/MentionUserLabel.js.map +1 -1
  713. package/ui/MessageContent.js +211 -549
  714. package/ui/MessageContent.js.map +1 -1
  715. package/ui/MessageInput.js +338 -119
  716. package/ui/MessageInput.js.map +1 -1
  717. package/ui/MessageItemMenu.js +83 -83
  718. package/ui/MessageItemMenu.js.map +1 -1
  719. package/ui/MessageItemReactionMenu.js +58 -62
  720. package/ui/MessageItemReactionMenu.js.map +1 -1
  721. package/ui/MessageSearchFileItem.js +55 -50
  722. package/ui/MessageSearchFileItem.js.map +1 -1
  723. package/ui/MessageSearchItem.js +41 -40
  724. package/ui/MessageSearchItem.js.map +1 -1
  725. package/ui/MessageStatus.js +10 -11
  726. package/ui/MessageStatus.js.map +1 -1
  727. package/ui/Modal.js +52 -46
  728. package/ui/Modal.js.map +1 -1
  729. package/ui/MutedAvatarOverlay.js +10 -10
  730. package/ui/MutedAvatarOverlay.js.map +1 -1
  731. package/ui/OGMessageItemBody.js +68 -64
  732. package/ui/OGMessageItemBody.js.map +1 -1
  733. package/ui/OpenChannelAdminMessage.js +8 -7
  734. package/ui/OpenChannelAdminMessage.js.map +1 -1
  735. package/ui/OpenChannelAvatar.js +18 -17
  736. package/ui/OpenChannelAvatar.js.map +1 -1
  737. package/ui/OpenchannelConversationHeader.js +17 -13
  738. package/ui/OpenchannelConversationHeader.js.map +1 -1
  739. package/ui/OpenchannelFileMessage.js +138 -149
  740. package/ui/OpenchannelFileMessage.js.map +1 -1
  741. package/ui/OpenchannelOGMessage.js +204 -233
  742. package/ui/OpenchannelOGMessage.js.map +1 -1
  743. package/ui/OpenchannelThumbnailMessage.js +213 -220
  744. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  745. package/ui/OpenchannelUserMessage.js +164 -173
  746. package/ui/OpenchannelUserMessage.js.map +1 -1
  747. package/ui/PlaceHolder.js +5 -6
  748. package/ui/PlaceHolder.js.map +1 -1
  749. package/ui/PlaybackTime.js +26 -0
  750. package/ui/PlaybackTime.js.map +1 -0
  751. package/ui/ProgressBar.js +30 -0
  752. package/ui/ProgressBar.js.map +1 -0
  753. package/ui/QuoteMessage.js +50 -44
  754. package/ui/QuoteMessage.js.map +1 -1
  755. package/ui/QuoteMessageInput.js +31 -29
  756. package/ui/QuoteMessageInput.js.map +1 -1
  757. package/ui/ReactionBadge.js +13 -21
  758. package/ui/ReactionBadge.js.map +1 -1
  759. package/ui/ReactionButton.js +30 -27
  760. package/ui/ReactionButton.js.map +1 -1
  761. package/ui/SortByRow.js +14 -18
  762. package/ui/SortByRow.js.map +1 -1
  763. package/ui/TextButton.js +13 -21
  764. package/ui/TextButton.js.map +1 -1
  765. package/ui/TextMessageItemBody.js +41 -48
  766. package/ui/TextMessageItemBody.js.map +1 -1
  767. package/ui/ThreadReplies.js +25 -22
  768. package/ui/ThreadReplies.js.map +1 -1
  769. package/ui/ThumbnailMessageItemBody.js +43 -45
  770. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  771. package/ui/Toggle.js +191 -0
  772. package/ui/Toggle.js.map +1 -0
  773. package/ui/Tooltip.js +8 -9
  774. package/ui/Tooltip.js.map +1 -1
  775. package/ui/TooltipWrapper.js +17 -20
  776. package/ui/TooltipWrapper.js.map +1 -1
  777. package/ui/UnknownMessageItemBody.js +21 -22
  778. package/ui/UnknownMessageItemBody.js.map +1 -1
  779. package/ui/UserListItem.js +76 -76
  780. package/ui/UserListItem.js.map +1 -1
  781. package/ui/UserProfile.js +31 -29
  782. package/ui/UserProfile.js.map +1 -1
  783. package/ui/VoiceMessageItemBody.js +99 -0
  784. package/ui/VoiceMessageItemBody.js.map +1 -0
  785. package/ui/VoiceMessgeInput.js +14 -0
  786. package/ui/VoiceMessgeInput.js.map +1 -0
  787. package/ui/Word.js +31 -39
  788. package/ui/Word.js.map +1 -1
  789. package/useDirtyGetMentions-aac697f4.js +75 -0
  790. package/useDirtyGetMentions-aac697f4.js.map +1 -0
  791. package/useLongPress-fbab35a9.js +85 -0
  792. package/useLongPress-fbab35a9.js.map +1 -0
  793. package/useSendbirdStateContext.js +2 -3
  794. package/useSendbirdStateContext.js.map +1 -1
  795. package/utils/message/getOutgoingMessageState.js +9 -15
  796. package/utils/message/getOutgoingMessageState.js.map +1 -1
  797. package/utils/message/isVoiceMessage.js +8 -0
  798. package/utils/message/isVoiceMessage.js.map +1 -0
  799. package/{utils-8b11ff42.js → utils-0d88f863.js} +3 -7
  800. package/{utils-8b11ff42.js.map → utils-0d88f863.js.map} +1 -1
  801. package/{utils-e720e03a.js → utils-388a790e.js} +1 -1
  802. package/{utils-e720e03a.js.map → utils-388a790e.js.map} +1 -1
  803. package/utils-6f2bb331.js +31 -0
  804. package/utils-6f2bb331.js.map +1 -0
  805. package/utils-af761f03.js +29 -0
  806. package/utils-af761f03.js.map +1 -0
  807. package/uuid-1f1bbd9c.js +13 -0
  808. package/{uuid-286ed926.js.map → uuid-1f1bbd9c.js.map} +1 -1
  809. package/withSendbird.js +5 -6
  810. package/withSendbird.js.map +1 -1
  811. package/ChannelListProvider-f461d265.js.map +0 -1
  812. package/ChannelProvider-554e7116.js.map +0 -1
  813. package/CreateChannelProvider-250cd98e.js +0 -55
  814. package/CreateChannelProvider-250cd98e.js.map +0 -1
  815. package/LocalizationContext-4df0cc32.js +0 -22
  816. package/MediaQueryContext-74183e34.js +0 -90
  817. package/MediaQueryContext-74183e34.js.map +0 -1
  818. package/MemberList-51c7afaa.js +0 -435
  819. package/MemberList-51c7afaa.js.map +0 -1
  820. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  821. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  822. package/NotificationChannel/components/NotificationList.js +0 -111
  823. package/NotificationChannel/components/NotificationList.js.map +0 -1
  824. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  825. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  826. package/NotificationChannel/context.js +0 -12
  827. package/NotificationChannel.js +0 -58
  828. package/NotificationChannel.js.map +0 -1
  829. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  830. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  831. package/OpenChannelListProvider-8c753945.js +0 -434
  832. package/OpenChannelListProvider-8c753945.js.map +0 -1
  833. package/OpenChannelProvider-2fa01820.js +0 -2000
  834. package/OpenChannelProvider-2fa01820.js.map +0 -1
  835. package/RemoveMessageModal-9762fed1.js +0 -31
  836. package/RemoveMessageModal-9762fed1.js.map +0 -1
  837. package/ThreadProvider-6974fb3e.js +0 -1644
  838. package/ThreadProvider-6974fb3e.js.map +0 -1
  839. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  840. package/actionTypes-ad2cbd73.js +0 -6
  841. package/actionTypes-ad2cbd73.js.map +0 -1
  842. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  843. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  844. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  845. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  846. package/cjs/MediaQueryContext-71862be1.js +0 -97
  847. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  848. package/cjs/MemberList-13566703.js +0 -441
  849. package/cjs/MemberList-13566703.js.map +0 -1
  850. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  851. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  852. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  853. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  855. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  856. package/cjs/NotificationChannel/context.js +0 -21
  857. package/cjs/NotificationChannel.js +0 -64
  858. package/cjs/NotificationChannel.js.map +0 -1
  859. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  860. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  861. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  862. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  863. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  864. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  865. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  866. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  867. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  868. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  869. package/cjs/actionTypes-0e8bea91.js +0 -10
  870. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  871. package/cjs/color-89f33656.js.map +0 -1
  872. package/cjs/compareIds-ca869c2e.js.map +0 -1
  873. package/cjs/const-55d167ca.js +0 -20
  874. package/cjs/const-55d167ca.js.map +0 -1
  875. package/cjs/const-db71e993.js.map +0 -1
  876. package/cjs/index-0988ab25.js.map +0 -1
  877. package/cjs/index-21b2339d.js +0 -701
  878. package/cjs/index-21b2339d.js.map +0 -1
  879. package/cjs/index-5c81f847.js +0 -194
  880. package/cjs/index-5c81f847.js.map +0 -1
  881. package/cjs/index-621e74bd.js.map +0 -1
  882. package/cjs/index-8de59744.js +0 -59
  883. package/cjs/index-8de59744.js.map +0 -1
  884. package/cjs/index-a52859ed.js +0 -360
  885. package/cjs/index-a52859ed.js.map +0 -1
  886. package/cjs/index-be9c6237.js.map +0 -1
  887. package/cjs/index-c4d4ef49.js.map +0 -1
  888. package/cjs/index-d6ef2a60.js.map +0 -1
  889. package/cjs/index-e240e852.js.map +0 -1
  890. package/cjs/stringSet-91b919f6.js.map +0 -1
  891. package/cjs/topics-ac9cf7ed.js +0 -22
  892. package/cjs/topics-ac9cf7ed.js.map +0 -1
  893. package/cjs/tslib.es6-43854eb1.js +0 -110
  894. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  895. package/cjs/useLongPress-c7bf12b1.js +0 -118
  896. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  897. package/cjs/utils-4b529d96.js +0 -38
  898. package/cjs/utils-4b529d96.js.map +0 -1
  899. package/cjs/utils-65a380e8.js +0 -32
  900. package/cjs/utils-65a380e8.js.map +0 -1
  901. package/cjs/uuid-11d4efe8.js +0 -19
  902. package/compareIds-9430f9d8.js.map +0 -1
  903. package/const-83764204.js.map +0 -1
  904. package/const-9d11f204.js +0 -14
  905. package/const-9d11f204.js.map +0 -1
  906. package/context-9a69e846.js +0 -12
  907. package/index-134314e2.js.map +0 -1
  908. package/index-1572c90f.js +0 -57
  909. package/index-1572c90f.js.map +0 -1
  910. package/index-1b91b116.js.map +0 -1
  911. package/index-44470dab.js.map +0 -1
  912. package/index-5f08f486.js +0 -662
  913. package/index-5f08f486.js.map +0 -1
  914. package/index-d8e3ccee.js +0 -179
  915. package/index-d8e3ccee.js.map +0 -1
  916. package/index-defabece.js.map +0 -1
  917. package/index-e5b78039.js.map +0 -1
  918. package/index-ed65ee3b.js +0 -353
  919. package/index-ed65ee3b.js.map +0 -1
  920. package/index-fc4702b7.js.map +0 -1
  921. package/stringSet-d555d877.js.map +0 -1
  922. package/topics-351ea731.js +0 -13
  923. package/topics-351ea731.js.map +0 -1
  924. package/tslib.es6-bcead7e6.js +0 -104
  925. package/tslib.es6-bcead7e6.js.map +0 -1
  926. package/useLongPress-794838b8.js +0 -116
  927. package/useLongPress-794838b8.js.map +0 -1
  928. package/utils-00ac1a7d.js +0 -34
  929. package/utils-00ac1a7d.js.map +0 -1
  930. package/utils-01e76a0c.js +0 -30
  931. package/utils-01e76a0c.js.map +0 -1
  932. package/uuid-286ed926.js +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItem.js","sources":["../../../../src/smart-components/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/smart-components/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabled ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {isByMe && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabled ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div className=\"sendbird-thread-list-item-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {!isByMe && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '@sendbird/chat';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = isReactionEnabled && !currentChannel?.isSuper && !currentChannel?.isBroadcast;\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\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 // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\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 isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentChannel?.endTyping?.();\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 </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_a","className","userId","channel","message","_f","disabled","_g","chainTop","_h","chainBottom","_j","isMentionEnabled","_k","isReactionEnabled","_l","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","_m","useState","supposedHover","setSupposedHover","_o","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","isByMe","sender","_b","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","React","concat","ContextMenu","toggleDropdown","Avatar","members","find","member","profileUrl","_c","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","MessageItemReactionMenu","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isThumbnailMessage","ThumbnailMessageItemBody","width","height","UNKNOWN","UnknownMessageItemBody","_e","reactions","length","EmojiReactions","CAPTION_3","format","createdAt","locale","ThreadListItem","hasSeparator","renderCustomSeparator","handleScroll","useSendbirdStateContext","stores","config","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","SuggestedMentionList","__spreadArray","users","maxSuggestionCount","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","FileViewer"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadListItem.js","sources":["../../../../src/modules/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/modules/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage, isVoiceMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\nimport MobileMenu from '../../../../ui/MobileMenu';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { isMobile } = useMediaQueryContext();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n\n // Mobile\n const mobileMenuRef = useRef(null);\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMobileMenu(true);\n }\n },\n }, {\n shouldPreventDefault: false,\n });\n\n return (\n <div\n className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}\n ref={mobileMenuRef}\n >\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabledInChannel ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {(isByMe && !isMobile) && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabledInChannel ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div\n className=\"sendbird-thread-list-item-content__middle\"\n {...(isMobile) ? { ...longPress } : {}}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: isMobile ? '100%' : '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n channel={channel}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {(!isByMe && !isMobile) && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n {showMobileMenu && (\n <MobileMenu\n parentRef={mobileMenuRef}\n channel={channel}\n message={message}\n userId={userId}\n replyType={replyType}\n hideMenu={() => {\n setShowMobileMenu(false);\n }}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n showEdit={showEdit}\n showRemove={showRemove}\n toggleReaction={toggleReaction}\n isOpenedFromThread\n />\n )}\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { getIsReactionEnabled } from '../../../../utils/getIsReactionEnabled';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n logger,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = getIsReactionEnabled({\n globalLevel: isReactionEnabled,\n isSuper: currentChannel.isSuper,\n isBroadcast: currentChannel.isBroadcast,\n });\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\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 // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\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 isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentChannel?.endTyping?.();\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 </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_ref","_sender","_channel$members2","_channel$members2$fin","_message$reactions","className","userId","channel","message","disabled","chainTop","chainBottom","isMentionEnabled","isReactionEnabled","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","isMobile","useMediaQueryContext","dateLocale","useLocalization","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","mobileMenuRef","showMobileMenu","setShowMobileMenu","longPress","useLongPress","onLongPress","shouldPreventDefault","React","createElement","ref","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","spaceFromTrigger","_extends","_objectSpread","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","MobileMenu","hideMenu","isOpenedFromThread","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","config","useSendbirdStateContext","isOnline","userMention","logger","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","getIsReactionEnabled","globalLevel","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","displaySuggestedMentionList","myRole","Role","OPERATOR","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","useEffect","filter","_ref2","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","MessageInput","isEdit","mentionSelectedUser","onStartTyping","_currentChannel$start","startTyping","call","onUpdateMessage","_ref3","_currentChannel$endTy","mentionTemplate","endTyping","onCancelEdit","_currentChannel$endTy2","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","onCancel","FileViewer","onClose","onDelete"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDe,SAASA,qBAAqBA,CAAAC,IAAA,EAoBM;AAAA,EAAA,IAAAC,OAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,kBAAA,CAAA;EAAA,IApBL;IAC5CC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;AACPC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,WAAW,GAAG,KAAK;AACnBC,IAAAA,gBAAgB,GAAG,KAAK;AACxBC,IAAAA,iBAAiB,GAAG,KAAK;AACzBC,IAAAA,mBAAmB,GAAG,KAAK;IAC3BC,SAAS;IACTC,YAAY;IACZC,cAAc;IACdC,QAAQ;IACRC,UAAU;IACVC,cAAc;IACdC,aAAa;IACbC,cAAc;AACdC,IAAAA,eAAAA;AAC0B,GAAC,GAAAvB,IAAA,CAAA;EAC3B,MAAMwB,YAAY,GAAGC,0BAAoB,EAAE,CAAA;EAC3C,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,sCAAoB,EAAE,CAAA;EAC3C,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,mCAAe,EAAE,CAAA;EACxC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;EACzD,MAAM;IACJC,kBAAkB;AAClBC,IAAAA,iBAAAA;AACF,GAAC,GAAGC,gBAAU,CAA8BC,qCAAkB,CAAC,CAAA;AAC/D,EAAA,MAAMC,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAE9B,EAAA,MAAMC,MAAM,GAAIjC,MAAM,MAAME,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAP,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,OAAA,GAAPO,OAAO,CAAgCgC,MAAM,MAAA,IAAA,IAAAvC,OAAA,KAA9CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAgDK,MAAM,CAAA,IAC3E,CAACE,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAgCiC,aAAa,MAAK,SAAU,IACpE,CAACjC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAgCiC,aAAa,MAAK,QAAS,CAAA;AACzE,EAAA,MAAMC,WAAW,GAAG,CAAC,EAAE,CAAC3B,SAAS,KAAK,aAAa,IAAIA,SAAS,KAAK,QAAQ,KACxEP,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEmC,eAAe,IAAInC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAEoC,aAAa,IAClD,CAAC9B,mBAAmB,CACxB,CAAA;AACD,EAAA,MAAM+B,sBAAsB,GAAGf,aAAa,GAAG,sBAAsB,GAAG,EAAE,CAAA;EAC1E,MAAMgB,0BAA0B,GAAGjC,iBAAiB,IAAI,EAACN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEwC,WAAW,CAAA,CAAA;;AAE7E;AACA,EAAA,MAAMC,aAAa,GAAGV,YAAM,CAAC,IAAI,CAAC,CAAA;EAClC,MAAM,CAACW,cAAc,EAAEC,iBAAiB,CAAC,GAAGlB,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAMmB,SAAS,GAAGC,yBAAY,CAAC;IAC7BC,WAAW,EAAEA,MAAM;AACjB,MAAA,IAAI3B,QAAQ,EAAE;QACZwB,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACzB,OAAA;AACF,KAAA;AACF,GAAC,EAAE;AACDI,IAAAA,oBAAoB,EAAE,KAAA;AACxB,GAAC,CAAC,CAAA;EAEF,oBACEC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEnD,SAAS,EAAG,qCAAoCA,SAAU,CAAA,CAAA,EAAGkC,MAAM,GAAG,UAAU,GAAG,UAAW,CAAE,CAAA;AAChGkB,IAAAA,GAAG,EAAET,aAAAA;GAELO,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnD,IAAAA,SAAS,EAAG,CAAA,wCAAA,EAA0CyC,0BAA0B,GAAG,cAAc,GAAG,EAAG,CAAA,CAAA,EAAGP,MAAM,GAAG,UAAU,GAAG,UAAW,CAAA,CAAA;GAC5I,EAAA,CAACA,MAAM,IAAI,CAAC5B,WAAW,iBACvB4C,yBAAA,CAAAC,aAAA,CAACE,yBAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAAc,IAAA;AAAA,MAAA,IAAAC,gBAAA,EAAAC,qBAAA,EAAAC,gBAAA,CAAA;AAAA,MAAA,oBAC1BR,yBAAA,CAAAC,aAAA,CAACQ,oBAAM,EAAA;AACL3D,QAAAA,SAAS,EAAC,iDAAiD;QAC3D4D,GAAG,EAAE,CAAA1D,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAsD,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPtD,OAAO,CAAE2D,OAAO,MAAAL,IAAAA,IAAAA,gBAAA,wBAAAC,qBAAA,GAAhBD,gBAAA,CAAkBM,IAAI,CAAEC,MAAM,IAAA;AAAA,UAAA,IAAAC,eAAA,CAAA;UAAA,OAAK,CAAAD,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE9D,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA6D,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,eAAA,GAAP7D,OAAO,CAAEgC,MAAM,cAAA6B,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiB/D,MAAM,CAAA,CAAA;SAAC,CAAA,MAAA,IAAA,IAAAwD,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFQ,UAAU,MAAI9D,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAuD,gBAAA,GAAPvD,OAAO,CAAEgC,MAAM,MAAAuB,IAAAA,IAAAA,gBAAA,uBAAfA,gBAAA,CAAiBO,UAAU,CAAA,IAAI,EAAG;AACrIb,QAAAA,GAAG,EAAEpB,SAAU;AACfkC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAM;QACbC,OAAO,EAAEA,MAAM;UACb,IAAI,CAACxC,kBAAkB,EAAE;AACvB2B,YAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,EAAI,CAAA;AACpB,WAAA;AACF,SAAA;OACA,CAAA,CAAA;KACF;AACFc,IAAAA,SAAS,EAAGC,aAAa,iBACvBpB,yBAAA,CAAAC,aAAA,CAACoB,wBAAS,EAAA;AACRC,MAAAA,SAAS,EAAExC,SAAU;AACrByC,MAAAA,gBAAgB,EAAEzC,SAAU;AAC5BsC,MAAAA,aAAa,EAAEA,aAAc;AAC7BI,MAAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAEhD/C,EAAAA,iBAAiB,GACdA,iBAAiB,CAAC;AAAEgD,MAAAA,IAAI,EAAE1E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEgC,MAAM;AAAE2C,MAAAA,KAAK,EAAER,aAAAA;AAAc,KAAC,CAAC,gBAClEpB,yBAAA,CAAAC,aAAA,CAAC4B,cAAW,EAAA;AAACF,MAAAA,IAAI,EAAE1E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEgC,MAAO;AAAC6C,MAAAA,SAAS,EAAEV,aAAAA;KAAiB,CAAA,CAAA;GAK3E,CAAA,EACCpC,MAAM,IAAI,CAACb,QAAQ,iBACnB6B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnD,IAAAA,SAAS,EAAG,CAAA,uCAAA,EAAyCyC,0BAA0B,GAAG,cAAc,GAAG,EAClG,CAAGP,CAAAA,EAAAA,MAAM,GAAG,UAAU,GAAG,UACzB,IAAGM,sBAAuB,CAAA,CAAA;AAAE,GAAA,eAE7BU,yBAAA,CAAAC,aAAA,CAAC8B,kBAAe,EAAA;AACdjF,IAAAA,SAAS,EAAC,qDAAqD;AAC/DE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAqC;AAC9C+B,IAAAA,MAAM,EAAEA,MAAO;AACfxB,IAAAA,SAAS,EAAEA,SAAU;AACrBN,IAAAA,QAAQ,EAAEA,QAAS;AACnBS,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BU,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCR,IAAAA,eAAe,EAAEA,eAAAA;AAAgB,GAAA,CACjC,EACDuB,0BAA0B,iBACzBS,yBAAA,CAAAC,aAAA,CAAC+B,0BAAuB,EAAA;AACtBlF,IAAAA,SAAS,EAAC,uDAAuD;AACjEG,IAAAA,OAAO,EAAEA,OAAqC;AAC9CF,IAAAA,MAAM,EAAEA,MAAO;IACfkF,gBAAgB,EAAE,EAAG;AACrBvE,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,cAAc,EAAEA,cAAe;AAC/BS,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,CAEJ,CACG,eACNwB,yBAAA,CAAAC,aAAA,QAAAiC,kCAAA,CAAA;AACEpF,IAAAA,SAAS,EAAC,2CAAA;GACLqB,EAAAA,QAAQ,GAAAgE,wCAAA,CAAA,EAAA,EAASvC,SAAS,CAAK,GAAA,EAAE,CAAA,EAEpC,CAACZ,MAAM,IAAI,CAAC7B,QAAQ,IAAI,CAACgC,WAAW,iBACpCa,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;AACJtF,IAAAA,SAAS,EAAC,wDAAwD;IAClEuF,IAAI,EAAEC,wBAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAGhC,CAAA1F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAL,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,iBAAA,GAAPK,OAAO,CAAE2D,OAAO,MAAAhE,IAAAA,IAAAA,iBAAA,wBAAAC,qBAAA,GAAhBD,iBAAA,CAAkBiE,IAAI,CAAEC,MAAM,IAAA;AAAA,IAAA,IAAA8B,gBAAA,CAAA;IAAA,OAAK,CAAA9B,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE9D,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA0F,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAP1F,OAAO,CAAEgC,MAAM,cAAA0D,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiB5F,MAAM,CAAA,CAAA;GAAC,CAAA,MAAA,IAAA,IAAAH,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFgG,QAAQ,KACrFC,mBAAa,CAAC5F,OAAO,CAAA;AACxB;GAGL,eACD+C,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnD,IAAAA,SAAS,EAAEgG,kBAAY,CAAC,CAAC,2DAA2D,CAAC,CAAA;AAAE,GAAA,EAExF9D,MAAM,IAAI,CAAC5B,WAAW,iBACtB4C,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKnD,SAAS,EAAEgG,kBAAY,CAAC,CAAC,uEAAuE,EAAE,MAAM,EAAExD,sBAAsB,CAAC,CAAA;GACpIU,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnD,IAAAA,SAAS,EAAC,4FAAA;AAA4F,GAAA,eACzGkD,yBAAA,CAAAC,aAAA,CAAC8C,8BAAa,EAAA;AACZ9F,IAAAA,OAAO,EAAEA,OAAqC;AAC9CD,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,CACjB,CACE,CAET,EAEAgG,mBAAa,CAAC/F,OAAO,CAAgB,iBACpC+C,yBAAA,CAAAC,aAAA,CAACgD,sBAAmB,EAAA;AAClBnG,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChC+B,IAAAA,MAAM,EAAEA,MAAO;AACf3B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,iBAAiB,EAAEiC,0BAAAA;GAEtB,CAAA,EACC2D,iBAAW,CAACjG,OAAO,CAAgB,iBACnC+C,yBAAA,CAAAC,aAAA,CAACkD,oBAAiB,EAAA;AAChBrG,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChC+B,IAAAA,MAAM,EAAEA,MAAO;AACf3B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,iBAAiB,EAAEiC,0BAAAA;GAEtB,CAAA,EACA6D,oBAAc,CAACnG,OAAO,CAAgB,iBACrC+C,yBAAA,CAAAC,aAAA,CAACoD,4CAAoB,EAAA;AACnBvG,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChCqG,IAAAA,UAAU,EAAEtG,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEuG,GAAI;AACzBvE,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,iBAAiB,EAAEiC,0BAAAA;AAA2B,GAAA,CAEjD,EACCiE,yBAAmB,CAAEvG,OAAO,CAAiB,KAAKgB,YAAY,CAACwF,IAAI,iBACnEzD,yBAAA,CAAAC,aAAA,CAACyD,sBAAmB,EAAA;AAClB5G,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChC+B,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,iBAAiB,EAAEiC,0BAA2B;AAC9CoE,IAAAA,aAAa,EAAE3E,MAAM,GAAG,EAAE,GAAG,EAAA;GAEhC,CAAA,EACC4E,wBAAkB,CAAC3G,OAAO,CAAgB,iBAC1C+C,yBAAA,CAAAC,aAAA,CAAC4D,2BAAwB,EAAA;AACvB/G,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChC+B,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,iBAAiB,EAAEiC,0BAA2B;AAC9C1B,IAAAA,cAAc,EAAEA,cAAe;AAC/B2D,IAAAA,KAAK,EAAE;AACLR,MAAAA,KAAK,EAAE7C,QAAQ,GAAG,MAAM,GAAG,OAAO;AAClC8C,MAAAA,MAAM,EAAE,OAAA;AACV,KAAA;AAAE,GAAA,CAEL,EACCuC,yBAAmB,CAAEvG,OAAO,CAAiB,KAAKgB,YAAY,CAAC6F,OAAO,iBACtE9D,yBAAA,CAAAC,aAAA,CAAC8D,yBAAsB,EAAA;AACrBjH,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAQ;AACjB+B,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,iBAAiB,EAAEiC,0BAAAA;GAEtB,CAAA,EAECA,0BAA0B,IAAI,CAAAtC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAJ,kBAAA,GAAPI,OAAO,CAAE+G,SAAS,MAAAnH,IAAAA,IAAAA,kBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAoBoH,MAAM,IAAG,CAAC,iBAC5DjE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKnD,SAAS,EAAEgG,kBAAY,CAAC,CAC3B,6CAA6C,EAC5C,CAAC9D,MAAM,IAAI4E,wBAAkB,CAAC3G,OAAO,CAAgB,IAAIiG,iBAAW,CAACjG,OAAO,CAAgB,GAAI,EAAE,GAAG,SAAS,CAChH,CAAA;AAAE,GAAA,eACD+C,yBAAA,CAAAC,aAAA,CAACiE,iBAAc,EAAA;AACbnH,IAAAA,MAAM,EAAEA,MAAO;AACfE,IAAAA,OAAO,EAAEA,OAAqC;AAC9CD,IAAAA,OAAO,EAAEA,OAAQ;AACjBgC,IAAAA,MAAM,EAAEA,MAAO;AACftB,IAAAA,cAAc,EAAEA,cAAe;AAC/ByG,IAAAA,kBAAkB,EAAE1G,YAAa;AACjCM,IAAAA,cAAc,EAAEA,cAAAA;AAAe,GAAA,CAC/B,CAEL,EACC,CAACiB,MAAM,IAAI,CAAC5B,WAAW,iBACvB4C,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;IACJtF,SAAS,EAAEgG,kBAAY,CAAC,CAAC,uEAAuE,EAAE,OAAO,EAAExD,sBAAsB,CAAC,CAAE;IACpI+C,IAAI,EAAEC,wBAAe,CAAC8B,SAAU;IAChC5B,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC2B,cAAM,CAAC,CAAApH,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEqH,SAAS,KAAI,CAAC,EAAE,GAAG,EAAE;AACpCC,IAAAA,MAAM,EAAElG,UAAAA;AACV,GAAC,CAAC,CAEL,CACG,CACF,eACN2B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnD,IAAAA,SAAS,EAAG,CAAA,yCAAA,EAA2CK,QAAQ,GAAG,WAAW,GAAG,EAC/E,CAAA,CAAA,EAAG6B,MAAM,GAAG,UAAU,GAAG,UAAW,CAAA,CAAA;GAEnC,EAAA,CAACA,MAAM,IAAI,CAACb,QAAQ,iBACpB6B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKnD,SAAS,EAAG,0CAAyCwC,sBAAuB,CAAA,CAAA;AAAE,GAAA,EAChFC,0BAA0B,iBACzBS,yBAAA,CAAAC,aAAA,CAAC+B,0BAAuB,EAAA;AACtBlF,IAAAA,SAAS,EAAC,uDAAuD;AACjEG,IAAAA,OAAO,EAAEA,OAAqC;AAC9CF,IAAAA,MAAM,EAAEA,MAAO;IACfkF,gBAAgB,EAAE,EAAG;AACrBvE,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,cAAc,EAAEA,cAAe;AAC/BS,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,eACDwB,yBAAA,CAAAC,aAAA,CAAC8B,kBAAe,EAAA;AACdjF,IAAAA,SAAS,EAAC,qDAAqD;AAC/DE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAqC;AAC9C+B,IAAAA,MAAM,EAAEA,MAAO;AACfxB,IAAAA,SAAS,EAAEA,SAAU;AACrBN,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BU,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCR,IAAAA,eAAe,EAAEA,eAAAA;GACjB,CAAA,CAEL,CACG,EACL0B,cAAc,iBACbM,yBAAA,CAAAC,aAAA,CAACuE,kBAAU,EAAA;AACTlD,IAAAA,SAAS,EAAE7B,aAAc;AACzBzC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,MAAM,EAAEA,MAAO;AACfS,IAAAA,SAAS,EAAEA,SAAU;IACrBiH,QAAQ,EAAEA,MAAM;MACd9E,iBAAiB,CAAC,KAAK,CAAC,CAAA;KACxB;AACFrC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrC0B,IAAAA,MAAM,EAAEA,MAAO;AACftB,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBG,IAAAA,cAAc,EAAEA,cAAe;IAC/B2G,kBAAkB,EAAA,IAAA;AAAA,GAAA,CAErB,CACG,CAAA;AAEV;;AC7Te,SAASC,cAAcA,CAAAlI,IAAA,EAQM;AAAA,EAAA,IAAAmI,iBAAA,EAAAC,qBAAA,EAAAhI,kBAAA,EAAAiE,eAAA,CAAA;EAAA,IARL;IACrChE,SAAS;IACTG,OAAO;IACPE,QAAQ;IACRC,WAAW;IACX0H,YAAY;IACZC,qBAAqB;AACrBC,IAAAA,YAAAA;AACmB,GAAC,GAAAvI,IAAA,CAAA;EACpB,MAAM;IAAEwI,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EACpD,MAAM;IACJ7H,iBAAiB;IACjBD,gBAAgB;IAChB+H,QAAQ;IACR5H,SAAS;IACT6H,WAAW;AACXC,IAAAA,MAAAA;AACF,GAAC,GAAGJ,MAAM,CAAA;EACV,MAAMnI,MAAM,GAAGkI,MAAM,KAANA,IAAAA,IAAAA,MAAM,wBAAAL,iBAAA,GAANK,MAAM,CAAEM,SAAS,MAAA,IAAA,IAAAX,iBAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAjBD,iBAAA,CAAmBjD,IAAI,cAAAkD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyB9H,MAAM,CAAA;EAC9C,MAAM;AAAEsB,IAAAA,UAAAA;GAAY,GAAGC,mCAAe,EAAE,CAAA;AACxC,EAAA,MAAMkH,aAAa,GAAGC,+BAAgB,aAAhBA,+BAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,+BAAgB,EAAI,CAAA;EAC1C,MAAM;IACJC,cAAc;IACdjI,YAAY;IACZC,cAAc;IACdK,cAAc;IACd4H,eAAe;IACfC,aAAa;IACb9H,aAAa;IACb+H,aAAa;IACbC,OAAO;AACPC,IAAAA,eAAAA;AACF,GAAC,GAAGP,aAAa,CAAA;EACjB,MAAMQ,cAAc,GAAGR,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEvI,OAAO,CAAA;EAE7C,MAAM,CAACU,QAAQ,EAAEsI,WAAW,CAAC,GAAGxH,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACb,UAAU,EAAEsI,aAAa,CAAC,GAAGzH,cAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAACZ,cAAc,EAAEsI,iBAAiB,CAAC,GAAG1H,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAM2H,aAAa,GAAGC,oCAAoB,CAAC;AACzCC,IAAAA,WAAW,EAAEhJ,iBAAiB;IAC9BiJ,OAAO,EAAEb,cAAc,CAACa,OAAO;IAC/BC,WAAW,EAAEd,cAAc,CAACc,WAAAA;AAC9B,GAAC,CAAC,CAAA;;AAEF;AACA,EAAA,MAAMC,gBAAgB,GAAG1H,YAAM,CAAC,IAAI,CAAC,CAAA;AACrC2H,EAAAA,qBAAe,CAAC,MAAM;IACpB,IAAI,CAAAV,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEW,SAAS,OAAK1J,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAE0J,SAAS,CAAA,IAAIF,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,KAAAA,CAAAA,IAAAA,gBAAgB,CAAEG,OAAO,EAAE;AAAA,MAAA,IAAAC,qBAAA,CAAA;MACjF,CAAAA,qBAAA,GAAAJ,gBAAgB,CAACG,OAAO,MAAAC,IAAAA,IAAAA,qBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA0BC,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,QAAQ;AAAEC,QAAAA,MAAM,EAAE,QAAA;AAAS,OAAC,CAAC,CAAA;AACjF,KAAA;AACF,GAAC,EAAE,CAAChB,cAAc,EAAES,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEG,OAAO,CAAC,CAAC,CAAA;;AAE/C;AACAF,EAAAA,qBAAe,CAAC,MAAM;AACpB1B,IAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;GACjB,EAAE,CAACrH,QAAQ,EAAEV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAJ,kBAAA,GAAPI,OAAO,CAAE+G,SAAS,cAAAnH,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAA,CAAoBoH,MAAM,CAAC,CAAC,CAAA;;AAE1C;AACA,EAAA,MAAMgD,mBAAmB,GAAGlI,YAAM,CAAC,IAAI,CAAC,CAAA;EACxC,MAAM,CAACmI,eAAe,EAAEC,kBAAkB,CAAC,GAAG1I,cAAQ,CAAC,EAAE,CAAC,CAAA;EAC1D,MAAM,CAAC2I,cAAc,EAAEC,iBAAiB,CAAC,GAAG5I,cAAQ,CAAC,EAAE,CAAC,CAAA;EACxD,MAAM,CAAC6I,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG9I,cAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAAC+I,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGhJ,cAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,MAAM,CAACiJ,YAAY,EAAEC,eAAe,CAAC,GAAGlJ,cAAQ,CAAC,IAAI,CAAC,CAAA;EACtD,MAAM,CAACmJ,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGpJ,cAAQ,CAAC,EAAE,CAAC,CAAA;EACtE,MAAMqJ,2BAA2B,GAAG1C,QAAQ,IACvC/H,gBAAgB,IAChB6J,eAAe,CAACjD,MAAM,GAAG,CAAC,IAC1B,CAAC6B,OAAO,IACR,EAAEC,eAAe,IAAI,EAAEL,cAAc,CAACqC,MAAM,KAAKC,UAAI,CAACC,QAAQ,CAAC,CAAC,CAAA;EAErE,MAAMC,YAAY,GAAGC,uCAAmB,CAAC;AAAEjI,IAAAA,GAAG,EAAE+G,mBAAAA;AAAoB,GAAC,EAAE;AAAE3B,IAAAA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAClF,EAAA,MAAM8C,WAAW,GAAG,CAAAF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEjE,MAAM,KAAGoB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEgD,eAAe,CAAA,CAAA;AAEvEC,EAAAA,eAAS,CAAC,MAAM;AACdjB,IAAAA,iBAAiB,CAACD,cAAc,CAACmB,MAAM,CAACC,KAAA,IAAgB;MAAA,IAAf;AAAEzL,QAAAA,MAAAA;AAAO,OAAC,GAAAyL,KAAA,CAAA;AACjD,MAAA,MAAMC,CAAC,GAAGnB,gBAAgB,CAACoB,OAAO,CAAC3L,MAAM,CAAC,CAAA;MAC1C,IAAI0L,CAAC,GAAG,CAAC,EAAE;AACT,QAAA,OAAO,KAAK,CAAA;AACd,OAAC,MAAM;AACLnB,QAAAA,gBAAgB,CAACqB,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACF,KAAC,CAAC,CAAC,CAAA;AACL,GAAC,EAAE,CAACnB,gBAAgB,CAAC,CAAC,CAAA;;AAEtB;AACA,EAAA,MAAMpK,QAAQ,GAAG,EAAEyI,eAAe,KAAKiD,yCAAoB,CAACC,WAAW,CAAC,IACnE,CAACzD,QAAQ,IACTU,OAAO,IACPC,eAAe,CAAA;;AAEpB;AACA,EAAA,MAAM+C,kBAAkB,GAAGC,aAAO,CAAC,MAAM;AACvC,IAAA,IAAI,OAAOhE,qBAAqB,KAAK,UAAU,EAAE;AAC/C,MAAA,OAAOA,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,qBAAqB,CAAG;AAAE9H,QAAAA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAC7C,KAAA;AACF,GAAC,EAAE,CAACA,OAAO,EAAE8H,qBAAqB,CAAC,CAAC,CAAA;;AAEpC;AACA,EAAA,IAAIpH,QAAQ,IAAIV,OAAO,CAAC+L,aAAa,EAAE,EAAE;AACvC,IAAA,oBACEhJ,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAiJ,QAAA,EAEInB,IAAAA,EAAAA,2BAA2B,iBACzB9H,yBAAA,CAAAC,aAAA,CAACiJ,uCAAoB,EAAA;AACnBC,MAAAA,cAAc,EAAEjC,eAAgB;AAChCkC,MAAAA,UAAU,EAAE5B,iBAAAA;AACZ;AAAA;MACA6B,eAAe,EAAG1H,IAAI,IAAK;AACzB,QAAA,IAAIA,IAAI,EAAE;AACR0F,UAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAEzF,IAAI,CAAC,CAAC,CAAA;AAC9C,SAAA;QACAwF,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBQ,eAAe,CAAChG,IAAI,CAAC,CAAA;QACrB8F,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF6B,iBAAiB,EAAEA,MAAM;QACvB7B,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF8B,YAAY,EAAGC,KAAK,IAAK;QACvB3B,wBAAwB,CAAC2B,KAAK,CAAC,CAAA;OAC/B;AACFC,MAAAA,cAAc,EAAErB,WAAY;AAC5BC,MAAAA,eAAe,EAAEhD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEgD,eAAgB;AAC9CqB,MAAAA,kBAAkB,EAAErE,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEqE,kBAAAA;AAAmB,KAAA,CAEvD,eAEH1J,yBAAA,CAAAC,aAAA,CAAC0J,eAAY,EAAA;MACXC,MAAM,EAAA,IAAA;AACN1M,MAAAA,QAAQ,EAAEA,QAAS;AACnBgD,MAAAA,GAAG,EAAE+G,mBAAoB;AACzB4C,MAAAA,mBAAmB,EAAEnC,YAAa;AAClCrK,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCJ,MAAAA,OAAO,EAAEA,OAAQ;MACjB6M,aAAa,EAAEA,MAAM;AAAA,QAAA,IAAAC,qBAAA,CAAA;AACnBrE,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAqE,qBAAA,GAAdrE,cAAc,CAAEsE,WAAW,MAAAD,IAAAA,IAAAA,qBAAA,uBAA3BA,qBAAA,CAAAE,IAAA,CAAAvE,cAAc,CAAiB,CAAA;OAC/B;MACFwE,eAAe,EAAEC,KAAA,IAA6C;AAAA,QAAA,IAAAC,qBAAA,CAAA;QAAA,IAA5C;UAAEzD,SAAS;UAAE1J,OAAO;AAAEoN,UAAAA,eAAAA;AAAgB,SAAC,GAAAF,KAAA,CAAA;AACvDvE,QAAAA,aAAa,CAAC;UACZe,SAAS;UACT1J,OAAO;UACPmK,cAAc;AACdiD,UAAAA,eAAAA;AACF,SAAC,CAAC,CAAA;QACFpE,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBP,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA0E,qBAAA,GAAd1E,cAAc,CAAE4E,SAAS,MAAAF,IAAAA,IAAAA,qBAAA,uBAAzBA,qBAAA,CAAAH,IAAA,CAAAvE,cAAc,CAAe,CAAA;OAC7B;MACF6E,YAAY,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAClBrD,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBE,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACrBE,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACvBM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC5B5B,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBP,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA8E,sBAAA,GAAd9E,cAAc,CAAE4E,SAAS,MAAAE,IAAAA,IAAAA,sBAAA,uBAAzBA,sBAAA,CAAAP,IAAA,CAAAvE,cAAc,CAAe,CAAA;OAC7B;MACF+E,eAAe,EAAG9I,IAAI,IAAK;AACzB,QAAA,IAAI,CAAA+F,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAE3K,MAAM,OAAK4E,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE5E,MAAM,CAAE,EAAA;UACzC4K,eAAe,CAAC,IAAI,CAAC,CAAA;UACrBR,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,SAAA;OACA;MACFuD,qBAAqB,EAAGC,WAAW,IAAK;QACtCxD,kBAAkB,CAACwD,WAAW,CAAC,CAAA;OAC/B;MACFC,yBAAyB,EAAGC,OAAO,IAAK;QACtCtD,mBAAmB,CAACsD,OAAO,CAAC,CAAA;OAC5B;MACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,QAAA,IAAIjD,2BAA2B,IAAI,CAAAF,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAE3D,MAAM,IAAG,CAAC,KAC7D8G,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACC,KAAK,IAAI9C,WAAW,IAAK2C,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACG,SAAS,CAAC,EACpI;UACA3D,oBAAoB,CAACsD,CAAC,CAAC,CAAA;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AACA,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAAE,KAAA,CACF,CACD,CAAA;AAEP,GAAA;EAEA,oBACE/K,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAEuG,gBAAiB;IACtB3J,SAAS,EAAG,6BAA4BA,SAAU,CAAA,CAAA;GAIhDgI,EAAAA,YAAY,KAAI7H,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEqH,SAAS,CAAKwE,KAAAA,kBAAkB,iBACvD9I,yBAAA,CAAAC,aAAA,CAACoL,gBAAa,qBACZrL,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;IACJC,IAAI,EAAEC,wBAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;GAElB2B,EAAAA,cAAM,CAACpH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEqH,SAAS,EAAE,cAAc,EAAE;AAAEC,IAAAA,MAAM,EAAElG,UAAAA;GAAY,CAAC,CAC7D,CAEX,CAAC,eAEJ2B,yBAAA,CAAAC,aAAA,CAACzD,qBAAqB,EAAA;AACpBO,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAE0I,cAAe;AACxBzI,IAAAA,OAAO,EAAEA,OAAQ;AACjBE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBE,IAAAA,iBAAiB,EAAE8I,aAAc;AACjC/I,IAAAA,gBAAgB,EAAEA,gBAAiB;IACnCE,mBAAmB,EAAA,IAAA;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BI,IAAAA,aAAa,EAAEA,aAAc;AAC7BF,IAAAA,UAAU,EAAEsI,aAAc;AAC1BrI,IAAAA,cAAc,EAAEsI,iBAAkB;AAClCpI,IAAAA,cAAc,EAAEA,cAAe;AAC/BJ,IAAAA,QAAQ,EAAEsI,WAAAA;AAAY,GAAA,CACtB,EAEDrI,UAAU,iBACToC,yBAAA,CAAAC,aAAA,CAACqL,gCAAa,EAAA;AACZrO,IAAAA,OAAO,EAAEA,OAAQ;AACjBsO,IAAAA,QAAQ,EAAEA,MAAMrF,aAAa,CAAC,KAAK,CAAA;AAAE,GAAA,CAExC,EACArI,cAAc,iBACbmC,yBAAA,CAAAC,aAAA,CAACuL,wBAAU,EAAA;AACTvO,IAAAA,OAAO,EAAEA,OAAuB;AAChC+B,IAAAA,MAAM,EAAE,CAAA/B,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA6D,eAAA,GAAP7D,OAAO,CAAEgC,MAAM,cAAA6B,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiB/D,MAAM,MAAKA,MAAO;AAC3C0O,IAAAA,OAAO,EAAEA,MAAMtF,iBAAiB,CAAC,KAAK,CAAE;IACxCuF,QAAQ,EAAEA,MAAM;MACd7F,aAAa,CAAC5I,OAAO,CAAC,CAAA;MACtBkJ,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC1B,KAAA;AAAE,GAAA,CAEL,CACG,CAAA;AAEV;;;;"}
@@ -1,111 +1,123 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-43854eb1.js');
4
3
  var React = require('react');
5
- var SendbirdChat = require('@sendbird/chat');
6
4
  var groupChannel = require('@sendbird/chat/groupChannel');
7
5
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
8
6
  var ui_MessageInput = require('../../ui/MessageInput.js');
9
- var _const = require('../../const-db71e993.js');
7
+ var _const = require('../../const-3ab3e45c.js');
10
8
  var Channel_components_SuggestedMentionList = require('../../Channel/components/SuggestedMentionList.js');
11
- var Thread_context = require('../../ThreadProvider-d3c0c877.js');
12
- var LocalizationContext = require('../../LocalizationContext-2b3f310d.js');
9
+ var Thread_context = require('../../ThreadProvider-3ff0ff63.js');
10
+ var LocalizationContext = require('../../LocalizationContext-b42fa07d.js');
11
+ var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-6e1d03d7.js');
12
+ var types = require('../../types-31174fcc.js');
13
+ var useDirtyGetMentions = require('../../useDirtyGetMentions-97c6e05a.js');
14
+ var Channel_context = require('../../ChannelProvider-2bfafa25.js');
13
15
  require('../../withSendbird.js');
14
- require('../../_rollupPluginBabelHelpers-a7254c9d.js');
15
- require('react-dom/server');
16
+ require('../../_rollupPluginBabelHelpers-3a9d1641.js');
16
17
  require('prop-types');
17
- require('../../const-55d167ca.js');
18
+ require('../../const-68cf2709.js');
18
19
  require('../../ui/IconButton.js');
19
20
  require('../../ui/Button.js');
20
- require('../../index-d6ef2a60.js');
21
- require('../../stringSet-91b919f6.js');
22
- require('../../ui/MentionUserLabel.js');
21
+ require('../../index-72e412f7.js');
22
+ require('../../stringSet-4f30313f.js');
23
+ require('dompurify');
24
+ require('../../consts-bb2a67c7.js');
23
25
  require('../../ui/Icon.js');
24
- require('../../index-21b2339d.js');
26
+ require('../../index-0b8a1074.js');
25
27
  require('../../utils/message/getOutgoingMessageState.js');
26
- require('../../index-de151767.js');
28
+ require('../../consts-ad8ba629.js');
29
+ require('../../consts-26d4668c.js');
30
+ require('../../tokenize-e944d548.js');
31
+ require('../../index-97005534.js');
27
32
  require('../../ui/Avatar.js');
28
33
  require('../../ui/ImageRenderer.js');
29
- require('../../uuid-11d4efe8.js');
30
- require('../../ChannelProvider-cf5dc7e3.js');
31
- require('../../UserProfileContext-9d60cdc4.js');
32
- require('../../index-73467e1d.js');
33
- require('../../topics-ac9cf7ed.js');
34
- require('../../compareIds-ca869c2e.js');
34
+ require('../../uuid-5ab4f88b.js');
35
+ require('../../UserProfileContext-c87514d3.js');
36
+ require('../../index-849f44b0.js');
37
+ require('../../topics-3226c6ee.js');
38
+ require('../../compareIds-a7029d6a.js');
35
39
  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('../../consts-f71467c8.js');
40
41
  require('../context/types.js');
42
+ require('@sendbird/chat');
43
+ require('../../VoicePlayer/useVoicePlayer.js');
44
+ require('../../index-cb1d7ac4.js');
45
+ require('../../VoiceRecorder/context.js');
46
+ require('../../VoiceRecorder/useVoiceRecorder.js');
47
+ require('../../index-9b23b5c2.js');
48
+ require('../../ui/PlaybackTime.js');
49
+ require('../../ui/ProgressBar.js');
50
+ require('../../ui/TextButton.js');
51
+ require('../../color-a4e73e6f.js');
52
+ require('../../ui/Modal.js');
53
+ require('react-dom');
54
+ require('../../index-e8b83547.js');
55
+ require('../../MediaQueryContext-372b55a6.js');
41
56
 
42
57
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
43
58
 
44
59
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
60
 
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
-
61
+ const ThreadMessageInput = (props, ref) => {
62
+ const {
63
+ className,
64
+ renderFileUploadIcon,
65
+ renderVoiceMessageIcon,
66
+ renderSendMessageIcon
67
+ } = props;
68
+ const propsDisabled = props.disabled;
69
+ const {
70
+ config
71
+ } = useSendbirdStateContext();
72
+ const {
73
+ stringSet
74
+ } = LocalizationContext.useLocalization();
75
+ const {
76
+ isMentionEnabled,
77
+ isOnline,
78
+ userMention,
79
+ isVoiceMessageEnabled,
80
+ logger
81
+ } = config;
82
+ const {
83
+ currentChannel,
84
+ parentMessage,
85
+ sendMessage,
86
+ sendFileMessage,
87
+ sendVoiceMessage,
88
+ isMuted,
89
+ isChannelFrozen,
90
+ allThreadMessages
91
+ } = Thread_context.useThreadContext();
92
+ const messageInputRef = React.useRef();
93
+ const disabled = propsDisabled || isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && isChannelFrozen || parentMessage === null;
94
+
95
+ // mention
96
+ const [mentionNickname, setMentionNickname] = React.useState('');
97
+ const [mentionedUsers, setMentionedUsers] = React.useState([]);
98
+ const [mentionedUserIds, setMentionedUserIds] = React.useState([]);
99
+ const [selectedUser, setSelectedUser] = React.useState(null);
100
+ const [mentionSuggestedUsers, setMentionSuggestedUsers] = React.useState([]);
101
+ const [messageInputEvent, setMessageInputEvent] = React.useState(null);
102
+ const [showVoiceMessageInput, setShowVoiceMessageInput] = React.useState(false);
103
+ const displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0 && !Channel_context.isDisabledBecauseFrozen(currentChannel) && !Channel_context.isDisabledBecauseMuted(currentChannel) && !(currentChannel !== null && currentChannel !== void 0 && currentChannel.isBroadcast);
104
+
105
+ // Reset when changing channel
106
+ React.useEffect(() => {
107
+ setShowVoiceMessageInput(false);
108
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
109
+ const mentionNodes = useDirtyGetMentions.useDirtyGetMentions({
110
+ ref: ref || messageInputRef
111
+ }, {
112
+ logger
113
+ });
114
+ const ableMention = (mentionNodes === null || mentionNodes === void 0 ? void 0 : mentionNodes.length) < (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount);
115
+ React.useEffect(() => {
116
+ setMentionedUsers(mentionedUsers.filter(_ref => {
117
+ let {
118
+ userId
119
+ } = _ref;
120
+ const i = mentionedUserIds.indexOf(userId);
109
121
  if (i < 0) {
110
122
  return false;
111
123
  } else {
@@ -114,85 +126,104 @@ var ThreadMessageInput = function (props, ref) {
114
126
  }
115
127
  }));
116
128
  }, [mentionedUserIds]);
129
+ if (currentChannel !== null && currentChannel !== void 0 && currentChannel.isBroadcast && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) !== types.Role.OPERATOR) {
130
+ return null;
131
+ }
117
132
  return /*#__PURE__*/React__default["default"].createElement("div", {
118
- className: "sendbird-thread-message-input ".concat(className)
133
+ className: `sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`
119
134
  }, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
120
135
  targetNickname: mentionNickname,
121
- inputEvent: messageInputEvent // renderUserMentionItem={renderUserMentionItem}
136
+ inputEvent: messageInputEvent
137
+ // renderUserMentionItem={renderUserMentionItem}
122
138
  ,
123
- onUserItemClick: function (user) {
139
+ onUserItemClick: user => {
124
140
  if (user) {
125
- setMentionedUsers(tslib_es6.__spreadArray(tslib_es6.__spreadArray([], mentionedUsers, true), [user], false));
141
+ setMentionedUsers([...mentionedUsers, user]);
126
142
  }
127
-
128
143
  setMentionNickname('');
129
144
  setSelectedUser(user);
130
145
  setMessageInputEvent(null);
131
146
  },
132
- onFocusItemChange: function () {
147
+ onFocusItemChange: () => {
133
148
  setMessageInputEvent(null);
134
149
  },
135
- onFetchUsers: function (users) {
150
+ onFetchUsers: users => {
136
151
  setMentionSuggestedUsers(users);
137
152
  },
138
153
  ableAddMention: ableMention,
139
154
  maxMentionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount,
140
155
  maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
141
- }), /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
156
+ }), showVoiceMessageInput ? /*#__PURE__*/React__default["default"].createElement(VoiceMessageInputWrapper.VoiceMessageInputWrapper, {
157
+ channel: currentChannel,
158
+ onSubmitClick: (recordedFile, duration) => {
159
+ sendVoiceMessage(recordedFile, duration, parentMessage);
160
+ setShowVoiceMessageInput(false);
161
+ },
162
+ onCancelClick: () => {
163
+ setShowVoiceMessageInput(false);
164
+ }
165
+ }) : /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
142
166
  className: "sendbird-thread-message-input__message-input",
143
167
  messageFieldId: "sendbird-message-input-text-field--thread",
144
168
  disabled: disabled,
169
+ channel: currentChannel,
170
+ setMentionedUsers: setMentionedUsers,
145
171
  channelUrl: currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url,
146
172
  mentionSelectedUser: selectedUser,
147
173
  isMentionEnabled: isMentionEnabled,
174
+ isVoiceMessageEnabled: isVoiceMessageEnabled,
175
+ onVoiceMessageIconClick: () => {
176
+ setShowVoiceMessageInput(true);
177
+ },
178
+ renderFileUploadIcon: renderFileUploadIcon,
179
+ renderVoiceMessageIcon: renderVoiceMessageIcon,
180
+ renderSendMessageIcon: renderSendMessageIcon,
148
181
  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);
182
+ placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.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),
183
+ onStartTyping: () => {
184
+ var _currentChannel$start;
185
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$start = currentChannel.startTyping) === null || _currentChannel$start === void 0 ? void 0 : _currentChannel$start.call(currentChannel);
154
186
  },
155
- onSendMessage: function (_a) {
156
- var _b;
157
-
158
- var message = _a.message,
159
- mentionTemplate = _a.mentionTemplate;
187
+ onSendMessage: _ref2 => {
188
+ var _currentChannel$endTy;
189
+ let {
190
+ message,
191
+ mentionTemplate
192
+ } = _ref2;
160
193
  sendMessage({
161
194
  message: message,
162
- mentionedUsers: mentionedUsers,
195
+ mentionedUsers,
163
196
  mentionTemplate: mentionTemplate,
164
197
  quoteMessage: parentMessage
165
198
  });
166
199
  setMentionNickname('');
167
200
  setMentionedUsers([]);
168
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.endTyping) === null || _b === void 0 ? void 0 : _b.call(currentChannel);
201
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$endTy = currentChannel.endTyping) === null || _currentChannel$endTy === void 0 ? void 0 : _currentChannel$endTy.call(currentChannel);
169
202
  },
170
- onFileUpload: function (file) {
203
+ onFileUpload: file => {
171
204
  sendFileMessage(file, parentMessage);
172
205
  },
173
- onUserMentioned: function (user) {
206
+ onUserMentioned: user => {
174
207
  if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
175
208
  setSelectedUser(null);
176
209
  setMentionNickname('');
177
210
  }
178
211
  },
179
- onMentionStringChange: function (mentionText) {
212
+ onMentionStringChange: mentionText => {
180
213
  setMentionNickname(mentionText);
181
214
  },
182
- onMentionedUserIdsUpdated: function (userIds) {
215
+ onMentionedUserIdsUpdated: userIds => {
183
216
  setMentionedUserIds(userIds);
184
217
  },
185
- onKeyDown: function (e) {
218
+ onKeyDown: e => {
186
219
  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
220
  setMessageInputEvent(e);
188
221
  return true;
189
222
  }
190
-
191
223
  return false;
192
224
  }
193
225
  }));
194
226
  };
195
-
196
227
  var ThreadMessageInput$1 = /*#__PURE__*/React__default["default"].forwardRef(ThreadMessageInput);
197
228
 
198
229
  module.exports = ThreadMessageInput$1;