@sendbird/uikit-react 3.4.0-rc.2 → 3.4.0-rc.3

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 (467) hide show
  1. package/App.js +39 -39
  2. package/CHANGELOG.md +1 -1
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +32 -32
  5. package/Channel/components/FileViewer.js +15 -15
  6. package/Channel/components/FrozenNotification.js +4 -4
  7. package/Channel/components/Message.js +27 -27
  8. package/Channel/components/MessageInput.js +23 -23
  9. package/Channel/components/MessageList.js +28 -28
  10. package/Channel/components/RemoveMessageModal.js +17 -17
  11. package/Channel/components/SuggestedMentionList.js +17 -17
  12. package/Channel/components/TypingIndicator.js +15 -15
  13. package/Channel/components/UnreadCount.js +4 -4
  14. package/Channel/context.js +14 -14
  15. package/Channel.js +32 -32
  16. package/ChannelList/components/AddChannel.js +15 -15
  17. package/ChannelList/components/ChannelListHeader.js +7 -7
  18. package/ChannelList/components/ChannelListUI.js +29 -29
  19. package/ChannelList/components/ChannelPreview.js +25 -25
  20. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  21. package/ChannelList/context.js +8 -8
  22. package/ChannelList.js +29 -29
  23. package/{ChannelListProvider-43f3a74a.js → ChannelListProvider-0181b8e8.js} +8 -8
  24. package/{ChannelListProvider-43f3a74a.js.map → ChannelListProvider-0181b8e8.js.map} +1 -1
  25. package/{ChannelProvider-def8e42f.js → ChannelProvider-07627f89.js} +10 -10
  26. package/{ChannelProvider-def8e42f.js.map → ChannelProvider-07627f89.js.map} +1 -1
  27. package/ChannelSettings/components/ChannelProfile.js +12 -12
  28. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  29. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  30. package/ChannelSettings/components/LeaveChannel.js +12 -12
  31. package/ChannelSettings/components/ModerationPanel.js +15 -15
  32. package/ChannelSettings/components/UserListItem.js +11 -11
  33. package/ChannelSettings/components/UserPanel.js +14 -14
  34. package/ChannelSettings/context.js +3 -3
  35. package/ChannelSettings.js +18 -18
  36. package/CreateChannel/components/CreateChannelUI.js +14 -14
  37. package/CreateChannel/components/InviteUsers.js +14 -14
  38. package/CreateChannel/components/SelectChannelType.js +11 -11
  39. package/CreateChannel/context.js +4 -4
  40. package/CreateChannel.js +14 -14
  41. package/{CreateChannelProvider-763b1601.js → CreateChannelProvider-ee6d8250.js} +1 -1
  42. package/{CreateChannelProvider-763b1601.js.map → CreateChannelProvider-ee6d8250.js.map} +1 -1
  43. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  44. package/CreateOpenChannel/context.js +1 -1
  45. package/CreateOpenChannel.js +10 -10
  46. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  47. package/EditUserProfile.js +13 -13
  48. package/{LocalizationContext-a6aa8be8.js → LocalizationContext-4daeeb0b.js} +3 -3
  49. package/{LocalizationContext-a6aa8be8.js.map → LocalizationContext-4daeeb0b.js.map} +1 -1
  50. package/{MediaQueryContext-a551e770.js → MediaQueryContext-302dec11.js} +1 -1
  51. package/{MediaQueryContext-a551e770.js.map → MediaQueryContext-302dec11.js.map} +1 -1
  52. package/{MemberList-304b6711.js → MemberList-523cb5d1.js} +5 -5
  53. package/{MemberList-304b6711.js.map → MemberList-523cb5d1.js.map} +1 -1
  54. package/MessageSearch/components/MessageSearchUI.js +12 -12
  55. package/MessageSearch/context.js +2 -2
  56. package/MessageSearch.js +12 -12
  57. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  58. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  59. package/OpenChannel/components/OpenChannelInput.js +15 -15
  60. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  61. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  62. package/OpenChannel/components/OpenChannelUI.js +24 -24
  63. package/OpenChannel/context.js +9 -9
  64. package/OpenChannel.js +24 -24
  65. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  66. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  67. package/OpenChannelList/context.js +4 -4
  68. package/OpenChannelList.js +13 -13
  69. package/{OpenChannelListProvider-9dddf0c2.js → OpenChannelListProvider-b4bbd1ca.js} +3 -3
  70. package/{OpenChannelListProvider-9dddf0c2.js.map → OpenChannelListProvider-b4bbd1ca.js.map} +1 -1
  71. package/{OpenChannelProvider-931c2c9e.js → OpenChannelProvider-66965e8b.js} +7 -7
  72. package/{OpenChannelProvider-931c2c9e.js.map → OpenChannelProvider-66965e8b.js.map} +1 -1
  73. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  74. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  75. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  76. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  77. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  78. package/OpenChannelSettings/context.js +3 -3
  79. package/OpenChannelSettings.js +18 -18
  80. package/{RemoveMessageModal-aee6074c.js → RemoveMessageModal-8b30f572.js} +3 -3
  81. package/{RemoveMessageModal-aee6074c.js.map → RemoveMessageModal-8b30f572.js.map} +1 -1
  82. package/SendbirdProvider.js +12 -12
  83. package/Thread/components/ParentMessageInfo.js +24 -24
  84. package/Thread/components/ParentMessageInfoItem.js +16 -16
  85. package/Thread/components/ThreadHeader.js +6 -6
  86. package/Thread/components/ThreadList.js +27 -27
  87. package/Thread/components/ThreadListItem.js +27 -27
  88. package/Thread/components/ThreadMessageInput.js +24 -24
  89. package/Thread/components/ThreadUI.js +31 -31
  90. package/Thread/context.js +9 -9
  91. package/Thread.js +31 -31
  92. package/{ThreadProvider-e0d19ff6.js → ThreadProvider-522102d8.js} +7 -7
  93. package/{ThreadProvider-e0d19ff6.js.map → ThreadProvider-522102d8.js.map} +1 -1
  94. package/{UserProfileContext-dd096494.js → UserProfileContext-09f67c7e.js} +1 -1
  95. package/{UserProfileContext-dd096494.js.map → UserProfileContext-09f67c7e.js.map} +1 -1
  96. package/{VoiceMessageInputWrapper-f70b47c7.js → VoiceMessageInputWrapper-4a7dd349.js} +7 -7
  97. package/{VoiceMessageInputWrapper-f70b47c7.js.map → VoiceMessageInputWrapper-4a7dd349.js.map} +1 -1
  98. package/VoicePlayer/context.js +3 -3
  99. package/VoicePlayer/useVoicePlayer.js +3 -3
  100. package/VoiceRecorder/context.js +4 -4
  101. package/VoiceRecorder/context.js.map +1 -1
  102. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  103. package/{_rollupPluginBabelHelpers-3e5825fa.js → _rollupPluginBabelHelpers-b78f44f0.js} +1 -1
  104. package/_rollupPluginBabelHelpers-b78f44f0.js.map +1 -0
  105. package/{actionTypes-3245f646.js → actionTypes-3685fd77.js} +1 -1
  106. package/{actionTypes-3245f646.js.map → actionTypes-3685fd77.js.map} +1 -1
  107. package/cjs/App.js +39 -39
  108. package/cjs/Channel/components/ChannelHeader.js +19 -19
  109. package/cjs/Channel/components/ChannelUI.js +32 -32
  110. package/cjs/Channel/components/FileViewer.js +15 -15
  111. package/cjs/Channel/components/FrozenNotification.js +4 -4
  112. package/cjs/Channel/components/Message.js +27 -27
  113. package/cjs/Channel/components/MessageInput.js +23 -23
  114. package/cjs/Channel/components/MessageList.js +28 -28
  115. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  116. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  117. package/cjs/Channel/components/TypingIndicator.js +15 -15
  118. package/cjs/Channel/components/UnreadCount.js +4 -4
  119. package/cjs/Channel/context.js +14 -14
  120. package/cjs/Channel.js +32 -32
  121. package/cjs/ChannelList/components/AddChannel.js +15 -15
  122. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  123. package/cjs/ChannelList/components/ChannelListUI.js +29 -29
  124. package/cjs/ChannelList/components/ChannelPreview.js +25 -25
  125. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  126. package/cjs/ChannelList/context.js +8 -8
  127. package/cjs/ChannelList.js +29 -29
  128. package/cjs/{ChannelListProvider-81b54cf3.js → ChannelListProvider-db1034ff.js} +8 -8
  129. package/cjs/{ChannelListProvider-81b54cf3.js.map → ChannelListProvider-db1034ff.js.map} +1 -1
  130. package/cjs/{ChannelProvider-498847bc.js → ChannelProvider-90eaf8d4.js} +10 -10
  131. package/cjs/{ChannelProvider-498847bc.js.map → ChannelProvider-90eaf8d4.js.map} +1 -1
  132. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  133. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  134. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  135. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  136. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  137. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  138. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  139. package/cjs/ChannelSettings/context.js +3 -3
  140. package/cjs/ChannelSettings.js +18 -18
  141. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  142. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  143. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  144. package/cjs/CreateChannel/context.js +4 -4
  145. package/cjs/CreateChannel.js +14 -14
  146. package/cjs/{CreateChannelProvider-a7ea8fd0.js → CreateChannelProvider-650e04d7.js} +1 -1
  147. package/cjs/{CreateChannelProvider-a7ea8fd0.js.map → CreateChannelProvider-650e04d7.js.map} +1 -1
  148. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  149. package/cjs/CreateOpenChannel/context.js +1 -1
  150. package/cjs/CreateOpenChannel.js +10 -10
  151. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  152. package/cjs/EditUserProfile.js +13 -13
  153. package/cjs/{LocalizationContext-53fd4ae9.js → LocalizationContext-96daa26e.js} +3 -3
  154. package/cjs/{LocalizationContext-53fd4ae9.js.map → LocalizationContext-96daa26e.js.map} +1 -1
  155. package/cjs/{MediaQueryContext-cfb37524.js → MediaQueryContext-9bc6235f.js} +1 -1
  156. package/cjs/{MediaQueryContext-cfb37524.js.map → MediaQueryContext-9bc6235f.js.map} +1 -1
  157. package/cjs/{MemberList-5d8110fb.js → MemberList-455c2b0c.js} +5 -5
  158. package/cjs/{MemberList-5d8110fb.js.map → MemberList-455c2b0c.js.map} +1 -1
  159. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  160. package/cjs/MessageSearch/context.js +2 -2
  161. package/cjs/MessageSearch.js +12 -12
  162. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  163. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  164. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  165. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  166. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  167. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  168. package/cjs/OpenChannel/context.js +9 -9
  169. package/cjs/OpenChannel.js +24 -24
  170. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  171. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  172. package/cjs/OpenChannelList/context.js +4 -4
  173. package/cjs/OpenChannelList.js +13 -13
  174. package/cjs/{OpenChannelListProvider-523d5e22.js → OpenChannelListProvider-77c9fbbb.js} +3 -3
  175. package/cjs/{OpenChannelListProvider-523d5e22.js.map → OpenChannelListProvider-77c9fbbb.js.map} +1 -1
  176. package/cjs/{OpenChannelProvider-49f11291.js → OpenChannelProvider-9cec5cd4.js} +7 -7
  177. package/cjs/{OpenChannelProvider-49f11291.js.map → OpenChannelProvider-9cec5cd4.js.map} +1 -1
  178. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  179. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  180. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  181. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  182. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  183. package/cjs/OpenChannelSettings/context.js +3 -3
  184. package/cjs/OpenChannelSettings.js +18 -18
  185. package/cjs/{RemoveMessageModal-29719052.js → RemoveMessageModal-b3192d64.js} +3 -3
  186. package/cjs/{RemoveMessageModal-29719052.js.map → RemoveMessageModal-b3192d64.js.map} +1 -1
  187. package/cjs/SendbirdProvider.js +12 -12
  188. package/cjs/Thread/components/ParentMessageInfo.js +24 -24
  189. package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
  190. package/cjs/Thread/components/ThreadHeader.js +6 -6
  191. package/cjs/Thread/components/ThreadList.js +27 -27
  192. package/cjs/Thread/components/ThreadListItem.js +27 -27
  193. package/cjs/Thread/components/ThreadMessageInput.js +24 -24
  194. package/cjs/Thread/components/ThreadUI.js +31 -31
  195. package/cjs/Thread/context.js +9 -9
  196. package/cjs/Thread.js +31 -31
  197. package/cjs/{ThreadProvider-2dc43e25.js → ThreadProvider-19361728.js} +7 -7
  198. package/cjs/{ThreadProvider-2dc43e25.js.map → ThreadProvider-19361728.js.map} +1 -1
  199. package/cjs/{UserProfileContext-c7d6be85.js → UserProfileContext-bfd64db5.js} +1 -1
  200. package/cjs/{UserProfileContext-c7d6be85.js.map → UserProfileContext-bfd64db5.js.map} +1 -1
  201. package/cjs/{VoiceMessageInputWrapper-965de260.js → VoiceMessageInputWrapper-531de35b.js} +7 -7
  202. package/cjs/{VoiceMessageInputWrapper-965de260.js.map → VoiceMessageInputWrapper-531de35b.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  205. package/cjs/VoiceRecorder/context.js +1 -1
  206. package/cjs/VoiceRecorder/context.js.map +1 -1
  207. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  208. package/cjs/{_rollupPluginBabelHelpers-3c8c757e.js → _rollupPluginBabelHelpers-28744a32.js} +1 -1
  209. package/cjs/_rollupPluginBabelHelpers-28744a32.js.map +1 -0
  210. package/cjs/{actionTypes-30b8654a.js → actionTypes-46b359e2.js} +1 -1
  211. package/cjs/{actionTypes-30b8654a.js.map → actionTypes-46b359e2.js.map} +1 -1
  212. package/cjs/{color-578986d2.js → color-5efe1d41.js} +1 -1
  213. package/cjs/{color-578986d2.js.map → color-5efe1d41.js.map} +1 -1
  214. package/cjs/{compareIds-d78964c7.js → compareIds-3fedd5a6.js} +1 -1
  215. package/cjs/{compareIds-d78964c7.js.map → compareIds-3fedd5a6.js.map} +1 -1
  216. package/cjs/{const-5e034408.js → const-3f17c1cc.js} +1 -1
  217. package/cjs/{const-5e034408.js.map → const-3f17c1cc.js.map} +1 -1
  218. package/cjs/{const-6d262369.js → const-ff05ead2.js} +1 -1
  219. package/cjs/{const-6d262369.js.map → const-ff05ead2.js.map} +1 -1
  220. package/cjs/{consts-b08b4ca6.js → consts-33111201.js} +1 -1
  221. package/cjs/{consts-b08b4ca6.js.map → consts-33111201.js.map} +1 -1
  222. package/cjs/{context-43fa845b.js → context-b6e29045.js} +2 -2
  223. package/cjs/{context-43fa845b.js.map → context-b6e29045.js.map} +1 -1
  224. package/cjs/dist/index.css +119 -119
  225. package/cjs/dist/index.css.map +1 -1
  226. package/cjs/{index-a283267f.js → index-052d46a8.js} +2 -2
  227. package/cjs/{index-a283267f.js.map → index-052d46a8.js.map} +1 -1
  228. package/cjs/{index-331d013f.js → index-21d53a07.js} +7 -7
  229. package/cjs/{index-331d013f.js.map → index-21d53a07.js.map} +1 -1
  230. package/cjs/{index-160b94cd.js → index-246e3b08.js} +3 -3
  231. package/cjs/{index-160b94cd.js.map → index-246e3b08.js.map} +1 -1
  232. package/cjs/{index-178229c9.js → index-4179358d.js} +3 -3
  233. package/cjs/{index-178229c9.js.map → index-4179358d.js.map} +1 -1
  234. package/cjs/{index-482bbe89.js → index-426c8bab.js} +2 -2
  235. package/cjs/{index-482bbe89.js.map → index-426c8bab.js.map} +1 -1
  236. package/cjs/{index-5706b33b.js → index-50398b54.js} +2 -2
  237. package/cjs/{index-5706b33b.js.map → index-50398b54.js.map} +1 -1
  238. package/cjs/{index-cc0a43a7.js → index-5067b9ac.js} +2 -2
  239. package/cjs/{index-cc0a43a7.js.map → index-5067b9ac.js.map} +1 -1
  240. package/cjs/{index-a6416067.js → index-52589393.js} +7 -7
  241. package/cjs/{index-a6416067.js.map → index-52589393.js.map} +1 -1
  242. package/cjs/{index-db48f031.js → index-9f3e208a.js} +2 -2
  243. package/cjs/{index-db48f031.js.map → index-9f3e208a.js.map} +1 -1
  244. package/cjs/{index-7c018421.js → index-b95fe816.js} +1 -1
  245. package/cjs/{index-7c018421.js.map → index-b95fe816.js.map} +1 -1
  246. package/cjs/{index-ef4f97c8.js → index-c34aa203.js} +5 -5
  247. package/cjs/{index-ef4f97c8.js.map → index-c34aa203.js.map} +1 -1
  248. package/cjs/{index-7630682a.js → index-d340da0c.js} +4 -4
  249. package/cjs/{index-7630682a.js.map → index-d340da0c.js.map} +1 -1
  250. package/cjs/{index-e42edbd5.js → index-ecc3e24d.js} +10 -6
  251. package/cjs/index-ecc3e24d.js.map +1 -0
  252. package/cjs/{index-e49314a5.js → index-f6ff50c4.js} +1 -1
  253. package/cjs/{index-e49314a5.js.map → index-f6ff50c4.js.map} +1 -1
  254. package/cjs/index.js +43 -43
  255. package/cjs/lame.all.js +2376 -14333
  256. package/cjs/lame.all.js.map +1 -1
  257. package/cjs/sendbirdSelectors.js +2 -2
  258. package/cjs/{stringSet-42fa6280.js → stringSet-071d4406.js} +1 -1
  259. package/cjs/{stringSet-42fa6280.js.map → stringSet-071d4406.js.map} +1 -1
  260. package/cjs/{topics-bc8e923e.js → topics-aca671cd.js} +1 -1
  261. package/cjs/{topics-bc8e923e.js.map → topics-aca671cd.js.map} +1 -1
  262. package/cjs/{tslib.es6-5163dacf.js → tslib.es6-88ed2248.js} +1 -1
  263. package/cjs/{tslib.es6-5163dacf.js.map → tslib.es6-88ed2248.js.map} +1 -1
  264. package/cjs/{types-c8782eaf.js → types-844c5e5e.js} +1 -1
  265. package/cjs/{types-c8782eaf.js.map → types-844c5e5e.js.map} +1 -1
  266. package/cjs/ui/Accordion.js +3 -3
  267. package/cjs/ui/AccordionGroup.js +2 -2
  268. package/cjs/ui/AdminMessage.js +3 -3
  269. package/cjs/ui/Avatar.js +2 -2
  270. package/cjs/ui/Badge.js +5 -5
  271. package/cjs/ui/BottomSheet.js +1 -1
  272. package/cjs/ui/Button.js +3 -3
  273. package/cjs/ui/ChannelAvatar.js +3 -3
  274. package/cjs/ui/ConnectionStatus.js +4 -4
  275. package/cjs/ui/ContextMenu.js +5 -5
  276. package/cjs/ui/DateSeparator.js +4 -4
  277. package/cjs/ui/EmojiReactions.js +7 -7
  278. package/cjs/ui/FileMessageItemBody.js +6 -6
  279. package/cjs/ui/FileViewer.js +8 -8
  280. package/cjs/ui/IconButton.js +1 -1
  281. package/cjs/ui/ImageRenderer.js +1 -1
  282. package/cjs/ui/Input.js +2 -2
  283. package/cjs/ui/Label.js +2 -2
  284. package/cjs/ui/LinkLabel.js +2 -2
  285. package/cjs/ui/Loader.js +1 -1
  286. package/cjs/ui/MentionLabel.js +11 -11
  287. package/cjs/ui/MessageContent.js +23 -23
  288. package/cjs/ui/MessageInput.js +9 -9
  289. package/cjs/ui/MessageItemMenu.js +8 -8
  290. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  291. package/cjs/ui/MessageSearchFileItem.js +10 -10
  292. package/cjs/ui/MessageSearchItem.js +9 -9
  293. package/cjs/ui/MessageStatus.js +10 -10
  294. package/cjs/ui/Modal.js +7 -7
  295. package/cjs/ui/OGMessageItemBody.js +11 -11
  296. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  297. package/cjs/ui/OpenChannelAvatar.js +6 -6
  298. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  299. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  300. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  301. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  302. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  303. package/cjs/ui/PlaceHolder.js +6 -6
  304. package/cjs/ui/PlaybackTime.js +2 -2
  305. package/cjs/ui/QuoteMessage.js +6 -6
  306. package/cjs/ui/QuoteMessageInput.js +6 -6
  307. package/cjs/ui/ReactionBadge.js +3 -3
  308. package/cjs/ui/ReactionButton.js +1 -1
  309. package/cjs/ui/SortByRow.js +2 -2
  310. package/cjs/ui/TextButton.js +2 -2
  311. package/cjs/ui/TextMessageItemBody.js +11 -11
  312. package/cjs/ui/ThreadReplies.js +6 -6
  313. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  314. package/cjs/ui/Tooltip.js +3 -3
  315. package/cjs/ui/TooltipWrapper.js +1 -1
  316. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  317. package/cjs/ui/UserListItem.js +11 -11
  318. package/cjs/ui/UserProfile.js +10 -10
  319. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  320. package/cjs/ui/VoiceMessgeInput.js +8 -8
  321. package/cjs/ui/Word.js +11 -11
  322. package/cjs/{useLongPress-591a6fa9.js → useLongPress-8387a957.js} +3 -3
  323. package/cjs/{useLongPress-591a6fa9.js.map → useLongPress-8387a957.js.map} +1 -1
  324. package/cjs/useSendbirdStateContext.js +1 -1
  325. package/cjs/utils/message/isVoiceMessage.js +2 -2
  326. package/cjs/{utils-ea9d80f3.js → utils-1c34989b.js} +1 -1
  327. package/cjs/{utils-ea9d80f3.js.map → utils-1c34989b.js.map} +1 -1
  328. package/cjs/{utils-09e1cb5d.js → utils-772a7f91.js} +1 -1
  329. package/cjs/{utils-09e1cb5d.js.map → utils-772a7f91.js.map} +1 -1
  330. package/cjs/{utils-bafa76b3.js → utils-7d05e1de.js} +2 -2
  331. package/cjs/{utils-bafa76b3.js.map → utils-7d05e1de.js.map} +1 -1
  332. package/cjs/{utils-dfe9178d.js → utils-e2cccbe7.js} +1 -1
  333. package/cjs/{utils-dfe9178d.js.map → utils-e2cccbe7.js.map} +1 -1
  334. package/cjs/{uuid-e879709a.js → uuid-5499c9f4.js} +1 -1
  335. package/cjs/{uuid-e879709a.js.map → uuid-5499c9f4.js.map} +1 -1
  336. package/cjs/withSendbird.js +1 -1
  337. package/{color-ed83ffc3.js → color-e2230e8b.js} +1 -1
  338. package/{color-ed83ffc3.js.map → color-e2230e8b.js.map} +1 -1
  339. package/{compareIds-c8335d61.js → compareIds-83f851ce.js} +1 -1
  340. package/{compareIds-c8335d61.js.map → compareIds-83f851ce.js.map} +1 -1
  341. package/{const-a965f964.js → const-50617e3a.js} +1 -1
  342. package/{const-a965f964.js.map → const-50617e3a.js.map} +1 -1
  343. package/{const-e27598a1.js → const-ca46adf6.js} +1 -1
  344. package/{const-e27598a1.js.map → const-ca46adf6.js.map} +1 -1
  345. package/{consts-886b25ca.js → consts-243f8df6.js} +1 -1
  346. package/{consts-886b25ca.js.map → consts-243f8df6.js.map} +1 -1
  347. package/{context-2f7024fc.js → context-e729e390.js} +2 -2
  348. package/{context-2f7024fc.js.map → context-e729e390.js.map} +1 -1
  349. package/dist/index.css +119 -119
  350. package/dist/index.css.map +1 -1
  351. package/{index-6ccea9a6.js → index-161c05da.js} +2 -2
  352. package/{index-6ccea9a6.js.map → index-161c05da.js.map} +1 -1
  353. package/{index-67c5e94c.js → index-3a87f118.js} +2 -2
  354. package/{index-67c5e94c.js.map → index-3a87f118.js.map} +1 -1
  355. package/{index-d4908e3c.js → index-4bbbea68.js} +1 -1
  356. package/{index-d4908e3c.js.map → index-4bbbea68.js.map} +1 -1
  357. package/{index-3a76c1d2.js → index-587bb3bd.js} +7 -7
  358. package/{index-3a76c1d2.js.map → index-587bb3bd.js.map} +1 -1
  359. package/{index-1c547263.js → index-683afa58.js} +5 -5
  360. package/{index-1c547263.js.map → index-683afa58.js.map} +1 -1
  361. package/{index-86034384.js → index-7cf72737.js} +4 -4
  362. package/{index-86034384.js.map → index-7cf72737.js.map} +1 -1
  363. package/{index-7283bb53.js → index-8f893823.js} +3 -3
  364. package/{index-7283bb53.js.map → index-8f893823.js.map} +1 -1
  365. package/{index-c8a147a4.js → index-bb7ad379.js} +7 -7
  366. package/{index-c8a147a4.js.map → index-bb7ad379.js.map} +1 -1
  367. package/{index-757a563a.js → index-c4c39acb.js} +1 -1
  368. package/{index-757a563a.js.map → index-c4c39acb.js.map} +1 -1
  369. package/{index-00eb27a6.js → index-c9e463fe.js} +2 -2
  370. package/{index-00eb27a6.js.map → index-c9e463fe.js.map} +1 -1
  371. package/{index-8ee9e1f5.js → index-d7a0c94d.js} +2 -2
  372. package/{index-8ee9e1f5.js.map → index-d7a0c94d.js.map} +1 -1
  373. package/{index-a3a4b35c.js → index-e360a65e.js} +3 -3
  374. package/{index-a3a4b35c.js.map → index-e360a65e.js.map} +1 -1
  375. package/{index-978b3d6d.js → index-e7848a92.js} +10 -6
  376. package/index-e7848a92.js.map +1 -0
  377. package/{index-4625f10e.js → index-fcab817e.js} +2 -2
  378. package/{index-4625f10e.js.map → index-fcab817e.js.map} +1 -1
  379. package/index.d.ts +1 -1
  380. package/index.js +43 -43
  381. package/lame.all.js +2376 -14331
  382. package/lame.all.js.map +1 -1
  383. package/package.json +1 -1
  384. package/sendbirdSelectors.js +2 -2
  385. package/{stringSet-ad8993d1.js → stringSet-cbfee5c4.js} +1 -1
  386. package/{stringSet-ad8993d1.js.map → stringSet-cbfee5c4.js.map} +1 -1
  387. package/{topics-9fbe0d61.js → topics-e015bff4.js} +1 -1
  388. package/{topics-9fbe0d61.js.map → topics-e015bff4.js.map} +1 -1
  389. package/{tslib.es6-cd680863.js → tslib.es6-ce2a9c4a.js} +1 -1
  390. package/{tslib.es6-cd680863.js.map → tslib.es6-ce2a9c4a.js.map} +1 -1
  391. package/{types-17028dc8.js → types-716473cb.js} +1 -1
  392. package/{types-17028dc8.js.map → types-716473cb.js.map} +1 -1
  393. package/ui/Accordion.js +3 -3
  394. package/ui/AccordionGroup.js +2 -2
  395. package/ui/AdminMessage.js +3 -3
  396. package/ui/Avatar.js +2 -2
  397. package/ui/Badge.js +5 -5
  398. package/ui/BottomSheet.js +1 -1
  399. package/ui/Button.js +3 -3
  400. package/ui/ChannelAvatar.js +3 -3
  401. package/ui/ConnectionStatus.js +4 -4
  402. package/ui/ContextMenu.js +5 -5
  403. package/ui/DateSeparator.js +4 -4
  404. package/ui/EmojiReactions.js +7 -7
  405. package/ui/FileMessageItemBody.js +6 -6
  406. package/ui/FileViewer.js +8 -8
  407. package/ui/IconButton.js +1 -1
  408. package/ui/ImageRenderer.js +1 -1
  409. package/ui/Input.js +2 -2
  410. package/ui/Label.js +2 -2
  411. package/ui/LinkLabel.js +2 -2
  412. package/ui/Loader.js +1 -1
  413. package/ui/MentionLabel.js +11 -11
  414. package/ui/MessageContent.js +23 -23
  415. package/ui/MessageInput.js +9 -9
  416. package/ui/MessageItemMenu.js +8 -8
  417. package/ui/MessageItemReactionMenu.js +5 -5
  418. package/ui/MessageSearchFileItem.js +10 -10
  419. package/ui/MessageSearchItem.js +9 -9
  420. package/ui/MessageStatus.js +10 -10
  421. package/ui/Modal.js +7 -7
  422. package/ui/OGMessageItemBody.js +11 -11
  423. package/ui/OpenChannelAdminMessage.js +3 -3
  424. package/ui/OpenChannelAvatar.js +6 -6
  425. package/ui/OpenchannelConversationHeader.js +6 -6
  426. package/ui/OpenchannelFileMessage.js +16 -16
  427. package/ui/OpenchannelOGMessage.js +16 -16
  428. package/ui/OpenchannelThumbnailMessage.js +15 -15
  429. package/ui/OpenchannelUserMessage.js +16 -16
  430. package/ui/PlaceHolder.js +6 -6
  431. package/ui/PlaybackTime.js +2 -2
  432. package/ui/QuoteMessage.js +6 -6
  433. package/ui/QuoteMessageInput.js +6 -6
  434. package/ui/ReactionBadge.js +3 -3
  435. package/ui/ReactionButton.js +1 -1
  436. package/ui/SortByRow.js +2 -2
  437. package/ui/TextButton.js +2 -2
  438. package/ui/TextMessageItemBody.js +11 -11
  439. package/ui/ThreadReplies.js +6 -6
  440. package/ui/ThumbnailMessageItemBody.js +2 -2
  441. package/ui/Tooltip.js +3 -3
  442. package/ui/TooltipWrapper.js +1 -1
  443. package/ui/UnknownMessageItemBody.js +6 -6
  444. package/ui/UserListItem.js +11 -11
  445. package/ui/UserProfile.js +10 -10
  446. package/ui/VoiceMessageItemBody.js +5 -5
  447. package/ui/VoiceMessgeInput.js +8 -8
  448. package/ui/Word.js +11 -11
  449. package/{useLongPress-49f5ba4f.js → useLongPress-b8c1e9d0.js} +3 -3
  450. package/{useLongPress-49f5ba4f.js.map → useLongPress-b8c1e9d0.js.map} +1 -1
  451. package/useSendbirdStateContext.js +1 -1
  452. package/utils/message/isVoiceMessage.js +3 -3
  453. package/{utils-d5c443b8.js → utils-0c116669.js} +2 -2
  454. package/{utils-d5c443b8.js.map → utils-0c116669.js.map} +1 -1
  455. package/{utils-aae15fda.js → utils-22cf0b3a.js} +1 -1
  456. package/{utils-aae15fda.js.map → utils-22cf0b3a.js.map} +1 -1
  457. package/{utils-fe2f08d7.js → utils-7f4e907b.js} +1 -1
  458. package/{utils-fe2f08d7.js.map → utils-7f4e907b.js.map} +1 -1
  459. package/{utils-c196d7c4.js → utils-bb62cae7.js} +1 -1
  460. package/{utils-c196d7c4.js.map → utils-bb62cae7.js.map} +1 -1
  461. package/{uuid-9f7da91d.js → uuid-3e094678.js} +1 -1
  462. package/{uuid-9f7da91d.js.map → uuid-3e094678.js.map} +1 -1
  463. package/withSendbird.js +1 -1
  464. package/_rollupPluginBabelHelpers-3e5825fa.js.map +0 -1
  465. package/cjs/_rollupPluginBabelHelpers-3c8c757e.js.map +0 -1
  466. package/cjs/index-e42edbd5.js.map +0 -1
  467. package/index-978b3d6d.js.map +0 -1
@@ -41,4 +41,4 @@ UserProfileProvider.defaultProps = {
41
41
  };
42
42
 
43
43
  export { UserProfileProvider as U, UserProfileContext as a };
44
- //# sourceMappingURL=UserProfileContext-dd096494.js.map
44
+ //# sourceMappingURL=UserProfileContext-09f67c7e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfileContext-dd096494.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","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAN,CAAoB;AAC7CC,EAAAA,kBAAkB,EAAE,IADyB;AAE7CC,EAAAA,aAAa,EAAE,KAF8B;AAG7CC,EAAAA,iBAAiB,EAAE,IAH0B;AAI7CC,EAAAA,oBAAoB,EAAE,IAAA;AAJuB,CAApB,EAA3B;;AAOMC,MAAAA,mBAAmB,GAAIC,KAAD,IAAW;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAF,GAAA,GAAeD,KAArB,CAAA;EACA,oBACEP,cAAA,CAAA,aAAA,CAAC,kBAAD,CAAoB,QAApB,EAAA;AAA6B,IAAA,KAAK,EAAEO,KAAAA;AAApC,GAAA,EACGC,QADH,CADF,CAAA;AAKD,EAPD;;AASAF,mBAAmB,CAACG,SAApB,GAAgC;EAC9BD,QAAQ,EAAEE,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,OADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,OAA5B,CAF4B,EAG5BF,SAAS,CAACI,GAHkB,CAApB,CAAA,CAIPC,UAL2B;AAM9B;EACAZ,aAAa,EAAEO,SAAS,CAACM,IAPK;AAQ9B;EACAd,kBAAkB,EAAEQ,SAAS,CAACM,IATA;AAU9B;EACAZ,iBAAiB,EAAEM,SAAS,CAACO,IAXC;AAY9B;EACAZ,oBAAoB,EAAEK,SAAS,CAACO,IAAAA;AAbF,CAAhC,CAAA;AAgBAX,mBAAmB,CAACY,YAApB,GAAmC;AACjCf,EAAAA,aAAa,EAAE,KADkB;AAEjCD,EAAAA,kBAAkB,EAAE,KAFa;AAGjCE,EAAAA,iBAAiB,EAAE,IAHc;AAIjCC,EAAAA,oBAAoB,EAAE,IAAA;AAJW,CAAnC;;;;"}
1
+ {"version":3,"file":"UserProfileContext-09f67c7e.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","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAN,CAAoB;AAC7CC,EAAAA,kBAAkB,EAAE,IADyB;AAE7CC,EAAAA,aAAa,EAAE,KAF8B;AAG7CC,EAAAA,iBAAiB,EAAE,IAH0B;AAI7CC,EAAAA,oBAAoB,EAAE,IAAA;AAJuB,CAApB,EAA3B;;AAOMC,MAAAA,mBAAmB,GAAIC,KAAD,IAAW;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAF,GAAA,GAAeD,KAArB,CAAA;EACA,oBACEP,cAAA,CAAA,aAAA,CAAC,kBAAD,CAAoB,QAApB,EAAA;AAA6B,IAAA,KAAK,EAAEO,KAAAA;AAApC,GAAA,EACGC,QADH,CADF,CAAA;AAKD,EAPD;;AASAF,mBAAmB,CAACG,SAApB,GAAgC;EAC9BD,QAAQ,EAAEE,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,OADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,OAA5B,CAF4B,EAG5BF,SAAS,CAACI,GAHkB,CAApB,CAAA,CAIPC,UAL2B;AAM9B;EACAZ,aAAa,EAAEO,SAAS,CAACM,IAPK;AAQ9B;EACAd,kBAAkB,EAAEQ,SAAS,CAACM,IATA;AAU9B;EACAZ,iBAAiB,EAAEM,SAAS,CAACO,IAXC;AAY9B;EACAZ,oBAAoB,EAAEK,SAAS,CAACO,IAAAA;AAbF,CAAhC,CAAA;AAgBAX,mBAAmB,CAACY,YAApB,GAAmC;AACjCf,EAAAA,aAAa,EAAE,KADkB;AAEjCD,EAAAA,kBAAkB,EAAE,KAFa;AAGjCE,EAAAA,iBAAiB,EAAE,IAHc;AAIjCC,EAAAA,oBAAoB,EAAE,IAAA;AAJW,CAAnC;;;;"}
@@ -1,15 +1,15 @@
1
1
  import React__default, { useState, useEffect } from 'react';
2
- import { u as useLocalization } from './LocalizationContext-a6aa8be8.js';
2
+ import { u as useLocalization } from './LocalizationContext-4daeeb0b.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-def8e42f.js';
6
- import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-978b3d6d.js';
5
+ import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-07627f89.js';
6
+ import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-e7848a92.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-886b25ca.js';
11
- import { a as VoicePlayerStatus } from './index-a3a4b35c.js';
12
- import { u as uuidv4 } from './uuid-9f7da91d.js';
10
+ import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-243f8df6.js';
11
+ import { a as VoicePlayerStatus } from './index-e360a65e.js';
12
+ import { u as uuidv4 } from './uuid-3e094678.js';
13
13
 
14
14
  var VoiceMessageInputWrapper = function (_a) {
15
15
  var _b;
@@ -170,4 +170,4 @@ var VoiceMessageInputWrapper = function (_a) {
170
170
  };
171
171
 
172
172
  export { VoiceMessageInputWrapper as V };
173
- //# sourceMappingURL=VoiceMessageInputWrapper-f70b47c7.js.map
173
+ //# sourceMappingURL=VoiceMessageInputWrapper-4a7dd349.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceMessageInputWrapper-f70b47c7.js","sources":["../src/smart-components/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, 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 { VoicePlayerStatus } 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 [audioFile, setAudioFile] = useState<File>(null);\n const [uuid] = useState<string>(uuidv4());\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmited, 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 useEffect(() => {\n if (isSubmited && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n }\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VoicePlayerStatus.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [isSubmited, 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={onCancelClick}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\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","_a","channel","onCancelClick","onSubmitClick","_c","useState","audioFile","setAudioFile","uuid","uuidv4","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmited","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VoicePlayerStatus","PLAYING","READY_TO_PLAY","React","VoiceRecorderStatus","COMPLETED","type","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","ButtonTypes","PRIMARY","ButtonSizes","BIG","BUTTON__OK"],"mappings":"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"}
1
+ {"version":3,"file":"VoiceMessageInputWrapper-4a7dd349.js","sources":["../src/smart-components/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, 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 { VoicePlayerStatus } 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 [audioFile, setAudioFile] = useState<File>(null);\n const [uuid] = useState<string>(uuidv4());\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmited, 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 useEffect(() => {\n if (isSubmited && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n }\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VoicePlayerStatus.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [isSubmited, 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={onCancelClick}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\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","_a","channel","onCancelClick","onSubmitClick","_c","useState","audioFile","setAudioFile","uuid","uuidv4","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmited","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VoicePlayerStatus","PLAYING","READY_TO_PLAY","React","VoiceRecorderStatus","COMPLETED","type","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","ButtonTypes","PRIMARY","ButtonSizes","BIG","BUTTON__OK"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import 'react';
2
- export { V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-a3a4b35c.js';
3
- import '../consts-886b25ca.js';
4
- import '../tslib.es6-cd680863.js';
2
+ export { V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-e360a65e.js';
3
+ import '../consts-243f8df6.js';
4
+ import '../tslib.es6-ce2a9c4a.js';
5
5
  //# sourceMappingURL=context.js.map
@@ -1,8 +1,8 @@
1
1
  import { useState, useEffect } from 'react';
2
- import { u as useVoicePlayerContext, A as AudioUnitDefaultValue } from '../index-a3a4b35c.js';
3
- import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-886b25ca.js';
2
+ import { u as useVoicePlayerContext, A as AudioUnitDefaultValue } from '../index-e360a65e.js';
3
+ import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-243f8df6.js';
4
4
  import { useVoiceRecorderContext } from '../VoiceRecorder/context.js';
5
- import '../tslib.es6-cd680863.js';
5
+ import '../tslib.es6-ce2a9c4a.js';
6
6
  import '../lame.all.js';
7
7
 
8
8
  var generateGroupKey = function (channelUrl, key) {
@@ -1,13 +1,13 @@
1
1
  import React__default, { useState, useCallback, useContext, createContext } from 'react';
2
- import { WavHeader as WavHeader_1, Mp3Encoder as Mp3Encoder_1 } from '../lame.all.js';
3
- import { b as VOICE_RECORDER_MIME_TYPE, c as VOICE_RECORDER_AUDIO_BITS, d as VOICE_MESSAGE_FILE_NAME, e as VOICE_MESSAGE_MIME_TYPE } from '../consts-886b25ca.js';
2
+ import { WavHeader as $dd7ee3788d91dcb8$export$cb948f2d6837f136, Mp3Encoder as $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 } from '../lame.all.js';
3
+ import { b as VOICE_RECORDER_MIME_TYPE, c as VOICE_RECORDER_AUDIO_BITS, d as VOICE_MESSAGE_FILE_NAME, e as VOICE_MESSAGE_MIME_TYPE } from '../consts-243f8df6.js';
4
4
 
5
5
  // Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
6
6
 
7
7
  function encodeMp3(arrayBuffer) {
8
- var wav = WavHeader_1.readHeader(new DataView(arrayBuffer));
8
+ var wav = $dd7ee3788d91dcb8$export$cb948f2d6837f136.readHeader(new DataView(arrayBuffer));
9
9
  var dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);
10
- var mp3Encoder = new Mp3Encoder_1(wav.channels, wav.sampleRate, 128);
10
+ var mp3Encoder = new $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2(wav.channels, wav.sampleRate, 128);
11
11
  var maxSamples = 1152;
12
12
  var samplesLeft = wav.channels === 1 ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));
13
13
  var samplesRight = wav.channels === 2 ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;
@@ -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/js/index.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';\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 [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const { children } = props;\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (mediaRecorder) {\n stop();\n }\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((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 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 });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch(() => {\n // error\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 // TODO: logger\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","_a","useState","mediaRecorder","setMediaRecorder","_b","setIsRecordable","children","useCallback","eventHandler","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","React","useVoiceRecorderContext","useContext"],"mappings":"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"}
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';\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 [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const { children } = props;\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (mediaRecorder) {\n stop();\n }\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((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 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 });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch(() => {\n // error\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 // TODO: logger\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","_a","useState","mediaRecorder","setMediaRecorder","_b","setIsRecordable","children","useCallback","eventHandler","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","React","useVoiceRecorderContext","useContext"],"mappings":"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"}
@@ -2,9 +2,9 @@ import { useState, useEffect, useCallback } from 'react';
2
2
  import { useVoiceRecorderContext } from './context.js';
3
3
  import useSendbirdStateContext from '../useSendbirdStateContext.js';
4
4
  import '../lame.all.js';
5
- import '../consts-886b25ca.js';
5
+ import '../consts-243f8df6.js';
6
6
  import '../withSendbird.js';
7
- import '../_rollupPluginBabelHelpers-3e5825fa.js';
7
+ import '../_rollupPluginBabelHelpers-b78f44f0.js';
8
8
 
9
9
  // /**
10
10
  // * onRecordingStarted
@@ -57,4 +57,4 @@ function _extends() {
57
57
  }
58
58
 
59
59
  export { _objectSpread2 as _, _extends as a };
60
- //# sourceMappingURL=_rollupPluginBabelHelpers-3e5825fa.js.map
60
+ //# sourceMappingURL=_rollupPluginBabelHelpers-b78f44f0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-b78f44f0.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,4 +3,4 @@ const RESET_USER = 'RESET_USER';
3
3
  const UPDATE_USER_INFO = 'UPDATE_USER_INFO';
4
4
 
5
5
  export { INIT_USER as I, RESET_USER as R, UPDATE_USER_INFO as U };
6
- //# sourceMappingURL=actionTypes-3245f646.js.map
6
+ //# sourceMappingURL=actionTypes-3685fd77.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionTypes-3245f646.js","sources":["../src/lib/dux/user/actionTypes.js"],"sourcesContent":["export const INIT_USER = 'INIT_USER';\nexport const RESET_USER = 'RESET_USER';\nexport const SET_USER_LOADING = 'SET_USER_LOADING';\nexport const UPDATE_USER_INFO = 'UPDATE_USER_INFO';\n"],"names":["INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAAO,MAAMA,SAAS,GAAG,YAAlB;AACA,MAAMC,UAAU,GAAG,aAAnB;AAEA,MAAMC,gBAAgB,GAAG;;;;"}
1
+ {"version":3,"file":"actionTypes-3685fd77.js","sources":["../src/lib/dux/user/actionTypes.js"],"sourcesContent":["export const INIT_USER = 'INIT_USER';\nexport const RESET_USER = 'RESET_USER';\nexport const SET_USER_LOADING = 'SET_USER_LOADING';\nexport const UPDATE_USER_INFO = 'UPDATE_USER_INFO';\n"],"names":["INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAAO,MAAMA,SAAS,GAAG,YAAlB;AACA,MAAMC,UAAU,GAAG,aAAnB;AAEA,MAAMC,gBAAgB,GAAG;;;;"}
package/cjs/App.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
5
  var SendbirdProvider = require('./SendbirdProvider.js');
6
- var MediaQueryContext = require('./MediaQueryContext-cfb37524.js');
6
+ var MediaQueryContext = require('./MediaQueryContext-9bc6235f.js');
7
7
  var ChannelList = require('./ChannelList.js');
8
8
  var Channel = require('./Channel.js');
9
9
  var ChannelSettings = require('./ChannelSettings.js');
@@ -11,30 +11,30 @@ var MessageSearch = require('./MessageSearch.js');
11
11
  var Thread = require('./Thread.js');
12
12
  var groupChannel = require('@sendbird/chat/groupChannel');
13
13
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
14
- var uuid = require('./uuid-e879709a.js');
15
- var consts = require('./consts-b08b4ca6.js');
16
- require('./_rollupPluginBabelHelpers-3c8c757e.js');
14
+ var uuid = require('./uuid-5499c9f4.js');
15
+ var consts = require('./consts-33111201.js');
16
+ require('./_rollupPluginBabelHelpers-28744a32.js');
17
17
  require('./withSendbird.js');
18
18
  require('@sendbird/chat');
19
19
  require('@sendbird/chat/openChannel');
20
- require('./actionTypes-30b8654a.js');
21
- require('./index-482bbe89.js');
22
- require('./tslib.es6-5163dacf.js');
20
+ require('./actionTypes-46b359e2.js');
21
+ require('./index-426c8bab.js');
22
+ require('./tslib.es6-88ed2248.js');
23
23
  require('./utils/message/getOutgoingMessageState.js');
24
24
  require('css-vars-ponyfill');
25
25
  require('./VoiceRecorder/context.js');
26
26
  require('./lame.all.js');
27
- require('./index-178229c9.js');
28
- require('./LocalizationContext-53fd4ae9.js');
29
- require('./stringSet-42fa6280.js');
30
- require('./index-7c018421.js');
31
- require('./ChannelListProvider-81b54cf3.js');
32
- require('./topics-bc8e923e.js');
33
- require('./utils-09e1cb5d.js');
34
- require('./UserProfileContext-c7d6be85.js');
27
+ require('./index-4179358d.js');
28
+ require('./LocalizationContext-96daa26e.js');
29
+ require('./stringSet-071d4406.js');
30
+ require('./index-b95fe816.js');
31
+ require('./ChannelListProvider-db1034ff.js');
32
+ require('./topics-aca671cd.js');
33
+ require('./utils-772a7f91.js');
34
+ require('./UserProfileContext-bfd64db5.js');
35
35
  require('./ChannelList/components/ChannelListUI.js');
36
36
  require('./ChannelList/components/ChannelListHeader.js');
37
- require('./index-db48f031.js');
37
+ require('./index-9f3e208a.js');
38
38
  require('./ui/Avatar.js');
39
39
  require('./ui/ImageRenderer.js');
40
40
  require('./ui/Icon.js');
@@ -42,12 +42,12 @@ require('./ChannelList/components/AddChannel.js');
42
42
  require('./ui/IconButton.js');
43
43
  require('./CreateChannel.js');
44
44
  require('./CreateChannel/components/CreateChannelUI.js');
45
- require('./CreateChannelProvider-a7ea8fd0.js');
45
+ require('./CreateChannelProvider-650e04d7.js');
46
46
  require('./sendbirdSelectors.js');
47
47
  require('./CreateChannel/components/InviteUsers.js');
48
48
  require('./ui/Modal.js');
49
49
  require('react-dom');
50
- require('./index-e49314a5.js');
50
+ require('./index-f6ff50c4.js');
51
51
  require('./ui/Button.js');
52
52
  require('./ui/UserListItem.js');
53
53
  require('./ui/MutedAvatarOverlay.js');
@@ -58,44 +58,44 @@ require('./ui/SortByRow.js');
58
58
  require('./CreateChannel/components/SelectChannelType.js');
59
59
  require('./ChannelList/components/ChannelPreview.js');
60
60
  require('./ui/ChannelAvatar.js');
61
- require('./utils-ea9d80f3.js');
61
+ require('./utils-1c34989b.js');
62
62
  require('./ui/Badge.js');
63
- require('./index-331d013f.js');
64
- require('./index-a283267f.js');
63
+ require('./index-21d53a07.js');
64
+ require('./index-052d46a8.js');
65
65
  require('./ui/Loader.js');
66
- require('./index-160b94cd.js');
67
- require('./index-5706b33b.js');
66
+ require('./index-246e3b08.js');
67
+ require('./index-50398b54.js');
68
68
  require('./ui/MentionUserLabel.js');
69
69
  require('./ui/TextButton.js');
70
- require('./color-578986d2.js');
70
+ require('./color-5efe1d41.js');
71
71
  require('./Channel/components/TypingIndicator.js');
72
- require('./ChannelProvider-498847bc.js');
73
- require('./compareIds-d78964c7.js');
74
- require('./const-5e034408.js');
72
+ require('./ChannelProvider-90eaf8d4.js');
73
+ require('./compareIds-3fedd5a6.js');
74
+ require('./const-3f17c1cc.js');
75
75
  require('@sendbird/chat/message');
76
76
  require('./ui/ReactionButton.js');
77
- require('./useLongPress-591a6fa9.js');
77
+ require('./useLongPress-8387a957.js');
78
78
  require('./ChannelList/components/ChannelPreviewAction.js');
79
79
  require('./EditUserProfile.js');
80
- require('./index-ef4f97c8.js');
80
+ require('./index-c34aa203.js');
81
81
  require('./ui/Input.js');
82
- require('./index-7630682a.js');
82
+ require('./index-d340da0c.js');
83
83
  require('./Channel/components/ChannelUI.js');
84
84
  require('./ui/ConnectionStatus.js');
85
85
  require('./Channel/components/ChannelHeader.js');
86
- require('./utils-bafa76b3.js');
86
+ require('./utils-7d05e1de.js');
87
87
  require('./Channel/components/MessageList.js');
88
88
  require('./Channel/components/Message.js');
89
89
  require('./Channel/components/SuggestedMentionList.js');
90
- require('./const-6d262369.js');
91
- require('./ThreadProvider-2dc43e25.js');
90
+ require('./const-ff05ead2.js');
91
+ require('./ThreadProvider-19361728.js');
92
92
  require('./Thread/context/types.js');
93
93
  require('./ui/DateSeparator.js');
94
94
  require('./ui/MessageInput.js');
95
95
  require('react-dom/server');
96
96
  require('./ui/MessageContent.js');
97
97
  require('./ui/MessageItemMenu.js');
98
- require('./types-c8782eaf.js');
98
+ require('./types-844c5e5e.js');
99
99
  require('./ui/MessageItemReactionMenu.js');
100
100
  require('./ui/EmojiReactions.js');
101
101
  require('./ui/Tooltip.js');
@@ -123,9 +123,9 @@ require('./Channel/components/FrozenNotification.js');
123
123
  require('./Channel/components/UnreadCount.js');
124
124
  require('./Channel/components/MessageInput.js');
125
125
  require('./ui/QuoteMessageInput.js');
126
- require('./VoiceMessageInputWrapper-965de260.js');
126
+ require('./VoiceMessageInputWrapper-531de35b.js');
127
127
  require('./VoiceRecorder/useVoiceRecorder.js');
128
- require('./index-e42edbd5.js');
128
+ require('./index-ecc3e24d.js');
129
129
  require('./ChannelSettings/components/ChannelSettingsUI.js');
130
130
  require('./ChannelSettings/context.js');
131
131
  require('./ChannelSettings/components/ChannelProfile.js');
@@ -133,9 +133,9 @@ require('./ChannelSettings/components/EditDetailsModal.js');
133
133
  require('./ChannelSettings/components/ModerationPanel.js');
134
134
  require('./ui/Accordion.js');
135
135
  require('./ui/AccordionGroup.js');
136
- require('./context-43fa845b.js');
136
+ require('./context-b6e29045.js');
137
137
  require('./ChannelSettings/components/UserListItem.js');
138
- require('./MemberList-5d8110fb.js');
138
+ require('./MemberList-455c2b0c.js');
139
139
  require('./ChannelSettings/components/LeaveChannel.js');
140
140
  require('./ChannelSettings/components/UserPanel.js');
141
141
  require('./MessageSearch/components/MessageSearchUI.js');
@@ -144,7 +144,7 @@ require('./ui/MessageSearchItem.js');
144
144
  require('./ui/MessageSearchFileItem.js');
145
145
  require('./Thread/components/ThreadUI.js');
146
146
  require('./Thread/components/ParentMessageInfo.js');
147
- require('./RemoveMessageModal-29719052.js');
147
+ require('./RemoveMessageModal-b3192d64.js');
148
148
  require('./Thread/components/ParentMessageInfoItem.js');
149
149
  require('./ui/FileViewer.js');
150
150
  require('./Thread/components/ThreadHeader.js');
@@ -1,40 +1,40 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var utils = require('../../utils-bafa76b3.js');
5
- var ui_Label = require('../../index-db48f031.js');
4
+ var utils = require('../../utils-7d05e1de.js');
5
+ var ui_Label = require('../../index-9f3e208a.js');
6
6
  var ui_Icon = require('../../ui/Icon.js');
7
7
  var ui_IconButton = require('../../ui/IconButton.js');
8
8
  var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
9
- var LocalizationContext = require('../../LocalizationContext-53fd4ae9.js');
9
+ var LocalizationContext = require('../../LocalizationContext-96daa26e.js');
10
10
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
11
- var Channel_context = require('../../ChannelProvider-498847bc.js');
12
- var MediaQueryContext = require('../../MediaQueryContext-cfb37524.js');
13
- var utils$1 = require('../../utils-09e1cb5d.js');
11
+ var Channel_context = require('../../ChannelProvider-90eaf8d4.js');
12
+ var MediaQueryContext = require('../../MediaQueryContext-9bc6235f.js');
13
+ var utils$1 = require('../../utils-772a7f91.js');
14
14
  require('prop-types');
15
- require('../../stringSet-42fa6280.js');
16
- require('../../tslib.es6-5163dacf.js');
15
+ require('../../stringSet-071d4406.js');
16
+ require('../../tslib.es6-88ed2248.js');
17
17
  require('../../ui/Avatar.js');
18
18
  require('../../ui/ImageRenderer.js');
19
- require('../../uuid-e879709a.js');
20
- require('../../utils-ea9d80f3.js');
21
- require('../../index-7c018421.js');
19
+ require('../../uuid-5499c9f4.js');
20
+ require('../../utils-1c34989b.js');
21
+ require('../../index-b95fe816.js');
22
22
  require('../../withSendbird.js');
23
- require('../../_rollupPluginBabelHelpers-3c8c757e.js');
24
- require('../../UserProfileContext-c7d6be85.js');
25
- require('../../index-a283267f.js');
26
- require('../../topics-bc8e923e.js');
27
- require('../../index-482bbe89.js');
23
+ require('../../_rollupPluginBabelHelpers-28744a32.js');
24
+ require('../../UserProfileContext-bfd64db5.js');
25
+ require('../../index-052d46a8.js');
26
+ require('../../topics-aca671cd.js');
27
+ require('../../index-426c8bab.js');
28
28
  require('../../utils/message/getOutgoingMessageState.js');
29
- require('../../compareIds-d78964c7.js');
30
- require('../../const-5e034408.js');
29
+ require('../../compareIds-3fedd5a6.js');
30
+ require('../../const-3f17c1cc.js');
31
31
  require('@sendbird/chat/groupChannel');
32
32
  require('@sendbird/chat/message');
33
33
  require('../../ui/ContextMenu.js');
34
34
  require('react-dom');
35
35
  require('../../ui/SortByRow.js');
36
36
  require('../../ui/ReactionButton.js');
37
- require('../../consts-b08b4ca6.js');
37
+ require('../../consts-33111201.js');
38
38
 
39
39
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
40