@sendbird/uikit-react 3.4.7 → 3.4.8-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (802) hide show
  1. package/App.js +46 -46
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +26 -0
  4. package/Channel/components/ChannelHeader.js +18 -22
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +43 -43
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -17
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +38 -38
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +30 -33
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +51 -44
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +16 -20
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +18 -24
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +14 -20
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +4 -4
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +43 -43
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +14 -14
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +8 -8
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +29 -30
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +25 -28
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +17 -15
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -7
  41. package/ChannelList.js +29 -30
  42. package/ChannelList.js.map +1 -1
  43. package/{ChannelListProvider-8be91a05.js → ChannelListProvider-e8ad86b6.js} +15 -19
  44. package/ChannelListProvider-e8ad86b6.js.map +1 -0
  45. package/{ChannelProvider-d643e6d9.js → ChannelProvider-6de56b36.js} +13 -97
  46. package/ChannelProvider-6de56b36.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +11 -11
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  51. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  53. package/ChannelSettings/components/LeaveChannel.js +11 -11
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  55. package/ChannelSettings/components/ModerationPanel.js +14 -14
  56. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  57. package/ChannelSettings/components/UserListItem.js +10 -10
  58. package/ChannelSettings/components/UserListItem.js.map +1 -1
  59. package/ChannelSettings/components/UserPanel.js +13 -13
  60. package/ChannelSettings/components/UserPanel.js.map +1 -1
  61. package/ChannelSettings/context.js +3 -3
  62. package/ChannelSettings/context.js.map +1 -1
  63. package/ChannelSettings.js +18 -18
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +13 -13
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +14 -14
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +10 -10
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +13 -13
  73. package/CreateChannel.js.map +1 -1
  74. package/{CreateChannelProvider-5674e81b.js → CreateChannelProvider-64578d2a.js} +1 -1
  75. package/{CreateChannelProvider-5674e81b.js.map → CreateChannelProvider-64578d2a.js.map} +1 -1
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +1 -1
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +9 -9
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  83. package/EditUserProfile/context.js.map +1 -1
  84. package/EditUserProfile.js +12 -12
  85. package/EditUserProfile.js.map +1 -1
  86. package/{LocalizationContext-ad70364c.js → LocalizationContext-7ae12588.js} +3 -3
  87. package/{LocalizationContext-ad70364c.js.map → LocalizationContext-7ae12588.js.map} +1 -1
  88. package/{MediaQueryContext-4e555ef5.js → MediaQueryContext-05d4db73.js} +1 -1
  89. package/MediaQueryContext-05d4db73.js.map +1 -0
  90. package/{MemberList-24b818f8.js → MemberList-9634fee8.js} +5 -5
  91. package/MemberList-9634fee8.js.map +1 -0
  92. package/Message/context.js.map +1 -1
  93. package/MessageSearch/components/MessageSearchUI.js +11 -11
  94. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  95. package/MessageSearch/context.js +1 -1
  96. package/MessageSearch/context.js.map +1 -1
  97. package/MessageSearch.js +11 -11
  98. package/MessageSearch.js.map +1 -1
  99. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  100. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  101. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  102. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  103. package/OpenChannel/components/OpenChannelInput.js +18 -18
  104. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelMessage.js +27 -32
  106. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  108. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelUI.js +31 -31
  110. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  111. package/OpenChannel/context.js +8 -8
  112. package/OpenChannel.js +31 -31
  113. package/OpenChannel.js.map +1 -1
  114. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  115. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  116. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  117. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  118. package/OpenChannelList/context.js +3 -3
  119. package/OpenChannelList.js +13 -13
  120. package/OpenChannelList.js.map +1 -1
  121. package/{OpenChannelListProvider-27822936.js → OpenChannelListProvider-f6a88782.js} +3 -3
  122. package/{OpenChannelListProvider-27822936.js.map → OpenChannelListProvider-f6a88782.js.map} +1 -1
  123. package/{OpenChannelProvider-5148963b.js → OpenChannelProvider-f1a4b4fa.js} +9 -7
  124. package/OpenChannelProvider-f1a4b4fa.js.map +1 -0
  125. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  126. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  127. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  128. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  129. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  130. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  131. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  132. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  133. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  134. package/OpenChannelSettings/context.js +3 -3
  135. package/OpenChannelSettings/context.js.map +1 -1
  136. package/OpenChannelSettings.js +17 -17
  137. package/OpenChannelSettings.js.map +1 -1
  138. package/README.md +28 -8
  139. package/{RemoveMessageModal-54d1b0a4.js → RemoveMessageModal-2b9bdeed.js} +3 -3
  140. package/{RemoveMessageModal-54d1b0a4.js.map → RemoveMessageModal-2b9bdeed.js.map} +1 -1
  141. package/SendbirdProvider.js +13 -13
  142. package/SendbirdProvider.js.map +1 -1
  143. package/Thread/components/ParentMessageInfo.js +32 -32
  144. package/Thread/components/ParentMessageInfo.js.map +1 -1
  145. package/Thread/components/ParentMessageInfoItem.js +18 -18
  146. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  147. package/Thread/components/ThreadHeader.js +6 -6
  148. package/Thread/components/ThreadHeader.js.map +1 -1
  149. package/Thread/components/ThreadList.js +35 -35
  150. package/Thread/components/ThreadList.js.map +1 -1
  151. package/Thread/components/ThreadListItem.js +34 -34
  152. package/Thread/components/ThreadListItem.js.map +1 -1
  153. package/Thread/components/ThreadMessageInput.js +28 -31
  154. package/Thread/components/ThreadMessageInput.js.map +1 -1
  155. package/Thread/components/ThreadUI.js +36 -36
  156. package/Thread/components/ThreadUI.js.map +1 -1
  157. package/Thread/context.js +8 -8
  158. package/Thread.js +36 -36
  159. package/Thread.js.map +1 -1
  160. package/{ThreadProvider-96a5e77e.js → ThreadProvider-5a216f9d.js} +7 -7
  161. package/ThreadProvider-5a216f9d.js.map +1 -0
  162. package/{UserProfileContext-b68f33fc.js → UserProfileContext-e8124c47.js} +1 -1
  163. package/{UserProfileContext-b68f33fc.js.map → UserProfileContext-e8124c47.js.map} +1 -1
  164. package/{VoiceMessageInputWrapper-07631f8d.js → VoiceMessageInputWrapper-ce56172a.js} +8 -8
  165. package/VoiceMessageInputWrapper-ce56172a.js.map +1 -0
  166. package/VoicePlayer/context.js +3 -3
  167. package/VoicePlayer/useVoicePlayer.js +6 -6
  168. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  169. package/VoiceRecorder/context.js +6 -6
  170. package/VoiceRecorder/context.js.map +1 -1
  171. package/VoiceRecorder/useVoiceRecorder.js +3 -2
  172. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  173. package/{WebAudioUtils-3fb13b51.js → WebAudioUtils-6229e96a.js} +1 -1
  174. package/{WebAudioUtils-3fb13b51.js.map → WebAudioUtils-6229e96a.js.map} +1 -1
  175. package/{_rollupPluginBabelHelpers-5d0c716a.js → _rollupPluginBabelHelpers-96062e23.js} +1 -1
  176. package/_rollupPluginBabelHelpers-96062e23.js.map +1 -0
  177. package/{actionTypes-b270327e.js → actionTypes-423a1fac.js} +1 -1
  178. package/{actionTypes-b270327e.js.map → actionTypes-423a1fac.js.map} +1 -1
  179. package/cjs/App.js +46 -46
  180. package/cjs/App.js.map +1 -1
  181. package/cjs/Channel/components/ChannelHeader.js +18 -22
  182. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  183. package/cjs/Channel/components/ChannelUI.js +43 -43
  184. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  185. package/cjs/Channel/components/FileViewer.js +14 -17
  186. package/cjs/Channel/components/FileViewer.js.map +1 -1
  187. package/cjs/Channel/components/FrozenNotification.js +4 -4
  188. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  189. package/cjs/Channel/components/Message.js +38 -38
  190. package/cjs/Channel/components/Message.js.map +1 -1
  191. package/cjs/Channel/components/MessageInput.js +30 -33
  192. package/cjs/Channel/components/MessageInput.js.map +1 -1
  193. package/cjs/Channel/components/MessageList.js +51 -44
  194. package/cjs/Channel/components/MessageList.js.map +1 -1
  195. package/cjs/Channel/components/RemoveMessageModal.js +16 -20
  196. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  197. package/cjs/Channel/components/SuggestedMentionList.js +18 -24
  198. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  199. package/cjs/Channel/components/TypingIndicator.js +14 -20
  200. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  201. package/cjs/Channel/components/UnreadCount.js +4 -4
  202. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  203. package/cjs/Channel/context.js +11 -19
  204. package/cjs/Channel/context.js.map +1 -1
  205. package/cjs/Channel.js +43 -43
  206. package/cjs/Channel.js.map +1 -1
  207. package/cjs/ChannelList/components/AddChannel.js +14 -14
  208. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  209. package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
  210. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  211. package/cjs/ChannelList/components/ChannelListUI.js +29 -30
  212. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  213. package/cjs/ChannelList/components/ChannelPreview.js +25 -28
  214. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  215. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -15
  216. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  217. package/cjs/ChannelList/context.js +7 -7
  218. package/cjs/ChannelList.js +29 -30
  219. package/cjs/ChannelList.js.map +1 -1
  220. package/cjs/{ChannelListProvider-6b61a484.js → ChannelListProvider-2bcdc671.js} +15 -19
  221. package/cjs/ChannelListProvider-2bcdc671.js.map +1 -0
  222. package/cjs/{ChannelProvider-12a12f31.js → ChannelProvider-2a01302b.js} +12 -96
  223. package/cjs/ChannelProvider-2a01302b.js.map +1 -0
  224. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  225. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  226. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  227. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  228. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  229. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  230. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  231. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  232. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  233. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  234. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  235. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  236. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  237. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  238. package/cjs/ChannelSettings/context.js +3 -3
  239. package/cjs/ChannelSettings/context.js.map +1 -1
  240. package/cjs/ChannelSettings.js +18 -18
  241. package/cjs/ChannelSettings.js.map +1 -1
  242. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  243. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  244. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  245. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  246. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  247. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  248. package/cjs/CreateChannel/context.js +4 -4
  249. package/cjs/CreateChannel.js +13 -13
  250. package/cjs/CreateChannel.js.map +1 -1
  251. package/cjs/{CreateChannelProvider-2beb2415.js → CreateChannelProvider-8f7d9505.js} +1 -1
  252. package/cjs/{CreateChannelProvider-2beb2415.js.map → CreateChannelProvider-8f7d9505.js.map} +1 -1
  253. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  254. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  255. package/cjs/CreateOpenChannel/context.js +1 -1
  256. package/cjs/CreateOpenChannel/context.js.map +1 -1
  257. package/cjs/CreateOpenChannel.js +9 -9
  258. package/cjs/CreateOpenChannel.js.map +1 -1
  259. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  260. package/cjs/EditUserProfile/context.js.map +1 -1
  261. package/cjs/EditUserProfile.js +12 -12
  262. package/cjs/EditUserProfile.js.map +1 -1
  263. package/cjs/{LocalizationContext-30772f4a.js → LocalizationContext-975ffc10.js} +3 -3
  264. package/cjs/{LocalizationContext-30772f4a.js.map → LocalizationContext-975ffc10.js.map} +1 -1
  265. package/cjs/{MediaQueryContext-3b09499c.js → MediaQueryContext-302f1c4f.js} +1 -1
  266. package/cjs/MediaQueryContext-302f1c4f.js.map +1 -0
  267. package/cjs/{MemberList-f0c4e234.js → MemberList-0c0c303c.js} +5 -5
  268. package/cjs/MemberList-0c0c303c.js.map +1 -0
  269. package/cjs/Message/context.js.map +1 -1
  270. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  271. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  272. package/cjs/MessageSearch/context.js +1 -1
  273. package/cjs/MessageSearch/context.js.map +1 -1
  274. package/cjs/MessageSearch.js +11 -11
  275. package/cjs/MessageSearch.js.map +1 -1
  276. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  277. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  278. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  279. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  280. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
  281. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  282. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -32
  283. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  284. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  285. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  286. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  287. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  288. package/cjs/OpenChannel/context.js +8 -8
  289. package/cjs/OpenChannel.js +31 -31
  290. package/cjs/OpenChannel.js.map +1 -1
  291. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  292. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  293. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  294. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  295. package/cjs/OpenChannelList/context.js +3 -3
  296. package/cjs/OpenChannelList.js +13 -13
  297. package/cjs/OpenChannelList.js.map +1 -1
  298. package/cjs/{OpenChannelListProvider-d48bd733.js → OpenChannelListProvider-ef3655ce.js} +3 -3
  299. package/cjs/{OpenChannelListProvider-d48bd733.js.map → OpenChannelListProvider-ef3655ce.js.map} +1 -1
  300. package/cjs/{OpenChannelProvider-56846c0c.js → OpenChannelProvider-c500275a.js} +9 -7
  301. package/cjs/OpenChannelProvider-c500275a.js.map +1 -0
  302. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  303. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  304. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  305. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  306. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  307. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  308. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  309. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  310. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  311. package/cjs/OpenChannelSettings/context.js +3 -3
  312. package/cjs/OpenChannelSettings/context.js.map +1 -1
  313. package/cjs/OpenChannelSettings.js +17 -17
  314. package/cjs/OpenChannelSettings.js.map +1 -1
  315. package/cjs/{RemoveMessageModal-e0480b7c.js → RemoveMessageModal-f8277edf.js} +3 -3
  316. package/cjs/{RemoveMessageModal-e0480b7c.js.map → RemoveMessageModal-f8277edf.js.map} +1 -1
  317. package/cjs/SendbirdProvider.js +13 -13
  318. package/cjs/SendbirdProvider.js.map +1 -1
  319. package/cjs/Thread/components/ParentMessageInfo.js +32 -32
  320. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  321. package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
  322. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  323. package/cjs/Thread/components/ThreadHeader.js +6 -6
  324. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  325. package/cjs/Thread/components/ThreadList.js +35 -35
  326. package/cjs/Thread/components/ThreadList.js.map +1 -1
  327. package/cjs/Thread/components/ThreadListItem.js +34 -34
  328. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  329. package/cjs/Thread/components/ThreadMessageInput.js +28 -31
  330. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  331. package/cjs/Thread/components/ThreadUI.js +36 -36
  332. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  333. package/cjs/Thread/context.js +8 -8
  334. package/cjs/Thread.js +36 -36
  335. package/cjs/Thread.js.map +1 -1
  336. package/cjs/{ThreadProvider-1ebd5bc0.js → ThreadProvider-e8f49239.js} +7 -7
  337. package/cjs/ThreadProvider-e8f49239.js.map +1 -0
  338. package/cjs/{UserProfileContext-eb5a10d6.js → UserProfileContext-8b19c6c3.js} +1 -1
  339. package/cjs/{UserProfileContext-eb5a10d6.js.map → UserProfileContext-8b19c6c3.js.map} +1 -1
  340. package/cjs/{VoiceMessageInputWrapper-044427b2.js → VoiceMessageInputWrapper-5dfaba8f.js} +8 -8
  341. package/cjs/VoiceMessageInputWrapper-5dfaba8f.js.map +1 -0
  342. package/cjs/VoicePlayer/context.js +3 -3
  343. package/cjs/VoicePlayer/useVoicePlayer.js +6 -6
  344. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  345. package/cjs/VoiceRecorder/context.js +6 -6
  346. package/cjs/VoiceRecorder/context.js.map +1 -1
  347. package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
  348. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  349. package/cjs/{WebAudioUtils-57d7e366.js → WebAudioUtils-2bd92ed1.js} +1 -1
  350. package/cjs/{WebAudioUtils-57d7e366.js.map → WebAudioUtils-2bd92ed1.js.map} +1 -1
  351. package/cjs/{_rollupPluginBabelHelpers-4b6406c2.js → _rollupPluginBabelHelpers-596e2aef.js} +1 -1
  352. package/cjs/_rollupPluginBabelHelpers-596e2aef.js.map +1 -0
  353. package/cjs/{actionTypes-f66e00c2.js → actionTypes-29997777.js} +1 -1
  354. package/cjs/{actionTypes-f66e00c2.js.map → actionTypes-29997777.js.map} +1 -1
  355. package/cjs/{color-4904d01e.js → color-ac868fc0.js} +1 -1
  356. package/cjs/{color-4904d01e.js.map → color-ac868fc0.js.map} +1 -1
  357. package/cjs/{compareIds-de8d3b96.js → compareIds-3c9472b4.js} +2 -2
  358. package/cjs/compareIds-3c9472b4.js.map +1 -0
  359. package/cjs/{const-97ad0ae2.js → const-7b049118.js} +1 -1
  360. package/cjs/{const-97ad0ae2.js.map → const-7b049118.js.map} +1 -1
  361. package/cjs/{const-bba9510b.js → const-7d011d30.js} +1 -1
  362. package/cjs/{const-bba9510b.js.map → const-7d011d30.js.map} +1 -1
  363. package/cjs/{consts-6acebb51.js → consts-6cf0ec85.js} +1 -1
  364. package/cjs/{consts-6acebb51.js.map → consts-6cf0ec85.js.map} +1 -1
  365. package/cjs/{consts-cafff484.js → consts-9cbf147c.js} +1 -1
  366. package/cjs/{consts-cafff484.js.map → consts-9cbf147c.js.map} +1 -1
  367. package/cjs/{consts-a235ce0a.js → consts-d9ff7fec.js} +1 -1
  368. package/cjs/{consts-a235ce0a.js.map → consts-d9ff7fec.js.map} +1 -1
  369. package/cjs/{consts-cb169c09.js → consts-df222988.js} +1 -1
  370. package/cjs/{consts-cb169c09.js.map → consts-df222988.js.map} +1 -1
  371. package/cjs/{context-e6181d31.js → context-1d31dbec.js} +2 -2
  372. package/cjs/{context-e6181d31.js.map → context-1d31dbec.js.map} +1 -1
  373. package/cjs/dist/index.css +164 -163
  374. package/cjs/dist/index.css.map +1 -1
  375. package/cjs/{index-df637378.js → index-0b24e87b.js} +5 -5
  376. package/cjs/index-0b24e87b.js.map +1 -0
  377. package/cjs/{index-0514e373.js → index-0d2fba98.js} +7 -6
  378. package/cjs/index-0d2fba98.js.map +1 -0
  379. package/cjs/{index-43612435.js → index-1a324d07.js} +4 -4
  380. package/cjs/{index-43612435.js.map → index-1a324d07.js.map} +1 -1
  381. package/cjs/{index-34cc612a.js → index-263d9317.js} +5 -4
  382. package/cjs/index-263d9317.js.map +1 -0
  383. package/cjs/{index-d2bd7dc5.js → index-334b239a.js} +2 -2
  384. package/cjs/index-334b239a.js.map +1 -0
  385. package/cjs/{index-2a770f35.js → index-46b412dc.js} +37 -7
  386. package/cjs/index-46b412dc.js.map +1 -0
  387. package/cjs/{index-9f6f371b.js → index-50655872.js} +6 -6
  388. package/cjs/index-50655872.js.map +1 -0
  389. package/cjs/{index-4de6caed.js → index-551be60f.js} +16 -8
  390. package/cjs/index-551be60f.js.map +1 -0
  391. package/cjs/{index-986b886d.js → index-7ffe6f27.js} +12 -3
  392. package/cjs/index-7ffe6f27.js.map +1 -0
  393. package/cjs/{index-223d453c.js → index-8d2c0bda.js} +4 -2
  394. package/cjs/index-8d2c0bda.js.map +1 -0
  395. package/cjs/{index-b2886b93.js → index-8fc4c8ed.js} +12 -12
  396. package/cjs/index-8fc4c8ed.js.map +1 -0
  397. package/cjs/{index-ca85a10a.js → index-9dd778ed.js} +193 -56
  398. package/cjs/index-9dd778ed.js.map +1 -0
  399. package/cjs/{index-80b17a7f.js → index-bb91f996.js} +2 -2
  400. package/cjs/{index-80b17a7f.js.map → index-bb91f996.js.map} +1 -1
  401. package/cjs/{index-5fd03280.js → index-e36db682.js} +1 -1
  402. package/cjs/index-e36db682.js.map +1 -0
  403. package/cjs/{index-6d3fe482.js → index-f0938824.js} +30 -10
  404. package/cjs/index-f0938824.js.map +1 -0
  405. package/cjs/{index-2c8ca1d6.js → index-f4cf9eb5.js} +3 -3
  406. package/cjs/{index-2c8ca1d6.js.map → index-f4cf9eb5.js.map} +1 -1
  407. package/cjs/index.js +49 -49
  408. package/cjs/{index.module-f4ff21b1.js → index.module-2d344ee2.js} +1 -1
  409. package/cjs/{index.module-f4ff21b1.js.map → index.module-2d344ee2.js.map} +1 -1
  410. package/cjs/lame.all.js.map +1 -1
  411. package/cjs/sendbirdSelectors.js +3 -3
  412. package/cjs/sendbirdSelectors.js.map +1 -1
  413. package/cjs/{stringSet-2b481a03.js → stringSet-ac04b7c1.js} +1 -1
  414. package/cjs/{stringSet-2b481a03.js.map → stringSet-ac04b7c1.js.map} +1 -1
  415. package/cjs/{tokenize-07747f4c.js → tokenize-10b9c2ca.js} +27 -7
  416. package/cjs/tokenize-10b9c2ca.js.map +1 -0
  417. package/cjs/{topics-f9cf559a.js → topics-89c25bd7.js} +1 -1
  418. package/cjs/{topics-f9cf559a.js.map → topics-89c25bd7.js.map} +1 -1
  419. package/cjs/{types-3dcd9651.js → types-53455550.js} +1 -1
  420. package/cjs/types-53455550.js.map +1 -0
  421. package/cjs/ui/Accordion.js +2 -2
  422. package/cjs/ui/Accordion.js.map +1 -1
  423. package/cjs/ui/AccordionGroup.js +2 -2
  424. package/cjs/ui/AccordionGroup.js.map +1 -1
  425. package/cjs/ui/AdminMessage.js +2 -2
  426. package/cjs/ui/AdminMessage.js.map +1 -1
  427. package/cjs/ui/Avatar.js +1 -1
  428. package/cjs/ui/Avatar.js.map +1 -1
  429. package/cjs/ui/Badge.js +4 -4
  430. package/cjs/ui/Badge.js.map +1 -1
  431. package/cjs/ui/BottomSheet.js +1 -1
  432. package/cjs/ui/BottomSheet.js.map +1 -1
  433. package/cjs/ui/Button.js +2 -2
  434. package/cjs/ui/Button.js.map +1 -1
  435. package/cjs/ui/ChannelAvatar.js +2 -2
  436. package/cjs/ui/ChannelAvatar.js.map +1 -1
  437. package/cjs/ui/Checkbox.js.map +1 -1
  438. package/cjs/ui/ConnectionStatus.js +4 -4
  439. package/cjs/ui/ConnectionStatus.js.map +1 -1
  440. package/cjs/ui/ContextMenu.js +5 -5
  441. package/cjs/ui/ContextMenu.js.map +1 -1
  442. package/cjs/ui/DateSeparator.js +3 -3
  443. package/cjs/ui/DateSeparator.js.map +1 -1
  444. package/cjs/ui/EmojiReactions.js +7 -7
  445. package/cjs/ui/EmojiReactions.js.map +1 -1
  446. package/cjs/ui/FileMessageItemBody.js +6 -6
  447. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  448. package/cjs/ui/FileViewer.js +8 -8
  449. package/cjs/ui/FileViewer.js.map +1 -1
  450. package/cjs/ui/Icon.js +2 -0
  451. package/cjs/ui/Icon.js.map +1 -1
  452. package/cjs/ui/IconButton.js +1 -1
  453. package/cjs/ui/IconButton.js.map +1 -1
  454. package/cjs/ui/ImageRenderer.js.map +1 -1
  455. package/cjs/ui/Input.js +2 -2
  456. package/cjs/ui/Input.js.map +1 -1
  457. package/cjs/ui/Label.js +2 -2
  458. package/cjs/ui/LinkLabel.js +2 -2
  459. package/cjs/ui/LinkLabel.js.map +1 -1
  460. package/cjs/ui/Loader.js.map +1 -1
  461. package/cjs/ui/MentionLabel.js +10 -10
  462. package/cjs/ui/MentionLabel.js.map +1 -1
  463. package/cjs/ui/MentionUserLabel.js +1 -1
  464. package/cjs/ui/MentionUserLabel.js.map +1 -1
  465. package/cjs/ui/MessageContent.js +34 -34
  466. package/cjs/ui/MessageContent.js.map +1 -1
  467. package/cjs/ui/MessageInput.js +63 -37
  468. package/cjs/ui/MessageInput.js.map +1 -1
  469. package/cjs/ui/MessageItemMenu.js +8 -8
  470. package/cjs/ui/MessageItemMenu.js.map +1 -1
  471. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  472. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  473. package/cjs/ui/MessageSearchFileItem.js +10 -10
  474. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  475. package/cjs/ui/MessageSearchItem.js +8 -8
  476. package/cjs/ui/MessageSearchItem.js.map +1 -1
  477. package/cjs/ui/MessageStatus.js +10 -10
  478. package/cjs/ui/Modal.js +7 -7
  479. package/cjs/ui/Modal.js.map +1 -1
  480. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  481. package/cjs/ui/OGMessageItemBody.js +14 -14
  482. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  483. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  484. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  485. package/cjs/ui/OpenChannelAvatar.js +5 -5
  486. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  487. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  488. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  489. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  490. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  491. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  492. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  493. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  494. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  495. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  496. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  497. package/cjs/ui/PlaceHolder.js +5 -5
  498. package/cjs/ui/PlaybackTime.js +2 -2
  499. package/cjs/ui/PlaybackTime.js.map +1 -1
  500. package/cjs/ui/ProgressBar.js +1 -0
  501. package/cjs/ui/ProgressBar.js.map +1 -1
  502. package/cjs/ui/QuoteMessage.js +6 -6
  503. package/cjs/ui/QuoteMessage.js.map +1 -1
  504. package/cjs/ui/QuoteMessageInput.js +6 -6
  505. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  506. package/cjs/ui/ReactionBadge.js +2 -2
  507. package/cjs/ui/ReactionBadge.js.map +1 -1
  508. package/cjs/ui/ReactionButton.js.map +1 -1
  509. package/cjs/ui/SortByRow.js +1 -1
  510. package/cjs/ui/SortByRow.js.map +1 -1
  511. package/cjs/ui/TextButton.js +1 -1
  512. package/cjs/ui/TextButton.js.map +1 -1
  513. package/cjs/ui/TextMessageItemBody.js +15 -15
  514. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  515. package/cjs/ui/ThreadReplies.js +5 -5
  516. package/cjs/ui/ThreadReplies.js.map +1 -1
  517. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  518. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  519. package/cjs/ui/Toggle.js +1 -1
  520. package/cjs/ui/Toggle.js.map +1 -1
  521. package/cjs/ui/Tooltip.js +2 -2
  522. package/cjs/ui/Tooltip.js.map +1 -1
  523. package/cjs/ui/TooltipWrapper.js.map +1 -1
  524. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  525. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  526. package/cjs/ui/UserListItem.js +10 -10
  527. package/cjs/ui/UserListItem.js.map +1 -1
  528. package/cjs/ui/UserProfile.js +9 -9
  529. package/cjs/ui/UserProfile.js.map +1 -1
  530. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  531. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  532. package/cjs/ui/VoiceMessgeInput.js +7 -7
  533. package/cjs/ui/Word.js +13 -13
  534. package/cjs/ui/Word.js.map +1 -1
  535. package/cjs/{useLongPress-ab63a990.js → useLongPress-472493f7.js} +3 -3
  536. package/cjs/useLongPress-472493f7.js.map +1 -0
  537. package/cjs/useSendbirdStateContext.js +1 -1
  538. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  539. package/cjs/utils/message/isVoiceMessage.js +2 -2
  540. package/cjs/{utils-1fd1fe8c.js → utils-40b8c201.js} +1 -1
  541. package/cjs/utils-40b8c201.js.map +1 -0
  542. package/cjs/{utils-7e52a10a.js → utils-76562fb5.js} +2 -2
  543. package/cjs/{utils-7e52a10a.js.map → utils-76562fb5.js.map} +1 -1
  544. package/cjs/{utils-f6f55335.js → utils-eadc245c.js} +1 -1
  545. package/cjs/{utils-f6f55335.js.map → utils-eadc245c.js.map} +1 -1
  546. package/cjs/{utils-f6c4e216.js → utils-fdce7855.js} +1 -1
  547. package/cjs/{utils-f6c4e216.js.map → utils-fdce7855.js.map} +1 -1
  548. package/cjs/{uuid-d0dd45eb.js → uuid-d5eb7040.js} +1 -1
  549. package/cjs/{uuid-d0dd45eb.js.map → uuid-d5eb7040.js.map} +1 -1
  550. package/cjs/withSendbird.js +1 -1
  551. package/cjs/withSendbird.js.map +1 -1
  552. package/{color-c30f00bf.js → color-d6b38e25.js} +1 -1
  553. package/{color-c30f00bf.js.map → color-d6b38e25.js.map} +1 -1
  554. package/{compareIds-90440dc5.js → compareIds-f38c2ef0.js} +2 -2
  555. package/compareIds-f38c2ef0.js.map +1 -0
  556. package/{const-5e916a50.js → const-051188d1.js} +1 -1
  557. package/{const-5e916a50.js.map → const-051188d1.js.map} +1 -1
  558. package/{const-582ca435.js → const-f6d56818.js} +1 -1
  559. package/{const-582ca435.js.map → const-f6d56818.js.map} +1 -1
  560. package/{consts-ee90b622.js → consts-04eece0c.js} +1 -1
  561. package/{consts-ee90b622.js.map → consts-04eece0c.js.map} +1 -1
  562. package/{consts-6e63357c.js → consts-a6286ca6.js} +1 -1
  563. package/{consts-6e63357c.js.map → consts-a6286ca6.js.map} +1 -1
  564. package/{consts-35dda142.js → consts-da8a20c9.js} +1 -1
  565. package/{consts-35dda142.js.map → consts-da8a20c9.js.map} +1 -1
  566. package/{consts-a7fe5f4a.js → consts-dd1513d3.js} +1 -1
  567. package/{consts-a7fe5f4a.js.map → consts-dd1513d3.js.map} +1 -1
  568. package/{context-8a77d287.js → context-0e43d2e6.js} +2 -2
  569. package/{context-8a77d287.js.map → context-0e43d2e6.js.map} +1 -1
  570. package/dist/index.css +164 -163
  571. package/dist/index.css.map +1 -1
  572. package/{index-2bcc4298.js → index-01ac0ba4.js} +7 -6
  573. package/index-01ac0ba4.js.map +1 -0
  574. package/{index-8f5c7f74.js → index-0533e5e9.js} +2 -2
  575. package/index-0533e5e9.js.map +1 -0
  576. package/{index-1e1cb669.js → index-06784b87.js} +1 -1
  577. package/index-06784b87.js.map +1 -0
  578. package/{index-8e3a9e8c.js → index-2857db82.js} +12 -12
  579. package/index-2857db82.js.map +1 -0
  580. package/{index-062a4eeb.js → index-3f4521c1.js} +2 -2
  581. package/{index-062a4eeb.js.map → index-3f4521c1.js.map} +1 -1
  582. package/{index-4d66cb77.js → index-46f6d854.js} +38 -8
  583. package/index-46f6d854.js.map +1 -0
  584. package/{index-303eca35.js → index-5807e969.js} +16 -8
  585. package/index-5807e969.js.map +1 -0
  586. package/{index-c50c6fa2.js → index-63631dc4.js} +5 -4
  587. package/index-63631dc4.js.map +1 -0
  588. package/{index-052724d9.js → index-64473ea3.js} +12 -3
  589. package/index-64473ea3.js.map +1 -0
  590. package/{index-4668028f.js → index-74a99dc5.js} +4 -2
  591. package/index-74a99dc5.js.map +1 -0
  592. package/{index-eebbce1c.js → index-7f172012.js} +5 -5
  593. package/index-7f172012.js.map +1 -0
  594. package/{index-794e37e5.js → index-82009149.js} +30 -10
  595. package/index-82009149.js.map +1 -0
  596. package/{index-8fea9d09.js → index-8abe5fb2.js} +3 -3
  597. package/{index-8fea9d09.js.map → index-8abe5fb2.js.map} +1 -1
  598. package/{index-365a1d88.js → index-f23e2550.js} +4 -4
  599. package/{index-365a1d88.js.map → index-f23e2550.js.map} +1 -1
  600. package/{index-0cc2c241.js → index-f78cd01e.js} +6 -6
  601. package/index-f78cd01e.js.map +1 -0
  602. package/{index-6908bdd4.js → index-feffd01d.js} +193 -56
  603. package/index-feffd01d.js.map +1 -0
  604. package/index.d.ts +15 -5
  605. package/index.js +49 -49
  606. package/{index.module-3d14ef05.js → index.module-6a96cbff.js} +1 -1
  607. package/{index.module-3d14ef05.js.map → index.module-6a96cbff.js.map} +1 -1
  608. package/lame.all.js.map +1 -1
  609. package/package.json +15 -13
  610. package/sendbirdSelectors.js +3 -3
  611. package/sendbirdSelectors.js.map +1 -1
  612. package/{stringSet-da68ecef.js → stringSet-6c589018.js} +1 -1
  613. package/{stringSet-da68ecef.js.map → stringSet-6c589018.js.map} +1 -1
  614. package/{tokenize-eeb42e72.js → tokenize-b7be6252.js} +27 -7
  615. package/tokenize-b7be6252.js.map +1 -0
  616. package/{topics-0354b385.js → topics-969deff5.js} +1 -1
  617. package/{topics-0354b385.js.map → topics-969deff5.js.map} +1 -1
  618. package/{types-12d853e9.js → types-230dc5c2.js} +1 -1
  619. package/types-230dc5c2.js.map +1 -0
  620. package/ui/Accordion.js +2 -2
  621. package/ui/Accordion.js.map +1 -1
  622. package/ui/AccordionGroup.js +2 -2
  623. package/ui/AccordionGroup.js.map +1 -1
  624. package/ui/AdminMessage.js +2 -2
  625. package/ui/AdminMessage.js.map +1 -1
  626. package/ui/Avatar.js +1 -1
  627. package/ui/Avatar.js.map +1 -1
  628. package/ui/Badge.js +4 -4
  629. package/ui/Badge.js.map +1 -1
  630. package/ui/BottomSheet.js +1 -1
  631. package/ui/BottomSheet.js.map +1 -1
  632. package/ui/Button.js +2 -2
  633. package/ui/Button.js.map +1 -1
  634. package/ui/ChannelAvatar.js +2 -2
  635. package/ui/ChannelAvatar.js.map +1 -1
  636. package/ui/Checkbox.js.map +1 -1
  637. package/ui/ConnectionStatus.js +4 -4
  638. package/ui/ConnectionStatus.js.map +1 -1
  639. package/ui/ContextMenu.js +5 -5
  640. package/ui/ContextMenu.js.map +1 -1
  641. package/ui/DateSeparator.js +3 -3
  642. package/ui/DateSeparator.js.map +1 -1
  643. package/ui/EmojiReactions.js +7 -7
  644. package/ui/EmojiReactions.js.map +1 -1
  645. package/ui/FileMessageItemBody.js +6 -6
  646. package/ui/FileMessageItemBody.js.map +1 -1
  647. package/ui/FileViewer.js +8 -8
  648. package/ui/FileViewer.js.map +1 -1
  649. package/ui/Icon.js +2 -0
  650. package/ui/Icon.js.map +1 -1
  651. package/ui/IconButton.js +1 -1
  652. package/ui/IconButton.js.map +1 -1
  653. package/ui/ImageRenderer.js.map +1 -1
  654. package/ui/Input.js +2 -2
  655. package/ui/Input.js.map +1 -1
  656. package/ui/Label.js +2 -2
  657. package/ui/LinkLabel.js +2 -2
  658. package/ui/LinkLabel.js.map +1 -1
  659. package/ui/Loader.js.map +1 -1
  660. package/ui/MentionLabel.js +10 -10
  661. package/ui/MentionLabel.js.map +1 -1
  662. package/ui/MentionUserLabel.js +1 -1
  663. package/ui/MentionUserLabel.js.map +1 -1
  664. package/ui/MessageContent.js +34 -34
  665. package/ui/MessageContent.js.map +1 -1
  666. package/ui/MessageInput.js +63 -37
  667. package/ui/MessageInput.js.map +1 -1
  668. package/ui/MessageItemMenu.js +8 -8
  669. package/ui/MessageItemMenu.js.map +1 -1
  670. package/ui/MessageItemReactionMenu.js +5 -5
  671. package/ui/MessageItemReactionMenu.js.map +1 -1
  672. package/ui/MessageSearchFileItem.js +10 -10
  673. package/ui/MessageSearchFileItem.js.map +1 -1
  674. package/ui/MessageSearchItem.js +8 -8
  675. package/ui/MessageSearchItem.js.map +1 -1
  676. package/ui/MessageStatus.js +10 -10
  677. package/ui/Modal.js +7 -7
  678. package/ui/Modal.js.map +1 -1
  679. package/ui/MutedAvatarOverlay.js.map +1 -1
  680. package/ui/OGMessageItemBody.js +14 -14
  681. package/ui/OGMessageItemBody.js.map +1 -1
  682. package/ui/OpenChannelAdminMessage.js +2 -2
  683. package/ui/OpenChannelAdminMessage.js.map +1 -1
  684. package/ui/OpenChannelAvatar.js +5 -5
  685. package/ui/OpenChannelAvatar.js.map +1 -1
  686. package/ui/OpenchannelConversationHeader.js +6 -6
  687. package/ui/OpenchannelConversationHeader.js.map +1 -1
  688. package/ui/OpenchannelFileMessage.js +15 -15
  689. package/ui/OpenchannelFileMessage.js.map +1 -1
  690. package/ui/OpenchannelOGMessage.js +18 -18
  691. package/ui/OpenchannelOGMessage.js.map +1 -1
  692. package/ui/OpenchannelThumbnailMessage.js +16 -16
  693. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  694. package/ui/OpenchannelUserMessage.js +15 -15
  695. package/ui/OpenchannelUserMessage.js.map +1 -1
  696. package/ui/PlaceHolder.js +5 -5
  697. package/ui/PlaybackTime.js +2 -2
  698. package/ui/PlaybackTime.js.map +1 -1
  699. package/ui/ProgressBar.js +1 -0
  700. package/ui/ProgressBar.js.map +1 -1
  701. package/ui/QuoteMessage.js +6 -6
  702. package/ui/QuoteMessage.js.map +1 -1
  703. package/ui/QuoteMessageInput.js +6 -6
  704. package/ui/QuoteMessageInput.js.map +1 -1
  705. package/ui/ReactionBadge.js +2 -2
  706. package/ui/ReactionBadge.js.map +1 -1
  707. package/ui/ReactionButton.js.map +1 -1
  708. package/ui/SortByRow.js +1 -1
  709. package/ui/SortByRow.js.map +1 -1
  710. package/ui/TextButton.js +1 -1
  711. package/ui/TextButton.js.map +1 -1
  712. package/ui/TextMessageItemBody.js +15 -15
  713. package/ui/TextMessageItemBody.js.map +1 -1
  714. package/ui/ThreadReplies.js +5 -5
  715. package/ui/ThreadReplies.js.map +1 -1
  716. package/ui/ThumbnailMessageItemBody.js +2 -2
  717. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  718. package/ui/Toggle.js +1 -1
  719. package/ui/Toggle.js.map +1 -1
  720. package/ui/Tooltip.js +2 -2
  721. package/ui/Tooltip.js.map +1 -1
  722. package/ui/TooltipWrapper.js.map +1 -1
  723. package/ui/UnknownMessageItemBody.js +6 -6
  724. package/ui/UnknownMessageItemBody.js.map +1 -1
  725. package/ui/UserListItem.js +10 -10
  726. package/ui/UserListItem.js.map +1 -1
  727. package/ui/UserProfile.js +9 -9
  728. package/ui/UserProfile.js.map +1 -1
  729. package/ui/VoiceMessageItemBody.js +9 -9
  730. package/ui/VoiceMessageItemBody.js.map +1 -1
  731. package/ui/VoiceMessgeInput.js +7 -7
  732. package/ui/Word.js +13 -13
  733. package/ui/Word.js.map +1 -1
  734. package/{useLongPress-a8d92cab.js → useLongPress-b678c2b7.js} +3 -3
  735. package/useLongPress-b678c2b7.js.map +1 -0
  736. package/useSendbirdStateContext.js +1 -1
  737. package/utils/message/getOutgoingMessageState.js.map +1 -1
  738. package/utils/message/isVoiceMessage.js +2 -2
  739. package/{utils-670974e1.js → utils-3245985d.js} +1 -1
  740. package/utils-3245985d.js.map +1 -0
  741. package/{utils-63790b1a.js → utils-c29e587a.js} +2 -2
  742. package/{utils-63790b1a.js.map → utils-c29e587a.js.map} +1 -1
  743. package/{utils-c9c2364c.js → utils-d8dfc953.js} +1 -1
  744. package/{utils-c9c2364c.js.map → utils-d8dfc953.js.map} +1 -1
  745. package/{utils-2b05a56b.js → utils-f57a5756.js} +1 -1
  746. package/{utils-2b05a56b.js.map → utils-f57a5756.js.map} +1 -1
  747. package/{uuid-5c7f30bd.js → uuid-abddae2d.js} +1 -1
  748. package/{uuid-5c7f30bd.js.map → uuid-abddae2d.js.map} +1 -1
  749. package/withSendbird.js +1 -1
  750. package/withSendbird.js.map +1 -1
  751. package/ChannelListProvider-8be91a05.js.map +0 -1
  752. package/ChannelProvider-d643e6d9.js.map +0 -1
  753. package/MediaQueryContext-4e555ef5.js.map +0 -1
  754. package/MemberList-24b818f8.js.map +0 -1
  755. package/OpenChannelProvider-5148963b.js.map +0 -1
  756. package/ThreadProvider-96a5e77e.js.map +0 -1
  757. package/VoiceMessageInputWrapper-07631f8d.js.map +0 -1
  758. package/_rollupPluginBabelHelpers-5d0c716a.js.map +0 -1
  759. package/cjs/ChannelListProvider-6b61a484.js.map +0 -1
  760. package/cjs/ChannelProvider-12a12f31.js.map +0 -1
  761. package/cjs/MediaQueryContext-3b09499c.js.map +0 -1
  762. package/cjs/MemberList-f0c4e234.js.map +0 -1
  763. package/cjs/OpenChannelProvider-56846c0c.js.map +0 -1
  764. package/cjs/ThreadProvider-1ebd5bc0.js.map +0 -1
  765. package/cjs/VoiceMessageInputWrapper-044427b2.js.map +0 -1
  766. package/cjs/_rollupPluginBabelHelpers-4b6406c2.js.map +0 -1
  767. package/cjs/compareIds-de8d3b96.js.map +0 -1
  768. package/cjs/index-0514e373.js.map +0 -1
  769. package/cjs/index-223d453c.js.map +0 -1
  770. package/cjs/index-2a770f35.js.map +0 -1
  771. package/cjs/index-34cc612a.js.map +0 -1
  772. package/cjs/index-4de6caed.js.map +0 -1
  773. package/cjs/index-5fd03280.js.map +0 -1
  774. package/cjs/index-6d3fe482.js.map +0 -1
  775. package/cjs/index-986b886d.js.map +0 -1
  776. package/cjs/index-9f6f371b.js.map +0 -1
  777. package/cjs/index-b2886b93.js.map +0 -1
  778. package/cjs/index-ca85a10a.js.map +0 -1
  779. package/cjs/index-d2bd7dc5.js.map +0 -1
  780. package/cjs/index-df637378.js.map +0 -1
  781. package/cjs/tokenize-07747f4c.js.map +0 -1
  782. package/cjs/types-3dcd9651.js.map +0 -1
  783. package/cjs/useLongPress-ab63a990.js.map +0 -1
  784. package/cjs/utils-1fd1fe8c.js.map +0 -1
  785. package/compareIds-90440dc5.js.map +0 -1
  786. package/index-052724d9.js.map +0 -1
  787. package/index-0cc2c241.js.map +0 -1
  788. package/index-1e1cb669.js.map +0 -1
  789. package/index-2bcc4298.js.map +0 -1
  790. package/index-303eca35.js.map +0 -1
  791. package/index-4668028f.js.map +0 -1
  792. package/index-4d66cb77.js.map +0 -1
  793. package/index-6908bdd4.js.map +0 -1
  794. package/index-794e37e5.js.map +0 -1
  795. package/index-8e3a9e8c.js.map +0 -1
  796. package/index-8f5c7f74.js.map +0 -1
  797. package/index-c50c6fa2.js.map +0 -1
  798. package/index-eebbce1c.js.map +0 -1
  799. package/tokenize-eeb42e72.js.map +0 -1
  800. package/types-12d853e9.js.map +0 -1
  801. package/useLongPress-a8d92cab.js.map +0 -1
  802. package/utils-670974e1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\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 VoiceRecorderContext = 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\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 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: VOICE_RECORDER_MIME_TYPE,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\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 <VoiceRecorderContext.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n </VoiceRecorderContext.Provider>\n )\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(VoiceRecorderContext);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","VoiceRecorderContext","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","error","info","navigator","mediaDevices","getUserMedia","call","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","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","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';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\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\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 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: VOICE_RECORDER_MIME_TYPE,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\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 </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","mediaRecorder","setMediaRecorder","useState","setIsRecordable","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","error","info","navigator","mediaDevices","getUserMedia","call","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","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","useVoiceRecorderContext","useContext"],"mappings":"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"}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var VoiceRecorder_context = require('./context.js');
