@sendbird/uikit-react 3.4.6-0 → 3.4.6-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 (695) hide show
  1. package/App.js +46 -45
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +16 -0
  4. package/Channel/components/ChannelHeader.js +20 -20
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +39 -38
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +15 -15
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +43 -42
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +27 -28
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +41 -59
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +17 -17
  17. package/Channel/components/RemoveMessageModal.js.map +1 -1
  18. package/Channel/components/SuggestedMentionList.js +23 -30
  19. package/Channel/components/SuggestedMentionList.js.map +1 -1
  20. package/Channel/components/TypingIndicator.js +15 -15
  21. package/Channel/components/TypingIndicator.js.map +1 -1
  22. package/Channel/components/UnreadCount.js +4 -4
  23. package/Channel/context.js +14 -14
  24. package/Channel.js +39 -38
  25. package/Channel.js.map +1 -1
  26. package/ChannelList/components/AddChannel.js +15 -15
  27. package/ChannelList/components/ChannelListHeader.js +6 -6
  28. package/ChannelList/components/ChannelListUI.js +30 -30
  29. package/ChannelList/components/ChannelPreview.js +27 -27
  30. package/ChannelList/components/ChannelPreview.js.map +1 -1
  31. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +30 -30
  34. package/{ChannelListProvider-b7ce527e.js → ChannelListProvider-32bd4597.js} +8 -8
  35. package/ChannelListProvider-32bd4597.js.map +1 -0
  36. package/{ChannelProvider-cd9afff3.js → ChannelProvider-4e33aa60.js} +12 -12
  37. package/ChannelProvider-4e33aa60.js.map +1 -0
  38. package/ChannelSettings/components/ChannelProfile.js +11 -11
  39. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  40. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  41. package/ChannelSettings/components/LeaveChannel.js +11 -11
  42. package/ChannelSettings/components/ModerationPanel.js +14 -14
  43. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  44. package/ChannelSettings/components/UserListItem.js +10 -10
  45. package/ChannelSettings/components/UserPanel.js +14 -14
  46. package/ChannelSettings/components/UserPanel.js.map +1 -1
  47. package/ChannelSettings/context.js +3 -3
  48. package/ChannelSettings/context.js.map +1 -1
  49. package/ChannelSettings.js +17 -17
  50. package/CreateChannel/components/CreateChannelUI.js +13 -13
  51. package/CreateChannel/components/InviteUsers.js +16 -14
  52. package/CreateChannel/components/InviteUsers.js.map +1 -1
  53. package/CreateChannel/components/SelectChannelType.js +10 -10
  54. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  55. package/CreateChannel/context.js +4 -4
  56. package/CreateChannel.js +13 -13
  57. package/{CreateChannelProvider-d7e8a10f.js → CreateChannelProvider-96aa4ed0.js} +1 -1
  58. package/{CreateChannelProvider-d7e8a10f.js.map → CreateChannelProvider-96aa4ed0.js.map} +1 -1
  59. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  60. package/CreateOpenChannel/context.js +1 -1
  61. package/CreateOpenChannel.js +9 -9
  62. package/CreateOpenChannel.js.map +1 -1
  63. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  64. package/EditUserProfile.js +12 -12
  65. package/{LocalizationContext-43b10f97.js → LocalizationContext-62966630.js} +3 -3
  66. package/{LocalizationContext-43b10f97.js.map → LocalizationContext-62966630.js.map} +1 -1
  67. package/{MediaQueryContext-f2df2472.js → MediaQueryContext-17146a37.js} +7 -7
  68. package/{MediaQueryContext-f2df2472.js.map → MediaQueryContext-17146a37.js.map} +1 -1
  69. package/{MemberList-70806978.js → MemberList-ef0a35ad.js} +5 -5
  70. package/MemberList-ef0a35ad.js.map +1 -0
  71. package/MessageSearch/components/MessageSearchUI.js +11 -11
  72. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  73. package/MessageSearch/context.js +1 -1
  74. package/MessageSearch/context.js.map +1 -1
  75. package/MessageSearch.js +11 -11
  76. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  77. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  78. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  79. package/OpenChannel/components/OpenChannelInput.js +19 -19
  80. package/OpenChannel/components/OpenChannelMessage.js +28 -27
  81. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  82. package/OpenChannel/components/OpenChannelMessageList.js +33 -67
  83. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  84. package/OpenChannel/components/OpenChannelUI.js +32 -30
  85. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  86. package/OpenChannel/context.js +8 -8
  87. package/OpenChannel.js +32 -30
  88. package/OpenChannel.js.map +1 -1
  89. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  90. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  91. package/OpenChannelList/context.js +3 -3
  92. package/OpenChannelList.js +13 -13
  93. package/OpenChannelList.js.map +1 -1
  94. package/{OpenChannelListProvider-22244a14.js → OpenChannelListProvider-8be6450e.js} +6 -4
  95. package/OpenChannelListProvider-8be6450e.js.map +1 -0
  96. package/{OpenChannelProvider-36270182.js → OpenChannelProvider-98df8b74.js} +8 -8
  97. package/OpenChannelProvider-98df8b74.js.map +1 -0
  98. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  99. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  100. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  101. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  102. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  103. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  104. package/OpenChannelSettings/context.js +3 -3
  105. package/OpenChannelSettings.js +17 -17
  106. package/{RemoveMessageModal-d0a5c64c.js → RemoveMessageModal-0efd9201.js} +3 -3
  107. package/{RemoveMessageModal-d0a5c64c.js.map → RemoveMessageModal-0efd9201.js.map} +1 -1
  108. package/SendbirdProvider.js +138 -111
  109. package/SendbirdProvider.js.map +1 -1
  110. package/Thread/components/ParentMessageInfo.js +30 -30
  111. package/Thread/components/ParentMessageInfoItem.js +18 -18
  112. package/Thread/components/ThreadHeader.js +6 -6
  113. package/Thread/components/ThreadList.js +34 -33
  114. package/Thread/components/ThreadList.js.map +1 -1
  115. package/Thread/components/ThreadListItem.js +33 -33
  116. package/Thread/components/ThreadListItem.js.map +1 -1
  117. package/Thread/components/ThreadMessageInput.js +28 -29
  118. package/Thread/components/ThreadMessageInput.js.map +1 -1
  119. package/Thread/components/ThreadUI.js +37 -37
  120. package/Thread/context.js +8 -8
  121. package/Thread.js +37 -37
  122. package/{ThreadProvider-533e9025.js → ThreadProvider-1798360b.js} +9 -9
  123. package/ThreadProvider-1798360b.js.map +1 -0
  124. package/{UserProfileContext-12b6fabf.js → UserProfileContext-7083bd82.js} +1 -1
  125. package/{UserProfileContext-12b6fabf.js.map → UserProfileContext-7083bd82.js.map} +1 -1
  126. package/{VoiceMessageInputWrapper-c74412de.js → VoiceMessageInputWrapper-4479a1bd.js} +19 -14
  127. package/VoiceMessageInputWrapper-4479a1bd.js.map +1 -0
  128. package/VoicePlayer/context.js +3 -3
  129. package/VoicePlayer/useVoicePlayer.js +3 -4
  130. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  131. package/VoiceRecorder/context.js +22 -125
  132. package/VoiceRecorder/context.js.map +1 -1
  133. package/VoiceRecorder/useVoiceRecorder.js +2 -3
  134. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  135. package/WebAudioUtils-f57301b1.js +123 -0
  136. package/WebAudioUtils-f57301b1.js.map +1 -0
  137. package/{_rollupPluginBabelHelpers-3756a6a3.js → _rollupPluginBabelHelpers-48b56150.js} +1 -1
  138. package/_rollupPluginBabelHelpers-48b56150.js.map +1 -0
  139. package/actionTypes-9badb1b4.js +8 -0
  140. package/actionTypes-9badb1b4.js.map +1 -0
  141. package/cjs/App.js +46 -45
  142. package/cjs/App.js.map +1 -1
  143. package/cjs/Channel/components/ChannelHeader.js +20 -20
  144. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  145. package/cjs/Channel/components/ChannelUI.js +39 -38
  146. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  147. package/cjs/Channel/components/FileViewer.js +15 -15
  148. package/cjs/Channel/components/FrozenNotification.js +4 -4
  149. package/cjs/Channel/components/Message.js +47 -46
  150. package/cjs/Channel/components/Message.js.map +1 -1
  151. package/cjs/Channel/components/MessageInput.js +27 -28
  152. package/cjs/Channel/components/MessageInput.js.map +1 -1
  153. package/cjs/Channel/components/MessageList.js +41 -59
  154. package/cjs/Channel/components/MessageList.js.map +1 -1
  155. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  156. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  157. package/cjs/Channel/components/SuggestedMentionList.js +23 -30
  158. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  159. package/cjs/Channel/components/TypingIndicator.js +15 -15
  160. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  161. package/cjs/Channel/components/UnreadCount.js +4 -4
  162. package/cjs/Channel/context.js +14 -14
  163. package/cjs/Channel.js +39 -38
  164. package/cjs/Channel.js.map +1 -1
  165. package/cjs/ChannelList/components/AddChannel.js +15 -15
  166. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  167. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  168. package/cjs/ChannelList/components/ChannelPreview.js +27 -27
  169. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  170. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  171. package/cjs/ChannelList/context.js +8 -8
  172. package/cjs/ChannelList.js +30 -30
  173. package/cjs/{ChannelListProvider-d8f65b18.js → ChannelListProvider-c90e6d9b.js} +8 -8
  174. package/cjs/ChannelListProvider-c90e6d9b.js.map +1 -0
  175. package/cjs/{ChannelProvider-473548f7.js → ChannelProvider-6da44044.js} +12 -12
  176. package/cjs/ChannelProvider-6da44044.js.map +1 -0
  177. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  178. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  179. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  180. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  181. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  182. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  183. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  184. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  185. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  186. package/cjs/ChannelSettings/context.js +3 -3
  187. package/cjs/ChannelSettings/context.js.map +1 -1
  188. package/cjs/ChannelSettings.js +17 -17
  189. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  190. package/cjs/CreateChannel/components/InviteUsers.js +16 -14
  191. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  192. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  193. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  194. package/cjs/CreateChannel/context.js +4 -4
  195. package/cjs/CreateChannel.js +13 -13
  196. package/cjs/{CreateChannelProvider-387290bb.js → CreateChannelProvider-ff9bb9da.js} +1 -1
  197. package/cjs/{CreateChannelProvider-387290bb.js.map → CreateChannelProvider-ff9bb9da.js.map} +1 -1
  198. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  199. package/cjs/CreateOpenChannel/context.js +1 -1
  200. package/cjs/CreateOpenChannel.js +9 -9
  201. package/cjs/CreateOpenChannel.js.map +1 -1
  202. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  203. package/cjs/EditUserProfile.js +12 -12
  204. package/cjs/{LocalizationContext-e4a874cf.js → LocalizationContext-4c1a8e44.js} +3 -3
  205. package/cjs/{LocalizationContext-e4a874cf.js.map → LocalizationContext-4c1a8e44.js.map} +1 -1
  206. package/cjs/{MediaQueryContext-fcd92c17.js → MediaQueryContext-9f3958fe.js} +7 -7
  207. package/cjs/{MediaQueryContext-fcd92c17.js.map → MediaQueryContext-9f3958fe.js.map} +1 -1
  208. package/cjs/{MemberList-dbd3a4b4.js → MemberList-1ad4eda5.js} +5 -5
  209. package/cjs/MemberList-1ad4eda5.js.map +1 -0
  210. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  211. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  212. package/cjs/MessageSearch/context.js +1 -1
  213. package/cjs/MessageSearch/context.js.map +1 -1
  214. package/cjs/MessageSearch.js +11 -11
  215. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  216. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  217. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
  219. package/cjs/OpenChannel/components/OpenChannelMessage.js +28 -27
  220. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  221. package/cjs/OpenChannel/components/OpenChannelMessageList.js +37 -71
  222. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  223. package/cjs/OpenChannel/components/OpenChannelUI.js +32 -30
  224. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  225. package/cjs/OpenChannel/context.js +8 -8
  226. package/cjs/OpenChannel.js +32 -30
  227. package/cjs/OpenChannel.js.map +1 -1
  228. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  229. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  230. package/cjs/OpenChannelList/context.js +3 -3
  231. package/cjs/OpenChannelList.js +13 -13
  232. package/cjs/OpenChannelList.js.map +1 -1
  233. package/cjs/{OpenChannelListProvider-89659c0b.js → OpenChannelListProvider-f7387ce4.js} +6 -4
  234. package/cjs/OpenChannelListProvider-f7387ce4.js.map +1 -0
  235. package/cjs/{OpenChannelProvider-3d3d606e.js → OpenChannelProvider-0bbac562.js} +8 -8
  236. package/cjs/OpenChannelProvider-0bbac562.js.map +1 -0
  237. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  238. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  239. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  240. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  241. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  242. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  243. package/cjs/OpenChannelSettings/context.js +3 -3
  244. package/cjs/OpenChannelSettings.js +17 -17
  245. package/cjs/{RemoveMessageModal-21a7c6ac.js → RemoveMessageModal-63e870f4.js} +3 -3
  246. package/cjs/{RemoveMessageModal-21a7c6ac.js.map → RemoveMessageModal-63e870f4.js.map} +1 -1
  247. package/cjs/SendbirdProvider.js +142 -115
  248. package/cjs/SendbirdProvider.js.map +1 -1
  249. package/cjs/Thread/components/ParentMessageInfo.js +30 -30
  250. package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
  251. package/cjs/Thread/components/ThreadHeader.js +6 -6
  252. package/cjs/Thread/components/ThreadList.js +34 -33
  253. package/cjs/Thread/components/ThreadList.js.map +1 -1
  254. package/cjs/Thread/components/ThreadListItem.js +33 -33
  255. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  256. package/cjs/Thread/components/ThreadMessageInput.js +28 -29
  257. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  258. package/cjs/Thread/components/ThreadUI.js +37 -37
  259. package/cjs/Thread/context.js +8 -8
  260. package/cjs/Thread.js +37 -37
  261. package/cjs/{ThreadProvider-572d67c0.js → ThreadProvider-ca9e5e4f.js} +9 -9
  262. package/cjs/ThreadProvider-ca9e5e4f.js.map +1 -0
  263. package/cjs/{UserProfileContext-ce0c283c.js → UserProfileContext-34f6be33.js} +1 -1
  264. package/cjs/{UserProfileContext-ce0c283c.js.map → UserProfileContext-34f6be33.js.map} +1 -1
  265. package/cjs/{VoiceMessageInputWrapper-88ad4670.js → VoiceMessageInputWrapper-770a185c.js} +18 -13
  266. package/cjs/VoiceMessageInputWrapper-770a185c.js.map +1 -0
  267. package/cjs/VoicePlayer/context.js +3 -3
  268. package/cjs/VoicePlayer/useVoicePlayer.js +3 -4
  269. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  270. package/cjs/VoiceRecorder/context.js +21 -124
  271. package/cjs/VoiceRecorder/context.js.map +1 -1
  272. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -3
  273. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  274. package/cjs/WebAudioUtils-70bcccc3.js +126 -0
  275. package/cjs/WebAudioUtils-70bcccc3.js.map +1 -0
  276. package/cjs/{_rollupPluginBabelHelpers-6ab4baac.js → _rollupPluginBabelHelpers-8164e35a.js} +1 -1
  277. package/cjs/_rollupPluginBabelHelpers-8164e35a.js.map +1 -0
  278. package/cjs/actionTypes-4a2939b3.js +10 -0
  279. package/cjs/actionTypes-4a2939b3.js.map +1 -0
  280. package/cjs/{color-168c1d53.js → color-f43f059a.js} +1 -1
  281. package/cjs/{color-168c1d53.js.map → color-f43f059a.js.map} +1 -1
  282. package/cjs/{compareIds-441b4983.js → compareIds-e5f7db38.js} +1 -1
  283. package/cjs/{compareIds-441b4983.js.map → compareIds-e5f7db38.js.map} +1 -1
  284. package/cjs/{const-cf4cec6a.js → const-611ac2dd.js} +1 -1
  285. package/cjs/{const-cf4cec6a.js.map → const-611ac2dd.js.map} +1 -1
  286. package/cjs/{const-0273bf9e.js → const-e7388711.js} +1 -1
  287. package/cjs/{const-0273bf9e.js.map → const-e7388711.js.map} +1 -1
  288. package/cjs/{consts-b8c0be49.js → consts-82dce75d.js} +1 -1
  289. package/cjs/{consts-b8c0be49.js.map → consts-82dce75d.js.map} +1 -1
  290. package/cjs/{consts-e193b1b8.js → consts-d9ecf2d7.js} +1 -1
  291. package/cjs/{consts-e193b1b8.js.map → consts-d9ecf2d7.js.map} +1 -1
  292. package/cjs/{consts-472d9347.js → consts-e0f44b83.js} +1 -1
  293. package/cjs/{consts-472d9347.js.map → consts-e0f44b83.js.map} +1 -1
  294. package/cjs/{consts-2e23914f.js → consts-f8bd3346.js} +1 -1
  295. package/cjs/{consts-2e23914f.js.map → consts-f8bd3346.js.map} +1 -1
  296. package/cjs/{context-d718fff1.js → context-32080e3d.js} +2 -2
  297. package/cjs/{context-d718fff1.js.map → context-32080e3d.js.map} +1 -1
  298. package/cjs/dist/index.css +143 -142
  299. package/cjs/dist/index.css.map +1 -1
  300. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  301. package/cjs/handlers/SessionHandler.js.map +1 -1
  302. package/cjs/{index-b2e4a79e.js → index-0f5a2c3b.js} +7 -7
  303. package/cjs/index-0f5a2c3b.js.map +1 -0
  304. package/cjs/{index-9dd8a18a.js → index-1837f392.js} +6 -6
  305. package/cjs/index-1837f392.js.map +1 -0
  306. package/cjs/{index-f2d71843.js → index-450c5c4a.js} +113 -30
  307. package/cjs/index-450c5c4a.js.map +1 -0
  308. package/cjs/{index-813deccc.js → index-584a87f3.js} +1 -1
  309. package/cjs/{index-813deccc.js.map → index-584a87f3.js.map} +1 -1
  310. package/cjs/{index-630f7132.js → index-58bddb18.js} +14 -14
  311. package/cjs/index-58bddb18.js.map +1 -0
  312. package/cjs/{index-44341b78.js → index-6253d289.js} +6 -3
  313. package/cjs/index-6253d289.js.map +1 -0
  314. package/cjs/{index-0e43cd69.js → index-6295003c.js} +2 -2
  315. package/cjs/{index-0e43cd69.js.map → index-6295003c.js.map} +1 -1
  316. package/cjs/{index-ba9683ca.js → index-911b358f.js} +7 -3
  317. package/cjs/index-911b358f.js.map +1 -0
  318. package/cjs/{index-5075f3b2.js → index-946fe9b8.js} +14 -14
  319. package/cjs/index-946fe9b8.js.map +1 -0
  320. package/cjs/{index-3d08adec.js → index-a9a828c4.js} +4 -4
  321. package/cjs/index-a9a828c4.js.map +1 -0
  322. package/cjs/index-bddcf750.js +41 -0
  323. package/cjs/index-bddcf750.js.map +1 -0
  324. package/cjs/{index-4894fc55.js → index-cc5b51fb.js} +7 -7
  325. package/cjs/index-cc5b51fb.js.map +1 -0
  326. package/cjs/{index-d3b05e98.js → index-d217a491.js} +2 -2
  327. package/cjs/index-d217a491.js.map +1 -0
  328. package/cjs/{index-903c0f93.js → index-ecac7544.js} +24 -3
  329. package/cjs/index-ecac7544.js.map +1 -0
  330. package/cjs/{index-3a7584a0.js → index-f2afea13.js} +28 -29
  331. package/cjs/index-f2afea13.js.map +1 -0
  332. package/cjs/{index-47105c4f.js → index-fc3f351f.js} +2 -2
  333. package/cjs/index-fc3f351f.js.map +1 -0
  334. package/cjs/index.js +50 -49
  335. package/cjs/index.js.map +1 -1
  336. package/cjs/index.module-d62bc038.js +6 -0
  337. package/cjs/index.module-d62bc038.js.map +1 -0
  338. package/cjs/sendbirdSelectors.js +2 -2
  339. package/cjs/sendbirdSelectors.js.map +1 -1
  340. package/cjs/{stringSet-76f7df68.js → stringSet-9717efda.js} +1 -1
  341. package/cjs/{stringSet-76f7df68.js.map → stringSet-9717efda.js.map} +1 -1
  342. package/cjs/{tokenize-5071d1a6.js → tokenize-b42df26a.js} +19 -5
  343. package/cjs/tokenize-b42df26a.js.map +1 -0
  344. package/cjs/{topics-f70c5e0f.js → topics-11bf2ffa.js} +1 -1
  345. package/cjs/topics-11bf2ffa.js.map +1 -0
  346. package/cjs/tslib.es6-b412d11d.js +97 -0
  347. package/cjs/tslib.es6-b412d11d.js.map +1 -0
  348. package/cjs/{types-43ef9367.js → types-997d2578.js} +1 -1
  349. package/cjs/types-997d2578.js.map +1 -0
  350. package/cjs/ui/Accordion.js +3 -3
  351. package/cjs/ui/AccordionGroup.js +2 -2
  352. package/cjs/ui/AdminMessage.js +3 -3
  353. package/cjs/ui/Avatar.js +2 -2
  354. package/cjs/ui/Badge.js +5 -5
  355. package/cjs/ui/BottomSheet.js +1 -1
  356. package/cjs/ui/BottomSheet.js.map +1 -1
  357. package/cjs/ui/Button.js +3 -3
  358. package/cjs/ui/Button.js.map +1 -1
  359. package/cjs/ui/ChannelAvatar.js +3 -3
  360. package/cjs/ui/ChannelAvatar.js.map +1 -1
  361. package/cjs/ui/Checkbox.js +2 -2
  362. package/cjs/ui/Checkbox.js.map +1 -1
  363. package/cjs/ui/ConnectionStatus.js +4 -4
  364. package/cjs/ui/ContextMenu.js +6 -6
  365. package/cjs/ui/ContextMenu.js.map +1 -1
  366. package/cjs/ui/DateSeparator.js +4 -4
  367. package/cjs/ui/EmojiReactions.js +7 -7
  368. package/cjs/ui/FileMessageItemBody.js +6 -6
  369. package/cjs/ui/FileViewer.js +8 -8
  370. package/cjs/ui/IconButton.js +1 -1
  371. package/cjs/ui/IconButton.js.map +1 -1
  372. package/cjs/ui/ImageRenderer.js +1 -1
  373. package/cjs/ui/ImageRenderer.js.map +1 -1
  374. package/cjs/ui/Input.js +2 -2
  375. package/cjs/ui/Label.js +2 -2
  376. package/cjs/ui/LinkLabel.js +2 -2
  377. package/cjs/ui/Loader.js +1 -1
  378. package/cjs/ui/MentionLabel.js +10 -10
  379. package/cjs/ui/MentionUserLabel.js +1 -1
  380. package/cjs/ui/MessageContent.js +28 -28
  381. package/cjs/ui/MessageContent.js.map +1 -1
  382. package/cjs/ui/MessageInput.js +24 -23
  383. package/cjs/ui/MessageInput.js.map +1 -1
  384. package/cjs/ui/MessageItemMenu.js +8 -8
  385. package/cjs/ui/MessageItemMenu.js.map +1 -1
  386. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  387. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  388. package/cjs/ui/MessageSearchFileItem.js +11 -11
  389. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  390. package/cjs/ui/MessageSearchItem.js +9 -9
  391. package/cjs/ui/MessageSearchItem.js.map +1 -1
  392. package/cjs/ui/MessageStatus.js +10 -10
  393. package/cjs/ui/Modal.js +7 -7
  394. package/cjs/ui/Modal.js.map +1 -1
  395. package/cjs/ui/OGMessageItemBody.js +14 -13
  396. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  397. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  398. package/cjs/ui/OpenChannelAvatar.js +6 -6
  399. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  400. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  401. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  402. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  403. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  404. package/cjs/ui/OpenchannelOGMessage.js +19 -18
  405. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  406. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  407. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  408. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  409. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  410. package/cjs/ui/PlaceHolder.js +6 -6
  411. package/cjs/ui/PlaybackTime.js +2 -2
  412. package/cjs/ui/ProgressBar.js.map +1 -1
  413. package/cjs/ui/QuoteMessage.js +6 -6
  414. package/cjs/ui/QuoteMessage.js.map +1 -1
  415. package/cjs/ui/QuoteMessageInput.js +6 -6
  416. package/cjs/ui/ReactionBadge.js +3 -3
  417. package/cjs/ui/ReactionBadge.js.map +1 -1
  418. package/cjs/ui/ReactionButton.js +1 -1
  419. package/cjs/ui/SortByRow.js +2 -2
  420. package/cjs/ui/TextButton.js +2 -2
  421. package/cjs/ui/TextButton.js.map +1 -1
  422. package/cjs/ui/TextMessageItemBody.js +14 -13
  423. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  424. package/cjs/ui/ThreadReplies.js +6 -6
  425. package/cjs/ui/ThumbnailMessageItemBody.js +4 -4
  426. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  427. package/cjs/ui/Tooltip.js +3 -3
  428. package/cjs/ui/Tooltip.js.map +1 -1
  429. package/cjs/ui/TooltipWrapper.js +1 -1
  430. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  431. package/cjs/ui/UserListItem.js +11 -11
  432. package/cjs/ui/UserListItem.js.map +1 -1
  433. package/cjs/ui/UserProfile.js +9 -9
  434. package/cjs/ui/VoiceMessageItemBody.js +5 -6
  435. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  436. package/cjs/ui/VoiceMessgeInput.js +8 -8
  437. package/cjs/ui/Word.js +11 -11
  438. package/cjs/ui/Word.js.map +1 -1
  439. package/cjs/{useLongPress-3582b310.js → useLongPress-0b0040bb.js} +3 -3
  440. package/cjs/{useLongPress-3582b310.js.map → useLongPress-0b0040bb.js.map} +1 -1
  441. package/cjs/useSendbirdStateContext.js +1 -1
  442. package/cjs/useSendbirdStateContext.js.map +1 -1
  443. package/cjs/utils/message/isVoiceMessage.js +2 -2
  444. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  445. package/cjs/{utils-39eb2189.js → utils-301360ec.js} +2 -2
  446. package/cjs/utils-301360ec.js.map +1 -0
  447. package/cjs/{utils-39a3f99e.js → utils-43d14023.js} +1 -1
  448. package/cjs/utils-43d14023.js.map +1 -0
  449. package/cjs/{utils-1ebf89f9.js → utils-aeadc058.js} +1 -1
  450. package/cjs/{utils-1ebf89f9.js.map → utils-aeadc058.js.map} +1 -1
  451. package/cjs/{utils-fdfc9b0a.js → utils-d40c9909.js} +1 -1
  452. package/cjs/{utils-fdfc9b0a.js.map → utils-d40c9909.js.map} +1 -1
  453. package/cjs/{uuid-f23c161c.js → uuid-d0a9c040.js} +1 -1
  454. package/cjs/{uuid-f23c161c.js.map → uuid-d0a9c040.js.map} +1 -1
  455. package/cjs/withSendbird.js +1 -1
  456. package/{color-e54d3ed7.js → color-4ecee870.js} +1 -1
  457. package/{color-e54d3ed7.js.map → color-4ecee870.js.map} +1 -1
  458. package/{compareIds-3e30a438.js → compareIds-bc4cf9bf.js} +1 -1
  459. package/{compareIds-3e30a438.js.map → compareIds-bc4cf9bf.js.map} +1 -1
  460. package/{const-71bd6867.js → const-34b3294d.js} +1 -1
  461. package/{const-71bd6867.js.map → const-34b3294d.js.map} +1 -1
  462. package/{const-48a3200e.js → const-8a7444d1.js} +1 -1
  463. package/{const-48a3200e.js.map → const-8a7444d1.js.map} +1 -1
  464. package/{consts-665331c7.js → consts-165100af.js} +1 -1
  465. package/{consts-665331c7.js.map → consts-165100af.js.map} +1 -1
  466. package/{consts-4b1e008b.js → consts-7a61df9f.js} +1 -1
  467. package/{consts-4b1e008b.js.map → consts-7a61df9f.js.map} +1 -1
  468. package/{consts-e4e1a8fc.js → consts-81c7d9ed.js} +1 -1
  469. package/{consts-e4e1a8fc.js.map → consts-81c7d9ed.js.map} +1 -1
  470. package/{consts-30f09302.js → consts-96859f90.js} +1 -1
  471. package/{consts-30f09302.js.map → consts-96859f90.js.map} +1 -1
  472. package/{context-993ee0c3.js → context-c54bc9b4.js} +2 -2
  473. package/{context-993ee0c3.js.map → context-c54bc9b4.js.map} +1 -1
  474. package/dist/index.css +143 -142
  475. package/dist/index.css.map +1 -1
  476. package/handlers/OpenChannelHandler.js.map +1 -1
  477. package/handlers/SessionHandler.js.map +1 -1
  478. package/{index-cd1a9173.js → index-1db30515.js} +14 -14
  479. package/index-1db30515.js.map +1 -0
  480. package/index-2ea26b17.js +39 -0
  481. package/index-2ea26b17.js.map +1 -0
  482. package/{index-d75ba9c0.js → index-3ac8a689.js} +4 -4
  483. package/index-3ac8a689.js.map +1 -0
  484. package/{index-207577d6.js → index-47ba6604.js} +7 -3
  485. package/index-47ba6604.js.map +1 -0
  486. package/{index-8f0ae983.js → index-538fa479.js} +2 -2
  487. package/{index-8f0ae983.js.map → index-538fa479.js.map} +1 -1
  488. package/{index-8a52a6f4.js → index-5cfaecc9.js} +113 -30
  489. package/index-5cfaecc9.js.map +1 -0
  490. package/{index-0f373e79.js → index-6574e8fd.js} +24 -3
  491. package/index-6574e8fd.js.map +1 -0
  492. package/{index-5c20d787.js → index-6f66895e.js} +1 -1
  493. package/{index-5c20d787.js.map → index-6f66895e.js.map} +1 -1
  494. package/{index-a90edcd2.js → index-77a24725.js} +7 -7
  495. package/index-77a24725.js.map +1 -0
  496. package/{index-95f0372d.js → index-adfdd634.js} +2 -2
  497. package/index-adfdd634.js.map +1 -0
  498. package/{index-ec8cbdfb.js → index-af95f2b0.js} +14 -14
  499. package/index-af95f2b0.js.map +1 -0
  500. package/{index-2932882f.js → index-c4ff34e4.js} +6 -3
  501. package/index-c4ff34e4.js.map +1 -0
  502. package/{index-c77693d8.js → index-df6b2fc4.js} +2 -2
  503. package/index-df6b2fc4.js.map +1 -0
  504. package/{index-88523047.js → index-e2834120.js} +7 -7
  505. package/index-e2834120.js.map +1 -0
  506. package/{index-10377bc5.js → index-e5062739.js} +6 -6
  507. package/index-e5062739.js.map +1 -0
  508. package/index-f5d419ec.js +53 -0
  509. package/index-f5d419ec.js.map +1 -0
  510. package/index.d.ts +1 -1
  511. package/index.js +50 -49
  512. package/index.js.map +1 -1
  513. package/index.module-a2145ffe.js +4 -0
  514. package/index.module-a2145ffe.js.map +1 -0
  515. package/package.json +4 -2
  516. package/sendbirdSelectors.js +2 -2
  517. package/sendbirdSelectors.js.map +1 -1
  518. package/{stringSet-2d42f6ff.js → stringSet-e0fd81b2.js} +1 -1
  519. package/{stringSet-2d42f6ff.js.map → stringSet-e0fd81b2.js.map} +1 -1
  520. package/{tokenize-cd9c48bb.js → tokenize-22d48b61.js} +19 -6
  521. package/tokenize-22d48b61.js.map +1 -0
  522. package/{topics-6d4bf2ed.js → topics-bc5fee43.js} +1 -1
  523. package/topics-bc5fee43.js.map +1 -0
  524. package/tslib.es6-85bcd95d.js +92 -0
  525. package/tslib.es6-85bcd95d.js.map +1 -0
  526. package/{types-2fb5793c.js → types-84207ac4.js} +1 -1
  527. package/types-84207ac4.js.map +1 -0
  528. package/ui/Accordion.js +3 -3
  529. package/ui/AccordionGroup.js +2 -2
  530. package/ui/AdminMessage.js +3 -3
  531. package/ui/Avatar.js +2 -2
  532. package/ui/Badge.js +5 -5
  533. package/ui/BottomSheet.js +1 -1
  534. package/ui/BottomSheet.js.map +1 -1
  535. package/ui/Button.js +3 -3
  536. package/ui/Button.js.map +1 -1
  537. package/ui/ChannelAvatar.js +3 -3
  538. package/ui/ChannelAvatar.js.map +1 -1
  539. package/ui/Checkbox.js +2 -2
  540. package/ui/Checkbox.js.map +1 -1
  541. package/ui/ConnectionStatus.js +4 -4
  542. package/ui/ContextMenu.js +6 -6
  543. package/ui/ContextMenu.js.map +1 -1
  544. package/ui/DateSeparator.js +4 -4
  545. package/ui/EmojiReactions.js +7 -7
  546. package/ui/FileMessageItemBody.js +6 -6
  547. package/ui/FileViewer.js +8 -8
  548. package/ui/IconButton.js +1 -1
  549. package/ui/IconButton.js.map +1 -1
  550. package/ui/ImageRenderer.js +1 -1
  551. package/ui/ImageRenderer.js.map +1 -1
  552. package/ui/Input.js +2 -2
  553. package/ui/Label.js +2 -2
  554. package/ui/LinkLabel.js +2 -2
  555. package/ui/Loader.js +1 -1
  556. package/ui/MentionLabel.js +10 -10
  557. package/ui/MentionUserLabel.js +1 -1
  558. package/ui/MessageContent.js +28 -28
  559. package/ui/MessageContent.js.map +1 -1
  560. package/ui/MessageInput.js +24 -23
  561. package/ui/MessageInput.js.map +1 -1
  562. package/ui/MessageItemMenu.js +8 -8
  563. package/ui/MessageItemMenu.js.map +1 -1
  564. package/ui/MessageItemReactionMenu.js +5 -5
  565. package/ui/MessageItemReactionMenu.js.map +1 -1
  566. package/ui/MessageSearchFileItem.js +11 -11
  567. package/ui/MessageSearchFileItem.js.map +1 -1
  568. package/ui/MessageSearchItem.js +9 -9
  569. package/ui/MessageSearchItem.js.map +1 -1
  570. package/ui/MessageStatus.js +10 -10
  571. package/ui/Modal.js +7 -7
  572. package/ui/Modal.js.map +1 -1
  573. package/ui/OGMessageItemBody.js +14 -13
  574. package/ui/OGMessageItemBody.js.map +1 -1
  575. package/ui/OpenChannelAdminMessage.js +3 -3
  576. package/ui/OpenChannelAvatar.js +6 -6
  577. package/ui/OpenChannelAvatar.js.map +1 -1
  578. package/ui/OpenchannelConversationHeader.js +6 -6
  579. package/ui/OpenchannelConversationHeader.js.map +1 -1
  580. package/ui/OpenchannelFileMessage.js +16 -16
  581. package/ui/OpenchannelFileMessage.js.map +1 -1
  582. package/ui/OpenchannelOGMessage.js +19 -18
  583. package/ui/OpenchannelOGMessage.js.map +1 -1
  584. package/ui/OpenchannelThumbnailMessage.js +15 -15
  585. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  586. package/ui/OpenchannelUserMessage.js +16 -16
  587. package/ui/OpenchannelUserMessage.js.map +1 -1
  588. package/ui/PlaceHolder.js +6 -6
  589. package/ui/PlaybackTime.js +2 -2
  590. package/ui/ProgressBar.js.map +1 -1
  591. package/ui/QuoteMessage.js +6 -6
  592. package/ui/QuoteMessage.js.map +1 -1
  593. package/ui/QuoteMessageInput.js +6 -6
  594. package/ui/ReactionBadge.js +3 -3
  595. package/ui/ReactionBadge.js.map +1 -1
  596. package/ui/ReactionButton.js +1 -1
  597. package/ui/SortByRow.js +2 -2
  598. package/ui/TextButton.js +2 -2
  599. package/ui/TextButton.js.map +1 -1
  600. package/ui/TextMessageItemBody.js +14 -13
  601. package/ui/TextMessageItemBody.js.map +1 -1
  602. package/ui/ThreadReplies.js +6 -6
  603. package/ui/ThumbnailMessageItemBody.js +4 -4
  604. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  605. package/ui/Tooltip.js +3 -3
  606. package/ui/Tooltip.js.map +1 -1
  607. package/ui/TooltipWrapper.js +1 -1
  608. package/ui/UnknownMessageItemBody.js +6 -6
  609. package/ui/UserListItem.js +11 -11
  610. package/ui/UserListItem.js.map +1 -1
  611. package/ui/UserProfile.js +9 -9
  612. package/ui/VoiceMessageItemBody.js +5 -6
  613. package/ui/VoiceMessageItemBody.js.map +1 -1
  614. package/ui/VoiceMessgeInput.js +8 -8
  615. package/ui/Word.js +11 -11
  616. package/ui/Word.js.map +1 -1
  617. package/{useLongPress-c1a00d6e.js → useLongPress-08d9369b.js} +3 -3
  618. package/{useLongPress-c1a00d6e.js.map → useLongPress-08d9369b.js.map} +1 -1
  619. package/useSendbirdStateContext.js +1 -1
  620. package/useSendbirdStateContext.js.map +1 -1
  621. package/utils/message/isVoiceMessage.js +2 -2
  622. package/utils/message/isVoiceMessage.js.map +1 -1
  623. package/{utils-3c726d0f.js → utils-13ac01f0.js} +2 -2
  624. package/utils-13ac01f0.js.map +1 -0
  625. package/{utils-4c1f97d4.js → utils-3c97842b.js} +1 -1
  626. package/{utils-4c1f97d4.js.map → utils-3c97842b.js.map} +1 -1
  627. package/{utils-760413c9.js → utils-4aea6ebc.js} +1 -1
  628. package/utils-4aea6ebc.js.map +1 -0
  629. package/{utils-a7563986.js → utils-7dc80efd.js} +1 -1
  630. package/{utils-a7563986.js.map → utils-7dc80efd.js.map} +1 -1
  631. package/{uuid-368c5040.js → uuid-39d923b9.js} +1 -1
  632. package/{uuid-368c5040.js.map → uuid-39d923b9.js.map} +1 -1
  633. package/withSendbird.js +1 -1
  634. package/.yarn/install-state.gz +0 -0
  635. package/ChannelListProvider-b7ce527e.js.map +0 -1
  636. package/ChannelProvider-cd9afff3.js.map +0 -1
  637. package/MemberList-70806978.js.map +0 -1
  638. package/OpenChannelListProvider-22244a14.js.map +0 -1
  639. package/OpenChannelProvider-36270182.js.map +0 -1
  640. package/ThreadProvider-533e9025.js.map +0 -1
  641. package/VoiceMessageInputWrapper-c74412de.js.map +0 -1
  642. package/_rollupPluginBabelHelpers-3756a6a3.js.map +0 -1
  643. package/actionTypes-f6400d21.js +0 -6
  644. package/actionTypes-f6400d21.js.map +0 -1
  645. package/cjs/ChannelListProvider-d8f65b18.js.map +0 -1
  646. package/cjs/ChannelProvider-473548f7.js.map +0 -1
  647. package/cjs/MemberList-dbd3a4b4.js.map +0 -1
  648. package/cjs/OpenChannelListProvider-89659c0b.js.map +0 -1
  649. package/cjs/OpenChannelProvider-3d3d606e.js.map +0 -1
  650. package/cjs/ThreadProvider-572d67c0.js.map +0 -1
  651. package/cjs/VoiceMessageInputWrapper-88ad4670.js.map +0 -1
  652. package/cjs/_rollupPluginBabelHelpers-6ab4baac.js.map +0 -1
  653. package/cjs/actionTypes-1b068888.js +0 -10
  654. package/cjs/actionTypes-1b068888.js.map +0 -1
  655. package/cjs/index-3a7584a0.js.map +0 -1
  656. package/cjs/index-3d08adec.js.map +0 -1
  657. package/cjs/index-44341b78.js.map +0 -1
  658. package/cjs/index-47105c4f.js.map +0 -1
  659. package/cjs/index-4894fc55.js.map +0 -1
  660. package/cjs/index-5075f3b2.js.map +0 -1
  661. package/cjs/index-630f7132.js.map +0 -1
  662. package/cjs/index-903c0f93.js.map +0 -1
  663. package/cjs/index-9dd8a18a.js.map +0 -1
  664. package/cjs/index-b2e4a79e.js.map +0 -1
  665. package/cjs/index-ba9683ca.js.map +0 -1
  666. package/cjs/index-d3b05e98.js.map +0 -1
  667. package/cjs/index-f2d71843.js.map +0 -1
  668. package/cjs/tokenize-5071d1a6.js.map +0 -1
  669. package/cjs/topics-f70c5e0f.js.map +0 -1
  670. package/cjs/tslib.es6-67bdb021.js +0 -176
  671. package/cjs/tslib.es6-67bdb021.js.map +0 -1
  672. package/cjs/types-43ef9367.js.map +0 -1
  673. package/cjs/utils-39a3f99e.js.map +0 -1
  674. package/cjs/utils-39eb2189.js.map +0 -1
  675. package/index-0f373e79.js.map +0 -1
  676. package/index-10377bc5.js.map +0 -1
  677. package/index-207577d6.js.map +0 -1
  678. package/index-2932882f.js.map +0 -1
  679. package/index-88523047.js.map +0 -1
  680. package/index-8a52a6f4.js.map +0 -1
  681. package/index-95f0372d.js.map +0 -1
  682. package/index-a90edcd2.js.map +0 -1
  683. package/index-c77693d8.js.map +0 -1
  684. package/index-cc626895.js +0 -54
  685. package/index-cc626895.js.map +0 -1
  686. package/index-cd1a9173.js.map +0 -1
  687. package/index-d75ba9c0.js.map +0 -1
  688. package/index-ec8cbdfb.js.map +0 -1
  689. package/tokenize-cd9c48bb.js.map +0 -1
  690. package/topics-6d4bf2ed.js.map +0 -1
  691. package/tslib.es6-5180f9d1.js +0 -171
  692. package/tslib.es6-5180f9d1.js.map +0 -1
  693. package/types-2fb5793c.js.map +0 -1
  694. package/utils-3c726d0f.js.map +0 -1
  695. package/utils-760413c9.js.map +0 -1
