@sendbird/uikit-react 3.6.11-beta.0 → 3.6.11-beta.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 (533) hide show
  1. package/App.js +55 -55
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +48 -48
  4. package/Channel/components/FileViewer.js +18 -18
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +34 -34
  8. package/Channel/components/MessageList.js +43 -43
  9. package/Channel/components/RemoveMessageModal.js +22 -22
  10. package/Channel/components/SuggestedMentionList.js +20 -20
  11. package/Channel/components/TypingIndicator.js +18 -18
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +15 -15
  14. package/Channel/utils/compareMessagesForGrouping.js +7 -7
  15. package/Channel/utils/getMessagePartsInfo.js +8 -8
  16. package/Channel.js +48 -48
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +33 -33
  20. package/ChannelList/components/ChannelPreview.js +29 -29
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +9 -9
  23. package/ChannelList.js +33 -33
  24. package/{ChannelListProvider-52997aa4.js → ChannelListProvider-1188e373.js} +17 -14
  25. package/ChannelListProvider-1188e373.js.map +1 -0
  26. package/{ChannelProvider-c675e242.js → ChannelProvider-9de00431.js} +13 -13
  27. package/{ChannelProvider-c675e242.js.map → ChannelProvider-9de00431.js.map} +1 -1
  28. package/ChannelSettings/components/ChannelProfile.js +13 -13
  29. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  30. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  31. package/ChannelSettings/components/LeaveChannel.js +12 -12
  32. package/ChannelSettings/components/ModerationPanel.js +15 -15
  33. package/ChannelSettings/components/UserListItem.js +11 -11
  34. package/ChannelSettings/components/UserPanel.js +14 -14
  35. package/ChannelSettings/context.js +3 -3
  36. package/ChannelSettings.js +18 -18
  37. package/CreateChannel/components/CreateChannelUI.js +14 -14
  38. package/CreateChannel/components/InviteUsers.js +14 -14
  39. package/CreateChannel/components/SelectChannelType.js +11 -11
  40. package/CreateChannel/context.js +4 -4
  41. package/CreateChannel.js +14 -14
  42. package/{CreateChannelProvider-cc40c17f.js → CreateChannelProvider-a2fad282.js} +1 -1
  43. package/{CreateChannelProvider-cc40c17f.js.map → CreateChannelProvider-a2fad282.js.map} +1 -1
  44. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  45. package/CreateOpenChannel/context.js +1 -1
  46. package/CreateOpenChannel.js +11 -11
  47. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  48. package/EditUserProfile.js +13 -13
  49. package/{LocalizationContext-1d7d5046.js → LocalizationContext-2463058b.js} +3 -3
  50. package/{LocalizationContext-1d7d5046.js.map → LocalizationContext-2463058b.js.map} +1 -1
  51. package/{MediaQueryContext-a8f216c8.js → MediaQueryContext-e3429d12.js} +1 -1
  52. package/{MediaQueryContext-a8f216c8.js.map → MediaQueryContext-e3429d12.js.map} +1 -1
  53. package/{MemberList-10f76588.js → MemberList-593867cb.js} +6 -6
  54. package/{MemberList-10f76588.js.map → MemberList-593867cb.js.map} +1 -1
  55. package/MessageSearch/components/MessageSearchUI.js +13 -13
  56. package/MessageSearch/context.js +1 -1
  57. package/MessageSearch.js +13 -13
  58. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  59. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  60. package/OpenChannel/components/OpenChannelInput.js +20 -20
  61. package/OpenChannel/components/OpenChannelMessage.js +31 -31
  62. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  63. package/OpenChannel/components/OpenChannelUI.js +34 -34
  64. package/OpenChannel/context.js +8 -8
  65. package/OpenChannel.js +34 -34
  66. package/OpenChannelList/components/OpenChannelListUI.js +15 -15
  67. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  68. package/OpenChannelList/context.js +3 -3
  69. package/OpenChannelList.js +15 -15
  70. package/{OpenChannelListProvider-ea45dd27.js → OpenChannelListProvider-a0a09f0b.js} +3 -3
  71. package/{OpenChannelListProvider-ea45dd27.js.map → OpenChannelListProvider-a0a09f0b.js.map} +1 -1
  72. package/{OpenChannelProvider-7566d5ba.js → OpenChannelProvider-3e4b8c8e.js} +7 -7
  73. package/{OpenChannelProvider-7566d5ba.js.map → OpenChannelProvider-3e4b8c8e.js.map} +1 -1
  74. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  75. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  76. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  77. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  78. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  79. package/OpenChannelSettings/context.js +3 -3
  80. package/OpenChannelSettings.js +18 -18
  81. package/{RemoveMessageModal-052a7531.js → RemoveMessageModal-9162aebe.js} +5 -5
  82. package/{RemoveMessageModal-052a7531.js.map → RemoveMessageModal-9162aebe.js.map} +1 -1
  83. package/SendbirdProvider.js +17 -17
  84. package/Thread/components/ParentMessageInfo.js +38 -38
  85. package/Thread/components/ParentMessageInfoItem.js +25 -25
  86. package/Thread/components/ThreadHeader.js +6 -6
  87. package/Thread/components/ThreadList.js +42 -42
  88. package/Thread/components/ThreadListItem.js +42 -42
  89. package/Thread/components/ThreadMessageInput.js +34 -34
  90. package/Thread/components/ThreadUI.js +47 -47
  91. package/Thread/context.js +12 -12
  92. package/Thread.js +47 -47
  93. package/{ThreadProvider-9c3f6dd1.js → ThreadProvider-9a3b145f.js} +9 -9
  94. package/{ThreadProvider-9c3f6dd1.js.map → ThreadProvider-9a3b145f.js.map} +1 -1
  95. package/{UserProfileContext-050e38d1.js → UserProfileContext-4ae968eb.js} +1 -1
  96. package/{UserProfileContext-050e38d1.js.map → UserProfileContext-4ae968eb.js.map} +1 -1
  97. package/VoicePlayer/context.js +3 -3
  98. package/VoicePlayer/useVoicePlayer.js +11 -11
  99. package/VoiceRecorder/context.js +11 -11
  100. package/VoiceRecorder/useVoiceRecorder.js +10 -10
  101. package/{WebAudioUtils-feb2f826.js → WebAudioUtils-f9386235.js} +2 -2
  102. package/{WebAudioUtils-feb2f826.js.map → WebAudioUtils-f9386235.js.map} +1 -1
  103. package/{_rollupPluginBabelHelpers-127d506a.js → _rollupPluginBabelHelpers-50c9576f.js} +1 -1
  104. package/_rollupPluginBabelHelpers-50c9576f.js.map +1 -0
  105. package/{actionTypes-6978f57c.js → actionTypes-501b8c11.js} +1 -1
  106. package/{actionTypes-6978f57c.js.map → actionTypes-501b8c11.js.map} +1 -1
  107. package/cjs/App.js +55 -55
  108. package/cjs/Channel/components/ChannelHeader.js +22 -22
  109. package/cjs/Channel/components/ChannelUI.js +48 -48
  110. package/cjs/Channel/components/FileViewer.js +18 -18
  111. package/cjs/Channel/components/FrozenNotification.js +4 -4
  112. package/cjs/Channel/components/Message.js +42 -42
  113. package/cjs/Channel/components/MessageInput.js +34 -34
  114. package/cjs/Channel/components/MessageList.js +43 -43
  115. package/cjs/Channel/components/RemoveMessageModal.js +22 -22
  116. package/cjs/Channel/components/SuggestedMentionList.js +20 -20
  117. package/cjs/Channel/components/TypingIndicator.js +18 -18
  118. package/cjs/Channel/components/UnreadCount.js +4 -4
  119. package/cjs/Channel/context.js +15 -15
  120. package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -7
  121. package/cjs/Channel/utils/getMessagePartsInfo.js +8 -8
  122. package/cjs/Channel.js +48 -48
  123. package/cjs/ChannelList/components/AddChannel.js +16 -16
  124. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  125. package/cjs/ChannelList/components/ChannelListUI.js +33 -33
  126. package/cjs/ChannelList/components/ChannelPreview.js +29 -29
  127. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  128. package/cjs/ChannelList/context.js +9 -9
  129. package/cjs/ChannelList.js +33 -33
  130. package/cjs/{ChannelListProvider-50b25757.js → ChannelListProvider-e55e6242.js} +17 -14
  131. package/cjs/ChannelListProvider-e55e6242.js.map +1 -0
  132. package/cjs/{ChannelProvider-1d47dc41.js → ChannelProvider-6fa73019.js} +13 -13
  133. package/cjs/{ChannelProvider-1d47dc41.js.map → ChannelProvider-6fa73019.js.map} +1 -1
  134. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  136. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  137. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  138. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  140. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  141. package/cjs/ChannelSettings/context.js +3 -3
  142. package/cjs/ChannelSettings.js +18 -18
  143. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  144. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  145. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  146. package/cjs/CreateChannel/context.js +4 -4
  147. package/cjs/CreateChannel.js +14 -14
  148. package/cjs/{CreateChannelProvider-742f0f71.js → CreateChannelProvider-8b8a557c.js} +1 -1
  149. package/cjs/{CreateChannelProvider-742f0f71.js.map → CreateChannelProvider-8b8a557c.js.map} +1 -1
  150. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  151. package/cjs/CreateOpenChannel/context.js +1 -1
  152. package/cjs/CreateOpenChannel.js +11 -11
  153. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  154. package/cjs/EditUserProfile.js +13 -13
  155. package/cjs/{LocalizationContext-9e45201f.js → LocalizationContext-482c1343.js} +3 -3
  156. package/cjs/{LocalizationContext-9e45201f.js.map → LocalizationContext-482c1343.js.map} +1 -1
  157. package/cjs/{MediaQueryContext-0b9f5e79.js → MediaQueryContext-73aac8cf.js} +1 -1
  158. package/cjs/{MediaQueryContext-0b9f5e79.js.map → MediaQueryContext-73aac8cf.js.map} +1 -1
  159. package/cjs/{MemberList-dd79130e.js → MemberList-26b8de48.js} +6 -6
  160. package/cjs/{MemberList-dd79130e.js.map → MemberList-26b8de48.js.map} +1 -1
  161. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -13
  162. package/cjs/MessageSearch/context.js +1 -1
  163. package/cjs/MessageSearch.js +13 -13
  164. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  165. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  166. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +31 -31
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  170. package/cjs/OpenChannel/context.js +8 -8
  171. package/cjs/OpenChannel.js +34 -34
  172. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -15
  173. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  174. package/cjs/OpenChannelList/context.js +3 -3
  175. package/cjs/OpenChannelList.js +15 -15
  176. package/cjs/{OpenChannelListProvider-0947eaab.js → OpenChannelListProvider-2e3ee48d.js} +3 -3
  177. package/cjs/{OpenChannelListProvider-0947eaab.js.map → OpenChannelListProvider-2e3ee48d.js.map} +1 -1
  178. package/cjs/{OpenChannelProvider-cdb5efab.js → OpenChannelProvider-8577ea58.js} +7 -7
  179. package/cjs/{OpenChannelProvider-cdb5efab.js.map → OpenChannelProvider-8577ea58.js.map} +1 -1
  180. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  181. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  182. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  183. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  184. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  185. package/cjs/OpenChannelSettings/context.js +3 -3
  186. package/cjs/OpenChannelSettings.js +18 -18
  187. package/cjs/{RemoveMessageModal-ff40b635.js → RemoveMessageModal-dfeeb36a.js} +5 -5
  188. package/cjs/{RemoveMessageModal-ff40b635.js.map → RemoveMessageModal-dfeeb36a.js.map} +1 -1
  189. package/cjs/SendbirdProvider.js +17 -17
  190. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  191. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  192. package/cjs/Thread/components/ThreadHeader.js +6 -6
  193. package/cjs/Thread/components/ThreadList.js +42 -42
  194. package/cjs/Thread/components/ThreadListItem.js +42 -42
  195. package/cjs/Thread/components/ThreadMessageInput.js +34 -34
  196. package/cjs/Thread/components/ThreadUI.js +47 -47
  197. package/cjs/Thread/context.js +12 -12
  198. package/cjs/Thread.js +47 -47
  199. package/cjs/{ThreadProvider-ecea486a.js → ThreadProvider-8b0cf491.js} +9 -9
  200. package/cjs/{ThreadProvider-ecea486a.js.map → ThreadProvider-8b0cf491.js.map} +1 -1
  201. package/cjs/{UserProfileContext-7e36a6f3.js → UserProfileContext-fa8d0383.js} +1 -1
  202. package/cjs/{UserProfileContext-7e36a6f3.js.map → UserProfileContext-fa8d0383.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +11 -11
  205. package/cjs/VoiceRecorder/context.js +11 -11
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +10 -10
  207. package/cjs/{WebAudioUtils-15df1d2d.js → WebAudioUtils-142344fd.js} +2 -2
  208. package/cjs/{WebAudioUtils-15df1d2d.js.map → WebAudioUtils-142344fd.js.map} +1 -1
  209. package/cjs/{_rollupPluginBabelHelpers-32e06a4f.js → _rollupPluginBabelHelpers-83d7e84b.js} +1 -1
  210. package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +1 -0
  211. package/cjs/{actionTypes-266f0e4d.js → actionTypes-1d118952.js} +1 -1
  212. package/cjs/{actionTypes-266f0e4d.js.map → actionTypes-1d118952.js.map} +1 -1
  213. package/cjs/{color-da906a8e.js → color-d83b77ac.js} +1 -1
  214. package/cjs/{color-da906a8e.js.map → color-d83b77ac.js.map} +1 -1
  215. package/cjs/{compareIds-6f4238a7.js → compareIds-bef997cb.js} +1 -1
  216. package/cjs/{compareIds-6f4238a7.js.map → compareIds-bef997cb.js.map} +1 -1
  217. package/cjs/{const-81c5b6fd.js → const-1726bde0.js} +1 -1
  218. package/cjs/{const-81c5b6fd.js.map → const-1726bde0.js.map} +1 -1
  219. package/cjs/{const-8a80e7a4.js → const-67ff9e34.js} +1 -1
  220. package/cjs/{const-8a80e7a4.js.map → const-67ff9e34.js.map} +1 -1
  221. package/cjs/{consts-a9e07b6c.js → consts-b018b1ed.js} +1 -1
  222. package/cjs/{consts-a9e07b6c.js.map → consts-b018b1ed.js.map} +1 -1
  223. package/cjs/{consts-cb188d77.js → consts-bf228385.js} +1 -1
  224. package/cjs/{consts-cb188d77.js.map → consts-bf228385.js.map} +1 -1
  225. package/cjs/{consts-cbf7ddd6.js → consts-d3b53f23.js} +1 -1
  226. package/cjs/{consts-cbf7ddd6.js.map → consts-d3b53f23.js.map} +1 -1
  227. package/cjs/{consts-b63bb532.js → consts-fb07c671.js} +1 -1
  228. package/cjs/{consts-b63bb532.js.map → consts-fb07c671.js.map} +1 -1
  229. package/cjs/{context-827c4e18.js → context-bd2878ff.js} +2 -2
  230. package/cjs/{context-827c4e18.js.map → context-bd2878ff.js.map} +1 -1
  231. package/cjs/dist/index.css +97 -97
  232. package/cjs/dist/index.css.map +1 -1
  233. package/cjs/{index-93e76826.js → index-11f9cc0f.js} +3 -3
  234. package/cjs/{index-93e76826.js.map → index-11f9cc0f.js.map} +1 -1
  235. package/cjs/{index-52a2c7ef.js → index-18720f0d.js} +2 -2
  236. package/cjs/{index-52a2c7ef.js.map → index-18720f0d.js.map} +1 -1
  237. package/cjs/{index-c6a8de13.js → index-1a9fdbb4.js} +7 -7
  238. package/cjs/{index-c6a8de13.js.map → index-1a9fdbb4.js.map} +1 -1
  239. package/cjs/{index-58460943.js → index-1f6b30ea.js} +3 -3
  240. package/cjs/{index-58460943.js.map → index-1f6b30ea.js.map} +1 -1
  241. package/cjs/{index-0972d3a4.js → index-2ab19f9b.js} +4 -4
  242. package/cjs/{index-0972d3a4.js.map → index-2ab19f9b.js.map} +1 -1
  243. package/cjs/{index-859638a8.js → index-4b5a006d.js} +5 -5
  244. package/cjs/{index-859638a8.js.map → index-4b5a006d.js.map} +1 -1
  245. package/cjs/{index-14c60240.js → index-4eb7e2b5.js} +2 -2
  246. package/cjs/{index-14c60240.js.map → index-4eb7e2b5.js.map} +1 -1
  247. package/cjs/{index-2beeddcd.js → index-56a25735.js} +5 -5
  248. package/cjs/{index-2beeddcd.js.map → index-56a25735.js.map} +1 -1
  249. package/cjs/{index-5466fdd6.js → index-6ab9a40d.js} +2 -2
  250. package/cjs/{index-5466fdd6.js.map → index-6ab9a40d.js.map} +1 -1
  251. package/cjs/{index-f6688c5a.js → index-759f2a26.js} +4 -4
  252. package/cjs/{index-f6688c5a.js.map → index-759f2a26.js.map} +1 -1
  253. package/cjs/{index-f2228baf.js → index-7c374c20.js} +2 -2
  254. package/cjs/{index-f2228baf.js.map → index-7c374c20.js.map} +1 -1
  255. package/cjs/{index-2cf76116.js → index-7f41c4b6.js} +3 -3
  256. package/cjs/{index-2cf76116.js.map → index-7f41c4b6.js.map} +1 -1
  257. package/cjs/{index-fad8e38b.js → index-81baccd0.js} +4 -4
  258. package/cjs/{index-fad8e38b.js.map → index-81baccd0.js.map} +1 -1
  259. package/cjs/{index-d957a2b4.js → index-857630c5.js} +9 -9
  260. package/cjs/{index-d957a2b4.js.map → index-857630c5.js.map} +1 -1
  261. package/cjs/{index-6add5824.js → index-8ec12d1d.js} +6 -6
  262. package/cjs/{index-6add5824.js.map → index-8ec12d1d.js.map} +1 -1
  263. package/cjs/{index-9f4d38fe.js → index-91b4af96.js} +4 -4
  264. package/cjs/{index-9f4d38fe.js.map → index-91b4af96.js.map} +1 -1
  265. package/cjs/{index-1f4a47f9.js → index-c9b003b3.js} +2 -2
  266. package/cjs/{index-1f4a47f9.js.map → index-c9b003b3.js.map} +1 -1
  267. package/cjs/{index-cb306d53.js → index-cbcacbee.js} +1 -1
  268. package/cjs/{index-cb306d53.js.map → index-cbcacbee.js.map} +1 -1
  269. package/cjs/{index-159278b7.js → index-d04f312e.js} +1 -1
  270. package/cjs/{index-159278b7.js.map → index-d04f312e.js.map} +1 -1
  271. package/cjs/{index-750b3845.js → index-e9ac5ae1.js} +4 -4
  272. package/cjs/{index-750b3845.js.map → index-e9ac5ae1.js.map} +1 -1
  273. package/cjs/{index-6afd0c95.js → index-fbe9cc73.js} +3 -3
  274. package/cjs/{index-6afd0c95.js.map → index-fbe9cc73.js.map} +1 -1
  275. package/cjs/index.js +59 -59
  276. package/cjs/{index.module-5c934abb.js → index.module-a24e9cd7.js} +1 -1
  277. package/cjs/{index.module-5c934abb.js.map → index.module-a24e9cd7.js.map} +1 -1
  278. package/cjs/package.json +1 -1
  279. package/cjs/{resolvedReplyType-dabf3c08.js → resolvedReplyType-85b4bd7c.js} +1 -1
  280. package/cjs/{resolvedReplyType-dabf3c08.js.map → resolvedReplyType-85b4bd7c.js.map} +1 -1
  281. package/cjs/sendbirdSelectors.js +3 -3
  282. package/cjs/{stringFormatterUtils-9b35afa3.js → stringFormatterUtils-8d6592ca.js} +3 -3
  283. package/cjs/{stringFormatterUtils-9b35afa3.js.map → stringFormatterUtils-8d6592ca.js.map} +1 -1
  284. package/cjs/{stringSet-42559b9c.js → stringSet-d00535a5.js} +1 -1
  285. package/cjs/{stringSet-42559b9c.js.map → stringSet-d00535a5.js.map} +1 -1
  286. package/cjs/{tokenize-f3db7c7b.js → tokenize-9296fc47.js} +2 -2
  287. package/cjs/{tokenize-f3db7c7b.js.map → tokenize-9296fc47.js.map} +1 -1
  288. package/cjs/{topics-f8d48fd6.js → topics-adde627b.js} +1 -1
  289. package/cjs/{topics-f8d48fd6.js.map → topics-adde627b.js.map} +1 -1
  290. package/cjs/{types-08752342.js → types-0b5148cb.js} +1 -1
  291. package/cjs/{types-08752342.js.map → types-0b5148cb.js.map} +1 -1
  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 +4 -4
  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 +6 -6
  302. package/cjs/ui/DateSeparator.js +3 -3
  303. package/cjs/ui/EmojiReactions.js +14 -14
  304. package/cjs/ui/FileMessageItemBody.js +7 -7
  305. package/cjs/ui/FileViewer.js +12 -12
  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 +11 -11
  311. package/cjs/ui/MentionUserLabel.js +1 -1
  312. package/cjs/ui/MessageContent.js +31 -31
  313. package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
  314. package/cjs/ui/MessageInput.js +14 -14
  315. package/cjs/ui/MessageItemMenu.js +9 -9
  316. package/cjs/ui/MessageItemReactionMenu.js +9 -9
  317. package/cjs/ui/MessageSearchFileItem.js +12 -12
  318. package/cjs/ui/MessageSearchItem.js +8 -8
  319. package/cjs/ui/MessageStatus.js +11 -11
  320. package/cjs/ui/Modal.js +9 -9
  321. package/cjs/ui/OGMessageItemBody.js +14 -14
  322. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  323. package/cjs/ui/OpenChannelAvatar.js +5 -5
  324. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  325. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  326. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  327. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  328. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  329. package/cjs/ui/PlaceHolder.js +5 -5
  330. package/cjs/ui/PlaybackTime.js +2 -2
  331. package/cjs/ui/QuoteMessage.js +8 -8
  332. package/cjs/ui/QuoteMessageInput.js +8 -8
  333. package/cjs/ui/ReactionBadge.js +2 -2
  334. package/cjs/ui/ReactionButton.js +4 -4
  335. package/cjs/ui/SortByRow.js +1 -1
  336. package/cjs/ui/TextButton.js +1 -1
  337. package/cjs/ui/TextMessageItemBody.js +14 -14
  338. package/cjs/ui/ThreadReplies.js +5 -5
  339. package/cjs/ui/ThumbnailMessageItemBody.js +7 -7
  340. package/cjs/ui/Toggle.js +1 -1
  341. package/cjs/ui/Tooltip.js +2 -2
  342. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  343. package/cjs/ui/UserListItem.js +11 -11
  344. package/cjs/ui/UserProfile.js +9 -9
  345. package/cjs/ui/VoiceMessageItemBody.js +11 -11
  346. package/cjs/ui/VoiceMessgeInput.js +7 -7
  347. package/cjs/ui/Word.js +11 -11
  348. package/cjs/{useHandleUploadFiles-c411fe73.js → useHandleUploadFiles-b2fc56e5.js} +10 -10
  349. package/cjs/{useHandleUploadFiles-c411fe73.js.map → useHandleUploadFiles-b2fc56e5.js.map} +1 -1
  350. package/cjs/{useLongPress-1d936b57.js → useLongPress-1c0f4696.js} +3 -3
  351. package/cjs/{useLongPress-1d936b57.js.map → useLongPress-1c0f4696.js.map} +1 -1
  352. package/cjs/{useSendMultipleFilesMessage-68cb79a9.js → useSendMultipleFilesMessage-81cdc9d0.js} +4 -4
  353. package/cjs/{useSendMultipleFilesMessage-68cb79a9.js.map → useSendMultipleFilesMessage-81cdc9d0.js.map} +1 -1
  354. package/cjs/useSendbirdStateContext.js +1 -1
  355. package/cjs/utils/message/isVoiceMessage.js +3 -3
  356. package/cjs/{utils-86333a85.js → utils-418b4438.js} +3 -3
  357. package/cjs/{utils-86333a85.js.map → utils-418b4438.js.map} +1 -1
  358. package/cjs/{utils-de4ebd32.js → utils-5bfb4516.js} +1 -1
  359. package/cjs/{utils-de4ebd32.js.map → utils-5bfb4516.js.map} +1 -1
  360. package/cjs/{utils-4446c8a7.js → utils-68aa6bf6.js} +4 -4
  361. package/cjs/{utils-4446c8a7.js.map → utils-68aa6bf6.js.map} +1 -1
  362. package/cjs/{utils-598f212e.js → utils-991911af.js} +1 -1
  363. package/cjs/{utils-598f212e.js.map → utils-991911af.js.map} +1 -1
  364. package/cjs/{utils-b08188c3.js → utils-b34d4e2c.js} +2 -2
  365. package/cjs/{utils-b08188c3.js.map → utils-b34d4e2c.js.map} +1 -1
  366. package/cjs/{utils-b5676d3d.js → utils-c47c68b1.js} +1 -1
  367. package/cjs/{utils-b5676d3d.js.map → utils-c47c68b1.js.map} +1 -1
  368. package/cjs/{uuid-d0dc3474.js → uuid-b2806cf5.js} +1 -1
  369. package/cjs/{uuid-d0dc3474.js.map → uuid-b2806cf5.js.map} +1 -1
  370. package/cjs/withSendbird.js +1 -1
  371. package/{color-80ab0797.js → color-b7f211a8.js} +1 -1
  372. package/{color-80ab0797.js.map → color-b7f211a8.js.map} +1 -1
  373. package/{compareIds-f24a9d12.js → compareIds-8ed6e36a.js} +1 -1
  374. package/{compareIds-f24a9d12.js.map → compareIds-8ed6e36a.js.map} +1 -1
  375. package/{const-fb4ba209.js → const-711048c3.js} +1 -1
  376. package/{const-fb4ba209.js.map → const-711048c3.js.map} +1 -1
  377. package/{const-7d3f5989.js → const-74ec9eb4.js} +1 -1
  378. package/{const-7d3f5989.js.map → const-74ec9eb4.js.map} +1 -1
  379. package/{consts-a3d3287a.js → consts-675764c9.js} +1 -1
  380. package/{consts-a3d3287a.js.map → consts-675764c9.js.map} +1 -1
  381. package/{consts-9cb946fd.js → consts-691a3935.js} +1 -1
  382. package/{consts-9cb946fd.js.map → consts-691a3935.js.map} +1 -1
  383. package/{consts-1155d9f8.js → consts-6ee24012.js} +1 -1
  384. package/{consts-1155d9f8.js.map → consts-6ee24012.js.map} +1 -1
  385. package/{consts-5230ea9f.js → consts-eb77e905.js} +1 -1
  386. package/{consts-5230ea9f.js.map → consts-eb77e905.js.map} +1 -1
  387. package/{context-b787a386.js → context-b4c70964.js} +2 -2
  388. package/{context-b787a386.js.map → context-b4c70964.js.map} +1 -1
  389. package/dist/index.css +97 -97
  390. package/dist/index.css.map +1 -1
  391. package/{index-4c2e86ae.js → index-128523eb.js} +3 -3
  392. package/{index-4c2e86ae.js.map → index-128523eb.js.map} +1 -1
  393. package/{index-bc42f0e9.js → index-13401b87.js} +2 -2
  394. package/{index-bc42f0e9.js.map → index-13401b87.js.map} +1 -1
  395. package/{index-7d38c662.js → index-3530f4f6.js} +4 -4
  396. package/{index-7d38c662.js.map → index-3530f4f6.js.map} +1 -1
  397. package/{index-d8c8e716.js → index-5cb32ab5.js} +3 -3
  398. package/{index-d8c8e716.js.map → index-5cb32ab5.js.map} +1 -1
  399. package/{index-dd767201.js → index-5d6a0f12.js} +3 -3
  400. package/{index-dd767201.js.map → index-5d6a0f12.js.map} +1 -1
  401. package/{index-6cc54ebd.js → index-60a7bf91.js} +5 -5
  402. package/{index-6cc54ebd.js.map → index-60a7bf91.js.map} +1 -1
  403. package/{index-8107de87.js → index-7700a436.js} +1 -1
  404. package/{index-8107de87.js.map → index-7700a436.js.map} +1 -1
  405. package/{index-011f0166.js → index-7946293f.js} +6 -6
  406. package/{index-011f0166.js.map → index-7946293f.js.map} +1 -1
  407. package/{index-d32155ad.js → index-7b7478f5.js} +5 -5
  408. package/{index-d32155ad.js.map → index-7b7478f5.js.map} +1 -1
  409. package/{index-4a754b7d.js → index-82178c6a.js} +7 -7
  410. package/{index-4a754b7d.js.map → index-82178c6a.js.map} +1 -1
  411. package/{index-943e51f9.js → index-8a01c364.js} +4 -4
  412. package/{index-943e51f9.js.map → index-8a01c364.js.map} +1 -1
  413. package/{index-fff2d336.js → index-98138798.js} +2 -2
  414. package/{index-fff2d336.js.map → index-98138798.js.map} +1 -1
  415. package/{index-b6042797.js → index-98887e8d.js} +1 -1
  416. package/{index-b6042797.js.map → index-98887e8d.js.map} +1 -1
  417. package/{index-ca44517a.js → index-aa520474.js} +2 -2
  418. package/{index-ca44517a.js.map → index-aa520474.js.map} +1 -1
  419. package/{index-1dc25336.js → index-ae7ef8cf.js} +4 -4
  420. package/{index-1dc25336.js.map → index-ae7ef8cf.js.map} +1 -1
  421. package/{index-30ccc7d1.js → index-b22c4150.js} +2 -2
  422. package/{index-30ccc7d1.js.map → index-b22c4150.js.map} +1 -1
  423. package/{index-0f1ca805.js → index-b25ffa7e.js} +4 -4
  424. package/{index-0f1ca805.js.map → index-b25ffa7e.js.map} +1 -1
  425. package/{index-b490e8af.js → index-c421b228.js} +9 -9
  426. package/{index-b490e8af.js.map → index-c421b228.js.map} +1 -1
  427. package/{index-33ce0e5c.js → index-d99155f7.js} +4 -4
  428. package/{index-33ce0e5c.js.map → index-d99155f7.js.map} +1 -1
  429. package/{index-644f4972.js → index-daa3ae67.js} +2 -2
  430. package/{index-644f4972.js.map → index-daa3ae67.js.map} +1 -1
  431. package/{index-7fdcc106.js → index-e15f6b6a.js} +3 -3
  432. package/{index-7fdcc106.js.map → index-e15f6b6a.js.map} +1 -1
  433. package/index.d.ts +1 -1
  434. package/index.js +59 -59
  435. package/{index.module-0935752c.js → index.module-60af77d3.js} +1 -1
  436. package/{index.module-0935752c.js.map → index.module-60af77d3.js.map} +1 -1
  437. package/package.json +1 -1
  438. package/{resolvedReplyType-19c339c2.js → resolvedReplyType-1a128514.js} +1 -1
  439. package/{resolvedReplyType-19c339c2.js.map → resolvedReplyType-1a128514.js.map} +1 -1
  440. package/sendbirdSelectors.js +3 -3
  441. package/{stringFormatterUtils-8cdfbc30.js → stringFormatterUtils-dbad592d.js} +3 -3
  442. package/{stringFormatterUtils-8cdfbc30.js.map → stringFormatterUtils-dbad592d.js.map} +1 -1
  443. package/{stringSet-4010aa20.js → stringSet-2814bf17.js} +1 -1
  444. package/{stringSet-4010aa20.js.map → stringSet-2814bf17.js.map} +1 -1
  445. package/{tokenize-5d004ff2.js → tokenize-4b153552.js} +2 -2
  446. package/{tokenize-5d004ff2.js.map → tokenize-4b153552.js.map} +1 -1
  447. package/{topics-e010c6d3.js → topics-5659403d.js} +1 -1
  448. package/{topics-e010c6d3.js.map → topics-5659403d.js.map} +1 -1
  449. package/{types-933c231a.js → types-89092633.js} +1 -1
  450. package/{types-933c231a.js.map → types-89092633.js.map} +1 -1
  451. package/ui/Accordion.js +2 -2
  452. package/ui/AccordionGroup.js +2 -2
  453. package/ui/AdminMessage.js +2 -2
  454. package/ui/Avatar.js +1 -1
  455. package/ui/Badge.js +4 -4
  456. package/ui/BottomSheet.js +4 -4
  457. package/ui/Button.js +2 -2
  458. package/ui/ChannelAvatar.js +2 -2
  459. package/ui/ConnectionStatus.js +4 -4
  460. package/ui/ContextMenu.js +6 -6
  461. package/ui/DateSeparator.js +3 -3
  462. package/ui/EmojiReactions.js +14 -14
  463. package/ui/FileMessageItemBody.js +7 -7
  464. package/ui/FileViewer.js +12 -12
  465. package/ui/IconButton.js +1 -1
  466. package/ui/Input.js +2 -2
  467. package/ui/Label.js +2 -2
  468. package/ui/LinkLabel.js +2 -2
  469. package/ui/MentionLabel.js +11 -11
  470. package/ui/MentionUserLabel.js +1 -1
  471. package/ui/MessageContent.js +31 -31
  472. package/ui/MessageInput/hooks/usePaste.js +4 -4
  473. package/ui/MessageInput.js +14 -14
  474. package/ui/MessageItemMenu.js +9 -9
  475. package/ui/MessageItemReactionMenu.js +9 -9
  476. package/ui/MessageSearchFileItem.js +12 -12
  477. package/ui/MessageSearchItem.js +8 -8
  478. package/ui/MessageStatus.js +11 -11
  479. package/ui/Modal.js +9 -9
  480. package/ui/OGMessageItemBody.js +14 -14
  481. package/ui/OpenChannelAdminMessage.js +2 -2
  482. package/ui/OpenChannelAvatar.js +5 -5
  483. package/ui/OpenchannelConversationHeader.js +6 -6
  484. package/ui/OpenchannelFileMessage.js +16 -16
  485. package/ui/OpenchannelOGMessage.js +18 -18
  486. package/ui/OpenchannelThumbnailMessage.js +15 -15
  487. package/ui/OpenchannelUserMessage.js +16 -16
  488. package/ui/PlaceHolder.js +5 -5
  489. package/ui/PlaybackTime.js +2 -2
  490. package/ui/QuoteMessage.js +8 -8
  491. package/ui/QuoteMessageInput.js +8 -8
  492. package/ui/ReactionBadge.js +2 -2
  493. package/ui/ReactionButton.js +4 -4
  494. package/ui/SortByRow.js +1 -1
  495. package/ui/TextButton.js +1 -1
  496. package/ui/TextMessageItemBody.js +14 -14
  497. package/ui/ThreadReplies.js +5 -5
  498. package/ui/ThumbnailMessageItemBody.js +7 -7
  499. package/ui/Toggle.js +1 -1
  500. package/ui/Tooltip.js +2 -2
  501. package/ui/UnknownMessageItemBody.js +7 -7
  502. package/ui/UserListItem.js +11 -11
  503. package/ui/UserProfile.js +9 -9
  504. package/ui/VoiceMessageItemBody.js +11 -11
  505. package/ui/VoiceMessgeInput.js +7 -7
  506. package/ui/Word.js +11 -11
  507. package/{useHandleUploadFiles-2e10b130.js → useHandleUploadFiles-406a6c9c.js} +10 -10
  508. package/{useHandleUploadFiles-2e10b130.js.map → useHandleUploadFiles-406a6c9c.js.map} +1 -1
  509. package/{useLongPress-ffee648f.js → useLongPress-5e1ad951.js} +3 -3
  510. package/{useLongPress-ffee648f.js.map → useLongPress-5e1ad951.js.map} +1 -1
  511. package/{useSendMultipleFilesMessage-25198999.js → useSendMultipleFilesMessage-a3a2c84b.js} +4 -4
  512. package/{useSendMultipleFilesMessage-25198999.js.map → useSendMultipleFilesMessage-a3a2c84b.js.map} +1 -1
  513. package/useSendbirdStateContext.js +1 -1
  514. package/utils/message/isVoiceMessage.js +3 -3
  515. package/{utils-dd91485e.js → utils-0c22998a.js} +4 -4
  516. package/{utils-dd91485e.js.map → utils-0c22998a.js.map} +1 -1
  517. package/{utils-88995afe.js → utils-407da489.js} +1 -1
  518. package/{utils-88995afe.js.map → utils-407da489.js.map} +1 -1
  519. package/{utils-648f7f14.js → utils-7cc92ac2.js} +1 -1
  520. package/{utils-648f7f14.js.map → utils-7cc92ac2.js.map} +1 -1
  521. package/{utils-dae17f0e.js → utils-b97d5113.js} +3 -3
  522. package/{utils-dae17f0e.js.map → utils-b97d5113.js.map} +1 -1
  523. package/{utils-3a10580f.js → utils-cae84d8a.js} +2 -2
  524. package/{utils-3a10580f.js.map → utils-cae84d8a.js.map} +1 -1
  525. package/{utils-1467ebd7.js → utils-ebf008e2.js} +1 -1
  526. package/{utils-1467ebd7.js.map → utils-ebf008e2.js.map} +1 -1
  527. package/{uuid-2e10561d.js → uuid-16373bba.js} +1 -1
  528. package/{uuid-2e10561d.js.map → uuid-16373bba.js.map} +1 -1
  529. package/withSendbird.js +1 -1
  530. package/ChannelListProvider-52997aa4.js.map +0 -1
  531. package/_rollupPluginBabelHelpers-127d506a.js.map +0 -1
  532. package/cjs/ChannelListProvider-50b25757.js.map +0 -1
  533. package/cjs/_rollupPluginBabelHelpers-32e06a4f.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useHandleUploadFiles-2e10b130.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx","../src/modules/Channel/components/MessageInput/useHandleUploadFiles.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","import React, { useCallback } from 'react';\n\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { SendMFMFunctionType } from '../../context/hooks/useSendMultipleFilesMessage';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { SendableMessageType, isImage } from '../../../../utils';\n// TODO: get SendFileMessageFunctionType from Channel\nimport { SendFileMessageFunctionType } from '../../../Thread/context/hooks/useSendFileMessage';\nimport { useGlobalModalContext } from '../../../../hooks/useModal';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { ModalFooter } from '../../../../ui/Modal';\n\n/**\n * The handleUploadFiles is a function sending a FileMessage and MultipleFilesMessage\n * by the received FileList from the ChangeEvent of MessageInput component.\n */\n\ninterface useHandleUploadFilesDynamicProps {\n sendFileMessage: SendFileMessageFunctionType;\n sendMultipleFilesMessage: SendMFMFunctionType;\n quoteMessage?: SendableMessageType;\n}\ninterface useHandleUploadFilesStaticProps {\n logger: Logger;\n}\nexport type HandleUploadFunctionType = (files: FileList) => void;\n\nexport const useHandleUploadFiles = ({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n}: useHandleUploadFilesDynamicProps, {\n logger,\n}: useHandleUploadFilesStaticProps): Array<HandleUploadFunctionType> => {\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const uikitUploadSizeLimit = config?.uikitUploadSizeLimit;\n const uikitMultipleFilesMessageLimit = config?.uikitMultipleFilesMessageLimit;\n const { openModal } = useGlobalModalContext();\n\n const handleUploadFiles = useCallback((fileList: FileList) => {\n const files: File[] = Array.from(fileList);\n\n // Validate Paremeters\n if (!sendFileMessage || !sendMultipleFilesMessage) {\n logger.warning('Channel|useHandleUploadFiles: required functions are undefined', { sendFileMessage, sendMultipleFilesMessage });\n return;\n }\n if (files.length === 0) {\n logger.warning('Channel|useHandleUploadFiles: given file list is empty.', { files });\n return;\n }\n if (files.length > uikitMultipleFilesMessageLimit) {\n logger.info(`Channel|useHandleUploadFiles: Cannot upload files more than ${uikitMultipleFilesMessageLimit}`);\n openModal({\n modalProps: {\n titleText: `Up to ${uikitMultipleFilesMessageLimit} files can be attached.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n if (files.some((file: File) => file.size > uikitUploadSizeLimit)) {\n // The default value of uikitUploadSizeLimit is 26MB\n logger.info(`Channel|useHandleUploadFiles: Cannot upload file size exceeding ${uikitUploadSizeLimit}`);\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / 1000000)} MB.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n\n if (files.length === 1) {\n logger.info('Channel|useHandleUploadFiles: sending one file.');\n const [file] = files;\n sendFileMessage(file, quoteMessage);\n } else if (files.length > 1) {\n logger.info('Channel|useHandleUploadFiles: sending multiple files.');\n const imageFiles: Array<File> = [];\n const otherFiles: Array<File> = [];\n files.forEach((file: File) => {\n if (isImage(file.type)) {\n imageFiles.push(file);\n } else {\n otherFiles.push(file);\n }\n });\n\n if (imageFiles.length > 1) {\n sendMultipleFilesMessage(imageFiles, quoteMessage);\n } else if (imageFiles.length === 1) {\n sendFileMessage(imageFiles[0], quoteMessage);\n }\n if (otherFiles.length > 0) {\n otherFiles.forEach((file: File) => {\n sendFileMessage(file, quoteMessage);\n });\n }\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\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","useHandleUploadFiles","_ref2","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","childElement","_ref3","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","Math","floor","_ref4","imageFiles","otherFiles","forEach","isImage","push"],"mappings":";;;;;;;;;;;;;;;;AAwBaA,MAAAA,wBAAwB,GAAGC,IAAA,IAIiB;AAAA,EAAA,IAAAC,mBAAA,CAAA;EAAA,IAJhB;IACvCC,OAAO;IACPC,aAAa;AACbC,IAAAA,aAAAA;AAC6B,GAAC,GAAAJ,IAAA,CAAA;EAC9B,MAAMK,IAAI,GAAGC,MAAM,CAASC,MAAM,EAAE,CAAC,CAACC,OAAO,CAAA;EAC7C,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAO,IAAI,CAAC,CAAA;EACtD,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGF,QAAQ,CAA0BG,uBAAuB,CAACC,eAAe,CAAC,CAAA;EACxH,MAAM,CAACC,WAAW,EAAEC,SAAS,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC,CAAA;EAChD,MAAM,CAACO,UAAU,EAAEC,WAAW,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC,CAAA;EACjD,MAAM,CAACS,SAAS,EAAEC,YAAY,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC,CAAA;EACjD,MAAM;AAAEW,IAAAA,SAAAA;GAAW,GAAGC,eAAe,EAAE,CAAA;EACvC,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;AAC5C,EAAA,MAAMC,gBAAgB,GAAG,CAAAF,MAAM,KAANA,IAAAA,IAAAA,MAAM,wBAAAvB,mBAAA,GAANuB,MAAM,CAAEG,WAAW,cAAA1B,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqByB,gBAAgB,KAAIE,0BAA0B,CAAA;EAC5F,MAAM;IACJC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,aAAa;IACbC,eAAe;AACfC,IAAAA,cAAAA;GACD,GAAGC,gBAAgB,CAAC;IACnBC,kBAAkB,EAAEA,MAAM;AACxBvB,MAAAA,kBAAkB,CAACC,uBAAuB,CAACuB,SAAS,CAAC,CAAA;KACtD;IACDC,gBAAgB,EAAG7B,SAAS,IAAK;MAC/BC,YAAY,CAACD,SAAS,CAAC,CAAA;AACzB,KAAA;AACF,GAAC,CAAC,CAAA;EACF,MAAM8B,WAAW,GAAGC,cAAc,CAAC;AACjCC,IAAAA,UAAU,EAAEvC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEwC,GAAG;AACxBC,IAAAA,GAAG,EAAEtC,IAAI;AACTI,IAAAA,SAAS,EAAEA,SAAAA;AACb,GAAC,CAAC,CAAA;EACF,MAAM;IACJmC,IAAI;IACJC,KAAK;IACLC,YAAY;AACZC,IAAAA,aAAAA;AACF,GAAC,GAAGR,WAAW,CAAA;AACf,EAAA,MAAMS,eAAe,GAAGT,WAAW,CAACT,IAAI,CAAA;;AAExC;AACAmB,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIC,uBAAuB,CAAChD,OAAO,CAAC,IAAIiD,sBAAsB,CAACjD,OAAO,CAAC,EAAE;MACvEiB,WAAW,CAAC,IAAI,CAAC,CAAA;AACnB,KAAC,MAAM;MACLA,WAAW,CAAC,KAAK,CAAC,CAAA;AACpB,KAAA;GACD,EAAE,CAACjB,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkD,MAAM,EAAElD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEmD,QAAQ,EAAEnD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEoD,YAAY,CAAC,CAAC,CAAA;;AAE/D;AACAL,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIjC,WAAW,IAAIP,SAAS,EAAE;AAC5BL,MAAAA,aAAa,CAACK,SAAS,EAAEuB,aAAa,CAAC,CAAA;MACvCf,SAAS,CAAC,KAAK,CAAC,CAAA;MAChBP,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,KAAA;GACD,EAAE,CAACM,WAAW,EAAEP,SAAS,EAAEuB,aAAa,CAAC,CAAC,CAAA;AAC3C;AACAiB,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIxC,SAAS,EAAE;MACb,IAAIuB,aAAa,GAAGN,gBAAgB,EAAE;AACpCb,QAAAA,kBAAkB,CAACC,uBAAuB,CAACC,eAAe,CAAC,CAAA;QAC3DL,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,OAAC,MAAM,IAAIqC,aAAa,KAAKQ,mBAAmB,CAACC,OAAO,EAAE;AACxD3C,QAAAA,kBAAkB,CAACC,uBAAuB,CAAC0C,OAAO,CAAC,CAAA;AACrD,OAAC,MAAM;AACL3C,QAAAA,kBAAkB,CAACC,uBAAuB,CAAC2C,aAAa,CAAC,CAAA;AAC3D,OAAA;AACF,KAAA;GACD,EAAE,CAAChD,SAAS,EAAEuB,aAAa,EAAEe,aAAa,CAAC,CAAC,CAAA;EAE7C,oBACEW,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sCAAA;AAAsC,GAAA,eACnDF,cAAA,CAAAC,aAAA,CAACE,iBAAiB,EAAA;IAChBC,YAAY,EAAE7B,eAAe,KAAK8B,mBAAmB,CAACC,SAAS,GAAGlB,YAAY,GAAGd,aAAc;IAC/FiC,YAAY,EAAEhC,eAAe,KAAK8B,mBAAmB,CAACC,SAAS,GAAGhC,aAAa,GAAGE,cAAe;AACjGgC,IAAAA,WAAW,EAAEtD,eAAgB;IAC7BT,aAAa,EAAEA,MAAM;AACnBA,MAAAA,aAAa,EAAE,CAAA;AACf4B,MAAAA,MAAM,EAAE,CAAA;AACRiB,MAAAA,eAAe,EAAE,CAAA;KACjB;IACF5C,aAAa,EAAEA,MAAM;AACnB,MAAA,IAAIc,UAAU,EAAE;QACdG,YAAY,CAAC,IAAI,CAAC,CAAA;AAClBR,QAAAA,kBAAkB,CAACC,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC7D,OAAC,MAAM;AACLe,QAAAA,IAAI,EAAE,CAAA;AACNe,QAAAA,KAAK,EAAE,CAAA;QACP5B,SAAS,CAAC,IAAI,CAAC,CAAA;AACjB,OAAA;KACA;IACFkD,cAAc,EAAGC,IAAI,IAAK;AACxB,MAAA,QAAQA,IAAI;QACV,KAAKtD,uBAAuB,CAACC,eAAe;AAAE,UAAA;AAC5CiC,YAAAA,eAAe,EAAE,CAAA;AACjBnB,YAAAA,KAAK,EAAE,CAAA;AACP,YAAA,MAAA;AACF,WAAA;QACA,KAAKf,uBAAuB,CAACuB,SAAS;AAAE,UAAA;AACtC,YAAA,IAAIL,aAAa,IAAIN,gBAAgB,IAAI,CAACR,UAAU,EAAE;AACpDY,cAAAA,IAAI,EAAE,CAAA;aACP,MAAM,IAAIZ,UAAU,EAAE;AACrBa,cAAAA,MAAM,EAAE,CAAA;cACRV,YAAY,CAAC,IAAI,CAAC,CAAA;AAClBR,cAAAA,kBAAkB,CAACC,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC7D,aAAC,MAAM;AACLgB,cAAAA,MAAM,EAAE,CAAA;AACRlB,cAAAA,kBAAkB,CAACC,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC7D,aAAA;AACA,YAAA,MAAA;AACF,WAAA;QACA,KAAKD,uBAAuB,CAAC2C,aAAa;AAAE,UAAA;AAC1Cb,YAAAA,IAAI,EAAE,CAAA;AACN,YAAA,MAAA;AACF,WAAA;QACA,KAAK9B,uBAAuB,CAAC0C,OAAO;AAAE,UAAA;AACpCX,YAAAA,KAAK,EAAE,CAAA;AACP,YAAA,MAAA;AACF,WAAA;AAAC,OAAA;AAEL,KAAA;AAAE,GAAA,CACF,EAEAzB,SAAS,iBACPsC,cAAA,CAAAC,aAAA,CAACU,KAAK,EAAA;AACJT,IAAAA,SAAS,EAAC,4CAA4C;AACtDU,IAAAA,SAAS,EAAEnB,sBAAsB,CAACjD,OAAO,CAAC,GACtCoB,SAAS,CAACiD,gDAAgD,GAC1DjD,SAAS,CAACkD,iDACb;IACDC,UAAU,EAAA,IAAA;IACVC,qBAAqB,EAAA,IAAA;IACrBC,QAAQ,EAAEA,MAAM;MACdtD,YAAY,CAAC,KAAK,CAAC,CAAA;AACnBlB,MAAAA,aAAa,EAAE,CAAA;AACjB,KAAA;GAEAuD,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kDAAA;AAAkD,GAAA,eAC/DF,cAAA,CAAAC,aAAA,CAACiB,MAAM,EAAA;AACLhB,IAAAA,SAAS,EAAC,6DAA6D;IACvEQ,IAAI,EAAES,WAAW,CAACC,OAAQ;IAC1BC,IAAI,EAAEC,WAAW,CAACC,GAAI;IACtBC,OAAO,EAAEA,MAAM;MACb7D,YAAY,CAAC,KAAK,CAAC,CAAA;AACnBlB,MAAAA,aAAa,EAAE,CAAA;AACjB,KAAA;AAAE,GAAA,EAEDmB,SAAS,CAAC6D,UAAU,CACd,CACL,CAET,CAEC,CAAA;AAEV;;ACzKA;AACA;AACA;AACA;;MAYaC,oBAAoB,GAAGA,CAAApF,IAAA,EAAAqF,KAAA,KAMoC;EAAA,IANnC;IACnCC,eAAe;IACfC,wBAAwB;AACxBC,IAAAA,YAAAA;AACgC,GAAC,GAAAxF,IAAA,CAAA;EAAA,IAAE;AACnCyF,IAAAA,MAAAA;AAC+B,GAAC,GAAAJ,KAAA,CAAA;EAChC,MAAM;AAAE/D,IAAAA,SAAAA;GAAW,GAAGC,eAAe,EAAE,CAAA;EACvC,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EAC5C,MAAMiE,oBAAoB,GAAGlE,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkE,oBAAoB,CAAA;EACzD,MAAMC,8BAA8B,GAAGnE,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEmE,8BAA8B,CAAA;EAC7E,MAAM;AAAEC,IAAAA,SAAAA;GAAW,GAAGC,qBAAqB,EAAE,CAAA;AAE7C,EAAA,MAAMC,iBAAiB,GAAGC,WAAW,CAAEC,QAAkB,IAAK;AAC5D,IAAA,MAAMC,KAAa,GAAGC,KAAK,CAACC,IAAI,CAACH,QAAQ,CAAC,CAAA;;AAE1C;AACA,IAAA,IAAI,CAACV,eAAe,IAAI,CAACC,wBAAwB,EAAE;AACjDE,MAAAA,MAAM,CAACW,OAAO,CAAC,gEAAgE,EAAE;QAAEd,eAAe;AAAEC,QAAAA,wBAAAA;AAAyB,OAAC,CAAC,CAAA;AAC/H,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIU,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;AACtBZ,MAAAA,MAAM,CAACW,OAAO,CAAC,yDAAyD,EAAE;AAAEH,QAAAA,KAAAA;AAAM,OAAC,CAAC,CAAA;AACpF,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIA,KAAK,CAACI,MAAM,GAAGV,8BAA8B,EAAE;AACjDF,MAAAA,MAAM,CAACa,IAAI,CAAE,CAA8DX,4DAAAA,EAAAA,8BAA+B,EAAC,CAAC,CAAA;AAC5GC,MAAAA,SAAS,CAAC;AACRW,QAAAA,UAAU,EAAE;UACVjC,SAAS,EAAG,CAAQqB,MAAAA,EAAAA,8BAA+B,CAAwB,uBAAA,CAAA;AAC3ElB,UAAAA,UAAU,EAAE,IAAA;SACb;AACD+B,QAAAA,YAAY,EAAEC,KAAA,IAAA;UAAA,IAAC;AAAEC,YAAAA,UAAAA;AAAW,WAAC,GAAAD,KAAA,CAAA;AAAA,UAAA,oBAC3B/C,cAAA,CAAAC,aAAA,CAACgD,WAAW,EAAA;YACVvC,IAAI,EAAES,WAAW,CAACC,OAAQ;YAC1B8B,UAAU,EAAEtF,SAAS,CAAC6D,UAAW;YACjC0B,gBAAgB,EAAA,IAAA;AAChBlC,YAAAA,QAAQ,EAAE+B,UAAW;AACrBI,YAAAA,QAAQ,EAAEJ,UAAAA;WACV,CAAA,CAAA;AAAA,SAAA;AAEN,OAAC,CAAC,CAAA;AACF,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIT,KAAK,CAACc,IAAI,CAAEC,IAAU,IAAKA,IAAI,CAACjC,IAAI,GAAGW,oBAAoB,CAAC,EAAE;AAChE;AACAD,MAAAA,MAAM,CAACa,IAAI,CAAE,CAAkEZ,gEAAAA,EAAAA,oBAAqB,EAAC,CAAC,CAAA;AACtGE,MAAAA,SAAS,CAAC;AACRW,QAAAA,UAAU,EAAE;UACVjC,SAAS,EAAG,CAA+B2C,6BAAAA,EAAAA,IAAI,CAACC,KAAK,CAACxB,oBAAoB,GAAG,OAAO,CAAE,CAAK,IAAA,CAAA;AAC3FjB,UAAAA,UAAU,EAAE,IAAA;SACb;AACD+B,QAAAA,YAAY,EAAEW,KAAA,IAAA;UAAA,IAAC;AAAET,YAAAA,UAAAA;AAAW,WAAC,GAAAS,KAAA,CAAA;AAAA,UAAA,oBAC3BzD,cAAA,CAAAC,aAAA,CAACgD,WAAW,EAAA;YACVvC,IAAI,EAAES,WAAW,CAACC,OAAQ;YAC1B8B,UAAU,EAAEtF,SAAS,CAAC6D,UAAW;YACjC0B,gBAAgB,EAAA,IAAA;AAChBlC,YAAAA,QAAQ,EAAE+B,UAAW;AACrBI,YAAAA,QAAQ,EAAEJ,UAAAA;WACV,CAAA,CAAA;AAAA,SAAA;AAEN,OAAC,CAAC,CAAA;AACF,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIT,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;AACtBZ,MAAAA,MAAM,CAACa,IAAI,CAAC,iDAAiD,CAAC,CAAA;AAC9D,MAAA,MAAM,CAACU,IAAI,CAAC,GAAGf,KAAK,CAAA;AACpBX,MAAAA,eAAe,CAAC0B,IAAI,EAAExB,YAAY,CAAC,CAAA;AACrC,KAAC,MAAM,IAAIS,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;AAC3BZ,MAAAA,MAAM,CAACa,IAAI,CAAC,uDAAuD,CAAC,CAAA;MACpE,MAAMc,UAAuB,GAAG,EAAE,CAAA;MAClC,MAAMC,UAAuB,GAAG,EAAE,CAAA;AAClCpB,MAAAA,KAAK,CAACqB,OAAO,CAAEN,IAAU,IAAK;AAC5B,QAAA,IAAIO,OAAO,CAACP,IAAI,CAAC5C,IAAI,CAAC,EAAE;AACtBgD,UAAAA,UAAU,CAACI,IAAI,CAACR,IAAI,CAAC,CAAA;AACvB,SAAC,MAAM;AACLK,UAAAA,UAAU,CAACG,IAAI,CAACR,IAAI,CAAC,CAAA;AACvB,SAAA;AACF,OAAC,CAAC,CAAA;AAEF,MAAA,IAAII,UAAU,CAACf,MAAM,GAAG,CAAC,EAAE;AACzBd,QAAAA,wBAAwB,CAAC6B,UAAU,EAAE5B,YAAY,CAAC,CAAA;AACpD,OAAC,MAAM,IAAI4B,UAAU,CAACf,MAAM,KAAK,CAAC,EAAE;AAClCf,QAAAA,eAAe,CAAC8B,UAAU,CAAC,CAAC,CAAC,EAAE5B,YAAY,CAAC,CAAA;AAC9C,OAAA;AACA,MAAA,IAAI6B,UAAU,CAAChB,MAAM,GAAG,CAAC,EAAE;AACzBgB,QAAAA,UAAU,CAACC,OAAO,CAAEN,IAAU,IAAK;AACjC1B,UAAAA,eAAe,CAAC0B,IAAI,EAAExB,YAAY,CAAC,CAAA;AACrC,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;GACD,EAAE,CACDF,eAAe,EACfC,wBAAwB,EACxBC,YAAY,CACb,CAAC,CAAA;EAEF,OAAO,CAACM,iBAAiB,CAAC,CAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"useHandleUploadFiles-406a6c9c.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx","../src/modules/Channel/components/MessageInput/useHandleUploadFiles.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","import React, { useCallback } from 'react';\n\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { SendMFMFunctionType } from '../../context/hooks/useSendMultipleFilesMessage';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { SendableMessageType, isImage } from '../../../../utils';\n// TODO: get SendFileMessageFunctionType from Channel\nimport { SendFileMessageFunctionType } from '../../../Thread/context/hooks/useSendFileMessage';\nimport { useGlobalModalContext } from '../../../../hooks/useModal';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { ModalFooter } from '../../../../ui/Modal';\n\n/**\n * The handleUploadFiles is a function sending a FileMessage and MultipleFilesMessage\n * by the received FileList from the ChangeEvent of MessageInput component.\n */\n\ninterface useHandleUploadFilesDynamicProps {\n sendFileMessage: SendFileMessageFunctionType;\n sendMultipleFilesMessage: SendMFMFunctionType;\n quoteMessage?: SendableMessageType;\n}\ninterface useHandleUploadFilesStaticProps {\n logger: Logger;\n}\nexport type HandleUploadFunctionType = (files: FileList) => void;\n\nexport const useHandleUploadFiles = ({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n}: useHandleUploadFilesDynamicProps, {\n logger,\n}: useHandleUploadFilesStaticProps): Array<HandleUploadFunctionType> => {\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const uikitUploadSizeLimit = config?.uikitUploadSizeLimit;\n const uikitMultipleFilesMessageLimit = config?.uikitMultipleFilesMessageLimit;\n const { openModal } = useGlobalModalContext();\n\n const handleUploadFiles = useCallback((fileList: FileList) => {\n const files: File[] = Array.from(fileList);\n\n // Validate Paremeters\n if (!sendFileMessage || !sendMultipleFilesMessage) {\n logger.warning('Channel|useHandleUploadFiles: required functions are undefined', { sendFileMessage, sendMultipleFilesMessage });\n return;\n }\n if (files.length === 0) {\n logger.warning('Channel|useHandleUploadFiles: given file list is empty.', { files });\n return;\n }\n if (files.length > uikitMultipleFilesMessageLimit) {\n logger.info(`Channel|useHandleUploadFiles: Cannot upload files more than ${uikitMultipleFilesMessageLimit}`);\n openModal({\n modalProps: {\n titleText: `Up to ${uikitMultipleFilesMessageLimit} files can be attached.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n if (files.some((file: File) => file.size > uikitUploadSizeLimit)) {\n // The default value of uikitUploadSizeLimit is 26MB\n logger.info(`Channel|useHandleUploadFiles: Cannot upload file size exceeding ${uikitUploadSizeLimit}`);\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / 1000000)} MB.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n\n if (files.length === 1) {\n logger.info('Channel|useHandleUploadFiles: sending one file.');\n const [file] = files;\n sendFileMessage(file, quoteMessage);\n } else if (files.length > 1) {\n logger.info('Channel|useHandleUploadFiles: sending multiple files.');\n const imageFiles: Array<File> = [];\n const otherFiles: Array<File> = [];\n files.forEach((file: File) => {\n if (isImage(file.type)) {\n imageFiles.push(file);\n } else {\n otherFiles.push(file);\n }\n });\n\n if (imageFiles.length > 1) {\n sendMultipleFilesMessage(imageFiles, quoteMessage);\n } else if (imageFiles.length === 1) {\n sendFileMessage(imageFiles[0], quoteMessage);\n }\n if (otherFiles.length > 0) {\n otherFiles.forEach((file: File) => {\n sendFileMessage(file, quoteMessage);\n });\n }\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\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","useHandleUploadFiles","_ref2","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","childElement","_ref3","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","Math","floor","_ref4","imageFiles","otherFiles","forEach","isImage","push"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-127d506a.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-50c9576f.js';
2
2
  import { useState, useRef, useCallback } from 'react';
3
- import { u as useMediaQueryContext } from './MediaQueryContext-a8f216c8.js';
3
+ import { u as useMediaQueryContext } from './MediaQueryContext-e3429d12.js';
4
4
 
5
5
  const DEFAULT_DURATION = 300;
6
6
  function preventDefault(e) {
@@ -82,4 +82,4 @@ function useLongPress(_ref) {
82
82
  }
83
83
 
84
84
  export { useLongPress as u };
85
- //# sourceMappingURL=useLongPress-ffee648f.js.map
85
+ //# sourceMappingURL=useLongPress-5e1ad951.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLongPress-ffee648f.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_ref","onLongPress","onClick","delay","shouldPreventDefault","shouldStopPropagation","arguments","undefined","isMobile","useMediaQueryContext","longPressTriggered","setLongPressTriggered","useState","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","_objectSpread","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
1
+ {"version":3,"file":"useLongPress-5e1ad951.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_ref","onLongPress","onClick","delay","shouldPreventDefault","shouldStopPropagation","arguments","undefined","isMobile","useMediaQueryContext","longPressTriggered","setLongPressTriggered","useState","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","_objectSpread","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-127d506a.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-50c9576f.js';
2
2
  import { useCallback } from 'react';
3
- import { P as PUBSUB_TOPICS } from './topics-e010c6d3.js';
4
- import { u as scrollIntoLast } from './utils-dd91485e.js';
3
+ import { P as PUBSUB_TOPICS } from './topics-5659403d.js';
4
+ import { u as scrollIntoLast } from './utils-0c22998a.js';
5
5
 
6
6
  /**
7
7
  * pubSub is used instead of messagesDispatcher to avoid redundantly calling
@@ -104,4 +104,4 @@ const useSendMultipleFilesMessage = (_ref, _ref2) => {
104
104
  };
105
105
 
106
106
  export { useSendMultipleFilesMessage as u };
107
- //# sourceMappingURL=useSendMultipleFilesMessage-25198999.js.map
107
+ //# sourceMappingURL=useSendMultipleFilesMessage-a3a2c84b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMultipleFilesMessage-25198999.js","sources":["../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type {\n MultipleFilesMessageCreateParams,\n UploadableFileInfo,\n} from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport type { Nullable } from '../../../../types';\nimport PUBSUB_TOPICS from '../../../../lib/pubSub/topics';\nimport { scrollIntoLast } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\n\nexport type OnBeforeSendMFMType = (\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n) => MultipleFilesMessageCreateParams;\n\nexport interface UseSendMFMDynamicParams {\n currentChannel: Nullable<GroupChannel>,\n onBeforeSendMultipleFilesMessage?: OnBeforeSendMFMType,\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => void;\n\n/**\n * pubSub is used instead of messagesDispatcher to avoid redundantly calling\n * because this useSendMultipleFilesMessage is used in the Channel and Thread both\n */\nexport const useSendMultipleFilesMessage = ({\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((files: Array<File>, quoteMessage?: SendableMessageType): void => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n return;\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n return;\n }\n let messageParams: MultipleFilesMessageCreateParams = {\n fileInfoList: files.map((file: File): UploadableFileInfo => ({\n file,\n fileName: file.name,\n fileSize: file.size,\n mimeType: file.type,\n })),\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n if (typeof onBeforeSendMultipleFilesMessage === 'function') {\n messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);\n }\n logger.info('Channel: Start sending MFM', { messageParams });\n try {\n currentChannel.sendMultipleFilesMessage(messageParams)\n /**\n * We don't operate the onFileUploaded event for now\n * until we will add UI/UX for it\n */\n .onFileUploaded((requestId, index, uploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', { requestId, index, error, uploadableFileInfo });\n })\n .onPending((pendingMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: {\n ...pendingMessage,\n fileInfoList: messageParams.fileInfoList.map((fileInfo) => ({\n ...fileInfo,\n url: URL.createObjectURL(fileInfo.file as File),\n })),\n },\n channel: currentChannel,\n });\n if (scrollRef) {\n setTimeout(() => scrollIntoLast(0, scrollRef));\n }\n })\n .onFailed((error, failedMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n });\n })\n .onSucceeded((succeededMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n });\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n }\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n ]);\n return [sendMessage];\n};\n"],"names":["useSendMultipleFilesMessage","_ref","_ref2","currentChannel","onBeforeSendMultipleFilesMessage","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","warning","length","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","parentMessageId","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","error","onPending","pendingMessage","publish","PUBSUB_TOPICS","SEND_MESSAGE_START","message","_objectSpread","fileInfo","url","URL","createObjectURL","channel","setTimeout","scrollIntoLast","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
1
+ {"version":3,"file":"useSendMultipleFilesMessage-a3a2c84b.js","sources":["../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type {\n MultipleFilesMessageCreateParams,\n UploadableFileInfo,\n} from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport type { Nullable } from '../../../../types';\nimport PUBSUB_TOPICS from '../../../../lib/pubSub/topics';\nimport { scrollIntoLast } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\n\nexport type OnBeforeSendMFMType = (\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n) => MultipleFilesMessageCreateParams;\n\nexport interface UseSendMFMDynamicParams {\n currentChannel: Nullable<GroupChannel>,\n onBeforeSendMultipleFilesMessage?: OnBeforeSendMFMType,\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => void;\n\n/**\n * pubSub is used instead of messagesDispatcher to avoid redundantly calling\n * because this useSendMultipleFilesMessage is used in the Channel and Thread both\n */\nexport const useSendMultipleFilesMessage = ({\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((files: Array<File>, quoteMessage?: SendableMessageType): void => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n return;\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n return;\n }\n let messageParams: MultipleFilesMessageCreateParams = {\n fileInfoList: files.map((file: File): UploadableFileInfo => ({\n file,\n fileName: file.name,\n fileSize: file.size,\n mimeType: file.type,\n })),\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n if (typeof onBeforeSendMultipleFilesMessage === 'function') {\n messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);\n }\n logger.info('Channel: Start sending MFM', { messageParams });\n try {\n currentChannel.sendMultipleFilesMessage(messageParams)\n /**\n * We don't operate the onFileUploaded event for now\n * until we will add UI/UX for it\n */\n .onFileUploaded((requestId, index, uploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', { requestId, index, error, uploadableFileInfo });\n })\n .onPending((pendingMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: {\n ...pendingMessage,\n fileInfoList: messageParams.fileInfoList.map((fileInfo) => ({\n ...fileInfo,\n url: URL.createObjectURL(fileInfo.file as File),\n })),\n },\n channel: currentChannel,\n });\n if (scrollRef) {\n setTimeout(() => scrollIntoLast(0, scrollRef));\n }\n })\n .onFailed((error, failedMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n });\n })\n .onSucceeded((succeededMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n });\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n }\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n ]);\n return [sendMessage];\n};\n"],"names":["useSendMultipleFilesMessage","_ref","_ref2","currentChannel","onBeforeSendMultipleFilesMessage","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","warning","length","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","parentMessageId","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","error","onPending","pendingMessage","publish","PUBSUB_TOPICS","SEND_MESSAGE_START","message","_objectSpread","fileInfo","url","URL","createObjectURL","channel","setTimeout","scrollIntoLast","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './_rollupPluginBabelHelpers-127d506a.js';
3
+ import './_rollupPluginBabelHelpers-50c9576f.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -1,7 +1,7 @@
1
- import { d as isVoiceMessage$1 } from '../../index-dd767201.js';
2
- import '../../_rollupPluginBabelHelpers-127d506a.js';
1
+ import { d as isVoiceMessage$1 } from '../../index-5d6a0f12.js';
2
+ import '../../_rollupPluginBabelHelpers-50c9576f.js';
3
3
  import './getOutgoingMessageState.js';
4
- import '../../index.module-0935752c.js';
4
+ import '../../index.module-60af77d3.js';
5
5
 
6
6
  const isVoiceMessage = isVoiceMessage$1;
7
7
 
@@ -1,6 +1,6 @@
1
- import { f as format } from './index-644f4972.js';
2
- import { P as PUBSUB_TOPICS } from './topics-e010c6d3.js';
3
- import { a as getSendingMessageStatus, e as isReadMessage } from './index-dd767201.js';
1
+ import { f as format } from './index-daa3ae67.js';
2
+ import { P as PUBSUB_TOPICS } from './topics-5659403d.js';
3
+ import { a as getSendingMessageStatus, e as isReadMessage } from './index-5d6a0f12.js';
4
4
 
5
5
  const RESET_MESSAGES = 'RESET_MESSAGES';
6
6
  const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
@@ -303,4 +303,4 @@ const pxToNumber = px => {
303
303
  const isAboutSame = (a, b, px) => Math.abs(a - b) <= px;
304
304
 
305
305
  export { pubSubHandleRemover as A, messageActionTypes as B, isAboutSame as C, isDisabledBecauseFrozen as D, isDisabledBecauseMuted as E, FETCH_NEXT_MESSAGES_FAILURE as F, isOperator as G, isSameGroup as H, MESSAGE_LIST_PARAMS_CHANGED as M, ON_REACTION_UPDATED as O, RESEND_MESSAGE_START as R, SET_EMOJI_CONTAINER as S, ON_MESSAGE_DELETED_BY_REQ_ID as a, ON_MESSAGE_DELETED as b, MARK_AS_READ as c, ON_MESSAGE_THREAD_INFO_UPDATED as d, ON_MESSAGE_UPDATED as e, ON_MESSAGE_RECEIVED as f, SET_CHANNEL_INVALID as g, SET_CURRENT_CHANNEL as h, SEND_MESSAGE_FAILURE as i, SEND_MESSAGE_SUCESS as j, SEND_MESSAGE_START as k, FETCH_PREV_MESSAGES_FAILURE as l, FETCH_INITIAL_MESSAGES_FAILURE as m, FETCH_NEXT_MESSAGES_SUCCESS as n, mergeAndSortMessages as o, passUnsuccessfullMessages as p, FETCH_PREV_MESSAGES_SUCCESS as q, FETCH_INITIAL_MESSAGES_SUCCESS as r, FETCH_INITIAL_MESSAGES_START as s, RESET_MESSAGES as t, scrollIntoLast as u, scrollToRenderedMessage as v, pxToNumber as w, getAllEmojisMapFromEmojiContainer as x, getNicknamesMapFromMembers as y, pubSubHandler as z };
306
- //# sourceMappingURL=utils-dd91485e.js.map
306
+ //# sourceMappingURL=utils-0c22998a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-dd91485e.js","sources":["../src/modules/Channel/context/dux/actionTypes.js","../src/modules/Channel/context/utils.js"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\n\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\n\nexport const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';\nexport const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';\nexport const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';\nexport const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';\nexport const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCESS = 'SEND_MESSAGE_SUCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\n\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\n\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\n","import format from 'date-fns/format';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../../lib/pubSub/topics';\n\nimport { getSendingMessageStatus, isReadMessage } from '../../../utils';\nimport { OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = getSendingMessageStatus();\n\nexport const scrollToRenderedMessage = (scrollRef, initialTimeStamp, setIsScrolled) => {\n try {\n const container = scrollRef.current;\n // scroll into the message with initialTimeStamp\n const element = container.querySelectorAll(`[data-sb-created-at=\"${initialTimeStamp}\"]`)?.[0];\n if (element) {\n // Calculate the offset of the element from the top of the container\n const containerHeight = container.offsetHeight;\n const elementHeight = element.offsetHeight;\n const elementOffset = (containerHeight - elementHeight) / 2;\n // Set the scroll position of the container to bring the element to the middle\n container.scrollTop = element.offsetTop - elementOffset;\n }\n } catch {\n // do nothing\n } finally {\n setIsScrolled?.(true);\n }\n};\n\n/* eslint-disable default-param-last */\nexport const scrollIntoLast = (initialTry = 0, scrollRef, setIsScrolled) => {\n const MAX_TRIES = 10;\n const currentTry = initialTry;\n if (currentTry > MAX_TRIES) {\n setIsScrolled?.(true);\n return;\n }\n try {\n const scrollDOM = scrollRef?.current || document.querySelector('.sendbird-conversation__messages-padding');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n setIsScrolled?.(true);\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = ({\n channelUrl,\n pubSub,\n dispatcher,\n scrollRef,\n}) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_FAILED, pubSub.subscribe(topics.SEND_MESSAGE_FAILED, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && (channelUrl === channel?.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return OutgoingMessageStates.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return OutgoingMessageStates.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return OutgoingMessageStates.SENT;\n }\n\n const unreadMemberCount = currentGroupChannel?.getUnreadMemberCount(message);\n if (unreadMemberCount === 0) {\n return OutgoingMessageStates.READ;\n }\n\n const isDelivered = currentGroupChannel?.getUndeliveredMemberCount(message) === 0;\n if (isDelivered) {\n return OutgoingMessageStates.DELIVERED;\n }\n\n return OutgoingMessageStates.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const myRole = groupChannel?.myRole;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const isFrozen = groupChannel?.isFrozen;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const myMutedState = groupChannel?.myMutedState;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nconst getUniqueListBy = (arr, key) => [...new Map(arr.map((item) => [item[key], item])).values()];\nconst getUniqueListByMessageId = (arr) => getUniqueListBy(arr, 'messageId');\nconst sortByCreatedAt = (messages) => messages.sort((a, b) => a.createdAt - b.createdAt);\n\nexport const mergeAndSortMessages = (oldMessages, newMessages) => {\n const lastOldMessage = oldMessages[oldMessages.length - 1];\n const firstNewMessage = newMessages[0];\n // If the last message of oldMessages is older than the first message of newMessages,\n // then we can safely append newMessages to oldMessages.\n if (lastOldMessage?.createdAt < firstNewMessage?.createdAt) {\n return [...oldMessages, ...newMessages];\n }\n\n // todo: optimize this\n // If the last message of oldMessages is newer than the first message of newMessages,\n // then we need to merge the two arrays and sort them by createdAt.\n const mergedMessages = [...oldMessages, ...newMessages];\n const unique = getUniqueListByMessageId(mergedMessages);\n return sortByCreatedAt(unique);\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage, currentChannel) => {\n if (!(message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && message?.sender\n && comparingMessage?.sender\n && message?.createdAt\n && comparingMessage?.createdAt\n && message?.sender?.userId\n && comparingMessage?.sender?.userId\n )) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const hasOwnProperty = (property) => (payload) => {\n // eslint-disable-next-line no-prototype-builtins\n if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) {\n return true;\n }\n return false;\n};\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport const isAboutSame = (a, b, px) => (Math.abs(a - b) <= px);\n\nexport default getParsedStatus;\n"],"names":["RESET_MESSAGES","FETCH_INITIAL_MESSAGES_START","FETCH_INITIAL_MESSAGES_SUCCESS","FETCH_INITIAL_MESSAGES_FAILURE","FETCH_PREV_MESSAGES_SUCCESS","FETCH_PREV_MESSAGES_FAILURE","FETCH_NEXT_MESSAGES_SUCCESS","FETCH_NEXT_MESSAGES_FAILURE","SEND_MESSAGE_START","SEND_MESSAGE_SUCESS","SEND_MESSAGE_FAILURE","RESEND_MESSAGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_THREAD_INFO_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","MESSAGE_LIST_PARAMS_CHANGED","UNDEFINED","SUCCEEDED","FAILED","PENDING","getSendingMessageStatus","scrollToRenderedMessage","scrollRef","initialTimeStamp","setIsScrolled","_container$querySelec","container","current","element","querySelectorAll","containerHeight","offsetHeight","elementHeight","elementOffset","scrollTop","offsetTop","_unused","scrollIntoLast","initialTry","arguments","length","undefined","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","_unused2","pubSubHandler","_ref","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","SEND_USER_MESSAGE","msg","channel","message","url","type","channelActions","payload","SEND_MESSAGE_FAILED","SEND_FILE_MESSAGE","UPDATE_USER_MESSAGE","fromSelector","DELETE_MESSAGE","messageId","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getAllEmojisMapFromEmojiContainer","emojiContainer","emojiCategories","allEmojisMap","categoryIndex","emojis","emojiIndex","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getUniqueListBy","arr","map","item","values","getUniqueListByMessageId","sortByCreatedAt","messages","sort","a","b","createdAt","mergeAndSortMessages","oldMessages","newMessages","lastOldMessage","firstNewMessage","mergedMessages","unique","getMessageCreatedAt","format","isSameGroup","comparingMessage","currentChannel","_message$sender","_comparingMessage$sen","_message$sender2","_comparingMessage$sen2","messageType","sender","sendingStatus","isReadMessage","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","isAdminMessage","lastIndexOf","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","isAboutSame","Math","abs"],"mappings":"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"}
1
+ {"version":3,"file":"utils-0c22998a.js","sources":["../src/modules/Channel/context/dux/actionTypes.js","../src/modules/Channel/context/utils.js"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\n\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\n\nexport const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';\nexport const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';\nexport const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';\nexport const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';\nexport const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCESS = 'SEND_MESSAGE_SUCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\n\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\n\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\n","import format from 'date-fns/format';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../../lib/pubSub/topics';\n\nimport { getSendingMessageStatus, isReadMessage } from '../../../utils';\nimport { OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = getSendingMessageStatus();\n\nexport const scrollToRenderedMessage = (scrollRef, initialTimeStamp, setIsScrolled) => {\n try {\n const container = scrollRef.current;\n // scroll into the message with initialTimeStamp\n const element = container.querySelectorAll(`[data-sb-created-at=\"${initialTimeStamp}\"]`)?.[0];\n if (element) {\n // Calculate the offset of the element from the top of the container\n const containerHeight = container.offsetHeight;\n const elementHeight = element.offsetHeight;\n const elementOffset = (containerHeight - elementHeight) / 2;\n // Set the scroll position of the container to bring the element to the middle\n container.scrollTop = element.offsetTop - elementOffset;\n }\n } catch {\n // do nothing\n } finally {\n setIsScrolled?.(true);\n }\n};\n\n/* eslint-disable default-param-last */\nexport const scrollIntoLast = (initialTry = 0, scrollRef, setIsScrolled) => {\n const MAX_TRIES = 10;\n const currentTry = initialTry;\n if (currentTry > MAX_TRIES) {\n setIsScrolled?.(true);\n return;\n }\n try {\n const scrollDOM = scrollRef?.current || document.querySelector('.sendbird-conversation__messages-padding');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n setIsScrolled?.(true);\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = ({\n channelUrl,\n pubSub,\n dispatcher,\n scrollRef,\n}) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_FAILED, pubSub.subscribe(topics.SEND_MESSAGE_FAILED, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && (channelUrl === channel?.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return OutgoingMessageStates.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return OutgoingMessageStates.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return OutgoingMessageStates.SENT;\n }\n\n const unreadMemberCount = currentGroupChannel?.getUnreadMemberCount(message);\n if (unreadMemberCount === 0) {\n return OutgoingMessageStates.READ;\n }\n\n const isDelivered = currentGroupChannel?.getUndeliveredMemberCount(message) === 0;\n if (isDelivered) {\n return OutgoingMessageStates.DELIVERED;\n }\n\n return OutgoingMessageStates.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const myRole = groupChannel?.myRole;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const isFrozen = groupChannel?.isFrozen;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const myMutedState = groupChannel?.myMutedState;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nconst getUniqueListBy = (arr, key) => [...new Map(arr.map((item) => [item[key], item])).values()];\nconst getUniqueListByMessageId = (arr) => getUniqueListBy(arr, 'messageId');\nconst sortByCreatedAt = (messages) => messages.sort((a, b) => a.createdAt - b.createdAt);\n\nexport const mergeAndSortMessages = (oldMessages, newMessages) => {\n const lastOldMessage = oldMessages[oldMessages.length - 1];\n const firstNewMessage = newMessages[0];\n // If the last message of oldMessages is older than the first message of newMessages,\n // then we can safely append newMessages to oldMessages.\n if (lastOldMessage?.createdAt < firstNewMessage?.createdAt) {\n return [...oldMessages, ...newMessages];\n }\n\n // todo: optimize this\n // If the last message of oldMessages is newer than the first message of newMessages,\n // then we need to merge the two arrays and sort them by createdAt.\n const mergedMessages = [...oldMessages, ...newMessages];\n const unique = getUniqueListByMessageId(mergedMessages);\n return sortByCreatedAt(unique);\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage, currentChannel) => {\n if (!(message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && message?.sender\n && comparingMessage?.sender\n && message?.createdAt\n && comparingMessage?.createdAt\n && message?.sender?.userId\n && comparingMessage?.sender?.userId\n )) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const hasOwnProperty = (property) => (payload) => {\n // eslint-disable-next-line no-prototype-builtins\n if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) {\n return true;\n }\n return false;\n};\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport const isAboutSame = (a, b, px) => (Math.abs(a - b) <= px);\n\nexport default getParsedStatus;\n"],"names":["RESET_MESSAGES","FETCH_INITIAL_MESSAGES_START","FETCH_INITIAL_MESSAGES_SUCCESS","FETCH_INITIAL_MESSAGES_FAILURE","FETCH_PREV_MESSAGES_SUCCESS","FETCH_PREV_MESSAGES_FAILURE","FETCH_NEXT_MESSAGES_SUCCESS","FETCH_NEXT_MESSAGES_FAILURE","SEND_MESSAGE_START","SEND_MESSAGE_SUCESS","SEND_MESSAGE_FAILURE","RESEND_MESSAGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_THREAD_INFO_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","MESSAGE_LIST_PARAMS_CHANGED","UNDEFINED","SUCCEEDED","FAILED","PENDING","getSendingMessageStatus","scrollToRenderedMessage","scrollRef","initialTimeStamp","setIsScrolled","_container$querySelec","container","current","element","querySelectorAll","containerHeight","offsetHeight","elementHeight","elementOffset","scrollTop","offsetTop","_unused","scrollIntoLast","initialTry","arguments","length","undefined","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","_unused2","pubSubHandler","_ref","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","SEND_USER_MESSAGE","msg","channel","message","url","type","channelActions","payload","SEND_MESSAGE_FAILED","SEND_FILE_MESSAGE","UPDATE_USER_MESSAGE","fromSelector","DELETE_MESSAGE","messageId","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getAllEmojisMapFromEmojiContainer","emojiContainer","emojiCategories","allEmojisMap","categoryIndex","emojis","emojiIndex","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getUniqueListBy","arr","map","item","values","getUniqueListByMessageId","sortByCreatedAt","messages","sort","a","b","createdAt","mergeAndSortMessages","oldMessages","newMessages","lastOldMessage","firstNewMessage","mergedMessages","unique","getMessageCreatedAt","format","isSameGroup","comparingMessage","currentChannel","_message$sender","_comparingMessage$sen","_message$sender2","_comparingMessage$sen2","messageType","sender","sendingStatus","isReadMessage","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","isAdminMessage","lastIndexOf","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","isAboutSame","Math","abs"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  const noop = () => {};
2
2
 
3
3
  export { noop as n };
4
- //# sourceMappingURL=utils-88995afe.js.map
4
+ //# sourceMappingURL=utils-407da489.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-88995afe.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"MAAaA,IAAI,GAAGA,MAAM;;;;"}
1
+ {"version":3,"file":"utils-407da489.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"MAAaA,IAAI,GAAGA,MAAM;;;;"}
@@ -23,4 +23,4 @@ const copyToClipboard = text => {
23
23
  };
24
24
 
25
25
  export { copyToClipboard as c };
26
- //# sourceMappingURL=utils-648f7f14.js.map
26
+ //# sourceMappingURL=utils-7cc92ac2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-648f7f14.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,MAAAA,eAAe,GAAIC,IAAY,IAAc;AACxD;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AACnD,GAAA;EACA,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACd,KAAC,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACrC,KAAA;AACF,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"utils-7cc92ac2.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,MAAAA,eAAe,GAAIC,IAAY,IAAc;AACxD;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AACnD,GAAA;EACA,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACd,KAAC,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACrC,KAAA;AACF,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
@@ -1,5 +1,5 @@
1
- import { p as isFileMessage, c as isMultipleFilesMessage } from './index-dd767201.js';
2
- import { K } from './index.module-0935752c.js';
1
+ import { p as isFileMessage, c as isMultipleFilesMessage } from './index-5d6a0f12.js';
2
+ import { K } from './index.module-60af77d3.js';
3
3
 
4
4
  function getMessageFirstFileType(message) {
5
5
  return K(message).when(isFileMessage, () => {
@@ -54,4 +54,4 @@ function getMessageFirstFileThumbnailUrl(message) {
54
54
  }
55
55
 
56
56
  export { getMessageFirstFileName as a, getMessageFirstFileThumbnailUrl as b, getMessageFirstFileType as c, getMessageFirstFileUrl as g };
57
- //# sourceMappingURL=utils-dae17f0e.js.map
57
+ //# sourceMappingURL=utils-b97d5113.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-dae17f0e.js","sources":["../src/ui/QuoteMessage/utils.ts"],"sourcesContent":["import { CoreMessageType, isFileMessage, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport function getMessageFirstFileType(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.type ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.mimeType ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nfunction getFirstFileInfo(message: MultipleFilesMessage): UploadedFileInfo | null {\n const fileInfoList: UploadedFileInfo[] = message.fileInfoList;\n return fileInfoList.length > 0 ? fileInfoList[0] : null;\n}\n\nexport function getMessageFirstFileName(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.name ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.fileName ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileUrl(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.url ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.url ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileThumbnails(message: CoreMessageType): Thumbnail[] {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage).thumbnails;\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.thumbnails ?? [];\n })\n .otherwise(() => {\n return [];\n });\n}\n\nexport function getMessageFirstFileThumbnailUrl(message: CoreMessageType): string {\n const thumbnails: Thumbnail[] = getMessageFirstFileThumbnails(message);\n return (thumbnails && thumbnails.length > 0) ? thumbnails[0].url : '';\n}\n"],"names":["getMessageFirstFileType","message","match","when","isFileMessage","_type","type","isMultipleFilesMessage","_getFirstFileInfo$mim","_getFirstFileInfo","getFirstFileInfo","mimeType","otherwise","fileInfoList","length","getMessageFirstFileName","_name","name","_getFirstFileInfo$fil","_getFirstFileInfo2","fileName","getMessageFirstFileUrl","_url","url","_getFirstFileInfo$url","_getFirstFileInfo3","getMessageFirstFileThumbnails","thumbnails","_getFirstFileInfo$thu","_getFirstFileInfo4","getMessageFirstFileThumbnailUrl"],"mappings":"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"}
1
+ {"version":3,"file":"utils-b97d5113.js","sources":["../src/ui/QuoteMessage/utils.ts"],"sourcesContent":["import { CoreMessageType, isFileMessage, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport function getMessageFirstFileType(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.type ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.mimeType ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nfunction getFirstFileInfo(message: MultipleFilesMessage): UploadedFileInfo | null {\n const fileInfoList: UploadedFileInfo[] = message.fileInfoList;\n return fileInfoList.length > 0 ? fileInfoList[0] : null;\n}\n\nexport function getMessageFirstFileName(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.name ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.fileName ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileUrl(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.url ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.url ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileThumbnails(message: CoreMessageType): Thumbnail[] {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage).thumbnails;\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.thumbnails ?? [];\n })\n .otherwise(() => {\n return [];\n });\n}\n\nexport function getMessageFirstFileThumbnailUrl(message: CoreMessageType): string {\n const thumbnails: Thumbnail[] = getMessageFirstFileThumbnails(message);\n return (thumbnails && thumbnails.length > 0) ? thumbnails[0].url : '';\n}\n"],"names":["getMessageFirstFileType","message","match","when","isFileMessage","_type","type","isMultipleFilesMessage","_getFirstFileInfo$mim","_getFirstFileInfo","getFirstFileInfo","mimeType","otherwise","fileInfoList","length","getMessageFirstFileName","_name","name","_getFirstFileInfo$fil","_getFirstFileInfo2","fileName","getMessageFirstFileUrl","_url","url","_getFirstFileInfo$url","_getFirstFileInfo3","getMessageFirstFileThumbnails","thumbnails","_getFirstFileInfo$thu","_getFirstFileInfo4","getMessageFirstFileThumbnailUrl"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { c as LabelStringSet } from './index-ca44517a.js';
1
+ import { c as LabelStringSet } from './index-aa520474.js';
2
2
 
3
3
  const getChannelTitle = (channel, currentUserId, stringSet) => {
4
4
  var _channel$members;
@@ -26,4 +26,4 @@ const getChannelTitle = (channel, currentUserId, stringSet) => {
26
26
  };
27
27
 
28
28
  export { getChannelTitle as g };
29
- //# sourceMappingURL=utils-3a10580f.js.map
29
+ //# sourceMappingURL=utils-cae84d8a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-3a10580f.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","_channel$members","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join"],"mappings":";;AAGO,MAAMA,eAAe,GAAGA,CAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,KAC3B;AAAA,EAAA,IAAAC,gBAAA,CAAA;AACX,EAAA,MAAMC,gBAA6C,GAAGF,SAAS,IAAIG,cAAc,CAAA;AACjF,EAAA,IAAI,EAACL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,CAAI,IAAA,EAACN,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEO,OAAO,CAAE,EAAA;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AAClC,GAAA;AACA,EAAA,IAAIR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,IAAIN,OAAO,CAACM,IAAI,KAAK,eAAe,EAAE;IACrD,OAAON,OAAO,CAACM,IAAI,CAAA;AACrB,GAAA;AAEA,EAAA,IAAI,CAAAN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAG,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPH,OAAO,CAAEO,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBM,MAAM,MAAK,CAAC,EAAE;IAClC,OAAOL,gBAAgB,CAACM,UAAU,CAAA;AACpC,GAAA;EAEA,OAAOV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEO,OAAO,CACpBI,MAAM,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,MAAAA;AAAO,KAAC,GAAAD,IAAA,CAAA;IAAA,OAAKC,MAAM,KAAKZ,aAAa,CAAA;GAAC,CAAA,CAChDa,GAAG,CAACC,KAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,QAAAA;AAAS,KAAC,GAAAD,KAAA,CAAA;AAAA,IAAA,OAAMC,QAAQ,IAAIZ,gBAAgB,CAACa,OAAO,CAAA;AAAA,GAAC,CAAC,CAC7DC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
1
+ {"version":3,"file":"utils-cae84d8a.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","_channel$members","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join"],"mappings":";;AAGO,MAAMA,eAAe,GAAGA,CAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,KAC3B;AAAA,EAAA,IAAAC,gBAAA,CAAA;AACX,EAAA,MAAMC,gBAA6C,GAAGF,SAAS,IAAIG,cAAc,CAAA;AACjF,EAAA,IAAI,EAACL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,CAAI,IAAA,EAACN,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEO,OAAO,CAAE,EAAA;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AAClC,GAAA;AACA,EAAA,IAAIR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEM,IAAI,IAAIN,OAAO,CAACM,IAAI,KAAK,eAAe,EAAE;IACrD,OAAON,OAAO,CAACM,IAAI,CAAA;AACrB,GAAA;AAEA,EAAA,IAAI,CAAAN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAG,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPH,OAAO,CAAEO,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBM,MAAM,MAAK,CAAC,EAAE;IAClC,OAAOL,gBAAgB,CAACM,UAAU,CAAA;AACpC,GAAA;EAEA,OAAOV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEO,OAAO,CACpBI,MAAM,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,MAAAA;AAAO,KAAC,GAAAD,IAAA,CAAA;IAAA,OAAKC,MAAM,KAAKZ,aAAa,CAAA;GAAC,CAAA,CAChDa,GAAG,CAACC,KAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,QAAAA;AAAS,KAAC,GAAAD,KAAA,CAAA;AAAA,IAAA,OAAMC,QAAQ,IAAIZ,gBAAgB,CAACa,OAAO,CAAA;AAAA,GAAC,CAAC,CAC7DC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
@@ -28,4 +28,4 @@ const generateDefaultAvatar = channel => {
28
28
  };
29
29
 
30
30
  export { getChannelAvatarSource as a, getOpenChannelAvatar as b, generateDefaultAvatar as g };
31
- //# sourceMappingURL=utils-1467ebd7.js.map
31
+ //# sourceMappingURL=utils-ebf008e2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-1467ebd7.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_ref","profileUrl","generateDefaultAvatar"],"mappings":"AAGO,MAAMA,kBAAkB,GAAG,iDAAiD,CAAA;AAEtEC,MAAAA,oBAAoB,GAAIC,OAAoB,IAAa;AACpE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,GAAA;AACF,EAAC;MAEYC,sBAAsB,GAAGA,CAACF,OAAqB,EAAEG,aAAqB,KAA6B;AAC9G,EAAA,IAAIH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAE,IAAGN,kBAAmB,CAAA,CAAC,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,KAAA;AACF,GAAA;EACA,OAAO,CAAC,CAAAD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAC,CACnDO,GAAG,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,UAAAA;AAAW,KAAC,GAAAD,IAAA,CAAA;AAAA,IAAA,OAAKC,UAAU,CAAA;GAAC,CAAA,CAAA;AACxC,EAAC;AAEYC,MAAAA,qBAAqB,GAAIb,OAAqB,IAAc;AACvE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAE,CAAA,CAAA,EAAGN,kBAAmB,CAAC,CAAA,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"utils-ebf008e2.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_ref","profileUrl","generateDefaultAvatar"],"mappings":"AAGO,MAAMA,kBAAkB,GAAG,iDAAiD,CAAA;AAEtEC,MAAAA,oBAAoB,GAAIC,OAAoB,IAAa;AACpE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,GAAA;AACF,EAAC;MAEYC,sBAAsB,GAAGA,CAACF,OAAqB,EAAEG,aAAqB,KAA6B;AAC9G,EAAA,IAAIH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAE,IAAGN,kBAAmB,CAAA,CAAC,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACzB,KAAA;AACF,GAAA;EACA,OAAO,CAAC,CAAAD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAC,CACnDO,GAAG,CAACC,IAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,UAAAA;AAAW,KAAC,GAAAD,IAAA,CAAA;AAAA,IAAA,OAAKC,UAAU,CAAA;GAAC,CAAA,CAAA;AACxC,EAAC;AAEYC,MAAAA,qBAAqB,GAAIb,OAAqB,IAAc;AACvE,EAAA,IAAIA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAE,CAAA,CAAA,EAAGN,kBAAmB,CAAC,CAAA,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -10,4 +10,4 @@ const uuidv4 = () => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c =
10
10
  });
11
11
 
12
12
  export { uuidv4 as u };
13
- //# sourceMappingURL=uuid-2e10561d.js.map
13
+ //# sourceMappingURL=uuid-16373bba.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-2e10561d.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,MAAAA,MAAM,GAAGA,MAAc,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;EACjG,MAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,EAAA,MAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,EAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;;;;"}
1
+ {"version":3,"file":"uuid-16373bba.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,MAAAA,MAAM,GAAGA,MAAc,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;EACjG,MAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,EAAA,MAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,EAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;;;;"}
package/withSendbird.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-127d506a.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-50c9576f.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  // import { SendBirdState } from './SendbirdState';