7
7
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
8
- require('../consts-cafff484.js');
8
+ require('../consts-9cbf147c.js');
9
9
  require('../withSendbird.js');
10
- require('../_rollupPluginBabelHelpers-4b6406c2.js');
10
+ require('../_rollupPluginBabelHelpers-596e2aef.js');
11
11
 
12
12
  // export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
13
13
  // /**
@@ -15,6 +15,7 @@ require('../_rollupPluginBabelHelpers-4b6406c2.js');
15
15
  // * onRecordingEnded
16
16
  // */
17
17
  // }
18
+ /* eslint-disable no-redeclare */
18
19
  const VoiceRecorderStatus = {
19
20
  PREPARING: 'PREPARING',
20
21
  READY_TO_RECORD: 'READY_TO_RECORD',
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceRecorder.js","sources":["../../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","_ref","onRecordingStarted","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","recordedFile","setRecordedFile","useState","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":"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"}
1
+ {"version":3,"file":"useVoiceRecorder.js","sources":["../../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\n/* eslint-disable no-redeclare */\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","_ref","onRecordingStarted","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","recordedFile","setRecordedFile","useState","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":"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"}
@@ -123,4 +123,4 @@ function bufferToWav(abuffer, len) {
123
123
 
124
124
  exports.downsampleToWav = downsampleToWav;
125
125
  exports.encodeMp3 = encodeMp3;
126
- //# sourceMappingURL=WebAudioUtils-57d7e366.js.map
126
+ //# sourceMappingURL=WebAudioUtils-2bd92ed1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebAudioUtils-57d7e366.js","sources":["../../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":";;;;AAAA;AAGA,SAASA,SAASA,CAACC,WAAwB,EAAa;EACtD,MAAMC,GAAG,GAAGC,kBAAS,CAACC,UAAU,CAAC,IAAIC,QAAQ,CAACJ,WAAW,CAAC,CAAC,CAAA;AAC3D,EAAA,MAAMK,QAAQ,GAAG,IAAIC,UAAU,CAACN,WAAW,EAAEC,GAAG,CAACM,UAAU,EAAEN,GAAG,CAACO,OAAO,GAAG,CAAC,CAAC,CAAA;AAC7E,EAAA,MAAMC,UAAU,GAAG,IAAIC,mBAAU,CAACT,GAAG,CAACU,QAAQ,EAAEV,GAAG,CAACW,UAAU,EAAE,GAAG,CAAC,CAAA;EACpE,MAAMC,UAAU,GAAG,IAAI,CAAA;EAEvB,MAAMC,WAAW,GAAIb,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAIN,QAAQ,GAAG,IAAIC,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,CAAA;EACtG,MAAMI,YAAY,GAAId,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAI,IAAIL,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,GAAGK,SAAS,CAAA;AAExG,EAAA,IAAIf,GAAG,CAACU,QAAQ,GAAG,CAAC,EAAE;AACpB,IAAA,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,WAAW,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3CH,WAAW,CAACG,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,CAAC,CAAA;MAChCF,YAAY,CAACE,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AACvC,KAAA;AACF,GAAA;EAEA,MAAME,UAAU,GAAG,EAAE,CAAA;AACrB,EAAA,IAAIC,SAAS,GAAGN,WAAW,CAACI,MAAM,CAAA;AAClC,EAAA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAED,SAAS,IAAIP,UAAU,EAAEQ,CAAC,IAAIR,UAAU,EAAE;IACxD,MAAMS,IAAI,GAAGR,WAAW,CAACS,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AACpD,IAAA,IAAIW,KAAK,CAAA;AACT,IAAA,IAAIT,YAAY,EAAE;MAChBS,KAAK,GAAGT,YAAY,CAACQ,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AAClD,KAAA;IACA,MAAMY,MAAM,GAAGhB,UAAU,CAACiB,YAAY,CAACJ,IAAI,EAAEE,KAAK,CAAC,CAAA;IACnDL,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACH,MAAM,CAAC,CAAC,CAAA;AACtCL,IAAAA,SAAS,IAAIP,UAAU,CAAA;AACzB,GAAA;AAEA,EAAA,MAAMgB,UAAU,GAAGpB,UAAU,CAACqB,KAAK,EAAE,CAAA;EACrCX,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACC,UAAU,CAAC,CAAC,CAAA;AAC1C,EAAA,OAAOV,UAAU,CAAA;AACnB,CAAA;;AAEA;AACA,SAASY,eAAeA,CAACC,IAAU,EAAEC,QAAuC,EAAQ;AAClF;AACA;AACA,EAAA,MAAMC,QAAQ,GAAG,IAAIC,YAAY,EAAE,CAAA;AACnC,EAAA,MAAMC,UAAU,GAAG,IAAIC,UAAU,EAAE,CAAA;AACnCD,EAAAA,UAAU,CAACE,MAAM,GAAG,UAAUC,EAAE,EAAE;AAChC;IACAL,QAAQ,CAACM,eAAe,CAACD,EAAE,CAACE,MAAM,CAACC,MAAM,EAAkBC,MAAM,IAAK;AACpE;AACA,MAAA,MAAMC,WAAW,GAAG,CAACC,MAAM,CAACC,mBAAmB,CAAA;AAC/C,MAAA,MAAMC,eAAe,GAAG,IAAID,mBAAmB,CAAC,CAAC,EAAE,KAAK,GAAGH,MAAM,CAACK,QAAQ,EAAE,KAAK,CAAC,CAAA;AAElF,MAAA,MAAMC,WAAW,GAAGF,eAAe,CAACG,kBAAkB,EAAE,CAAA;MACxDD,WAAW,CAACN,MAAM,GAAGA,MAAM,CAAA;AAC3BM,MAAAA,WAAW,CAACE,OAAO,CAACJ,eAAe,CAACK,WAAW,CAAC,CAAA;AAEhD,MAAA,MAAMC,MAAM,GAAG,IAAIhB,UAAU,EAAE,CAAA;MAC/BgB,MAAM,CAACf,MAAM,GAAG,YAAY;QAC1B,MAAMgB,qBAAqB,GAAIC,GAAG,IAAW;UAC3C,MAAMC,cAAc,GAAGZ,WAAW,GAAGW,GAAG,CAACC,cAAc,GAAGD,GAAG,CAAA;UAC7D,MAAMZ,MAAM,GAAGc,WAAW,CAACD,cAAc,EAAEA,cAAc,CAACtC,MAAM,CAAC,CAAA;AACjE,UAAA,IAAIe,QAAQ,EAAE;YACZA,QAAQ,CAACU,MAAM,CAAC,CAAA;AAClB,WAAA;SACD,CAAA;AACD,QAAA,IAAIC,WAAW,EAAE;UACfG,eAAe,CAACW,UAAU,GAAGJ,qBAAqB,CAAA;UAClDP,eAAe,CAACY,cAAc,EAAE,CAAA;AAClC,SAAC,MAAM;AACLZ,UAAAA,eAAe,CACZY,cAAc,EAAE,CAChBC,IAAI,CAACN,qBAAqB,CAAA;AAC3B;WACCO,KAAK,CAAEC,GAAG,IAAKC,OAAO,CAACC,IAAI,CAACF,GAAG,CAAC,CAAC,CAAA;AACtC,SAAA;OACD,CAAA;AACDT,MAAAA,MAAM,CAACY,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AAC9BiB,MAAAA,WAAW,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAA;AACtB,KAAC,CAAC,CAAA;GACH,CAAA;AACD9B,EAAAA,UAAU,CAAC6B,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AACpC,CAAA;AAEA,SAASyB,WAAWA,CAACU,OAAO,EAAEC,GAAG,EAAE;AACjC,EAAA,MAAMC,SAAS,GAAGF,OAAO,CAACG,gBAAgB,CAAA;EAC1C,MAAMpD,MAAM,GAAGkD,GAAG,GAAGC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAA;AACvC,EAAA,MAAM1B,MAAM,GAAG,IAAI4B,WAAW,CAACrD,MAAM,CAAC,CAAA;AACtC,EAAA,MAAMsD,IAAI,GAAG,IAAIpE,QAAQ,CAACuC,MAAM,CAAC,CAAA;EACjC,MAAMhC,QAAQ,GAAG,EAAE,CAAA;EACnB,IAAIU,CAAC,GAAG,CAAC,CAAA;AACT,EAAA,IAAIoD,MAAM,CAAA;EACV,IAAIC,MAAM,GAAG,CAAC,CAAA;EACd,IAAIC,GAAG,GAAG,CAAC,CAAA;;AAEX;AACAC,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC1D,MAAM,GAAG,CAAC,CAAC,CAAC;AACtB0D,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdC,EAAAA,SAAS,CAAC,CAAC,CAAC,CAAC;EACbA,SAAS,CAACR,SAAS,CAAC,CAAA;AACpBO,EAAAA,SAAS,CAACT,OAAO,CAACvD,UAAU,CAAC,CAAA;EAC7BgE,SAAS,CAACT,OAAO,CAACvD,UAAU,GAAG,CAAC,GAAGyD,SAAS,CAAC,CAAC;AAC9CQ,EAAAA,SAAS,CAACR,SAAS,GAAG,CAAC,CAAC,CAAC;AACzBQ,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdD,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;EACtBA,SAAS,CAAC1D,MAAM,GAAGyD,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5B;EACA,KAAKtD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8C,OAAO,CAACG,gBAAgB,EAAEjD,CAAC,EAAE,EAC3CV,QAAQ,CAACgB,IAAI,CAACwC,OAAO,CAACW,cAAc,CAACzD,CAAC,CAAC,CAAC,CAAA;EAE1C,OAAOsD,GAAG,GAAGzD,MAAM,EAAE;IACnB,KAAKG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgD,SAAS,EAAEhD,CAAC,EAAE,EAAE;AAC9B;MACAoD,MAAM,GAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEtE,QAAQ,CAACU,CAAC,CAAC,CAACqD,MAAM,CAAC,CAAC,CAAC,CAAC;AACxDD,MAAAA,MAAM,GAAG,CAAC,GAAG,GAAGA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,KAAK,GAAGA,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC;MAClED,IAAI,CAACU,QAAQ,CAACP,GAAG,EAAEF,MAAM,EAAE,IAAI,CAAC,CAAC;AACjCE,MAAAA,GAAG,IAAI,CAAC,CAAA;AACV,KAAA;IACAD,MAAM,EAAE,CAAC;AACX,GAAA;;AAEA,EAAA,OAAO/B,MAAM,CAAA;EAEb,SAASkC,SAASA,CAACM,IAAI,EAAE;IACvBX,IAAI,CAACK,SAAS,CAACF,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;EAEA,SAASC,SAASA,CAACO,IAAI,EAAE;IACvBX,IAAI,CAACI,SAAS,CAACD,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;AACF;;;;;"}
1
+ {"version":3,"file":"WebAudioUtils-2bd92ed1.js","sources":["../../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":"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"}
@@ -67,4 +67,4 @@ function _toPropertyKey(arg) {
67
67
  exports._defineProperty = _defineProperty;
68
68
  exports._extends = _extends;
69
69
  exports._objectSpread2 = _objectSpread2;
70
- //# sourceMappingURL=_rollupPluginBabelHelpers-4b6406c2.js.map
70
+ //# sourceMappingURL=_rollupPluginBabelHelpers-596e2aef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-596e2aef.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,4 +7,4 @@ const USER_ACTIONS = {
7
7
  };
8
8
 
9
9
  exports.USER_ACTIONS = USER_ACTIONS;
10
- //# sourceMappingURL=actionTypes-f66e00c2.js.map
10
+ //# sourceMappingURL=actionTypes-29997777.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionTypes-f66e00c2.js","sources":["../../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/CreateAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":";;AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
1
+ {"version":3,"file":"actionTypes-29997777.js","sources":["../../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/CreateAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":";;AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
@@ -34,4 +34,4 @@ const changeColorToClassName = color => {
34
34
 
35
35
  exports.Colors = Colors;
36
36
  exports.changeColorToClassName = changeColorToClassName;
37
- //# sourceMappingURL=color-4904d01e.js.map
37
+ //# sourceMappingURL=color-ac868fc0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-4904d01e.js","sources":["../../src/utils/color.ts"],"sourcesContent":["import './color.scss';\n\nexport enum Colors {\n ONBACKGROUND_1 = 'ONBACKGROUND_1',\n ONBACKGROUND_2 = 'ONBACKGROUND_2',\n ONBACKGROUND_3 = 'ONBACKGROUND_3',\n ONBACKGROUND_4 = 'ONBACKGROUND_4',\n ONCONTENT_1 = 'ONCONTENT_1',\n ONCONTENT_2 = 'ONCONTENT_2',\n PRIMARY = 'PRIMARY',\n ERROR = 'ERROR',\n}\n\nexport const changeColorToClassName = (color: Colors): string => {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-color--onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-color--onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-color--onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-color--onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-color--oncontent-1';\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.ERROR: return 'sendbird-color--error';\n default: return null;\n }\n};\n"],"names":["Colors","changeColorToClassName","color","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","PRIMARY","ERROR"],"mappings":";;AAEYA,IAAAA,MAAM,0BAANA,MAAM,EAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAANA,MAAM,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAANA,MAAM,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAWLC,MAAAA,sBAAsB,GAAIC,KAAa,IAAa;AAC/D,EAAA,QAAQA,KAAK;IACX,KAAKF,MAAM,CAACG,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKH,MAAM,CAACI,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKJ,MAAM,CAACK,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKL,MAAM,CAACM,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKN,MAAM,CAACO,WAAW;AAAE,MAAA,OAAO,6BAA6B,CAAA;IAC7D,KAAKP,MAAM,CAACQ,OAAO;AAAE,MAAA,OAAO,yBAAyB,CAAA;IACrD,KAAKR,MAAM,CAACS,KAAK;AAAE,MAAA,OAAO,uBAAuB,CAAA;AACjD,IAAA;AAAS,MAAA,OAAO,IAAI,CAAA;AACtB,GAAA;AACF;;;;;"}
1
+ {"version":3,"file":"color-ac868fc0.js","sources":["../../src/utils/color.ts"],"sourcesContent":["import './color.scss';\n\nexport enum Colors {\n ONBACKGROUND_1 = 'ONBACKGROUND_1',\n ONBACKGROUND_2 = 'ONBACKGROUND_2',\n ONBACKGROUND_3 = 'ONBACKGROUND_3',\n ONBACKGROUND_4 = 'ONBACKGROUND_4',\n ONCONTENT_1 = 'ONCONTENT_1',\n ONCONTENT_2 = 'ONCONTENT_2',\n PRIMARY = 'PRIMARY',\n ERROR = 'ERROR',\n}\n\nexport const changeColorToClassName = (color: Colors): string => {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-color--onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-color--onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-color--onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-color--onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-color--oncontent-1';\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.ERROR: return 'sendbird-color--error';\n default: return null;\n }\n};\n"],"names":["Colors","changeColorToClassName","color","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","PRIMARY","ERROR"],"mappings":";;AAEYA,IAAAA,MAAM,0BAANA,MAAM,EAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAANA,MAAM,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAANA,MAAM,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAANA,MAAM,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAWLC,MAAAA,sBAAsB,GAAIC,KAAa,IAAa;AAC/D,EAAA,QAAQA,KAAK;IACX,KAAKF,MAAM,CAACG,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKH,MAAM,CAACI,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKJ,MAAM,CAACK,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKL,MAAM,CAACM,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKN,MAAM,CAACO,WAAW;AAAE,MAAA,OAAO,6BAA6B,CAAA;IAC7D,KAAKP,MAAM,CAACQ,OAAO;AAAE,MAAA,OAAO,yBAAyB,CAAA;IACrD,KAAKR,MAAM,CAACS,KAAK;AAAE,MAAA,OAAO,uBAAuB,CAAA;AACjD,IAAA;AAAS,MAAA,OAAO,IAAI,CAAA;AAAC,GAAA;AAEzB;;;;;"}
@@ -4,7 +4,7 @@ const isEmpty = val => val === null || val === undefined;
4
4
 
5
5
  // Some Ids return string and number inconsistently
6
6
  // only use to comapre IDs
7
- function compareIds (a, b) {
7
+ function compareIds(a, b) {
8
8
  if (isEmpty(a) || isEmpty(b)) {
9
9
  return false;
10
10
  }
@@ -14,4 +14,4 @@ function compareIds (a, b) {
14
14
  }
15
15
 
16
16
  exports.compareIds = compareIds;
17
- //# sourceMappingURL=compareIds-de8d3b96.js.map
17
+ //# sourceMappingURL=compareIds-3c9472b4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareIds-3c9472b4.js","sources":["../../src/utils/compareIds.js"],"sourcesContent":["const isEmpty = (val) => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport default function compareIds(a, b) {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n"],"names":["isEmpty","val","undefined","compareIds","a","b","aString","toString","bString"],"mappings":";;AAAA,MAAMA,OAAO,GAAIC,GAAG,IAAMA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAU,CAAA;;AAE5D;AACA;AACe,SAASC,UAAUA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACvC,IAAIL,OAAO,CAACI,CAAC,CAAC,IAAIJ,OAAO,CAACK,CAAC,CAAC,EAAE;AAC5B,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,MAAMC,OAAO,GAAGF,CAAC,CAACG,QAAQ,EAAE,CAAA;AAC5B,EAAA,MAAMC,OAAO,GAAGH,CAAC,CAACE,QAAQ,EAAE,CAAA;EAC5B,OAAOD,OAAO,KAAKE,OAAO,CAAA;AAC5B;;;;"}
@@ -19,4 +19,4 @@ const NodeNames = {
19
19
  exports.MessageInputKeys = MessageInputKeys;
20
20
  exports.NodeNames = NodeNames;
21
21
  exports.NodeTypes = NodeTypes;
22
- //# sourceMappingURL=const-97ad0ae2.js.map
22
+ //# sourceMappingURL=const-7b049118.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const-97ad0ae2.js","sources":["../../src/ui/MessageInput/const.ts"],"sourcesContent":["export const MessageInputKeys = {\n Enter: 'Enter',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Backspace: 'Backspace',\n};\n\nexport const NodeTypes = {\n ElementNode: 1,\n TextNode: 3,\n};\n\nexport const NodeNames = {\n Span: 'SPAN',\n Br: 'BR',\n Div: 'DIV',\n};\n"],"names":["MessageInputKeys","Enter","ArrowUp","ArrowDown","Backspace","NodeTypes","ElementNode","TextNode","NodeNames","Span","Br","Div"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,QAAQ,EAAE,CAAA;AACZ,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAA;AACP;;;;;;"}
1
+ {"version":3,"file":"const-7b049118.js","sources":["../../src/ui/MessageInput/const.ts"],"sourcesContent":["export const MessageInputKeys = {\n Enter: 'Enter',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Backspace: 'Backspace',\n};\n\nexport const NodeTypes = {\n ElementNode: 1,\n TextNode: 3,\n};\n\nexport const NodeNames = {\n Span: 'SPAN',\n Br: 'BR',\n Div: 'DIV',\n};\n"],"names":["MessageInputKeys","Enter","ArrowUp","ArrowDown","Backspace","NodeTypes","ElementNode","TextNode","NodeNames","Span","Br","Div"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,QAAQ,EAAE,CAAA;AACZ,EAAC;AAEM,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAA;AACP;;;;;;"}
@@ -17,4 +17,4 @@ exports.NEXT_RESULT_SIZE = NEXT_RESULT_SIZE;
17
17
  exports.PREV_RESULT_SIZE = PREV_RESULT_SIZE;
18
18
  exports.ThreadReplySelectType = ThreadReplySelectType;
19
19
  exports.USER_MENTION_TEMP_CHAR = USER_MENTION_TEMP_CHAR;
20
- //# sourceMappingURL=const-bba9510b.js.map
20
+ //# sourceMappingURL=const-7d011d30.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const-bba9510b.js","sources":["../../src/modules/Channel/context/const.ts"],"sourcesContent":["export const PREV_RESULT_SIZE = 30;\nexport const NEXT_RESULT_SIZE = 15;\n\nexport const MAX_USER_MENTION_COUNT = 10;\nexport const MAX_USER_SUGGESTION_COUNT = 15;\nexport const USER_MENTION_TEMP_CHAR = '@';\n\nexport enum ThreadReplySelectType {\n PARENT = 'PARENT',\n THREAD = 'THREAD',\n}\n"],"names":["PREV_RESULT_SIZE","NEXT_RESULT_SIZE","MAX_USER_MENTION_COUNT","MAX_USER_SUGGESTION_COUNT","USER_MENTION_TEMP_CHAR","ThreadReplySelectType"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG,GAAE;AAC3B,MAAMC,gBAAgB,GAAG,GAAE;AAE3B,MAAMC,sBAAsB,GAAG,GAAE;AACjC,MAAMC,yBAAyB,GAAG,GAAE;AACpC,MAAMC,sBAAsB,GAAG,IAAG;AAE7BC,IAAAA,qBAAqB,0BAArBA,qBAAqB,EAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAArBA,qBAAqB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;;;;;;"}
1
+ {"version":3,"file":"const-7d011d30.js","sources":["../../src/modules/Channel/context/const.ts"],"sourcesContent":["export const PREV_RESULT_SIZE = 30;\nexport const NEXT_RESULT_SIZE = 15;\n\nexport const MAX_USER_MENTION_COUNT = 10;\nexport const MAX_USER_SUGGESTION_COUNT = 15;\nexport const USER_MENTION_TEMP_CHAR = '@';\n\nexport enum ThreadReplySelectType {\n PARENT = 'PARENT',\n THREAD = 'THREAD',\n}\n"],"names":["PREV_RESULT_SIZE","NEXT_RESULT_SIZE","MAX_USER_MENTION_COUNT","MAX_USER_SUGGESTION_COUNT","USER_MENTION_TEMP_CHAR","ThreadReplySelectType"],"mappings":";;AAAO,MAAMA,gBAAgB,GAAG,GAAE;AAC3B,MAAMC,gBAAgB,GAAG,GAAE;AAE3B,MAAMC,sBAAsB,GAAG,GAAE;AACjC,MAAMC,yBAAyB,GAAG,GAAE;AACpC,MAAMC,sBAAsB,GAAG,IAAG;AAE7BC,IAAAA,qBAAqB,0BAArBA,qBAAqB,EAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAArBA,qBAAqB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;;;;;;"}
@@ -3,4 +3,4 @@
3
3
  const OG_MESSAGE_BODY_CLASSNAME = 'sendbird-og-message-item-body__text-bubble';
4
4
 
5
5
  exports.OG_MESSAGE_BODY_CLASSNAME = OG_MESSAGE_BODY_CLASSNAME;
6
- //# sourceMappingURL=consts-6acebb51.js.map
6
+ //# sourceMappingURL=consts-6cf0ec85.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-6acebb51.js","sources":["../../src/ui/OGMessageItemBody/consts.ts"],"sourcesContent":["export const OG_MESSAGE_BODY_CLASSNAME = 'sendbird-og-message-item-body__text-bubble';\n"],"names":["OG_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,yBAAyB,GAAG;;;;"}
1
+ {"version":3,"file":"consts-6cf0ec85.js","sources":["../../src/ui/OGMessageItemBody/consts.ts"],"sourcesContent":["export const OG_MESSAGE_BODY_CLASSNAME = 'sendbird-og-message-item-body__text-bubble';\n"],"names":["OG_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,yBAAyB,GAAG;;;;"}
@@ -38,4 +38,4 @@ exports.VOICE_RECORDER_CLICK_BUFFER_TIME = VOICE_RECORDER_CLICK_BUFFER_TIME;
38
38
  exports.VOICE_RECORDER_DEFAULT_MAX = VOICE_RECORDER_DEFAULT_MAX;
39
39
  exports.VOICE_RECORDER_DEFAULT_MIN = VOICE_RECORDER_DEFAULT_MIN;
40
40
  exports.VOICE_RECORDER_MIME_TYPE = VOICE_RECORDER_MIME_TYPE;
41
- //# sourceMappingURL=consts-cafff484.js.map
41
+ //# sourceMappingURL=consts-9cbf147c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-cafff484.js","sources":["../../src/utils/consts.ts"],"sourcesContent":["export const SCROLL_BUFFER = 10;\n\n// voice message record\nexport const VOICE_RECORDER_CLICK_BUFFER_TIME = 250;\nexport const VOICE_RECORDER_DEFAULT_MIN = 1000; // 1 seconds\nexport const VOICE_RECORDER_DEFAULT_MAX = 600000; // 10 minutes\nexport const VOICE_RECORDER_MIME_TYPE = 'audio/webm';\nexport const VOICE_RECORDER_AUDIO_BITS = 128000;\n\n// voice message play\nexport const VOICE_PLAYER_PLAYBACK_BUFFER = 0.01;\nexport const VOICE_PLAYER_DURATION_MIN_SIZE = 1000;\n\n/**\n * Append Audio element to the root\n * because I can't get the Audio element in the useEffect unmount scope\n */\nexport const VOICE_PLAYER_ROOT_ID = 'sendbird-voice-player-provider-root';\nexport const VOICE_PLAYER_AUDIO_ID = 'sendbird-global-audio-player-id';\n\n// voice message file\nexport const VOICE_MESSAGE_FILE_NAME = 'Voice_message.mp3';\nexport const VOICE_MESSAGE_MIME_TYPE = 'audio/mp3;sbu_type=voice';\n\n// meta array\nexport const META_ARRAY_VOICE_DURATION_KEY = 'KEY_VOICE_MESSAGE_DURATION';\nexport const META_ARRAY_MESSAGE_TYPE_KEY = 'KEY_INTERNAL_MESSAGE_TYPE';\nexport const META_ARRAY_MESSAGE_TYPE_VALUE__VOICE = 'voice/mp3';\n"],"names":["SCROLL_BUFFER","VOICE_RECORDER_CLICK_BUFFER_TIME","VOICE_RECORDER_DEFAULT_MIN","VOICE_RECORDER_DEFAULT_MAX","VOICE_RECORDER_MIME_TYPE","VOICE_RECORDER_AUDIO_BITS","VOICE_PLAYER_ROOT_ID","VOICE_PLAYER_AUDIO_ID","VOICE_MESSAGE_FILE_NAME","VOICE_MESSAGE_MIME_TYPE","META_ARRAY_VOICE_DURATION_KEY","META_ARRAY_MESSAGE_TYPE_KEY","META_ARRAY_MESSAGE_TYPE_VALUE__VOICE"],"mappings":";;AAAO,MAAMA,aAAa,GAAG,GAAE;;AAE/B;AACO,MAAMC,gCAAgC,GAAG,IAAG;AACtCC,MAAAA,0BAA0B,GAAG,KAAK;AAClCC,MAAAA,0BAA0B,GAAG,OAAO;AAC1C,MAAMC,wBAAwB,GAAG,aAAY;AAC7C,MAAMC,yBAAyB,GAAG,OAAM;;AAM/C;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG,sCAAqC;AAClE,MAAMC,qBAAqB,GAAG,kCAAiC;;AAEtE;AACO,MAAMC,uBAAuB,GAAG,oBAAmB;AACnD,MAAMC,uBAAuB,GAAG,2BAA0B;;AAEjE;AACO,MAAMC,6BAA6B,GAAG,6BAA4B;AAClE,MAAMC,2BAA2B,GAAG,4BAA2B;AAC/D,MAAMC,oCAAoC,GAAG;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"consts-9cbf147c.js","sources":["../../src/utils/consts.ts"],"sourcesContent":["export const SCROLL_BUFFER = 10;\n\n// voice message record\nexport const VOICE_RECORDER_CLICK_BUFFER_TIME = 250;\nexport const VOICE_RECORDER_DEFAULT_MIN = 1000; // 1 seconds\nexport const VOICE_RECORDER_DEFAULT_MAX = 600000; // 10 minutes\nexport const VOICE_RECORDER_MIME_TYPE = 'audio/webm';\nexport const VOICE_RECORDER_AUDIO_BITS = 128000;\n\n// voice message play\nexport const VOICE_PLAYER_PLAYBACK_BUFFER = 0.01;\nexport const VOICE_PLAYER_DURATION_MIN_SIZE = 1000;\n\n/**\n * Append Audio element to the root\n * because I can't get the Audio element in the useEffect unmount scope\n */\nexport const VOICE_PLAYER_ROOT_ID = 'sendbird-voice-player-provider-root';\nexport const VOICE_PLAYER_AUDIO_ID = 'sendbird-global-audio-player-id';\n\n// voice message file\nexport const VOICE_MESSAGE_FILE_NAME = 'Voice_message.mp3';\nexport const VOICE_MESSAGE_MIME_TYPE = 'audio/mp3;sbu_type=voice';\n\n// meta array\nexport const META_ARRAY_VOICE_DURATION_KEY = 'KEY_VOICE_MESSAGE_DURATION';\nexport const META_ARRAY_MESSAGE_TYPE_KEY = 'KEY_INTERNAL_MESSAGE_TYPE';\nexport const META_ARRAY_MESSAGE_TYPE_VALUE__VOICE = 'voice/mp3';\n"],"names":["SCROLL_BUFFER","VOICE_RECORDER_CLICK_BUFFER_TIME","VOICE_RECORDER_DEFAULT_MIN","VOICE_RECORDER_DEFAULT_MAX","VOICE_RECORDER_MIME_TYPE","VOICE_RECORDER_AUDIO_BITS","VOICE_PLAYER_ROOT_ID","VOICE_PLAYER_AUDIO_ID","VOICE_MESSAGE_FILE_NAME","VOICE_MESSAGE_MIME_TYPE","META_ARRAY_VOICE_DURATION_KEY","META_ARRAY_MESSAGE_TYPE_KEY","META_ARRAY_MESSAGE_TYPE_VALUE__VOICE"],"mappings":";;AAAO,MAAMA,aAAa,GAAG,GAAE;;AAE/B;AACO,MAAMC,gCAAgC,GAAG,IAAG;AACtCC,MAAAA,0BAA0B,GAAG,KAAK;AAClCC,MAAAA,0BAA0B,GAAG,OAAO;AAC1C,MAAMC,wBAAwB,GAAG,aAAY;AAC7C,MAAMC,yBAAyB,GAAG,OAAM;;AAM/C;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG,sCAAqC;AAClE,MAAMC,qBAAqB,GAAG,kCAAiC;;AAEtE;AACO,MAAMC,uBAAuB,GAAG,oBAAmB;AACnD,MAAMC,uBAAuB,GAAG,2BAA0B;;AAEjE;AACO,MAAMC,6BAA6B,GAAG,6BAA4B;AAClE,MAAMC,2BAA2B,GAAG,4BAA2B;AAC/D,MAAMC,oCAAoC,GAAG;;;;;;;;;;;;;;;;"}
@@ -3,4 +3,4 @@
3
3
  const TEXT_MESSAGE_BODY_CLASSNAME = 'sendbird-text-message-item-body';
4
4
 
5
5
  exports.TEXT_MESSAGE_BODY_CLASSNAME = TEXT_MESSAGE_BODY_CLASSNAME;
6
- //# sourceMappingURL=consts-a235ce0a.js.map
6
+ //# sourceMappingURL=consts-d9ff7fec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-a235ce0a.js","sources":["../../src/ui/TextMessageItemBody/consts.ts"],"sourcesContent":["export const TEXT_MESSAGE_BODY_CLASSNAME = 'sendbird-text-message-item-body';\n"],"names":["TEXT_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,2BAA2B,GAAG;;;;"}
1
+ {"version":3,"file":"consts-d9ff7fec.js","sources":["../../src/ui/TextMessageItemBody/consts.ts"],"sourcesContent":["export const TEXT_MESSAGE_BODY_CLASSNAME = 'sendbird-text-message-item-body';\n"],"names":["TEXT_MESSAGE_BODY_CLASSNAME"],"mappings":";;AAAO,MAAMA,2BAA2B,GAAG;;;;"}
@@ -3,4 +3,4 @@
3
3
  const MENTION_USER_LABEL_CLASSNAME = 'sendbird-mention-user-label';
4
4
 
5
5
  exports.MENTION_USER_LABEL_CLASSNAME = MENTION_USER_LABEL_CLASSNAME;
6
- //# sourceMappingURL=consts-cb169c09.js.map
6
+ //# sourceMappingURL=consts-df222988.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-cb169c09.js","sources":["../../src/ui/MentionUserLabel/consts.ts"],"sourcesContent":["export const MENTION_USER_LABEL_CLASSNAME = 'sendbird-mention-user-label';\n"],"names":["MENTION_USER_LABEL_CLASSNAME"],"mappings":";;AAAO,MAAMA,4BAA4B,GAAG;;;;"}
1
+ {"version":3,"file":"consts-df222988.js","sources":["../../src/ui/MentionUserLabel/consts.ts"],"sourcesContent":["export const MENTION_USER_LABEL_CLASSNAME = 'sendbird-mention-user-label';\n"],"names":["MENTION_USER_LABEL_CLASSNAME"],"mappings":";;AAAO,MAAMA,4BAA4B,GAAG;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var utils = require('./utils-f6f55335.js');
4
+ var utils = require('./utils-eadc245c.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -17,4 +17,4 @@ const Provider = Context.Provider;
17
17
 
18
18
  exports.Consumer = Consumer;
19
19
  exports.Provider = Provider;
20
- //# sourceMappingURL=context-e6181d31.js.map
20
+ //# sourceMappingURL=context-1d31dbec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-e6181d31.js","sources":["../../src/ui/Accordion/context.ts"],"sourcesContent":["import React from 'react';\n\nimport { noop } from '../../utils/utils';\n\ninterface ContextValue {\n setOpened(accordion: string): void;\n opened: string;\n}\n\nconst Context = React.createContext<ContextValue>({\n opened: '', // mock default value\n setOpened: noop,\n});\n\nexport const Consumer = Context.Consumer;\nexport const Provider = Context.Provider;\n"],"names":["Context","React","createContext","opened","setOpened","noop","Consumer","Provider"],"mappings":";;;;;;;;;AASA,MAAMA,OAAO,gBAAGC,yBAAK,CAACC,aAAa,CAAe;AAChDC,EAAAA,MAAM,EAAE,EAAE;AAAE;AACZC,EAAAA,SAAS,EAAEC,UAAAA;AACb,CAAC,CAAC,CAAA;AAEWC,MAAAA,QAAQ,GAAGN,OAAO,CAACM,SAAQ;AAC3BC,MAAAA,QAAQ,GAAGP,OAAO,CAACO;;;;;"}
1
+ {"version":3,"file":"context-1d31dbec.js","sources":["../../src/ui/Accordion/context.ts"],"sourcesContent":["import React from 'react';\n\nimport { noop } from '../../utils/utils';\n\ninterface ContextValue {\n setOpened(accordion: string): void;\n opened: string;\n}\n\nconst Context = React.createContext<ContextValue>({\n opened: '', // mock default value\n setOpened: noop,\n});\n\nexport const Consumer = Context.Consumer;\nexport const Provider = Context.Provider;\n"],"names":["Context","React","createContext","opened","setOpened","noop","Consumer","Provider"],"mappings":";;;;;;;;;AASA,MAAMA,OAAO,gBAAGC,yBAAK,CAACC,aAAa,CAAe;AAChDC,EAAAA,MAAM,EAAE,EAAE;AAAE;AACZC,EAAAA,SAAS,EAAEC,UAAAA;AACb,CAAC,CAAC,CAAA;AAEWC,MAAAA,QAAQ,GAAGN,OAAO,CAACM,SAAQ;AAC3BC,MAAAA,QAAQ,GAAGP,OAAO,CAACO;;;;;"}