@@ -3,133 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var lame_all = require('../lame.all.js');
7
- var consts = require('../consts-b8c0be49.js');
6
+ var consts = require('../consts-82dce75d.js');
8
7
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
9
8
  require('../withSendbird.js');
10
- require('../tslib.es6-67bdb021.js');
9
+ require('../tslib.es6-b412d11d.js');
11
10
 
12
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
12
 
14
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
14
 
16
- // Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
17
- function encodeMp3(arrayBuffer) {
18
- var wav = lame_all.WavHeader.readHeader(new DataView(arrayBuffer));
19
- var dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);
20
- var mp3Encoder = new lame_all.Mp3Encoder(wav.channels, wav.sampleRate, 128);
21
- var maxSamples = 1152;
22
- var samplesLeft = wav.channels === 1 ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));
23
- var samplesRight = wav.channels === 2 ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;
24
- if (wav.channels > 1) {
25
- for (var j = 0; j < samplesLeft.length; j++) {
26
- samplesLeft[j] = dataView[j * 2];
27
- samplesRight[j] = dataView[j * 2 + 1];
28
- }
29
- }
30
- var dataBuffer = [];
31
- var remaining = samplesLeft.length;
32
- for (var i = 0; remaining >= maxSamples; i += maxSamples) {
33
- var left = samplesLeft.subarray(i, i + maxSamples);
34
- var right = void 0;
35
- if (samplesRight) {
36
- right = samplesRight.subarray(i, i + maxSamples);
37
- }
38
- var mp3buf = mp3Encoder.encodeBuffer(left, right);
39
- dataBuffer.push(new Int8Array(mp3buf));
40
- remaining -= maxSamples;
41
- }
42
- var mp3Lastbuf = mp3Encoder.flush();
43
- dataBuffer.push(new Int8Array(mp3Lastbuf));
44
- return dataBuffer;
45
- }
46
- // Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type
47
- function downsampleToWav(file, callback) {
48
- //Browser compatibility
49
- // https://caniuse.com/?search=AudioContext
50
- var audioCtx = new AudioContext();
51
- var fileReader = new FileReader();
52
- fileReader.onload = function (ev) {
53
- // Decode audio
54
- audioCtx.decodeAudioData(ev.target.result, function (buffer) {
55
- // this is where you down sample the audio, usually is 44100 samples per second
56
- var usingWebkit = !window.OfflineAudioContext;
57
- var offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);
58
- var soundSource = offlineAudioCtx.createBufferSource();
59
- soundSource.buffer = buffer;
60
- soundSource.connect(offlineAudioCtx.destination);
61
- var reader = new FileReader();
62
- reader.onload = function () {
63
- var renderCompleteHandler = function (evt) {
64
- var renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;
65
- var buffer = bufferToWav(renderedBuffer, renderedBuffer.length);
66
- if (callback) {
67
- callback(buffer);
68
- }
69
- };
70
- if (usingWebkit) {
71
- offlineAudioCtx.oncomplete = renderCompleteHandler;
72
- offlineAudioCtx.startRendering();
73
- } else {
74
- offlineAudioCtx.startRendering().then(renderCompleteHandler).catch(function (err) {
75
- return console.warn(err);
76
- });
77
- }
78
- };
79
- reader.readAsArrayBuffer(file);
80
- soundSource.start(0);
81
- });
82
- };
83
- fileReader.readAsArrayBuffer(file);
84
- }
85
- function bufferToWav(abuffer, len) {
86
- var numOfChan = abuffer.numberOfChannels;
87
- var length = len * numOfChan * 2 + 44;
88
- var buffer = new ArrayBuffer(length);
89
- var view = new DataView(buffer);
90
- var channels = [];
91
- var i = 0;
92
- var sample;
93
- var offset = 0;
94
- var pos = 0;
95
- // write WAVE header
96
- setUint32(0x46464952); // "RIFF"
97
- setUint32(length - 8); // file length - 8
98
- setUint32(0x45564157); // "WAVE"
99
- setUint32(0x20746d66); // "fmt " chunk
100
- setUint32(16); // length = 16
101
- setUint16(1); // PCM (uncompressed)
102
- setUint16(numOfChan);
103
- setUint32(abuffer.sampleRate);
104
- setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec
105
- setUint16(numOfChan * 2); // block-align
106
- setUint16(16); // 16-bit (hardcoded in this demo)
107
- setUint32(0x61746164); // "data" - chunk
108
- setUint32(length - pos - 4); // chunk length
109
- // write interleaved data
110
- for (i = 0; i < abuffer.numberOfChannels; i++) channels.push(abuffer.getChannelData(i));
111
- while (pos < length) {
112
- for (i = 0; i < numOfChan; i++) {
113
- // interleave channels
114
- sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp
115
- sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int
116
- view.setInt16(pos, sample, true); // write 16-bit sample
117
- pos += 2;
118
- }
119
- offset++; // next source sample
120
- }
121
-
122
- return buffer;
123
- function setUint16(data) {
124
- view.setUint16(pos, data, true);
125
- pos += 2;
126
- }
127
- function setUint32(data) {
128
- view.setUint32(pos, data, true);
129
- pos += 4;
130
- }
131
- }
132
-
133
15
  var noop = function () {};
