@sendbird/uikit-react 3.6.11-beta.2 → 3.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. package/App.js +272 -345
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +134 -0
  4. package/Channel/components/ChannelHeader.js +45 -50
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +76 -77
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +53 -58
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +9 -12
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +198 -176
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +137 -130
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +171 -161
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +40 -41
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +156 -136
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +47 -48
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +17 -18
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +17 -17
  27. package/Channel/utils/compareMessagesForGrouping.js +11 -11
  28. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  29. package/Channel/utils/getMessagePartsInfo.js +32 -26
  30. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  31. package/Channel.js +54 -51
  32. package/Channel.js.map +1 -1
  33. package/ChannelList/components/AddChannel.js +32 -30
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +22 -31
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +93 -88
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +79 -75
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +85 -91
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +38 -35
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelListProvider-f520f5b3.js +1051 -0
  48. package/ChannelListProvider-f520f5b3.js.map +1 -0
  49. package/ChannelProvider-7f6fd1f8.js +2080 -0
  50. package/ChannelProvider-7f6fd1f8.js.map +1 -0
  51. package/ChannelSettings/components/ChannelProfile.js +42 -37
  52. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  53. package/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  54. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  55. package/ChannelSettings/components/EditDetailsModal.js +54 -52
  56. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  57. package/ChannelSettings/components/LeaveChannel.js +39 -41
  58. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  59. package/ChannelSettings/components/ModerationPanel.js +552 -509
  60. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  61. package/ChannelSettings/components/UserListItem.js +66 -66
  62. package/ChannelSettings/components/UserListItem.js.map +1 -1
  63. package/ChannelSettings/components/UserPanel.js +29 -26
  64. package/ChannelSettings/components/UserPanel.js.map +1 -1
  65. package/ChannelSettings/context.js +52 -57
  66. package/ChannelSettings/context.js.map +1 -1
  67. package/ChannelSettings.js +20 -19
  68. package/ChannelSettings.js.map +1 -1
  69. package/CreateChannel/components/CreateChannelUI.js +23 -25
  70. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  71. package/CreateChannel/components/InviteUsers.js +106 -102
  72. package/CreateChannel/components/InviteUsers.js.map +1 -1
  73. package/CreateChannel/components/SelectChannelType.js +38 -43
  74. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  75. package/CreateChannel/context.js +4 -4
  76. package/CreateChannel.js +22 -23
  77. package/CreateChannel.js.map +1 -1
  78. package/CreateChannelProvider-c25dd81b.js +48 -0
  79. package/{CreateChannelProvider-a2fad282.js.map → CreateChannelProvider-c25dd81b.js.map} +1 -1
  80. package/CreateOpenChannel/components/CreateOpenChannelUI.js +38 -36
  81. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  82. package/CreateOpenChannel/context.js +29 -34
  83. package/CreateOpenChannel/context.js.map +1 -1
  84. package/CreateOpenChannel.js +20 -21
  85. package/CreateOpenChannel.js.map +1 -1
  86. package/EditUserProfile/components/EditUserProfileUI.js +152 -21
  87. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  88. package/EditUserProfile/context.js +13 -13
  89. package/EditUserProfile/context.js.map +1 -1
  90. package/EditUserProfile.js +19 -19
  91. package/EditUserProfile.js.map +1 -1
  92. package/LocalizationContext-d18a86d8.js +20 -0
  93. package/{LocalizationContext-2463058b.js.map → LocalizationContext-d18a86d8.js.map} +1 -1
  94. package/MediaQueryContext-3eeeec4f.js +85 -0
  95. package/MediaQueryContext-3eeeec4f.js.map +1 -0
  96. package/MemberList-469dae9b.js +422 -0
  97. package/{MemberList-593867cb.js.map → MemberList-469dae9b.js.map} +1 -1
  98. package/Message/context.js +11 -12
  99. package/Message/context.js.map +1 -1
  100. package/Message/hooks/useDirtyGetMentions.js +21 -26
  101. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  102. package/MessageSearch/components/MessageSearchUI.js +56 -61
  103. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  104. package/MessageSearch/context.js +166 -177
  105. package/MessageSearch/context.js.map +1 -1
  106. package/MessageSearch.js +49 -47
  107. package/MessageSearch.js.map +1 -1
  108. package/OpenChannel/components/FrozenChannelNotification.js +6 -8
  109. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelHeader.js +22 -27
  111. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  112. package/OpenChannel/components/OpenChannelInput.js +32 -35
  113. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  114. package/OpenChannel/components/OpenChannelMessage.js +170 -171
  115. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  116. package/OpenChannel/components/OpenChannelMessageList.js +70 -64
  117. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  118. package/OpenChannel/components/OpenChannelUI.js +53 -54
  119. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  120. package/OpenChannel/context.js +8 -9
  121. package/OpenChannel/context.js.map +1 -1
  122. package/OpenChannel.js +37 -35
  123. package/OpenChannel.js.map +1 -1
  124. package/OpenChannelList/components/OpenChannelListUI.js +63 -61
  125. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  126. package/OpenChannelList/components/OpenChannelPreview.js +22 -21
  127. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  128. package/OpenChannelList/context.js +3 -3
  129. package/OpenChannelList.js +27 -27
  130. package/OpenChannelList.js.map +1 -1
  131. package/{OpenChannelListProvider-a0a09f0b.js → OpenChannelListProvider-24e735a1.js} +156 -178
  132. package/{OpenChannelListProvider-a0a09f0b.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
  133. package/OpenChannelProvider-e9cb0f98.js +1850 -0
  134. package/{OpenChannelProvider-3e4b8c8e.js.map → OpenChannelProvider-e9cb0f98.js.map} +1 -1
  135. package/OpenChannelSettings/components/EditDetailsModal.js +52 -51
  136. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  137. package/OpenChannelSettings/components/OpenChannelProfile.js +30 -29
  138. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  139. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -47
  140. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  141. package/OpenChannelSettings/components/OperatorUI.js +550 -518
  142. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  143. package/OpenChannelSettings/components/ParticipantUI.js +16 -15
  144. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  145. package/OpenChannelSettings/context.js +58 -57
  146. package/OpenChannelSettings/context.js.map +1 -1
  147. package/OpenChannelSettings.js +20 -19
  148. package/OpenChannelSettings.js.map +1 -1
  149. package/README.md +4 -4
  150. package/RemoveMessageModal-f0cd37a5.js +33 -0
  151. package/RemoveMessageModal-f0cd37a5.js.map +1 -0
  152. package/SendbirdProvider.js +726 -690
  153. package/SendbirdProvider.js.map +1 -1
  154. package/Thread/components/ParentMessageInfo.js +194 -181
  155. package/Thread/components/ParentMessageInfo.js.map +1 -1
  156. package/Thread/components/ParentMessageInfoItem.js +86 -79
  157. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  158. package/Thread/components/ThreadHeader.js +22 -22
  159. package/Thread/components/ThreadHeader.js.map +1 -1
  160. package/Thread/components/ThreadList.js +126 -94
  161. package/Thread/components/ThreadList.js.map +1 -1
  162. package/Thread/components/ThreadListItem.js +260 -241
  163. package/Thread/components/ThreadListItem.js.map +1 -1
  164. package/Thread/components/ThreadMessageInput.js +121 -120
  165. package/Thread/components/ThreadMessageInput.js.map +1 -1
  166. package/Thread/components/ThreadUI.js +128 -144
  167. package/Thread/components/ThreadUI.js.map +1 -1
  168. package/Thread/context/types.js +9 -9
  169. package/Thread/context/types.js.map +1 -1
  170. package/Thread/context.js +1678 -19
  171. package/Thread/context.js.map +1 -1
  172. package/Thread.js +76 -73
  173. package/Thread.js.map +1 -1
  174. package/UserProfileContext-26e71f9a.js +34 -0
  175. package/UserProfileContext-26e71f9a.js.map +1 -0
  176. package/VoicePlayer/context.js +3 -3
  177. package/VoicePlayer/useVoicePlayer.js +52 -46
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  179. package/VoiceRecorder/context.js +68 -64
  180. package/VoiceRecorder/context.js.map +1 -1
  181. package/VoiceRecorder/useVoiceRecorder.js +50 -52
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  183. package/{WebAudioUtils-f9386235.js → WebAudioUtils-dbb010a5.js} +38 -38
  184. package/{WebAudioUtils-f9386235.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
  185. package/{_rollupPluginBabelHelpers-50c9576f.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
  186. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
  187. package/{actionTypes-501b8c11.js → actionTypes-3cd49b5c.js} +2 -2
  188. package/{actionTypes-501b8c11.js.map → actionTypes-3cd49b5c.js.map} +1 -1
  189. package/cjs/App.js +270 -344
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +44 -49
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +79 -80
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +52 -57
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +9 -12
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +197 -175
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +136 -129
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +173 -163
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +41 -42
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +155 -135
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +46 -47
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +17 -18
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +17 -17
  214. package/cjs/Channel/utils/compareMessagesForGrouping.js +11 -11
  215. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  216. package/cjs/Channel/utils/getMessagePartsInfo.js +32 -26
  217. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  218. package/cjs/Channel.js +54 -51
  219. package/cjs/Channel.js.map +1 -1
  220. package/cjs/ChannelList/components/AddChannel.js +31 -29
  221. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  222. package/cjs/ChannelList/components/ChannelListHeader.js +21 -30
  223. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  224. package/cjs/ChannelList/components/ChannelListUI.js +96 -91
  225. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  226. package/cjs/ChannelList/components/ChannelPreview.js +78 -74
  227. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  228. package/cjs/ChannelList/components/ChannelPreviewAction.js +84 -91
  229. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  230. package/cjs/ChannelList/context.js +9 -10
  231. package/cjs/ChannelList/context.js.map +1 -1
  232. package/cjs/ChannelList.js +38 -35
  233. package/cjs/ChannelList.js.map +1 -1
  234. package/cjs/ChannelListProvider-a418de2e.js +1060 -0
  235. package/cjs/ChannelListProvider-a418de2e.js.map +1 -0
  236. package/cjs/ChannelProvider-7fa98120.js +2088 -0
  237. package/cjs/ChannelProvider-7fa98120.js.map +1 -0
  238. package/cjs/ChannelSettings/components/ChannelProfile.js +41 -36
  239. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  240. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  241. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  242. package/cjs/ChannelSettings/components/EditDetailsModal.js +54 -52
  243. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  244. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -40
  245. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  246. package/cjs/ChannelSettings/components/ModerationPanel.js +559 -516
  247. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  248. package/cjs/ChannelSettings/components/UserListItem.js +66 -66
  249. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  250. package/cjs/ChannelSettings/components/UserPanel.js +29 -26
  251. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  252. package/cjs/ChannelSettings/context.js +51 -56
  253. package/cjs/ChannelSettings/context.js.map +1 -1
  254. package/cjs/ChannelSettings.js +20 -19
  255. package/cjs/ChannelSettings.js.map +1 -1
  256. package/cjs/CreateChannel/components/CreateChannelUI.js +23 -25
  257. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  258. package/cjs/CreateChannel/components/InviteUsers.js +106 -102
  259. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  260. package/cjs/CreateChannel/components/SelectChannelType.js +37 -42
  261. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  262. package/cjs/CreateChannel/context.js +4 -4
  263. package/cjs/CreateChannel.js +22 -23
  264. package/cjs/CreateChannel.js.map +1 -1
  265. package/cjs/CreateChannelProvider-70c9cb7c.js +55 -0
  266. package/cjs/{CreateChannelProvider-8b8a557c.js.map → CreateChannelProvider-70c9cb7c.js.map} +1 -1
  267. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +39 -37
  268. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  269. package/cjs/CreateOpenChannel/context.js +28 -33
  270. package/cjs/CreateOpenChannel/context.js.map +1 -1
  271. package/cjs/CreateOpenChannel.js +20 -21
  272. package/cjs/CreateOpenChannel.js.map +1 -1
  273. package/cjs/EditUserProfile/components/EditUserProfileUI.js +153 -22
  274. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  275. package/cjs/EditUserProfile/context.js +13 -13
  276. package/cjs/EditUserProfile/context.js.map +1 -1
  277. package/cjs/EditUserProfile.js +21 -21
  278. package/cjs/EditUserProfile.js.map +1 -1
  279. package/cjs/{LocalizationContext-482c1343.js → LocalizationContext-5009012e.js} +9 -9
  280. package/cjs/{LocalizationContext-482c1343.js.map → LocalizationContext-5009012e.js.map} +1 -1
  281. package/cjs/MediaQueryContext-d6fdbe43.js +92 -0
  282. package/cjs/MediaQueryContext-d6fdbe43.js.map +1 -0
  283. package/cjs/MemberList-529a0086.js +428 -0
  284. package/cjs/{MemberList-26b8de48.js.map → MemberList-529a0086.js.map} +1 -1
  285. package/cjs/Message/context.js +11 -12
  286. package/cjs/Message/context.js.map +1 -1
  287. package/cjs/Message/hooks/useDirtyGetMentions.js +21 -26
  288. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  289. package/cjs/MessageSearch/components/MessageSearchUI.js +60 -65
  290. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  291. package/cjs/MessageSearch/context.js +165 -176
  292. package/cjs/MessageSearch/context.js.map +1 -1
  293. package/cjs/MessageSearch.js +49 -47
  294. package/cjs/MessageSearch.js.map +1 -1
  295. package/cjs/OpenChannel/components/FrozenChannelNotification.js +6 -8
  296. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  297. package/cjs/OpenChannel/components/OpenChannelHeader.js +22 -27
  298. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  299. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -35
  300. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  301. package/cjs/OpenChannel/components/OpenChannelMessage.js +169 -170
  302. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  303. package/cjs/OpenChannel/components/OpenChannelMessageList.js +69 -63
  304. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  305. package/cjs/OpenChannel/components/OpenChannelUI.js +56 -57
  306. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  307. package/cjs/OpenChannel/context.js +8 -9
  308. package/cjs/OpenChannel/context.js.map +1 -1
  309. package/cjs/OpenChannel.js +37 -35
  310. package/cjs/OpenChannel.js.map +1 -1
  311. package/cjs/OpenChannelList/components/OpenChannelListUI.js +66 -64
  312. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  313. package/cjs/OpenChannelList/components/OpenChannelPreview.js +22 -21
  314. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  315. package/cjs/OpenChannelList/context.js +3 -3
  316. package/cjs/OpenChannelList.js +27 -27
  317. package/cjs/OpenChannelList.js.map +1 -1
  318. package/cjs/OpenChannelListProvider-0b8cd3bf.js +416 -0
  319. package/cjs/{OpenChannelListProvider-2e3ee48d.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
  320. package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
  321. package/cjs/{OpenChannelProvider-8577ea58.js.map → OpenChannelProvider-d8cc11fe.js.map} +1 -1
  322. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +53 -52
  323. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +29 -28
  325. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +40 -48
  327. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/components/OperatorUI.js +557 -525
  329. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  330. package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -15
  331. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  332. package/cjs/OpenChannelSettings/context.js +57 -56
  333. package/cjs/OpenChannelSettings/context.js.map +1 -1
  334. package/cjs/OpenChannelSettings.js +20 -19
  335. package/cjs/OpenChannelSettings.js.map +1 -1
  336. package/cjs/RemoveMessageModal-f029d40e.js +39 -0
  337. package/cjs/RemoveMessageModal-f029d40e.js.map +1 -0
  338. package/cjs/SendbirdProvider.js +733 -693
  339. package/cjs/SendbirdProvider.js.map +1 -1
  340. package/cjs/Thread/components/ParentMessageInfo.js +193 -180
  341. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  342. package/cjs/Thread/components/ParentMessageInfoItem.js +86 -79
  343. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  344. package/cjs/Thread/components/ThreadHeader.js +22 -22
  345. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  346. package/cjs/Thread/components/ThreadList.js +125 -93
  347. package/cjs/Thread/components/ThreadList.js.map +1 -1
  348. package/cjs/Thread/components/ThreadListItem.js +263 -244
  349. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  350. package/cjs/Thread/components/ThreadMessageInput.js +120 -119
  351. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  352. package/cjs/Thread/components/ThreadUI.js +134 -150
  353. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  354. package/cjs/Thread/context/types.js +9 -13
  355. package/cjs/Thread/context/types.js.map +1 -1
  356. package/cjs/Thread/context.js +1680 -21
  357. package/cjs/Thread/context.js.map +1 -1
  358. package/cjs/Thread.js +76 -73
  359. package/cjs/Thread.js.map +1 -1
  360. package/cjs/UserProfileContext-922a43ec.js +41 -0
  361. package/cjs/UserProfileContext-922a43ec.js.map +1 -0
  362. package/cjs/VoicePlayer/context.js +3 -3
  363. package/cjs/VoicePlayer/useVoicePlayer.js +52 -46
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  365. package/cjs/VoiceRecorder/context.js +67 -63
  366. package/cjs/VoiceRecorder/context.js.map +1 -1
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +49 -51
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  369. package/cjs/{WebAudioUtils-142344fd.js → WebAudioUtils-29717597.js} +38 -38
  370. package/cjs/{WebAudioUtils-142344fd.js.map → WebAudioUtils-29717597.js.map} +1 -1
  371. package/cjs/{_rollupPluginBabelHelpers-83d7e84b.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
  372. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
  373. package/cjs/{actionTypes-1d118952.js → actionTypes-7fa02f94.js} +2 -2
  374. package/cjs/{actionTypes-1d118952.js.map → actionTypes-7fa02f94.js.map} +1 -1
  375. package/cjs/{color-d83b77ac.js → color-477ddbd4.js} +12 -13
  376. package/cjs/color-477ddbd4.js.map +1 -0
  377. package/cjs/{compareIds-bef997cb.js → compareIds-de541666.js} +7 -6
  378. package/cjs/compareIds-de541666.js.map +1 -0
  379. package/cjs/{const-1726bde0.js → const-640252c1.js} +4 -4
  380. package/cjs/{const-1726bde0.js.map → const-640252c1.js.map} +1 -1
  381. package/cjs/const-9def5c09.js +19 -0
  382. package/cjs/{const-67ff9e34.js.map → const-9def5c09.js.map} +1 -1
  383. package/cjs/consts-54f5c12d.js +6 -0
  384. package/cjs/consts-54f5c12d.js.map +1 -0
  385. package/cjs/consts-85cd42fa.js +6 -0
  386. package/cjs/{consts-bf228385.js.map → consts-85cd42fa.js.map} +1 -1
  387. package/cjs/{consts-fb07c671.js → consts-95462b21.js} +18 -25
  388. package/cjs/{consts-fb07c671.js.map → consts-95462b21.js.map} +1 -1
  389. package/cjs/consts-a3b7ae99.js +6 -0
  390. package/cjs/{consts-d3b53f23.js.map → consts-a3b7ae99.js.map} +1 -1
  391. package/cjs/{context-bd2878ff.js → context-9814fafe.js} +5 -6
  392. package/cjs/{context-bd2878ff.js.map → context-9814fafe.js.map} +1 -1
  393. package/cjs/dist/index.css +110 -95
  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/hooks/useModal.js +84 -0
  398. package/cjs/hooks/useModal.js.map +1 -0
  399. package/cjs/{index-81baccd0.js → index-0a25b9b2.js} +166 -154
  400. package/cjs/index-0a25b9b2.js.map +1 -0
  401. package/cjs/index-0ec5a831.js +308 -0
  402. package/cjs/{index-1f6b30ea.js.map → index-0ec5a831.js.map} +1 -1
  403. package/cjs/{index-18720f0d.js → index-35820a94.js} +2 -2
  404. package/cjs/{index-18720f0d.js.map → index-35820a94.js.map} +1 -1
  405. package/cjs/index-609b07a2.js +7 -0
  406. package/cjs/index-609b07a2.js.map +1 -0
  407. package/cjs/index-6b0644d7.js +369 -0
  408. package/cjs/index-6b0644d7.js.map +1 -0
  409. package/cjs/{index-857630c5.js → index-7b0c6630.js} +104 -114
  410. package/cjs/index-7b0c6630.js.map +1 -0
  411. package/cjs/index-80a11b6a.js +197 -0
  412. package/cjs/{index-6ab9a40d.js.map → index-80a11b6a.js.map} +1 -1
  413. package/cjs/{index-4eb7e2b5.js → index-826b76d5.js} +2 -4
  414. package/cjs/index-826b76d5.js.map +1 -0
  415. package/cjs/{index-11f9cc0f.js → index-83d2aed9.js} +3 -12
  416. package/cjs/index-83d2aed9.js.map +1 -0
  417. package/cjs/index-aeb36f01.js +173 -0
  418. package/cjs/index-aeb36f01.js.map +1 -0
  419. package/cjs/{index-c9b003b3.js → index-b6d51e74.js} +56 -193
  420. package/cjs/index-b6d51e74.js.map +1 -0
  421. package/cjs/index-b995f638.js +741 -0
  422. package/cjs/index-b995f638.js.map +1 -0
  423. package/cjs/{index-759f2a26.js → index-bdf7089c.js} +72 -80
  424. package/cjs/{index-759f2a26.js.map → index-bdf7089c.js.map} +1 -1
  425. package/cjs/{index-7c374c20.js → index-c22e0cbf.js} +25 -28
  426. package/cjs/{index-7c374c20.js.map → index-c22e0cbf.js.map} +1 -1
  427. package/cjs/index-daf80c58.js +20 -0
  428. package/cjs/index-daf80c58.js.map +1 -0
  429. package/cjs/index-e81e2882.js +59 -0
  430. package/cjs/{index-2ab19f9b.js.map → index-e81e2882.js.map} +1 -1
  431. package/cjs/{index-91b4af96.js → index-ee3bf381.js} +39 -37
  432. package/cjs/{index-91b4af96.js.map → index-ee3bf381.js.map} +1 -1
  433. package/cjs/{index-d04f312e.js → index-fd8a0abb.js} +10 -30
  434. package/cjs/index-fd8a0abb.js.map +1 -0
  435. package/cjs/index.js +66 -63
  436. package/cjs/index.js.map +1 -1
  437. package/cjs/lame.all.js.map +1 -1
  438. package/cjs/package.json +2 -49
  439. package/cjs/{topics-adde627b.js → pubSub/topics.js} +6 -2
  440. package/cjs/pubSub/topics.js.map +1 -0
  441. package/cjs/{resolvedReplyType-85b4bd7c.js → resolvedReplyType-c20ef661.js} +1 -1
  442. package/cjs/{resolvedReplyType-85b4bd7c.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
  443. package/cjs/sendbirdSelectors.js +381 -332
  444. package/cjs/sendbirdSelectors.js.map +1 -1
  445. package/cjs/stringFormatterUtils-e324636c.js +16 -0
  446. package/cjs/{stringFormatterUtils-8d6592ca.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
  447. package/cjs/{stringSet-d00535a5.js → stringSet-98b52c49.js} +9 -2
  448. package/cjs/stringSet-98b52c49.js.map +1 -0
  449. package/cjs/{tokenize-9296fc47.js → tokenize-91bdbeb0.js} +56 -61
  450. package/cjs/{tokenize-9296fc47.js.map → tokenize-91bdbeb0.js.map} +1 -1
  451. package/cjs/tslib.es6-2f2b0bca.js +102 -0
  452. package/cjs/tslib.es6-2f2b0bca.js.map +1 -0
  453. package/cjs/types-31ed2276.js +11 -0
  454. package/cjs/types-31ed2276.js.map +1 -0
  455. package/cjs/types-66554668.js +15 -0
  456. package/cjs/types-66554668.js.map +1 -0
  457. package/cjs/ui/Accordion.js +18 -19
  458. package/cjs/ui/Accordion.js.map +1 -1
  459. package/cjs/ui/AccordionGroup.js +11 -10
  460. package/cjs/ui/AccordionGroup.js.map +1 -1
  461. package/cjs/ui/AdminMessage.js +10 -10
  462. package/cjs/ui/AdminMessage.js.map +1 -1
  463. package/cjs/ui/Avatar.js +59 -55
  464. package/cjs/ui/Avatar.js.map +1 -1
  465. package/cjs/ui/Badge.js +15 -16
  466. package/cjs/ui/Badge.js.map +1 -1
  467. package/cjs/ui/BottomSheet.js +15 -17
  468. package/cjs/ui/BottomSheet.js.map +1 -1
  469. package/cjs/ui/Button.js +31 -33
  470. package/cjs/ui/Button.js.map +1 -1
  471. package/cjs/ui/ChannelAvatar.js +41 -38
  472. package/cjs/ui/ChannelAvatar.js.map +1 -1
  473. package/cjs/ui/Checkbox.js +10 -9
  474. package/cjs/ui/Checkbox.js.map +1 -1
  475. package/cjs/ui/ConnectionStatus.js +5 -7
  476. package/cjs/ui/ConnectionStatus.js.map +1 -1
  477. package/cjs/ui/ContextMenu.js +143 -144
  478. package/cjs/ui/ContextMenu.js.map +1 -1
  479. package/cjs/ui/DateSeparator.js +14 -12
  480. package/cjs/ui/DateSeparator.js.map +1 -1
  481. package/cjs/ui/EmojiReactions.js +206 -176
  482. package/cjs/ui/EmojiReactions.js.map +1 -1
  483. package/cjs/ui/FileMessageItemBody.js +23 -23
  484. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  485. package/cjs/ui/FileViewer.js +14 -12
  486. package/cjs/ui/FileViewer.js.map +1 -1
  487. package/cjs/ui/Icon.js +16 -16
  488. package/cjs/ui/Icon.js.map +1 -1
  489. package/cjs/ui/IconButton.js +28 -20
  490. package/cjs/ui/IconButton.js.map +1 -1
  491. package/cjs/ui/ImageRenderer.js +84 -64
  492. package/cjs/ui/ImageRenderer.js.map +1 -1
  493. package/cjs/ui/Input.js +14 -16
  494. package/cjs/ui/Input.js.map +1 -1
  495. package/cjs/ui/Label.js +2 -2
  496. package/cjs/ui/LinkLabel.js +2 -2
  497. package/cjs/ui/LinkLabel.js.map +1 -1
  498. package/cjs/ui/Loader.js +12 -10
  499. package/cjs/ui/Loader.js.map +1 -1
  500. package/cjs/ui/MentionLabel.js +63 -59
  501. package/cjs/ui/MentionLabel.js.map +1 -1
  502. package/cjs/ui/MentionUserLabel.js +10 -10
  503. package/cjs/ui/MentionUserLabel.js.map +1 -1
  504. package/cjs/ui/MessageContent.js +187 -171
  505. package/cjs/ui/MessageContent.js.map +1 -1
  506. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -4
  507. package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -1
  508. package/cjs/ui/MessageInput.js +55 -57
  509. package/cjs/ui/MessageInput.js.map +1 -1
  510. package/cjs/ui/MessageItemMenu.js +93 -72
  511. package/cjs/ui/MessageItemMenu.js.map +1 -1
  512. package/cjs/ui/MessageItemReactionMenu.js +64 -56
  513. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  514. package/cjs/ui/MessageSearchFileItem.js +40 -49
  515. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  516. package/cjs/ui/MessageSearchItem.js +32 -40
  517. package/cjs/ui/MessageSearchItem.js.map +1 -1
  518. package/cjs/ui/MessageStatus.js +11 -11
  519. package/cjs/ui/Modal.js +57 -59
  520. package/cjs/ui/Modal.js.map +1 -1
  521. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  522. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  523. package/cjs/ui/OGMessageItemBody.js +47 -47
  524. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  525. package/cjs/ui/OpenChannelAdminMessage.js +7 -8
  526. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  527. package/cjs/ui/OpenChannelAvatar.js +17 -18
  528. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  529. package/cjs/ui/OpenchannelConversationHeader.js +13 -17
  530. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  531. package/cjs/ui/OpenchannelFileMessage.js +147 -139
  532. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  533. package/cjs/ui/OpenchannelOGMessage.js +185 -178
  534. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  535. package/cjs/ui/OpenchannelThumbnailMessage.js +220 -213
  536. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  537. package/cjs/ui/OpenchannelUserMessage.js +172 -164
  538. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  539. package/cjs/ui/PlaceHolder.js +108 -10
  540. package/cjs/ui/PlaceHolder.js.map +1 -1
  541. package/cjs/ui/PlaybackTime.js +16 -15
  542. package/cjs/ui/PlaybackTime.js.map +1 -1
  543. package/cjs/ui/ProgressBar.js +15 -13
  544. package/cjs/ui/ProgressBar.js.map +1 -1
  545. package/cjs/ui/QuoteMessage.js +41 -44
  546. package/cjs/ui/QuoteMessage.js.map +1 -1
  547. package/cjs/ui/QuoteMessageInput.js +45 -31
  548. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  549. package/cjs/ui/ReactionBadge.js +17 -13
  550. package/cjs/ui/ReactionBadge.js.map +1 -1
  551. package/cjs/ui/ReactionButton.js +19 -19
  552. package/cjs/ui/ReactionButton.js.map +1 -1
  553. package/cjs/ui/SortByRow.js +14 -14
  554. package/cjs/ui/SortByRow.js.map +1 -1
  555. package/cjs/ui/TextButton.js +21 -13
  556. package/cjs/ui/TextButton.js.map +1 -1
  557. package/cjs/ui/TextMessageItemBody.js +33 -31
  558. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  559. package/cjs/ui/ThreadReplies.js +21 -25
  560. package/cjs/ui/ThreadReplies.js.map +1 -1
  561. package/cjs/ui/ThumbnailMessageItemBody.js +37 -28
  562. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  563. package/cjs/ui/Toggle.js +85 -77
  564. package/cjs/ui/Toggle.js.map +1 -1
  565. package/cjs/ui/Tooltip.js +9 -8
  566. package/cjs/ui/Tooltip.js.map +1 -1
  567. package/cjs/ui/TooltipWrapper.js +18 -17
  568. package/cjs/ui/TooltipWrapper.js.map +1 -1
  569. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  570. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  571. package/cjs/ui/UserListItem.js +80 -75
  572. package/cjs/ui/UserListItem.js.map +1 -1
  573. package/cjs/ui/UserProfile.js +28 -33
  574. package/cjs/ui/UserProfile.js.map +1 -1
  575. package/cjs/ui/VoiceMessageItemBody.js +49 -43
  576. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  577. package/cjs/ui/VoiceMessgeInput.js +8 -7
  578. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  579. package/cjs/ui/Word.js +29 -27
  580. package/cjs/ui/Word.js.map +1 -1
  581. package/cjs/{useHandleUploadFiles-b2fc56e5.js → useHandleUploadFiles-fbe6ad64.js} +114 -127
  582. package/cjs/useHandleUploadFiles-fbe6ad64.js.map +1 -0
  583. package/cjs/useLongPress-c1da8ba7.js +105 -0
  584. package/cjs/useLongPress-c1da8ba7.js.map +1 -0
  585. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js +316 -0
  586. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js.map +1 -0
  587. package/cjs/useSendbirdStateContext.js +8 -3
  588. package/cjs/useSendbirdStateContext.js.map +1 -1
  589. package/cjs/useStatefulFileInfoList-aa70b6b9.js +228 -0
  590. package/cjs/useStatefulFileInfoList-aa70b6b9.js.map +1 -0
  591. package/cjs/utils/message/getOutgoingMessageState.js +14 -16
  592. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  593. package/cjs/utils/message/isVoiceMessage.js +4 -4
  594. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  595. package/cjs/utils-0fac6ad1.js +27 -0
  596. package/cjs/utils-0fac6ad1.js.map +1 -0
  597. package/cjs/utils-180c6bc8.js +10 -0
  598. package/cjs/utils-180c6bc8.js.map +1 -0
  599. package/cjs/{utils-991911af.js → utils-46483130.js} +3 -3
  600. package/cjs/{utils-991911af.js.map → utils-46483130.js.map} +1 -1
  601. package/cjs/utils-55fc6797.js +170 -0
  602. package/cjs/utils-55fc6797.js.map +1 -0
  603. package/cjs/utils-851724e0.js +62 -0
  604. package/cjs/utils-851724e0.js.map +1 -0
  605. package/cjs/utils-e313131f.js +35 -0
  606. package/cjs/utils-e313131f.js.map +1 -0
  607. package/cjs/uuid-c74bbbb6.js +17 -0
  608. package/cjs/{uuid-b2806cf5.js.map → uuid-c74bbbb6.js.map} +1 -1
  609. package/cjs/withSendbird.js +16 -22
  610. package/cjs/withSendbird.js.map +1 -1
  611. package/{color-b7f211a8.js → color-1383d4ab.js} +5 -5
  612. package/{color-b7f211a8.js.map → color-1383d4ab.js.map} +1 -1
  613. package/compareIds-b56b02f1.js +16 -0
  614. package/compareIds-b56b02f1.js.map +1 -0
  615. package/{const-74ec9eb4.js → const-4bc3721f.js} +4 -4
  616. package/{const-74ec9eb4.js.map → const-4bc3721f.js.map} +1 -1
  617. package/const-e3326913.js +13 -0
  618. package/{const-711048c3.js.map → const-e3326913.js.map} +1 -1
  619. package/consts-7f4d53a3.js +4 -0
  620. package/consts-7f4d53a3.js.map +1 -0
  621. package/consts-833420ed.js +4 -0
  622. package/{consts-6ee24012.js.map → consts-833420ed.js.map} +1 -1
  623. package/consts-aa64aca8.js +30 -0
  624. package/{consts-691a3935.js.map → consts-aa64aca8.js.map} +1 -1
  625. package/consts-f0ba9b80.js +4 -0
  626. package/consts-f0ba9b80.js.map +1 -0
  627. package/context-ae47ac54.js +12 -0
  628. package/{context-b4c70964.js.map → context-ae47ac54.js.map} +1 -1
  629. package/dist/index.css +110 -95
  630. package/dist/index.css.map +1 -1
  631. package/handlers/OpenChannelHandler.js.map +1 -1
  632. package/handlers/SessionHandler.js.map +1 -1
  633. package/hooks/useModal.js +73 -0
  634. package/hooks/useModal.js.map +1 -0
  635. package/{index-aa520474.js → index-12103973.js} +2 -2
  636. package/{index-aa520474.js.map → index-12103973.js.map} +1 -1
  637. package/index-124a5766.js +298 -0
  638. package/{index-e15f6b6a.js.map → index-124a5766.js.map} +1 -1
  639. package/{index-13401b87.js → index-1432c287.js} +2 -4
  640. package/index-1432c287.js.map +1 -0
  641. package/{index-b22c4150.js → index-1969ccd8.js} +25 -28
  642. package/{index-b22c4150.js.map → index-1969ccd8.js.map} +1 -1
  643. package/index-3d508585.js +53 -0
  644. package/{index-ae7ef8cf.js.map → index-3d508585.js.map} +1 -1
  645. package/{index-8a01c364.js → index-40447645.js} +73 -81
  646. package/{index-8a01c364.js.map → index-40447645.js.map} +1 -1
  647. package/{index-c421b228.js → index-7a1085b6.js} +99 -109
  648. package/index-7a1085b6.js.map +1 -0
  649. package/index-89b3b8ba.js +362 -0
  650. package/index-89b3b8ba.js.map +1 -0
  651. package/index-8c72f0bd.js +182 -0
  652. package/{index-98138798.js.map → index-8c72f0bd.js.map} +1 -1
  653. package/index-942c5fa2.js +161 -0
  654. package/index-942c5fa2.js.map +1 -0
  655. package/index-c6095960.js +4 -0
  656. package/index-c6095960.js.map +1 -0
  657. package/index-c7ed4aef.js +13 -0
  658. package/index-c7ed4aef.js.map +1 -0
  659. package/{index-daa3ae67.js → index-c81fd6ec.js} +56 -193
  660. package/index-c81fd6ec.js.map +1 -0
  661. package/{index-7700a436.js → index-d3f61405.js} +10 -30
  662. package/index-d3f61405.js.map +1 -0
  663. package/{index-5cb32ab5.js → index-dc1827ea.js} +3 -12
  664. package/index-dc1827ea.js.map +1 -0
  665. package/{index-3530f4f6.js → index-ec0c048b.js} +39 -37
  666. package/{index-3530f4f6.js.map → index-ec0c048b.js.map} +1 -1
  667. package/{index-b25ffa7e.js → index-eec0ce47.js} +166 -154
  668. package/index-eec0ce47.js.map +1 -0
  669. package/index-fc1642cb.js +692 -0
  670. package/index-fc1642cb.js.map +1 -0
  671. package/index.d.ts +143 -79
  672. package/index.js +66 -63
  673. package/index.js.map +1 -1
  674. package/lame.all.js.map +1 -1
  675. package/package.json +3 -3
  676. package/{topics-5659403d.js → pubSub/topics.js} +4 -3
  677. package/pubSub/topics.js.map +1 -0
  678. package/{resolvedReplyType-1a128514.js → resolvedReplyType-0532593c.js} +1 -1
  679. package/{resolvedReplyType-1a128514.js.map → resolvedReplyType-0532593c.js.map} +1 -1
  680. package/sendbirdSelectors.js +381 -332
  681. package/sendbirdSelectors.js.map +1 -1
  682. package/stringFormatterUtils-444f6f4c.js +14 -0
  683. package/{stringFormatterUtils-dbad592d.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
  684. package/{stringSet-2814bf17.js → stringSet-1106c8ec.js} +9 -2
  685. package/stringSet-1106c8ec.js.map +1 -0
  686. package/{tokenize-4b153552.js → tokenize-d17bf862.js} +56 -61
  687. package/{tokenize-4b153552.js.map → tokenize-d17bf862.js.map} +1 -1
  688. package/tslib.es6-0c779aab.js +97 -0
  689. package/tslib.es6-0c779aab.js.map +1 -0
  690. package/types-4ffc52f6.js +15 -0
  691. package/types-4ffc52f6.js.map +1 -0
  692. package/types-50e412d8.js +9 -0
  693. package/types-50e412d8.js.map +1 -0
  694. package/ui/Accordion.js +18 -19
  695. package/ui/Accordion.js.map +1 -1
  696. package/ui/AccordionGroup.js +11 -10
  697. package/ui/AccordionGroup.js.map +1 -1
  698. package/ui/AdminMessage.js +10 -10
  699. package/ui/AdminMessage.js.map +1 -1
  700. package/ui/Avatar.js +59 -55
  701. package/ui/Avatar.js.map +1 -1
  702. package/ui/Badge.js +15 -16
  703. package/ui/Badge.js.map +1 -1
  704. package/ui/BottomSheet.js +15 -17
  705. package/ui/BottomSheet.js.map +1 -1
  706. package/ui/Button.js +19 -26
  707. package/ui/Button.js.map +1 -1
  708. package/ui/ChannelAvatar.js +41 -38
  709. package/ui/ChannelAvatar.js.map +1 -1
  710. package/ui/Checkbox.js +10 -9
  711. package/ui/Checkbox.js.map +1 -1
  712. package/ui/ConnectionStatus.js +5 -7
  713. package/ui/ConnectionStatus.js.map +1 -1
  714. package/ui/ContextMenu.js +143 -144
  715. package/ui/ContextMenu.js.map +1 -1
  716. package/ui/DateSeparator.js +14 -12
  717. package/ui/DateSeparator.js.map +1 -1
  718. package/ui/EmojiReactions.js +207 -177
  719. package/ui/EmojiReactions.js.map +1 -1
  720. package/ui/FileMessageItemBody.js +23 -23
  721. package/ui/FileMessageItemBody.js.map +1 -1
  722. package/ui/FileViewer.js +14 -12
  723. package/ui/FileViewer.js.map +1 -1
  724. package/ui/Icon.js +2 -2
  725. package/ui/Icon.js.map +1 -1
  726. package/ui/IconButton.js +28 -20
  727. package/ui/IconButton.js.map +1 -1
  728. package/ui/ImageRenderer.js +84 -65
  729. package/ui/ImageRenderer.js.map +1 -1
  730. package/ui/Input.js +14 -16
  731. package/ui/Input.js.map +1 -1
  732. package/ui/Label.js +2 -2
  733. package/ui/LinkLabel.js +2 -2
  734. package/ui/LinkLabel.js.map +1 -1
  735. package/ui/Loader.js +12 -10
  736. package/ui/Loader.js.map +1 -1
  737. package/ui/MentionLabel.js +64 -60
  738. package/ui/MentionLabel.js.map +1 -1
  739. package/ui/MentionUserLabel.js +10 -10
  740. package/ui/MentionUserLabel.js.map +1 -1
  741. package/ui/MessageContent.js +186 -170
  742. package/ui/MessageContent.js.map +1 -1
  743. package/ui/MessageInput/hooks/usePaste.js +5 -4
  744. package/ui/MessageInput/hooks/usePaste.js.map +1 -1
  745. package/ui/MessageInput.js +48 -50
  746. package/ui/MessageInput.js.map +1 -1
  747. package/ui/MessageItemMenu.js +93 -72
  748. package/ui/MessageItemMenu.js.map +1 -1
  749. package/ui/MessageItemReactionMenu.js +64 -56
  750. package/ui/MessageItemReactionMenu.js.map +1 -1
  751. package/ui/MessageSearchFileItem.js +40 -49
  752. package/ui/MessageSearchFileItem.js.map +1 -1
  753. package/ui/MessageSearchItem.js +32 -40
  754. package/ui/MessageSearchItem.js.map +1 -1
  755. package/ui/MessageStatus.js +11 -11
  756. package/ui/Modal.js +57 -59
  757. package/ui/Modal.js.map +1 -1
  758. package/ui/MutedAvatarOverlay.js +10 -10
  759. package/ui/MutedAvatarOverlay.js.map +1 -1
  760. package/ui/OGMessageItemBody.js +47 -47
  761. package/ui/OGMessageItemBody.js.map +1 -1
  762. package/ui/OpenChannelAdminMessage.js +7 -8
  763. package/ui/OpenChannelAdminMessage.js.map +1 -1
  764. package/ui/OpenChannelAvatar.js +17 -18
  765. package/ui/OpenChannelAvatar.js.map +1 -1
  766. package/ui/OpenchannelConversationHeader.js +13 -17
  767. package/ui/OpenchannelConversationHeader.js.map +1 -1
  768. package/ui/OpenchannelFileMessage.js +147 -139
  769. package/ui/OpenchannelFileMessage.js.map +1 -1
  770. package/ui/OpenchannelOGMessage.js +185 -178
  771. package/ui/OpenchannelOGMessage.js.map +1 -1
  772. package/ui/OpenchannelThumbnailMessage.js +220 -213
  773. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  774. package/ui/OpenchannelUserMessage.js +172 -164
  775. package/ui/OpenchannelUserMessage.js.map +1 -1
  776. package/ui/PlaceHolder.js +106 -8
  777. package/ui/PlaceHolder.js.map +1 -1
  778. package/ui/PlaybackTime.js +16 -15
  779. package/ui/PlaybackTime.js.map +1 -1
  780. package/ui/ProgressBar.js +15 -13
  781. package/ui/ProgressBar.js.map +1 -1
  782. package/ui/QuoteMessage.js +41 -44
  783. package/ui/QuoteMessage.js.map +1 -1
  784. package/ui/QuoteMessageInput.js +45 -31
  785. package/ui/QuoteMessageInput.js.map +1 -1
  786. package/ui/ReactionBadge.js +17 -13
  787. package/ui/ReactionBadge.js.map +1 -1
  788. package/ui/ReactionButton.js +19 -19
  789. package/ui/ReactionButton.js.map +1 -1
  790. package/ui/SortByRow.js +14 -14
  791. package/ui/SortByRow.js.map +1 -1
  792. package/ui/TextButton.js +21 -13
  793. package/ui/TextButton.js.map +1 -1
  794. package/ui/TextMessageItemBody.js +33 -31
  795. package/ui/TextMessageItemBody.js.map +1 -1
  796. package/ui/ThreadReplies.js +21 -25
  797. package/ui/ThreadReplies.js.map +1 -1
  798. package/ui/ThumbnailMessageItemBody.js +37 -28
  799. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  800. package/ui/Toggle.js +86 -78
  801. package/ui/Toggle.js.map +1 -1
  802. package/ui/Tooltip.js +9 -8
  803. package/ui/Tooltip.js.map +1 -1
  804. package/ui/TooltipWrapper.js +18 -17
  805. package/ui/TooltipWrapper.js.map +1 -1
  806. package/ui/UnknownMessageItemBody.js +19 -20
  807. package/ui/UnknownMessageItemBody.js.map +1 -1
  808. package/ui/UserListItem.js +80 -75
  809. package/ui/UserListItem.js.map +1 -1
  810. package/ui/UserProfile.js +29 -34
  811. package/ui/UserProfile.js.map +1 -1
  812. package/ui/VoiceMessageItemBody.js +49 -43
  813. package/ui/VoiceMessageItemBody.js.map +1 -1
  814. package/ui/VoiceMessgeInput.js +8 -7
  815. package/ui/VoiceMessgeInput.js.map +1 -1
  816. package/ui/Word.js +29 -27
  817. package/ui/Word.js.map +1 -1
  818. package/{useHandleUploadFiles-406a6c9c.js → useHandleUploadFiles-33aff88e.js} +111 -124
  819. package/useHandleUploadFiles-33aff88e.js.map +1 -0
  820. package/useLongPress-322bb6a3.js +103 -0
  821. package/useLongPress-322bb6a3.js.map +1 -0
  822. package/useSendMultipleFilesMessage-4489a0f6.js +283 -0
  823. package/useSendMultipleFilesMessage-4489a0f6.js.map +1 -0
  824. package/useSendbirdStateContext.js +5 -3
  825. package/useSendbirdStateContext.js.map +1 -1
  826. package/useStatefulFileInfoList-dd95f949.js +219 -0
  827. package/useStatefulFileInfoList-dd95f949.js.map +1 -0
  828. package/utils/message/getOutgoingMessageState.js +8 -9
  829. package/utils/message/getOutgoingMessageState.js.map +1 -1
  830. package/utils/message/isVoiceMessage.js +4 -4
  831. package/utils/message/isVoiceMessage.js.map +1 -1
  832. package/{utils-7cc92ac2.js → utils-158c1683.js} +3 -3
  833. package/{utils-7cc92ac2.js.map → utils-158c1683.js.map} +1 -1
  834. package/utils-3660243c.js +25 -0
  835. package/utils-3660243c.js.map +1 -0
  836. package/utils-40040f8e.js +157 -0
  837. package/utils-40040f8e.js.map +1 -0
  838. package/utils-48a3ef27.js +31 -0
  839. package/utils-48a3ef27.js.map +1 -0
  840. package/utils-74c161a0.js +7 -0
  841. package/utils-74c161a0.js.map +1 -0
  842. package/utils-e98a7f8c.js +57 -0
  843. package/utils-e98a7f8c.js.map +1 -0
  844. package/uuid-3c77ef7b.js +15 -0
  845. package/{uuid-16373bba.js.map → uuid-3c77ef7b.js.map} +1 -1
  846. package/withSendbird.js +16 -22
  847. package/withSendbird.js.map +1 -1
  848. package/ChannelListProvider-1188e373.js +0 -1028
  849. package/ChannelListProvider-1188e373.js.map +0 -1
  850. package/ChannelProvider-9de00431.js +0 -1933
  851. package/ChannelProvider-9de00431.js.map +0 -1
  852. package/CreateChannelProvider-a2fad282.js +0 -44
  853. package/LocalizationContext-2463058b.js +0 -20
  854. package/MediaQueryContext-e3429d12.js +0 -87
  855. package/MediaQueryContext-e3429d12.js.map +0 -1
  856. package/MemberList-593867cb.js +0 -404
  857. package/OpenChannelProvider-3e4b8c8e.js +0 -1890
  858. package/RemoveMessageModal-9162aebe.js +0 -38
  859. package/RemoveMessageModal-9162aebe.js.map +0 -1
  860. package/ThreadProvider-9a3b145f.js +0 -1778
  861. package/ThreadProvider-9a3b145f.js.map +0 -1
  862. package/UserProfileContext-4ae968eb.js +0 -41
  863. package/UserProfileContext-4ae968eb.js.map +0 -1
  864. package/_rollupPluginBabelHelpers-50c9576f.js.map +0 -1
  865. package/cjs/ChannelListProvider-e55e6242.js +0 -1037
  866. package/cjs/ChannelListProvider-e55e6242.js.map +0 -1
  867. package/cjs/ChannelProvider-6fa73019.js +0 -1941
  868. package/cjs/ChannelProvider-6fa73019.js.map +0 -1
  869. package/cjs/CreateChannelProvider-8b8a557c.js +0 -52
  870. package/cjs/MediaQueryContext-73aac8cf.js +0 -94
  871. package/cjs/MediaQueryContext-73aac8cf.js.map +0 -1
  872. package/cjs/MemberList-26b8de48.js +0 -410
  873. package/cjs/OpenChannelListProvider-2e3ee48d.js +0 -439
  874. package/cjs/OpenChannelProvider-8577ea58.js +0 -1899
  875. package/cjs/RemoveMessageModal-dfeeb36a.js +0 -44
  876. package/cjs/RemoveMessageModal-dfeeb36a.js.map +0 -1
  877. package/cjs/ThreadProvider-8b0cf491.js +0 -1787
  878. package/cjs/ThreadProvider-8b0cf491.js.map +0 -1
  879. package/cjs/UserProfileContext-fa8d0383.js +0 -49
  880. package/cjs/UserProfileContext-fa8d0383.js.map +0 -1
  881. package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +0 -1
  882. package/cjs/color-d83b77ac.js.map +0 -1
  883. package/cjs/compareIds-bef997cb.js.map +0 -1
  884. package/cjs/const-67ff9e34.js +0 -20
  885. package/cjs/consts-b018b1ed.js +0 -6
  886. package/cjs/consts-b018b1ed.js.map +0 -1
  887. package/cjs/consts-bf228385.js +0 -6
  888. package/cjs/consts-d3b53f23.js +0 -6
  889. package/cjs/index-11f9cc0f.js.map +0 -1
  890. package/cjs/index-1a9fdbb4.js +0 -368
  891. package/cjs/index-1a9fdbb4.js.map +0 -1
  892. package/cjs/index-1f6b30ea.js +0 -330
  893. package/cjs/index-2ab19f9b.js +0 -57
  894. package/cjs/index-4b5a006d.js +0 -139
  895. package/cjs/index-4b5a006d.js.map +0 -1
  896. package/cjs/index-4eb7e2b5.js.map +0 -1
  897. package/cjs/index-56a25735.js +0 -171
  898. package/cjs/index-56a25735.js.map +0 -1
  899. package/cjs/index-6ab9a40d.js +0 -202
  900. package/cjs/index-7f41c4b6.js +0 -118
  901. package/cjs/index-7f41c4b6.js.map +0 -1
  902. package/cjs/index-81baccd0.js.map +0 -1
  903. package/cjs/index-857630c5.js.map +0 -1
  904. package/cjs/index-8ec12d1d.js +0 -164
  905. package/cjs/index-8ec12d1d.js.map +0 -1
  906. package/cjs/index-c9b003b3.js.map +0 -1
  907. package/cjs/index-cbcacbee.js +0 -9
  908. package/cjs/index-cbcacbee.js.map +0 -1
  909. package/cjs/index-d04f312e.js.map +0 -1
  910. package/cjs/index-e9ac5ae1.js +0 -58
  911. package/cjs/index-e9ac5ae1.js.map +0 -1
  912. package/cjs/index-fbe9cc73.js +0 -647
  913. package/cjs/index-fbe9cc73.js.map +0 -1
  914. package/cjs/index.module-a24e9cd7.js +0 -6
  915. package/cjs/index.module-a24e9cd7.js.map +0 -1
  916. package/cjs/stringFormatterUtils-8d6592ca.js +0 -16
  917. package/cjs/stringSet-d00535a5.js.map +0 -1
  918. package/cjs/topics-adde627b.js.map +0 -1
  919. package/cjs/types-0b5148cb.js +0 -17
  920. package/cjs/types-0b5148cb.js.map +0 -1
  921. package/cjs/useHandleUploadFiles-b2fc56e5.js.map +0 -1
  922. package/cjs/useLongPress-1c0f4696.js +0 -87
  923. package/cjs/useLongPress-1c0f4696.js.map +0 -1
  924. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js +0 -109
  925. package/cjs/useSendMultipleFilesMessage-81cdc9d0.js.map +0 -1
  926. package/cjs/utils-418b4438.js +0 -62
  927. package/cjs/utils-418b4438.js.map +0 -1
  928. package/cjs/utils-5bfb4516.js +0 -35
  929. package/cjs/utils-5bfb4516.js.map +0 -1
  930. package/cjs/utils-68aa6bf6.js +0 -345
  931. package/cjs/utils-68aa6bf6.js.map +0 -1
  932. package/cjs/utils-b34d4e2c.js +0 -31
  933. package/cjs/utils-b34d4e2c.js.map +0 -1
  934. package/cjs/utils-c47c68b1.js +0 -6
  935. package/cjs/utils-c47c68b1.js.map +0 -1
  936. package/cjs/uuid-b2806cf5.js +0 -15
  937. package/compareIds-8ed6e36a.js +0 -15
  938. package/compareIds-8ed6e36a.js.map +0 -1
  939. package/const-711048c3.js +0 -13
  940. package/consts-675764c9.js +0 -4
  941. package/consts-675764c9.js.map +0 -1
  942. package/consts-691a3935.js +0 -37
  943. package/consts-6ee24012.js +0 -4
  944. package/consts-eb77e905.js +0 -4
  945. package/consts-eb77e905.js.map +0 -1
  946. package/context-b4c70964.js +0 -13
  947. package/index-128523eb.js +0 -110
  948. package/index-128523eb.js.map +0 -1
  949. package/index-13401b87.js.map +0 -1
  950. package/index-5cb32ab5.js.map +0 -1
  951. package/index-5d6a0f12.js +0 -598
  952. package/index-5d6a0f12.js.map +0 -1
  953. package/index-60a7bf91.js +0 -164
  954. package/index-60a7bf91.js.map +0 -1
  955. package/index-7700a436.js.map +0 -1
  956. package/index-7946293f.js +0 -152
  957. package/index-7946293f.js.map +0 -1
  958. package/index-7b7478f5.js +0 -132
  959. package/index-7b7478f5.js.map +0 -1
  960. package/index-82178c6a.js +0 -361
  961. package/index-82178c6a.js.map +0 -1
  962. package/index-98138798.js +0 -187
  963. package/index-98887e8d.js +0 -7
  964. package/index-98887e8d.js.map +0 -1
  965. package/index-ae7ef8cf.js +0 -51
  966. package/index-b25ffa7e.js.map +0 -1
  967. package/index-c421b228.js.map +0 -1
  968. package/index-d99155f7.js +0 -51
  969. package/index-d99155f7.js.map +0 -1
  970. package/index-daa3ae67.js.map +0 -1
  971. package/index-e15f6b6a.js +0 -320
  972. package/index.module-60af77d3.js +0 -4
  973. package/index.module-60af77d3.js.map +0 -1
  974. package/stringFormatterUtils-dbad592d.js +0 -14
  975. package/stringSet-2814bf17.js.map +0 -1
  976. package/topics-5659403d.js.map +0 -1
  977. package/types-89092633.js +0 -15
  978. package/types-89092633.js.map +0 -1
  979. package/useHandleUploadFiles-406a6c9c.js.map +0 -1
  980. package/useLongPress-5e1ad951.js +0 -85
  981. package/useLongPress-5e1ad951.js.map +0 -1
  982. package/useSendMultipleFilesMessage-a3a2c84b.js +0 -107
  983. package/useSendMultipleFilesMessage-a3a2c84b.js.map +0 -1
  984. package/utils-0c22998a.js +0 -306
  985. package/utils-0c22998a.js.map +0 -1
  986. package/utils-407da489.js +0 -4
  987. package/utils-407da489.js.map +0 -1
  988. package/utils-b97d5113.js +0 -57
  989. package/utils-b97d5113.js.map +0 -1
  990. package/utils-cae84d8a.js +0 -29
  991. package/utils-cae84d8a.js.map +0 -1
  992. package/utils-ebf008e2.js +0 -31
  993. package/utils-ebf008e2.js.map +0 -1
  994. package/uuid-16373bba.js +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\nimport { useHandleUploadFiles } from '../../../Channel/components/MessageInput/useHandleUploadFiles';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n isMultipleFilesMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // MFM\n const [handleUploadFiles] = useHandleUploadFiles({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage: parentMessage,\n }, {\n logger,\n });\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { 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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n isSelectingMultipleFilesEnabled={isMultipleFilesMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={handleUploadFiles}\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 </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","isMultipleFilesMessageEnabled","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","sendMultipleFilesMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","handleUploadFiles","useHandleUploadFiles","quoteMessage","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","_ref","userId","i","indexOf","splice","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","isSelectingMultipleFilesEnabled","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","endTyping","onFileUpload","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\nimport { useHandleUploadFiles } from '../../../Channel/components/MessageInput/useHandleUploadFiles';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n } = config;\n const threadContext = useThreadContext();\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = threadContext;\n const messageInputRef = useRef();\n const isMultipleFilesMessageEnabled = (\n threadContext.isMultipleFilesMessageEnabled\n ?? config.isMultipleFilesMessageEnabled\n );\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // MFM\n const [handleUploadFiles] = useHandleUploadFiles({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage: parentMessage,\n }, {\n logger,\n });\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { 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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n isSelectingMultipleFilesEnabled={isMultipleFilesMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={handleUploadFiles}\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 </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","threadContext","useThreadContext","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","sendMultipleFilesMessage","isMuted","isChannelFrozen","allThreadMessages","messageInputRef","useRef","isMultipleFilesMessageEnabled","_a","myRole","Role","OPERATOR","handleUploadFiles","useHandleUploadFiles","quoteMessage","_b","useState","mentionNickname","setMentionNickname","_c","mentionedUsers","setMentionedUsers","_d","mentionedUserIds","setMentionedUserIds","_e","selectedUser","setSelectedUser","_f","mentionSuggestedUsers","setMentionSuggestedUsers","_g","messageInputEvent","setMessageInputEvent","_h","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","userId","i","indexOf","splice","React","createElement","concat","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","__spreadArray","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","isSelectingMultipleFilesEnabled","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","startTyping","onSendMessage","message","mentionTemplate","endTyping","onFileUpload","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
@@ -1,52 +1,54 @@
1
1
  import React__default, { useMemo, useState, useRef } from 'react';
2
- import useSendbirdStateContext from '../../useSendbirdStateContext.js';
3
- import { u as useLocalization } from '../../LocalizationContext-2463058b.js';
4
- import { g as getChannelTitle } from '../../utils-cae84d8a.js';
5
- import { u as useThreadContext, i as isAboutSame } from '../../ThreadProvider-9a3b145f.js';
2
+ import { useSendbirdStateContext } from '../../useSendbirdStateContext.js';
3
+ import { u as useLocalization } from '../../LocalizationContext-d18a86d8.js';
4
+ import { g as getChannelTitle } from '../../utils-3660243c.js';
5
+ import { useThreadContext } from '../context.js';
6
6
  import ParentMessageInfo from './ParentMessageInfo.js';
7
7
  import ThreadHeader from './ThreadHeader.js';
8
8
  import ThreadList from './ThreadList.js';
9
9
  import ThreadMessageInput from './ThreadMessageInput.js';
10
10
  import { ParentMessageStateTypes, ThreadListStateTypes } from '../context/types.js';
11
- import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-128523eb.js';
12
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-aa520474.js';
11
+ import PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder.js';
12
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-12103973.js';
13
+ import { z as isAboutSame } from '../../useSendMultipleFilesMessage-4489a0f6.js';
13
14
  import { MessageProvider } from '../../Message/context.js';
14
15
  import '../../withSendbird.js';
15
- import '../../_rollupPluginBabelHelpers-50c9576f.js';
16
- import '../../stringSet-2814bf17.js';
17
- import '../../index-7700a436.js';
18
- import '../../index-daa3ae67.js';
19
- import '../../utils/message/getOutgoingMessageState.js';
20
- import '../../UserProfileContext-4ae968eb.js';
21
- import 'prop-types';
16
+ import '../../tslib.es6-0c779aab.js';
17
+ import '../../stringSet-1106c8ec.js';
18
+ import '../../index-d3f61405.js';
19
+ import '../../UserProfileContext-26e71f9a.js';
22
20
  import '@sendbird/chat';
23
- import '../../topics-5659403d.js';
24
- import '../../index-5d6a0f12.js';
25
- import '../../index.module-60af77d3.js';
26
- import '@sendbird/chat/groupChannel';
27
- import '../../uuid-16373bba.js';
21
+ import '../../pubSub/topics.js';
22
+ import '../../index-fc1642cb.js';
23
+ import '../../utils/message/getOutgoingMessageState.js';
24
+ import '../../index-c6095960.js';
28
25
  import '@sendbird/chat/message';
29
- import '../../consts-691a3935.js';
30
- import '../../useSendMultipleFilesMessage-a3a2c84b.js';
31
- import '../../utils-0c22998a.js';
32
- import '../../RemoveMessageModal-9162aebe.js';
26
+ import '@sendbird/chat/groupChannel';
27
+ import '../../uuid-3c77ef7b.js';
28
+ import '../../consts-aa64aca8.js';
29
+ import '../../utils-40040f8e.js';
30
+ import '../../index-c81fd6ec.js';
31
+ import '../../_rollupPluginBabelHelpers-07dcbc2b.js';
32
+ import '../../RemoveMessageModal-f0cd37a5.js';
33
33
  import '../../ui/Modal.js';
34
34
  import 'react-dom';
35
- import '../../utils-407da489.js';
36
- import '../../index-98887e8d.js';
37
- import '../../MediaQueryContext-e3429d12.js';
35
+ import '../../utils-74c161a0.js';
36
+ import '../../index-c7ed4aef.js';
37
+ import '../../MediaQueryContext-3eeeec4f.js';
38
38
  import '../../ui/IconButton.js';
39
39
  import '../../ui/Button.js';
40
+ import '../../types-4ffc52f6.js';
41
+ import 'prop-types';
40
42
  import '../../ui/Icon.js';
41
- import '../../stringFormatterUtils-dbad592d.js';
43
+ import '../../stringFormatterUtils-444f6f4c.js';
42
44
  import './ParentMessageInfoItem.js';
43
45
  import '../../ui/ImageRenderer.js';
44
46
  import '../../ui/TextButton.js';
45
- import '../../color-b7f211a8.js';
47
+ import '../../color-1383d4ab.js';
46
48
  import '../../ui/EmojiReactions.js';
47
49
  import '../../ui/ReactionBadge.js';
48
50
  import '../../ui/ReactionButton.js';
49
- import '../../useLongPress-5e1ad951.js';
51
+ import '../../useLongPress-322bb6a3.js';
50
52
  import '../../ui/ContextMenu.js';
51
53
  import '../../ui/SortByRow.js';
52
54
  import '../../ui/BottomSheet.js';
@@ -61,55 +63,53 @@ import '../../ui/TooltipWrapper.js';
61
63
  import '../../ui/VoiceMessageItemBody.js';
62
64
  import '../../ui/ProgressBar.js';
63
65
  import '../../VoicePlayer/useVoicePlayer.js';
64
- import '../../index-e15f6b6a.js';
66
+ import '../../index-124a5766.js';
65
67
  import '../../VoiceRecorder/context.js';
66
68
  import '../../ui/PlaybackTime.js';
67
69
  import '../../ui/Loader.js';
68
- import '../../index-ae7ef8cf.js';
69
- import '../../tokenize-4b153552.js';
70
+ import '../../index-3d508585.js';
71
+ import '../../tokenize-d17bf862.js';
70
72
  import '../../ui/MentionLabel.js';
71
73
  import '../../ui/LinkLabel.js';
72
- import '../../index-7b7478f5.js';
73
- import '../../index-c421b228.js';
74
- import '../../ChannelProvider-9de00431.js';
75
- import '../../const-711048c3.js';
76
- import '../../compareIds-8ed6e36a.js';
77
- import '../../resolvedReplyType-1a128514.js';
74
+ import '../../useStatefulFileInfoList-dd95f949.js';
75
+ import '../../index-7a1085b6.js';
76
+ import '../../ChannelProvider-7f6fd1f8.js';
77
+ import '../../const-e3326913.js';
78
+ import '../../compareIds-b56b02f1.js';
79
+ import '../../resolvedReplyType-0532593c.js';
78
80
  import '../../Channel/components/SuggestedMentionList.js';
79
- import '../../const-74ec9eb4.js';
81
+ import '../../const-4bc3721f.js';
80
82
  import '../../ui/MessageItemMenu.js';
81
- import '../../types-89092633.js';
83
+ import '../../types-50e412d8.js';
82
84
  import '../../ui/MessageItemReactionMenu.js';
83
85
  import '../../ui/MessageInput.js';
84
- import '../../index-8a01c364.js';
86
+ import '../../index-40447645.js';
85
87
  import 'dompurify';
86
- import '../../consts-675764c9.js';
87
- import '../../consts-eb77e905.js';
88
- import '../../consts-6ee24012.js';
89
- import '../../index-b25ffa7e.js';
88
+ import '../../consts-7f4d53a3.js';
89
+ import '../../consts-f0ba9b80.js';
90
+ import '../../consts-833420ed.js';
91
+ import '../../index-eec0ce47.js';
90
92
  import '../../Message/hooks/useDirtyGetMentions.js';
91
93
  import './ThreadListItem.js';
92
94
  import '../../ui/DateSeparator.js';
93
- import '../../index-7946293f.js';
94
- import '../../index-5cb32ab5.js';
95
- import '../../index-13401b87.js';
95
+ import '../../index-942c5fa2.js';
96
+ import '../../index-dc1827ea.js';
97
+ import '../../index-1432c287.js';
96
98
  import '../../ui/TextMessageItemBody.js';
97
99
  import '../../ui/OGMessageItemBody.js';
98
100
  import '../../ui/FileMessageItemBody.js';
99
101
  import '../../ui/ThumbnailMessageItemBody.js';
100
- import '../../utils-b97d5113.js';
102
+ import '../../utils-e98a7f8c.js';
101
103
  import '../../ui/UnknownMessageItemBody.js';
102
104
  import 'date-fns';
103
- import '../../useHandleUploadFiles-406a6c9c.js';
105
+ import '../../useHandleUploadFiles-33aff88e.js';
104
106
  import '../../VoiceRecorder/useVoiceRecorder.js';
105
- import '../../index-3530f4f6.js';
106
- import '../../index-d99155f7.js';
107
+ import '../../index-ec0c048b.js';
108
+ import '../../hooks/useModal.js';
107
109
 
108
- const useMemorizedHeader = _ref => {
109
- let {
110
- renderHeader
111
- } = _ref;
112
- return useMemo(() => {
110
+ var useMemorizedHeader = function (_a) {
111
+ var renderHeader = _a.renderHeader;
112
+ return useMemo(function () {
113
113
  if (typeof renderHeader === 'function') {
114
114
  return renderHeader();
115
115
  }
@@ -117,14 +117,12 @@ const useMemorizedHeader = _ref => {
117
117
  }, [renderHeader]);
118
118
  };
119
119
 
120
- const useMemorizedParentMessageInfo = _ref => {
121
- let {
122
- parentMessage,
123
- parentMessageState,
124
- renderParentMessageInfo,
125
- renderParentMessageInfoPlaceholder
126
- } = _ref;
127
- return useMemo(() => {
120
+ var useMemorizedParentMessageInfo = function (_a) {
121
+ var parentMessage = _a.parentMessage,
122
+ parentMessageState = _a.parentMessageState,
123
+ renderParentMessageInfo = _a.renderParentMessageInfo,
124
+ renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder;
125
+ return useMemo(function () {
128
126
  if (parentMessageState === ParentMessageStateTypes.NIL || parentMessageState === ParentMessageStateTypes.LOADING || parentMessageState === ParentMessageStateTypes.INVALID) {
129
127
  if (typeof renderParentMessageInfoPlaceholder === 'function') {
130
128
  return renderParentMessageInfoPlaceholder(parentMessageState);
@@ -168,12 +166,10 @@ const useMemorizedParentMessageInfo = _ref => {
168
166
  }, [parentMessage, parentMessageState, renderParentMessageInfo, renderParentMessageInfoPlaceholder]);
169
167
  };
170
168
 
171
- const useMemorizedThreadList = _ref => {
172
- let {
173
- threadListState,
174
- renderThreadListPlaceHolder
175
- } = _ref;
176
- return useMemo(() => {
169
+ var useMemorizedThreadList = function (_a) {
170
+ var threadListState = _a.threadListState,
171
+ renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder;
172
+ return useMemo(function () {
177
173
  if (threadListState === ThreadListStateTypes.NIL || threadListState === ThreadListStateTypes.LOADING || threadListState === ThreadListStateTypes.INVALID) {
178
174
  if (typeof renderThreadListPlaceHolder === 'function') {
179
175
  return renderThreadListPlaceHolder(threadListState);
@@ -209,78 +205,68 @@ const useMemorizedThreadList = _ref => {
209
205
  }, [threadListState, renderThreadListPlaceHolder]);
210
206
  };
211
207
 
212
- const ThreadUI = _ref => {
213
- var _stores$sdkStore, _stores$sdkStore$sdk, _stores$sdkStore$sdk$, _parentMessage$sender;
214
- let {
215
- renderHeader,
216
- renderParentMessageInfo,
217
- renderMessage,
218
- renderMessageInput,
219
- renderCustomSeparator,
220
- renderParentMessageInfoPlaceholder,
221
- renderThreadListPlaceHolder,
222
- renderFileUploadIcon,
223
- renderVoiceMessageIcon,
224
- renderSendMessageIcon
225
- } = _ref;
226
- const {
227
- stores
228
- } = useSendbirdStateContext();
229
- const currentUserId = stores === null || stores === void 0 ? void 0 : (_stores$sdkStore = stores.sdkStore) === null || _stores$sdkStore === void 0 ? void 0 : (_stores$sdkStore$sdk = _stores$sdkStore.sdk) === null || _stores$sdkStore$sdk === void 0 ? void 0 : (_stores$sdkStore$sdk$ = _stores$sdkStore$sdk.currentUser) === null || _stores$sdkStore$sdk$ === void 0 ? void 0 : _stores$sdkStore$sdk$.userId;
230
- const {
231
- stringSet
232
- } = useLocalization();
233
- const {
234
- currentChannel,
235
- allThreadMessages,
236
- parentMessage,
237
- parentMessageState,
238
- threadListState,
239
- hasMorePrev,
240
- hasMoreNext,
241
- fetchPrevThreads,
242
- fetchNextThreads,
243
- onHeaderActionClick,
244
- onMoveToParentMessage
245
- } = useThreadContext();
246
- const replyCount = allThreadMessages.length;
247
- const isByMe = currentUserId === (parentMessage === null || parentMessage === void 0 ? void 0 : (_parentMessage$sender = parentMessage.sender) === null || _parentMessage$sender === void 0 ? void 0 : _parentMessage$sender.userId);
248
-
208
+ var ThreadUI = function (_a) {
209
+ var _b, _c, _d, _e;
210
+ var renderHeader = _a.renderHeader,
211
+ renderParentMessageInfo = _a.renderParentMessageInfo,
212
+ renderMessage = _a.renderMessage,
213
+ renderMessageInput = _a.renderMessageInput,
214
+ renderCustomSeparator = _a.renderCustomSeparator,
215
+ renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder,
216
+ renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder,
217
+ renderFileUploadIcon = _a.renderFileUploadIcon,
218
+ renderVoiceMessageIcon = _a.renderVoiceMessageIcon,
219
+ renderSendMessageIcon = _a.renderSendMessageIcon;
220
+ var stores = useSendbirdStateContext().stores;
221
+ var currentUserId = (_d = (_c = (_b = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk) === null || _c === void 0 ? void 0 : _c.currentUser) === null || _d === void 0 ? void 0 : _d.userId;
222
+ var stringSet = useLocalization().stringSet;
223
+ var _f = useThreadContext(),
224
+ currentChannel = _f.currentChannel,
225
+ allThreadMessages = _f.allThreadMessages,
226
+ parentMessage = _f.parentMessage,
227
+ parentMessageState = _f.parentMessageState,
228
+ threadListState = _f.threadListState,
229
+ hasMorePrev = _f.hasMorePrev,
230
+ hasMoreNext = _f.hasMoreNext,
231
+ fetchPrevThreads = _f.fetchPrevThreads,
232
+ fetchNextThreads = _f.fetchNextThreads,
233
+ onHeaderActionClick = _f.onHeaderActionClick,
234
+ onMoveToParentMessage = _f.onMoveToParentMessage;
235
+ var replyCount = allThreadMessages.length;
236
+ var isByMe = currentUserId === ((_e = parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.sender) === null || _e === void 0 ? void 0 : _e.userId);
249
237
  // Memoized custom components
250
- const MemorizedHeader = useMemorizedHeader({
251
- renderHeader
238
+ var MemorizedHeader = useMemorizedHeader({
239
+ renderHeader: renderHeader
252
240
  });
253
- const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({
254
- parentMessage,
255
- parentMessageState,
256
- renderParentMessageInfo,
257
- renderParentMessageInfoPlaceholder // nil, loading, invalid
241
+ var MemorizedParentMessageInfo = useMemorizedParentMessageInfo({
242
+ parentMessage: parentMessage,
243
+ parentMessageState: parentMessageState,
244
+ renderParentMessageInfo: renderParentMessageInfo,
245
+ renderParentMessageInfoPlaceholder: renderParentMessageInfoPlaceholder
258
246
  });
259
-
260
- const MemorizedThreadList = useMemorizedThreadList({
261
- threadListState,
262
- renderThreadListPlaceHolder
247
+ var MemorizedThreadList = useMemorizedThreadList({
248
+ threadListState: threadListState,
249
+ renderThreadListPlaceHolder: renderThreadListPlaceHolder
263
250
  });
264
-
265
251
  // scroll
266
- const [scrollBottom, setScrollBottom] = useState(0);
267
- const scrollRef = useRef(null);
268
- const onScroll = e => {
269
- var _scrollRef$current;
270
- const element = e.target;
271
- const {
272
- scrollTop,
273
- clientHeight,
274
- scrollHeight
275
- } = element;
276
- const threadItemNodes = (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.querySelectorAll('.sendbird-thread-list-item');
277
- const firstNode = threadItemNodes === null || threadItemNodes === void 0 ? void 0 : threadItemNodes[0];
252
+ var _g = useState(0),
253
+ scrollBottom = _g[0],
254
+ setScrollBottom = _g[1];
255
+ var scrollRef = useRef(null);
256
+ var onScroll = function (e) {
257
+ var _a;
258
+ var element = e.target;
259
+ var scrollTop = element.scrollTop,
260
+ clientHeight = element.clientHeight,
261
+ scrollHeight = element.scrollHeight;
262
+ var threadItemNodes = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.sendbird-thread-list-item');
263
+ var firstNode = threadItemNodes === null || threadItemNodes === void 0 ? void 0 : threadItemNodes[0];
278
264
  if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {
279
- fetchPrevThreads(messages => {
265
+ fetchPrevThreads(function (messages) {
266
+ var _a;
280
267
  if (messages) {
281
268
  try {
282
- var _firstNode$scrollInto;
283
- firstNode === null || firstNode === void 0 ? void 0 : (_firstNode$scrollInto = firstNode.scrollIntoView) === null || _firstNode$scrollInto === void 0 ? void 0 : _firstNode$scrollInto.call(firstNode, {
269
+ (_a = firstNode === null || firstNode === void 0 ? void 0 : firstNode.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(firstNode, {
284
270
  block: 'start',
285
271
  inline: 'nearest'
286
272
  });
@@ -291,22 +277,21 @@ const ThreadUI = _ref => {
291
277
  });
292
278
  }
293
279
  if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {
294
- const scrollTop_ = scrollTop;
295
- fetchNextThreads(messages => {
280
+ var scrollTop_1 = scrollTop;
281
+ fetchNextThreads(function (messages) {
296
282
  if (messages) {
297
283
  try {
298
- element.scrollTop = scrollTop_;
299
- scrollRef.current.scrollTop = scrollTop_;
284
+ element.scrollTop = scrollTop_1;
285
+ scrollRef.current.scrollTop = scrollTop_1;
300
286
  } catch (error) {
301
287
  //
302
288
  }
303
289
  }
304
290
  });
305
291
  }
306
-
307
292
  // save the lastest scroll bottom value
308
- if (scrollRef !== null && scrollRef !== void 0 && scrollRef.current) {
309
- const current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
293
+ if (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) {
294
+ var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
310
295
  setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);
311
296
  }
312
297
  };
@@ -316,7 +301,7 @@ const ThreadUI = _ref => {
316
301
  className: "sendbird-thread-ui__header",
317
302
  channelName: getChannelTitle(currentChannel, currentUserId, stringSet),
318
303
  onActionIconClick: onHeaderActionClick,
319
- onChannelNameClick: () => {
304
+ onChannelNameClick: function () {
320
305
  onMoveToParentMessage === null || onMoveToParentMessage === void 0 ? void 0 : onMoveToParentMessage({
321
306
  message: parentMessage,
322
307
  channel: currentChannel
@@ -336,9 +321,8 @@ const ThreadUI = _ref => {
336
321
  }, /*#__PURE__*/React__default.createElement(Label, {
337
322
  type: LabelTypography.BODY_1,
338
323
  color: LabelColors.ONBACKGROUND_3
339
- }, `${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`)), MemorizedThreadList || /*#__PURE__*/React__default.createElement(ThreadList, {
324
+ }, "".concat(replyCount, " ").concat(replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY))), MemorizedThreadList || /*#__PURE__*/React__default.createElement(ThreadList, {
340
325
  className: "sendbird-thread-ui__thread-list",
341
- allThreadMessages: allThreadMessages,
342
326
  renderMessage: renderMessage,
343
327
  renderCustomSeparator: renderCustomSeparator,
344
328
  scrollRef: scrollRef,
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadUI.js","sources":["../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n allThreadMessages={allThreadMessages}\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_ref","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","_parentMessage$sender","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","useThreadContext","replyCount","length","isByMe","sender","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","scrollBottom","setScrollBottom","useState","scrollRef","useRef","onScroll","e","_scrollRef$current","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","_firstNode$scrollInto","scrollIntoView","call","block","inline","error","scrollTop_","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadUI.js","sources":["../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_a","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","_d","_b","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","_f","useThreadContext","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","replyCount","length","isByMe","sender","_e","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","_g","useState","scrollBottom","setScrollBottom","scrollRef","useRef","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","scrollIntoView","call","block","inline","error","scrollTop_1","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","concat","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,kBAAkB,GAAG,UAACC,EAAyC,EAAA;AAAvC,EAAA,IAAAC,YAAY,GAAAD,EAAA,CAAAC,YAAA,CAAA;EAA8C,OAAAC,OAAO,CAAC,YAAA;AAC9F,IAAA,IAAI,OAAOD,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,EAAE,CAAA;AACtB,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AALsE,CAKtE;;ACElB,IAAME,6BAA6B,GAAG,UAACH,EAKF,EAAA;MAJnCI,aAAa,GAAAJ,EAAA,CAAAI,aAAA;IACbC,kBAAkB,GAAAL,EAAA,CAAAK,kBAAA;IAClBC,uBAAuB,GAAAN,EAAA,CAAAM,uBAAA;IACvBC,kCAAkC,GAAAP,EAAA,CAAAO,kCAAA,CAAA;EACoB,OAAAL,OAAO,CAAC,YAAA;AAC9D,IAAA,IAAIG,kBAAkB,KAAKG,uBAAuB,CAACC,GAAG,IACjDJ,kBAAkB,KAAKG,uBAAuB,CAACE,OAAO,IACtDL,kBAAkB,KAAKG,uBAAuB,CAACG,OAAO,EACzD;AACA,MAAA,IAAI,OAAOJ,kCAAkC,KAAK,UAAU,EAAE;QAC5D,OAAOA,kCAAkC,CAACF,kBAAkB,CAAC,CAAA;AAC9D,OAAA;AACD,MAAA,QAAQA,kBAAkB;QACxB,KAAKG,uBAAuB,CAACC,GAAG;AAAE,UAAA;AAChC,YAAA,oBACEG,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACVC,cAAAA,SAAS,EAAC,yDAAyD;cACnEC,IAAI,EAAEC,gBAAgB,CAACC,UAAW;AAClCC,cAAAA,QAAQ,EAAC,MAAA;AAAM,aACf,CAAA,CAAA;AAEL,WAAA;QACD,KAAKX,uBAAuB,CAACE,OAAO;AAAE,UAAA;AACpC,YAAA,oBACEE,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACVC,cAAAA,SAAS,EAAC,6DAA6D;cACvEC,IAAI,EAAEC,gBAAgB,CAACP,OAAQ;AAC/BS,cAAAA,QAAQ,EAAC,MAAA;AAAM,aACf,CAAA,CAAA;AAEL,WAAA;QACD,KAAKX,uBAAuB,CAACG,OAAO;AAAE,UAAA;AACpC,YAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACVC,cAAAA,SAAS,EAAC,6DAA6D;cACvEC,IAAI,EAAEC,gBAAgB,CAACG,KAAM;AAC7BD,cAAAA,QAAQ,EAAC,MAAA;AAAM,aACf,CAAA,CAAA;AAEL,WAAA;AACD,QAAA;AAAS,UAAA;AACP,YAAA,OAAO,IAAI,CAAA;AACZ,WAAA;AACF,OAAA;AACF,KAAA,MAAM,IAAId,kBAAkB,KAAKG,uBAAuB,CAACa,WAAW,EAAE;AACrE,MAAA,IAAI,OAAOf,uBAAuB,KAAK,UAAU,EAAE;QACjD,OAAOA,uBAAuB,EAAE,CAAA;AACjC,OAAA;AACF,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;GACZ,EAAE,CACDF,aAAa,EACbC,kBAAkB,EAClBC,uBAAuB,EACvBC,kCAAkC,CACnC,CAAC,CAAA;AAnDsD,CAmDtD;;AC3DF,IAAMe,sBAAsB,GAAG,UAACtB,EAGF,EAAA;MAF5BuB,eAAe,GAAAvB,EAAA,CAAAuB,eAAA;IACfC,2BAA2B,GAAAxB,EAAA,CAAAwB,2BAAA,CAAA;EACoB,OAAAtB,OAAO,CAAC,YAAA;AACvD,IAAA,IAAIqB,eAAe,KAAKE,oBAAoB,CAAChB,GAAG,IAC3Cc,eAAe,KAAKE,oBAAoB,CAACf,OAAO,IAChDa,eAAe,KAAKE,oBAAoB,CAACd,OAAO,EACnD;AACA,MAAA,IAAI,OAAOa,2BAA2B,KAAK,UAAU,EAAE;QACrD,OAAOA,2BAA2B,CAACD,eAAe,CAAC,CAAA;AACpD,OAAA;AACD,MAAA,QAAQA,eAAe;QACrB,KAAKE,oBAAoB,CAACf,OAAO;AAAE,UAAA;AACjC,YAAA,oBACEE,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACVC,cAAAA,SAAS,EAAC,qDAAqD;cAC/DC,IAAI,EAAEC,gBAAgB,CAACP,OAAQ;AAC/BS,cAAAA,QAAQ,EAAC,MAAA;AAAM,aACf,CAAA,CAAA;AAEL,WAAA;QACD,KAAKM,oBAAoB,CAACd,OAAO;AAAE,UAAA;AACjC,YAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACVC,cAAAA,SAAS,EAAC,qDAAqD;cAC/DC,IAAI,EAAEC,gBAAgB,CAACG,KAAM;AAC7BD,cAAAA,QAAQ,EAAC,MAAA;AAAM,aACf,CAAA,CAAA;AAEL,WAAA;QACD,KAAKM,oBAAoB,CAAChB,GAAG;AAAE,UAAA;YAC7B,oBAAOG,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAc,QAAA,OAAK,CAAA;AACb,WAAA;AACD,QAAA;AAAS,UAAA;AACP,YAAA,OAAO,IAAI,CAAA;AACZ,WAAA;AACF,OAAA;AACF,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CACDH,eAAe,EACfC,2BAA2B,CAC5B,CAAC,CAAA;AAvC+C,CAuC/C;;ACbF,IAAMG,QAAQ,GAA4B,UAAC3B,EAW3B,EAAA;;MAVdC,YAAY,GAAAD,EAAA,CAAAC,YAAA;IACZK,uBAAuB,GAAAN,EAAA,CAAAM,uBAAA;IACvBsB,aAAa,GAAA5B,EAAA,CAAA4B,aAAA;IACbC,kBAAkB,GAAA7B,EAAA,CAAA6B,kBAAA;IAClBC,qBAAqB,GAAA9B,EAAA,CAAA8B,qBAAA;IACrBvB,kCAAkC,GAAAP,EAAA,CAAAO,kCAAA;IAClCiB,2BAA2B,GAAAxB,EAAA,CAAAwB,2BAAA;IAC3BO,oBAAoB,GAAA/B,EAAA,CAAA+B,oBAAA;IACpBC,sBAAsB,GAAAhC,EAAA,CAAAgC,sBAAA;IACtBC,qBAAqB,GAAAjC,EAAA,CAAAiC,qBAAA,CAAA;AAGnB,EAAA,IAAAC,MAAM,GACJC,uBAAuB,EAAE,OADrB,CAAA;AAER,EAAA,IAAMC,aAAa,GAAG,CAAAC,EAAA,GAAA,MAAA,CAAAC,EAAA,GAAAJ,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEK,QAAQ,MAAE,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAE,GAAG,0CAAEC,WAAW,MAAA,IAAA,IAAAJ,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEK,MAAM,CAAA;AAE9D,EAAA,IAAAC,SAAS,GACPC,eAAe,EAAE,UADV,CAAA;AAEL,EAAA,IAAAC,KAYFC,gBAAgB,EAAE;IAXpBC,cAAc,oBAAA;IACdC,iBAAiB,GAAAH,EAAA,CAAAG,iBAAA;IACjB5C,aAAa,GAAAyC,EAAA,CAAAzC,aAAA;IACbC,kBAAkB,GAAAwC,EAAA,CAAAxC,kBAAA;IAClBkB,eAAe,GAAAsB,EAAA,CAAAtB,eAAA;IACf0B,WAAW,iBAAA;IACXC,WAAW,GAAAL,EAAA,CAAAK,WAAA;IACXC,gBAAgB,GAAAN,EAAA,CAAAM,gBAAA;IAChBC,gBAAgB,GAAAP,EAAA,CAAAO,gBAAA;IAChBC,mBAAmB,GAAAR,EAAA,CAAAQ,mBAAA;IACnBC,qBAAqB,2BACD,CAAA;AACtB,EAAA,IAAMC,UAAU,GAAGP,iBAAiB,CAACQ,MAAM,CAAA;AAC3C,EAAA,IAAMC,MAAM,GAAGrB,aAAa,MAAK,MAAAhC,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEsD,MAAM,MAAE,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAjB,MAAM,CAAA,CAAA;AAE9D;EACA,IAAMkB,eAAe,GAAG7D,kBAAkB,CAAC;AAAEE,IAAAA,YAAY,EAAAA,YAAAA;AAAE,GAAA,CAAC,CAAA;EAC5D,IAAM4D,0BAA0B,GAAG1D,6BAA6B,CAAC;AAC/DC,IAAAA,aAAa,EAAAA,aAAA;AACbC,IAAAA,kBAAkB,EAAAA,kBAAA;AAClBC,IAAAA,uBAAuB,EAAAA,uBAAA;AACvBC,IAAAA,kCAAkC,EAAAA,kCAAAA;AACnC,GAAA,CAAC,CAAA;EACF,IAAMuD,mBAAmB,GAAGxC,sBAAsB,CAAC;AACjDC,IAAAA,eAAe,EAAAA,eAAA;AACfC,IAAAA,2BAA2B,EAAAA,2BAAAA;AAC5B,GAAA,CAAC,CAAA;AAEF;AACM,EAAA,IAAAuC,EAAA,GAAkCC,QAAQ,CAAC,CAAC,CAAC;AAA5CC,IAAAA,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,EAAA,CAAA,CAAA,CAAe,CAAA;AACnD,EAAA,IAAMI,SAAS,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC9C,EAAA,IAAMC,QAAQ,GAAG,UAACC,CAAC,EAAA;;AACjB,IAAA,IAAMC,OAAO,GAAGD,CAAC,CAACE,MAAM,CAAA;AAEtB,IAAA,IAAAC,SAAS,GAGPF,OAAO,CAAAE,SAHA;MACTC,YAAY,GAEVH,OAAO,CAAAG,YAFG;MACZC,YAAY,GACVJ,OAAO,aADG,CAAA;IAGd,IAAMK,eAAe,GAAG,CAAA5E,EAAA,GAAAmE,SAAS,CAACU,OAAO,MAAA,IAAA,IAAA7E,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAE8E,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;AACzF,IAAA,IAAMC,SAAS,GAAGH,eAAe,KAAf,IAAA,IAAAA,eAAe,uBAAfA,eAAe,CAAG,CAAC,CAAC,CAAA;IACtC,IAAII,WAAW,CAACP,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,IAAIxB,WAAW,EAAE;MAChDE,gBAAgB,CAAC,UAAC8B,QAAQ,EAAA;;AACxB,QAAA,IAAIA,QAAQ,EAAE;UACZ,IAAI;AACF,YAAA,CAAAjF,EAAA,GAAA+E,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEG,cAAc,MAAG,IAAA,IAAAlF,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAmF,IAAA,CAAAJ,SAAA,EAAA;AAAEK,cAAAA,KAAK,EAAE,OAAO;AAAEC,cAAAA,MAAM,EAAE,SAAA;AAAS,aAAE,CAAC,CAAA;WACnE,CAAC,OAAOC,KAAK,EAAE;AACd;AAAA,WAAA;AAEH,SAAA;AACH,OAAC,CAAC,CAAA;AACH,KAAA;AAED,IAAA,IAAIN,WAAW,CAACN,YAAY,GAAGD,SAAS,EAAEE,YAAY,EAAE,EAAE,CAAC,IAAIzB,WAAW,EAAE;MAC1E,IAAMqC,WAAU,GAAGd,SAAS,CAAA;MAC5BrB,gBAAgB,CAAC,UAAC6B,QAAQ,EAAA;AACxB,QAAA,IAAIA,QAAQ,EAAE;UACZ,IAAI;YACFV,OAAO,CAACE,SAAS,GAAGc,WAAU,CAAA;AAC9BpB,YAAAA,SAAS,CAACU,OAAO,CAACJ,SAAS,GAAGc,WAAU,CAAA;WACzC,CAAC,OAAOD,KAAK,EAAE;AACd;AAAA,WAAA;AAEH,SAAA;AACH,OAAC,CAAC,CAAA;AACH,KAAA;AAED;AACA,IAAA,IAAInB,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEU,OAAO,EAAE;AACtB,MAAA,IAAMA,OAAO,GAAGV,SAAS,KAAA,IAAA,IAATA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEU,OAAO,CAAA;AAClCX,MAAAA,eAAe,CAACW,OAAO,CAACF,YAAY,GAAGE,OAAO,CAACJ,SAAS,GAAGI,OAAO,CAACW,YAAY,CAAC,CAAA;AACjF,KAAA;GACF,CAAA;EAED,oBACE5E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,oBAAA;AAAoB,GAAA,EAE/B6C,eAAe,iBACbhD,cAAA,CAAAC,aAAA,CAAC4E,YAAY,EAAA;AACX1E,IAAAA,SAAS,EAAC,4BAA4B;IACtC2E,WAAW,EAAEC,eAAe,CAAC5C,cAAc,EAAEX,aAAa,EAAEO,SAAS,CAAE;AACvEiD,IAAAA,iBAAiB,EAAEvC,mBAAoB;IACvCwC,kBAAkB,EAAE,YAAA;AAClBvC,MAAAA,qBAAqB,KAArB,IAAA,IAAAA,qBAAqB,KAArB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,qBAAqB,CAAG;AAAEwC,QAAAA,OAAO,EAAE1F,aAAa;AAAE2F,QAAAA,OAAO,EAAEhD,cAAAA;AAAc,OAAE,CAAC,CAAA;AAC9E,KAAA;AAAE,GACF,CACH,eAEHnC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAC,4BAA4B;AACtCiF,IAAAA,GAAG,EAAE7B,SAAU;AACfE,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,eAEnBzD,cAAA,CAAAC,aAAA,CAACoF,eAAe,EAAA;AAACH,IAAAA,OAAO,EAAE1F,aAAc;AAACqD,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAA,EAEpDI,0BAA0B,iBACxBjD,cAAA,CAAAC,aAAA,CAACqF,iBAAiB,EAAA;AAChBnF,IAAAA,SAAS,EAAC,yCAAA;GACV,CAGS,CACjB,EACEwC,UAAU,GAAG,CAAC,iBACZ3C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,kCAAA;AAAkC,GAAA,eAC/CH,cAAA,CAAAC,aAAA,CAACsF,KAAK,EAAA;IACJnF,IAAI,EAAEoF,eAAe,CAACC,MAAO;IAC7BC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC,UAAGjD,UAAU,EAAA,GAAA,CAAA,CAAAkD,MAAA,CAAIlD,UAAU,GAAG,CAAC,GAAGZ,SAAS,CAAC+D,sBAAsB,GAAG/D,SAAS,CAACgE,oBAAoB,CAC/F,CACJ,CACN,EAGD7C,mBAAmB,iBACjBlD,cAAA,CAAAC,aAAA,CAAC+F,UAAU,EAAA;AACT7F,IAAAA,SAAS,EAAC,iCAAiC;AAC3Ca,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CqC,IAAAA,SAAS,EAAEA,SAAU;AACrBF,IAAAA,YAAY,EAAEA,YAAAA;GAAa,CAI9B,CACL,EAEE,CAAApC,kBAAkB,KAAlB,IAAA,IAAAA,kBAAkB,uBAAlBA,kBAAkB,EAAI,kBACpBjB,cAAA,CAAAC,aAAA,CAACgG,kBAAkB,EAAA;AACjB9F,IAAAA,SAAS,EAAC,mCAAmC;AAC7CgB,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,GAAA,CAIhD,CAAC,CAAA;AAEV;;;;"}