@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
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
8
+
9
+ /**
10
+ * user profile goes deep inside the component tree
11
+ * use this context as a short circuit to send in values
12
+ */
13
+ var UserProfileContext = /*#__PURE__*/React__default["default"].createContext({
14
+ disableUserProfile: true,
15
+ isOpenChannel: false,
16
+ renderUserProfile: null,
17
+ onUserProfileMessage: null
18
+ });
19
+ var UserProfileProvider = function (_a) {
20
+ var _b = _a.isOpenChannel,
21
+ isOpenChannel = _b === void 0 ? false : _b,
22
+ _c = _a.disableUserProfile,
23
+ disableUserProfile = _c === void 0 ? false : _c,
24
+ _d = _a.renderUserProfile,
25
+ renderUserProfile = _d === void 0 ? null : _d,
26
+ _e = _a.onUserProfileMessage,
27
+ onUserProfileMessage = _e === void 0 ? null : _e,
28
+ children = _a.children;
29
+ return /*#__PURE__*/React__default["default"].createElement(UserProfileContext.Provider, {
30
+ value: {
31
+ isOpenChannel: isOpenChannel,
32
+ disableUserProfile: disableUserProfile,
33
+ renderUserProfile: renderUserProfile,
34
+ onUserProfileMessage: onUserProfileMessage
35
+ }
36
+ }, children);
37
+ };
38
+
39
+ exports.UserProfileContext = UserProfileContext;
40
+ exports.UserProfileProvider = UserProfileProvider;
41
+ //# sourceMappingURL=UserProfileContext-922a43ec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserProfileContext-922a43ec.js","sources":["../../src/lib/UserProfileContext.tsx"],"sourcesContent":["import React from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { RenderUserProfileProps } from '../types';\n\ninterface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n onUserProfileMessage?: (channel: GroupChannel) => void;\n}\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext<UserProfileContextInterface>({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n});\n\ntype UserProfileProviderProps = React.PropsWithChildren<{\n disableUserProfile?: boolean;\n isOpenChannel?: boolean;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n onUserProfileMessage?: (channel: GroupChannel) => void;\n}>;\n\nconst UserProfileProvider = ({\n isOpenChannel = false,\n disableUserProfile = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n children,\n}: UserProfileProviderProps) => {\n return (\n <UserProfileContext.Provider\n value={{\n isOpenChannel,\n disableUserProfile,\n renderUserProfile,\n onUserProfileMessage,\n }}\n >\n {children}\n </UserProfileContext.Provider>\n );\n};\n\nexport { UserProfileContext, UserProfileProvider };\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","onUserProfileMessage","UserProfileProvider","_a","_b","_c","_d","_e","children","createElement","Provider","value"],"mappings":";;;;;;;;AAWA;;;AAGG;AACH,IAAMA,kBAAkB,gBAAGC,yBAAK,CAACC,aAAa,CAA8B;AAC1EC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACvB,CAAA,EAAC;AASF,IAAMC,mBAAmB,GAAG,UAACC,EAMF,EAAA;AALzB,EAAA,IAAAC,EAAA,GAAAD,EAAA,CAAAJ,aAAqB;IAArBA,aAAa,GAAGK,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA;IACrBC,EAA0B,GAAAF,EAAA,CAAAL,kBAAA;IAA1BA,kBAAkB,GAAAO,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAAA,EAAA;IAC1BC,EAAA,GAAAH,EAAA,CAAAH,iBAAwB;IAAxBA,iBAAiB,GAAGM,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAAA,EAAA;IACxBC,EAA2B,GAAAJ,EAAA,CAAAF,oBAAA;IAA3BA,oBAAoB,GAAAM,EAAA,KAAA,KAAA,CAAA,GAAG,IAAI,GAAAA,EAAA;IAC3BC,QAAQ,GAAAL,EAAA,CAAAK,QAAA,CAAA;AAER,EAAA,oBACEZ,yBAAA,CAAAa,aAAA,CAACd,kBAAkB,CAACe,QAAQ,EAAA;AAC1BC,IAAAA,KAAK,EAAE;AACLZ,MAAAA,aAAa,EAAAA,aAAA;AACbD,MAAAA,kBAAkB,EAAAA,kBAAA;AAClBE,MAAAA,iBAAiB,EAAAA,iBAAA;AACjBC,MAAAA,oBAAoB,EAAAA,oBAAAA;AACrB,KAAA;AAAC,GAAA,EAEDO,QAC0B,CAAC,CAAA;AAElC;;;;;"}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- var VoicePlayer_context = require('../index-1f6b30ea.js');
7
- require('../consts-fb07c671.js');
6
+ var VoicePlayer_context = require('../index-0ec5a831.js');
7
+ require('../consts-95462b21.js');
8
8
  require('../useSendbirdStateContext.js');