134
16
  var VoiceRecorderContext = /*#__PURE__*/React.createContext({
135
17
  start: noop,
@@ -139,15 +21,30 @@ var VoiceRecorderContext = /*#__PURE__*/React.createContext({
139
21
  var VoiceRecorderProvider = function (props) {
140
22
  var children = props.children;
141
23
  var config = useSendbirdStateContext().config;
142
- var logger = config.logger;
24
+ var logger = config.logger,
25
+ isVoiceMessageEnabled = config.isVoiceMessageEnabled;
143
26
  var _a = React.useState(null),
144
27
  mediaRecorder = _a[0],
145
28
  setMediaRecorder = _a[1];
146
29
  var _b = React.useState(false),
147
30
  isRecordable = _b[0],
148
31
  setIsRecordable = _b[1];
32
+ var _c = React.useState(null),
33
+ webAudioUtils = _c[0],
34
+ setWebAudioUtils = _c[1];
35
+ React.useEffect(function () {
36
+ if (isVoiceMessageEnabled && !webAudioUtils) {
37
+ Promise.resolve().then(function () { return require('../WebAudioUtils-70bcccc3.js'); }).then(function (data) {
38
+ setWebAudioUtils(data);
39
+ });
40
+ }
41
+ }, []);
149
42
  var start = React.useCallback(function (eventHandler) {
150
43
  var _a, _b;
44
+ if (isVoiceMessageEnabled && !webAudioUtils) {
45
+ logger.error('VoiceRecorder: Recording audio processor is being loaded.');
46
+ return;
47
+ }
151
48
  logger.info('VoiceRecorder: Start recording.');
152
49
  if (mediaRecorder) {
153
50
  stop();
@@ -169,8 +66,8 @@ var VoiceRecorderProvider = function (props) {
169
66
  lastModified: new Date().getTime(),
170
67
  type: consts.VOICE_MESSAGE_MIME_TYPE
171
68
  });
172
- downsampleToWav(audioFile, function (buffer) {
173
- var mp3Buffer = encodeMp3(buffer);
69
+ webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.downsampleToWav(audioFile, function (buffer) {
70
+ var mp3Buffer = webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.encodeMp3(buffer);
174
71
  var mp3blob = new Blob(mp3Buffer, {
175
72
  type: consts.VOICE_MESSAGE_MIME_TYPE
176
73
  });
@@ -193,7 +90,7 @@ var VoiceRecorderProvider = function (props) {
193
90
  logger.error('VoiceRecorder: Failed getting media stream.', err);
194
91
  setMediaRecorder(null);
195
92
  });
196
- }, [mediaRecorder]);
93
+ }, [mediaRecorder, webAudioUtils]);
197
94
  var stop = React.useCallback(function () {
198
95
  // Stop recording
199
96
  mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../src/hooks/VoiceRecorder/WebAudioUtils.ts","../../../src/hooks/VoiceRecorder/index.tsx"],"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.js\";\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 .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","import React, { createContext, useCallback, useContext, useState } from 'react';\nimport { downsampleToWav, encodeMp3 } from './WebAudioUtils';\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 } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\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 downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = 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]);\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":["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","noop","VoiceRecorderContext","createContext","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","_a","useState","mediaRecorder","setMediaRecorder","_b","setIsRecordable","useCallback","eventHandler","info","navigator","mediaDevices","getUserMedia","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","ondataavailable","e","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","mp3Buffer","mp3blob","Blob","convertedAudioFile","onRecordingEnded","_c","getAudioTracks","call","forEach","track","onRecordingStarted","error","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 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","_a","useState","mediaRecorder","setMediaRecorder","_b","setIsRecordable","_c","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","error","info","navigator","mediaDevices","getUserMedia","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","ondataavailable","e","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","call","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","useVoiceRecorderContext","useContext"],"mappings":"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"}
@@ -5,10 +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('../lame.all.js');
9
- require('../consts-b8c0be49.js');
8
+ require('../consts-82dce75d.js');
10
9
  require('../withSendbird.js');
11
- require('../tslib.es6-67bdb021.js');
10
+ require('../tslib.es6-b412d11d.js');
12
11
 
13
12
  // export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
14
13
  // /**
@@ -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","_a","_b","onRecordingStarted","_c","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","_d","useState","recordedFile","setRecordedFile","_e","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","_f","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// }\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","_a","_b","onRecordingStarted","_c","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","_d","useState","recordedFile","setRecordedFile","_e","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","_f","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+
3
+ var lame_all = require('./lame.all.js');
4
+
5
+ // Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
6
+ function encodeMp3(arrayBuffer) {
7
+ var wav = lame_all.WavHeader.readHeader(new DataView(arrayBuffer));
8
+ var dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);
9
+ var mp3Encoder = new lame_all.Mp3Encoder(wav.channels, wav.sampleRate, 128);
10
+ var maxSamples = 1152;
11
+ var samplesLeft = wav.channels === 1 ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));
12
+ var samplesRight = wav.channels === 2 ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;
13
+ if (wav.channels > 1) {
14
+ for (var j = 0; j < samplesLeft.length; j++) {
15
+ samplesLeft[j] = dataView[j * 2];
16
+ samplesRight[j] = dataView[j * 2 + 1];
17
+ }
18
+ }
19
+ var dataBuffer = [];
20
+ var remaining = samplesLeft.length;
21
+ for (var i = 0; remaining >= maxSamples; i += maxSamples) {
22
+ var left = samplesLeft.subarray(i, i + maxSamples);
23
+ var right = void 0;
24
+ if (samplesRight) {
25
+ right = samplesRight.subarray(i, i + maxSamples);
26
+ }
27
+ var mp3buf = mp3Encoder.encodeBuffer(left, right);
28
+ dataBuffer.push(new Int8Array(mp3buf));
29
+ remaining -= maxSamples;
30
+ }
31
+ var mp3Lastbuf = mp3Encoder.flush();
32
+ dataBuffer.push(new Int8Array(mp3Lastbuf));
33
+ return dataBuffer;
34
+ }
35
+ // Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type
36
+ function downsampleToWav(file, callback) {
37
+ // Browser compatibility
38
+ // https://caniuse.com/?search=AudioContext
39
+ var audioCtx = new AudioContext();
40
+ var fileReader = new FileReader();
41
+ fileReader.onload = function (ev) {
42
+ // Decode audio
43
+ audioCtx.decodeAudioData(ev.target.result, function (buffer) {
44
+ // this is where you down sample the audio, usually is 44100 samples per second
45
+ var usingWebkit = !window.OfflineAudioContext;
46
+ var offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);
47
+ var soundSource = offlineAudioCtx.createBufferSource();
48
+ soundSource.buffer = buffer;
49
+ soundSource.connect(offlineAudioCtx.destination);
50
+ var reader = new FileReader();
51
+ reader.onload = function () {
52
+ var renderCompleteHandler = function (evt) {
53
+ var renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;
54
+ var buffer = bufferToWav(renderedBuffer, renderedBuffer.length);
55
+ if (callback) {
56
+ callback(buffer);
57
+ }
58
+ };
59
+ if (usingWebkit) {
60
+ offlineAudioCtx.oncomplete = renderCompleteHandler;
61
+ offlineAudioCtx.startRendering();
62
+ } else {
63
+ offlineAudioCtx.startRendering().then(renderCompleteHandler)
64
+ // eslint-disable-next-line no-console
65
+ .catch(function (err) {
66
+ return console.warn(err);
67
+ });
68
+ }
69
+ };
70
+ reader.readAsArrayBuffer(file);
71
+ soundSource.start(0);
72
+ });
73
+ };
74
+ fileReader.readAsArrayBuffer(file);
75
+ }
76
+ function bufferToWav(abuffer, len) {
77
+ var numOfChan = abuffer.numberOfChannels;
78
+ var length = len * numOfChan * 2 + 44;
79
+ var buffer = new ArrayBuffer(length);
80
+ var view = new DataView(buffer);
81
+ var channels = [];
82
+ var i = 0;
83
+ var sample;
84
+ var offset = 0;
85
+ var pos = 0;
86
+ // write WAVE header
87
+ setUint32(0x46464952); // "RIFF"
88
+ setUint32(length - 8); // file length - 8
89
+ setUint32(0x45564157); // "WAVE"
90
+ setUint32(0x20746d66); // "fmt " chunk
91
+ setUint32(16); // length = 16
92
+ setUint16(1); // PCM (uncompressed)
93
+ setUint16(numOfChan);
94
+ setUint32(abuffer.sampleRate);
95
+ setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec
96
+ setUint16(numOfChan * 2); // block-align
97
+ setUint16(16); // 16-bit (hardcoded in this demo)
98
+ setUint32(0x61746164); // "data" - chunk
99
+ setUint32(length - pos - 4); // chunk length
100
+ // write interleaved data
101
+ for (i = 0; i < abuffer.numberOfChannels; i++) channels.push(abuffer.getChannelData(i));
102
+ while (pos < length) {
103
+ for (i = 0; i < numOfChan; i++) {
104
+ // interleave channels
105
+ sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp
106
+ sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int
107
+ view.setInt16(pos, sample, true); // write 16-bit sample
108
+ pos += 2;
109
+ }
110
+ offset++; // next source sample
111
+ }
112
+
113
+ return buffer;
114
+ function setUint16(data) {
115
+ view.setUint16(pos, data, true);
116
+ pos += 2;
117
+ }
118
+ function setUint32(data) {
119
+ view.setUint32(pos, data, true);
120
+ pos += 4;
121
+ }
122
+ }
123
+
124
+ exports.downsampleToWav = downsampleToWav;
125
+ exports.encodeMp3 = encodeMp3;
126
+ //# sourceMappingURL=WebAudioUtils-70bcccc3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAudioUtils-70bcccc3.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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"}
@@ -66,4 +66,4 @@ function _toPropertyKey(arg) {
66
66
 
67
67
  exports._extends = _extends;
68
68
  exports._objectSpread2 = _objectSpread2;
69
- //# sourceMappingURL=_rollupPluginBabelHelpers-6ab4baac.js.map
69
+ //# sourceMappingURL=_rollupPluginBabelHelpers-8164e35a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-8164e35a.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var USER_ACTIONS = {
4
+ INIT_USER: 'INIT_USER',
5
+ RESET_USER: 'RESET_USER',
6
+ UPDATE_USER_INFO: 'UPDATE_USER_INFO'
7
+ };
8
+
9
+ exports.USER_ACTIONS = USER_ACTIONS;
10
+ //# sourceMappingURL=actionTypes-4a2939b3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTypes-4a2939b3.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,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;;;;;"}
@@ -33,4 +33,4 @@ var changeColorToClassName = function (color) {
33
33
  };
34
34
 
35
35
  exports.changeColorToClassName = changeColorToClassName;
36
- //# sourceMappingURL=color-168c1d53.js.map
36
+ //# sourceMappingURL=color-f43f059a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-168c1d53.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,wBASX;AATD,CAAA,UAAYA,MAAM,EAAA;AAChBA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,MAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EATWA,cAAM,KAANA,cAAM,GASjB,EAAA,CAAA,CAAA,CAAA;IAEYC,sBAAsB,GAAG,UAACC,KAAa,EAAA;AAClD,EAAA,QAAQA,KAAK;IACX,KAAKF,cAAM,CAACG,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKH,cAAM,CAACI,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKJ,cAAM,CAACK,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKL,cAAM,CAACM,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKN,cAAM,CAACO,WAAW;AAAE,MAAA,OAAO,6BAA6B,CAAA;IAC7D,KAAKP,cAAM,CAACQ,OAAO;AAAE,MAAA,OAAO,yBAAyB,CAAA;IACrD,KAAKR,cAAM,CAACS,KAAK;AAAE,MAAA,OAAO,uBAAuB,CAAA;AACjD,IAAA;AAAS,MAAA,OAAO,IAAI,CAAA;AAAC,GAAA;AAEzB;;;;"}
1
+ {"version":3,"file":"color-f43f059a.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,wBASX;AATD,CAAA,UAAYA,MAAM,EAAA;AAChBA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,MAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EATWA,cAAM,KAANA,cAAM,GASjB,EAAA,CAAA,CAAA,CAAA;IAEYC,sBAAsB,GAAG,UAACC,KAAa,EAAA;AAClD,EAAA,QAAQA,KAAK;IACX,KAAKF,cAAM,CAACG,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKH,cAAM,CAACI,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKJ,cAAM,CAACK,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKL,cAAM,CAACM,cAAc;AAAE,MAAA,OAAO,gCAAgC,CAAA;IACnE,KAAKN,cAAM,CAACO,WAAW;AAAE,MAAA,OAAO,6BAA6B,CAAA;IAC7D,KAAKP,cAAM,CAACQ,OAAO;AAAE,MAAA,OAAO,yBAAyB,CAAA;IACrD,KAAKR,cAAM,CAACS,KAAK;AAAE,MAAA,OAAO,uBAAuB,CAAA;AACjD,IAAA;AAAS,MAAA,OAAO,IAAI,CAAA;AAAC,GAAA;AAEzB;;;;"}
@@ -14,4 +14,4 @@ function compareIds (a, b) {
14
14
  }
15
15
 
16
16
  exports.compareIds = compareIds;
17
- //# sourceMappingURL=compareIds-441b4983.js.map
17
+ //# sourceMappingURL=compareIds-e5f7db38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compareIds-441b4983.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 (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","a","b","aString","toString","bString"],"mappings":";;AAAA,MAAMA,OAAO,GAAIC,GAAG,IAAMA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAU,CAAA;;AAE5D;AACA;AACe,mBAAUC,EAAAA,CAAC,EAAEC,CAAC,EAAE;EAC7B,IAAIJ,OAAO,CAACG,CAAC,CAAC,IAAIH,OAAO,CAACI,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;;;;"}
1
+ {"version":3,"file":"compareIds-e5f7db38.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 (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","a","b","aString","toString","bString"],"mappings":";;AAAA,MAAMA,OAAO,GAAIC,GAAG,IAAMA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAU,CAAA;;AAE5D;AACA;AACe,mBAAUC,EAAAA,CAAC,EAAEC,CAAC,EAAE;EAC7B,IAAIJ,OAAO,CAACG,CAAC,CAAC,IAAIH,OAAO,CAACI,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 @@ var NodeNames = {
19
19
  exports.MessageInputKeys = MessageInputKeys;
20
20
  exports.NodeNames = NodeNames;
21
21
  exports.NodeTypes = NodeTypes;
22
- //# sourceMappingURL=const-cf4cec6a.js.map
22
+ //# sourceMappingURL=const-611ac2dd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const-cf4cec6a.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,IAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;EACZ;AAEM,IAAMC,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,QAAQ,EAAE,CAAA;EACX;AAEM,IAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAA;;;;;;;"}
1
+ {"version":3,"file":"const-611ac2dd.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,IAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;EACZ;AAEM,IAAMC,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,QAAQ,EAAE,CAAA;EACX;AAEM,IAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAA;;;;;;;"}
@@ -16,4 +16,4 @@ exports.MAX_USER_SUGGESTION_COUNT = MAX_USER_SUGGESTION_COUNT;
16
16
  exports.NEXT_RESULT_SIZE = NEXT_RESULT_SIZE;
17
17
  exports.PREV_RESULT_SIZE = PREV_RESULT_SIZE;
18
18
  exports.USER_MENTION_TEMP_CHAR = USER_MENTION_TEMP_CHAR;
19
- //# sourceMappingURL=const-0273bf9e.js.map
19
+ //# sourceMappingURL=const-e7388711.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const-0273bf9e.js","sources":["../../src/smart-components/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,IAAMA,gBAAgB,GAAG,GAAE;AAC3B,IAAMC,gBAAgB,GAAG,GAAE;AAE3B,IAAMC,sBAAsB,GAAG,GAAE;AACjC,IAAMC,yBAAyB,GAAG,GAAE;AACpC,IAAMC,sBAAsB,GAAG,IAAG;AAE7BC,uCAGX;AAHD,CAAA,UAAYA,qBAAqB,EAAA;AAC/BA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHWA,6BAAqB,KAArBA,6BAAqB,GAGhC,EAAA,CAAA,CAAA;;;;;;;;"}
1
+ {"version":3,"file":"const-e7388711.js","sources":["../../src/smart-components/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,IAAMA,gBAAgB,GAAG,GAAE;AAC3B,IAAMC,gBAAgB,GAAG,GAAE;AAE3B,IAAMC,sBAAsB,GAAG,GAAE;AACjC,IAAMC,yBAAyB,GAAG,GAAE;AACpC,IAAMC,sBAAsB,GAAG,IAAG;AAE7BC,uCAGX;AAHD,CAAA,UAAYA,qBAAqB,EAAA;AAC/BA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHWA,6BAAqB,KAArBA,6BAAqB,GAGhC,EAAA,CAAA,CAAA;;;;;;;;"}
@@ -34,4 +34,4 @@ exports.VOICE_RECORDER_CLICK_BUFFER_TIME = VOICE_RECORDER_CLICK_BUFFER_TIME;
34
34
  exports.VOICE_RECORDER_DEFAULT_MAX = VOICE_RECORDER_DEFAULT_MAX;
35
35
  exports.VOICE_RECORDER_DEFAULT_MIN = VOICE_RECORDER_DEFAULT_MIN;
36
36
  exports.VOICE_RECORDER_MIME_TYPE = VOICE_RECORDER_MIME_TYPE;
37
- //# sourceMappingURL=consts-b8c0be49.js.map
37
+ //# sourceMappingURL=consts-82dce75d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-b8c0be49.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,IAAMA,aAAa,GAAG,GAAE;AAE/B;AACO,IAAMC,gCAAgC,GAAG,IAAG;AACtCC,IAAAA,0BAA0B,GAAG,KAAK;AAClCC,IAAAA,0BAA0B,GAAG,OAAO;AAC1C,IAAMC,wBAAwB,GAAG,aAAY;AAC7C,IAAMC,yBAAyB,GAAG,OAAM;AAM/C;;;AAGG;AACI,IAAMC,oBAAoB,GAAG,sCAAqC;AAClE,IAAMC,qBAAqB,GAAG,kCAAiC;AAEtE;AACO,IAAMC,uBAAuB,GAAG,oBAAmB;AACnD,IAAMC,uBAAuB,GAAG,2BAA0B;AAEjE;AACO,IAAMC,6BAA6B,GAAG,6BAA4B;AAClE,IAAMC,2BAA2B,GAAG,4BAA2B;AAC/D,IAAMC,oCAAoC,GAAG;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"consts-82dce75d.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,IAAMA,aAAa,GAAG,GAAE;AAE/B;AACO,IAAMC,gCAAgC,GAAG,IAAG;AACtCC,IAAAA,0BAA0B,GAAG,KAAK;AAClCC,IAAAA,0BAA0B,GAAG,OAAO;AAC1C,IAAMC,wBAAwB,GAAG,aAAY;AAC7C,IAAMC,yBAAyB,GAAG,OAAM;AAM/C;;;AAGG;AACI,IAAMC,oBAAoB,GAAG,sCAAqC;AAClE,IAAMC,qBAAqB,GAAG,kCAAiC;AAEtE;AACO,IAAMC,uBAAuB,GAAG,oBAAmB;AACnD,IAAMC,uBAAuB,GAAG,2BAA0B;AAEjE;AACO,IAAMC,6BAA6B,GAAG,6BAA4B;AAClE,IAAMC,2BAA2B,GAAG,4BAA2B;AAC/D,IAAMC,oCAAoC,GAAG;;;;;;;;;;;;;;;;"}
@@ -3,4 +3,4 @@
3
3
  var 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-e193b1b8.js.map
6
+ //# sourceMappingURL=consts-d9ecf2d7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-e193b1b8.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,IAAMA,2BAA2B,GAAG;;;;"}
1
+ {"version":3,"file":"consts-d9ecf2d7.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,IAAMA,2BAA2B,GAAG;;;;"}
@@ -3,4 +3,4 @@
3
3
  var 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-472d9347.js.map
6
+ //# sourceMappingURL=consts-e0f44b83.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts-472d9347.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,IAAMA,yBAAyB,GAAG;;;;"}
1
+ {"version":3,"file":"consts-e0f44b83.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,IAAMA,yBAAyB,GAAG;;;;"}
@@ -3,4 +3,4 @@
3
3
  var MENTION_USER_LABEL_CLASSNAME = 'sendbird-mention-user-label';
4
4
 
5
5
  exports.MENTION_USER_LABEL_CLASSNAME = MENTION_USER_LABEL_CLASSNAME;
6
- //# sourceMappingURL=consts-2e23914f.js.map
6
+ //# sourceMappingURL=consts-f8bd3346.js.map