@sendbird/uikit-react 3.5.1 → 3.5.2

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 (515) hide show
  1. package/App.js +58 -52
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +12 -0
  4. package/Channel/components/ChannelHeader.js +19 -19
  5. package/Channel/components/ChannelUI.js +41 -41
  6. package/Channel/components/FileViewer.js +15 -15
  7. package/Channel/components/FrozenNotification.js +4 -4
  8. package/Channel/components/Message.js +47 -47
  9. package/Channel/components/Message.js.map +1 -1
  10. package/Channel/components/MessageInput.js +29 -29
  11. package/Channel/components/MessageList.js +44 -40
  12. package/Channel/components/MessageList.js.map +1 -1
  13. package/Channel/components/RemoveMessageModal.js +17 -17
  14. package/Channel/components/SuggestedMentionList.js +17 -17
  15. package/Channel/components/TypingIndicator.js +15 -15
  16. package/Channel/components/UnreadCount.js +4 -4
  17. package/Channel/context.js +12 -12
  18. package/Channel.js +41 -41
  19. package/ChannelList/components/AddChannel.js +14 -14
  20. package/ChannelList/components/ChannelListHeader.js +6 -6
  21. package/ChannelList/components/ChannelListUI.js +30 -30
  22. package/ChannelList/components/ChannelPreview.js +26 -26
  23. package/ChannelList/components/ChannelPreviewAction.js +13 -13
  24. package/ChannelList/context.js +7 -7
  25. package/ChannelList.js +30 -30
  26. package/{ChannelListProvider-643a2b47.js → ChannelListProvider-cf495605.js} +7 -7
  27. package/{ChannelListProvider-643a2b47.js.map → ChannelListProvider-cf495605.js.map} +1 -1
  28. package/{ChannelProvider-33559192.js → ChannelProvider-d65df2df.js} +15 -11
  29. package/ChannelProvider-d65df2df.js.map +1 -0
  30. package/ChannelSettings/components/ChannelProfile.js +11 -11
  31. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  32. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  33. package/ChannelSettings/components/LeaveChannel.js +11 -11
  34. package/ChannelSettings/components/ModerationPanel.js +14 -14
  35. package/ChannelSettings/components/UserListItem.js +10 -10
  36. package/ChannelSettings/components/UserPanel.js +13 -13
  37. package/ChannelSettings/context.js +3 -3
  38. package/ChannelSettings.js +17 -17
  39. package/CreateChannel/components/CreateChannelUI.js +13 -13
  40. package/CreateChannel/components/InviteUsers.js +13 -13
  41. package/CreateChannel/components/SelectChannelType.js +10 -10
  42. package/CreateChannel/context.js +4 -4
  43. package/CreateChannel.js +13 -13
  44. package/{CreateChannelProvider-5b006b58.js → CreateChannelProvider-6f31ea1f.js} +1 -1
  45. package/{CreateChannelProvider-5b006b58.js.map → CreateChannelProvider-6f31ea1f.js.map} +1 -1
  46. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  47. package/CreateOpenChannel/context.js +1 -1
  48. package/CreateOpenChannel.js +9 -9
  49. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  50. package/EditUserProfile.js +12 -12
  51. package/{LocalizationContext-25d6694d.js → LocalizationContext-b72d20ff.js} +3 -3
  52. package/{LocalizationContext-25d6694d.js.map → LocalizationContext-b72d20ff.js.map} +1 -1
  53. package/{MediaQueryContext-94c9086a.js → MediaQueryContext-e19f73a1.js} +1 -1
  54. package/{MediaQueryContext-94c9086a.js.map → MediaQueryContext-e19f73a1.js.map} +1 -1
  55. package/{MemberList-9f8950db.js → MemberList-2b766f71.js} +5 -5
  56. package/{MemberList-9f8950db.js.map → MemberList-2b766f71.js.map} +1 -1
  57. package/MessageSearch/components/MessageSearchUI.js +11 -11
  58. package/MessageSearch/context.js +1 -1
  59. package/MessageSearch.js +11 -11
  60. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  61. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  62. package/OpenChannel/components/OpenChannelInput.js +19 -19
  63. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  64. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  65. package/OpenChannel/components/OpenChannelUI.js +31 -31
  66. package/OpenChannel/context.js +8 -8
  67. package/OpenChannel.js +31 -31
  68. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  69. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  70. package/OpenChannelList/context.js +3 -3
  71. package/OpenChannelList.js +13 -13
  72. package/{OpenChannelListProvider-7c6b2f84.js → OpenChannelListProvider-671274d4.js} +3 -3
  73. package/{OpenChannelListProvider-7c6b2f84.js.map → OpenChannelListProvider-671274d4.js.map} +1 -1
  74. package/{OpenChannelProvider-18fa6128.js → OpenChannelProvider-38900da5.js} +7 -7
  75. package/{OpenChannelProvider-18fa6128.js.map → OpenChannelProvider-38900da5.js.map} +1 -1
  76. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  77. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  78. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  79. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  80. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  81. package/OpenChannelSettings/context.js +3 -3
  82. package/OpenChannelSettings.js +17 -17
  83. package/{RemoveMessageModal-9c0350c0.js → RemoveMessageModal-17a2bde1.js} +3 -3
  84. package/{RemoveMessageModal-9c0350c0.js.map → RemoveMessageModal-17a2bde1.js.map} +1 -1
  85. package/SendbirdProvider.js +86 -42
  86. package/SendbirdProvider.js.map +1 -1
  87. package/Thread/components/ParentMessageInfo.js +33 -33
  88. package/Thread/components/ParentMessageInfoItem.js +21 -21
  89. package/Thread/components/ThreadHeader.js +6 -6
  90. package/Thread/components/ThreadList.js +36 -36
  91. package/Thread/components/ThreadListItem.js +36 -36
  92. package/Thread/components/ThreadMessageInput.js +30 -30
  93. package/Thread/components/ThreadUI.js +40 -40
  94. package/Thread/context.js +8 -8
  95. package/Thread.js +40 -40
  96. package/{ThreadProvider-6ae0b041.js → ThreadProvider-eb264f9b.js} +7 -7
  97. package/{ThreadProvider-6ae0b041.js.map → ThreadProvider-eb264f9b.js.map} +1 -1
  98. package/{UserProfileContext-a56cc682.js → UserProfileContext-15d32bf1.js} +1 -1
  99. package/{UserProfileContext-a56cc682.js.map → UserProfileContext-15d32bf1.js.map} +1 -1
  100. package/{VoiceMessageInputWrapper-69ac1f5a.js → VoiceMessageInputWrapper-d8f0b49b.js} +7 -7
  101. package/{VoiceMessageInputWrapper-69ac1f5a.js.map → VoiceMessageInputWrapper-d8f0b49b.js.map} +1 -1
  102. package/VoicePlayer/context.js +3 -3
  103. package/VoicePlayer/useVoicePlayer.js +9 -9
  104. package/VoiceRecorder/context.js +10 -10
  105. package/VoiceRecorder/context.js.map +1 -1
  106. package/VoiceRecorder/useVoiceRecorder.js +8 -8
  107. package/{WebAudioUtils-16540f03.js → WebAudioUtils-f5904b12.js} +5 -2
  108. package/WebAudioUtils-f5904b12.js.map +1 -0
  109. package/{_rollupPluginBabelHelpers-1be219c2.js → _rollupPluginBabelHelpers-5abfebd1.js} +1 -1
  110. package/_rollupPluginBabelHelpers-5abfebd1.js.map +1 -0
  111. package/{actionTypes-a8140d53.js → actionTypes-cbb7aa0d.js} +1 -1
  112. package/{actionTypes-a8140d53.js.map → actionTypes-cbb7aa0d.js.map} +1 -1
  113. package/cjs/App.js +58 -52
  114. package/cjs/App.js.map +1 -1
  115. package/cjs/Channel/components/ChannelHeader.js +19 -19
  116. package/cjs/Channel/components/ChannelUI.js +41 -41
  117. package/cjs/Channel/components/FileViewer.js +15 -15
  118. package/cjs/Channel/components/FrozenNotification.js +4 -4
  119. package/cjs/Channel/components/Message.js +47 -47
  120. package/cjs/Channel/components/Message.js.map +1 -1
  121. package/cjs/Channel/components/MessageInput.js +29 -29
  122. package/cjs/Channel/components/MessageList.js +44 -40
  123. package/cjs/Channel/components/MessageList.js.map +1 -1
  124. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  125. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  126. package/cjs/Channel/components/TypingIndicator.js +15 -15
  127. package/cjs/Channel/components/UnreadCount.js +4 -4
  128. package/cjs/Channel/context.js +12 -12
  129. package/cjs/Channel.js +41 -41
  130. package/cjs/ChannelList/components/AddChannel.js +14 -14
  131. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  132. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  133. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  134. package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
  135. package/cjs/ChannelList/context.js +7 -7
  136. package/cjs/ChannelList.js +30 -30
  137. package/cjs/{ChannelListProvider-1d4a8060.js → ChannelListProvider-40030514.js} +7 -7
  138. package/cjs/{ChannelListProvider-1d4a8060.js.map → ChannelListProvider-40030514.js.map} +1 -1
  139. package/cjs/{ChannelProvider-2c7ec64b.js → ChannelProvider-dc530bcd.js} +15 -11
  140. package/cjs/ChannelProvider-dc530bcd.js.map +1 -0
  141. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  142. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  143. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  144. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  145. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  146. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  147. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  148. package/cjs/ChannelSettings/context.js +3 -3
  149. package/cjs/ChannelSettings.js +17 -17
  150. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  151. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  152. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  153. package/cjs/CreateChannel/context.js +4 -4
  154. package/cjs/CreateChannel.js +13 -13
  155. package/cjs/{CreateChannelProvider-f7d36126.js → CreateChannelProvider-37b735fb.js} +1 -1
  156. package/cjs/{CreateChannelProvider-f7d36126.js.map → CreateChannelProvider-37b735fb.js.map} +1 -1
  157. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  158. package/cjs/CreateOpenChannel/context.js +1 -1
  159. package/cjs/CreateOpenChannel.js +9 -9
  160. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  161. package/cjs/EditUserProfile.js +12 -12
  162. package/cjs/{LocalizationContext-bd54275c.js → LocalizationContext-878e9af4.js} +3 -3
  163. package/cjs/{LocalizationContext-bd54275c.js.map → LocalizationContext-878e9af4.js.map} +1 -1
  164. package/cjs/{MediaQueryContext-ebcb159a.js → MediaQueryContext-32e0df47.js} +1 -1
  165. package/cjs/{MediaQueryContext-ebcb159a.js.map → MediaQueryContext-32e0df47.js.map} +1 -1
  166. package/cjs/{MemberList-2204c0b1.js → MemberList-a5c4742c.js} +5 -5
  167. package/cjs/{MemberList-2204c0b1.js.map → MemberList-a5c4742c.js.map} +1 -1
  168. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  169. package/cjs/MessageSearch/context.js +1 -1
  170. package/cjs/MessageSearch.js +11 -11
  171. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  172. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  173. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
  174. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  175. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  176. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  177. package/cjs/OpenChannel/context.js +8 -8
  178. package/cjs/OpenChannel.js +31 -31
  179. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  180. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  181. package/cjs/OpenChannelList/context.js +3 -3
  182. package/cjs/OpenChannelList.js +13 -13
  183. package/cjs/{OpenChannelListProvider-865700d5.js → OpenChannelListProvider-3989b401.js} +3 -3
  184. package/cjs/{OpenChannelListProvider-865700d5.js.map → OpenChannelListProvider-3989b401.js.map} +1 -1
  185. package/cjs/{OpenChannelProvider-083e5628.js → OpenChannelProvider-f0cf55df.js} +7 -7
  186. package/cjs/{OpenChannelProvider-083e5628.js.map → OpenChannelProvider-f0cf55df.js.map} +1 -1
  187. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  188. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  189. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  190. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  191. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  192. package/cjs/OpenChannelSettings/context.js +3 -3
  193. package/cjs/OpenChannelSettings.js +17 -17
  194. package/cjs/{RemoveMessageModal-822e0fac.js → RemoveMessageModal-df7419d0.js} +3 -3
  195. package/cjs/{RemoveMessageModal-822e0fac.js.map → RemoveMessageModal-df7419d0.js.map} +1 -1
  196. package/cjs/SendbirdProvider.js +86 -42
  197. package/cjs/SendbirdProvider.js.map +1 -1
  198. package/cjs/Thread/components/ParentMessageInfo.js +33 -33
  199. package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
  200. package/cjs/Thread/components/ThreadHeader.js +6 -6
  201. package/cjs/Thread/components/ThreadList.js +36 -36
  202. package/cjs/Thread/components/ThreadListItem.js +36 -36
  203. package/cjs/Thread/components/ThreadMessageInput.js +30 -30
  204. package/cjs/Thread/components/ThreadUI.js +40 -40
  205. package/cjs/Thread/context.js +8 -8
  206. package/cjs/Thread.js +40 -40
  207. package/cjs/{ThreadProvider-09392c06.js → ThreadProvider-cc056590.js} +7 -7
  208. package/cjs/{ThreadProvider-09392c06.js.map → ThreadProvider-cc056590.js.map} +1 -1
  209. package/cjs/{UserProfileContext-10e1ac24.js → UserProfileContext-7a40e044.js} +1 -1
  210. package/cjs/{UserProfileContext-10e1ac24.js.map → UserProfileContext-7a40e044.js.map} +1 -1
  211. package/cjs/{VoiceMessageInputWrapper-fee2ede6.js → VoiceMessageInputWrapper-0cd2f129.js} +7 -7
  212. package/cjs/{VoiceMessageInputWrapper-fee2ede6.js.map → VoiceMessageInputWrapper-0cd2f129.js.map} +1 -1
  213. package/cjs/VoicePlayer/context.js +3 -3
  214. package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
  215. package/cjs/VoiceRecorder/context.js +10 -10
  216. package/cjs/VoiceRecorder/context.js.map +1 -1
  217. package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
  218. package/cjs/{WebAudioUtils-9dfbd5a9.js → WebAudioUtils-a93c5a21.js} +5 -2
  219. package/cjs/WebAudioUtils-a93c5a21.js.map +1 -0
  220. package/cjs/{_rollupPluginBabelHelpers-53e83515.js → _rollupPluginBabelHelpers-34d81327.js} +1 -1
  221. package/cjs/_rollupPluginBabelHelpers-34d81327.js.map +1 -0
  222. package/cjs/{actionTypes-b1275c7f.js → actionTypes-82ec7410.js} +1 -1
  223. package/cjs/{actionTypes-b1275c7f.js.map → actionTypes-82ec7410.js.map} +1 -1
  224. package/cjs/{color-e7fbb496.js → color-b5eda3fc.js} +1 -1
  225. package/cjs/{color-e7fbb496.js.map → color-b5eda3fc.js.map} +1 -1
  226. package/cjs/{compareIds-03cd7437.js → compareIds-166d7e58.js} +1 -1
  227. package/cjs/{compareIds-03cd7437.js.map → compareIds-166d7e58.js.map} +1 -1
  228. package/cjs/{const-b3585ae0.js → const-0e90ba69.js} +1 -1
  229. package/cjs/{const-b3585ae0.js.map → const-0e90ba69.js.map} +1 -1
  230. package/cjs/{const-8728e4b6.js → const-f1788ed7.js} +1 -1
  231. package/cjs/{const-8728e4b6.js.map → const-f1788ed7.js.map} +1 -1
  232. package/cjs/{consts-a006bc78.js → consts-781c8a91.js} +1 -1
  233. package/cjs/{consts-a006bc78.js.map → consts-781c8a91.js.map} +1 -1
  234. package/cjs/{consts-aa056322.js → consts-7b75c019.js} +5 -3
  235. package/cjs/consts-7b75c019.js.map +1 -0
  236. package/cjs/{consts-a0e35044.js → consts-c0b69964.js} +1 -1
  237. package/cjs/{consts-a0e35044.js.map → consts-c0b69964.js.map} +1 -1
  238. package/cjs/{consts-6bd1cfe3.js → consts-d570bbda.js} +1 -1
  239. package/cjs/{consts-6bd1cfe3.js.map → consts-d570bbda.js.map} +1 -1
  240. package/cjs/{context-ad45a982.js → context-f02c9175.js} +2 -2
  241. package/cjs/{context-ad45a982.js.map → context-f02c9175.js.map} +1 -1
  242. package/cjs/dist/index.css +99 -95
  243. package/cjs/dist/index.css.map +1 -1
  244. package/cjs/{index-2f206bb6.js → index-14e727cb.js} +3 -3
  245. package/cjs/{index-2f206bb6.js.map → index-14e727cb.js.map} +1 -1
  246. package/cjs/{index-32244c73.js → index-17d91cac.js} +2 -2
  247. package/cjs/{index-32244c73.js.map → index-17d91cac.js.map} +1 -1
  248. package/cjs/{index-a01673e9.js → index-39facc91.js} +2 -2
  249. package/cjs/{index-a01673e9.js.map → index-39facc91.js.map} +1 -1
  250. package/cjs/{index-8ada6055.js → index-421e6733.js} +1 -1
  251. package/cjs/{index-8ada6055.js.map → index-421e6733.js.map} +1 -1
  252. package/cjs/{index-f6621210.js → index-473ec049.js} +2 -2
  253. package/cjs/{index-f6621210.js.map → index-473ec049.js.map} +1 -1
  254. package/cjs/{index-9f2a1c52.js → index-509d74b9.js} +4 -4
  255. package/cjs/{index-9f2a1c52.js.map → index-509d74b9.js.map} +1 -1
  256. package/cjs/{index-9a94e768.js → index-52289ebe.js} +6 -6
  257. package/cjs/{index-9a94e768.js.map → index-52289ebe.js.map} +1 -1
  258. package/cjs/{index-4a2ec2ae.js → index-5548cd49.js} +4 -4
  259. package/cjs/{index-4a2ec2ae.js.map → index-5548cd49.js.map} +1 -1
  260. package/cjs/{index-d0b4f3c0.js → index-66129587.js} +4 -4
  261. package/cjs/{index-d0b4f3c0.js.map → index-66129587.js.map} +1 -1
  262. package/cjs/{index-288afd10.js → index-856c7a74.js} +6 -6
  263. package/cjs/{index-288afd10.js.map → index-856c7a74.js.map} +1 -1
  264. package/cjs/{index-9feae73e.js → index-9c04a81c.js} +3 -3
  265. package/cjs/{index-9feae73e.js.map → index-9c04a81c.js.map} +1 -1
  266. package/cjs/{index-165d52b7.js → index-c041bc69.js} +2 -2
  267. package/cjs/{index-165d52b7.js.map → index-c041bc69.js.map} +1 -1
  268. package/cjs/{index-7bd7f678.js → index-d1cd9430.js} +2 -2
  269. package/cjs/{index-7bd7f678.js.map → index-d1cd9430.js.map} +1 -1
  270. package/cjs/{index-35d641f7.js → index-d65262d8.js} +2 -2
  271. package/cjs/{index-35d641f7.js.map → index-d65262d8.js.map} +1 -1
  272. package/cjs/{index-745c9ce1.js → index-ec26f0e8.js} +1 -1
  273. package/cjs/{index-745c9ce1.js.map → index-ec26f0e8.js.map} +1 -1
  274. package/cjs/{index-3e924a85.js → index-ef92f98a.js} +5 -5
  275. package/cjs/{index-3e924a85.js.map → index-ef92f98a.js.map} +1 -1
  276. package/cjs/{index-7d2d89a2.js → index-fd0d9159.js} +3 -3
  277. package/cjs/{index-7d2d89a2.js.map → index-fd0d9159.js.map} +1 -1
  278. package/cjs/index.js +52 -52
  279. package/cjs/{index.module-02ae6df9.js → index.module-c6adef28.js} +1 -1
  280. package/cjs/{index.module-02ae6df9.js.map → index.module-c6adef28.js.map} +1 -1
  281. package/cjs/{resolvedReplyType-da86056c.js → resolvedReplyType-94bf58a5.js} +1 -1
  282. package/cjs/{resolvedReplyType-da86056c.js.map → resolvedReplyType-94bf58a5.js.map} +1 -1
  283. package/cjs/sendbirdSelectors.js +3 -3
  284. package/cjs/{stringSet-d212a015.js → stringSet-861f48a6.js} +1 -1
  285. package/cjs/{stringSet-d212a015.js.map → stringSet-861f48a6.js.map} +1 -1
  286. package/cjs/{tokenize-b019fb84.js → tokenize-0b2df205.js} +2 -2
  287. package/cjs/{tokenize-b019fb84.js.map → tokenize-0b2df205.js.map} +1 -1
  288. package/cjs/{topics-77576a9c.js → topics-b7aa4dde.js} +1 -1
  289. package/cjs/{topics-77576a9c.js.map → topics-b7aa4dde.js.map} +1 -1
  290. package/cjs/{types-36ee2d00.js → types-96769462.js} +1 -1
  291. package/cjs/types-96769462.js.map +1 -0
  292. package/cjs/ui/Accordion.js +2 -2
  293. package/cjs/ui/AccordionGroup.js +2 -2
  294. package/cjs/ui/AdminMessage.js +2 -2
  295. package/cjs/ui/Avatar.js +1 -1
  296. package/cjs/ui/Badge.js +4 -4
  297. package/cjs/ui/BottomSheet.js +1 -1
  298. package/cjs/ui/Button.js +2 -2
  299. package/cjs/ui/ChannelAvatar.js +2 -2
  300. package/cjs/ui/ConnectionStatus.js +4 -4
  301. package/cjs/ui/ContextMenu.js +5 -5
  302. package/cjs/ui/DateSeparator.js +3 -3
  303. package/cjs/ui/EmojiReactions.js +13 -13
  304. package/cjs/ui/FileMessageItemBody.js +6 -6
  305. package/cjs/ui/FileViewer.js +8 -8
  306. package/cjs/ui/IconButton.js +1 -1
  307. package/cjs/ui/Input.js +2 -2
  308. package/cjs/ui/Label.js +2 -2
  309. package/cjs/ui/LinkLabel.js +2 -2
  310. package/cjs/ui/MentionLabel.js +10 -10
  311. package/cjs/ui/MentionUserLabel.js +1 -1
  312. package/cjs/ui/MessageContent.js +28 -28
  313. package/cjs/ui/MessageInput.js +13 -13
  314. package/cjs/ui/MessageItemMenu.js +8 -8
  315. package/cjs/ui/MessageItemReactionMenu.js +8 -8
  316. package/cjs/ui/MessageSearchFileItem.js +10 -10
  317. package/cjs/ui/MessageSearchItem.js +8 -8
  318. package/cjs/ui/MessageStatus.js +10 -10
  319. package/cjs/ui/Modal.js +7 -7
  320. package/cjs/ui/OGMessageItemBody.js +14 -14
  321. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  322. package/cjs/ui/OpenChannelAvatar.js +5 -5
  323. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  324. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  325. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  326. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  327. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  328. package/cjs/ui/PlaceHolder.js +5 -5
  329. package/cjs/ui/PlaybackTime.js +2 -2
  330. package/cjs/ui/QuoteMessage.js +6 -6
  331. package/cjs/ui/QuoteMessageInput.js +6 -6
  332. package/cjs/ui/ReactionBadge.js +2 -2
  333. package/cjs/ui/ReactionButton.js +4 -4
  334. package/cjs/ui/SortByRow.js +1 -1
  335. package/cjs/ui/TextButton.js +1 -1
  336. package/cjs/ui/TextMessageItemBody.js +14 -14
  337. package/cjs/ui/ThreadReplies.js +5 -5
  338. package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
  339. package/cjs/ui/Toggle.js +1 -1
  340. package/cjs/ui/Tooltip.js +2 -2
  341. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  342. package/cjs/ui/UserListItem.js +10 -10
  343. package/cjs/ui/UserProfile.js +9 -9
  344. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  345. package/cjs/ui/VoiceMessgeInput.js +7 -7
  346. package/cjs/ui/Word.js +10 -10
  347. package/cjs/{useDirtyGetMentions-792a65af.js → useDirtyGetMentions-51ba94c9.js} +1 -1
  348. package/cjs/{useDirtyGetMentions-792a65af.js.map → useDirtyGetMentions-51ba94c9.js.map} +1 -1
  349. package/cjs/{useLongPress-50d2028a.js → useLongPress-a75f391f.js} +3 -3
  350. package/cjs/{useLongPress-50d2028a.js.map → useLongPress-a75f391f.js.map} +1 -1
  351. package/cjs/useSendbirdStateContext.js +1 -1
  352. package/cjs/utils/message/isVoiceMessage.js +2 -2
  353. package/cjs/{utils-c2543c4d.js → utils-1fae30f5.js} +2 -2
  354. package/cjs/{utils-c2543c4d.js.map → utils-1fae30f5.js.map} +1 -1
  355. package/cjs/{utils-85ff9137.js → utils-41bb171b.js} +1 -1
  356. package/cjs/{utils-85ff9137.js.map → utils-41bb171b.js.map} +1 -1
  357. package/cjs/{utils-d2648e7d.js → utils-c6ba98d0.js} +1 -1
  358. package/cjs/{utils-d2648e7d.js.map → utils-c6ba98d0.js.map} +1 -1
  359. package/cjs/{utils-8ce3a247.js → utils-dc6bde9f.js} +1 -1
  360. package/cjs/{utils-8ce3a247.js.map → utils-dc6bde9f.js.map} +1 -1
  361. package/cjs/{uuid-97ce2508.js → uuid-e63d4fd0.js} +1 -1
  362. package/cjs/{uuid-97ce2508.js.map → uuid-e63d4fd0.js.map} +1 -1
  363. package/cjs/withSendbird.js +1 -1
  364. package/{color-04427a41.js → color-a6442c44.js} +1 -1
  365. package/{color-04427a41.js.map → color-a6442c44.js.map} +1 -1
  366. package/{compareIds-e75af4f9.js → compareIds-25cf33ca.js} +1 -1
  367. package/{compareIds-e75af4f9.js.map → compareIds-25cf33ca.js.map} +1 -1
  368. package/{const-8d418b81.js → const-07a3c977.js} +1 -1
  369. package/{const-8d418b81.js.map → const-07a3c977.js.map} +1 -1
  370. package/{const-ec18f7f8.js → const-e0d0cf98.js} +1 -1
  371. package/{const-ec18f7f8.js.map → const-e0d0cf98.js.map} +1 -1
  372. package/{consts-a5106683.js → consts-122d5e84.js} +1 -1
  373. package/{consts-a5106683.js.map → consts-122d5e84.js.map} +1 -1
  374. package/{consts-e6fdc559.js → consts-13764641.js} +4 -3
  375. package/consts-13764641.js.map +1 -0
  376. package/{consts-4d93ce13.js → consts-5dc81b70.js} +1 -1
  377. package/{consts-4d93ce13.js.map → consts-5dc81b70.js.map} +1 -1
  378. package/{consts-01a1e3c0.js → consts-ef436e72.js} +1 -1
  379. package/{consts-01a1e3c0.js.map → consts-ef436e72.js.map} +1 -1
  380. package/{context-6272efa3.js → context-eb034522.js} +2 -2
  381. package/{context-6272efa3.js.map → context-eb034522.js.map} +1 -1
  382. package/dist/index.css +99 -95
  383. package/dist/index.css.map +1 -1
  384. package/{index-32a56033.js → index-0fcda0b3.js} +3 -3
  385. package/{index-32a56033.js.map → index-0fcda0b3.js.map} +1 -1
  386. package/{index-fea4f7d3.js → index-20c7c9e1.js} +2 -2
  387. package/{index-fea4f7d3.js.map → index-20c7c9e1.js.map} +1 -1
  388. package/{index-c589f349.js → index-246150c1.js} +2 -2
  389. package/{index-c589f349.js.map → index-246150c1.js.map} +1 -1
  390. package/{index-fe7ed4c0.js → index-2a80414f.js} +6 -6
  391. package/{index-fe7ed4c0.js.map → index-2a80414f.js.map} +1 -1
  392. package/{index-7ff2c073.js → index-30e04508.js} +6 -6
  393. package/{index-7ff2c073.js.map → index-30e04508.js.map} +1 -1
  394. package/{index-9a62272f.js → index-31e14784.js} +4 -4
  395. package/{index-9a62272f.js.map → index-31e14784.js.map} +1 -1
  396. package/{index-2d858f6d.js → index-50ab38b7.js} +2 -2
  397. package/{index-2d858f6d.js.map → index-50ab38b7.js.map} +1 -1
  398. package/{index-24f4354d.js → index-597d4155.js} +4 -4
  399. package/{index-24f4354d.js.map → index-597d4155.js.map} +1 -1
  400. package/{index-19daf00f.js → index-7682a07f.js} +5 -5
  401. package/{index-19daf00f.js.map → index-7682a07f.js.map} +1 -1
  402. package/{index-d88e3ef9.js → index-993488e6.js} +2 -2
  403. package/{index-d88e3ef9.js.map → index-993488e6.js.map} +1 -1
  404. package/{index-f4374646.js → index-a2c461b6.js} +3 -3
  405. package/{index-f4374646.js.map → index-a2c461b6.js.map} +1 -1
  406. package/{index-36d49e08.js → index-a4f22fc7.js} +4 -4
  407. package/{index-36d49e08.js.map → index-a4f22fc7.js.map} +1 -1
  408. package/{index-b3c3e1aa.js → index-b60bd9f8.js} +2 -2
  409. package/{index-b3c3e1aa.js.map → index-b60bd9f8.js.map} +1 -1
  410. package/{index-dcaf3cb8.js → index-be71290f.js} +3 -3
  411. package/{index-dcaf3cb8.js.map → index-be71290f.js.map} +1 -1
  412. package/{index-a4552c13.js → index-ca1ea065.js} +1 -1
  413. package/{index-a4552c13.js.map → index-ca1ea065.js.map} +1 -1
  414. package/{index-5819e39d.js → index-db793fe0.js} +1 -1
  415. package/{index-5819e39d.js.map → index-db793fe0.js.map} +1 -1
  416. package/{index-dd8e8ea1.js → index-fd809164.js} +2 -2
  417. package/{index-dd8e8ea1.js.map → index-fd809164.js.map} +1 -1
  418. package/index.d.ts +1 -1
  419. package/index.js +52 -52
  420. package/{index.module-1ba8586e.js → index.module-90c2127d.js} +1 -1
  421. package/{index.module-1ba8586e.js.map → index.module-90c2127d.js.map} +1 -1
  422. package/package.json +1 -1
  423. package/{resolvedReplyType-94a089b3.js → resolvedReplyType-9c5d1a16.js} +1 -1
  424. package/{resolvedReplyType-94a089b3.js.map → resolvedReplyType-9c5d1a16.js.map} +1 -1
  425. package/sendbirdSelectors.js +3 -3
  426. package/{stringSet-3649b375.js → stringSet-45364ddd.js} +1 -1
  427. package/{stringSet-3649b375.js.map → stringSet-45364ddd.js.map} +1 -1
  428. package/{tokenize-053e921e.js → tokenize-d6cbc42e.js} +2 -2
  429. package/{tokenize-053e921e.js.map → tokenize-d6cbc42e.js.map} +1 -1
  430. package/{topics-d0dcd2f2.js → topics-159a0b6e.js} +1 -1
  431. package/{topics-d0dcd2f2.js.map → topics-159a0b6e.js.map} +1 -1
  432. package/{types-54edb45d.js → types-7e64ed33.js} +1 -1
  433. package/types-7e64ed33.js.map +1 -0
  434. package/ui/Accordion.js +2 -2
  435. package/ui/AccordionGroup.js +2 -2
  436. package/ui/AdminMessage.js +2 -2
  437. package/ui/Avatar.js +1 -1
  438. package/ui/Badge.js +4 -4
  439. package/ui/BottomSheet.js +1 -1
  440. package/ui/Button.js +2 -2
  441. package/ui/ChannelAvatar.js +2 -2
  442. package/ui/ConnectionStatus.js +4 -4
  443. package/ui/ContextMenu.js +5 -5
  444. package/ui/DateSeparator.js +3 -3
  445. package/ui/EmojiReactions.js +13 -13
  446. package/ui/FileMessageItemBody.js +6 -6
  447. package/ui/FileViewer.js +8 -8
  448. package/ui/IconButton.js +1 -1
  449. package/ui/Input.js +2 -2
  450. package/ui/Label.js +2 -2
  451. package/ui/LinkLabel.js +2 -2
  452. package/ui/MentionLabel.js +10 -10
  453. package/ui/MentionUserLabel.js +1 -1
  454. package/ui/MessageContent.js +28 -28
  455. package/ui/MessageInput.js +13 -13
  456. package/ui/MessageItemMenu.js +8 -8
  457. package/ui/MessageItemReactionMenu.js +8 -8
  458. package/ui/MessageSearchFileItem.js +10 -10
  459. package/ui/MessageSearchItem.js +8 -8
  460. package/ui/MessageStatus.js +10 -10
  461. package/ui/Modal.js +7 -7
  462. package/ui/OGMessageItemBody.js +14 -14
  463. package/ui/OpenChannelAdminMessage.js +2 -2
  464. package/ui/OpenChannelAvatar.js +5 -5
  465. package/ui/OpenchannelConversationHeader.js +6 -6
  466. package/ui/OpenchannelFileMessage.js +15 -15
  467. package/ui/OpenchannelOGMessage.js +18 -18
  468. package/ui/OpenchannelThumbnailMessage.js +14 -14
  469. package/ui/OpenchannelUserMessage.js +15 -15
  470. package/ui/PlaceHolder.js +5 -5
  471. package/ui/PlaybackTime.js +2 -2
  472. package/ui/QuoteMessage.js +6 -6
  473. package/ui/QuoteMessageInput.js +6 -6
  474. package/ui/ReactionBadge.js +2 -2
  475. package/ui/ReactionButton.js +4 -4
  476. package/ui/SortByRow.js +1 -1
  477. package/ui/TextButton.js +1 -1
  478. package/ui/TextMessageItemBody.js +14 -14
  479. package/ui/ThreadReplies.js +5 -5
  480. package/ui/ThumbnailMessageItemBody.js +5 -5
  481. package/ui/Toggle.js +1 -1
  482. package/ui/Tooltip.js +2 -2
  483. package/ui/UnknownMessageItemBody.js +6 -6
  484. package/ui/UserListItem.js +10 -10
  485. package/ui/UserProfile.js +9 -9
  486. package/ui/VoiceMessageItemBody.js +9 -9
  487. package/ui/VoiceMessgeInput.js +7 -7
  488. package/ui/Word.js +10 -10
  489. package/{useDirtyGetMentions-b9a9c21b.js → useDirtyGetMentions-bd28fb85.js} +1 -1
  490. package/{useDirtyGetMentions-b9a9c21b.js.map → useDirtyGetMentions-bd28fb85.js.map} +1 -1
  491. package/{useLongPress-5e28b292.js → useLongPress-00e6b5b2.js} +3 -3
  492. package/{useLongPress-5e28b292.js.map → useLongPress-00e6b5b2.js.map} +1 -1
  493. package/useSendbirdStateContext.js +1 -1
  494. package/utils/message/isVoiceMessage.js +2 -2
  495. package/{utils-712b81f7.js → utils-51dcbbbb.js} +1 -1
  496. package/{utils-712b81f7.js.map → utils-51dcbbbb.js.map} +1 -1
  497. package/{utils-1f5c8b6c.js → utils-9052d596.js} +2 -2
  498. package/{utils-1f5c8b6c.js.map → utils-9052d596.js.map} +1 -1
  499. package/{utils-cbae9afc.js → utils-90c71139.js} +1 -1
  500. package/{utils-cbae9afc.js.map → utils-90c71139.js.map} +1 -1
  501. package/{utils-a1f2aa01.js → utils-ce7f6e75.js} +1 -1
  502. package/{utils-a1f2aa01.js.map → utils-ce7f6e75.js.map} +1 -1
  503. package/{uuid-8c96bee0.js → uuid-ea268593.js} +1 -1
  504. package/{uuid-8c96bee0.js.map → uuid-ea268593.js.map} +1 -1
  505. package/withSendbird.js +1 -1
  506. package/ChannelProvider-33559192.js.map +0 -1
  507. package/WebAudioUtils-16540f03.js.map +0 -1
  508. package/_rollupPluginBabelHelpers-1be219c2.js.map +0 -1
  509. package/cjs/ChannelProvider-2c7ec64b.js.map +0 -1
  510. package/cjs/WebAudioUtils-9dfbd5a9.js.map +0 -1
  511. package/cjs/_rollupPluginBabelHelpers-53e83515.js.map +0 -1
  512. package/cjs/consts-aa056322.js.map +0 -1
  513. package/cjs/types-36ee2d00.js.map +0 -1
  514. package/consts-e6fdc559.js.map +0 -1
  515. package/types-54edb45d.js.map +0 -1
