@sendbird/uikit-react 3.7.0-rc.0 → 3.7.0

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 (532) hide show
  1. package/App.js +52 -52
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +46 -46
  4. package/Channel/components/FileViewer.js +19 -19
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +33 -33
  8. package/Channel/components/MessageList.js +42 -42
  9. package/Channel/components/RemoveMessageModal.js +23 -23
  10. package/Channel/components/SuggestedMentionList.js +19 -19
  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 +6 -6
  15. package/Channel/utils/getMessagePartsInfo.js +7 -7
  16. package/Channel.js +46 -46
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +32 -32
  20. package/ChannelList/components/ChannelPreview.js +30 -30
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +8 -8
  23. package/ChannelList.js +32 -32
  24. package/{ChannelListProvider-f520f5b3.js → ChannelListProvider-eccd99c6.js} +8 -8
  25. package/{ChannelListProvider-f520f5b3.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
  26. package/{ChannelProvider-7f6fd1f8.js → ChannelProvider-9ba5893a.js} +42 -43
  27. package/ChannelProvider-9ba5893a.js.map +1 -0
  28. package/ChannelSettings/components/ChannelProfile.js +14 -14
  29. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  30. package/ChannelSettings/components/EditDetailsModal.js +14 -14
  31. package/ChannelSettings/components/LeaveChannel.js +13 -13
  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 +17 -17
  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 +3 -3
  41. package/CreateChannel.js +14 -14
  42. package/{CreateChannelProvider-c25dd81b.js → CreateChannelProvider-a2885972.js} +1 -1
  43. package/{CreateChannelProvider-c25dd81b.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
  44. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  45. package/CreateOpenChannel/context.js +1 -1
  46. package/CreateOpenChannel.js +12 -12
  47. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  48. package/EditUserProfile.js +13 -13
  49. package/{LocalizationContext-d18a86d8.js → LocalizationContext-287ee149.js} +3 -3
  50. package/{LocalizationContext-d18a86d8.js.map → LocalizationContext-287ee149.js.map} +1 -1
  51. package/{MediaQueryContext-3eeeec4f.js → MediaQueryContext-114ca049.js} +1 -1
  52. package/{MediaQueryContext-3eeeec4f.js.map → MediaQueryContext-114ca049.js.map} +1 -1
  53. package/{MemberList-469dae9b.js → MemberList-4e71a841.js} +7 -7
  54. package/{MemberList-469dae9b.js.map → MemberList-4e71a841.js.map} +1 -1
  55. package/MessageSearch/components/MessageSearchUI.js +12 -12
  56. package/MessageSearch/context.js +1 -1
  57. package/MessageSearch.js +12 -12
  58. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  59. package/OpenChannel/components/OpenChannelHeader.js +11 -11
  60. package/OpenChannel/components/OpenChannelInput.js +21 -21
  61. package/OpenChannel/components/OpenChannelMessage.js +32 -32
  62. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  63. package/OpenChannel/components/OpenChannelUI.js +34 -34
  64. package/OpenChannel/context.js +7 -7
  65. package/OpenChannel.js +34 -34
  66. package/OpenChannelList/components/OpenChannelListUI.js +14 -14
  67. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  68. package/OpenChannelList/context.js +2 -2
  69. package/OpenChannelList.js +14 -14
  70. package/{OpenChannelListProvider-24e735a1.js → OpenChannelListProvider-45d4ab54.js} +2 -2
  71. package/{OpenChannelListProvider-24e735a1.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
  72. package/{OpenChannelProvider-e9cb0f98.js → OpenChannelProvider-9818f9ed.js} +6 -6
  73. package/{OpenChannelProvider-e9cb0f98.js.map → OpenChannelProvider-9818f9ed.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 +17 -17
  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 +17 -17
  81. package/{RemoveMessageModal-f0cd37a5.js → RemoveMessageModal-007c2f04.js} +6 -6
  82. package/{RemoveMessageModal-f0cd37a5.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
  83. package/SendbirdProvider.js +18 -18
  84. package/SendbirdProvider.js.map +1 -1
  85. package/Thread/components/ParentMessageInfo.js +38 -38
  86. package/Thread/components/ParentMessageInfoItem.js +25 -25
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +42 -42
  89. package/Thread/components/ThreadListItem.js +42 -42
  90. package/Thread/components/ThreadMessageInput.js +33 -33
  91. package/Thread/components/ThreadUI.js +45 -45
  92. package/Thread/context.js +12 -10
  93. package/Thread/context.js.map +1 -1
  94. package/Thread.js +45 -45
  95. package/{UserProfileContext-26e71f9a.js → UserProfileContext-2001a468.js} +1 -1
  96. package/{UserProfileContext-26e71f9a.js.map → UserProfileContext-2001a468.js.map} +1 -1
  97. package/VoicePlayer/context.js +3 -3
  98. package/VoicePlayer/useVoicePlayer.js +12 -12
  99. package/VoiceRecorder/context.js +12 -12
  100. package/VoiceRecorder/useVoiceRecorder.js +11 -11
  101. package/{WebAudioUtils-dbb010a5.js → WebAudioUtils-31f7c8eb.js} +2 -2
  102. package/{WebAudioUtils-dbb010a5.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
  103. package/{_rollupPluginBabelHelpers-07dcbc2b.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
  104. package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
  105. package/{actionTypes-3cd49b5c.js → actionTypes-324495ed.js} +1 -1
  106. package/{actionTypes-3cd49b5c.js.map → actionTypes-324495ed.js.map} +1 -1
  107. package/cjs/App.js +52 -52
  108. package/cjs/Channel/components/ChannelHeader.js +22 -22
  109. package/cjs/Channel/components/ChannelUI.js +46 -46
  110. package/cjs/Channel/components/FileViewer.js +19 -19
  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 +33 -33
  114. package/cjs/Channel/components/MessageList.js +42 -42
  115. package/cjs/Channel/components/RemoveMessageModal.js +23 -23
  116. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  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 +6 -6
  121. package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
  122. package/cjs/Channel.js +46 -46
  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 +32 -32
  126. package/cjs/ChannelList/components/ChannelPreview.js +30 -30
  127. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  128. package/cjs/ChannelList/context.js +8 -8
  129. package/cjs/ChannelList.js +32 -32
  130. package/cjs/{ChannelListProvider-a418de2e.js → ChannelListProvider-d0ad5a84.js} +8 -8
  131. package/cjs/{ChannelListProvider-a418de2e.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
  132. package/cjs/{ChannelProvider-7fa98120.js → ChannelProvider-fc111e5f.js} +42 -43
  133. package/cjs/ChannelProvider-fc111e5f.js.map +1 -0
  134. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  136. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
  137. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  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 +17 -17
  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 +3 -3
  147. package/cjs/CreateChannel.js +14 -14
  148. package/cjs/{CreateChannelProvider-70c9cb7c.js → CreateChannelProvider-c3c843e4.js} +1 -1
  149. package/cjs/{CreateChannelProvider-70c9cb7c.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
  150. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  151. package/cjs/CreateOpenChannel/context.js +1 -1
  152. package/cjs/CreateOpenChannel.js +12 -12
  153. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  154. package/cjs/EditUserProfile.js +13 -13
  155. package/cjs/{LocalizationContext-5009012e.js → LocalizationContext-58b6ed7c.js} +3 -3
  156. package/cjs/{LocalizationContext-5009012e.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
  157. package/cjs/{MediaQueryContext-d6fdbe43.js → MediaQueryContext-6141d955.js} +1 -1
  158. package/cjs/{MediaQueryContext-d6fdbe43.js.map → MediaQueryContext-6141d955.js.map} +1 -1
  159. package/cjs/{MemberList-529a0086.js → MemberList-2bd3db33.js} +7 -7
  160. package/cjs/{MemberList-529a0086.js.map → MemberList-2bd3db33.js.map} +1 -1
  161. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  162. package/cjs/MessageSearch/context.js +1 -1
  163. package/cjs/MessageSearch.js +12 -12
  164. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  165. package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
  166. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  170. package/cjs/OpenChannel/context.js +7 -7
  171. package/cjs/OpenChannel.js +34 -34
  172. package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
  173. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  174. package/cjs/OpenChannelList/context.js +2 -2
  175. package/cjs/OpenChannelList.js +14 -14
  176. package/cjs/{OpenChannelListProvider-0b8cd3bf.js → OpenChannelListProvider-a8560978.js} +2 -2
  177. package/cjs/{OpenChannelListProvider-0b8cd3bf.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
  178. package/cjs/{OpenChannelProvider-d8cc11fe.js → OpenChannelProvider-39f13647.js} +6 -6
  179. package/cjs/{OpenChannelProvider-d8cc11fe.js.map → OpenChannelProvider-39f13647.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 +17 -17
  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 +17 -17
  187. package/cjs/{RemoveMessageModal-f029d40e.js → RemoveMessageModal-afc3e268.js} +6 -6
  188. package/cjs/{RemoveMessageModal-f029d40e.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
  189. package/cjs/SendbirdProvider.js +18 -18
  190. package/cjs/SendbirdProvider.js.map +1 -1
  191. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  192. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  193. package/cjs/Thread/components/ThreadHeader.js +6 -6
  194. package/cjs/Thread/components/ThreadList.js +42 -42
  195. package/cjs/Thread/components/ThreadListItem.js +42 -42
  196. package/cjs/Thread/components/ThreadMessageInput.js +33 -33
  197. package/cjs/Thread/components/ThreadUI.js +45 -45
  198. package/cjs/Thread/context.js +12 -10
  199. package/cjs/Thread/context.js.map +1 -1
  200. package/cjs/Thread.js +45 -45
  201. package/cjs/{UserProfileContext-922a43ec.js → UserProfileContext-c6d7abb7.js} +1 -1
  202. package/cjs/{UserProfileContext-922a43ec.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
  205. package/cjs/VoiceRecorder/context.js +12 -12
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
  207. package/cjs/{WebAudioUtils-29717597.js → WebAudioUtils-36803ab2.js} +2 -2
  208. package/cjs/{WebAudioUtils-29717597.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
  209. package/cjs/{_rollupPluginBabelHelpers-94c18dc1.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
  210. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
  211. package/cjs/{actionTypes-7fa02f94.js → actionTypes-327123b5.js} +1 -1
  212. package/cjs/{actionTypes-7fa02f94.js.map → actionTypes-327123b5.js.map} +1 -1
  213. package/cjs/{color-477ddbd4.js → color-5bf5a8f5.js} +1 -1
  214. package/cjs/{color-477ddbd4.js.map → color-5bf5a8f5.js.map} +1 -1
  215. package/cjs/{compareIds-de541666.js → compareIds-28c6af62.js} +1 -1
  216. package/cjs/{compareIds-de541666.js.map → compareIds-28c6af62.js.map} +1 -1
  217. package/cjs/{const-640252c1.js → const-876980e8.js} +1 -1
  218. package/cjs/{const-640252c1.js.map → const-876980e8.js.map} +1 -1
  219. package/cjs/{const-9def5c09.js → const-c9e7a340.js} +1 -1
  220. package/cjs/{const-9def5c09.js.map → const-c9e7a340.js.map} +1 -1
  221. package/cjs/{consts-a3b7ae99.js → consts-61d83828.js} +1 -1
  222. package/cjs/{consts-a3b7ae99.js.map → consts-61d83828.js.map} +1 -1
  223. package/cjs/{consts-54f5c12d.js → consts-b3c4f548.js} +1 -1
  224. package/cjs/{consts-54f5c12d.js.map → consts-b3c4f548.js.map} +1 -1
  225. package/cjs/{consts-85cd42fa.js → consts-b711321c.js} +1 -1
  226. package/cjs/{consts-85cd42fa.js.map → consts-b711321c.js.map} +1 -1
  227. package/cjs/{consts-95462b21.js → consts-f54b15c2.js} +1 -1
  228. package/cjs/{consts-95462b21.js.map → consts-f54b15c2.js.map} +1 -1
  229. package/cjs/{context-9814fafe.js → context-6684538e.js} +2 -2
  230. package/cjs/{context-9814fafe.js.map → context-6684538e.js.map} +1 -1
  231. package/cjs/dist/index.css +55 -55
  232. package/cjs/dist/index.css.map +1 -1
  233. package/cjs/hooks/useModal.js +11 -11
  234. package/cjs/{index-826b76d5.js → index-134e9852.js} +2 -2
  235. package/cjs/{index-826b76d5.js.map → index-134e9852.js.map} +1 -1
  236. package/cjs/{index-b6d51e74.js → index-3448df64.js} +2 -2
  237. package/cjs/{index-b6d51e74.js.map → index-3448df64.js.map} +1 -1
  238. package/cjs/{index-80a11b6a.js → index-45933be9.js} +2 -2
  239. package/cjs/{index-80a11b6a.js.map → index-45933be9.js.map} +1 -1
  240. package/cjs/{index-ee3bf381.js → index-4c378655.js} +4 -4
  241. package/cjs/{index-ee3bf381.js.map → index-4c378655.js.map} +1 -1
  242. package/cjs/{index-6b0644d7.js → index-4e939c26.js} +9 -9
  243. package/cjs/{index-6b0644d7.js.map → index-4e939c26.js.map} +1 -1
  244. package/cjs/{index-aeb36f01.js → index-520e12b8.js} +7 -7
  245. package/cjs/{index-aeb36f01.js.map → index-520e12b8.js.map} +1 -1
  246. package/cjs/{index-609b07a2.js → index-54279ec2.js} +1 -1
  247. package/cjs/{index-609b07a2.js.map → index-54279ec2.js.map} +1 -1
  248. package/cjs/{index-c22e0cbf.js → index-692ea6aa.js} +2 -2
  249. package/cjs/{index-c22e0cbf.js.map → index-692ea6aa.js.map} +1 -1
  250. package/cjs/{index-83d2aed9.js → index-7627b546.js} +3 -3
  251. package/cjs/{index-83d2aed9.js.map → index-7627b546.js.map} +1 -1
  252. package/cjs/{index-0ec5a831.js → index-a95c4ab4.js} +3 -3
  253. package/cjs/{index-0ec5a831.js.map → index-a95c4ab4.js.map} +1 -1
  254. package/cjs/{index-35820a94.js → index-b5a9b4b7.js} +2 -2
  255. package/cjs/{index-35820a94.js.map → index-b5a9b4b7.js.map} +1 -1
  256. package/cjs/{index-daf80c58.js → index-b8ba4548.js} +1 -1
  257. package/cjs/{index-daf80c58.js.map → index-b8ba4548.js.map} +1 -1
  258. package/cjs/{index-7b0c6630.js → index-bc6623d7.js} +11 -11
  259. package/cjs/{index-7b0c6630.js.map → index-bc6623d7.js.map} +1 -1
  260. package/cjs/{index-bdf7089c.js → index-cc2e05a4.js} +5 -5
  261. package/cjs/{index-bdf7089c.js.map → index-cc2e05a4.js.map} +1 -1
  262. package/cjs/{index-e81e2882.js → index-ce07a2a3.js} +4 -4
  263. package/cjs/{index-e81e2882.js.map → index-ce07a2a3.js.map} +1 -1
  264. package/cjs/{index-b995f638.js → index-dbe8dd84.js} +3 -3
  265. package/cjs/{index-b995f638.js.map → index-dbe8dd84.js.map} +1 -1
  266. package/cjs/{index-0a25b9b2.js → index-e5e6d9b0.js} +4 -4
  267. package/cjs/{index-0a25b9b2.js.map → index-e5e6d9b0.js.map} +1 -1
  268. package/cjs/{index-fd8a0abb.js → index-e8928da6.js} +1 -1
  269. package/cjs/{index-fd8a0abb.js.map → index-e8928da6.js.map} +1 -1
  270. package/cjs/index.js +56 -56
  271. package/cjs/{resolvedReplyType-c20ef661.js → resolvedReplyType-c4564ebe.js} +1 -1
  272. package/cjs/{resolvedReplyType-c20ef661.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
  273. package/cjs/sendbirdSelectors.js +1 -1
  274. package/cjs/{stringFormatterUtils-e324636c.js → stringFormatterUtils-92dbef3c.js} +3 -3
  275. package/cjs/{stringFormatterUtils-e324636c.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
  276. package/cjs/{stringSet-98b52c49.js → stringSet-1539ac47.js} +1 -1
  277. package/cjs/{stringSet-98b52c49.js.map → stringSet-1539ac47.js.map} +1 -1
  278. package/cjs/{tokenize-91bdbeb0.js → tokenize-d5286fa8.js} +3 -3
  279. package/cjs/{tokenize-91bdbeb0.js.map → tokenize-d5286fa8.js.map} +1 -1
  280. package/cjs/{tslib.es6-2f2b0bca.js → tslib.es6-c74b513f.js} +1 -1
  281. package/cjs/{tslib.es6-2f2b0bca.js.map → tslib.es6-c74b513f.js.map} +1 -1
  282. package/cjs/{types-66554668.js → types-d0d770c3.js} +1 -1
  283. package/cjs/{types-66554668.js.map → types-d0d770c3.js.map} +1 -1
  284. package/cjs/{types-31ed2276.js → types-feda9656.js} +1 -1
  285. package/cjs/{types-31ed2276.js.map → types-feda9656.js.map} +1 -1
  286. package/cjs/ui/Accordion.js +3 -3
  287. package/cjs/ui/AccordionGroup.js +2 -2
  288. package/cjs/ui/AdminMessage.js +3 -3
  289. package/cjs/ui/Avatar.js +2 -2
  290. package/cjs/ui/Badge.js +5 -5
  291. package/cjs/ui/BottomSheet.js +6 -6
  292. package/cjs/ui/Button.js +4 -4
  293. package/cjs/ui/ChannelAvatar.js +3 -3
  294. package/cjs/ui/ConnectionStatus.js +4 -4
  295. package/cjs/ui/ContextMenu.js +6 -6
  296. package/cjs/ui/DateSeparator.js +4 -4
  297. package/cjs/ui/EmojiReactions.js +15 -15
  298. package/cjs/ui/FileMessageItemBody.js +7 -7
  299. package/cjs/ui/FileViewer.js +14 -14
  300. package/cjs/ui/IconButton.js +1 -1
  301. package/cjs/ui/ImageRenderer.js +1 -1
  302. package/cjs/ui/Input.js +2 -2
  303. package/cjs/ui/Label.js +2 -2
  304. package/cjs/ui/LinkLabel.js +2 -2
  305. package/cjs/ui/Loader.js +1 -1
  306. package/cjs/ui/MentionLabel.js +11 -11
  307. package/cjs/ui/MentionUserLabel.js +1 -1
  308. package/cjs/ui/MessageContent.js +37 -37
  309. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
  310. package/cjs/ui/MessageInput.js +16 -16
  311. package/cjs/ui/MessageItemMenu.js +19 -19
  312. package/cjs/ui/MessageItemReactionMenu.js +10 -10
  313. package/cjs/ui/MessageSearchFileItem.js +12 -12
  314. package/cjs/ui/MessageSearchItem.js +9 -9
  315. package/cjs/ui/MessageStatus.js +11 -11
  316. package/cjs/ui/Modal.js +10 -10
  317. package/cjs/ui/OGMessageItemBody.js +14 -14
  318. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  319. package/cjs/ui/OpenChannelAvatar.js +6 -6
  320. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  321. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  322. package/cjs/ui/OpenchannelOGMessage.js +19 -19
  323. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  324. package/cjs/ui/OpenchannelUserMessage.js +17 -17
  325. package/cjs/ui/PlaceHolder.js +5 -5
  326. package/cjs/ui/PlaybackTime.js +2 -2
  327. package/cjs/ui/QuoteMessage.js +8 -8
  328. package/cjs/ui/QuoteMessageInput.js +8 -8
  329. package/cjs/ui/ReactionBadge.js +3 -3
  330. package/cjs/ui/ReactionButton.js +5 -5
  331. package/cjs/ui/SortByRow.js +2 -2
  332. package/cjs/ui/TextButton.js +2 -2
  333. package/cjs/ui/TextMessageItemBody.js +14 -14
  334. package/cjs/ui/ThreadReplies.js +6 -6
  335. package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
  336. package/cjs/ui/Toggle.js +1 -1
  337. package/cjs/ui/Tooltip.js +3 -3
  338. package/cjs/ui/TooltipWrapper.js +1 -1
  339. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  340. package/cjs/ui/UserListItem.js +11 -11
  341. package/cjs/ui/UserProfile.js +9 -9
  342. package/cjs/ui/VoiceMessageItemBody.js +12 -12
  343. package/cjs/ui/VoiceMessgeInput.js +8 -8
  344. package/cjs/ui/Word.js +11 -11
  345. package/cjs/{useHandleUploadFiles-fbe6ad64.js → useHandleUploadFiles-39e8d107.js} +11 -11
  346. package/cjs/{useHandleUploadFiles-fbe6ad64.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
  347. package/cjs/{useLongPress-c1da8ba7.js → useLongPress-18b7af79.js} +3 -3
  348. package/cjs/{useLongPress-c1da8ba7.js.map → useLongPress-18b7af79.js.map} +1 -1
  349. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
  350. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
  351. package/cjs/useSendbirdStateContext.js +1 -1
  352. package/cjs/{useStatefulFileInfoList-aa70b6b9.js → useStatefulFileInfoList-c510792f.js} +4 -4
  353. package/cjs/{useStatefulFileInfoList-aa70b6b9.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
  354. package/cjs/utils/message/isVoiceMessage.js +3 -3
  355. package/cjs/{utils-46483130.js → utils-1d0f1e0c.js} +1 -1
  356. package/cjs/{utils-46483130.js.map → utils-1d0f1e0c.js.map} +1 -1
  357. package/cjs/{utils-55fc6797.js → utils-9193a195.js} +4 -4
  358. package/cjs/{utils-55fc6797.js.map → utils-9193a195.js.map} +1 -1
  359. package/cjs/{utils-851724e0.js → utils-93ca9d57.js} +3 -3
  360. package/cjs/{utils-851724e0.js.map → utils-93ca9d57.js.map} +1 -1
  361. package/cjs/{utils-e313131f.js → utils-98441ba6.js} +1 -1
  362. package/cjs/{utils-e313131f.js.map → utils-98441ba6.js.map} +1 -1
  363. package/cjs/{utils-0fac6ad1.js → utils-e6c4b2b0.js} +2 -2
  364. package/cjs/{utils-0fac6ad1.js.map → utils-e6c4b2b0.js.map} +1 -1
  365. package/cjs/{utils-180c6bc8.js → utils-eb6d90e0.js} +1 -1
  366. package/cjs/{utils-180c6bc8.js.map → utils-eb6d90e0.js.map} +1 -1
  367. package/cjs/{uuid-c74bbbb6.js → uuid-9a117e16.js} +1 -1
  368. package/cjs/{uuid-c74bbbb6.js.map → uuid-9a117e16.js.map} +1 -1
  369. package/cjs/withSendbird.js +1 -1
  370. package/{color-1383d4ab.js → color-57373b4c.js} +1 -1
  371. package/{color-1383d4ab.js.map → color-57373b4c.js.map} +1 -1
  372. package/{compareIds-b56b02f1.js → compareIds-7e517404.js} +1 -1
  373. package/{compareIds-b56b02f1.js.map → compareIds-7e517404.js.map} +1 -1
  374. package/{const-e3326913.js → const-73db0277.js} +1 -1
  375. package/{const-e3326913.js.map → const-73db0277.js.map} +1 -1
  376. package/{const-4bc3721f.js → const-93731a4c.js} +1 -1
  377. package/{const-4bc3721f.js.map → const-93731a4c.js.map} +1 -1
  378. package/{consts-f0ba9b80.js → consts-4ec7d640.js} +1 -1
  379. package/{consts-f0ba9b80.js.map → consts-4ec7d640.js.map} +1 -1
  380. package/{consts-7f4d53a3.js → consts-57c888b9.js} +1 -1
  381. package/{consts-7f4d53a3.js.map → consts-57c888b9.js.map} +1 -1
  382. package/{consts-833420ed.js → consts-be37687e.js} +1 -1
  383. package/{consts-833420ed.js.map → consts-be37687e.js.map} +1 -1
  384. package/{consts-aa64aca8.js → consts-d9c5f25a.js} +1 -1
  385. package/{consts-aa64aca8.js.map → consts-d9c5f25a.js.map} +1 -1
  386. package/{context-ae47ac54.js → context-729493c4.js} +2 -2
  387. package/{context-ae47ac54.js.map → context-729493c4.js.map} +1 -1
  388. package/dist/index.css +55 -55
  389. package/dist/index.css.map +1 -1
  390. package/hooks/useModal.js +11 -11
  391. package/{index-c7ed4aef.js → index-04bd1a59.js} +1 -1
  392. package/{index-c7ed4aef.js.map → index-04bd1a59.js.map} +1 -1
  393. package/{index-c6095960.js → index-09847c0f.js} +1 -1
  394. package/{index-c6095960.js.map → index-09847c0f.js.map} +1 -1
  395. package/{index-7a1085b6.js → index-0f017704.js} +11 -11
  396. package/{index-7a1085b6.js.map → index-0f017704.js.map} +1 -1
  397. package/{index-c81fd6ec.js → index-2d27aeef.js} +2 -2
  398. package/{index-c81fd6ec.js.map → index-2d27aeef.js.map} +1 -1
  399. package/{index-ec0c048b.js → index-493689bd.js} +4 -4
  400. package/{index-ec0c048b.js.map → index-493689bd.js.map} +1 -1
  401. package/{index-1969ccd8.js → index-494f9e79.js} +2 -2
  402. package/{index-1969ccd8.js.map → index-494f9e79.js.map} +1 -1
  403. package/{index-942c5fa2.js → index-4b4e9682.js} +7 -7
  404. package/{index-942c5fa2.js.map → index-4b4e9682.js.map} +1 -1
  405. package/{index-89b3b8ba.js → index-62d5f020.js} +9 -9
  406. package/{index-89b3b8ba.js.map → index-62d5f020.js.map} +1 -1
  407. package/{index-1432c287.js → index-682a192c.js} +2 -2
  408. package/{index-1432c287.js.map → index-682a192c.js.map} +1 -1
  409. package/{index-8c72f0bd.js → index-686a551d.js} +2 -2
  410. package/{index-8c72f0bd.js.map → index-686a551d.js.map} +1 -1
  411. package/{index-40447645.js → index-6b3b1eca.js} +5 -5
  412. package/{index-40447645.js.map → index-6b3b1eca.js.map} +1 -1
  413. package/{index-fc1642cb.js → index-776554c0.js} +3 -3
  414. package/{index-fc1642cb.js.map → index-776554c0.js.map} +1 -1
  415. package/{index-12103973.js → index-92741c7e.js} +2 -2
  416. package/{index-12103973.js.map → index-92741c7e.js.map} +1 -1
  417. package/{index-3d508585.js → index-a0638563.js} +4 -4
  418. package/{index-3d508585.js.map → index-a0638563.js.map} +1 -1
  419. package/{index-eec0ce47.js → index-c22e4772.js} +4 -4
  420. package/{index-eec0ce47.js.map → index-c22e4772.js.map} +1 -1
  421. package/{index-124a5766.js → index-e04159fe.js} +3 -3
  422. package/{index-124a5766.js.map → index-e04159fe.js.map} +1 -1
  423. package/{index-d3f61405.js → index-e4277f9c.js} +1 -1
  424. package/{index-d3f61405.js.map → index-e4277f9c.js.map} +1 -1
  425. package/{index-dc1827ea.js → index-f8a9cb51.js} +3 -3
  426. package/{index-dc1827ea.js.map → index-f8a9cb51.js.map} +1 -1
  427. package/index.d.ts +1 -1
  428. package/index.js +56 -56
  429. package/package.json +1 -1
  430. package/{resolvedReplyType-0532593c.js → resolvedReplyType-fb987595.js} +1 -1
  431. package/{resolvedReplyType-0532593c.js.map → resolvedReplyType-fb987595.js.map} +1 -1
  432. package/sendbirdSelectors.js +1 -1
  433. package/{stringFormatterUtils-444f6f4c.js → stringFormatterUtils-abbe70ba.js} +3 -3
  434. package/{stringFormatterUtils-444f6f4c.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
  435. package/{stringSet-1106c8ec.js → stringSet-6422c6b9.js} +1 -1
  436. package/{stringSet-1106c8ec.js.map → stringSet-6422c6b9.js.map} +1 -1
  437. package/{tokenize-d17bf862.js → tokenize-eae44765.js} +3 -3
  438. package/{tokenize-d17bf862.js.map → tokenize-eae44765.js.map} +1 -1
  439. package/{tslib.es6-0c779aab.js → tslib.es6-c2fb729e.js} +1 -1
  440. package/{tslib.es6-0c779aab.js.map → tslib.es6-c2fb729e.js.map} +1 -1
  441. package/{types-50e412d8.js → types-781e0bab.js} +1 -1
  442. package/{types-50e412d8.js.map → types-781e0bab.js.map} +1 -1
  443. package/{types-4ffc52f6.js → types-9d43ac6e.js} +1 -1
  444. package/{types-4ffc52f6.js.map → types-9d43ac6e.js.map} +1 -1
  445. package/ui/Accordion.js +3 -3
  446. package/ui/AccordionGroup.js +2 -2
  447. package/ui/AdminMessage.js +3 -3
  448. package/ui/Avatar.js +2 -2
  449. package/ui/Badge.js +5 -5
  450. package/ui/BottomSheet.js +6 -6
  451. package/ui/Button.js +5 -5
  452. package/ui/ChannelAvatar.js +3 -3
  453. package/ui/ConnectionStatus.js +4 -4
  454. package/ui/ContextMenu.js +6 -6
  455. package/ui/DateSeparator.js +4 -4
  456. package/ui/EmojiReactions.js +15 -15
  457. package/ui/FileMessageItemBody.js +7 -7
  458. package/ui/FileViewer.js +14 -14
  459. package/ui/IconButton.js +1 -1
  460. package/ui/ImageRenderer.js +1 -1
  461. package/ui/Input.js +2 -2
  462. package/ui/Label.js +2 -2
  463. package/ui/LinkLabel.js +2 -2
  464. package/ui/Loader.js +1 -1
  465. package/ui/MentionLabel.js +11 -11
  466. package/ui/MentionUserLabel.js +1 -1
  467. package/ui/MessageContent.js +37 -37
  468. package/ui/MessageInput/hooks/usePaste.js +5 -5
  469. package/ui/MessageInput.js +16 -16
  470. package/ui/MessageItemMenu.js +19 -19
  471. package/ui/MessageItemReactionMenu.js +10 -10
  472. package/ui/MessageSearchFileItem.js +12 -12
  473. package/ui/MessageSearchItem.js +9 -9
  474. package/ui/MessageStatus.js +11 -11
  475. package/ui/Modal.js +10 -10
  476. package/ui/OGMessageItemBody.js +14 -14
  477. package/ui/OpenChannelAdminMessage.js +3 -3
  478. package/ui/OpenChannelAvatar.js +6 -6
  479. package/ui/OpenchannelConversationHeader.js +6 -6
  480. package/ui/OpenchannelFileMessage.js +17 -17
  481. package/ui/OpenchannelOGMessage.js +19 -19
  482. package/ui/OpenchannelThumbnailMessage.js +16 -16
  483. package/ui/OpenchannelUserMessage.js +17 -17
  484. package/ui/PlaceHolder.js +5 -5
  485. package/ui/PlaybackTime.js +2 -2
  486. package/ui/QuoteMessage.js +8 -8
  487. package/ui/QuoteMessageInput.js +8 -8
  488. package/ui/ReactionBadge.js +3 -3
  489. package/ui/ReactionButton.js +5 -5
  490. package/ui/SortByRow.js +2 -2
  491. package/ui/TextButton.js +2 -2
  492. package/ui/TextMessageItemBody.js +14 -14
  493. package/ui/ThreadReplies.js +6 -6
  494. package/ui/ThumbnailMessageItemBody.js +8 -8
  495. package/ui/Toggle.js +1 -1
  496. package/ui/Tooltip.js +3 -3
  497. package/ui/TooltipWrapper.js +1 -1
  498. package/ui/UnknownMessageItemBody.js +7 -7
  499. package/ui/UserListItem.js +11 -11
  500. package/ui/UserProfile.js +9 -9
  501. package/ui/VoiceMessageItemBody.js +12 -12
  502. package/ui/VoiceMessgeInput.js +8 -8
  503. package/ui/Word.js +11 -11
  504. package/{useHandleUploadFiles-33aff88e.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
  505. package/{useHandleUploadFiles-33aff88e.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
  506. package/{useLongPress-322bb6a3.js → useLongPress-f8655a14.js} +3 -3
  507. package/{useLongPress-322bb6a3.js.map → useLongPress-f8655a14.js.map} +1 -1
  508. package/{useSendMultipleFilesMessage-4489a0f6.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
  509. package/{useSendMultipleFilesMessage-4489a0f6.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
  510. package/useSendbirdStateContext.js +1 -1
  511. package/{useStatefulFileInfoList-dd95f949.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
  512. package/{useStatefulFileInfoList-dd95f949.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
  513. package/utils/message/isVoiceMessage.js +3 -3
  514. package/{utils-48a3ef27.js → utils-2c1f072b.js} +1 -1
  515. package/{utils-48a3ef27.js.map → utils-2c1f072b.js.map} +1 -1
  516. package/{utils-74c161a0.js → utils-6c50a6d1.js} +1 -1
  517. package/{utils-74c161a0.js.map → utils-6c50a6d1.js.map} +1 -1
  518. package/{utils-40040f8e.js → utils-aa4086dc.js} +4 -4
  519. package/{utils-40040f8e.js.map → utils-aa4086dc.js.map} +1 -1
  520. package/{utils-e98a7f8c.js → utils-bfc0ab3b.js} +3 -3
  521. package/{utils-e98a7f8c.js.map → utils-bfc0ab3b.js.map} +1 -1
  522. package/{utils-158c1683.js → utils-fa321757.js} +1 -1
  523. package/{utils-158c1683.js.map → utils-fa321757.js.map} +1 -1
  524. package/{utils-3660243c.js → utils-fc1f5aa0.js} +2 -2
  525. package/{utils-3660243c.js.map → utils-fc1f5aa0.js.map} +1 -1
  526. package/{uuid-3c77ef7b.js → uuid-c15b8b3b.js} +1 -1
  527. package/{uuid-3c77ef7b.js.map → uuid-c15b8b3b.js.map} +1 -1
  528. package/withSendbird.js +1 -1
  529. package/ChannelProvider-7f6fd1f8.js.map +0 -1
  530. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +0 -1
  531. package/cjs/ChannelProvider-7fa98120.js.map +0 -1
  532. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +0 -1
@@ -1,31 +1,31 @@
1
- import { c as __spreadArray } from '../tslib.es6-0c779aab.js';
1
+ import { c as __spreadArray } from '../tslib.es6-c2fb729e.js';
2
2
  import React__default, { useContext } from 'react';
3
- import { a as UserProfileContext } from '../UserProfileContext-26e71f9a.js';
4
- import { a as LocalizationContext } from '../LocalizationContext-d18a86d8.js';
3
+ import { a as UserProfileContext } from '../UserProfileContext-2001a468.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-287ee149.js';
5
5
  import Avatar from './Avatar.js';
6
6
  import MutedAvatarOverlay from './MutedAvatarOverlay.js';
7
7
  import Checkbox from './Checkbox.js';
8
8
  import UserProfile from './UserProfile.js';
9
9
  import ContextMenu, { MenuItems } from './ContextMenu.js';
10
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-12103973.js';
11
- import '../stringSet-1106c8ec.js';
12
- import '../index-d3f61405.js';
10
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-92741c7e.js';
11
+ import '../stringSet-6422c6b9.js';
12
+ import '../index-e4277f9c.js';
13
13
  import './ImageRenderer.js';
14
14
  import './Icon.js';
15
15
  import 'prop-types';
16
- import '../uuid-3c77ef7b.js';
16
+ import '../uuid-c15b8b3b.js';
17
17
  import '../sendbirdSelectors.js';
18
18
  import '../pubSub/topics.js';
19
- import '../utils-74c161a0.js';
19
+ import '../utils-6c50a6d1.js';
20
20
  import './Button.js';
21
- import '../types-4ffc52f6.js';
21
+ import '../types-9d43ac6e.js';
22
22
  import '../useSendbirdStateContext.js';
23
23
  import '../withSendbird.js';
24
24
  import 'react-dom';
25
25
  import './SortByRow.js';
26
- import '../index-fc1642cb.js';
26
+ import '../index-776554c0.js';
27
27
  import '../utils/message/getOutgoingMessageState.js';
28
- import '../index-c6095960.js';
28
+ import '../index-09847c0f.js';
29
29
 
30
30
  function UserListItem(_a) {
31
31
  var user = _a.user,
package/ui/UserProfile.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../LocalizationContext-d18a86d8.js';
3
- import { a as UserProfileContext } from '../UserProfileContext-26e71f9a.js';
2
+ import { a as LocalizationContext } from '../LocalizationContext-287ee149.js';
3
+ import { a as UserProfileContext } from '../UserProfileContext-2001a468.js';
4
4
  import { getCreateGroupChannel } from '../sendbirdSelectors.js';
5
5
  import Avatar from './Avatar.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-12103973.js';
6
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-92741c7e.js';
7
7
  import Button from './Button.js';
8
8
  import { useSendbirdStateContext } from '../useSendbirdStateContext.js';
9
- import { B as ButtonTypes } from '../types-4ffc52f6.js';
10
- import '../stringSet-1106c8ec.js';
11
- import '../index-d3f61405.js';
9
+ import { B as ButtonTypes } from '../types-9d43ac6e.js';
10
+ import '../stringSet-6422c6b9.js';
11
+ import '../index-e4277f9c.js';
12
12
  import '../pubSub/topics.js';
13
- import '../utils-74c161a0.js';
14
- import '../tslib.es6-0c779aab.js';
13
+ import '../utils-6c50a6d1.js';
14
+ import '../tslib.es6-c2fb729e.js';
15
15
  import './ImageRenderer.js';
16
16
  import './Icon.js';
17
17
  import 'prop-types';
18
- import '../uuid-3c77ef7b.js';
18
+ import '../uuid-c15b8b3b.js';
19
19
  import '../withSendbird.js';
20
20
 
21
21
  function UserProfile(_a) {
@@ -4,23 +4,23 @@ import { useVoicePlayer } from '../VoicePlayer/useVoicePlayer.js';
4
4
  import { PlaybackTime } from './PlaybackTime.js';
5
5
  import Loader from './Loader.js';
6
6
  import Icon, { IconTypes, IconColors } from './Icon.js';
7
- import { a as LabelTypography, b as LabelColors } from '../index-12103973.js';
8
- import { a as VOICE_PLAYER_STATUS } from '../index-124a5766.js';
9
- import '../consts-aa64aca8.js';
7
+ import { a as LabelTypography, b as LabelColors } from '../index-92741c7e.js';
8
+ import { a as VOICE_PLAYER_STATUS } from '../index-e04159fe.js';
9
+ import '../consts-d9c5f25a.js';
10
10
  import '../VoiceRecorder/context.js';
11
- import '../LocalizationContext-d18a86d8.js';
12
- import '../stringSet-1106c8ec.js';
13
- import '../index-d3f61405.js';
11
+ import '../LocalizationContext-287ee149.js';
12
+ import '../stringSet-6422c6b9.js';
13
+ import '../index-e4277f9c.js';
14
14
  import './Modal.js';
15
15
  import 'react-dom';
16
- import '../utils-74c161a0.js';
17
- import '../tslib.es6-0c779aab.js';
18
- import '../index-c6095960.js';
19
- import '../index-c7ed4aef.js';
20
- import '../MediaQueryContext-3eeeec4f.js';
16
+ import '../utils-6c50a6d1.js';
17
+ import '../tslib.es6-c2fb729e.js';
18
+ import '../index-09847c0f.js';
19
+ import '../index-04bd1a59.js';
20
+ import '../MediaQueryContext-114ca049.js';
21
21
  import './IconButton.js';
22
22
  import './Button.js';
23
- import '../types-4ffc52f6.js';
23
+ import '../types-9d43ac6e.js';
24
24
  import 'prop-types';
25
25
  import '../useSendbirdStateContext.js';
26
26
  import '../withSendbird.js';
@@ -3,13 +3,13 @@ import './PlaybackTime.js';
3
3
  import './ProgressBar.js';
4
4
  import './TextButton.js';
5
5
  import './Icon.js';
6
- import '../index-12103973.js';
7
- import '../LocalizationContext-d18a86d8.js';
8
- export { a as VoiceMessageInput } from '../index-ec0c048b.js';
9
- import '../consts-aa64aca8.js';
6
+ import '../index-92741c7e.js';
7
+ import '../LocalizationContext-287ee149.js';
8
+ export { a as VoiceMessageInput } from '../index-493689bd.js';
9
+ import '../consts-d9c5f25a.js';
10
10
  import 'prop-types';
11
- import '../stringSet-1106c8ec.js';
12
- import '../tslib.es6-0c779aab.js';
13
- import '../color-1383d4ab.js';
14
- import '../index-d3f61405.js';
11
+ import '../stringSet-6422c6b9.js';
12
+ import '../tslib.es6-c2fb729e.js';
13
+ import '../color-57373b4c.js';
14
+ import '../index-e4277f9c.js';
15
15
  //# sourceMappingURL=VoiceMessgeInput.js.map
package/ui/Word.js CHANGED
@@ -1,29 +1,29 @@
1
1
  import React__default from 'react';
2
- import { a as LabelTypography } from '../index-12103973.js';
2
+ import { a as LabelTypography } from '../index-92741c7e.js';
3
3
  import LinkLabel from './LinkLabel.js';
4
- import { u as uuidv4 } from '../uuid-3c77ef7b.js';
5
- import { V as convertWordToStringObj, W as StringObjType } from '../index-fc1642cb.js';
4
+ import { u as uuidv4 } from '../uuid-c15b8b3b.js';
5
+ import { V as convertWordToStringObj, W as StringObjType } from '../index-776554c0.js';
6
6
  import MentionLabel from './MentionLabel.js';
7
7
  import 'prop-types';
8
- import '../stringSet-1106c8ec.js';
9
- import '../tslib.es6-0c779aab.js';
8
+ import '../stringSet-6422c6b9.js';
9
+ import '../tslib.es6-c2fb729e.js';
10
10
  import '../utils/message/getOutgoingMessageState.js';
11
- import '../index-c6095960.js';
11
+ import '../index-09847c0f.js';
12
12
  import './ContextMenu.js';
13
13
  import 'react-dom';
14
14
  import './SortByRow.js';
15
15
  import './UserProfile.js';
16
- import '../LocalizationContext-d18a86d8.js';
17
- import '../index-d3f61405.js';
18
- import '../UserProfileContext-26e71f9a.js';
16
+ import '../LocalizationContext-287ee149.js';
17
+ import '../index-e4277f9c.js';
18
+ import '../UserProfileContext-2001a468.js';
19
19
  import '../sendbirdSelectors.js';
20
20
  import '../pubSub/topics.js';
21
- import '../utils-74c161a0.js';
21
+ import '../utils-6c50a6d1.js';
22
22
  import './Avatar.js';
23
23
  import './ImageRenderer.js';
24
24
  import './Icon.js';
25
25
  import './Button.js';
26
- import '../types-4ffc52f6.js';
26
+ import '../types-9d43ac6e.js';
27
27
  import '../useSendbirdStateContext.js';
28
28
  import '../withSendbird.js';
29
29
 
@@ -1,20 +1,20 @@
1
1
  import React__default, { useRef, useState, useEffect, useCallback } from 'react';
2
- import { u as useLocalization } from './LocalizationContext-d18a86d8.js';
2
+ import { u as useLocalization } from './LocalizationContext-287ee149.js';
3
3
  import { useVoicePlayer } from './VoicePlayer/useVoicePlayer.js';
4
4
  import { useVoiceRecorder, VoiceRecorderStatus } from './VoiceRecorder/useVoiceRecorder.js';
5
- import { d as isDisabledBecauseFrozen, e as isDisabledBecauseMuted } from './utils-40040f8e.js';
6
- import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-ec0c048b.js';
5
+ import { d as isDisabledBecauseFrozen, e as isDisabledBecauseMuted } from './utils-aa4086dc.js';
6
+ import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-493689bd.js';
7
7
  import { Modal, ModalFooter } from './ui/Modal.js';
8
8
  import Button from './ui/Button.js';
9
9
  import { useSendbirdStateContext } from './useSendbirdStateContext.js';
10
- import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-aa64aca8.js';
11
- import { a as VOICE_PLAYER_STATUS } from './index-124a5766.js';
12
- import { u as uuidv4 } from './uuid-3c77ef7b.js';
13
- import { B as ButtonTypes, a as ButtonSizes } from './types-4ffc52f6.js';
14
- import { h as isImage } from './index-fc1642cb.js';
10
+ import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-d9c5f25a.js';
11
+ import { a as VOICE_PLAYER_STATUS } from './index-e04159fe.js';
12
+ import { u as uuidv4 } from './uuid-c15b8b3b.js';
13
+ import { B as ButtonTypes, a as ButtonSizes } from './types-9d43ac6e.js';
14
+ import { h as isImage } from './index-776554c0.js';
15
15
  import { useGlobalModalContext } from './hooks/useModal.js';
16
- import './tslib.es6-0c779aab.js';
17
- import './index-12103973.js';
16
+ import './tslib.es6-c2fb729e.js';
17
+ import './index-92741c7e.js';
18
18
 
19
19
  var VoiceMessageInputWrapper = function (_a) {
20
20
  var _b;
@@ -274,4 +274,4 @@ var useHandleUploadFiles = function (_a, _b) {
274
274
  };
275
275
 
276
276
  export { VoiceMessageInputWrapper as V, useHandleUploadFiles as u };
277
- //# sourceMappingURL=useHandleUploadFiles-33aff88e.js.map
277
+ //# sourceMappingURL=useHandleUploadFiles-5ede1bfe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHandleUploadFiles-33aff88e.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';\nimport { FileMessage, MultipleFilesMessage } from '@sendbird/chat/message';\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 const ONE_MiB = 1024 * 1024;\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / ONE_MiB)} 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 return otherFiles.reduce((\n previousPromise: Promise<MultipleFilesMessage | FileMessage | void>,\n item: File,\n ) => {\n return previousPromise.then(() => {\n return sendFileMessage(item as File, quoteMessage);\n });\n }, (() => {\n if (imageFiles.length === 0) {\n return Promise.resolve();\n } else if (imageFiles.length === 1) {\n return sendFileMessage(imageFiles[0], quoteMessage);\n } else {\n return sendMultipleFilesMessage(imageFiles, quoteMessage);\n }\n })());\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\n"],"names":["VoiceMessageInputWrapper","_a","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","_c","useState","audioFile","setAudioFile","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmitted","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","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","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","concat","childElement","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","ONE_MiB","Math","floor","imageFiles_1","otherFiles_1","forEach","isImage","push","reduce","previousPromise","item","then","Promise","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"useHandleUploadFiles-5ede1bfe.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';\nimport { FileMessage, MultipleFilesMessage } from '@sendbird/chat/message';\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 const ONE_MiB = 1024 * 1024;\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / ONE_MiB)} 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 return otherFiles.reduce((\n previousPromise: Promise<MultipleFilesMessage | FileMessage | void>,\n item: File,\n ) => {\n return previousPromise.then(() => {\n return sendFileMessage(item as File, quoteMessage);\n });\n }, (() => {\n if (imageFiles.length === 0) {\n return Promise.resolve();\n } else if (imageFiles.length === 1) {\n return sendFileMessage(imageFiles[0], quoteMessage);\n } else {\n return sendMultipleFilesMessage(imageFiles, quoteMessage);\n }\n })());\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\n"],"names":["VoiceMessageInputWrapper","_a","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","_c","useState","audioFile","setAudioFile","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmitted","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","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","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","concat","childElement","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","ONE_MiB","Math","floor","imageFiles_1","otherFiles_1","forEach","isImage","push","reduce","previousPromise","item","then","Promise","resolve"],"mappings":";;;;;;;;;;;;;;;;;;IAwBaA,wBAAwB,GAAG,UAACC,EAIT,EAAA;;AAH9B,EAAA,IAAAC,OAAO,aAAA;IACPC,aAAa,GAAAF,EAAA,CAAAE,aAAA;IACbC,aAAa,GAAAH,EAAA,CAAAG,aAAA,CAAA;EAEb,IAAMC,IAAI,GAAGC,MAAM,CAASC,MAAM,EAAE,CAAC,CAACC,OAAO,CAAA;AACvC,EAAA,IAAAC,EAAA,GAA4BC,QAAQ,CAAO,IAAI,CAAC;AAA/CC,IAAAA,SAAS,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,EAAA,CAAA,CAAA,CAAwB,CAAA;AAChD,EAAA,IAAAI,EAAwC,GAAAH,QAAQ,CAA0BI,uBAAuB,CAACC,eAAe,CAAC;AAAjHC,IAAAA,eAAe,GAAAH,EAAA,CAAA,CAAA,CAAA;AAAEI,IAAAA,kBAAkB,QAA8E,CAAA;AAClH,EAAA,IAAAC,EAAA,GAA2BR,QAAQ,CAAC,KAAK,CAAC;AAAzCS,IAAAA,WAAW,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,EAAA,CAAA,CAAA,CAAmB,CAAA;AAC1C,EAAA,IAAAG,EAAA,GAA4BX,QAAQ,CAAC,KAAK,CAAC;AAA1CY,IAAAA,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,EAAA,CAAA,CAAA,CAAmB,CAAA;AAC3C,EAAA,IAAAG,EAAA,GAA4Bd,QAAQ,CAAC,KAAK,CAAC;AAA1Ce,IAAAA,SAAS,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAmB,CAAA;AACzC,EAAA,IAAAG,SAAS,GAAKC,eAAe,EAAE,UAAtB,CAAA;AACT,EAAA,IAAAC,MAAM,GAAKC,uBAAuB,EAAE,OAA9B,CAAA;AACd,EAAA,IAAMC,gBAAgB,GAAG,CAAA,CAAAC,EAAA,GAAAH,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEI,WAAW,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAED,gBAAgB,KAAIG,0BAA0B,CAAA;EACtF,IAAAC,EAAA,GAOFC,gBAAgB,CAAC;MACnBC,kBAAkB,EAAE,YAAA;AAClBpB,QAAAA,kBAAkB,CAACH,uBAAuB,CAACwB,SAAS,CAAC,CAAA;OACtD;AACDC,MAAAA,gBAAgB,EAAE,UAAC5B,SAAS,EAAA;QAC1BC,YAAY,CAACD,SAAS,CAAC,CAAA;AACzB,OAAA;AACD,KAAA,CAAC;IAbA6B,KAAK,GAAAL,EAAA,CAAAK,KAAA;IACLC,IAAI,GAAAN,EAAA,CAAAM,IAAA;IACJC,MAAM,GAAAP,EAAA,CAAAO,MAAA;IACNC,aAAa,mBAAA;IACbC,eAAe,qBAAA;IACfC,cAAc,oBAQd,CAAA;EACF,IAAMC,WAAW,GAAGC,cAAc,CAAC;AACjCC,IAAAA,UAAU,EAAE9C,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE+C,GAAG;AACxBC,IAAAA,GAAG,EAAE7C,IAAI;AACTM,IAAAA,SAAS,EAAEA,SAAAA;AACZ,GAAA,CAAC,CAAA;AAEA,EAAA,IAAAwC,IAAI,GAIFL,WAAW,KAJT;IACJM,KAAK,GAGHN,WAAW,CAAAM,KAHR;IACLC,YAAY,GAEVP,WAAW,CAFDO,YAAA;IACZC,aAAa,GACXR,WAAW,cADA,CAAA;AAEf,EAAA,IAAMS,eAAe,GAAGT,WAAW,CAACL,IAAI,CAAA;AAExC;AACAe,EAAAA,SAAS,CAAC,YAAA;IACR,IAAIC,uBAAuB,CAACvD,OAAO,CAAC,IAAIwD,sBAAsB,CAACxD,OAAO,CAAC,EAAE;MACvEqB,WAAW,CAAC,IAAI,CAAC,CAAA;AAClB,KAAA,MAAM;MACLA,WAAW,CAAC,KAAK,CAAC,CAAA;AACnB,KAAA;GACF,EAAE,CAACrB,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEyD,MAAM,EAAEzD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0D,QAAQ,EAAE1D,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2D,YAAY,CAAC,CAAC,CAAA;AAE/D;AACAL,EAAAA,SAAS,CAAC,YAAA;IACR,IAAIrC,WAAW,IAAIR,SAAS,EAAE;AAC5BP,MAAAA,aAAa,CAACO,SAAS,EAAEgC,aAAa,CAAC,CAAA;MACvCvB,SAAS,CAAC,KAAK,CAAC,CAAA;MAChBR,YAAY,CAAC,IAAI,CAAC,CAAA;AACnB,KAAA;GACF,EAAE,CAACO,WAAW,EAAER,SAAS,EAAEgC,aAAa,CAAC,CAAC,CAAA;AAC3C;AACAa,EAAAA,SAAS,CAAC,YAAA;AACR,IAAA,IAAI7C,SAAS,EAAE;MACb,IAAIgC,aAAa,GAAGZ,gBAAgB,EAAE;AACpCd,QAAAA,kBAAkB,CAACH,uBAAuB,CAACC,eAAe,CAAC,CAAA;QAC3DH,YAAY,CAAC,IAAI,CAAC,CAAA;AACnB,OAAA,MAAM,IAAI0C,aAAa,KAAKQ,mBAAmB,CAACC,OAAO,EAAE;AACxD9C,QAAAA,kBAAkB,CAACH,uBAAuB,CAACiD,OAAO,CAAC,CAAA;AACpD,OAAA,MAAM;AACL9C,QAAAA,kBAAkB,CAACH,uBAAuB,CAACkD,aAAa,CAAC,CAAA;AAC1D,OAAA;AACF,KAAA;GACF,EAAE,CAACrD,SAAS,EAAEgC,aAAa,EAAEW,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,EAAEzB,eAAe,KAAK0B,mBAAmB,CAACC,SAAS,GAAGlB,YAAY,GAAGV,aAAc;IAC/F6B,YAAY,EAAE5B,eAAe,KAAK0B,mBAAmB,CAACC,SAAS,GAAG5B,aAAa,GAAGE,cAAe;AACjG4B,IAAAA,WAAW,EAAEzD,eAAgB;IAC7Bb,aAAa,EAAE,YAAA;AACbA,MAAAA,aAAa,EAAE,CAAA;AACfuC,MAAAA,MAAM,EAAE,CAAA;AACRa,MAAAA,eAAe,EAAE,CAAA;KACjB;IACFnD,aAAa,EAAE,YAAA;AACb,MAAA,IAAIkB,UAAU,EAAE;QACdI,YAAY,CAAC,IAAI,CAAC,CAAA;AAClBT,QAAAA,kBAAkB,CAACH,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC5D,OAAA,MAAM;AACL0B,QAAAA,IAAI,EAAE,CAAA;AACNW,QAAAA,KAAK,EAAE,CAAA;QACPhC,SAAS,CAAC,IAAI,CAAC,CAAA;AAChB,OAAA;KACD;AACFsD,IAAAA,cAAc,EAAE,UAACC,IAAI,EAAA;AACnB,MAAA,QAAQA,IAAI;QACV,KAAK7D,uBAAuB,CAACC,eAAe;AAAE,UAAA;AAC5CwC,YAAAA,eAAe,EAAE,CAAA;AACjBf,YAAAA,KAAK,EAAE,CAAA;AACP,YAAA,MAAA;AACD,WAAA;QACD,KAAK1B,uBAAuB,CAACwB,SAAS;AAAE,UAAA;AACtC,YAAA,IAAIK,aAAa,IAAIZ,gBAAgB,IAAI,CAACT,UAAU,EAAE;AACpDmB,cAAAA,IAAI,EAAE,CAAA;aACP,MAAM,IAAInB,UAAU,EAAE;AACrBoB,cAAAA,MAAM,EAAE,CAAA;cACRhB,YAAY,CAAC,IAAI,CAAC,CAAA;AAClBT,cAAAA,kBAAkB,CAACH,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC5D,aAAA,MAAM;AACL2B,cAAAA,MAAM,EAAE,CAAA;AACRzB,cAAAA,kBAAkB,CAACH,uBAAuB,CAACC,eAAe,CAAC,CAAA;AAC5D,aAAA;AACD,YAAA,MAAA;AACD,WAAA;QACD,KAAKD,uBAAuB,CAACkD,aAAa;AAAE,UAAA;AAC1Cb,YAAAA,IAAI,EAAE,CAAA;AACN,YAAA,MAAA;AACD,WAAA;QACD,KAAKrC,uBAAuB,CAACiD,OAAO;AAAE,UAAA;AACpCX,YAAAA,KAAK,EAAE,CAAA;AACP,YAAA,MAAA;AACD,WAAA;AACF,OAAA;AACH,KAAA;GAEF,CAAA,EACE3B,SAAS,iBACPwC,cAAA,CAAAC,aAAA,CAACU,KAAK,EAAA;AACJT,IAAAA,SAAS,EAAC,4CAA4C;AACtDU,IAAAA,SAAS,EAAEnB,sBAAsB,CAACxD,OAAO,CAAC,GACtCyB,SAAS,CAACmD,gDAAgD,GAC1DnD,SAAS,CAACoD,iDACb;IACDC,UAAU,EAAA,IAAA;IACVC,qBAAqB,EAAA,IAAA;IACrBC,QAAQ,EAAE,YAAA;MACRxD,YAAY,CAAC,KAAK,CAAC,CAAA;AACnBvB,MAAAA,aAAa,EAAE,CAAA;AACjB,KAAA;GAEA8D,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,EAAE,YAAA;MACP/D,YAAY,CAAC,KAAK,CAAC,CAAA;AACnBvB,MAAAA,aAAa,EAAE,CAAA;AACjB,KAAA;AAAE,GAAA,EAEDwB,SAAS,CAAC+D,UACL,CACL,CACA,CAGR,CAAC,CAAA;AAEV;;ACzJO,IAAMC,oBAAoB,GAAG,UAAC1F,EAIF,EAAE+B,EAEH,EAAA;AALhC,EAAA,IAAA4D,eAAe,qBAAA;IACfC,wBAAwB,GAAA5F,EAAA,CAAA4F,wBAAA;IACxBC,YAAY,GAAA7F,EAAA,CAAA6F,YAAA,CAAA;AAEZ,EAAA,IAAAC,MAAM,GAAA/D,EAAA,CAAA+D,MAAA,CAAA;AAEE,EAAA,IAAApE,SAAS,GAAKC,eAAe,EAAE,UAAtB,CAAA;AACT,EAAA,IAAAC,MAAM,GAAKC,uBAAuB,EAAE,OAA9B,CAAA;AACd,EAAA,IAAMkE,oBAAoB,GAAGnE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEmE,oBAAoB,CAAA;AACzD,EAAA,IAAMC,8BAA8B,GAAGpE,MAAM,KAAA,IAAA,IAANA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEoE,8BAA8B,CAAA;AACrE,EAAA,IAAAC,SAAS,GAAKC,qBAAqB,EAAE,UAA5B,CAAA;AAEjB,EAAA,IAAMC,iBAAiB,GAAGC,WAAW,CAAC,UAACC,QAAkB,EAAA;AACvD,IAAA,IAAMC,KAAK,GAAWC,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;AAAEd,QAAAA,eAAe,EAAAA,eAAA;AAAEC,QAAAA,wBAAwB,EAAAA,wBAAAA;AAAA,OAAE,CAAC,CAAA;AAC/H,MAAA,OAAA;AACD,KAAA;AACD,IAAA,IAAIU,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;AACtBZ,MAAAA,MAAM,CAACW,OAAO,CAAC,yDAAyD,EAAE;AAAEH,QAAAA,KAAK,EAAAA,KAAAA;AAAE,OAAA,CAAC,CAAA;AACpF,MAAA,OAAA;AACD,KAAA;AACD,IAAA,IAAIA,KAAK,CAACI,MAAM,GAAGV,8BAA8B,EAAE;MACjDF,MAAM,CAACa,IAAI,CAAC,sEAA+DX,8BAA8B,CAAE,CAAC,CAAA;AAC5GC,MAAAA,SAAS,CAAC;AACRW,QAAAA,UAAU,EAAE;UACVhC,SAAS,EAAE,QAAS,CAAAiC,MAAA,CAAAb,8BAA8B,EAAyB,yBAAA,CAAA;AAC3EjB,UAAAA,UAAU,EAAE,IAAA;SACb;AACD+B,QAAAA,YAAY,EAAE,UAAC9G,EAAc,EAAA;AAAZ,UAAA,IAAA+G,UAAU,GAAA/G,EAAA,CAAA+G,UAAA,CAAA;AAAO,UAAA,oBAChC/C,cAAA,CAAAC,aAAA,CAAC+C,WAAW,EAAA;YACVtC,IAAI,EAAES,WAAW,CAACC,OAAQ;YAC1B6B,UAAU,EAAEvF,SAAS,CAAC+D,UAAW;YACjCyB,gBAAgB,EAAA,IAAA;AAChBjC,YAAAA,QAAQ,EAAE8B,UAAW;AACrBI,YAAAA,QAAQ,EAAEJ,UAAAA;AAAW,YACrB,CAAA;AAP8B,SAAA;AASnC,OAAA,CAAC,CAAA;AACF,MAAA,OAAA;AACD,KAAA;AACD,IAAA,IAAIT,KAAK,CAACc,IAAI,CAAC,UAACC,IAAU,EAAK;AAAA,MAAA,OAAAA,IAAI,CAAChC,IAAI,GAAGU,oBAAoB,CAAA;AAAhC,KAAgC,CAAC,EAAE;AAChE;MACAD,MAAM,CAACa,IAAI,CAAC,0EAAmEZ,oBAAoB,CAAE,CAAC,CAAA;AACtG,MAAA,IAAMuB,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3BrB,MAAAA,SAAS,CAAC;AACRW,QAAAA,UAAU,EAAE;AACVhC,UAAAA,SAAS,EAAE,+BAAgC,CAAAiC,MAAA,CAAAU,IAAI,CAACC,KAAK,CAACzB,oBAAoB,GAAGuB,OAAO,CAAC,EAAM,MAAA,CAAA;AAC3FvC,UAAAA,UAAU,EAAE,IAAA;SACb;AACD+B,QAAAA,YAAY,EAAE,UAAC9G,EAAc,EAAA;AAAZ,UAAA,IAAA+G,UAAU,GAAA/G,EAAA,CAAA+G,UAAA,CAAA;AAAO,UAAA,oBAChC/C,cAAA,CAAAC,aAAA,CAAC+C,WAAW,EAAA;YACVtC,IAAI,EAAES,WAAW,CAACC,OAAQ;YAC1B6B,UAAU,EAAEvF,SAAS,CAAC+D,UAAW;YACjCyB,gBAAgB,EAAA,IAAA;AAChBjC,YAAAA,QAAQ,EAAE8B,UAAW;AACrBI,YAAAA,QAAQ,EAAEJ,UAAAA;AAAW,YACrB,CAAA;AAP8B,SAAA;AASnC,OAAA,CAAC,CAAA;AACF,MAAA,OAAA;AACD,KAAA;AAED,IAAA,IAAIT,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;AACtBZ,MAAAA,MAAM,CAACa,IAAI,CAAC,iDAAiD,CAAC,CAAA;AACvD,MAAA,IAAAU,IAAI,GAAIf,KAAK,CAAA,CAAA,CAAT,CAAA;AACXX,MAAAA,eAAe,CAAC0B,IAAI,EAAExB,YAAY,CAAC,CAAA;AACpC,KAAA,MAAM,IAAIS,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;AAC3BZ,MAAAA,MAAM,CAACa,IAAI,CAAC,uDAAuD,CAAC,CAAA;MACpE,IAAMc,YAAU,GAAgB,EAAE,CAAA;MAClC,IAAMC,YAAU,GAAgB,EAAE,CAAA;AAClCpB,MAAAA,KAAK,CAACqB,OAAO,CAAC,UAACN,IAAU,EAAA;AACvB,QAAA,IAAIO,OAAO,CAACP,IAAI,CAAC3C,IAAI,CAAC,EAAE;AACtB+C,UAAAA,YAAU,CAACI,IAAI,CAACR,IAAI,CAAC,CAAA;AACtB,SAAA,MAAM;AACLK,UAAAA,YAAU,CAACG,IAAI,CAACR,IAAI,CAAC,CAAA;AACtB,SAAA;AACH,OAAC,CAAC,CAAA;MAEF,OAAOK,YAAU,CAACI,MAAM,CAAC,UACvBC,eAAmE,EACnEC,IAAU,EAAA;AAEV,QAAA,OAAOD,eAAe,CAACE,IAAI,CAAC,YAAA;AAC1B,UAAA,OAAOtC,eAAe,CAACqC,IAAY,EAAEnC,YAAY,CAAC,CAAA;AACpD,SAAC,CAAC,CAAA;AACJ,OAAC,EAAG,YAAA;AACF,QAAA,IAAI4B,YAAU,CAACf,MAAM,KAAK,CAAC,EAAE;AAC3B,UAAA,OAAOwB,OAAO,CAACC,OAAO,EAAE,CAAA;AACzB,SAAA,MAAM,IAAIV,YAAU,CAACf,MAAM,KAAK,CAAC,EAAE;UAClC,OAAOf,eAAe,CAAC8B,YAAU,CAAC,CAAC,CAAC,EAAE5B,YAAY,CAAC,CAAA;AACpD,SAAA,MAAM;AACL,UAAA,OAAOD,wBAAwB,CAAC6B,YAAU,EAAE5B,YAAY,CAAC,CAAA;AAC1D,SAAA;OACF,EAAG,CAAC,CAAA;AACN,KAAA;GACF,EAAE,CACDF,eAAe,EACfC,wBAAwB,EACxBC,YAAY,CACb,CAAC,CAAA;EAEF,OAAO,CAACM,iBAAiB,CAAC,CAAA;AAC5B;;;;"}
@@ -1,6 +1,6 @@
1
- import { _ as __assign } from './tslib.es6-0c779aab.js';
1
+ import { _ as __assign } from './tslib.es6-c2fb729e.js';
2
2
  import { useState, useRef, useCallback } from 'react';
3
- import { u as useMediaQueryContext } from './MediaQueryContext-3eeeec4f.js';
3
+ import { u as useMediaQueryContext } from './MediaQueryContext-114ca049.js';
4
4
 
5
5
  var DEFAULT_DURATION = 300;
6
6
  function preventDefault(e) {
@@ -100,4 +100,4 @@ function useLongPress(_a, _b) {
100
100
  }
101
101
 
102
102
  export { useLongPress as u };
103
- //# sourceMappingURL=useLongPress-322bb6a3.js.map
103
+ //# sourceMappingURL=useLongPress-f8655a14.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLongPress-322bb6a3.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","_a","_b","onLongPress","onClick","_c","_d","delay","_e","shouldPreventDefault","_f","shouldStopPropagation","isMobile","useMediaQueryContext","_g","useState","longPressTriggered","setLongPressTriggered","_h","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","__assign","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-f8655a14.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","_a","_b","onLongPress","onClick","_c","_d","delay","_e","shouldPreventDefault","_f","shouldStopPropagation","isMobile","useMediaQueryContext","_g","useState","longPressTriggered","setLongPressTriggered","_h","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","__assign","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":";;;;AA4BA,IAAMA,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAASC,cAAcA,CAACC,CAAQ,EAAA;AAC9B,EAAA,IAAI,CAACC,YAAY,CAACD,CAAC,CAAC,EAAE;AACpB,IAAA,OAAA;AACD,GAAA;EAED,IAAIA,CAAC,CAACE,OAAO,CAACC,MAAM,GAAG,CAAC,IAAIH,CAAC,CAACD,cAAc,EAAE;IAC5CC,CAAC,CAACD,cAAc,EAAE,CAAA;AACnB,GAAA;AACH,CAAA;AAEM,SAAUE,YAAYA,CAACD,CAAQ,EAAA;AACnC,EAAA,OAAOA,CAAC,IAAI,SAAS,IAAIA,CAAC,CAAA;AAC5B,CAAA;AAsBc,SAAUI,YAAYA,CAAIC,EAGrB,EAAEC,EAIN,EAAA;MANbC,WAAW,GAAAF,EAAA,CAAAE,WAAA;IACXC,OAAO,GAAAH,EAAA,CAAAG,OAAA,CAAA;MACYC,EAIR,GAAAH,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA;IAHbI,EAAA,GAAAD,EAAA,CAAAE,KAAwB;IAAxBA,KAAK,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAGZ,gBAAgB,GAAAY,EAAA;IACxBE,EAAA,GAAAH,EAAA,CAAAI,oBAA2B;IAA3BA,oBAAoB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,IAAI,GAAAA,EAAA;IAC3BE,6BAA6B;IAA7BC,qBAAqB,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,GAAAA,EAAA,CAAA;AAErB,EAAA,IAAAE,QAAQ,GAAKC,oBAAoB,EAAE,SAA3B,CAAA;AACV,EAAA,IAAAC,EAAA,GAA8CC,QAAQ,CAAC,KAAK,CAAC;AAA5DC,IAAAA,kBAAkB,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,EAAA,CAAA,CAAA,CAAmB,CAAA;AAC7D,EAAA,IAAAI,EAAA,GAAoCH,QAAQ,CAAC,KAAK,CAAC;AAAlDI,IAAAA,aAAa,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,EAAA,CAAA,CAAA,CAAmB,CAAA;AACzD;AACA,EAAA,IAAMG,OAAO,GAAGC,MAAM,EAAiC,CAAA;AACvD,EAAA,IAAMC,MAAM,GAAGD,MAAM,EAAe,CAAA;AAEpC,EAAA,IAAME,KAAK,GAAGC,WAAW,CAAC,UAAC7B,CAA4C,EAAA;IACrEA,CAAC,CAAC8B,OAAO,EAAE,CAAA;IACX,IAAMC,WAAW,GAAAC,QAAA,CAAA,EAAA,EACZhC,CAAC,CACL,CAAA;IACDwB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACvB,IAAA,IAAIT,qBAAqB,EAAE;MACzBf,CAAC,CAACiC,eAAe,EAAE,CAAA;AACpB,KAAA;AACD,IAAA,IAAIpB,oBAAoB,IAAIb,CAAC,CAAC2B,MAAM,EAAE;MACpC3B,CAAC,CAAC2B,MAAM,CAACO,gBAAgB,CACvB,UAAU,EACVnC,cAAc,EACd;AACEoC,QAAAA,OAAO,EAAE,KAAA;AACV,OAAA,CACF,CAAA;AACDR,MAAAA,MAAM,CAACS,OAAO,GAAGpC,CAAC,CAAC2B,MAAM,CAAA;AAC1B,KAAA;AAEDF,IAAAA,OAAO,CAACW,OAAO,GAAGC,UAAU,CAAC,YAAA;MAC3B9B,WAAW,CAACwB,WAAW,CAAC,CAAA;MACxBV,qBAAqB,CAAC,IAAI,CAAC,CAAA;KAC5B,EAAEV,KAAK,CAAC,CAAA;AACX,GAAC,EAAE,CAACJ,WAAW,EAAEI,KAAK,EAAEE,oBAAoB,EAAEE,qBAAqB,EAAEC,QAAQ,CAAC,CAAC,CAAA;EAE/E,IAAMsB,KAAK,GAAGT,WAAW,CAAC,UACxB7B,CAA4C,EAC5CuC,kBAAyB,EACzBC,MAAc,EAAA;AADd,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,kBAAyB,GAAA,IAAA,CAAA;AAAA,KAAA;AACzB,IAAA,IAAAC,MAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,MAAc,GAAA,KAAA,CAAA;AAAA,KAAA;AAEd,IAAA,IAAIA,MAAM,EAAE;MACVhB,gBAAgB,CAAC,IAAI,CAAC,CAAA;AACvB,KAAA,MAAM;MACLA,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACxB,KAAA;AACD,IAAA,IAAIC,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEW,OAAO,EAAE;AACpBK,MAAAA,YAAY,CAAChB,OAAO,CAACW,OAAO,CAAC,CAAA;AAC9B,KAAA;AACD,IAAA,IAAIG,kBAAkB,IAAI,CAACnB,kBAAkB,IAAI,CAACG,aAAa,EAAE;AAC/Df,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGR,CAAC,CAAC,CAAA;AACb,KAAA;IACDqB,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAC5B,IAAA,IAAIR,oBAAoB,IAAIc,MAAM,CAACS,OAAO,EAAE;MAC1CT,MAAM,CAACS,OAAO,CAACM,mBAAmB,CAAC,UAAU,EAAE3C,cAAc,CAAC,CAAA;AAC/D,KAAA;GACF,EAAE,CAACc,oBAAoB,EAAEL,OAAO,EAAEY,kBAAkB,EAAEG,aAAa,CAAC,CAAC,CAAA;EAEtE,OAAO;AACLoB,IAAAA,WAAW,EAAE,UAAC3C,CAAsB,EAAK;MAAA,OAAA4B,KAAK,CAAC5B,CAAC,CAAC,CAAA;KAAA;AACjD4C,IAAAA,SAAS,EAAE,UAAC5C,CAAsB,EAAK;MAAA,OAAAsC,KAAK,CAACtC,CAAC,CAAC,CAAA;KAAA;AAC/C6C,IAAAA,YAAY,EAAE,UAAC7C,CAAsB,EAAA;AAAK,MAAA,OAAAsC,KAAK,CAACtC,CAAC,EAAE,KAAK,CAAC,CAAA;KAAA;AACzD8C,IAAAA,YAAY,EAAE,UAAC9C,CAAsB,EAAK;MAAA,OAAA4B,KAAK,CAAC5B,CAAC,CAAC,CAAA;KAAA;AAClD;AACA;AACA+C,IAAAA,WAAW,EAAE,UAAC/C,CAAsB,EAAA;AAAK,MAAA,OAAAsC,KAAK,CAACtC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;KAAA;AAC9DgD,IAAAA,UAAU,EAAE,UAAChD,CAAsB,EAAK;MAAA,OAAAsC,KAAK,CAACtC,CAAC,CAAC,CAAA;AAAR,KAAA;GACzC,CAAA;AACH;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { useCallback } from 'react';
2
2
  import { PUBSUB_TOPICS } from './pubSub/topics.js';
3
- import { s as scrollIntoLast$1 } from './utils-40040f8e.js';
4
- import { f as format } from './index-c81fd6ec.js';
3
+ import { s as scrollIntoLast$1 } from './utils-aa4086dc.js';
4
+ import { f as format } from './index-2d27aeef.js';
5
5
  import { getOutgoingMessageState, OutgoingMessageStates } from './utils/message/getOutgoingMessageState.js';
6
6
 
7
7
  var RESET_MESSAGES = 'RESET_MESSAGES';
@@ -280,4 +280,4 @@ var useSendMultipleFilesMessage = function (_a, _b) {
280
280
  };
281
281
 
282
282
  export { compareMessagesForGrouping as A, FETCH_INITIAL_MESSAGES_START as F, MARK_AS_READ as M, ON_MESSAGE_RECEIVED as O, PublishingModuleType as P, RESET_MESSAGES as R, SEND_MESSAGE_START as S, FETCH_INITIAL_MESSAGES_SUCCESS as a, FETCH_PREV_MESSAGES_SUCCESS as b, FETCH_NEXT_MESSAGES_SUCCESS as c, FETCH_INITIAL_MESSAGES_FAILURE as d, FETCH_PREV_MESSAGES_FAILURE as e, FETCH_NEXT_MESSAGES_FAILURE as f, SEND_MESSAGE_SUCCESS as g, SEND_MESSAGE_FAILURE as h, SET_CURRENT_CHANNEL as i, SET_CHANNEL_INVALID as j, ON_MESSAGE_UPDATED as k, ON_MESSAGE_THREAD_INFO_UPDATED as l, RESEND_MESSAGE_START as m, ON_MESSAGE_DELETED as n, ON_MESSAGE_DELETED_BY_REQ_ID as o, SET_EMOJI_CONTAINER as p, ON_REACTION_UPDATED as q, MESSAGE_LIST_PARAMS_CHANGED as r, ON_FILE_INFO_UPLOADED as s, channelActions as t, useSendMultipleFilesMessage as u, compareIds as v, scrollIntoLast as w, getParentMessageFrom as x, getNicknamesMapFromMembers as y, isAboutSame as z };
283
- //# sourceMappingURL=useSendMultipleFilesMessage-4489a0f6.js.map
283
+ //# sourceMappingURL=useSendMultipleFilesMessage-b8256698.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMultipleFilesMessage-4489a0f6.js","sources":["../src/modules/Channel/context/dux/actionTypes.ts","../src/modules/internalInterfaces.ts","../src/modules/Thread/context/utils.ts","../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { CreateAction } from '../../../../utils/typeHelpers/reducers/createAction';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { CoreMessageType, SendableMessageType } from '../../../../utils';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { ReactionEvent, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MessageListParams } from '../ChannelProvider';\n\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\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';\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\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';\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\nexport const ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';\n\ntype CHANNEL_PAYLOAD_TYPES = {\n [RESET_MESSAGES]: null;\n [FETCH_INITIAL_MESSAGES_START]: null;\n [FETCH_INITIAL_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_PREV_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_NEXT_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_INITIAL_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_PREV_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_NEXT_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [SEND_MESSAGE_START]: SendableMessageType;\n [SEND_MESSAGE_SUCCESS]: SendableMessageType;\n [SEND_MESSAGE_FAILURE]: SendableMessageType;\n [SET_CURRENT_CHANNEL]: null | GroupChannel;\n [SET_CHANNEL_INVALID]: null;\n [ON_MESSAGE_RECEIVED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_UPDATED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_THREAD_INFO_UPDATED]: {\n channel: GroupChannel;\n event: any;\n };\n [RESEND_MESSAGE_START]: {\n reqId: number;\n };\n [MARK_AS_READ]: {\n channel: null | GroupChannel;\n };\n [ON_MESSAGE_DELETED]: MessageId;\n [ON_MESSAGE_DELETED_BY_REQ_ID]: RequestId;\n [SET_EMOJI_CONTAINER]: EmojiContainer;\n [ON_REACTION_UPDATED]: ReactionEvent;\n [MESSAGE_LIST_PARAMS_CHANGED]: MessageListParams;\n [ON_FILE_INFO_UPLOADED]: {\n channelUrl: string;\n requestId: number;\n index: number;\n uploadableFileInfo: UploadableFileInfo;\n error?: unknown;\n };\n};\n\ntype MessageId = number;\ntype RequestId = string;\n\nexport type ChannelActionTypes = CreateAction<CHANNEL_PAYLOAD_TYPES>;\n","export enum PublishingModuleType {\n CHANNEL = 'CHANNEL',\n THREAD = 'THREAD',\n}\n","import format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { BaseMessage } from '@sendbird/chat/message';\nimport { getOutgoingMessageState, OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\nimport { SendableMessageType } from '../../../utils';\n\nexport const getNicknamesMapFromMembers = (members = []): Map<string, string> => {\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\nexport const getParentMessageFrom = (message: SendableMessageType | null): SendableMessageType | BaseMessage => {\n if (!message) {\n return null;\n }\n if (isParentMessage(message)) {\n return message;\n }\n if (isThreadMessage(message)) {\n return message?.parentMessage || null;\n }\n return null;\n};\n\nexport const isParentMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage === null\n && typeof message?.parentMessageId === 'number'\n && !message?.parentMessageId\n );\n};\n\nexport const isThreadMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage !== null\n && typeof message?.parentMessageId === 'number'\n && message?.parentMessageId > 0\n && message?.threadInfo === null\n );\n};\n\nexport const isAboutSame = (a: number, b: number, px: number): boolean => (Math.abs(a - b) <= px);\n\nexport const isEmpty = (val: unknown): boolean => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport function compareIds(a: number | string, b: number | string): boolean {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n\nexport const getMessageCreatedAt = (message: SendableMessageType): string => format(message.createdAt, 'p');\nexport const isReadMessage = (channel: GroupChannel, message: SendableMessageType): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isSameGroup = (\n message: SendableMessageType,\n comparingMessage: SendableMessageType,\n currentChannel: GroupChannel,\n): boolean => {\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 compareMessagesForGrouping = (\n prevMessage: SendableMessageType,\n currMessage: SendableMessageType,\n nextMessage: SendableMessageType,\n currentChannel: GroupChannel,\n replyType: string,\n): [boolean, boolean] => {\n if (replyType === 'THREAD' && currMessage?.threadInfo) {\n return [false, false];\n }\n const sendingStatus = currMessage?.sendingStatus || '';\n const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';\n return [\n isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable,\n isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable,\n ];\n};\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n","import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { MultipleFilesMessageCreateParams, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MultipleFilesMessage } 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 as scrollIntoLastForChannel } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\nimport { PublishingModuleType } from '../../../internalInterfaces';\nimport { scrollIntoLast as scrollIntoLastForThread } from '../../../Thread/context/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 publishingModules: PublishingModuleType[];\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport interface FileUploadedPayload {\n channelUrl: string,\n requestId: string,\n index: number,\n uploadableFileInfo: UploadableFileInfo,\n error: Error,\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => Promise<MultipleFilesMessage>;\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 publishingModules,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n ): Promise<MultipleFilesMessage> => {\n return new Promise((resolve, reject) => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n reject();\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n reject();\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: UploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', {\n requestId,\n index,\n error,\n uploadableFileInfo,\n });\n pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {\n response: {\n channelUrl: currentChannel.url,\n requestId,\n index,\n uploadableFileInfo,\n error,\n },\n publishingModules,\n });\n })\n .onPending((pendingMessage: MultipleFilesMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: pendingMessage,\n channel: currentChannel,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n })\n .onFailed((error, failedMessage: MultipleFilesMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n publishingModules,\n });\n reject(error);\n })\n .onSucceeded((succeededMessage: MultipleFilesMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n resolve(succeededMessage);\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n reject(error);\n }\n });\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n ]);\n return [sendMessage];\n};\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_SUCCESS","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","ON_FILE_INFO_UPLOADED","PublishingModuleType","getNicknamesMapFromMembers","members","nicknamesMap","Map","memberIndex","length","_a","userId","nickname","set","getParentMessageFrom","message","isParentMessage","isThreadMessage","parentMessage","parentMessageId","threadInfo","isAboutSame","a","b","px","Math","abs","isEmpty","val","undefined","compareIds","aString","toString","bString","getMessageCreatedAt","format","createdAt","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isSameGroup","comparingMessage","currentChannel","messageType","sender","_b","sendingStatus","_c","_d","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","replyType","isAcceptable","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","useSendMultipleFilesMessage","onBeforeSendMultipleFilesMessage","publishingModules","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","Promise","resolve","reject","warning","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","publish","PUBSUB_TOPICS","response","channelUrl","url","onPending","pendingMessage","includes","CHANNEL","scrollIntoLastForChannel","THREAD","scrollIntoLastForThread","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
1
+ {"version":3,"file":"useSendMultipleFilesMessage-b8256698.js","sources":["../src/modules/Channel/context/dux/actionTypes.ts","../src/modules/internalInterfaces.ts","../src/modules/Thread/context/utils.ts","../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { CreateAction } from '../../../../utils/typeHelpers/reducers/createAction';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { CoreMessageType, SendableMessageType } from '../../../../utils';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { ReactionEvent, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MessageListParams } from '../ChannelProvider';\n\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\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';\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\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';\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\nexport const ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';\n\ntype CHANNEL_PAYLOAD_TYPES = {\n [RESET_MESSAGES]: null;\n [FETCH_INITIAL_MESSAGES_START]: null;\n [FETCH_INITIAL_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_PREV_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_NEXT_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_INITIAL_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_PREV_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_NEXT_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [SEND_MESSAGE_START]: SendableMessageType;\n [SEND_MESSAGE_SUCCESS]: SendableMessageType;\n [SEND_MESSAGE_FAILURE]: SendableMessageType;\n [SET_CURRENT_CHANNEL]: null | GroupChannel;\n [SET_CHANNEL_INVALID]: null;\n [ON_MESSAGE_RECEIVED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_UPDATED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_THREAD_INFO_UPDATED]: {\n channel: GroupChannel;\n event: any;\n };\n [RESEND_MESSAGE_START]: {\n reqId: number;\n };\n [MARK_AS_READ]: {\n channel: null | GroupChannel;\n };\n [ON_MESSAGE_DELETED]: MessageId;\n [ON_MESSAGE_DELETED_BY_REQ_ID]: RequestId;\n [SET_EMOJI_CONTAINER]: EmojiContainer;\n [ON_REACTION_UPDATED]: ReactionEvent;\n [MESSAGE_LIST_PARAMS_CHANGED]: MessageListParams;\n [ON_FILE_INFO_UPLOADED]: {\n channelUrl: string;\n requestId: number;\n index: number;\n uploadableFileInfo: UploadableFileInfo;\n error?: unknown;\n };\n};\n\ntype MessageId = number;\ntype RequestId = string;\n\nexport type ChannelActionTypes = CreateAction<CHANNEL_PAYLOAD_TYPES>;\n","export enum PublishingModuleType {\n CHANNEL = 'CHANNEL',\n THREAD = 'THREAD',\n}\n","import format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { BaseMessage } from '@sendbird/chat/message';\nimport { getOutgoingMessageState, OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\nimport { SendableMessageType } from '../../../utils';\n\nexport const getNicknamesMapFromMembers = (members = []): Map<string, string> => {\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\nexport const getParentMessageFrom = (message: SendableMessageType | null): SendableMessageType | BaseMessage => {\n if (!message) {\n return null;\n }\n if (isParentMessage(message)) {\n return message;\n }\n if (isThreadMessage(message)) {\n return message?.parentMessage || null;\n }\n return null;\n};\n\nexport const isParentMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage === null\n && typeof message?.parentMessageId === 'number'\n && !message?.parentMessageId\n );\n};\n\nexport const isThreadMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage !== null\n && typeof message?.parentMessageId === 'number'\n && message?.parentMessageId > 0\n && message?.threadInfo === null\n );\n};\n\nexport const isAboutSame = (a: number, b: number, px: number): boolean => (Math.abs(a - b) <= px);\n\nexport const isEmpty = (val: unknown): boolean => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport function compareIds(a: number | string, b: number | string): boolean {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n\nexport const getMessageCreatedAt = (message: SendableMessageType): string => format(message.createdAt, 'p');\nexport const isReadMessage = (channel: GroupChannel, message: SendableMessageType): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isSameGroup = (\n message: SendableMessageType,\n comparingMessage: SendableMessageType,\n currentChannel: GroupChannel,\n): boolean => {\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 compareMessagesForGrouping = (\n prevMessage: SendableMessageType,\n currMessage: SendableMessageType,\n nextMessage: SendableMessageType,\n currentChannel: GroupChannel,\n replyType: string,\n): [boolean, boolean] => {\n if (replyType === 'THREAD' && currMessage?.threadInfo) {\n return [false, false];\n }\n const sendingStatus = currMessage?.sendingStatus || '';\n const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';\n return [\n isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable,\n isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable,\n ];\n};\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n","import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { MultipleFilesMessageCreateParams, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MultipleFilesMessage } 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 as scrollIntoLastForChannel } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\nimport { PublishingModuleType } from '../../../internalInterfaces';\nimport { scrollIntoLast as scrollIntoLastForThread } from '../../../Thread/context/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 publishingModules: PublishingModuleType[];\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport interface FileUploadedPayload {\n channelUrl: string,\n requestId: string,\n index: number,\n uploadableFileInfo: UploadableFileInfo,\n error: Error,\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => Promise<MultipleFilesMessage>;\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 publishingModules,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n ): Promise<MultipleFilesMessage> => {\n return new Promise((resolve, reject) => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n reject();\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n reject();\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: UploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', {\n requestId,\n index,\n error,\n uploadableFileInfo,\n });\n pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {\n response: {\n channelUrl: currentChannel.url,\n requestId,\n index,\n uploadableFileInfo,\n error,\n },\n publishingModules,\n });\n })\n .onPending((pendingMessage: MultipleFilesMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: pendingMessage,\n channel: currentChannel,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n })\n .onFailed((error, failedMessage: MultipleFilesMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n publishingModules,\n });\n reject(error);\n })\n .onSucceeded((succeededMessage: MultipleFilesMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n resolve(succeededMessage);\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n reject(error);\n }\n });\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n ]);\n return [sendMessage];\n};\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_SUCCESS","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","ON_FILE_INFO_UPLOADED","PublishingModuleType","getNicknamesMapFromMembers","members","nicknamesMap","Map","memberIndex","length","_a","userId","nickname","set","getParentMessageFrom","message","isParentMessage","isThreadMessage","parentMessage","parentMessageId","threadInfo","isAboutSame","a","b","px","Math","abs","isEmpty","val","undefined","compareIds","aString","toString","bString","getMessageCreatedAt","format","createdAt","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isSameGroup","comparingMessage","currentChannel","messageType","sender","_b","sendingStatus","_c","_d","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","replyType","isAcceptable","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","useSendMultipleFilesMessage","onBeforeSendMultipleFilesMessage","publishingModules","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","Promise","resolve","reject","warning","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","publish","PUBSUB_TOPICS","response","channelUrl","url","onPending","pendingMessage","includes","CHANNEL","scrollIntoLastForChannel","THREAD","scrollIntoLastForThread","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":";;;;;;AAOO,IAAMA,cAAc,GAAG,iBAAgB;AACvC,IAAMC,4BAA4B,GAAG,+BAA8B;AACnE,IAAMC,8BAA8B,GAAG,iCAAgC;AACvE,IAAMC,8BAA8B,GAAG,iCAAgC;AACvE,IAAMC,2BAA2B,GAAG,8BAA6B;AACjE,IAAMC,2BAA2B,GAAG,8BAA6B;AACjE,IAAMC,2BAA2B,GAAG,8BAA6B;AACjE,IAAMC,2BAA2B,GAAG,8BAA6B;AACjE,IAAMC,kBAAkB,GAAG,qBAAoB;AAC/C,IAAMC,oBAAoB,GAAG,uBAAsB;AACnD,IAAMC,oBAAoB,GAAG,uBAAsB;AACnD,IAAMC,oBAAoB,GAAG,uBAAsB;AACnD,IAAMC,mBAAmB,GAAG,sBAAqB;AACjD,IAAMC,kBAAkB,GAAG,qBAAoB;AAC/C,IAAMC,8BAA8B,GAAG,iCAAgC;AACvE,IAAMC,kBAAkB,GAAG,qBAAoB;AAC/C,IAAMC,4BAA4B,GAAG,+BAA8B;AACnE,IAAMC,mBAAmB,GAAG,sBAAqB;AACjD,IAAMC,mBAAmB,GAAG,sBAAqB;AACjD,IAAMC,YAAY,GAAG,eAAc;AACnC,IAAMC,mBAAmB,GAAG,sBAAqB;AACjD,IAAMC,mBAAmB,GAAG,sBAAqB;AACjD,IAAMC,2BAA2B,GAAG,8BAA6B;AACjE,IAAMC,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC9BzBC,qBAGX;AAHD,CAAA,UAAYA,oBAAoB,EAAA;AAC9BA,EAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHWA,oBAAoB,KAApBA,oBAAoB,GAG/B,EAAA,CAAA,CAAA;;ICGYC,0BAA0B,GAAG,UAACC,OAAY,EAAA;AAAZ,EAAA,IAAAA,OAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,OAAY,GAAA,EAAA,CAAA;AAAA,GAAA;AACrD,EAAA,IAAMC,YAAY,GAAG,IAAIC,GAAG,EAAE,CAAA;AAC9B,EAAA,KAAK,IAAIC,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAGH,OAAO,CAACI,MAAM,EAAED,WAAW,IAAI,CAAC,EAAE;AAClE,IAAA,IAAAE,EAAA,GAAuBL,OAAO,CAACG,WAAW,CAAC;MAAzCG,MAAM,GAAAD,EAAA,CAAAC,MAAA;MAAEC,QAAQ,GAAAF,EAAA,CAAAE,QAAyB,CAAA;AACjDN,IAAAA,YAAY,CAACO,GAAG,CAACF,MAAM,EAAEC,QAAQ,CAAC,CAAA;AACnC,GAAA;AACD,EAAA,OAAON,YAAY,CAAA;AACrB,EAAC;IAEYQ,oBAAoB,GAAG,UAACC,OAAmC,EAAA;EACtE,IAAI,CAACA,OAAO,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,IAAIC,eAAe,CAACD,OAAO,CAAC,EAAE;AAC5B,IAAA,OAAOA,OAAO,CAAA;AACf,GAAA;AACD,EAAA,IAAIE,eAAe,CAACF,OAAO,CAAC,EAAE;AAC5B,IAAA,OAAO,CAAAA,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEG,aAAa,KAAI,IAAI,CAAA;AACtC,GAAA;AACD,EAAA,OAAO,IAAI,CAAA;AACb,EAAC;AAEM,IAAMF,eAAe,GAAG,UAACD,OAA4B,EAAA;EAC1D,OACE,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEG,aAAa,MAAK,IAAI,IAC5B,QAAOH,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEI,eAAe,CAAA,KAAK,QAAQ,IAC5C,EAACJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEI,eAAe,CAAA,CAAA;AAEhC,CAAC,CAAA;AAEM,IAAMF,eAAe,GAAG,UAACF,OAA4B,EAAA;AAC1D,EAAA,OACE,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEG,aAAa,MAAK,IAAI,IAC5B,QAAOH,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEI,eAAe,CAAA,KAAK,QAAQ,IAC5C,CAAAJ,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEI,eAAe,IAAG,CAAC,IAC5B,CAAAJ,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEK,UAAU,MAAK,IAAI,CAAA;AAEnC,CAAC,CAAA;AAEM,IAAMC,WAAW,GAAG,UAACC,CAAS,EAAEC,CAAS,EAAEC,EAAU,EAAA;EAAc,OAACC,IAAI,CAACC,GAAG,CAACJ,CAAC,GAAGC,CAAC,CAAC,IAAIC,EAAE,CAAA;AAAtB,EAAuB;AAE1F,IAAMG,OAAO,GAAG,UAACC,GAAY;AAAc,EAAA,OAACA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAS,CAAA;AAAlC,CAAmC,CAAA;AAErF;AACA;AACgB,SAAAC,UAAUA,CAACR,CAAkB,EAAEC,CAAkB,EAAA;EAC/D,IAAII,OAAO,CAACL,CAAC,CAAC,IAAIK,OAAO,CAACJ,CAAC,CAAC,EAAE;AAC5B,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AACD,EAAA,IAAMQ,OAAO,GAAGT,CAAC,CAACU,QAAQ,EAAE,CAAA;AAC5B,EAAA,IAAMC,OAAO,GAAGV,CAAC,CAACS,QAAQ,EAAE,CAAA;EAC5B,OAAOD,OAAO,KAAKE,OAAO,CAAA;AAC5B,CAAA;AAEO,IAAMC,mBAAmB,GAAG,UAACnB,OAA4B;AAAa,EAAA,OAAAoB,MAAM,CAACpB,OAAO,CAACqB,SAAS,EAAE,GAAG,CAAC,CAAA;AAA9B,CAA8B,CAAA;AACpG,IAAMC,aAAa,GAAG,UAACC,OAAqB,EAAEvB,OAA4B,EAAc;EAAA,OAC7FwB,uBAAuB,CAACD,OAAO,EAAEvB,OAAO,CAAC,KAAKyB,qBAAqB,CAACC,IAAI,CAAA;AADqB,CAE9F,CAAA;AACM,IAAMC,WAAW,GAAG,UACzB3B,OAA4B,EAC5B4B,gBAAqC,EACrCC,cAA4B,EAAA;;AAE5B,EAAA,IAAI,EAAE7B,OAAO,IACR4B,gBAAgB,IAChB5B,OAAO,CAAC8B,WAAW,IACnB9B,OAAO,CAAC8B,WAAW,KAAK,OAAO,IAC/BF,gBAAgB,CAACE,WAAW,IAC5B,CAAAF,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEE,WAAW,MAAK,OAAO,KACzC9B,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE+B,MAAM,CAAA,KACfH,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEG,MAAM,CAAA,KACxB/B,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEqB,SAAS,CAAA,KAClBO,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEP,SAAS,CAAA,KAC3B,CAAA1B,EAAA,GAAAK,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE+B,MAAM,MAAE,IAAA,IAAApC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAC,MAAM,CAAA,KACvB,CAAAoC,EAAA,GAAAJ,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,gBAAgB,CAAEG,MAAM,MAAE,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAApC,MAAM,CAAA,CACpC,EAAE;AACD,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AACD,EAAA,OACE,CAAAI,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEiC,aAAa,OAAKL,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,uBAAhBA,gBAAgB,CAAEK,aAAa,CAAA,IACvD,CAAA,CAAAC,EAAA,GAAAlC,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAE+B,MAAM,MAAE,IAAA,IAAAG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAtC,MAAM,OAAK,CAAAuC,EAAA,GAAAP,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEG,MAAM,MAAE,IAAA,IAAAI,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAvC,MAAM,CAAA,IAC5DuB,mBAAmB,CAACnB,OAAO,CAAC,KAAKmB,mBAAmB,CAACS,gBAAgB,CAAC,IACtEN,aAAa,CAACO,cAAc,EAAE7B,OAAO,CAAC,KAAKsB,aAAa,CAACO,cAAc,EAAED,gBAAgB,CAAC,CAAA;AAEjG,CAAC,CAAA;AAEYQ,IAAAA,0BAA0B,GAAG,UACxCC,WAAgC,EAChCC,WAAgC,EAChCC,WAAgC,EAChCV,cAA4B,EAC5BW,SAAiB,EAAA;EAEjB,IAAIA,SAAS,KAAK,QAAQ,KAAIF,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEjC,UAAU,CAAA,EAAE;AACrD,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtB,GAAA;AACD,EAAA,IAAM4B,aAAa,GAAG,CAAAK,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAEL,aAAa,KAAI,EAAE,CAAA;EACtD,IAAMQ,YAAY,GAAGR,aAAa,KAAK,SAAS,IAAIA,aAAa,KAAK,QAAQ,CAAA;EAC9E,OAAO,CACLN,WAAW,CAACU,WAAW,EAAEC,WAAW,EAAET,cAAc,CAAC,IAAIY,YAAY,EACrEd,WAAW,CAACW,WAAW,EAAEC,WAAW,EAAEV,cAAc,CAAC,IAAIY,YAAY,CACtE,CAAA;AACH,EAAC;IAEYC,cAAc,GAAG,UAACC,SAAa,EAAA;AAAb,EAAA,IAAAA,SAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,SAAa,GAAA,CAAA,CAAA;AAAA,GAAA;EAC1C,IAAMC,SAAS,GAAG,EAAE,CAAA;EACpB,IAAMC,UAAU,GAAGF,SAAS,CAAA;EAC5B,IAAIE,UAAU,GAAGD,SAAS,EAAE;AAC1B,IAAA,OAAA;AACD,GAAA;EACD,IAAI;AACF,IAAA,IAAME,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAC,6BAA6B,CAAC,CAAA;AACvE;AACAF,IAAAA,SAAS,CAACG,SAAS,GAAGH,SAAS,CAACI,YAAY,CAAA;GAC7C,CAAC,OAAOC,KAAK,EAAE;AACdC,IAAAA,UAAU,CAAC,YAAA;AACTV,MAAAA,cAAc,CAACG,UAAU,GAAG,CAAC,CAAC,CAAA;AAChC,KAAC,EAAE,GAAG,GAAGA,UAAU,CAAC,CAAA;AACrB,GAAA;AACH;;ACxFA;;;AAGG;AACI,IAAMQ,2BAA2B,GAAG,UAAC1D,EAIlB,EAAEqC,EAIH,EAAA;AAPvB,EAAA,IAAAH,cAAc,oBAAA;IACdyB,gCAAgC,GAAA3D,EAAA,CAAA2D,gCAAA;IAChCC,iBAAiB,GAAA5D,EAAA,CAAA4D,iBAAA,CAAA;AAEjB,EAAA,IAAAC,MAAM,YAAA;IACNC,MAAM,GAAAzB,EAAA,CAAAyB,MAAA;IACNC,SAAS,GAAA1B,EAAA,CAAA0B,SAAA,CAAA;EAET,IAAMC,WAAW,GAAGC,WAAW,CAAC,UAC9BC,KAAkB,EAClBC,YAAkC,EAAA;AAElC,IAAA,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAA;MACjC,IAAI,CAACpC,cAAc,EAAE;AACnB2B,QAAAA,MAAM,CAACU,OAAO,CAAC,8DAA8D,EAAE;AAAErC,UAAAA,cAAc,EAAAA,cAAAA;AAAE,SAAA,CAAC,CAAA;AAClGoC,QAAAA,MAAM,EAAE,CAAA;AACT,OAAA;AACD,MAAA,IAAIJ,KAAK,CAACnE,MAAM,IAAI,CAAC,EAAE;AACrB8D,QAAAA,MAAM,CAACU,OAAO,CAAC,mEAAmE,EAAE;AAAEL,UAAAA,KAAK,EAAAA,KAAAA;AAAE,SAAA,CAAC,CAAA;AAC9FI,QAAAA,MAAM,EAAE,CAAA;AACT,OAAA;AACD,MAAA,IAAIE,aAAa,GAAqC;AACpDC,QAAAA,YAAY,EAAEP,KAAK,CAACQ,GAAG,CAAC,UAACC,IAAU,EAAyB;UAAA,OAAC;AAC3DA,YAAAA,IAAI,EAAAA,IAAA;YACJC,QAAQ,EAAED,IAAI,CAACE,IAAI;YACnBC,QAAQ,EAAEH,IAAI,CAACI,IAAI;YACnBC,QAAQ,EAAEL,IAAI,CAACM,IAAAA;WAChB,CAAA;SAAC,CAAA;OACH,CAAA;AACD,MAAA,IAAId,YAAY,EAAE;QAChBK,aAAa,CAACU,gBAAgB,GAAG,IAAI,CAAA;AACrCV,QAAAA,aAAa,CAAC/D,eAAe,GAAG0D,YAAY,CAACgB,SAAS,CAAA;AACvD,OAAA;AACD,MAAA,IAAI,OAAOxB,gCAAgC,KAAK,UAAU,EAAE;AAC1Da,QAAAA,aAAa,GAAGb,gCAAgC,CAACO,KAAK,EAAEC,YAAY,CAAC,CAAA;AACtE,OAAA;AACDN,MAAAA,MAAM,CAACuB,IAAI,CAAC,4BAA4B,EAAE;AAAEZ,QAAAA,aAAa,EAAAA,aAAAA;AAAE,OAAA,CAAC,CAAA;MAC5D,IAAI;QACFtC,cAAc,CAACmD,wBAAwB,CAACb,aAAa,CAAA;AACnD;;;AAGG,YACFc,cAAc,CAAC,UAACC,SAAS,EAAEC,KAAK,EAAEC,kBAAsC,EAAEjC,KAAK,EAAA;AAC9EK,UAAAA,MAAM,CAACuB,IAAI,CAAC,4CAA4C,EAAE;AACxDG,YAAAA,SAAS,EAAAA,SAAA;AACTC,YAAAA,KAAK,EAAAA,KAAA;AACLhC,YAAAA,KAAK,EAAAA,KAAA;AACLiC,YAAAA,kBAAkB,EAAAA,kBAAAA;AACnB,WAAA,CAAC,CAAA;AACF3B,UAAAA,MAAM,CAAC4B,OAAO,CAACC,aAAa,CAACnG,qBAAqB,EAAE;AAClDoG,YAAAA,QAAQ,EAAE;cACRC,UAAU,EAAE3D,cAAc,CAAC4D,GAAG;AAC9BP,cAAAA,SAAS,EAAAA,SAAA;AACTC,cAAAA,KAAK,EAAAA,KAAA;AACLC,cAAAA,kBAAkB,EAAAA,kBAAA;AAClBjC,cAAAA,KAAK,EAAAA,KAAAA;aACN;AACDI,YAAAA,iBAAiB,EAAAA,iBAAAA;AAClB,WAAA,CAAC,CAAA;AACJ,SAAC,CAAC,CACDmC,SAAS,CAAC,UAACC,cAAoC,EAAA;AAC9CnC,UAAAA,MAAM,CAACuB,IAAI,CAAC,qCAAqC,EAAE;AAAEY,YAAAA,cAAc,EAAAA,cAAA;YAAEvB,YAAY,EAAED,aAAa,CAACC,YAAAA;AAAY,WAAE,CAAC,CAAA;AAChHX,UAAAA,MAAM,CAAC4B,OAAO,CAACC,aAAa,CAAClH,kBAAkB,EAAE;AAC/C4B,YAAAA,OAAO,EAAE2F,cAAc;AACvBpE,YAAAA,OAAO,EAAEM,cAAc;AACvB0B,YAAAA,iBAAiB,EAAAA,iBAAAA;AAClB,WAAA,CAAC,CAAA;AACF;AACAH,UAAAA,UAAU,CAAC,YAAA;YACT,IAAIM,SAAS,IAAIH,iBAAiB,CAACqC,QAAQ,CAACxG,oBAAoB,CAACyG,OAAO,CAAC,EAAE;AACzEC,cAAAA,gBAAwB,CAAC,CAAC,EAAEpC,SAAS,CAAC,CAAA;AACvC,aAAA;YACD,IAAIH,iBAAiB,CAACqC,QAAQ,CAACxG,oBAAoB,CAAC2G,MAAM,CAAC,EAAE;cAC3DC,cAAuB,CAAC,CAAC,CAAC,CAAA;AAC3B,aAAA;WACF,EAAE,GAAG,CAAC,CAAA;SACR,CAAC,CACDC,QAAQ,CAAC,UAAC9C,KAAK,EAAE+C,aAAmC,EAAA;AACnD1C,UAAAA,MAAM,CAACL,KAAK,CAAC,8BAA8B,EAAE;AAAEA,YAAAA,KAAK,EAAAA,KAAA;AAAE+C,YAAAA,aAAa,EAAAA,aAAAA;AAAA,WAAE,CAAC,CAAA;AACtEzC,UAAAA,MAAM,CAAC4B,OAAO,CAACC,aAAa,CAACa,mBAAmB,EAAE;AAChD5E,YAAAA,OAAO,EAAEM,cAAc;AACvB7B,YAAAA,OAAO,EAAEkG,aAAa;AACtB3C,YAAAA,iBAAiB,EAAAA,iBAAAA;AAClB,WAAA,CAAC,CAAA;UACFU,MAAM,CAACd,KAAK,CAAC,CAAA;AACf,SAAC,CAAC,CACDiD,WAAW,CAAC,UAACC,gBAAsC,EAAA;AAClD7C,UAAAA,MAAM,CAACuB,IAAI,CAAC,yCAAyC,EAAE;AAAEsB,YAAAA,gBAAgB,EAAAA,gBAAAA;AAAE,WAAA,CAAC,CAAA;AAC5E5C,UAAAA,MAAM,CAAC4B,OAAO,CAACC,aAAa,CAACgB,iBAAiB,EAAE;AAC9C/E,YAAAA,OAAO,EAAEM,cAAc;AACvB7B,YAAAA,OAAO,EAAEqG,gBAAgB;AACzB9C,YAAAA,iBAAiB,EAAAA,iBAAAA;AAClB,WAAA,CAAC,CAAA;AACF;AACAH,UAAAA,UAAU,CAAC,YAAA;YACT,IAAIM,SAAS,IAAIH,iBAAiB,CAACqC,QAAQ,CAACxG,oBAAoB,CAACyG,OAAO,CAAC,EAAE;AACzEC,cAAAA,gBAAwB,CAAC,CAAC,EAAEpC,SAAS,CAAC,CAAA;AACvC,aAAA;YACD,IAAIH,iBAAiB,CAACqC,QAAQ,CAACxG,oBAAoB,CAAC2G,MAAM,CAAC,EAAE;cAC3DC,cAAuB,CAAC,CAAC,CAAC,CAAA;AAC3B,aAAA;WACF,EAAE,GAAG,CAAC,CAAA;UACPhC,OAAO,CAACqC,gBAAgB,CAAC,CAAA;AAC3B,SAAC,CAAC,CAAA;OACL,CAAC,OAAOlD,KAAK,EAAE;AACdK,QAAAA,MAAM,CAACL,KAAK,CAAC,8BAA8B,EAAE;AAAEA,UAAAA,KAAK,EAAAA,KAAAA;AAAE,SAAA,CAAC,CAAA;QACvDc,MAAM,CAACd,KAAK,CAAC,CAAA;AACd,OAAA;AACH,KAAC,CAAC,CAAA;GACH,EAAE,CACDtB,cAAc,EACdyB,gCAAgC,EAChCC,iBAAiB,CAClB,CAAC,CAAA;EACF,OAAO,CAACI,WAAW,CAAC,CAAA;AACtB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './tslib.es6-0c779aab.js';
3
+ import './tslib.es6-c2fb729e.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -2,9 +2,9 @@ import React__default, { useState, useMemo, useEffect } from 'react';
2
2
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
3
3
  import { SendingStatus } from '@sendbird/chat/message';
4
4
  import ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from './ui/ImageRenderer.js';
5
- import { o as getClassName, j as isGif, c as isMultipleFilesMessage } from './index-fc1642cb.js';
6
- import { F as FileViewer } from './index-7a1085b6.js';
7
- import { K } from './index-c6095960.js';
5
+ import { o as getClassName, j as isGif, c as isMultipleFilesMessage } from './index-776554c0.js';
6
+ import { F as FileViewer } from './index-0f017704.js';
7
+ import { K } from './index-09847c0f.js';
8
8
 
9
9
  function ImageGrid(_a) {
10
10
  var _b;
@@ -216,4 +216,4 @@ var useStatefulFileInfoList = function (message) {
216
216
  };
217
217
 
218
218
  export { MultipleFilesMessageItemBody as M, ThreadMessageKind as T, useStatefulFileInfoList as a, useThreadMessageKindKeySelector as u };
219
- //# sourceMappingURL=useStatefulFileInfoList-dd95f949.js.map
219
+ //# sourceMappingURL=useStatefulFileInfoList-5e68b93f.js.map