9
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
9
+ require('../tslib.es6-2f2b0bca.js');
10
10
  require('../withSendbird.js');
11
11
 
12
12
 
@@ -3,75 +3,81 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var VoicePlayer_context = require('../index-1f6b30ea.js');
7
- var consts = require('../consts-fb07c671.js');
6
+ var VoicePlayer_context = require('../index-0ec5a831.js');
7
+ var consts = require('../consts-95462b21.js');
8
8
  var VoiceRecorder_context = require('../VoiceRecorder/context.js');
9
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
9
+ require('../tslib.es6-2f2b0bca.js');
10
10
  require('../useSendbirdStateContext.js');
11
11
  require('../withSendbird.js');
12
- require('../LocalizationContext-482c1343.js');
13
- require('../stringSet-d00535a5.js');
14
- require('../index-d04f312e.js');
12
+ require('../LocalizationContext-5009012e.js');
13
+ require('../stringSet-98b52c49.js');
14
+ require('../index-fd8a0abb.js');
15
15
  require('../ui/Modal.js');
16
16
  require('react-dom');
17
- require('../utils-c47c68b1.js');
18
- require('../index.module-a24e9cd7.js');
19
- require('../index-cbcacbee.js');
20
- require('../MediaQueryContext-73aac8cf.js');
17
+ require('../utils-180c6bc8.js');
18
+ require('../index-609b07a2.js');
19
+ require('../index-daf80c58.js');
20
+ require('../MediaQueryContext-d6fdbe43.js');
21
21
  require('../ui/IconButton.js');
22
22
  require('../ui/Button.js');
23
- require('../index-18720f0d.js');
23
+ require('../index-35820a94.js');
24
24
  require('prop-types');
25
+ require('../types-66554668.js');
25
26
  require('../ui/Icon.js');
26
27
 
