@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":"sendbirdSelectors.js","sources":["../src/lib/selectors.ts"],"sourcesContent":["import topics from './pubSub/topics';\nimport type {\n User,\n UserUpdateParams,\n} from '@sendbird/chat';\n\nimport { FailedMessageHandler, MessageHandler, UserMessage, UserMessageCreateParams } from '@sendbird/chat/message';\nimport { GroupChannel, GroupChannelCreateParams, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { OpenChannel, OpenChannelCreateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { FileMessage, FileMessageCreateParams, SendableMessage, UserMessageUpdateParams } from '@sendbird/chat/lib/__definition';\n\nimport {\n SdkStore,\n SendBirdState,\n SendBirdStateConfig,\n SendBirdStateStore,\n} from './types';\nimport { noop } from '../utils/utils';\nimport { SendableMessageType } from '../utils';\n\n/**\n * 1. UIKit Instances\n * a. getSdk\n * b. getPubSub\n * 2. Chat & Connection\n * a. getConnect\n * b. getDisconnect\n * c. getUpdateUserInfo\n * 3. Channel\n * a. getCreateGroupChannel\n * b. getCreateOpenChannel\n * c. getGetGroupChannel\n * d. getGetOpenChannel\n * e. getLeaveGroupChannel\n * f. getEnterOpenChannel\n * g. getExitOpenChannel\n * h. getFreezeChannel\n * i. getUnfreezeChannel\n * 4. Message\n * a. getSendUserMessage\n * b. getSendFileMessage\n * c. getUpdateUserMessage\n * d. x - getUpdateFileMessage\n * e. getDeleteMessage\n * f. getResendUserMessage\n * g. getResendFileMessage\n */\n\n/**\n * import useSendbirdStateContext from '@sendbird-uikit/useSendbirdStateContext'\n * import selectors from '@sendbird-uikit/send'\n * const state = useSendbirdStateContext();\n */\n\n// 1. UIKit Instances\n\n/**\n * const sdk = selectors.getSdk(state);\n */\nexport const getSdk = (state: SendBirdState): SendbirdGroupChat & SendbirdOpenChat => {\n const { stores = {} } = state;\n const { sdkStore = {} } = stores as SendBirdStateStore;\n const { sdk } = sdkStore as SdkStore;\n return sdk;\n};\n\n/**\n * const pubSub = selectors.getPubSub(state);\n */\nexport const getPubSub = (state: SendBirdState): any => {\n const { config = {} } = state;\n const { pubSub } = config as SendBirdStateConfig;\n return pubSub;\n};\n\n// 2. Chat & Connection\n\n/**\n * const connect = selectors.getConnect(state);\n * connect('user-id-sendbirdian', 'access-token-0000')\n * .then((user) => {})\n * .catch((error) => {})\n */\nexport const getConnect = (state: SendBirdState) => (\n (userId: string, accessToken?: string): Promise<User> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk?.connect && typeof sdk.connect === 'function')) {\n reject(new Error('Not found the function \"connect'));\n }\n if (!accessToken) {\n sdk.connect(userId)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n } else {\n sdk.connect(userId, accessToken)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n }\n })\n )\n);\n\n/**\n * const disconnect = selectors.getDisconnect(state);\n * disconnect()\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getDisconnect = (state: SendBirdState) => (\n (): Promise<void> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk.disconnect && typeof sdk.disconnect === 'function')) {\n reject(new Error('Not found the function \"disconnect'));\n }\n sdk.disconnect()\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n })\n )\n);\n\n/**\n * const updateUserInfo = selectors.getUpdateUserInfo(state);\n * updateUserInfo('new-nickname', 'new-profile-url')\n * .then((user) => {})\n * .catch((error) => {})\n */\nexport const getUpdateUserInfo = (state: SendBirdState) => (\n (nickname: string, profileUrl?: string): Promise<User> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk.updateCurrentUserInfo && typeof sdk.updateCurrentUserInfo === 'function')) {\n reject(new Error('Not found the function \"updateCurrentUserInfo\"'));\n }\n const userParams: UserUpdateParams = { nickname };\n if (profileUrl) {\n userParams.profileUrl = profileUrl;\n }\n sdk.updateCurrentUserInfo(userParams)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n })\n )\n);\n\n// 3. Channel\n\n/**\n * const createGroupChannel = selectors.getCreateGroupChannel(state);\n * createGroupChannel(channelParams: GroupChannelCreateParams)\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getCreateGroupChannel = (state: SendBirdState) => (\n (params: GroupChannelCreateParams): Promise<GroupChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.groupChannel) {\n reject(new Error('Not found GroupChannelModule'));\n }\n if (!(sdk.groupChannel.createChannel && typeof sdk.groupChannel.createChannel === 'function')) {\n reject(new Error('Not found the function \"createChannel\"'));\n }\n sdk.groupChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n pubSub.publish(\n topics.CREATE_CHANNEL,\n { channel },\n );\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const createOpenChannel = selectors.getCreateOpenChannel(state);\n * createOpenChannel(channelParams: OpenChannelCreateParams)\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getCreateOpenChannel = (state: SendBirdState) => (\n (params: OpenChannelCreateParams): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.openChannel) {\n reject(new Error('Not found OpenChannelModule'));\n }\n if (!(sdk.openChannel.createChannel && typeof sdk.openChannel.createChannel === 'function')) {\n reject(new Error('Not found the function \"createChannel\"'));\n }\n sdk.openChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n // Consider pubSub process\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const getGroupChannel = selectors.getGetGroupChannel(state);\n * getGroupChannel('channel-url-1234', isSelected)\n * .then((channel) => {\n * // groupChannel = channel;\n * // or\n * // setCurrentChannel(channel);\n * })\n * .catch((error) => {})\n */\nexport const getGetGroupChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<GroupChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.groupChannel) {\n reject(new Error('Not found GroupChannelModule'));\n }\n if (!(sdk.groupChannel.getChannel && typeof sdk.groupChannel.getChannel === 'function')) {\n reject(new Error('Not found the function \"getChannel\"'));\n }\n sdk.groupChannel.getChannel(channelUrl)\n .then((channel) => {\n resolve(channel);\n // Add pubSub with isSelected\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const getOpenChannel = selectors.getGetOpenChannel(state);\n * getOpenChannel('channel-url-12345')\n * .then((channel) => {\n * // openChannel = channel;\n * // or\n * // setCurrentChannel(channel);\n * })\n * .catch((error) => {})\n */\nexport const getGetOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.openChannel) {\n reject(new Error('Not found OpenChannelModule'));\n }\n if (!(sdk.openChannel.getChannel && typeof sdk.openChannel.getChannel === 'function')) {\n reject(new Error('Not found the function \"getChannel\"'));\n }\n sdk.openChannel.getChannel(channelUrl)\n .then((channel) => {\n resolve(channel);\n // Add pubSub with isSelected\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const leaveChannel = selectors.getLeaveGroupChannel(state);\n * leaveChannel('group-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getLeaveGroupChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<void> => (\n new Promise((resolve, reject) => {\n getGetGroupChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.leave()\n .then(() => {\n resolve();\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const enterChannel = selectors.getEnterOpenChannel(state);\n * enterChannel('open-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getEnterOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n getGetOpenChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.enter()\n .then(() => {\n resolve(channel);\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const exitChannel = selectors.getExitOpenChannel(state);\n * exitChannel('open-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getExitOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n getGetOpenChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.exit()\n .then(() => {\n resolve(channel);\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const freezeChannel = selectors.getFreezeChannel(currentChannel);\n * freezeChannel()\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getFreezeChannel = () => (\n (channel: GroupChannel | OpenChannel): Promise<void> => (\n new Promise((resolve, reject) => {\n if (!(channel.freeze && typeof channel?.freeze === 'function')) {\n reject(new Error('Not found the function \"freeze\"'));\n }\n channel.freeze()\n .then(() => {\n resolve();\n // Add pubSub process\n /**\n * consider divide the logic to\n * _freezeGroupChannel and _freezeOpenChannel\n */\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const unfreezeChannel = selectors.getUnfreezeChannel(currentChannel);\n * unfreezeChannel()\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getUnfreezeChannel = () => (\n (channel: GroupChannel | OpenChannel): Promise<void> => (\n new Promise((resolve, reject) => {\n if (!(channel.unfreeze && typeof channel?.unfreeze === 'function')) {\n reject(new Error('Not found the function \"unfreeze\"'));\n }\n channel.unfreeze()\n .then(() => {\n resolve();\n // Add pubSub process\n /**\n * consider divide the logic to\n * _unfreezeGroupChannel and _unfreezeOpenChannel\n */\n })\n .catch(reject);\n })\n )\n);\n\n// 4. Message\nexport class UikitMessageHandler {\n private _onPending: MessageHandler = noop;\n\n private _onFailed: FailedMessageHandler = noop;\n\n private _onSucceeded: MessageHandler = noop;\n\n public triggerPending(message: SendableMessage): void {\n this._onPending(message);\n }\n\n public triggerFailed(error: Error, message: SendableMessage): void {\n this._onFailed(error, message.isResendable ? message : null);\n }\n\n public triggerSucceeded(message: SendableMessage): void {\n this._onSucceeded(message);\n }\n\n public onPending(handler: MessageHandler): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onPending = handler;\n }\n return this;\n }\n\n public onFailed(handler: FailedMessageHandler): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onFailed = handler;\n }\n return this;\n }\n\n public onSucceeded(handler: MessageHandler): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onSucceeded = handler;\n }\n return this;\n }\n}\n\n/**\n * const sendUserMessage = selectors.getSendUserMessage(state);\n * sendUserMessage(\n * channel: GroupChannel | OpenChannel,\n * params: UserMessageCreateParams,\n * )\n * .onPending((message) => {})\n * .onFailed((error, message) => {})\n * .onSucceeded((message) => {})\n */\n\nexport const getSendUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, params: UserMessageCreateParams): UikitMessageHandler => {\n const handler = new UikitMessageHandler();\n const pubSub = getPubSub(state);\n channel.sendUserMessage(params)\n .onFailed((error, message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_FAILED,\n { error, message, channel },\n );\n handler.triggerFailed(error, message);\n })\n .onPending((message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_START,\n { message, channel },\n );\n handler.triggerPending(message);\n })\n .onSucceeded((message) => {\n pubSub.publish(\n topics.SEND_USER_MESSAGE,\n { message, channel },\n );\n handler.triggerSucceeded(message);\n });\n return handler;\n }\n);\n\n/**\n * const sendFileMessage = selectors.getSendFileMessage(state);\n * sendFileMessage(\n * channel: GroupChannel | OpenChannel,\n * params: FileMessageCreateParams,\n * )\n * .onPending((message) => {})\n * .onFailed((error, message) => {})\n * .onSucceeded((message) => {})\n */\nexport const getSendFileMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, params: FileMessageCreateParams): UikitMessageHandler => {\n const handler = new UikitMessageHandler();\n const pubSub = getPubSub(state);\n channel.sendFileMessage(params)\n .onFailed((error, message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_FAILED,\n { error, message, channel },\n );\n handler.triggerFailed(error, message);\n })\n .onPending((message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_START,\n { message, channel },\n );\n handler.triggerPending(message);\n })\n .onSucceeded((message) => {\n pubSub.publish(\n topics.SEND_FILE_MESSAGE,\n { message, channel },\n );\n handler.triggerSucceeded(message);\n });\n return handler;\n }\n);\n\n/**\n * const updateUserMessage = selectors.getUpdateUserMessage(state);\n * updateUserMessage(\n * channel: GroupChannel | OpenChannel,\n * messageId: number,\n * messageParams: UserMessageUpdateParams,\n * )\n * .then((message) => {})\n * .catch((error) => {})\n */\nexport const getUpdateUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, messageId: number, params: UserMessageUpdateParams): Promise<UserMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.updateUserMessage(messageId, params)\n .then((message) => {\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n { message, channel, fromSelector: true },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n// TODO: We will provie this function in the future\n/**\n * const updateFileMessage = selectors.getUpdateFileMessage(state);\n * updateFileMessage(\n * channel: GroupChannel | OpenChannel,\n * messageId: number,\n * params: FileMessageUpdateParams,\n * )\n * .then((message) => {})\n * .catch((error) => {})\n */\n// const getUpdateFileMessage = (state: SendBirdState) => (\n// (channel: GroupChannel | OpenChannel, messageId: number, params: FileMessageUpdateParams) => (\n// new Promise((resolve, reject) => {\n// const pubSub = getPubSub(state);\n// channel.updateFileMessage(messageId, params)\n// .then((message) => {\n// pubSub.publish(\n// topics.UPDATE_USER_MESSAGE,\n// { message, channel, fromSelector: true },\n// );\n// resolve(message);\n// })\n// .catch(reject);\n// })\n// )\n// );\n\n/**\n * const deleteMessage = selectors.getDeleteMessage(state);\n * deleteMessage(\n * channel: GroupChannel | OpenChannel,\n * message: SendableMessage,\n * )\n * .then((deletedMessage) => {})\n * .catch((error) => {})\n */\nexport const getDeleteMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, message: SendableMessageType): Promise<SendableMessageType> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n const { messageId } = message;\n channel.deleteMessage(message)\n .then(() => {\n pubSub.publish(\n topics.DELETE_MESSAGE,\n { messageId, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const resendUserMessage = selectors.getResendUserMessage(state);\n * resendUserMessage(\n * channel: GroupChannel | OpenChannel,\n * failedMessage: UserMessage,\n * )\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getResendUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, failedMessage: UserMessage): Promise<UserMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.resendUserMessage(failedMessage)\n .then((message) => {\n pubSub.publish(\n topics.SEND_USER_MESSAGE,\n { message, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const resendFileMessage = selectors.getResendFileMessage(state);\n * resendFileMessage(\n * channel: GroupChannel | OpenChannel,\n * failedMessage: FileMessage,\n * blob: Blob,\n * )\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getResendFileMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, failedMessage: FileMessage, blob: Blob): Promise<FileMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.resendFileMessage(failedMessage, blob)\n .then((message) => {\n pubSub.publish(\n topics.SEND_FILE_MESSAGE,\n { message, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\nconst sendbirdSelectors = {\n getSdk,\n getPubSub,\n getConnect,\n getDisconnect,\n getUpdateUserInfo,\n getCreateGroupChannel,\n getCreateOpenChannel,\n getGetGroupChannel,\n getGetOpenChannel,\n getLeaveGroupChannel,\n getEnterOpenChannel,\n getExitOpenChannel,\n getFreezeChannel,\n getUnfreezeChannel,\n getSendUserMessage,\n getSendFileMessage,\n getUpdateUserMessage,\n getDeleteMessage,\n getResendUserMessage,\n getResendFileMessage,\n};\n\nexport default sendbirdSelectors;\n"],"names":["getSdk","state","stores","sdkStore","sdk","getPubSub","config","pubSub","getConnect","userId","accessToken","Promise","resolve","reject","Error","connect","then","res","catch","err","getDisconnect","disconnect","getUpdateUserInfo","nickname","profileUrl","updateCurrentUserInfo","userParams","getCreateGroupChannel","params","groupChannel","createChannel","channel","publish","topics","CREATE_CHANNEL","getCreateOpenChannel","openChannel","getGetGroupChannel","channelUrl","getChannel","getGetOpenChannel","getLeaveGroupChannel","_getGetGroupChannel","leave","getEnterOpenChannel","_getGetOpenChannel","enter","getExitOpenChannel","_getGetOpenChannel2","exit","getFreezeChannel","freeze","getUnfreezeChannel","unfreeze","UikitMessageHandler","constructor","_defineProperty","noop","triggerPending","message","_onPending","triggerFailed","error","_onFailed","isResendable","triggerSucceeded","_onSucceeded","onPending","handler","onFailed","onSucceeded","getSendUserMessage","sendUserMessage","SEND_MESSAGE_FAILED","SEND_MESSAGE_START","SEND_USER_MESSAGE","getSendFileMessage","sendFileMessage","SEND_FILE_MESSAGE","getUpdateUserMessage","messageId","updateUserMessage","UPDATE_USER_MESSAGE","fromSelector","getDeleteMessage","deleteMessage","DELETE_MESSAGE","getResendUserMessage","failedMessage","resendUserMessage","getResendFileMessage","blob","resendFileMessage","sendbirdSelectors"],"mappings":"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"}
1
+ {"version":3,"file":"sendbirdSelectors.js","sources":["../src/lib/selectors.ts"],"sourcesContent":["import topics from './pubSub/topics';\nimport type {\n User,\n UserUpdateParams,\n} from '@sendbird/chat';\n\nimport { FailedMessageHandler, MessageHandler, UserMessage, UserMessageCreateParams } from '@sendbird/chat/message';\nimport { GroupChannel, GroupChannelCreateParams, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { OpenChannel, OpenChannelCreateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { FileMessage, FileMessageCreateParams, SendableMessage, UserMessageUpdateParams } from '@sendbird/chat/lib/__definition';\n\nimport {\n SdkStore,\n SendBirdState,\n SendBirdStateConfig,\n SendBirdStateStore,\n} from './types';\nimport { noop } from '../utils/utils';\nimport { SendableMessageType } from '../utils';\n\n/**\n * 1. UIKit Instances\n * a. getSdk\n * b. getPubSub\n * 2. Chat & Connection\n * a. getConnect\n * b. getDisconnect\n * c. getUpdateUserInfo\n * 3. Channel\n * a. getCreateGroupChannel\n * b. getCreateOpenChannel\n * c. getGetGroupChannel\n * d. getGetOpenChannel\n * e. getLeaveGroupChannel\n * f. getEnterOpenChannel\n * g. getExitOpenChannel\n * h. getFreezeChannel\n * i. getUnfreezeChannel\n * 4. Message\n * a. getSendUserMessage\n * b. getSendFileMessage\n * c. getUpdateUserMessage\n * d. x - getUpdateFileMessage\n * e. getDeleteMessage\n * f. getResendUserMessage\n * g. getResendFileMessage\n */\n\n/**\n * import useSendbirdStateContext from '@sendbird-uikit/useSendbirdStateContext'\n * import selectors from '@sendbird-uikit/send'\n * const state = useSendbirdStateContext();\n */\n\n// 1. UIKit Instances\n\n/**\n * const sdk = selectors.getSdk(state);\n */\nexport const getSdk = (state: SendBirdState): SendbirdGroupChat & SendbirdOpenChat => {\n const { stores = {} } = state;\n const { sdkStore = {} } = stores as SendBirdStateStore;\n const { sdk } = sdkStore as SdkStore;\n return sdk;\n};\n\n/**\n * const pubSub = selectors.getPubSub(state);\n */\nexport const getPubSub = (state: SendBirdState): any => {\n const { config = {} } = state;\n const { pubSub } = config as SendBirdStateConfig;\n return pubSub;\n};\n\n// 2. Chat & Connection\n\n/**\n * const connect = selectors.getConnect(state);\n * connect('user-id-sendbirdian', 'access-token-0000')\n * .then((user) => {})\n * .catch((error) => {})\n */\nexport const getConnect = (state: SendBirdState) => (\n (userId: string, accessToken?: string): Promise<User> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk?.connect && typeof sdk.connect === 'function')) {\n reject(new Error('Not found the function \"connect'));\n }\n if (!accessToken) {\n sdk.connect(userId)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n } else {\n sdk.connect(userId, accessToken)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n }\n })\n )\n);\n\n/**\n * const disconnect = selectors.getDisconnect(state);\n * disconnect()\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getDisconnect = (state: SendBirdState) => (\n (): Promise<void> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk.disconnect && typeof sdk.disconnect === 'function')) {\n reject(new Error('Not found the function \"disconnect'));\n }\n sdk.disconnect()\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n })\n )\n);\n\n/**\n * const updateUserInfo = selectors.getUpdateUserInfo(state);\n * updateUserInfo('new-nickname', 'new-profile-url')\n * .then((user) => {})\n * .catch((error) => {})\n */\nexport const getUpdateUserInfo = (state: SendBirdState) => (\n (nickname: string, profileUrl?: string): Promise<User> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!(sdk.updateCurrentUserInfo && typeof sdk.updateCurrentUserInfo === 'function')) {\n reject(new Error('Not found the function \"updateCurrentUserInfo\"'));\n }\n const userParams: UserUpdateParams = { nickname };\n if (profileUrl) {\n userParams.profileUrl = profileUrl;\n }\n sdk.updateCurrentUserInfo(userParams)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n })\n )\n);\n\n// 3. Channel\n\n/**\n * const createGroupChannel = selectors.getCreateGroupChannel(state);\n * createGroupChannel(channelParams: GroupChannelCreateParams)\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getCreateGroupChannel = (state: SendBirdState) => (\n (params: GroupChannelCreateParams): Promise<GroupChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.groupChannel) {\n reject(new Error('Not found GroupChannelModule'));\n }\n if (!(sdk.groupChannel.createChannel && typeof sdk.groupChannel.createChannel === 'function')) {\n reject(new Error('Not found the function \"createChannel\"'));\n }\n sdk.groupChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n pubSub.publish(\n topics.CREATE_CHANNEL,\n { channel },\n );\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const createOpenChannel = selectors.getCreateOpenChannel(state);\n * createOpenChannel(channelParams: OpenChannelCreateParams)\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getCreateOpenChannel = (state: SendBirdState) => (\n (params: OpenChannelCreateParams): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.openChannel) {\n reject(new Error('Not found OpenChannelModule'));\n }\n if (!(sdk.openChannel.createChannel && typeof sdk.openChannel.createChannel === 'function')) {\n reject(new Error('Not found the function \"createChannel\"'));\n }\n sdk.openChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n // Consider pubSub process\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const getGroupChannel = selectors.getGetGroupChannel(state);\n * getGroupChannel('channel-url-1234', isSelected)\n * .then((channel) => {\n * // groupChannel = channel;\n * // or\n * // setCurrentChannel(channel);\n * })\n * .catch((error) => {})\n */\nexport const getGetGroupChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<GroupChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.groupChannel) {\n reject(new Error('Not found GroupChannelModule'));\n }\n if (!(sdk.groupChannel.getChannel && typeof sdk.groupChannel.getChannel === 'function')) {\n reject(new Error('Not found the function \"getChannel\"'));\n }\n sdk.groupChannel.getChannel(channelUrl)\n .then((channel) => {\n resolve(channel);\n // Add pubSub with isSelected\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const getOpenChannel = selectors.getGetOpenChannel(state);\n * getOpenChannel('channel-url-12345')\n * .then((channel) => {\n * // openChannel = channel;\n * // or\n * // setCurrentChannel(channel);\n * })\n * .catch((error) => {})\n */\nexport const getGetOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n const sdk = getSdk(state);\n // const pubSub = getPubSub(state);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!sdk.openChannel) {\n reject(new Error('Not found OpenChannelModule'));\n }\n if (!(sdk.openChannel.getChannel && typeof sdk.openChannel.getChannel === 'function')) {\n reject(new Error('Not found the function \"getChannel\"'));\n }\n sdk.openChannel.getChannel(channelUrl)\n .then((channel) => {\n resolve(channel);\n // Add pubSub with isSelected\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const leaveChannel = selectors.getLeaveGroupChannel(state);\n * leaveChannel('group-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getLeaveGroupChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<void> => (\n new Promise((resolve, reject) => {\n getGetGroupChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.leave()\n .then(() => {\n resolve();\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const enterChannel = selectors.getEnterOpenChannel(state);\n * enterChannel('open-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getEnterOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n getGetOpenChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.enter()\n .then(() => {\n resolve(channel);\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const exitChannel = selectors.getExitOpenChannel(state);\n * exitChannel('open-channel-url')\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getExitOpenChannel = (state: SendBirdState) => (\n (channelUrl: string): Promise<OpenChannel> => (\n new Promise((resolve, reject) => {\n getGetOpenChannel(state)?.(channelUrl)\n .then((channel) => {\n channel.exit()\n .then(() => {\n resolve(channel);\n // Add pubSub process\n })\n .catch(reject);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const freezeChannel = selectors.getFreezeChannel(currentChannel);\n * freezeChannel()\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getFreezeChannel = () => (\n (channel: GroupChannel | OpenChannel): Promise<void> => (\n new Promise((resolve, reject) => {\n if (!(channel.freeze && typeof channel?.freeze === 'function')) {\n reject(new Error('Not found the function \"freeze\"'));\n }\n channel.freeze()\n .then(() => {\n resolve();\n // Add pubSub process\n /**\n * consider divide the logic to\n * _freezeGroupChannel and _freezeOpenChannel\n */\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const unfreezeChannel = selectors.getUnfreezeChannel(currentChannel);\n * unfreezeChannel()\n * .then((channel) => {})\n * .catch((error) => {})\n */\nexport const getUnfreezeChannel = () => (\n (channel: GroupChannel | OpenChannel): Promise<void> => (\n new Promise((resolve, reject) => {\n if (!(channel.unfreeze && typeof channel?.unfreeze === 'function')) {\n reject(new Error('Not found the function \"unfreeze\"'));\n }\n channel.unfreeze()\n .then(() => {\n resolve();\n // Add pubSub process\n /**\n * consider divide the logic to\n * _unfreezeGroupChannel and _unfreezeOpenChannel\n */\n })\n .catch(reject);\n })\n )\n);\n\n// 4. Message\nexport class UikitMessageHandler<T extends SendableMessage = SendableMessage> {\n private _onPending: MessageHandler<T> = noop;\n\n private _onFailed: FailedMessageHandler<T> = noop;\n\n private _onSucceeded: MessageHandler<T> = noop;\n\n public triggerPending(message: T): void {\n this._onPending(message);\n }\n\n public triggerFailed(error: Error, message: T): void {\n this._onFailed(error, message.isResendable ? message : null);\n }\n\n public triggerSucceeded(message: T): void {\n this._onSucceeded(message);\n }\n\n public onPending(handler: MessageHandler<T>): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onPending = handler;\n }\n return this;\n }\n\n public onFailed(handler: FailedMessageHandler<T>): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onFailed = handler;\n }\n return this;\n }\n\n public onSucceeded(handler: MessageHandler<T>): UikitMessageHandler {\n if (typeof handler === 'function') {\n this._onSucceeded = handler;\n }\n return this;\n }\n}\n\n/**\n * const sendUserMessage = selectors.getSendUserMessage(state);\n * sendUserMessage(\n * channel: GroupChannel | OpenChannel,\n * params: UserMessageCreateParams,\n * )\n * .onPending((message) => {})\n * .onFailed((error, message) => {})\n * .onSucceeded((message) => {})\n */\n\nexport const getSendUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, params: UserMessageCreateParams): UikitMessageHandler => {\n const handler = new UikitMessageHandler();\n const pubSub = getPubSub(state);\n channel.sendUserMessage(params)\n .onFailed((error, message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_FAILED,\n { error, message, channel },\n );\n handler.triggerFailed(error, message);\n })\n .onPending((message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_START,\n { message, channel },\n );\n handler.triggerPending(message);\n })\n .onSucceeded((message) => {\n pubSub.publish(\n topics.SEND_USER_MESSAGE,\n { message, channel },\n );\n handler.triggerSucceeded(message);\n });\n return handler;\n }\n);\n\n/**\n * const sendFileMessage = selectors.getSendFileMessage(state);\n * sendFileMessage(\n * channel: GroupChannel | OpenChannel,\n * params: FileMessageCreateParams,\n * )\n * .onPending((message) => {})\n * .onFailed((error, message) => {})\n * .onSucceeded((message) => {})\n */\nexport const getSendFileMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, params: FileMessageCreateParams): UikitMessageHandler => {\n const handler = new UikitMessageHandler();\n const pubSub = getPubSub(state);\n channel.sendFileMessage(params)\n .onFailed((error, message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_FAILED,\n { error, message, channel },\n );\n handler.triggerFailed(error, message);\n })\n .onPending((message) => {\n pubSub.publish(\n topics.SEND_MESSAGE_START,\n { message, channel },\n );\n handler.triggerPending(message);\n })\n .onSucceeded((message) => {\n pubSub.publish(\n topics.SEND_FILE_MESSAGE,\n { message, channel },\n );\n handler.triggerSucceeded(message);\n });\n return handler;\n }\n);\n\n/**\n * const updateUserMessage = selectors.getUpdateUserMessage(state);\n * updateUserMessage(\n * channel: GroupChannel | OpenChannel,\n * messageId: number,\n * messageParams: UserMessageUpdateParams,\n * )\n * .then((message) => {})\n * .catch((error) => {})\n */\nexport const getUpdateUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, messageId: number, params: UserMessageUpdateParams): Promise<UserMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.updateUserMessage(messageId, params)\n .then((message) => {\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n { message, channel, fromSelector: true },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n// TODO: We will provie this function in the future\n/**\n * const updateFileMessage = selectors.getUpdateFileMessage(state);\n * updateFileMessage(\n * channel: GroupChannel | OpenChannel,\n * messageId: number,\n * params: FileMessageUpdateParams,\n * )\n * .then((message) => {})\n * .catch((error) => {})\n */\n// const getUpdateFileMessage = (state: SendBirdState) => (\n// (channel: GroupChannel | OpenChannel, messageId: number, params: FileMessageUpdateParams) => (\n// new Promise((resolve, reject) => {\n// const pubSub = getPubSub(state);\n// channel.updateFileMessage(messageId, params)\n// .then((message) => {\n// pubSub.publish(\n// topics.UPDATE_USER_MESSAGE,\n// { message, channel, fromSelector: true },\n// );\n// resolve(message);\n// })\n// .catch(reject);\n// })\n// )\n// );\n\n/**\n * const deleteMessage = selectors.getDeleteMessage(state);\n * deleteMessage(\n * channel: GroupChannel | OpenChannel,\n * message: SendableMessage,\n * )\n * .then((deletedMessage) => {})\n * .catch((error) => {})\n */\nexport const getDeleteMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, message: SendableMessageType): Promise<SendableMessageType> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n const { messageId } = message;\n channel.deleteMessage(message)\n .then(() => {\n pubSub.publish(\n topics.DELETE_MESSAGE,\n { messageId, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const resendUserMessage = selectors.getResendUserMessage(state);\n * resendUserMessage(\n * channel: GroupChannel | OpenChannel,\n * failedMessage: UserMessage,\n * )\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getResendUserMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, failedMessage: UserMessage): Promise<UserMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.resendUserMessage(failedMessage)\n .then((message) => {\n pubSub.publish(\n topics.SEND_USER_MESSAGE,\n { message, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\n/**\n * const resendFileMessage = selectors.getResendFileMessage(state);\n * resendFileMessage(\n * channel: GroupChannel | OpenChannel,\n * failedMessage: FileMessage,\n * blob: Blob,\n * )\n * .then(() => {})\n * .catch((error) => {})\n */\nexport const getResendFileMessage = (state: SendBirdState) => (\n (channel: GroupChannel | OpenChannel, failedMessage: FileMessage, blob: Blob): Promise<FileMessage> => (\n new Promise((resolve, reject) => {\n const pubSub = getPubSub(state);\n channel.resendFileMessage(failedMessage, blob)\n .then((message) => {\n pubSub.publish(\n topics.SEND_FILE_MESSAGE,\n { message, channel },\n );\n resolve(message);\n })\n .catch(reject);\n })\n )\n);\n\nconst sendbirdSelectors = {\n getSdk,\n getPubSub,\n getConnect,\n getDisconnect,\n getUpdateUserInfo,\n getCreateGroupChannel,\n getCreateOpenChannel,\n getGetGroupChannel,\n getGetOpenChannel,\n getLeaveGroupChannel,\n getEnterOpenChannel,\n getExitOpenChannel,\n getFreezeChannel,\n getUnfreezeChannel,\n getSendUserMessage,\n getSendFileMessage,\n getUpdateUserMessage,\n getDeleteMessage,\n getResendUserMessage,\n getResendFileMessage,\n};\n\nexport default sendbirdSelectors;\n"],"names":["getSdk","state","_a","stores","_b","sdkStore","sdk","getPubSub","config","pubSub","getConnect","userId","accessToken","Promise","resolve","reject","Error","connect","then","res","catch","err","getDisconnect","disconnect","getUpdateUserInfo","nickname","profileUrl","updateCurrentUserInfo","userParams","getCreateGroupChannel","params","groupChannel","createChannel","channel","publish","topics","CREATE_CHANNEL","getCreateOpenChannel","openChannel","getGetGroupChannel","channelUrl","getChannel","getGetOpenChannel","getLeaveGroupChannel","leave","getEnterOpenChannel","enter","getExitOpenChannel","exit","getFreezeChannel","freeze","getUnfreezeChannel","unfreeze","UikitMessageHandler","_onPending","noop","_onFailed","_onSucceeded","prototype","triggerPending","message","triggerFailed","error","isResendable","triggerSucceeded","onPending","handler","onFailed","onSucceeded","getSendUserMessage","sendUserMessage","SEND_MESSAGE_FAILED","SEND_MESSAGE_START","SEND_USER_MESSAGE","getSendFileMessage","sendFileMessage","SEND_FILE_MESSAGE","getUpdateUserMessage","messageId","updateUserMessage","UPDATE_USER_MESSAGE","fromSelector","getDeleteMessage","deleteMessage","DELETE_MESSAGE","getResendUserMessage","failedMessage","resendUserMessage","getResendFileMessage","blob","resendFileMessage","sendbirdSelectors"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { c as isMultipleFilesMessage } from './index-fc1642cb.js';
2
+ import { K } from './index-c6095960.js';
3
+
4
+ function getModalDeleteMessageTitle(stringSet, message) {
5
+ return K(message).when(isMultipleFilesMessage, function () {
6
+ var filesCount = message.fileInfoList.length;
7
+ return "Do you want to delete all ".concat(filesCount, " photos?");
8
+ }).otherwise(function () {
9
+ return stringSet.MODAL__DELETE_MESSAGE__TITLE;
10
+ });
11
+ }
12
+
13
+ export { getModalDeleteMessageTitle as g };
14
+ //# sourceMappingURL=stringFormatterUtils-444f6f4c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringFormatterUtils-dbad592d.js","sources":["../src/ui/Label/stringFormatterUtils.ts"],"sourcesContent":["import { CoreMessageType, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nexport function getModalDeleteMessageTitle(stringSet: Record<string, string>, message: CoreMessageType): string {\n return match(message)\n .when(isMultipleFilesMessage, () => {\n const filesCount: number = (message as MultipleFilesMessage).fileInfoList.length;\n return `Do you want to delete all ${filesCount} photos?`;\n })\n .otherwise(() => {\n return stringSet.MODAL__DELETE_MESSAGE__TITLE;\n });\n}\n"],"names":["getModalDeleteMessageTitle","stringSet","message","match","when","isMultipleFilesMessage","filesCount","fileInfoList","length","otherwise","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;AAIO,SAASA,0BAA0BA,CAACC,SAAiC,EAAEC,OAAwB,EAAU;EAC9G,OAAOC,CAAK,CAACD,OAAO,CAAC,CAClBE,IAAI,CAACC,sBAAsB,EAAE,MAAM;AAClC,IAAA,MAAMC,UAAkB,GAAIJ,OAAO,CAA0BK,YAAY,CAACC,MAAM,CAAA;IAChF,OAAQ,CAAA,0BAAA,EAA4BF,UAAW,CAAS,QAAA,CAAA,CAAA;AAC1D,GAAC,CAAC,CACDG,SAAS,CAAC,MAAM;IACf,OAAOR,SAAS,CAACS,4BAA4B,CAAA;AAC/C,GAAC,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"stringFormatterUtils-444f6f4c.js","sources":["../src/ui/Label/stringFormatterUtils.ts"],"sourcesContent":["import { CoreMessageType, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nexport function getModalDeleteMessageTitle(stringSet: Record<string, string>, message: CoreMessageType): string {\n return match(message)\n .when(isMultipleFilesMessage, () => {\n const filesCount: number = (message as MultipleFilesMessage).fileInfoList.length;\n return `Do you want to delete all ${filesCount} photos?`;\n })\n .otherwise(() => {\n return stringSet.MODAL__DELETE_MESSAGE__TITLE;\n });\n}\n"],"names":["getModalDeleteMessageTitle","stringSet","message","match","when","isMultipleFilesMessage","filesCount","fileInfoList","length","concat","otherwise","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;AAIgB,SAAAA,0BAA0BA,CAACC,SAAiC,EAAEC,OAAwB,EAAA;EACpG,OAAOC,CAAK,CAACD,OAAO,CAAC,CAClBE,IAAI,CAACC,sBAAsB,EAAE,YAAA;AAC5B,IAAA,IAAMC,UAAU,GAAYJ,OAAgC,CAACK,YAAY,CAACC,MAAM,CAAA;AAChF,IAAA,OAAO,4BAAA,CAAAC,MAAA,CAA6BH,UAAU,EAAA,UAAA,CAAU,CAAA;AAC1D,GAAC,CAAC,CACDI,SAAS,CAAC,YAAA;IACT,OAAOT,SAAS,CAACU,4BAA4B,CAAA;AAC/C,GAAC,CAAC,CAAA;AACN;;;;"}
@@ -193,11 +193,18 @@ const getStringSet = function () {
193
193
  // Feature - Voice Message
194
194
  VOICE_RECORDING_PERMISSION_DENIED: `You cannot record the voice since
195
195
  voice recording is not permitted in your device system setting`,
196
- VOICE_MESSAGE: 'Voice Message'
196
+ VOICE_MESSAGE: 'Voice Message',
197
+ // Channel preview last message file type display strings
198
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF: 'GIF',
199
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO: 'Photo',
200
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO: 'Video',
201
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO: 'Audio',
202
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE: 'Voice message',
203
+ CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL: 'File'
197
204
  }
198
205
  };
199
206
  return stringSet[lang];
200
207
  };
201
208
 
202
209
  export { getStringSet as g };
203
- //# sourceMappingURL=stringSet-2814bf17.js.map
210
+ //# sourceMappingURL=stringSet-1106c8ec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringSet-1106c8ec.js","sources":["../src/ui/Label/stringSet.js"],"sourcesContent":["/**\n * NOTE:\n * Do not forget to update the string set table on Docs\n * When you update this string set\n */\n\nconst getStringSet = (lang = 'en') => {\n const stringSet = {\n en: {\n // Group Channel - Conversation\n MESSAGE_STATUS__YESTERDAY: 'Yesterday',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE: 'new message(s) since',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__ON: 'on',\n // Channel List\n CHANNEL_PREVIEW_MOBILE_LEAVE: 'Leave channel',\n // Group Channel - Settings\n CHANNEL_SETTING__HEADER__TITLE: 'Channel information',\n CHANNEL_SETTING__PROFILE__EDIT: 'Edit',\n CHANNEL_SETTING__MEMBERS__TITLE: 'Members',\n CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS: 'All members',\n CHANNEL_SETTING__MEMBERS__INVITE_MEMBER: 'Invite users',\n CHANNEL_SETTING__MEMBERS__YOU: ' (You)',\n CHANNEL_SETTING__MEMBERS__SELECT_TITLE: 'Select members',\n CHANNEL_SETTING__MEMBERS__OPERATOR: 'Operator',\n CHANNEL_SETTING__LEAVE_CHANNEL__TITLE: 'Leave channel',\n CHANNEL_SETTING__OPERATORS__TITLE: 'Operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ALL: 'All operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ADD: 'Add operator',\n CHANNEL_SETTING__OPERATORS__ADD_BUTTON: 'Add',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE: 'Muted members',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL: 'All muted members',\n CHANNEL_SETTING__NO_UNMUTED: 'No muted members yet',\n CHANNEL_SETTING__BANNED_MEMBERS__TITLE: 'Banned users',\n CHANNEL_SETTING__FREEZE_CHANNEL: 'Freeze Channel',\n CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR: 'Register as operator',\n CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR: 'Unregister operator',\n CHANNEL_SETTING__MODERATION__MUTE: 'Mute',\n CHANNEL_SETTING__MODERATION__UNMUTE: 'Unmute',\n CHANNEL_SETTING__MODERATION__BAN: 'Ban',\n CHANNEL_SETTING__MODERATION__UNBAN: 'Unban',\n CHANNEL_SETTING__MODERATION__EMPTY_BAN: 'No banned members yet',\n CHANNEL_SETTING__MODERATION__ALL_BAN: 'All banned members',\n // OpenChannel - Conversation\n OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS: 'participants',\n OPEN_CHANNEL_CONVERSATION__SELECT_PARTICIPANTS: 'Select participants',\n // OpenChannelList\n OPEN_CHANNEL_LIST__TITLE: 'Channels',\n CREATE_OPEN_CHANNEL_LIST__TITLE: 'New channel profile',\n CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_SECTION: 'Channel image',\n CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_UPLOAD: 'Upload',\n CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_SECTION: 'Channel name',\n CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_PLACE_HOLDER: 'Enter channel name',\n CREATE_OPEN_CHANNEL_LIST__SUBMIT: 'Create',\n // OpenChannel - Settings\n OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE: 'Channel Information',\n OPEN_CHANNEL_SETTINGS__OPERATOR_URL: 'URL',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL: 'Delete channel',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE: 'Delete channel?',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_CONTEXT: 'Once deleted, this channel can\\'t be restored.',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT: 'Delete',\n OPEN_CHANNEL_SETTINGS__OPERATORS_TITLE: 'Operators',\n OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ADD: 'Add operator',\n OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ALL: 'All operators',\n OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE: 'Muted participants',\n OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE_ALL: 'All muted participants',\n OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__NO_ONE: 'No muted participants yet',\n OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE: 'Banned users',\n OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE_ALL: 'All banned users',\n OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__NO_ONE: 'No banned users yet',\n OPEN_CHANNEL_SETTINGS__MEMBERS__YOU: ' (You)',\n OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR: 'Operator',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__EMPTY_LIST: 'No participants yet',\n OPEN_CHANNEL_SETTINGS__SEE_ALL: 'See all participants',\n OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE: 'All participants',\n OPEN_CHANNEL_SETTINGS__NO_TITLE: '(No title)',\n OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR: 'Register as operator',\n OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR: 'Unregister operator',\n OPEN_CHANNEL_SETTING__MODERATION__MUTE: 'Mute',\n OPEN_CHANNEL_SETTING__MODERATION__UNMUTE: 'Unmute',\n OPEN_CHANNEL_SETTING__MODERATION__BAN: 'Ban',\n OPEN_CHANNEL_SETTING__MODERATION__UNBAN: 'Unban',\n // Channel - Common\n TRYING_TO_CONNECT: 'Trying to connect…',\n TYPING_INDICATOR__IS_TYPING: 'is typing...',\n TYPING_INDICATOR__AND: 'and',\n TYPING_INDICATOR__ARE_TYPING: 'are typing...',\n TYPING_INDICATOR__MULTIPLE_TYPING: 'Several people are typing...',\n CHANNEL_FROZEN: 'Channel frozen',\n PLACE_HOLDER__NO_CHANNEL: 'No channels',\n PLACE_HOLDER__WRONG: 'Something went wrong',\n PLACE_HOLDER__RETRY_TO_CONNECT: 'Retry',\n PLACE_HOLDER__NO_MESSAGES: 'No messages',\n TOOLTIP__AND_YOU: ', and you',\n TOOLTIP__YOU: 'you',\n TOOLTIP__UNKNOWN_USER: '(no name)',\n UNKNOWN__UNKNOWN_MESSAGE_TYPE: '(Unknown message type)',\n UNKNOWN__CANNOT_READ_MESSAGE: 'Cannot read this message.',\n MESSAGE_EDITED: '(edited)',\n // Channel - Modal\n MODAL__DELETE_MESSAGE__TITLE: 'Delete this message?',\n MODAL__CHANNEL_INFORMATION__TITLE: 'Edit channel information',\n MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE: 'Channel image',\n MODAL__CHANNEL_INFORMATION__UPLOAD: 'Upload',\n MODAL__CHANNEL_INFORMATION__CHANNEL_NAME: 'Channel name',\n MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER: 'Enter name',\n MODAL__INVITE_MEMBER__TITLE: 'Invite member',\n MODAL__INVITE_MEMBER__SELECTED: 'selected',\n MODAL__CHOOSE_CHANNEL_TYPE__TITLE: 'New channel',\n MODAL__CHOOSE_CHANNEL_TYPE__GROUP: 'Group',\n MODAL__CHOOSE_CHANNEL_TYPE__SUPER_GROUP: 'Super group',\n MODAL__CHOOSE_CHANNEL_TYPE__BROADCAST: 'Broadcast',\n MODAL__CREATE_CHANNEL__TITLE: 'New channel',\n MODAL__CREATE_CHANNEL__GROUP: 'Group',\n MODAL__CREATE_CHANNEL__SUPER: 'Super group',\n MODAL__CREATE_CHANNEL__BROADCAST: 'Broadcast',\n MODAL__CREATE_CHANNEL__SELECTED: 'selected',\n MODAL__LEAVE_CHANNEL__TITLE: 'Leave this channel?',\n MODAL__LEAVE_CHANNEL__FOOTER: 'Leave',\n MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED: 'You\\'re muted by the operator.',\n MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN: 'Channel is frozen.',\n // User Profile\n USER_PROFILE__MESSAGE: 'Message',\n USER_PROFILE__USER_ID: 'User ID',\n EDIT_PROFILE__TITLE: 'My profile',\n EDIT_PROFILE__IMAGE_LABEL: 'Profile image',\n EDIT_PROFILE__IMAGE_UPLOAD: 'Upload',\n EDIT_PROFILE__NICKNAME_LABEL: 'Nickname',\n EDIT_PROFILE__NICKNAME_PLACEHOLDER: 'Enter your nickname',\n EDIT_PROFILE__USERID_LABEL: 'User ID',\n EDIT_PROFILE__THEME_LABEL: 'Dark theme',\n // Message Input\n MESSAGE_INPUT__PLACE_HOLDER: 'Enter message',\n MESSAGE_INPUT__PLACE_HOLDER__DISABLED: 'Chat is unavailable in this channel',\n MESSAGE_INPUT__PLACE_HOLDER__MUTED: 'Chat is unavailable because you\\'re muted',\n MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT: 'You\\'re muted',\n MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER: 'Reply to message',\n // Common UI\n BUTTON__CANCEL: 'Cancel',\n BUTTON__DELETE: 'Delete',\n BUTTON__SAVE: 'Save',\n BUTTON__CREATE: 'Create',\n BUTTON__INVITE: 'Invite',\n BUTTON__OK: 'OK',\n BADGE__OVER: '+',\n NO_TITLE: 'No title',\n NO_NAME: '(No name)',\n NO_MEMBERS: '(No members)',\n // Context Menu\n MESSAGE_MENU__COPY: 'Copy',\n MESSAGE_MENU__REPLY: 'Reply',\n MESSAGE_MENU__THREAD: 'Reply in thread',\n MESSAGE_MENU__OPEN_IN_CHANNEL: 'Open in channel',\n MESSAGE_MENU__EDIT: 'Edit',\n MESSAGE_MENU__RESEND: 'Resend',\n MESSAGE_MENU__DELETE: 'Delete',\n MESSAGE_MENU__SAVE: 'Save',\n // * FIXME: get back legacy, remove after refactoring open channel messages *\n CONTEXT_MENU_DROPDOWN__COPY: 'Copy',\n CONTEXT_MENU_DROPDOWN__EDIT: 'Edit',\n CONTEXT_MENU_DROPDOWN__RESEND: 'Resend',\n CONTEXT_MENU_DROPDOWN__DELETE: 'Delete',\n CONTEXT_MENU_DROPDOWN__SAVE: 'Save',\n // Feature - Message Search\n SEARCH: 'Search',\n SEARCH_IN_CHANNEL: 'Search in channel',\n SEARCH_IN: 'Search in',\n SEARCHING: 'Searching for messages...',\n NO_SEARCHED_MESSAGE: 'No results found.',\n // Feature - Message Reply\n QUOTE_MESSAGE_INPUT__REPLY_TO: 'Reply to',\n QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE: 'Photo',\n QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF: 'GIF',\n QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO: 'Video',\n QUOTED_MESSAGE__REPLIED_TO: 'replied to',\n QUOTED_MESSAGE__CURRENT_USER: 'You',\n QUOTED_MESSAGE__UNAVAILABLE: 'Message unavailable',\n // Feature - Thread\n THREAD__HEADER_TITLE: 'Thread',\n CHANNEL__THREAD_REPLY: 'reply',\n CHANNEL__THREAD_REPLIES: 'replies',\n CHANNEL__THREAD_OVER_MAX: '99+',\n THREAD__THREAD_REPLY: 'reply',\n THREAD__THREAD_REPLIES: 'replies',\n THREAD__INPUT__REPLY_TO_THREAD: 'Reply to thread',\n THREAD__INPUT__REPLY_IN_THREAD: 'Reply in thread',\n // Feature - Mention\n MENTION_NAME__NO_NAME: '(No name)',\n MENTION_COUNT__OVER_LIMIT: 'You can mention up to %d times at a time.',\n UI__FILE_VIEWER__UNSUPPORT: 'Unsupported message',\n // Feature - Voice Message\n VOICE_RECORDING_PERMISSION_DENIED: `You cannot record the voice since\n voice recording is not permitted in your device system setting`,\n VOICE_MESSAGE: 'Voice Message',\n // Channel preview last message file type display strings\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF: 'GIF',\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO: 'Photo',\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO: 'Video',\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO: 'Audio',\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE: 'Voice message',\n CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL: 'File',\n },\n };\n return stringSet[lang];\n};\n\nexport default getStringSet;\n"],"names":["getStringSet","lang","arguments","length","undefined","stringSet","en","MESSAGE_STATUS__YESTERDAY","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","CHANNEL_PREVIEW_MOBILE_LEAVE","CHANNEL_SETTING__HEADER__TITLE","CHANNEL_SETTING__PROFILE__EDIT","CHANNEL_SETTING__MEMBERS__TITLE","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","CHANNEL_SETTING__MEMBERS__YOU","CHANNEL_SETTING__MEMBERS__SELECT_TITLE","CHANNEL_SETTING__MEMBERS__OPERATOR","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","CHANNEL_SETTING__OPERATORS__TITLE","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__OPERATORS__ADD_BUTTON","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL","CHANNEL_SETTING__NO_UNMUTED","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","CHANNEL_SETTING__FREEZE_CHANNEL","CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","CHANNEL_SETTING__MODERATION__MUTE","CHANNEL_SETTING__MODERATION__UNMUTE","CHANNEL_SETTING__MODERATION__BAN","CHANNEL_SETTING__MODERATION__UNBAN","CHANNEL_SETTING__MODERATION__EMPTY_BAN","CHANNEL_SETTING__MODERATION__ALL_BAN","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","OPEN_CHANNEL_CONVERSATION__SELECT_PARTICIPANTS","OPEN_CHANNEL_LIST__TITLE","CREATE_OPEN_CHANNEL_LIST__TITLE","CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_SECTION","CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_UPLOAD","CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_SECTION","CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_PLACE_HOLDER","CREATE_OPEN_CHANNEL_LIST__SUBMIT","OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_CONTEXT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__OPERATORS_TITLE","OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ADD","OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ALL","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE_ALL","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__NO_ONE","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE_ALL","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__NO_ONE","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","OPEN_CHANNEL_SETTINGS__SEE_ALL","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__NO_TITLE","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__MUTE","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__BAN","OPEN_CHANNEL_SETTING__MODERATION__UNBAN","TRYING_TO_CONNECT","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","CHANNEL_FROZEN","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__RETRY_TO_CONNECT","PLACE_HOLDER__NO_MESSAGES","TOOLTIP__AND_YOU","TOOLTIP__YOU","TOOLTIP__UNKNOWN_USER","UNKNOWN__UNKNOWN_MESSAGE_TYPE","UNKNOWN__CANNOT_READ_MESSAGE","MESSAGE_EDITED","MODAL__DELETE_MESSAGE__TITLE","MODAL__CHANNEL_INFORMATION__TITLE","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","MODAL__INVITE_MEMBER__TITLE","MODAL__INVITE_MEMBER__SELECTED","MODAL__CHOOSE_CHANNEL_TYPE__TITLE","MODAL__CHOOSE_CHANNEL_TYPE__GROUP","MODAL__CHOOSE_CHANNEL_TYPE__SUPER_GROUP","MODAL__CHOOSE_CHANNEL_TYPE__BROADCAST","MODAL__CREATE_CHANNEL__TITLE","MODAL__CREATE_CHANNEL__GROUP","MODAL__CREATE_CHANNEL__SUPER","MODAL__CREATE_CHANNEL__BROADCAST","MODAL__CREATE_CHANNEL__SELECTED","MODAL__LEAVE_CHANNEL__TITLE","MODAL__LEAVE_CHANNEL__FOOTER","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","USER_PROFILE__MESSAGE","USER_PROFILE__USER_ID","EDIT_PROFILE__TITLE","EDIT_PROFILE__IMAGE_LABEL","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","MESSAGE_INPUT__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","BUTTON__CANCEL","BUTTON__DELETE","BUTTON__SAVE","BUTTON__CREATE","BUTTON__INVITE","BUTTON__OK","BADGE__OVER","NO_TITLE","NO_NAME","NO_MEMBERS","MESSAGE_MENU__COPY","MESSAGE_MENU__REPLY","MESSAGE_MENU__THREAD","MESSAGE_MENU__OPEN_IN_CHANNEL","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","MESSAGE_MENU__DELETE","MESSAGE_MENU__SAVE","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","CONTEXT_MENU_DROPDOWN__SAVE","SEARCH","SEARCH_IN_CHANNEL","SEARCH_IN","SEARCHING","NO_SEARCHED_MESSAGE","QUOTE_MESSAGE_INPUT__REPLY_TO","QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE","QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF","QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO","QUOTED_MESSAGE__REPLIED_TO","QUOTED_MESSAGE__CURRENT_USER","QUOTED_MESSAGE__UNAVAILABLE","THREAD__HEADER_TITLE","CHANNEL__THREAD_REPLY","CHANNEL__THREAD_REPLIES","CHANNEL__THREAD_OVER_MAX","THREAD__THREAD_REPLY","THREAD__THREAD_REPLIES","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","MENTION_NAME__NO_NAME","MENTION_COUNT__OVER_LIMIT","UI__FILE_VIEWER__UNSUPPORT","VOICE_RECORDING_PERMISSION_DENIED","VOICE_MESSAGE","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { D as isUrl } from './index-5d6a0f12.js';
1
+ import { c as __spreadArray } from './tslib.es6-0c779aab.js';
2
+ import { F as isUrl } from './index-fc1642cb.js';
2
3
 
3
- const USER_MENTION_PREFIX = '@';
4
+ var USER_MENTION_PREFIX = '@';
4
5
 
5
- const TOKEN_TYPES = {
6
+ var TOKEN_TYPES = {
6
7
  string: 'string',
7
8
  mention: 'mention',
8
9
  url: 'url',
@@ -10,42 +11,42 @@ const TOKEN_TYPES = {
10
11
  };
11
12
 
12
13
  function getUserMentionRegex(mentionedUsers, templatePrefix_) {
13
- const templatePrefix = templatePrefix_ || USER_MENTION_PREFIX;
14
- return RegExp(`(${mentionedUsers.map(u => {
15
- const userId = u.userId.replace(
14
+ var templatePrefix = templatePrefix_ || USER_MENTION_PREFIX;
15
+ return RegExp("(".concat(mentionedUsers.map(function (u) {
16
+ var userId = u.userId.replace(
16
17
  // If user.id includes these patterns, need to convert it into an escaped one
17
18
  /([.*+?^${}()|[\]\\])/g, '\\$1');
18
19
  /**
19
20
  * //{ And //} are also for escaping
20
21
  * because curly braces `{}` are metacharacters in regular expressions used to specify repetition
21
22
  */
22
- return `${templatePrefix}\\{${userId}\\}`;
23
- }).join('|')})`, 'g');
23
+ return "".concat(templatePrefix, "\\{").concat(userId, "\\}");
24
+ }).join('|'), ")"), 'g');
24
25
  }