@@ -38,4 +38,4 @@ UserProfileProvider.defaultProps = {
38
38
  };
39
39
 
40
40
  export { UserProfileProvider as U, UserProfileContext as a };
41
- //# sourceMappingURL=UserProfileContext-a56cc682.js.map
41
+ //# sourceMappingURL=UserProfileContext-15d32bf1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfileContext-a56cc682.js","sources":["../src/lib/UserProfileContext.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n});\n\nconst UserProfileProvider = (props) => {\n const { children } = props;\n return (\n <UserProfileContext.Provider value={props}>\n {children}\n </UserProfileContext.Provider>\n );\n};\n\nUserProfileProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n // eslint-disable-next-line react/no-unused-prop-types\n isOpenChannel: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n disableUserProfile: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n renderUserProfile: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n onUserProfileMessage: PropTypes.func,\n};\n\nUserProfileProvider.defaultProps = {\n isOpenChannel: false,\n disableUserProfile: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n};\n\nexport { UserProfileContext, UserProfileProvider };\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","onUserProfileMessage","UserProfileProvider","props","children","createElement","Provider","value","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAC;AAC7CC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC,EAAC;AAEIC,MAAAA,mBAAmB,GAAIC,KAAK,IAAK;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGD,KAAK,CAAA;AAC1B,EAAA,oBACEP,cAAA,CAAAS,aAAA,CAACV,kBAAkB,CAACW,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,KAAAA;AAAM,GAAA,EACvCC,QAAQ,CACmB,CAAA;AAElC,EAAC;AAEDF,mBAAmB,CAACM,SAAS,GAAG;EAC9BJ,QAAQ,EAAEK,SAAS,CAACC,SAAS,CAAC,CAC5BD,SAAS,CAACE,OAAO,EACjBF,SAAS,CAACG,OAAO,CAACH,SAAS,CAACE,OAAO,CAAC,EACpCF,SAAS,CAACI,GAAG,CACd,CAAC,CAACC,UAAU;AACb;EACAf,aAAa,EAAEU,SAAS,CAACM,IAAI;AAC7B;EACAjB,kBAAkB,EAAEW,SAAS,CAACM,IAAI;AAClC;EACAf,iBAAiB,EAAES,SAAS,CAACO,IAAI;AACjC;EACAf,oBAAoB,EAAEQ,SAAS,CAACO,IAAAA;AAClC,CAAC,CAAA;AAEDd,mBAAmB,CAACe,YAAY,GAAG;AACjClB,EAAAA,aAAa,EAAE,KAAK;AACpBD,EAAAA,kBAAkB,EAAE,KAAK;AACzBE,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC;;;;"}
1
+ {"version":3,"file":"UserProfileContext-15d32bf1.js","sources":["../src/lib/UserProfileContext.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n});\n\nconst UserProfileProvider = (props) => {\n const { children } = props;\n return (\n <UserProfileContext.Provider value={props}>\n {children}\n </UserProfileContext.Provider>\n );\n};\n\nUserProfileProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n // eslint-disable-next-line react/no-unused-prop-types\n isOpenChannel: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n disableUserProfile: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n renderUserProfile: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n onUserProfileMessage: PropTypes.func,\n};\n\nUserProfileProvider.defaultProps = {\n isOpenChannel: false,\n disableUserProfile: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n};\n\nexport { UserProfileContext, UserProfileProvider };\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","onUserProfileMessage","UserProfileProvider","props","children","createElement","Provider","value","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAC;AAC7CC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC,EAAC;AAEIC,MAAAA,mBAAmB,GAAIC,KAAK,IAAK;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGD,KAAK,CAAA;AAC1B,EAAA,oBACEP,cAAA,CAAAS,aAAA,CAACV,kBAAkB,CAACW,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,KAAAA;AAAM,GAAA,EACvCC,QAAQ,CACmB,CAAA;AAElC,EAAC;AAEDF,mBAAmB,CAACM,SAAS,GAAG;EAC9BJ,QAAQ,EAAEK,SAAS,CAACC,SAAS,CAAC,CAC5BD,SAAS,CAACE,OAAO,EACjBF,SAAS,CAACG,OAAO,CAACH,SAAS,CAACE,OAAO,CAAC,EACpCF,SAAS,CAACI,GAAG,CACd,CAAC,CAACC,UAAU;AACb;EACAf,aAAa,EAAEU,SAAS,CAACM,IAAI;AAC7B;EACAjB,kBAAkB,EAAEW,SAAS,CAACM,IAAI;AAClC;EACAf,iBAAiB,EAAES,SAAS,CAACO,IAAI;AACjC;EACAf,oBAAoB,EAAEQ,SAAS,CAACO,IAAAA;AAClC,CAAC,CAAA;AAEDd,mBAAmB,CAACe,YAAY,GAAG;AACjClB,EAAAA,aAAa,EAAE,KAAK;AACpBD,EAAAA,kBAAkB,EAAE,KAAK;AACzBE,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC;;;;"}
@@ -1,15 +1,15 @@
1
1
  import React__default, { useRef, useState, useEffect } from 'react';
2
- import { u as useLocalization } from './LocalizationContext-25d6694d.js';
2
+ import { u as useLocalization } from './LocalizationContext-b72d20ff.js';
3
3
  import { useVoicePlayer } from './VoicePlayer/useVoicePlayer.js';
4
4
  import { useVoiceRecorder, VoiceRecorderStatus } from './VoiceRecorder/useVoiceRecorder.js';
5
- import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-33559192.js';
6
- import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-36d49e08.js';
5
+ import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-d65df2df.js';
6
+ import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-a4f22fc7.js';
7
7
  import Modal from './ui/Modal.js';
8
8
  import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
9
9
  import useSendbirdStateContext from './useSendbirdStateContext.js';
10
- import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-e6fdc559.js';
11
- import { a as VOICE_PLAYER_STATUS } from './index-f4374646.js';
12
- import { u as uuidv4 } from './uuid-8c96bee0.js';
10
+ import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-13764641.js';
11
+ import { a as VOICE_PLAYER_STATUS } from './index-a2c461b6.js';
12
+ import { u as uuidv4 } from './uuid-ea268593.js';
13
13
 
14
14
  const VoiceMessageInputWrapper = _ref => {
15
15
  var _config$voiceRecord;
@@ -167,4 +167,4 @@ const VoiceMessageInputWrapper = _ref => {
167
167
  };
168
168
 
169
169
  export { VoiceMessageInputWrapper as V };
170
- //# sourceMappingURL=VoiceMessageInputWrapper-69ac1f5a.js.map
170
+ //# sourceMappingURL=VoiceMessageInputWrapper-d8f0b49b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceMessageInputWrapper-69ac1f5a.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VOICE_PLAYER_STATUS } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","PLAYING","READY_TO_PLAY","React","createElement","className","VoiceMessageInput","currentValue","VoiceRecorderStatus","COMPLETED","maximumValue","currentType","onControlClick","type","Modal","titleText","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","hideFooter","isCloseOnClickOutside","onCancel","Button","ButtonTypes","PRIMARY","size","ButtonSizes","BIG","onClick","BUTTON__OK"],"mappings":"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"}
1
+ {"version":3,"file":"VoiceMessageInputWrapper-d8f0b49b.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VOICE_PLAYER_STATUS } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","PLAYING","READY_TO_PLAY","React","createElement","className","VoiceMessageInput","currentValue","VoiceRecorderStatus","COMPLETED","maximumValue","currentType","onControlClick","type","Modal","titleText","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","hideFooter","isCloseOnClickOutside","onCancel","Button","ButtonTypes","PRIMARY","size","ButtonSizes","BIG","onClick","BUTTON__OK"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import 'react';
2
- export { A as ALL, V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-f4374646.js';
3
- import '../consts-e6fdc559.js';
2
+ export { A as ALL, V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-a2c461b6.js';
3
+ import '../consts-13764641.js';
4
4
  import '../useSendbirdStateContext.js';
5
- import '../_rollupPluginBabelHelpers-1be219c2.js';
5
+ import '../_rollupPluginBabelHelpers-5abfebd1.js';
6
6
  import '../withSendbird.js';
7
7
  //# sourceMappingURL=context.js.map
@@ -1,22 +1,22 @@
1
1
  import { useState, useEffect } from 'react';
2
- import { u as useVoicePlayerContext, b as AudioUnitDefaultValue } from '../index-f4374646.js';
3
- import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-e6fdc559.js';
2
+ import { u as useVoicePlayerContext, b as AudioUnitDefaultValue } from '../index-a2c461b6.js';
3
+ import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-13764641.js';
4
4
  import { useVoiceRecorderContext } from '../VoiceRecorder/context.js';
5
- import '../_rollupPluginBabelHelpers-1be219c2.js';
5
+ import '../_rollupPluginBabelHelpers-5abfebd1.js';
6
6
  import '../useSendbirdStateContext.js';
7
7
  import '../withSendbird.js';
8
- import '../LocalizationContext-25d6694d.js';
9
- import '../stringSet-3649b375.js';
10
- import '../index-a4552c13.js';
8
+ import '../LocalizationContext-b72d20ff.js';
9
+ import '../stringSet-45364ddd.js';
10
+ import '../index-ca1ea065.js';
11
11
  import '../ui/Modal.js';
12
12
  import 'react-dom';
13
- import '../index-5819e39d.js';
13
+ import '../index-db793fe0.js';
14
14
  import '../ui/Button.js';
15
- import '../index-d88e3ef9.js';
15
+ import '../index-993488e6.js';
16
16
  import 'prop-types';
17
17
  import '../ui/Icon.js';
18
18
  import '../ui/IconButton.js';
19
- import '../MediaQueryContext-94c9086a.js';
19
+ import '../MediaQueryContext-e19f73a1.js';
20
20
 
21
21
  const generateGroupKey = function () {
22
22
  let channelUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -1,19 +1,19 @@
1
1
  import React__default, { useState, useEffect, useCallback, useContext, createContext } from 'react';
2
- import { u as useLocalization } from '../LocalizationContext-25d6694d.js';
2
+ import { u as useLocalization } from '../LocalizationContext-b72d20ff.js';
3
3
  import Modal from '../ui/Modal.js';
4
- import { B as BROWSER_SUPPORT_MIME_TYPE_LIST, h as VOICE_RECORDER_AUDIO_BITS, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-e6fdc559.js';
4
+ import { B as BROWSER_SUPPORT_MIME_TYPE_LIST, h as VOICE_RECORDER_AUDIO_BIT_RATE, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-13764641.js';
5
5
  import useSendbirdStateContext from '../useSendbirdStateContext.js';
6
- import '../stringSet-3649b375.js';
7
- import '../index-a4552c13.js';
6
+ import '../stringSet-45364ddd.js';
7
+ import '../index-ca1ea065.js';
8
8
  import 'react-dom';
9
- import '../index-5819e39d.js';
9
+ import '../index-db793fe0.js';
10
10
  import '../ui/Button.js';
11
- import '../index-d88e3ef9.js';
11
+ import '../index-993488e6.js';
12
12
  import 'prop-types';
13
13
  import '../ui/Icon.js';
14
14
  import '../ui/IconButton.js';
15
- import '../_rollupPluginBabelHelpers-1be219c2.js';
16
- import '../MediaQueryContext-94c9086a.js';
15
+ import '../_rollupPluginBabelHelpers-5abfebd1.js';
16
+ import '../MediaQueryContext-e19f73a1.js';
17
17
  import '../withSendbird.js';
18
18
 
19
19
  // Input props of VoiceRecorder
@@ -71,7 +71,7 @@ const VoiceRecorderProvider = props => {
71
71
  const [webAudioUtils, setWebAudioUtils] = useState(null);
72
72
  useEffect(() => {
73
73
  if (isVoiceMessageEnabled && !webAudioUtils) {
74
- import('../WebAudioUtils-16540f03.js').then(data => {
74
+ import('../WebAudioUtils-f5904b12.js').then(data => {
75
75
  setWebAudioUtils(data);
76
76
  });
77
77
  }
@@ -95,7 +95,7 @@ const VoiceRecorderProvider = props => {
95
95
  setIsRecordable(true);
96
96
  const mediaRecorder = new MediaRecorder(stream, {
97
97
  mimeType: browserSupportMimeType,
98
- audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS
98
+ audioBitsPerSecond: VOICE_RECORDER_AUDIO_BIT_RATE
99
99
  });
100
100
  mediaRecorder.ondataavailable = e => {
101
101
  var _stream$getAudioTrack, _stream$getAudioTrack2, _stream$getAudioTrack3;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Modal from '../../ui/Modal';\nimport {\n BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst Context = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n const [permissionWarning, setPermissionWarning] = useState<boolean>(false);\n const { stringSet } = useLocalization();\n\n const checkPermission = () => {\n try {\n // Type '\"microphone\"' is not assignable to type 'PermissionName'.ts(2322)\n // this is typescript issue\n // https://github.com/microsoft/TypeScript/issues/33923\n // @ts-expect-error\n navigator.permissions.query({ name: 'microphone' }).then((result) => {\n if (result.state === 'denied') {\n logger.warning('VoiceRecorder: Permission denied.');\n setPermissionWarning(true);\n }\n });\n } catch (error) {\n logger.warning('VoiceRecorder: Failed to check permission.', error);\n }\n };\n\n const browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n });\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n checkPermission();\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: browserSupportMimeType,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n {\n permissionWarning && (\n <Modal\n hideFooter\n onCancel={() => setPermissionWarning(false)}\n >\n <>{stringSet.VOICE_RECORDING_PERMISSION_DENIED}</>\n </Modal>\n )\n }\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","_BROWSER_SUPPORT_MIME","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","permissionWarning","setPermissionWarning","stringSet","useLocalization","checkPermission","navigator","permissions","query","name","then","result","state","warning","error","browserSupportMimeType","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","mimmeTypes","webAudioUtils","setWebAudioUtils","useEffect","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","info","mediaDevices","getUserMedia","call","audio","stream","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","ondataavailable","e","_stream$getAudioTrack","_stream$getAudioTrack2","_stream$getAudioTrack3","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","Modal","hideFooter","onCancel","Fragment","VOICE_RECORDING_PERMISSION_DENIED","useVoiceRecorderContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Modal from '../../ui/Modal';\nimport {\n BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BIT_RATE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst Context = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n const [permissionWarning, setPermissionWarning] = useState<boolean>(false);\n const { stringSet } = useLocalization();\n\n const checkPermission = () => {\n try {\n // Type '\"microphone\"' is not assignable to type 'PermissionName'.ts(2322)\n // this is typescript issue\n // https://github.com/microsoft/TypeScript/issues/33923\n // @ts-expect-error\n navigator.permissions.query({ name: 'microphone' }).then((result) => {\n if (result.state === 'denied') {\n logger.warning('VoiceRecorder: Permission denied.');\n setPermissionWarning(true);\n }\n });\n } catch (error) {\n logger.warning('VoiceRecorder: Failed to check permission.', error);\n }\n };\n\n const browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n });\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n checkPermission();\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: browserSupportMimeType,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BIT_RATE,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n {\n permissionWarning && (\n <Modal\n hideFooter\n onCancel={() => setPermissionWarning(false)}\n >\n <>{stringSet.VOICE_RECORDING_PERMISSION_DENIED}</>\n </Modal>\n )\n }\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","_BROWSER_SUPPORT_MIME","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","permissionWarning","setPermissionWarning","stringSet","useLocalization","checkPermission","navigator","permissions","query","name","then","result","state","warning","error","browserSupportMimeType","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","mimmeTypes","webAudioUtils","setWebAudioUtils","useEffect","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","info","mediaDevices","getUserMedia","call","audio","stream","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BIT_RATE","ondataavailable","e","_stream$getAudioTrack","_stream$getAudioTrack2","_stream$getAudioTrack3","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","Modal","hideFooter","onCancel","Fragment","VOICE_RECORDING_PERMISSION_DENIED","useVoiceRecorderContext","useContext"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import { useState, useEffect, useCallback } from 'react';
2
2
  import { useVoiceRecorderContext } from './context.js';
3
3
  import useSendbirdStateContext from '../useSendbirdStateContext.js';
4
- import '../LocalizationContext-25d6694d.js';
5
- import '../stringSet-3649b375.js';
6
- import '../index-a4552c13.js';
4
+ import '../LocalizationContext-b72d20ff.js';
5
+ import '../stringSet-45364ddd.js';
6
+ import '../index-ca1ea065.js';
7
7
  import '../ui/Modal.js';
8
8
  import 'react-dom';
9
- import '../index-5819e39d.js';
9
+ import '../index-db793fe0.js';
10
10
  import '../ui/Button.js';
11
- import '../index-d88e3ef9.js';
11
+ import '../index-993488e6.js';
12
12
  import 'prop-types';
13
13
  import '../ui/Icon.js';
14
14
  import '../ui/IconButton.js';
15
- import '../_rollupPluginBabelHelpers-1be219c2.js';
16
- import '../MediaQueryContext-94c9086a.js';
17
- import '../consts-e6fdc559.js';
15
+ import '../_rollupPluginBabelHelpers-5abfebd1.js';
16
+ import '../MediaQueryContext-e19f73a1.js';
17
+ import '../consts-13764641.js';
18
18
  import '../withSendbird.js';
19
19
 
20
20
  // export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
@@ -1,3 +1,4 @@
1
+ import { j as VOICE_RECORDER_AUDIO_SAMPLE_RATE } from './consts-13764641.js';
1
2
  import { WavHeader as $dd7ee3788d91dcb8$export$cb948f2d6837f136, Mp3Encoder as $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 } from './lame.all.js';
2
3
 
3
4
  // Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
@@ -35,7 +36,9 @@ function encodeMp3(arrayBuffer) {
35
36
  function downsampleToWav(file, callback) {
36
37
  // Browser compatibility
37
38
  // https://caniuse.com/?search=AudioContext
38
- const audioCtx = new AudioContext();
39
+ const audioCtx = new AudioContext({
40
+ sampleRate: VOICE_RECORDER_AUDIO_SAMPLE_RATE
41
+ });
39
42
  const fileReader = new FileReader();
40
43
  fileReader.onload = function (ev) {
41
44
  // Decode audio
@@ -120,4 +123,4 @@ function bufferToWav(abuffer, len) {
120
123
  }
121
124
 
122
125
  export { downsampleToWav, encodeMp3 };
123
- //# sourceMappingURL=WebAudioUtils-16540f03.js.map
126
+ //# sourceMappingURL=WebAudioUtils-f5904b12.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAudioUtils-f5904b12.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 { VOICE_RECORDER_AUDIO_SAMPLE_RATE } from '../../utils/consts';\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({ sampleRate: VOICE_RECORDER_AUDIO_SAMPLE_RATE });\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","VOICE_RECORDER_AUDIO_SAMPLE_RATE","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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"}
@@ -63,4 +63,4 @@ function _toPropertyKey(arg) {
63
63
  }
64
64
 
65
65
  export { _objectSpread2 as _, _defineProperty as a, _extends as b };
66
- //# sourceMappingURL=_rollupPluginBabelHelpers-1be219c2.js.map
66
+ //# sourceMappingURL=_rollupPluginBabelHelpers-5abfebd1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-5abfebd1.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,4 +5,4 @@ const USER_ACTIONS = {
5
5
  };
6
6
 
7
7
  export { USER_ACTIONS as U };
8
- //# sourceMappingURL=actionTypes-a8140d53.js.map
8
+ //# sourceMappingURL=actionTypes-cbb7aa0d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionTypes-a8140d53.js","sources":["../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
1
+ {"version":3,"file":"actionTypes-cbb7aa0d.js","sources":["../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}