27
- const generateGroupKey = function () {
28
- let channelUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
29
- let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
30
- return `${channelUrl}-${key}`;
28
+ var generateGroupKey = function (channelUrl, key) {
29
+ if (channelUrl === void 0) {
30
+ channelUrl = '';
31
+ }
32
+ if (key === void 0) {
33
+ key = '';
34
+ }
35
+ return "".concat(channelUrl, "-").concat(key);
31
36
  };
32
37
 
33
- const useVoicePlayer = _ref => {
34
- var _voicePlayerStore$aud;
35
- let {
36
- key = '',
37
- channelUrl = '',
38
- audioFile = null,
39
- audioFileUrl = ''
40
- } = _ref;
41
- const [groupKey] = React.useState(generateGroupKey(channelUrl, key));
42
- const {
43
- play,
44
- pause,
45
- stop,
46
- voicePlayerStore
47
- } = VoicePlayer_context.useVoicePlayerContext();
48
- const {
49
- isRecordable
50
- } = VoiceRecorder_context.useVoiceRecorderContext();
51
- const currentAudioUnit = (voicePlayerStore === null || voicePlayerStore === void 0 ? void 0 : (_voicePlayerStore$aud = voicePlayerStore.audioStorage) === null || _voicePlayerStore$aud === void 0 ? void 0 : _voicePlayerStore$aud[groupKey]) || VoicePlayer_context.AudioUnitDefaultValue();
52
- const playVoicePlayer = () => {
38
+ var useVoicePlayer = function (_a) {
39
+ var _b;
40
+ var _c = _a.key,
41
+ key = _c === void 0 ? '' : _c,
42
+ _d = _a.channelUrl,
43
+ channelUrl = _d === void 0 ? '' : _d,
44
+ _e = _a.audioFile,
45
+ audioFile = _e === void 0 ? null : _e,
46
+ _f = _a.audioFileUrl,
47
+ audioFileUrl = _f === void 0 ? '' : _f;
48
+ var groupKey = React.useState(generateGroupKey(channelUrl, key))[0];
49
+ var _g = VoicePlayer_context.useVoicePlayerContext(),
50
+ play = _g.play,
51
+ pause = _g.pause,
52
+ stop = _g.stop,
53
+ voicePlayerStore = _g.voicePlayerStore;
54
+ var isRecordable = VoiceRecorder_context.useVoiceRecorderContext().isRecordable;
55
+ var currentAudioUnit = ((_b = voicePlayerStore === null || voicePlayerStore === void 0 ? void 0 : voicePlayerStore.audioStorage) === null || _b === void 0 ? void 0 : _b[groupKey]) || VoicePlayer_context.AudioUnitDefaultValue();
56
+ var playVoicePlayer = function () {
53
57
  if (!isRecordable) {
54
58
  play === null || play === void 0 ? void 0 : play({
55
- groupKey,
56
- audioFile,
57
- audioFileUrl
59
+ groupKey: groupKey,
60
+ audioFile: audioFile,
61
+ audioFileUrl: audioFileUrl
58
62
  });
59
63
  }
60
64
  };
61
- const pauseVoicePlayer = () => {
65
+ var pauseVoicePlayer = function () {
62
66
  pause === null || pause === void 0 ? void 0 : pause(groupKey);
63
67
  };
64
- const stopVoicePlayer = function () {
65
- let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
68
+ var stopVoicePlayer = function (text) {
69
+ if (text === void 0) {
70
+ text = '';
71
+ }
66
72
  stop === null || stop === void 0 ? void 0 : stop(text);
67
73
  };
68
- React.useEffect(() => {
69
- return () => {
74
+ React.useEffect(function () {
75
+ return function () {
76
+ var _a;
70
77
  if (audioFile || audioFileUrl) {
71
- var _pause, _ref2;
72
78
  // Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope
73
- const voiceAudioPlayerElement = document.getElementById(consts.VOICE_PLAYER_AUDIO_ID);
74
- voiceAudioPlayerElement === null || voiceAudioPlayerElement === void 0 ? void 0 : (_pause = (_ref2 = voiceAudioPlayerElement).pause) === null || _pause === void 0 ? void 0 : _pause.call(_ref2);
79
+ var voiceAudioPlayerElement = document.getElementById(consts.VOICE_PLAYER_AUDIO_ID);
80
+ (_a = voiceAudioPlayerElement === null || voiceAudioPlayerElement === void 0 ? void 0 : voiceAudioPlayerElement.pause) === null || _a === void 0 ? void 0 : _a.call(voiceAudioPlayerElement);
75
81
  }
76
82
  };
77
83
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"useVoicePlayer.js","sources":["../../../src/hooks/VoicePlayer/utils.ts","../../../src/hooks/VoicePlayer/useVoicePlayer.tsx"],"sourcesContent":["export type GroupKey = string;\nexport const generateGroupKey = (channelUrl = '', key = ''): GroupKey => (`${channelUrl}-${key}`);\n","import { useEffect, useState } from 'react';\nimport { useVoicePlayerContext } from '.';\nimport { VOICE_PLAYER_AUDIO_ID } from '../../utils/consts';\nimport { useVoiceRecorderContext } from '../VoiceRecorder';\n\nimport { AudioUnitDefaultValue, VoicePlayerStatusType } from './dux/initialState';\nimport { generateGroupKey } from './utils';\n\nexport interface UseVoicePlayerProps {\n key: string;\n channelUrl: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\n\nexport interface UseVoicePlayerContext {\n play: () => void;\n pause: () => void;\n stop: (text?: string) => void;\n playbackTime: number;\n duration: number;\n playingStatus: VoicePlayerStatusType;\n}\n\nexport const useVoicePlayer = ({\n key = '',\n channelUrl = '',\n audioFile = null,\n audioFileUrl = '',\n}: UseVoicePlayerProps): UseVoicePlayerContext => {\n const [groupKey] = useState<string>(generateGroupKey(channelUrl, key));\n const {\n play,\n pause,\n stop,\n voicePlayerStore,\n } = useVoicePlayerContext();\n const { isRecordable } = useVoiceRecorderContext();\n const currentAudioUnit = voicePlayerStore?.audioStorage?.[groupKey] || AudioUnitDefaultValue();\n\n const playVoicePlayer = () => {\n if (!isRecordable) {\n play?.({\n groupKey,\n audioFile,\n audioFileUrl,\n });\n }\n };\n\n const pauseVoicePlayer = () => {\n pause?.(groupKey);\n };\n\n const stopVoicePlayer = (text = '') => {\n stop?.(text);\n };\n\n useEffect(() => {\n return () => {\n if (audioFile || audioFileUrl) {\n // Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope\n const voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n (voiceAudioPlayerElement as HTMLAudioElement)?.pause?.();\n }\n };\n }, []);\n\n return ({\n play: playVoicePlayer,\n pause: pauseVoicePlayer,\n stop: stopVoicePlayer,\n playbackTime: currentAudioUnit.playbackTime * 1000,\n duration: currentAudioUnit.duration * 1000,\n // the unit of playbackTime and duration should be millisecond\n playingStatus: currentAudioUnit.playingStatus,\n });\n};\n"],"names":["generateGroupKey","channelUrl","arguments","length","undefined","key","useVoicePlayer","_ref","_voicePlayerStore$aud","audioFile","audioFileUrl","groupKey","useState","play","pause","stop","voicePlayerStore","useVoicePlayerContext","isRecordable","useVoiceRecorderContext","currentAudioUnit","audioStorage","AudioUnitDefaultValue","playVoicePlayer","pauseVoicePlayer","stopVoicePlayer","text","useEffect","_pause","_ref2","voiceAudioPlayerElement","document","getElementById","VOICE_PLAYER_AUDIO_ID","call","playbackTime","duration","playingStatus"],"mappings":"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"}
1
+ {"version":3,"file":"useVoicePlayer.js","sources":["../../../src/hooks/VoicePlayer/utils.ts","../../../src/hooks/VoicePlayer/useVoicePlayer.tsx"],"sourcesContent":["export type GroupKey = string;\nexport const generateGroupKey = (channelUrl = '', key = ''): GroupKey => (`${channelUrl}-${key}`);\n","import { useEffect, useState } from 'react';\nimport { useVoicePlayerContext } from '.';\nimport { VOICE_PLAYER_AUDIO_ID } from '../../utils/consts';\nimport { useVoiceRecorderContext } from '../VoiceRecorder';\n\nimport { AudioUnitDefaultValue, VoicePlayerStatusType } from './dux/initialState';\nimport { generateGroupKey } from './utils';\n\nexport interface UseVoicePlayerProps {\n key: string;\n channelUrl: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\n\nexport interface UseVoicePlayerContext {\n play: () => void;\n pause: () => void;\n stop: (text?: string) => void;\n playbackTime: number;\n duration: number;\n playingStatus: VoicePlayerStatusType;\n}\n\nexport const useVoicePlayer = ({\n key = '',\n channelUrl = '',\n audioFile = null,\n audioFileUrl = '',\n}: UseVoicePlayerProps): UseVoicePlayerContext => {\n const [groupKey] = useState<string>(generateGroupKey(channelUrl, key));\n const {\n play,\n pause,\n stop,\n voicePlayerStore,\n } = useVoicePlayerContext();\n const { isRecordable } = useVoiceRecorderContext();\n const currentAudioUnit = voicePlayerStore?.audioStorage?.[groupKey] || AudioUnitDefaultValue();\n\n const playVoicePlayer = () => {\n if (!isRecordable) {\n play?.({\n groupKey,\n audioFile,\n audioFileUrl,\n });\n }\n };\n\n const pauseVoicePlayer = () => {\n pause?.(groupKey);\n };\n\n const stopVoicePlayer = (text = '') => {\n stop?.(text);\n };\n\n useEffect(() => {\n return () => {\n if (audioFile || audioFileUrl) {\n // Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope\n const voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n (voiceAudioPlayerElement as HTMLAudioElement)?.pause?.();\n }\n };\n }, []);\n\n return ({\n play: playVoicePlayer,\n pause: pauseVoicePlayer,\n stop: stopVoicePlayer,\n playbackTime: currentAudioUnit.playbackTime * 1000,\n duration: currentAudioUnit.duration * 1000,\n // the unit of playbackTime and duration should be millisecond\n playingStatus: currentAudioUnit.playingStatus,\n });\n};\n"],"names":["generateGroupKey","channelUrl","key","concat","useVoicePlayer","_a","_c","_d","_e","audioFile","_f","audioFileUrl","groupKey","useState","_g","useVoicePlayerContext","play","pause","stop","voicePlayerStore","isRecordable","useVoiceRecorderContext","currentAudioUnit","_b","audioStorage","AudioUnitDefaultValue","playVoicePlayer","pauseVoicePlayer","stopVoicePlayer","text","useEffect","voiceAudioPlayerElement","document","getElementById","VOICE_PLAYER_AUDIO_ID","playbackTime","duration","playingStatus"],"mappings":"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"}
@@ -3,22 +3,23 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var LocalizationContext = require('../LocalizationContext-482c1343.js');
6
+ var LocalizationContext = require('../LocalizationContext-5009012e.js');
7
7
  var ui_Modal = require('../ui/Modal.js');
8
- var consts = require('../consts-fb07c671.js');
8
+ var consts = require('../consts-95462b21.js');
9
9
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
10
- require('../stringSet-d00535a5.js');
11
- require('../index-d04f312e.js');
10
+ require('../stringSet-98b52c49.js');
11
+ require('../index-fd8a0abb.js');
12
12
  require('react-dom');
13
- require('../utils-c47c68b1.js');
14
- require('../index.module-a24e9cd7.js');
15
- require('../index-cbcacbee.js');
16
- require('../MediaQueryContext-73aac8cf.js');
13
+ require('../utils-180c6bc8.js');
14
+ require('../tslib.es6-2f2b0bca.js');
15
+ require('../index-609b07a2.js');
16
+ require('../index-daf80c58.js');
17
+ require('../MediaQueryContext-d6fdbe43.js');
17
18
  require('../ui/IconButton.js');
18
- require('../_rollupPluginBabelHelpers-83d7e84b.js');
19
19
  require('../ui/Button.js');
20
- require('../index-18720f0d.js');
20
+ require('../index-35820a94.js');
21
21
  require('prop-types');
22
+ require('../types-66554668.js');
22
23
  require('../ui/Icon.js');
23
24
  require('../withSendbird.js');
24
25
 
@@ -26,35 +27,29 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
26
27
 
27
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
29
 
29
- // Input props of VoiceRecorder
30
-
31
- // Output of VoiceRecorder
32
-
33
- const noop = () => {/* noop */};
34
- const Context = /*#__PURE__*/React.createContext({
30
+ var noop = function () {};
31
+ var Context = /*#__PURE__*/React.createContext({
35
32
  start: noop,
36
33
  stop: noop,
37
34
  isRecordable: false
38
35
  });
39
- const VoiceRecorderProvider = props => {
40
- var _BROWSER_SUPPORT_MIME;
41
- const {
42
- children
43
- } = props;
44
- const {
45
- config
46
- } = useSendbirdStateContext();
47
- const {
48
- logger,
49
- isVoiceMessageEnabled
50
- } = config;
51
- const [mediaRecorder, setMediaRecorder] = React.useState(null);
52
- const [isRecordable, setIsRecordable] = React.useState(false);
53
- const [permissionWarning, setPermissionWarning] = React.useState(false);
54
- const {
55
- stringSet
56
- } = LocalizationContext.useLocalization();
57
- const checkPermission = () => {
36
+ var VoiceRecorderProvider = function (props) {
37
+ var _a;
38
+ var children = props.children;
39
+ var config = useSendbirdStateContext.useSendbirdStateContext().config;
40
+ var logger = config.logger,
41
+ isVoiceMessageEnabled = config.isVoiceMessageEnabled;
42
+ var _b = React.useState(null),
43
+ mediaRecorder = _b[0],
44
+ setMediaRecorder = _b[1];
45
+ var _c = React.useState(false),
46
+ isRecordable = _c[0],
47
+ setIsRecordable = _c[1];
48
+ var _d = React.useState(false),
49
+ permissionWarning = _d[0],
50
+ setPermissionWarning = _d[1];
51
+ var stringSet = LocalizationContext.useLocalization().stringSet;
52
+ var checkPermission = function () {
58
53
  try {
59
54
  // Type '"microphone"' is not assignable to type 'PermissionName'.ts(2322)
60
55
  // this is typescript issue
@@ -62,7 +57,7 @@ const VoiceRecorderProvider = props => {
62
57
  // @ts-expect-error
63
58
  navigator.permissions.query({
64
59
  name: 'microphone'
65
- }).then(result => {
60
+ }).then(function (result) {
66
61
  if (result.state === 'denied') {
67
62
  logger.warning('VoiceRecorder: Permission denied.');
68
63
  setPermissionWarning(true);
@@ -72,22 +67,26 @@ const VoiceRecorderProvider = props => {
72
67
  logger.warning('VoiceRecorder: Failed to check permission.', error);
73
68
  }
74
69
  };
75
- const browserSupportMimeType = (_BROWSER_SUPPORT_MIME = consts.BROWSER_SUPPORT_MIME_TYPE_LIST.find(mimeType => MediaRecorder.isTypeSupported(mimeType))) !== null && _BROWSER_SUPPORT_MIME !== void 0 ? _BROWSER_SUPPORT_MIME : '';
70
+ var browserSupportMimeType = (_a = consts.BROWSER_SUPPORT_MIME_TYPE_LIST.find(function (mimeType) {
71
+ return MediaRecorder.isTypeSupported(mimeType);
72
+ })) !== null && _a !== void 0 ? _a : '';
76
73
  if (!browserSupportMimeType) {
77
74
  logger.error('VoiceRecorder: Browser does not support mimeType', {
78
75
  mimmeTypes: consts.BROWSER_SUPPORT_MIME_TYPE_LIST
79
76
  });
80
77
  }
81
- const [webAudioUtils, setWebAudioUtils] = React.useState(null);
82
- React.useEffect(() => {
78
+ var _e = React.useState(null),
79
+ webAudioUtils = _e[0],
80
+ setWebAudioUtils = _e[1];
81
+ React.useEffect(function () {
83
82
  if (isVoiceMessageEnabled && !webAudioUtils) {
84
- Promise.resolve().then(function () { return require('../WebAudioUtils-142344fd.js'); }).then(data => {
83
+ Promise.resolve().then(function () { return require('../WebAudioUtils-29717597.js'); }).then(function (data) {
85
84
  setWebAudioUtils(data);
86
85
  });
87
86
  }
88
87
  }, []);
89
- const start = React.useCallback(eventHandler => {
90
- var _navigator, _navigator$mediaDevic, _navigator$mediaDevic2;
88
+ var start = React.useCallback(function (eventHandler) {
89
+ var _a, _b;
91
90
  if (isVoiceMessageEnabled && !webAudioUtils) {
92
91
  logger.error('VoiceRecorder: Recording audio processor is being loaded.');
93
92
  return;
@@ -98,47 +97,48 @@ const VoiceRecorderProvider = props => {
98
97
  logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');
99
98
  }
100
99
  checkPermission();
101
- (_navigator = navigator) === null || _navigator === void 0 ? void 0 : (_navigator$mediaDevic = _navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : (_navigator$mediaDevic2 = _navigator$mediaDevic.getUserMedia) === null || _navigator$mediaDevic2 === void 0 ? void 0 : _navigator$mediaDevic2.call(_navigator$mediaDevic, {
100
+ (_b = (_a = navigator === null || navigator === void 0 ? void 0 : navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia) === null || _b === void 0 ? void 0 : _b.call(_a, {
102
101
  audio: true
103
- }).then(stream => {
102
+ }).then(function (stream) {
104
103
  logger.info('VoiceRecorder: Succeeded getting media stream.', stream);
105
104
  setIsRecordable(true);
106
- const mediaRecorder = new MediaRecorder(stream, {
105
+ var mediaRecorder = new MediaRecorder(stream, {
107
106
  mimeType: browserSupportMimeType,
108
107
  audioBitsPerSecond: consts.VOICE_RECORDER_AUDIO_BIT_RATE
109
108
  });
110
- mediaRecorder.ondataavailable = e => {
111
- var _stream$getAudioTrack, _stream$getAudioTrack2, _stream$getAudioTrack3;
112
- // when recording stops
109
+ mediaRecorder.ondataavailable = function (e) {
110
+ var _a, _b, _c;
113
111
  logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);
114
- const audioFile = new File([e.data], consts.VOICE_MESSAGE_FILE_NAME, {
112
+ var audioFile = new File([e.data], consts.VOICE_MESSAGE_FILE_NAME, {
115
113
  lastModified: new Date().getTime(),
116
114
  type: consts.VOICE_MESSAGE_MIME_TYPE
117
115
  });
118
- webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.downsampleToWav(audioFile, buffer => {
119
- const mp3Buffer = webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.encodeMp3(buffer);
120
- const mp3blob = new Blob(mp3Buffer, {
116
+ webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.downsampleToWav(audioFile, function (buffer) {
117
+ var mp3Buffer = webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.encodeMp3(buffer);
118
+ var mp3blob = new Blob(mp3Buffer, {
121
119
  type: consts.VOICE_MESSAGE_MIME_TYPE
122
120
  });
123
- const convertedAudioFile = new File([mp3blob], consts.VOICE_MESSAGE_FILE_NAME, {
121
+ var convertedAudioFile = new File([mp3blob], consts.VOICE_MESSAGE_FILE_NAME, {
124
122
  lastModified: new Date().getTime(),
125
123
  type: consts.VOICE_MESSAGE_MIME_TYPE
126
124
  });
127
125
  eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingEnded(convertedAudioFile);
128
126
  logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);
129
127
  });
130
- stream === null || stream === void 0 ? void 0 : (_stream$getAudioTrack = stream.getAudioTracks) === null || _stream$getAudioTrack === void 0 ? void 0 : (_stream$getAudioTrack2 = (_stream$getAudioTrack3 = _stream$getAudioTrack.call(stream)).forEach) === null || _stream$getAudioTrack2 === void 0 ? void 0 : _stream$getAudioTrack2.call(_stream$getAudioTrack3, track => track === null || track === void 0 ? void 0 : track.stop());
128
+ (_c = (_a = stream === null || stream === void 0 ? void 0 : stream.getAudioTracks) === null || _a === void 0 ? void 0 : (_b = _a.call(stream)).forEach) === null || _c === void 0 ? void 0 : _c.call(_b, function (track) {
129
+ return track === null || track === void 0 ? void 0 : track.stop();
130
+ });
131
131
  setIsRecordable(false);
132
132
  };
133
133
  mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.start();
134
134
  setMediaRecorder(mediaRecorder);
135
135
  eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingStarted();
136
- }).catch(err => {
136
+ }).catch(function (err) {
137
137
  logger.error('VoiceRecorder: Failed getting media stream.', err);
138
138
  setMediaRecorder(null);
139
139
  });
140
140
  }, [mediaRecorder, webAudioUtils]);
141
- const stop = React.useCallback(() => {
141
+ var stop = React.useCallback(function () {
142
142
  // Stop recording
143
143
  mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.stop();
144
144
  setMediaRecorder(null);
@@ -147,19 +147,23 @@ const VoiceRecorderProvider = props => {
147
147
  }, [mediaRecorder]);
148
148
  return /*#__PURE__*/React__default["default"].createElement(Context.Provider, {
149
149
  value: {
150
- start,
151
- stop,
152
- isRecordable
150
+ start: start,
151
+ stop: stop,
152
+ isRecordable: isRecordable
153
153
  }
154
154
  }, children, permissionWarning && /*#__PURE__*/React__default["default"].createElement(ui_Modal.Modal, {
155
155
  hideFooter: true,
156
- onCancel: () => setPermissionWarning(false)
156
+ onCancel: function () {
157
+ return setPermissionWarning(false);
158
+ }
157
159
  }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, stringSet.VOICE_RECORDING_PERMISSION_DENIED)));
158
160
  };
159
- const useVoiceRecorderContext = () => React.useContext(Context);
161
+ var useVoiceRecorderContext = function () {
162
+ return React.useContext(Context);
163
+ };
160
164
  var index = {
161
- VoiceRecorderProvider,
162
- useVoiceRecorderContext
165
+ VoiceRecorderProvider: VoiceRecorderProvider,
166
+ useVoiceRecorderContext: useVoiceRecorderContext
163
167
  };
164
168
 
165
169
  exports.VoiceRecorderProvider = VoiceRecorderProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Modal from '../../ui/Modal';\nimport {\n BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BIT_RATE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst Context = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n const [permissionWarning, setPermissionWarning] = useState<boolean>(false);\n const { stringSet } = useLocalization();\n\n const checkPermission = () => {\n try {\n // Type '\"microphone\"' is not assignable to type 'PermissionName'.ts(2322)\n // this is typescript issue\n // https://github.com/microsoft/TypeScript/issues/33923\n // @ts-expect-error\n navigator.permissions.query({ name: 'microphone' }).then((result) => {\n if (result.state === 'denied') {\n logger.warning('VoiceRecorder: Permission denied.');\n setPermissionWarning(true);\n }\n });\n } catch (error) {\n logger.warning('VoiceRecorder: Failed to check permission.', error);\n }\n };\n\n const browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n });\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n checkPermission();\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: browserSupportMimeType,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BIT_RATE,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n {\n permissionWarning && (\n <Modal\n hideFooter\n onCancel={() => setPermissionWarning(false)}\n >\n <>{stringSet.VOICE_RECORDING_PERMISSION_DENIED}</>\n </Modal>\n )\n }\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","_BROWSER_SUPPORT_MIME","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","permissionWarning","setPermissionWarning","stringSet","useLocalization","checkPermission","navigator","permissions","query","name","then","result","state","warning","error","browserSupportMimeType","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","mimmeTypes","webAudioUtils","setWebAudioUtils","useEffect","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","info","mediaDevices","getUserMedia","call","audio","stream","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BIT_RATE","ondataavailable","e","_stream$getAudioTrack","_stream$getAudioTrack2","_stream$getAudioTrack3","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","Modal","hideFooter","onCancel","Fragment","VOICE_RECORDING_PERMISSION_DENIED","useVoiceRecorderContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sources":["../../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Modal from '../../ui/Modal';\nimport {\n BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BIT_RATE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst Context = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n const [permissionWarning, setPermissionWarning] = useState<boolean>(false);\n const { stringSet } = useLocalization();\n\n const checkPermission = () => {\n try {\n // Type '\"microphone\"' is not assignable to type 'PermissionName'.ts(2322)\n // this is typescript issue\n // https://github.com/microsoft/TypeScript/issues/33923\n // @ts-expect-error\n navigator.permissions.query({ name: 'microphone' }).then((result) => {\n if (result.state === 'denied') {\n logger.warning('VoiceRecorder: Permission denied.');\n setPermissionWarning(true);\n }\n });\n } catch (error) {\n logger.warning('VoiceRecorder: Failed to check permission.', error);\n }\n };\n\n const browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n });\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n checkPermission();\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: browserSupportMimeType,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BIT_RATE,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n {\n permissionWarning && (\n <Modal\n hideFooter\n onCancel={() => setPermissionWarning(false)}\n >\n <>{stringSet.VOICE_RECORDING_PERMISSION_DENIED}</>\n </Modal>\n )\n }\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","_b","useState","mediaRecorder","setMediaRecorder","_c","setIsRecordable","_d","permissionWarning","setPermissionWarning","stringSet","useLocalization","checkPermission","navigator","permissions","query","name","then","result","state","warning","error","browserSupportMimeType","_a","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","mimmeTypes","_e","webAudioUtils","setWebAudioUtils","useEffect","data","useCallback","eventHandler","info","mediaDevices","getUserMedia","audio","stream","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BIT_RATE","ondataavailable","e","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","call","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","Modal","hideFooter","onCancel","Fragment","VOICE_RECORDING_PERMISSION_DENIED","useVoiceRecorderContext","useContext"],"mappings":"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"}