25
- function identifyMentions(_ref) {
26
- let {
27
- tokens,
28
- mentionedUsers = [],
29
- templatePrefix = USER_MENTION_PREFIX
30
- } = _ref;
31
- if (!(mentionedUsers !== null && mentionedUsers !== void 0 && mentionedUsers.length)) {
26
+ function identifyMentions(_a) {
27
+ var tokens = _a.tokens,
28
+ _b = _a.mentionedUsers,
29
+ mentionedUsers = _b === void 0 ? [] : _b,
30
+ _c = _a.templatePrefix,
31
+ templatePrefix = _c === void 0 ? USER_MENTION_PREFIX : _c;
32
+ if (!(mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length)) {
32
33
  return tokens;
33
34
  }
34
- const userMentionRegex = getUserMentionRegex(mentionedUsers, templatePrefix);
35
- const results = tokens.map(token => {
35
+ var userMentionRegex = getUserMentionRegex(mentionedUsers, templatePrefix);
36
+ var results = tokens.map(function (token) {
36
37
  // if the token is not undetermined, return it as is
37
38
  // is kinda unnecessary with TS, but just in case
38
39
  if (token.type !== TOKEN_TYPES.undetermined) {
39
40
  return token;
40
41
  }
41
- const {
42
- value
43
- } = token;
44
- const parts = value.split(userMentionRegex);
45
- const tokens = parts.map(part => {
42
+ var value = token.value;
43
+ var parts = value.split(userMentionRegex);
44
+ var tokens = parts.map(function (part) {
46
45
  if (part.match(userMentionRegex)) {
47
- const matchedUser = mentionedUsers.find(user => `@{${user === null || user === void 0 ? void 0 : user.userId}}` === part);
48
- const nickname = (matchedUser === null || matchedUser === void 0 ? void 0 : matchedUser.nickname) || '(No name)';
46
+ var matchedUser = mentionedUsers.find(function (user) {
47
+ return "@{".concat(user === null || user === void 0 ? void 0 : user.userId, "}") === part;
48
+ });
49
+ var nickname = (matchedUser === null || matchedUser === void 0 ? void 0 : matchedUser.nickname) || '(No name)';
49
50
  return {
50
51
  value: nickname,
51
52
  type: TOKEN_TYPES.mention,
@@ -63,15 +64,14 @@ function identifyMentions(_ref) {
63
64
  return results;
64
65
  }
65
66
  function identifyUrlsAndStrings(token) {
66
- const results = token.map(token => {
67
+ var results = token.map(function (token) {
67
68
  if (token.type !== TOKEN_TYPES.undetermined) {
68
69
  return token;
69
70
  }
70
- const {
71
- value = ''
72
- } = token;
73
- const parts = value.split(' ');
74
- const tokens = parts.map(part => {
71
+ var _a = token.value,
72
+ value = _a === void 0 ? '' : _a;
73
+ var parts = value.split(' ');
74
+ var tokens = parts.map(function (part) {
75
75
  if (isUrl(part)) {
76
76
  return {
77
77
  value: part,
@@ -89,45 +89,42 @@ function identifyUrlsAndStrings(token) {
89
89
  return results;
90
90
  }
91
91
  function combineNearbyStrings(tokens) {
92
- const results = tokens.reduce((acc, token) => {
93
- const lastToken = acc[acc.length - 1];
92
+ var results = tokens.reduce(function (acc, token) {
93
+ var lastToken = acc[acc.length - 1];
94
94
  if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.type) === TOKEN_TYPES.string && token.type === TOKEN_TYPES.string) {
95
- lastToken.value = `${lastToken.value} ${token.value}`;
95
+ lastToken.value = "".concat(lastToken.value, " ").concat(token.value);
96
96
  return acc;
97
97
  }
98
- return [...acc, token];
98
+ return __spreadArray(__spreadArray([], acc, true), [token], false);
99
99
  }, []);
100
100
  return results;
101
101
  }
102
-
103
102
  /**
104
103
  * Converts text into set of rich tokens
105
104
  */
106
- function tokenizeMessage(_ref2) {
107
- let {
108
- messageText,
109
- mentionedUsers = [],
110
- templatePrefix = USER_MENTION_PREFIX
111
- } = _ref2;
105
+ function tokenizeMessage(_a) {
106
+ var messageText = _a.messageText,
107
+ _b = _a.mentionedUsers,
108
+ mentionedUsers = _b === void 0 ? [] : _b,
109
+ _c = _a.templatePrefix,
110
+ templatePrefix = _c === void 0 ? USER_MENTION_PREFIX : _c;
112
111
  // mention can be squeezed-in(no-space-between) with other mentions and urls
113
112
  // if no users are mentioned, return the messageText as a single token
114
- const partialResult = [{
113
+ var partialResult = [{
115
114
  type: TOKEN_TYPES.undetermined,
116
115
  value: messageText
117
116
  }];
118
-
119
117
  // order is important because we want to identify mentions first
120
118
  // identifyMentions will return a token with type mention or undetermined
121
- const partialWithMentions = identifyMentions({
119
+ var partialWithMentions = identifyMentions({
122
120
  tokens: partialResult,
123
- mentionedUsers,
124
- templatePrefix
121
+ mentionedUsers: mentionedUsers,
122
+ templatePrefix: templatePrefix
125
123
  });
126
- const partialsWithUrlsAndMentions = identifyUrlsAndStrings(partialWithMentions);
127
- const result = combineNearbyStrings(partialsWithUrlsAndMentions);
124
+ var partialsWithUrlsAndMentions = identifyUrlsAndStrings(partialWithMentions);
125
+ var result = combineNearbyStrings(partialsWithUrlsAndMentions);
128
126
  return result;
129
127
  }
130
-
131
128
  /**
132
129
  * Don't need to use this util in DOM element since the white spaces will be kept as is,
133
130
  * but will need if the text is wrapped \w React.Fragement or </>
@@ -136,24 +133,22 @@ function tokenizeMessage(_ref2) {
136
133
  * to preserve the leading & trailing white spaces
137
134
  */
138
135
  function getWhiteSpacePreservedText(text) {
139
- const NON_BREAKING_SPACE = '\u00A0';
136
+ var NON_BREAKING_SPACE = '\u00A0';
140
137
  // Split the input string into lines
141
- const lines = text.split('\n');
142
-
138
+ var lines = text.split('\n');
143
139
  // Process each line and convert leading and trailing white spaces to "\u00A0"
144
- const processedLines = lines.map(line => {
145
- var _line$match, _line$match2;
146
- const leadingWhitespace = ((_line$match = line.match(/^\s*/)) === null || _line$match === void 0 ? void 0 : _line$match[0]) || '';
147
- const trailingWhitespace = ((_line$match2 = line.match(/\s*$/)) === null || _line$match2 === void 0 ? void 0 : _line$match2[0]) || '';
148
- const convertedLeadingWhitespace = leadingWhitespace.replace(/ /g, NON_BREAKING_SPACE);
149
- const convertedTrailingWhitespace = trailingWhitespace.replace(/ /g, NON_BREAKING_SPACE);
140
+ var processedLines = lines.map(function (line) {
141
+ var _a, _b;
142
+ var leadingWhitespace = ((_a = line.match(/^\s*/)) === null || _a === void 0 ? void 0 : _a[0]) || '';
143
+ var trailingWhitespace = ((_b = line.match(/\s*$/)) === null || _b === void 0 ? void 0 : _b[0]) || '';
144
+ var convertedLeadingWhitespace = leadingWhitespace.replace(/ /g, NON_BREAKING_SPACE);
145
+ var convertedTrailingWhitespace = trailingWhitespace.replace(/ /g, NON_BREAKING_SPACE);
150
146
  return convertedLeadingWhitespace + line.trim() + convertedTrailingWhitespace;
151
147
  });
152
-
153
148
  // Combine the processed lines into a new string with "\n"
154
- const result = processedLines.join('\n');
149
+ var result = processedLines.join('\n');
155
150
  return result;
156
151
  }
157
152
 
158
153
  export { TOKEN_TYPES as T, USER_MENTION_PREFIX as U, getWhiteSpacePreservedText as g, tokenizeMessage as t };
159
- //# sourceMappingURL=tokenize-4b153552.js.map
154
+ //# sourceMappingURL=tokenize-d17bf862.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize-4b153552.js","sources":["../src/modules/Message/consts.ts","../src/modules/Message/utils/tokens/types.ts","../src/modules/Message/utils/tokens/tokenize.ts"],"sourcesContent":["export const USER_MENTION_PREFIX = '@';\n","import { User } from '@sendbird/chat';\nimport { ObjectValues } from '../../../../utils/typeHelpers/objectValues';\n\nexport const TOKEN_TYPES = {\n string: 'string',\n mention: 'mention',\n url: 'url',\n undetermined: 'undetermined',\n} as const;\n\nexport type TokenType = ObjectValues<typeof TOKEN_TYPES>;\n\nexport type StringToken = {\n type: typeof TOKEN_TYPES.string;\n value: string;\n};\n\nexport type MentionToken = {\n type: TokenType;\n value: string;\n userId: string;\n};\n\nexport type UrlToken = {\n type: typeof TOKEN_TYPES.url;\n value: string;\n};\n\nexport type UndeterminedToken = {\n type: typeof TOKEN_TYPES.undetermined;\n value: string;\n};\n\nexport type Token = StringToken | MentionToken | UrlToken | UndeterminedToken;\n\nexport type TokenParams = {\n messageText: string;\n mentionedUsers?: User[];\n templatePrefix?: string;\n};\n\nexport type IdentifyMentionsType = {\n tokens: UndeterminedToken[];\n mentionedUsers: User[];\n templatePrefix: string;\n};\n","import { User } from '@sendbird/chat';\nimport { USER_MENTION_PREFIX } from '../../consts';\nimport { IdentifyMentionsType, MentionToken, Token, TOKEN_TYPES, TokenParams, UndeterminedToken } from './types';\nimport { isUrl } from '../../../../utils';\n\nexport function getUserMentionRegex(mentionedUsers: User[], templatePrefix_: string): RegExp {\n const templatePrefix = templatePrefix_ || USER_MENTION_PREFIX;\n\n return RegExp(`(${mentionedUsers.map(u => {\n const userId = u.userId.replace(\n // If user.id includes these patterns, need to convert it into an escaped one\n /([.*+?^${}()|[\\]\\\\])/g,\n '\\\\$1');\n /**\n * //{ And //} are also for escaping\n * because curly braces `{}` are metacharacters in regular expressions used to specify repetition\n */\n return `${templatePrefix}\\\\{${userId}\\\\}`;\n }).join('|')})`, 'g');\n}\n\nexport function identifyMentions({\n tokens,\n mentionedUsers = [],\n templatePrefix = USER_MENTION_PREFIX,\n}: IdentifyMentionsType): (MentionToken | UndeterminedToken)[] {\n if (!mentionedUsers?.length) {\n return tokens;\n }\n const userMentionRegex = getUserMentionRegex(mentionedUsers, templatePrefix);\n const results: (UndeterminedToken | MentionToken)[] = tokens.map((token) => {\n // if the token is not undetermined, return it as is\n // is kinda unnecessary with TS, but just in case\n if (token.type !== TOKEN_TYPES.undetermined) {\n return token;\n }\n const { value } = token;\n const parts = value.split(userMentionRegex);\n\n const tokens = parts.map((part) => {\n if (part.match(userMentionRegex)) {\n const matchedUser = mentionedUsers.find((user) => `@{${user?.userId}}` === part);\n const nickname = matchedUser?.nickname || '(No name)';\n return { value: nickname, type: TOKEN_TYPES.mention, userId: matchedUser?.userId };\n } else {\n return { value: part, type: TOKEN_TYPES.undetermined };\n }\n });\n return tokens;\n }).flat();\n return results;\n}\n\nexport function identifyUrlsAndStrings(token: Token[]): Token[] {\n const results: Token[] = token.map((token) => {\n if (token.type !== TOKEN_TYPES.undetermined) {\n return token;\n }\n const { value = '' } = token;\n const parts = value.split(' ');\n const tokens = parts.map((part) => {\n if (isUrl(part)) {\n return { value: part, type: TOKEN_TYPES.url };\n } else {\n return { value: part, type: TOKEN_TYPES.string };\n }\n });\n return tokens;\n }).flat();\n\n return results;\n}\n\nexport function combineNearbyStrings(tokens: Token[]): Token[] {\n const results: Token[] = tokens.reduce((acc, token) => {\n const lastToken = acc[acc.length - 1];\n if (lastToken?.type === TOKEN_TYPES.string && token.type === TOKEN_TYPES.string) {\n lastToken.value = `${lastToken.value} ${token.value}`;\n return acc;\n }\n return [...acc, token];\n }, []);\n return results;\n}\n\n/**\n * Converts text into set of rich tokens\n */\nexport function tokenizeMessage({\n messageText,\n mentionedUsers = [],\n templatePrefix = USER_MENTION_PREFIX,\n}: TokenParams): Token[] {\n // mention can be squeezed-in(no-space-between) with other mentions and urls\n // if no users are mentioned, return the messageText as a single token\n const partialResult = [{\n type: TOKEN_TYPES.undetermined,\n value: messageText,\n }];\n\n // order is important because we want to identify mentions first\n // identifyMentions will return a token with type mention or undetermined\n const partialWithMentions = identifyMentions({\n tokens: partialResult,\n mentionedUsers,\n templatePrefix,\n });\n const partialsWithUrlsAndMentions = identifyUrlsAndStrings(partialWithMentions);\n const result = combineNearbyStrings(partialsWithUrlsAndMentions);\n\n return result;\n}\n\n/**\n * Don't need to use this util in DOM element since the white spaces will be kept as is,\n * but will need if the text is wrapped \\w React.Fragement or </>\n * @link https://sendbird.slack.com/archives/GPGHESTL3/p1681180484341369\n * Or!!! -> convert any space or tab in leading/trailing to nbsp\n * to preserve the leading & trailing white spaces\n */\nexport function getWhiteSpacePreservedText(text: string): string {\n const NON_BREAKING_SPACE = '\\u00A0';\n // Split the input string into lines\n const lines = text.split('\\n');\n\n // Process each line and convert leading and trailing white spaces to \"\\u00A0\"\n const processedLines = lines.map((line) => {\n const leadingWhitespace = line.match(/^\\s*/)?.[0] || '';\n const trailingWhitespace = line.match(/\\s*$/)?.[0] || '';\n\n const convertedLeadingWhitespace = leadingWhitespace.replace(/ /g, NON_BREAKING_SPACE);\n const convertedTrailingWhitespace = trailingWhitespace.replace(/ /g, NON_BREAKING_SPACE);\n\n return convertedLeadingWhitespace + line.trim() + convertedTrailingWhitespace;\n });\n\n // Combine the processed lines into a new string with \"\\n\"\n const result = processedLines.join('\\n');\n\n return result;\n}\n"],"names":["USER_MENTION_PREFIX","TOKEN_TYPES","string","mention","url","undetermined","getUserMentionRegex","mentionedUsers","templatePrefix_","templatePrefix","RegExp","map","u","userId","replace","join","identifyMentions","_ref","tokens","length","userMentionRegex","results","token","type","value","parts","split","part","match","matchedUser","find","user","nickname","flat","identifyUrlsAndStrings","isUrl","combineNearbyStrings","reduce","acc","lastToken","tokenizeMessage","_ref2","messageText","partialResult","partialWithMentions","partialsWithUrlsAndMentions","result","getWhiteSpacePreservedText","text","NON_BREAKING_SPACE","lines","processedLines","line","_line$match","_line$match2","leadingWhitespace","trailingWhitespace","convertedLeadingWhitespace","convertedTrailingWhitespace","trim"],"mappings":"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"}
1
+ {"version":3,"file":"tokenize-d17bf862.js","sources":["../src/modules/Message/consts.ts","../src/modules/Message/utils/tokens/types.ts","../src/modules/Message/utils/tokens/tokenize.ts"],"sourcesContent":["export const USER_MENTION_PREFIX = '@';\n","import { User } from '@sendbird/chat';\nimport { ObjectValues } from '../../../../utils/typeHelpers/objectValues';\n\nexport const TOKEN_TYPES = {\n string: 'string',\n mention: 'mention',\n url: 'url',\n undetermined: 'undetermined',\n} as const;\n\nexport type TokenType = ObjectValues<typeof TOKEN_TYPES>;\n\nexport type StringToken = {\n type: typeof TOKEN_TYPES.string;\n value: string;\n};\n\nexport type MentionToken = {\n type: TokenType;\n value: string;\n userId: string;\n};\n\nexport type UrlToken = {\n type: typeof TOKEN_TYPES.url;\n value: string;\n};\n\nexport type UndeterminedToken = {\n type: typeof TOKEN_TYPES.undetermined;\n value: string;\n};\n\nexport type Token = StringToken | MentionToken | UrlToken | UndeterminedToken;\n\nexport type TokenParams = {\n messageText: string;\n mentionedUsers?: User[];\n templatePrefix?: string;\n};\n\nexport type IdentifyMentionsType = {\n tokens: UndeterminedToken[];\n mentionedUsers: User[];\n templatePrefix: string;\n};\n","import { User } from '@sendbird/chat';\nimport { USER_MENTION_PREFIX } from '../../consts';\nimport { IdentifyMentionsType, MentionToken, Token, TOKEN_TYPES, TokenParams, UndeterminedToken } from './types';\nimport { isUrl } from '../../../../utils';\n\nexport function getUserMentionRegex(mentionedUsers: User[], templatePrefix_: string): RegExp {\n const templatePrefix = templatePrefix_ || USER_MENTION_PREFIX;\n\n return RegExp(`(${mentionedUsers.map(u => {\n const userId = u.userId.replace(\n // If user.id includes these patterns, need to convert it into an escaped one\n /([.*+?^${}()|[\\]\\\\])/g,\n '\\\\$1');\n /**\n * //{ And //} are also for escaping\n * because curly braces `{}` are metacharacters in regular expressions used to specify repetition\n */\n return `${templatePrefix}\\\\{${userId}\\\\}`;\n }).join('|')})`, 'g');\n}\n\nexport function identifyMentions({\n tokens,\n mentionedUsers = [],\n templatePrefix = USER_MENTION_PREFIX,\n}: IdentifyMentionsType): (MentionToken | UndeterminedToken)[] {\n if (!mentionedUsers?.length) {\n return tokens;\n }\n const userMentionRegex = getUserMentionRegex(mentionedUsers, templatePrefix);\n const results: (UndeterminedToken | MentionToken)[] = tokens.map((token) => {\n // if the token is not undetermined, return it as is\n // is kinda unnecessary with TS, but just in case\n if (token.type !== TOKEN_TYPES.undetermined) {\n return token;\n }\n const { value } = token;\n const parts = value.split(userMentionRegex);\n\n const tokens = parts.map((part) => {\n if (part.match(userMentionRegex)) {\n const matchedUser = mentionedUsers.find((user) => `@{${user?.userId}}` === part);\n const nickname = matchedUser?.nickname || '(No name)';\n return { value: nickname, type: TOKEN_TYPES.mention, userId: matchedUser?.userId };\n } else {\n return { value: part, type: TOKEN_TYPES.undetermined };\n }\n });\n return tokens;\n }).flat();\n return results;\n}\n\nexport function identifyUrlsAndStrings(token: Token[]): Token[] {\n const results: Token[] = token.map((token) => {\n if (token.type !== TOKEN_TYPES.undetermined) {\n return token;\n }\n const { value = '' } = token;\n const parts = value.split(' ');\n const tokens = parts.map((part) => {\n if (isUrl(part)) {\n return { value: part, type: TOKEN_TYPES.url };\n } else {\n return { value: part, type: TOKEN_TYPES.string };\n }\n });\n return tokens;\n }).flat();\n\n return results;\n}\n\nexport function combineNearbyStrings(tokens: Token[]): Token[] {\n const results: Token[] = tokens.reduce((acc, token) => {\n const lastToken = acc[acc.length - 1];\n if (lastToken?.type === TOKEN_TYPES.string && token.type === TOKEN_TYPES.string) {\n lastToken.value = `${lastToken.value} ${token.value}`;\n return acc;\n }\n return [...acc, token];\n }, []);\n return results;\n}\n\n/**\n * Converts text into set of rich tokens\n */\nexport function tokenizeMessage({\n messageText,\n mentionedUsers = [],\n templatePrefix = USER_MENTION_PREFIX,\n}: TokenParams): Token[] {\n // mention can be squeezed-in(no-space-between) with other mentions and urls\n // if no users are mentioned, return the messageText as a single token\n const partialResult = [{\n type: TOKEN_TYPES.undetermined,\n value: messageText,\n }];\n\n // order is important because we want to identify mentions first\n // identifyMentions will return a token with type mention or undetermined\n const partialWithMentions = identifyMentions({\n tokens: partialResult,\n mentionedUsers,\n templatePrefix,\n });\n const partialsWithUrlsAndMentions = identifyUrlsAndStrings(partialWithMentions);\n const result = combineNearbyStrings(partialsWithUrlsAndMentions);\n\n return result;\n}\n\n/**\n * Don't need to use this util in DOM element since the white spaces will be kept as is,\n * but will need if the text is wrapped \\w React.Fragement or </>\n * @link https://sendbird.slack.com/archives/GPGHESTL3/p1681180484341369\n * Or!!! -> convert any space or tab in leading/trailing to nbsp\n * to preserve the leading & trailing white spaces\n */\nexport function getWhiteSpacePreservedText(text: string): string {\n const NON_BREAKING_SPACE = '\\u00A0';\n // Split the input string into lines\n const lines = text.split('\\n');\n\n // Process each line and convert leading and trailing white spaces to \"\\u00A0\"\n const processedLines = lines.map((line) => {\n const leadingWhitespace = line.match(/^\\s*/)?.[0] || '';\n const trailingWhitespace = line.match(/\\s*$/)?.[0] || '';\n\n const convertedLeadingWhitespace = leadingWhitespace.replace(/ /g, NON_BREAKING_SPACE);\n const convertedTrailingWhitespace = trailingWhitespace.replace(/ /g, NON_BREAKING_SPACE);\n\n return convertedLeadingWhitespace + line.trim() + convertedTrailingWhitespace;\n });\n\n // Combine the processed lines into a new string with \"\\n\"\n const result = processedLines.join('\\n');\n\n return result;\n}\n"],"names":["USER_MENTION_PREFIX","TOKEN_TYPES","string","mention","url","undetermined","getUserMentionRegex","mentionedUsers","templatePrefix_","templatePrefix","RegExp","concat","map","u","userId","replace","join","identifyMentions","_a","tokens","_b","_c","length","userMentionRegex","results","token","type","value","parts","split","part","match","matchedUser","find","user","nickname","flat","identifyUrlsAndStrings","isUrl","combineNearbyStrings","reduce","acc","lastToken","__spreadArray","tokenizeMessage","messageText","partialResult","partialWithMentions","partialsWithUrlsAndMentions","result","getWhiteSpacePreservedText","text","NON_BREAKING_SPACE","lines","processedLines","line","leadingWhitespace","trailingWhitespace","convertedLeadingWhitespace","convertedTrailingWhitespace","trim"],"mappings":"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"}