@sendbird/uikit-react 3.4.4-rc.0 → 3.4.4-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/App.js +41 -40
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +34 -33
  5. package/Channel/components/ChannelUI.js.map +1 -1
  6. package/Channel/components/FileViewer.js +15 -15
  7. package/Channel/components/FrozenNotification.js +4 -4
  8. package/Channel/components/Message.js +29 -28
  9. package/Channel/components/Message.js.map +1 -1
  10. package/Channel/components/MessageInput.js +25 -24
  11. package/Channel/components/MessageInput.js.map +1 -1
  12. package/Channel/components/MessageList.js +30 -29
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +17 -17
  15. package/Channel/components/SuggestedMentionList.js +17 -17
  16. package/Channel/components/TypingIndicator.js +15 -15
  17. package/Channel/components/UnreadCount.js +4 -4
  18. package/Channel/context.js +14 -14
  19. package/Channel.js +34 -33
  20. package/Channel.js.map +1 -1
  21. package/ChannelList/components/AddChannel.js +15 -15
  22. package/ChannelList/components/ChannelListHeader.js +6 -6
  23. package/ChannelList/components/ChannelListUI.js +30 -30
  24. package/ChannelList/components/ChannelPreview.js +26 -26
  25. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  26. package/ChannelList/context.js +8 -8
  27. package/ChannelList.js +30 -30
  28. package/{ChannelListProvider-02be684a.js → ChannelListProvider-44e8547a.js} +8 -8
  29. package/{ChannelListProvider-02be684a.js.map → ChannelListProvider-44e8547a.js.map} +1 -1
  30. package/{ChannelProvider-fcab0099.js → ChannelProvider-67ab36df.js} +10 -10
  31. package/{ChannelProvider-fcab0099.js.map → ChannelProvider-67ab36df.js.map} +1 -1
  32. package/ChannelSettings/components/ChannelProfile.js +11 -11
  33. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  34. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  35. package/ChannelSettings/components/LeaveChannel.js +11 -11
  36. package/ChannelSettings/components/ModerationPanel.js +14 -14
  37. package/ChannelSettings/components/UserListItem.js +10 -10
  38. package/ChannelSettings/components/UserPanel.js +13 -13
  39. package/ChannelSettings/context.js +3 -3
  40. package/ChannelSettings.js +17 -17
  41. package/CreateChannel/components/CreateChannelUI.js +13 -13
  42. package/CreateChannel/components/InviteUsers.js +13 -13
  43. package/CreateChannel/components/SelectChannelType.js +10 -10
  44. package/CreateChannel/context.js +4 -4
  45. package/CreateChannel.js +13 -13
  46. package/{CreateChannelProvider-33fa0e76.js → CreateChannelProvider-f1fbf439.js} +1 -1
  47. package/{CreateChannelProvider-33fa0e76.js.map → CreateChannelProvider-f1fbf439.js.map} +1 -1
  48. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  49. package/CreateOpenChannel/context.js +1 -1
  50. package/CreateOpenChannel.js +9 -9
  51. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  52. package/EditUserProfile.js +12 -12
  53. package/{LocalizationContext-21c445a7.js → LocalizationContext-a20f1269.js} +3 -3
  54. package/{LocalizationContext-21c445a7.js.map → LocalizationContext-a20f1269.js.map} +1 -1
  55. package/{MediaQueryContext-46321124.js → MediaQueryContext-8db5b11a.js} +1 -1
  56. package/{MediaQueryContext-46321124.js.map → MediaQueryContext-8db5b11a.js.map} +1 -1
  57. package/{MemberList-eba5d99c.js → MemberList-bb8a12ee.js} +5 -5
  58. package/{MemberList-eba5d99c.js.map → MemberList-bb8a12ee.js.map} +1 -1
  59. package/MessageSearch/components/MessageSearchUI.js +11 -11
  60. package/MessageSearch/context.js +1 -1
  61. package/MessageSearch.js +11 -11
  62. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  63. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  64. package/OpenChannel/components/OpenChannelInput.js +16 -16
  65. package/OpenChannel/components/OpenChannelMessage.js +23 -23
  66. package/OpenChannel/components/OpenChannelMessageList.js +26 -26
  67. package/OpenChannel/components/OpenChannelUI.js +26 -26
  68. package/OpenChannel/context.js +8 -8
  69. package/OpenChannel.js +26 -26
  70. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  71. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  72. package/OpenChannelList/context.js +3 -3
  73. package/OpenChannelList.js +13 -13
  74. package/{OpenChannelListProvider-6ed76740.js → OpenChannelListProvider-123511bc.js} +3 -3
  75. package/{OpenChannelListProvider-6ed76740.js.map → OpenChannelListProvider-123511bc.js.map} +1 -1
  76. package/{OpenChannelProvider-5887d4bd.js → OpenChannelProvider-2bc7b16f.js} +7 -7
  77. package/{OpenChannelProvider-5887d4bd.js.map → OpenChannelProvider-2bc7b16f.js.map} +1 -1
  78. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  79. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  80. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  81. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  82. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  83. package/OpenChannelSettings/context.js +3 -3
  84. package/OpenChannelSettings.js +17 -17
  85. package/{RemoveMessageModal-99978eb5.js → RemoveMessageModal-6c854075.js} +3 -3
  86. package/{RemoveMessageModal-99978eb5.js.map → RemoveMessageModal-6c854075.js.map} +1 -1
  87. package/SendbirdProvider.js +13 -12
  88. package/SendbirdProvider.js.map +1 -1
  89. package/Thread/components/ParentMessageInfo.js +26 -25
  90. package/Thread/components/ParentMessageInfo.js.map +1 -1
  91. package/Thread/components/ParentMessageInfoItem.js +16 -15
  92. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  93. package/Thread/components/ThreadHeader.js +6 -6
  94. package/Thread/components/ThreadList.js +29 -28
  95. package/Thread/components/ThreadList.js.map +1 -1
  96. package/Thread/components/ThreadListItem.js +29 -28
  97. package/Thread/components/ThreadListItem.js.map +1 -1
  98. package/Thread/components/ThreadMessageInput.js +26 -25
  99. package/Thread/components/ThreadMessageInput.js.map +1 -1
  100. package/Thread/components/ThreadUI.js +33 -32
  101. package/Thread/components/ThreadUI.js.map +1 -1
  102. package/Thread/context.js +8 -8
  103. package/Thread.js +33 -32
  104. package/Thread.js.map +1 -1
  105. package/{ThreadProvider-c3528b8f.js → ThreadProvider-9b68bbfb.js} +9 -9
  106. package/ThreadProvider-9b68bbfb.js.map +1 -0
  107. package/{UserProfileContext-b722645f.js → UserProfileContext-2ee4427e.js} +1 -1
  108. package/{UserProfileContext-b722645f.js.map → UserProfileContext-2ee4427e.js.map} +1 -1
  109. package/{VoiceMessageInputWrapper-6bce7f18.js → VoiceMessageInputWrapper-02da58d2.js} +7 -7
  110. package/{VoiceMessageInputWrapper-6bce7f18.js.map → VoiceMessageInputWrapper-02da58d2.js.map} +1 -1
  111. package/VoicePlayer/context.js +3 -3
  112. package/VoicePlayer/useVoicePlayer.js +4 -3
  113. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  114. package/VoiceRecorder/context.js +3 -2537
  115. package/VoiceRecorder/context.js.map +1 -1
  116. package/VoiceRecorder/useVoiceRecorder.js +3 -2
  117. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  118. package/{_rollupPluginBabelHelpers-06a0d79e.js → _rollupPluginBabelHelpers-af827563.js} +1 -1
  119. package/_rollupPluginBabelHelpers-af827563.js.map +1 -0
  120. package/{actionTypes-77e04912.js → actionTypes-66152bd7.js} +1 -1
  121. package/{actionTypes-77e04912.js.map → actionTypes-66152bd7.js.map} +1 -1
  122. package/cjs/App.js +41 -40
  123. package/cjs/App.js.map +1 -1
  124. package/cjs/Channel/components/ChannelHeader.js +19 -19
  125. package/cjs/Channel/components/ChannelUI.js +34 -33
  126. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  127. package/cjs/Channel/components/FileViewer.js +15 -15
  128. package/cjs/Channel/components/FrozenNotification.js +4 -4
  129. package/cjs/Channel/components/Message.js +29 -28
  130. package/cjs/Channel/components/Message.js.map +1 -1
  131. package/cjs/Channel/components/MessageInput.js +25 -24
  132. package/cjs/Channel/components/MessageInput.js.map +1 -1
  133. package/cjs/Channel/components/MessageList.js +30 -29
  134. package/cjs/Channel/components/MessageList.js.map +1 -1
  135. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  136. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  137. package/cjs/Channel/components/TypingIndicator.js +15 -15
  138. package/cjs/Channel/components/UnreadCount.js +4 -4
  139. package/cjs/Channel/context.js +14 -14
  140. package/cjs/Channel.js +34 -33
  141. package/cjs/Channel.js.map +1 -1
  142. package/cjs/ChannelList/components/AddChannel.js +15 -15
  143. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  144. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  145. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  146. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  147. package/cjs/ChannelList/context.js +8 -8
  148. package/cjs/ChannelList.js +30 -30
  149. package/cjs/{ChannelListProvider-182857e2.js → ChannelListProvider-6e4fd69f.js} +8 -8
  150. package/cjs/{ChannelListProvider-182857e2.js.map → ChannelListProvider-6e4fd69f.js.map} +1 -1
  151. package/cjs/{ChannelProvider-218991b0.js → ChannelProvider-505d13d6.js} +10 -10
  152. package/cjs/{ChannelProvider-218991b0.js.map → ChannelProvider-505d13d6.js.map} +1 -1
  153. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  154. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  155. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  156. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  157. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  158. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  159. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  160. package/cjs/ChannelSettings/context.js +3 -3
  161. package/cjs/ChannelSettings.js +17 -17
  162. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  163. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  164. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  165. package/cjs/CreateChannel/context.js +4 -4
  166. package/cjs/CreateChannel.js +13 -13
  167. package/cjs/{CreateChannelProvider-9b9a224f.js → CreateChannelProvider-b30a1d70.js} +1 -1
  168. package/cjs/{CreateChannelProvider-9b9a224f.js.map → CreateChannelProvider-b30a1d70.js.map} +1 -1
  169. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  170. package/cjs/CreateOpenChannel/context.js +1 -1
  171. package/cjs/CreateOpenChannel.js +9 -9
  172. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  173. package/cjs/EditUserProfile.js +12 -12
  174. package/cjs/{LocalizationContext-51dc836f.js → LocalizationContext-f7972a74.js} +3 -3
  175. package/cjs/{LocalizationContext-51dc836f.js.map → LocalizationContext-f7972a74.js.map} +1 -1
  176. package/cjs/{MediaQueryContext-07055899.js → MediaQueryContext-24dc053f.js} +1 -1
  177. package/cjs/{MediaQueryContext-07055899.js.map → MediaQueryContext-24dc053f.js.map} +1 -1
  178. package/cjs/{MemberList-8e959bdc.js → MemberList-f7ffe73a.js} +5 -5
  179. package/cjs/{MemberList-8e959bdc.js.map → MemberList-f7ffe73a.js.map} +1 -1
  180. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  181. package/cjs/MessageSearch/context.js +1 -1
  182. package/cjs/MessageSearch.js +11 -11
  183. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  184. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  185. package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
  186. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -23
  187. package/cjs/OpenChannel/components/OpenChannelMessageList.js +26 -26
  188. package/cjs/OpenChannel/components/OpenChannelUI.js +26 -26
  189. package/cjs/OpenChannel/context.js +8 -8
  190. package/cjs/OpenChannel.js +26 -26
  191. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  192. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  193. package/cjs/OpenChannelList/context.js +3 -3
  194. package/cjs/OpenChannelList.js +13 -13
  195. package/cjs/{OpenChannelListProvider-e49acf04.js → OpenChannelListProvider-75a84359.js} +3 -3
  196. package/cjs/{OpenChannelListProvider-e49acf04.js.map → OpenChannelListProvider-75a84359.js.map} +1 -1
  197. package/cjs/{OpenChannelProvider-c018bfe2.js → OpenChannelProvider-c3e900f9.js} +7 -7
  198. package/cjs/{OpenChannelProvider-c018bfe2.js.map → OpenChannelProvider-c3e900f9.js.map} +1 -1
  199. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  200. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  201. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  202. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  203. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  204. package/cjs/OpenChannelSettings/context.js +3 -3
  205. package/cjs/OpenChannelSettings.js +17 -17
  206. package/cjs/{RemoveMessageModal-6f481228.js → RemoveMessageModal-df4027b8.js} +3 -3
  207. package/cjs/{RemoveMessageModal-6f481228.js.map → RemoveMessageModal-df4027b8.js.map} +1 -1
  208. package/cjs/SendbirdProvider.js +13 -12
  209. package/cjs/SendbirdProvider.js.map +1 -1
  210. package/cjs/Thread/components/ParentMessageInfo.js +26 -25
  211. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  212. package/cjs/Thread/components/ParentMessageInfoItem.js +16 -15
  213. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  214. package/cjs/Thread/components/ThreadHeader.js +6 -6
  215. package/cjs/Thread/components/ThreadList.js +29 -28
  216. package/cjs/Thread/components/ThreadList.js.map +1 -1
  217. package/cjs/Thread/components/ThreadListItem.js +29 -28
  218. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  219. package/cjs/Thread/components/ThreadMessageInput.js +26 -25
  220. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  221. package/cjs/Thread/components/ThreadUI.js +33 -32
  222. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  223. package/cjs/Thread/context.js +8 -8
  224. package/cjs/Thread.js +33 -32
  225. package/cjs/Thread.js.map +1 -1
  226. package/cjs/{ThreadProvider-77682d98.js → ThreadProvider-0a0e452d.js} +9 -9
  227. package/cjs/ThreadProvider-0a0e452d.js.map +1 -0
  228. package/cjs/{UserProfileContext-4c1cc9e7.js → UserProfileContext-687cb905.js} +1 -1
  229. package/cjs/{UserProfileContext-4c1cc9e7.js.map → UserProfileContext-687cb905.js.map} +1 -1
  230. package/cjs/{VoiceMessageInputWrapper-bb085ef5.js → VoiceMessageInputWrapper-dba3849c.js} +7 -7
  231. package/cjs/{VoiceMessageInputWrapper-bb085ef5.js.map → VoiceMessageInputWrapper-dba3849c.js.map} +1 -1
  232. package/cjs/VoicePlayer/context.js +3 -3
  233. package/cjs/VoicePlayer/useVoicePlayer.js +4 -3
  234. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  235. package/cjs/VoiceRecorder/context.js +5 -2539
  236. package/cjs/VoiceRecorder/context.js.map +1 -1
  237. package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
  238. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  239. package/cjs/{_rollupPluginBabelHelpers-6137a140.js → _rollupPluginBabelHelpers-633418dc.js} +1 -1
  240. package/cjs/_rollupPluginBabelHelpers-633418dc.js.map +1 -0
  241. package/cjs/{actionTypes-e9702e2f.js → actionTypes-f060bac2.js} +1 -1
  242. package/cjs/{actionTypes-e9702e2f.js.map → actionTypes-f060bac2.js.map} +1 -1
  243. package/cjs/{color-6be2e9f3.js → color-ea4d0fa8.js} +1 -1
  244. package/cjs/{color-6be2e9f3.js.map → color-ea4d0fa8.js.map} +1 -1
  245. package/cjs/{compareIds-83a57e5f.js → compareIds-2ed18fb9.js} +1 -1
  246. package/cjs/{compareIds-83a57e5f.js.map → compareIds-2ed18fb9.js.map} +1 -1
  247. package/cjs/{const-eb0722bc.js → const-81f175a7.js} +1 -1
  248. package/cjs/{const-eb0722bc.js.map → const-81f175a7.js.map} +1 -1
  249. package/cjs/{const-743dfc24.js → const-be830118.js} +1 -1
  250. package/cjs/{const-743dfc24.js.map → const-be830118.js.map} +1 -1
  251. package/cjs/{consts-7df240d1.js → consts-a83dba32.js} +1 -1
  252. package/cjs/{consts-7df240d1.js.map → consts-a83dba32.js.map} +1 -1
  253. package/cjs/{consts-bb5e01e7.js → consts-d23893f6.js} +1 -1
  254. package/cjs/{consts-bb5e01e7.js.map → consts-d23893f6.js.map} +1 -1
  255. package/cjs/{context-d22fc6e7.js → context-443d1d6b.js} +2 -2
  256. package/cjs/{context-d22fc6e7.js.map → context-443d1d6b.js.map} +1 -1
  257. package/cjs/{index-ba572c7a.js → index-10a8fbd5.js} +2 -2
  258. package/cjs/{index-ba572c7a.js.map → index-10a8fbd5.js.map} +1 -1
  259. package/cjs/{index-39a87513.js → index-23bde05e.js} +2 -2
  260. package/cjs/{index-39a87513.js.map → index-23bde05e.js.map} +1 -1
  261. package/cjs/{index-addd3be5.js → index-2724c042.js} +4 -4
  262. package/cjs/{index-addd3be5.js.map → index-2724c042.js.map} +1 -1
  263. package/cjs/{index-c78778a6.js → index-478a54a0.js} +3 -3
  264. package/cjs/{index-c78778a6.js.map → index-478a54a0.js.map} +1 -1
  265. package/cjs/{index-bef0eca0.js → index-9713036d.js} +1 -1
  266. package/cjs/{index-bef0eca0.js.map → index-9713036d.js.map} +1 -1
  267. package/cjs/{index-30065b59.js → index-adbbfcff.js} +4 -4
  268. package/cjs/{index-30065b59.js.map → index-adbbfcff.js.map} +1 -1
  269. package/cjs/{index-81bd0a0d.js → index-b823e2cf.js} +7 -7
  270. package/cjs/{index-81bd0a0d.js.map → index-b823e2cf.js.map} +1 -1
  271. package/cjs/{index-1dd6b0e3.js → index-d0fd1f01.js} +2 -2
  272. package/cjs/{index-1dd6b0e3.js.map → index-d0fd1f01.js.map} +1 -1
  273. package/cjs/{index-f52eb778.js → index-d1dfe98d.js} +1 -1
  274. package/cjs/{index-f52eb778.js.map → index-d1dfe98d.js.map} +1 -1
  275. package/cjs/{index-42d826d2.js → index-da4faf79.js} +2 -2
  276. package/cjs/{index-42d826d2.js.map → index-da4faf79.js.map} +1 -1
  277. package/cjs/{index-31bdfe4d.js → index-dcafe468.js} +5 -5
  278. package/cjs/{index-31bdfe4d.js.map → index-dcafe468.js.map} +1 -1
  279. package/cjs/{index-adcde1d2.js → index-e1a91b28.js} +7 -7
  280. package/cjs/{index-adcde1d2.js.map → index-e1a91b28.js.map} +1 -1
  281. package/cjs/{index-244136d1.js → index-e49f1bd9.js} +2 -2
  282. package/cjs/{index-244136d1.js.map → index-e49f1bd9.js.map} +1 -1
  283. package/cjs/{index-9e4bf057.js → index-ec71f9d1.js} +3 -3
  284. package/cjs/{index-9e4bf057.js.map → index-ec71f9d1.js.map} +1 -1
  285. package/cjs/index.js +45 -44
  286. package/cjs/index.js.map +1 -1
  287. package/cjs/lame.all.js +2541 -0
  288. package/cjs/lame.all.js.map +1 -0
  289. package/cjs/sendbirdSelectors.js +2 -2
  290. package/cjs/{stringSet-618eb438.js → stringSet-b6ce1990.js} +1 -1
  291. package/cjs/{stringSet-618eb438.js.map → stringSet-b6ce1990.js.map} +1 -1
  292. package/cjs/{topics-a335cb1e.js → topics-4d3495db.js} +1 -1
  293. package/cjs/{topics-a335cb1e.js.map → topics-4d3495db.js.map} +1 -1
  294. package/cjs/{tslib.es6-08359f50.js → tslib.es6-a4fb9cb5.js} +1 -1
  295. package/cjs/{tslib.es6-08359f50.js.map → tslib.es6-a4fb9cb5.js.map} +1 -1
  296. package/cjs/{types-518abc78.js → types-a16555b3.js} +1 -1
  297. package/cjs/{types-518abc78.js.map → types-a16555b3.js.map} +1 -1
  298. package/cjs/ui/Accordion.js +3 -3
  299. package/cjs/ui/AccordionGroup.js +2 -2
  300. package/cjs/ui/AdminMessage.js +3 -3
  301. package/cjs/ui/Avatar.js +2 -2
  302. package/cjs/ui/Badge.js +5 -5
  303. package/cjs/ui/BottomSheet.js +1 -1
  304. package/cjs/ui/Button.js +3 -3
  305. package/cjs/ui/ChannelAvatar.js +3 -3
  306. package/cjs/ui/ConnectionStatus.js +4 -4
  307. package/cjs/ui/ContextMenu.js +5 -5
  308. package/cjs/ui/DateSeparator.js +4 -4
  309. package/cjs/ui/EmojiReactions.js +7 -7
  310. package/cjs/ui/FileMessageItemBody.js +6 -6
  311. package/cjs/ui/FileViewer.js +8 -8
  312. package/cjs/ui/IconButton.js +1 -1
  313. package/cjs/ui/ImageRenderer.js +1 -1
  314. package/cjs/ui/Input.js +2 -2
  315. package/cjs/ui/Label.js +2 -2
  316. package/cjs/ui/LinkLabel.js +2 -2
  317. package/cjs/ui/Loader.js +1 -1
  318. package/cjs/ui/MentionLabel.js +10 -10
  319. package/cjs/ui/MentionUserLabel.js +1 -1
  320. package/cjs/ui/MessageContent.js +24 -23
  321. package/cjs/ui/MessageContent.js.map +1 -1
  322. package/cjs/ui/MessageInput.js +10 -10
  323. package/cjs/ui/MessageItemMenu.js +8 -8
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +10 -10
  326. package/cjs/ui/MessageSearchItem.js +9 -9
  327. package/cjs/ui/MessageStatus.js +10 -10
  328. package/cjs/ui/Modal.js +7 -7
  329. package/cjs/ui/OGMessageItemBody.js +10 -10
  330. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  331. package/cjs/ui/OpenChannelAvatar.js +6 -6
  332. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  333. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  334. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  335. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  336. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  337. package/cjs/ui/PlaceHolder.js +6 -6
  338. package/cjs/ui/PlaybackTime.js +2 -2
  339. package/cjs/ui/QuoteMessage.js +6 -6
  340. package/cjs/ui/QuoteMessageInput.js +6 -6
  341. package/cjs/ui/ReactionBadge.js +3 -3
  342. package/cjs/ui/ReactionButton.js +1 -1
  343. package/cjs/ui/SortByRow.js +2 -2
  344. package/cjs/ui/TextButton.js +2 -2
  345. package/cjs/ui/TextMessageItemBody.js +10 -10
  346. package/cjs/ui/ThreadReplies.js +6 -6
  347. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  348. package/cjs/ui/Tooltip.js +3 -3
  349. package/cjs/ui/TooltipWrapper.js +1 -1
  350. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  351. package/cjs/ui/UserListItem.js +10 -10
  352. package/cjs/ui/UserProfile.js +9 -9
  353. package/cjs/ui/VoiceMessageItemBody.js +6 -5
  354. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  355. package/cjs/ui/VoiceMessgeInput.js +8 -8
  356. package/cjs/ui/Word.js +10 -10
  357. package/cjs/{useLongPress-50b32689.js → useLongPress-51e0f9b4.js} +3 -3
  358. package/cjs/{useLongPress-50b32689.js.map → useLongPress-51e0f9b4.js.map} +1 -1
  359. package/cjs/useSendbirdStateContext.js +1 -1
  360. package/cjs/utils/message/isVoiceMessage.js +2 -2
  361. package/cjs/{utils-60cddb64.js → utils-0bf31864.js} +2 -2
  362. package/cjs/{utils-60cddb64.js.map → utils-0bf31864.js.map} +1 -1
  363. package/cjs/{utils-66a05605.js → utils-c545d55f.js} +1 -1
  364. package/cjs/{utils-66a05605.js.map → utils-c545d55f.js.map} +1 -1
  365. package/cjs/{utils-e669f1ee.js → utils-c812c88b.js} +1 -1
  366. package/cjs/{utils-e669f1ee.js.map → utils-c812c88b.js.map} +1 -1
  367. package/cjs/{utils-81f8670a.js → utils-eb9c5b74.js} +1 -1
  368. package/cjs/{utils-81f8670a.js.map → utils-eb9c5b74.js.map} +1 -1
  369. package/cjs/{uuid-cd03215f.js → uuid-35ec1f9e.js} +1 -1
  370. package/cjs/{uuid-cd03215f.js.map → uuid-35ec1f9e.js.map} +1 -1
  371. package/cjs/withSendbird.js +1 -1
  372. package/{color-e4afd956.js → color-9914e868.js} +1 -1
  373. package/{color-e4afd956.js.map → color-9914e868.js.map} +1 -1
  374. package/{compareIds-90b5fdcc.js → compareIds-5b880a02.js} +1 -1
  375. package/{compareIds-90b5fdcc.js.map → compareIds-5b880a02.js.map} +1 -1
  376. package/{const-ed6c468d.js → const-193b2cee.js} +1 -1
  377. package/{const-ed6c468d.js.map → const-193b2cee.js.map} +1 -1
  378. package/{const-2c43da6a.js → const-32e76e15.js} +1 -1
  379. package/{const-2c43da6a.js.map → const-32e76e15.js.map} +1 -1
  380. package/{consts-9c372f2e.js → consts-7dc2e24e.js} +1 -1
  381. package/{consts-9c372f2e.js.map → consts-7dc2e24e.js.map} +1 -1
  382. package/{consts-4cdf8265.js → consts-b275d9da.js} +1 -1
  383. package/{consts-4cdf8265.js.map → consts-b275d9da.js.map} +1 -1
  384. package/{context-3da7becc.js → context-ab07b150.js} +2 -2
  385. package/{context-3da7becc.js.map → context-ab07b150.js.map} +1 -1
  386. package/{index-e21d4934.js → index-062cd180.js} +3 -3
  387. package/{index-e21d4934.js.map → index-062cd180.js.map} +1 -1
  388. package/{index-7e7649f2.js → index-16e0294c.js} +2 -2
  389. package/{index-7e7649f2.js.map → index-16e0294c.js.map} +1 -1
  390. package/{index-71682b33.js → index-214a28eb.js} +4 -4
  391. package/{index-71682b33.js.map → index-214a28eb.js.map} +1 -1
  392. package/{index-8e2d6bf1.js → index-42429d4a.js} +2 -2
  393. package/{index-8e2d6bf1.js.map → index-42429d4a.js.map} +1 -1
  394. package/{index-b498f4df.js → index-534f3471.js} +7 -7
  395. package/{index-b498f4df.js.map → index-534f3471.js.map} +1 -1
  396. package/{index-2b6d5baa.js → index-6438ded6.js} +5 -5
  397. package/{index-2b6d5baa.js.map → index-6438ded6.js.map} +1 -1
  398. package/{index-caabeae5.js → index-8259be1c.js} +2 -2
  399. package/{index-caabeae5.js.map → index-8259be1c.js.map} +1 -1
  400. package/{index-0a265c2c.js → index-a8cc1378.js} +2 -2
  401. package/{index-0a265c2c.js.map → index-a8cc1378.js.map} +1 -1
  402. package/{index-b0c02bbc.js → index-b377ef7e.js} +4 -4
  403. package/{index-b0c02bbc.js.map → index-b377ef7e.js.map} +1 -1
  404. package/{index-906f26f4.js → index-b6307eba.js} +3 -3
  405. package/{index-906f26f4.js.map → index-b6307eba.js.map} +1 -1
  406. package/{index-9746b9e4.js → index-b7f11b75.js} +1 -1
  407. package/{index-9746b9e4.js.map → index-b7f11b75.js.map} +1 -1
  408. package/{index-3c6b00b6.js → index-c19ac1ae.js} +7 -7
  409. package/{index-3c6b00b6.js.map → index-c19ac1ae.js.map} +1 -1
  410. package/{index-99e3b057.js → index-c52afc50.js} +2 -2
  411. package/{index-99e3b057.js.map → index-c52afc50.js.map} +1 -1
  412. package/{index-c24fc3d9.js → index-d9f8424d.js} +1 -1
  413. package/{index-c24fc3d9.js.map → index-d9f8424d.js.map} +1 -1
  414. package/index.d.ts +2 -1
  415. package/index.js +45 -44
  416. package/index.js.map +1 -1
  417. package/lame.all.js +2537 -0
  418. package/lame.all.js.map +1 -0
  419. package/package.json +1 -2
  420. package/sendbirdSelectors.js +2 -2
  421. package/{stringSet-8f776451.js → stringSet-16d76354.js} +1 -1
  422. package/{stringSet-8f776451.js.map → stringSet-16d76354.js.map} +1 -1
  423. package/{topics-e27c1d5d.js → topics-cf8fabf5.js} +1 -1
  424. package/{topics-e27c1d5d.js.map → topics-cf8fabf5.js.map} +1 -1
  425. package/{tslib.es6-c441d88b.js → tslib.es6-21874629.js} +1 -1
  426. package/{tslib.es6-c441d88b.js.map → tslib.es6-21874629.js.map} +1 -1
  427. package/{types-9069552c.js → types-39cccb67.js} +1 -1
  428. package/{types-9069552c.js.map → types-39cccb67.js.map} +1 -1
  429. package/ui/Accordion.js +3 -3
  430. package/ui/AccordionGroup.js +2 -2
  431. package/ui/AdminMessage.js +3 -3
  432. package/ui/Avatar.js +2 -2
  433. package/ui/Badge.js +5 -5
  434. package/ui/BottomSheet.js +1 -1
  435. package/ui/Button.js +3 -3
  436. package/ui/ChannelAvatar.js +3 -3
  437. package/ui/ConnectionStatus.js +4 -4
  438. package/ui/ContextMenu.js +5 -5
  439. package/ui/DateSeparator.js +4 -4
  440. package/ui/EmojiReactions.js +7 -7
  441. package/ui/FileMessageItemBody.js +6 -6
  442. package/ui/FileViewer.js +8 -8
  443. package/ui/IconButton.js +1 -1
  444. package/ui/ImageRenderer.js +1 -1
  445. package/ui/Input.js +2 -2
  446. package/ui/Label.js +2 -2
  447. package/ui/LinkLabel.js +2 -2
  448. package/ui/Loader.js +1 -1
  449. package/ui/MentionLabel.js +10 -10
  450. package/ui/MentionUserLabel.js +1 -1
  451. package/ui/MessageContent.js +24 -23
  452. package/ui/MessageContent.js.map +1 -1
  453. package/ui/MessageInput.js +10 -10
  454. package/ui/MessageItemMenu.js +8 -8
  455. package/ui/MessageItemReactionMenu.js +5 -5
  456. package/ui/MessageSearchFileItem.js +10 -10
  457. package/ui/MessageSearchItem.js +9 -9
  458. package/ui/MessageStatus.js +10 -10
  459. package/ui/Modal.js +7 -7
  460. package/ui/OGMessageItemBody.js +10 -10
  461. package/ui/OpenChannelAdminMessage.js +3 -3
  462. package/ui/OpenChannelAvatar.js +6 -6
  463. package/ui/OpenchannelConversationHeader.js +6 -6
  464. package/ui/OpenchannelFileMessage.js +16 -16
  465. package/ui/OpenchannelOGMessage.js +16 -16
  466. package/ui/OpenchannelThumbnailMessage.js +15 -15
  467. package/ui/OpenchannelUserMessage.js +16 -16
  468. package/ui/PlaceHolder.js +6 -6
  469. package/ui/PlaybackTime.js +2 -2
  470. package/ui/QuoteMessage.js +6 -6
  471. package/ui/QuoteMessageInput.js +6 -6
  472. package/ui/ReactionBadge.js +3 -3
  473. package/ui/ReactionButton.js +1 -1
  474. package/ui/SortByRow.js +2 -2
  475. package/ui/TextButton.js +2 -2
  476. package/ui/TextMessageItemBody.js +10 -10
  477. package/ui/ThreadReplies.js +6 -6
  478. package/ui/ThumbnailMessageItemBody.js +2 -2
  479. package/ui/Tooltip.js +3 -3
  480. package/ui/TooltipWrapper.js +1 -1
  481. package/ui/UnknownMessageItemBody.js +6 -6
  482. package/ui/UserListItem.js +10 -10
  483. package/ui/UserProfile.js +9 -9
  484. package/ui/VoiceMessageItemBody.js +6 -5
  485. package/ui/VoiceMessageItemBody.js.map +1 -1
  486. package/ui/VoiceMessgeInput.js +8 -8
  487. package/ui/Word.js +10 -10
  488. package/{useLongPress-c46971c4.js → useLongPress-c49de8aa.js} +3 -3
  489. package/{useLongPress-c46971c4.js.map → useLongPress-c49de8aa.js.map} +1 -1
  490. package/useSendbirdStateContext.js +1 -1
  491. package/utils/message/isVoiceMessage.js +2 -2
  492. package/{utils-ce528957.js → utils-2571a443.js} +1 -1
  493. package/{utils-ce528957.js.map → utils-2571a443.js.map} +1 -1
  494. package/{utils-cd7aab7a.js → utils-369f1bd4.js} +1 -1
  495. package/{utils-cd7aab7a.js.map → utils-369f1bd4.js.map} +1 -1
  496. package/{utils-0f335ebc.js → utils-3e63a59c.js} +1 -1
  497. package/{utils-0f335ebc.js.map → utils-3e63a59c.js.map} +1 -1
  498. package/{utils-51f19122.js → utils-8767edbc.js} +2 -2
  499. package/{utils-51f19122.js.map → utils-8767edbc.js.map} +1 -1
  500. package/{uuid-e3615ce2.js → uuid-cf6716cb.js} +1 -1
  501. package/{uuid-e3615ce2.js.map → uuid-cf6716cb.js.map} +1 -1
  502. package/withSendbird.js +1 -1
  503. package/ThreadProvider-c3528b8f.js.map +0 -1
  504. package/_rollupPluginBabelHelpers-06a0d79e.js.map +0 -1
  505. package/cjs/ThreadProvider-77682d98.js.map +0 -1
  506. package/cjs/_rollupPluginBabelHelpers-6137a140.js.map +0 -1
@@ -6,4 +6,4 @@ require('react');
6
6
  const MODAL_ROOT = 'sendbird-modal-root';
7
7
 
8
8
  exports.MODAL_ROOT = MODAL_ROOT;
9
- //# sourceMappingURL=index-f52eb778.js.map
9
+ //# sourceMappingURL=index-d1dfe98d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-f52eb778.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
1
+ {"version":3,"file":"index-d1dfe98d.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-1dd6b0e3.js');
3
+ var index = require('./index-d0fd1f01.js');
4
4
 
5
5
  /**
6
6
  * @name startOfDay
@@ -65,4 +65,4 @@ function isSameDay(dirtyDateLeft, dirtyDateRight) {
65
65
  }
66
66
 
67
67
  exports.isSameDay = isSameDay;
68
- //# sourceMappingURL=index-42d826d2.js.map
68
+ //# sourceMappingURL=index-da4faf79.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-42d826d2.js","sources":["../../node_modules/date-fns/esm/startOfDay/index.js","../../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":["requiredArgs","toDate"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAEA,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAGC,YAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAED,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
1
+ {"version":3,"file":"index-da4faf79.js","sources":["../../node_modules/date-fns/esm/startOfDay/index.js","../../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":["requiredArgs","toDate"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAEA,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAGC,YAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAED,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
@@ -2,16 +2,16 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ui_Modal = require('./ui/Modal.js');
5
- var LocalizationContext = require('./LocalizationContext-51dc836f.js');
5
+ var LocalizationContext = require('./LocalizationContext-f7972a74.js');
6
6
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
7
7
  var ui_Input = require('./ui/Input.js');
8
8
  var ui_Avatar = require('./ui/Avatar.js');
9
9
  var ui_Icon = require('./ui/Icon.js');
10
10
  var ui_Button = require('./ui/Button.js');
11
- var ui_Label = require('./index-ba572c7a.js');
11
+ var ui_Label = require('./index-10a8fbd5.js');
12
12
  var ui_TextButton = require('./ui/TextButton.js');
13
- var utils = require('./utils-66a05605.js');
14
- var actionTypes = require('./actionTypes-e9702e2f.js');
13
+ var utils = require('./utils-c545d55f.js');
14
+ var actionTypes = require('./actionTypes-f060bac2.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -176,4 +176,4 @@ function EditUserProfile() {
176
176
 
177
177
  exports.EditUserProfile = EditUserProfile;
178
178
  exports.EditUserProfileProvider = EditUserProfileProvider;
179
- //# sourceMappingURL=index-31bdfe4d.js.map
179
+ //# sourceMappingURL=index-dcafe468.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-31bdfe4d.js","sources":["../../src/smart-components/EditUserProfile/context/EditUserProfIleProvider.tsx","../../src/smart-components/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n}\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport * as userActions from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","useEditUserProfileContext","useContext","EditUserProfile","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","_h","useState","currentImg","setCurrentImg","_j","newFile","setNewFile","theme","_a","config","changeTheme","_b","setCurrenttheme","noop","user","_d","_c","stores","userStore","sdk","_f","_e","sdkStore","userDispatcher","_g","dispatchers","Modal","EDIT_PROFILE__TITLE","BUTTON__SAVE","ButtonTypes","PRIMARY","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","type","userActions","payload","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","profileUrl","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
1
+ {"version":3,"file":"index-dcafe468.js","sources":["../../src/smart-components/EditUserProfile/context/EditUserProfIleProvider.tsx","../../src/smart-components/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n}\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport * as userActions from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","useEditUserProfileContext","useContext","EditUserProfile","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","_h","useState","currentImg","setCurrentImg","_j","newFile","setNewFile","theme","_a","config","changeTheme","_b","setCurrenttheme","noop","user","_d","_c","stores","userStore","sdk","_f","_e","sdkStore","userDispatcher","_g","dispatchers","Modal","EDIT_PROFILE__TITLE","BUTTON__SAVE","ButtonTypes","PRIMARY","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","type","userActions","payload","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","profileUrl","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":";;;;;;;;;;;;;;;;;;;AAGA,IAAMA,8BAA8B,gBAAGC,yBAAK,CAACC,aAAN,CAAoBC,SAApB,CAAvC,CAAA;;AAeA,IAAMC,uBAAuB,GAAmC,UAACC,KAAD,EAA4B;AAExF,EAAA,IAAAC,QAAQ,GAIND,KAAK,SAJP;AAAA,MACAE,aAAa,GAGXF,KAAK,CAAAE,aAJP;AAAA,MAEAC,QAAQ,GAENH,KAAK,CAFCG,QAFR;AAAA,MAGAC,aAAa,GACXJ,KAAK,cAJP,CAAA;AAMF,EAAA,IAAMK,KAAK,GAAGC,aAAO,CAAC,YAAA;IACpB,OAAO;AACLJ,MAAAA,aAAa,EAAAA,aADR;AAELC,MAAAA,QAAQ,EAAAA,QAFH;AAGLC,MAAAA,aAAa,EAAAA,aAAAA;KAHf,CAAA;GADmB,EAMlB,EANkB,CAArB,CAAA;EAQA,oBACER,yBAAA,CAAA,aAAA,CAAC,8BAAD,CAAgC,QAAhC,EAAA;AAAyC,IAAA,KAAK,EAAES,KAAAA;AAAhD,GAAA,EACGJ,QADH,CADF,CAAA;AAKD,EArBD;;AAuBA,IAAMM,yBAAyB,GAAG,YAAwC;AAAA,EAAA,OACxEX,yBAAK,CAACY,UAAN,CAAiBb,8BAAjB,CADwE,CAAA;AAEzE,CAFD;;AClBc,SAAUc,eAAV,GAAyB;;;EACrC,IAAMC,gBAAgB,GAAGH,yBAAyB,EAAlD,CAAA;EACA,IAAMI,KAAK,GAAGC,uBAAuB,EAArC,CAAA;AACA,EAAA,IAAMC,cAAc,GAAGC,YAAM,CAAC,IAAD,CAA7B,CAAA;AACA,EAAA,IAAMC,QAAQ,GAAGD,YAAM,CAAC,IAAD,CAAvB,CAAA;AACA,EAAA,IAAME,OAAO,GAAGF,YAAM,CAAC,IAAD,CAAtB,CAAA;AACQ,EAAA,IAAAG,SAAS,GAAKT,gBAAU,CAACU,uCAAD,CAAV,UAAd,CAAA;;AACF,EAAA,IAAAC,EAAA,GAA8BC,cAAQ,CAAC,IAAD,CAAtC;AAAA,MAACC,UAAU,GAAAF,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaG,aAAa,GAAAH,EAAA,CAAA,CAAA,CAA1B,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAwBH,cAAQ,CAAC,IAAD,CAAhC;AAAA,MAACI,OAAO,GAAAD,EAAA,CAAA,CAAA,CAAR;AAAA,MAAUE,UAAU,GAAAF,EAAA,CAAA,CAAA,CAApB,CAAA;;AAGJ,EAAA,IAAArB,aAAa,GAGXQ,gBAAgB,CAAAR,aAHlB;AAAA,MACAC,QAAQ,GAENO,gBAAgB,CAAAP,QAHlB;AAAA,MAEAC,aAAa,GACXM,gBAAgB,cAHlB,CAAA;AAKF,EAAA,IAAMgB,KAAK,GAAG,CAAA,CAAAC,EAAA,GAAAhB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEiB,MAAP,MAAa,IAAb,IAAaD,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAED,KAAf,KAAwB,OAAtC,CAAA;AACA,EAAA,IAAMG,WAAW,GAAG,CAAA,CAAAC,EAAA,GAAAnB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEiB,MAAP,MAAa,IAAb,IAAaE,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEC,eAAf,KAAkCC,UAAtD,CAAA;EACA,IAAMC,IAAI,GAAG,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAxB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEyB,MAAP,MAAa,IAAb,IAAaD,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEE,SAAf,MAAwB,IAAxB,IAAwBH,EAAA,KAAA,KAAA,CAAxB,GAAwB,KAAA,CAAxB,GAAwBA,EAAA,CAAED,IAAvC,CAAA;EACA,IAAMK,GAAG,GAAG,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAA7B,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEyB,MAAP,MAAa,IAAb,IAAaI,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEC,QAAf,MAAuB,IAAvB,IAAuBF,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAED,GAArC,CAAA;AACA,EAAA,IAAMI,cAAc,GAAG,CAAAC,EAAA,GAAAhC,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEiC,WAAP,MAAoB,IAApB,IAAoBD,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAD,cAA3C,CAAA;AAEA,EAAA,oBACE9C,wCAACiD,mBAAD,EAAA;IACE,SAAS,EAAE5B,SAAS,CAAC6B,mBADvB;IAEE,UAAU,EAAE7B,SAAS,CAAC8B,YAFxB;IAGE,IAAI,EAAEC,qBAAW,CAACC,OAHpB;AAIE,IAAA,QAAQ,EAAE9C,QAJZ;AAKE,IAAA,oBAAoB,EALtB,IAAA;AAME,IAAA,QAAQ,EAAE,YAAA;;;MACR,IAAI,CAAA8B,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEiB,QAAN,MAAmB,EAAnB,IAAyB,CAACnC,QAAQ,CAACoC,OAAT,CAAiB9C,KAA/C,EAAsD;AACpD,QAAA,IAAIW,OAAO,CAACmC,OAAR,CAAgBC,cAApB,EAAoC;AAAE;UACpCpC,OAAO,CAACmC,OAAR,CAAgBC,cAAhB,EAAA,CAAA;AACD,SAAA;;AACD,QAAA,OAAA;AACD,OAAA;;AACDd,MAAAA,GAAG,SAAH,IAAAA,GAAG,KAAA,KAAA,CAAH,GAAG,KAAA,CAAH,GAAAA,GAAG,CAAEe,qBAAL,CAA2B;AACzBH,QAAAA,QAAQ,EAAE,CAAAvB,EAAA,GAAAZ,QAAQ,KAAR,IAAA,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEoC,OAAV,MAAiB,IAAjB,IAAiBxB,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiBA,EAAA,CAAEtB,KADJ;AAEzBiD,QAAAA,YAAY,EAAE9B,OAAAA;AAFW,OAA3B,CAGG+B,CAAAA,IAHH,CAGQ,UAACC,WAAD,EAAY;AAClBd,QAAAA,cAAc,CAAC;UAAEe,IAAI,EAAEC,4BAAR;AAAsCC,UAAAA,OAAO,EAAEH,WAAAA;AAA/C,SAAD,CAAd,CAAA;;AACA,QAAA,IAAItD,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA9C,EAA0D;UACxDA,aAAa,CAACsD,WAAD,CAAb,CAAA;AACD,SAAA;AACF,OARD,CAAA,CAAA;AASD,KAAA;GAED,eAAA5D,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,IAAA,SAAS,EAAC,4BADZ;AAEE,IAAA,GAAG,EAAEoB,OAFP;IAGE,QAAQ,EAAE,UAAC4C,CAAD,EAAE;AAAOA,MAAAA,CAAC,CAACC,cAAF,EAAA,CAAA;AAAqB,KAAA;GAExC,eAAAjE,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAS,IAAA,SAAS,EAAC,iCAAA;AAAnB,GAAA,eACEA,wCAACkE,mBAAD,EAAA,IAAA,EACG7C,SAAS,CAAC8C,yBADb,CADF,eAIEnE,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;AAAf,GAAA,eACEA,wCAACoE,oBAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,GAAG,EAAE3C,UAAU,KAAIY,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEgC,UAAV,CAAA;AAHjB,GAAA,CADF,CAJF,eAWErE,yBAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AACE,IAAA,GAAG,EAAEiB,cADP;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,MAAM,EAAC,kCAHT;AAIE,IAAA,KAAK,EAAE;AAAEqD,MAAAA,OAAO,EAAE,MAAA;KAJpB;IAKE,QAAQ,EAAE,UAACN,CAAD,EAAE;AACVtC,MAAAA,aAAa,CAAC6C,GAAG,CAACC,eAAJ,CAAoBR,CAAC,CAACS,MAAF,CAASC,KAAT,CAAe,CAAf,CAApB,CAAD,CAAb,CAAA;MACA7C,UAAU,CAACmC,CAAC,CAACS,MAAF,CAASC,KAAT,CAAe,CAAf,CAAD,CAAV,CAAA;AACAzD,MAAAA,cAAc,CAACsC,OAAf,CAAuB9C,KAAvB,GAA+B,EAA/B,CAAA;AACD,KAAA;GApBL,CAAA,eAsBET,wCAAC2E,aAAD,EAAA;AACE,IAAA,SAAS,EAAC,gDADZ;AAEE,IAAA,gBAAgB,EAFlB,IAAA;AAGE,IAAA,OAAO,EAAE;AAAM,MAAA,OAAA1D,cAAc,CAACsC,OAAf,CAAuBqB,KAAvB,EAAA,CAAA;AAA8B,KAAA;AAH/C,GAAA,eAKE5E,wCAAC6E,cAAD,EAAA;IAAO,IAAI,EAAEC,wBAAe,CAACC,QAA7B;IAAuC,KAAK,EAAEC,oBAAW,CAAC3B,OAAAA;AAA1D,GAAA,EACGhC,SAAS,CAAC4D,0BADb,CALF,CAtBF,CALF,eAqCEjF,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAS,IAAA,SAAS,EAAC,kCAAA;GACjB,eAAAA,yBAAA,CAAA,aAAA,CAACkE,mBAAD,EACG7C,IAAAA,EAAAA,SAAS,CAAC6D,4BADb,CADF,eAIElF,yBAAA,CAAA,aAAA,CAACmF,mBAAD,EAAA;AACE,IAAA,QAAQ,EAAE,CAAA9C,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEiB,QAAN,MAAmB,EAD/B;AAEE,IAAA,IAAI,EAAC,yCAFP;AAGE,IAAA,GAAG,EAAEnC,QAHP;AAIE,IAAA,KAAK,EAAEkB,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEiB,QAJf;IAKE,WAAW,EAAEjC,SAAS,CAAC+D,kCAAAA;AALzB,GAAA,CAJF,CArCF,eAiDEpF,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAS,IAAA,SAAS,EAAC,oCAAA;GACjB,eAAAA,yBAAA,CAAA,aAAA,CAACkE,mBAAD,EAEG7C,IAAAA,EAAAA,SAAS,CAACgE,0BAFb,CADF,eAKErF,yBAAA,CAAA,aAAA,CAACmF,mBAAD,EAAA;AACE,IAAA,QAAQ,EADV,IAAA;AAEE,IAAA,IAAI,EAAC,2CAFP;AAGE,IAAA,KAAK,EAAE9C,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEiD,MAAAA;AAHf,GAAA,CALF,CAjDF,eA4DEtF,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAS,IAAA,SAAS,EAAC,mCAAA;AAAnB,GAAA,eACEA,wCAACkE,mBAAD,EAAA,IAAA,EACG7C,SAAS,CAACkE,yBADb,CADF,eAIEvF,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,+CAAA;AAAf,GAAA,EAEI8B,KAAK,KAAK,MAAV,gBAEI9B,wCAACwF,kBAAD,EAAA;AACE,IAAA,OAAO,EAAE,YAAA;MACPvD,WAAW,CAAC,OAAD,CAAX,CAAA;AACAzB,MAAAA,aAAa,SAAb,IAAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAAA,aAAa,CAAG,OAAH,CAAb,CAFO;AAIP;AACA;KANJ;IAQE,IAAI,EAAEiF,iBAAS,CAACC,SARlB;AASE,IAAA,KAAK,EAAE,EATT;AAUE,IAAA,MAAM,EAAE,EAAA;GAZd,CAAA,gBAgBI1F,wCAACwF,kBAAD,EAAA;AACE,IAAA,OAAO,EAAE,YAAA;MACPvD,WAAW,CAAC,MAAD,CAAX,CAAA;AACAzB,MAAAA,aAAa,SAAb,IAAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAAA,aAAa,CAAG,MAAH,CAAb,CAFO;AAIP;AACA;KANJ;IAQE,IAAI,EAAEiF,iBAAS,CAACE,UARlB;AASE,IAAA,KAAK,EAAE,EATT;AAUE,IAAA,MAAM,EAAE,EAAA;GA5BlB,CAAA,CAJF,CA5DF,CAxBF,CADF,CAAA;AA8HD;;;;;"}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-08359f50.js');
3
+ var tslib_es6 = require('./tslib.es6-a4fb9cb5.js');
4
4
  var React = require('react');
5
- var index$1 = require('./index-1dd6b0e3.js');
5
+ var index$1 = require('./index-d0fd1f01.js');
6
6
  var ui_Icon = require('./ui/Icon.js');
7
- var ui_Label = require('./index-ba572c7a.js');
7
+ var ui_Label = require('./index-10a8fbd5.js');
8
8
  var ui_Loader = require('./ui/Loader.js');
9
- var index$2 = require('./index-39a87513.js');
9
+ var index$2 = require('./index-23bde05e.js');
10
10
  var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
11
- var index = require('./index-c78778a6.js');
12
- var LocalizationContext = require('./LocalizationContext-51dc836f.js');
11
+ var index = require('./index-478a54a0.js');
12
+ var LocalizationContext = require('./LocalizationContext-f7972a74.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -154,4 +154,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
154
154
  exports.getLastMessage = getLastMessage;
155
155
  exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
156
156
  exports.getTotalMembers = getTotalMembers;
157
- //# sourceMappingURL=index-adcde1d2.js.map
157
+ //# sourceMappingURL=index-e1a91b28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-adcde1d2.js","sources":["../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../smart-components/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_a","className","_e","isDateSeparatorConsidered","_f","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","_d","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","Loader","Icon","SPINNER","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"index-e1a91b28.js","sources":["../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../smart-components/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_a","className","_e","isDateSeparatorConsidered","_f","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","_d","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","Loader","Icon","SPINNER","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var ui_ContextMenu = require('./ui/ContextMenu.js');
5
5
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
- var LocalizationContext = require('./LocalizationContext-51dc836f.js');
6
+ var LocalizationContext = require('./LocalizationContext-f7972a74.js');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
@@ -193,4 +193,4 @@ exports.isFineDelete = isFineDelete;
193
193
  exports.isFineEdit = isFineEdit;
194
194
  exports.isFineResend = isFineResend;
195
195
  exports.showMenuTrigger = showMenuTrigger;
196
- //# sourceMappingURL=index-244136d1.js.map
196
+ //# sourceMappingURL=index-e49f1bd9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-244136d1.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","_c","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","ContextMenu","MenuItems","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":";;;;;;;;;;;AAGA,IAAMA,6BAA6B,GAAG;AACpCC,EAAAA,IAAI,EAAE,MAD8B;AAEpCC,EAAAA,OAAO,EAAE,SAF2B;AAGpCC,EAAAA,MAAM,EAAE,QAH4B;AAIpCC,EAAAA,QAAQ,EAAE,UAJ0B;AAKpCC,EAAAA,SAAS,EAAE,WAAA;AALyB,CAAtC,CAAA;AAQaC,IAAAA,oBAAoB,GAAG,UAACC,OAAD,EAAmC;AACrE;AACA,EAAA,OAAOA,OAAO,CAACC,MAAR,IAAkBD,OAAO,CAACE,OAAjC,CAAA;AACD,EAHM;AAKMC,IAAAA,WAAW,GAAG,UAACC,MAAD,EAA6B;AAAA,EAAA,OAACA,MAAM,KAAKX,6BAA6B,CAACK,SAA1C,CAAA;AAAoD,EAArG;AACMO,IAAAA,cAAc,GAAG,UAACD,MAAD,EAA6B;AAAA,EAAA,OAACA,MAAM,KAAKX,6BAA6B,CAACE,OAA1C,CAAA;AAAkD,EAAtG;AACMW,IAAAA,aAAa,GAAG,UAACF,MAAD,EAA6B;AAAA,EAAA,OAACA,MAAM,KAAKX,6BAA6B,CAACG,MAA1C,CAAA;AAAiD,EAApG;AAEA,IAAMW,WAAW,GAAG,UAACP,OAAD,EAAqCQ,MAArC,EAAmD;AAAc,EAAA,OAACT,oBAAoB,CAACC,OAAD,CAApB,CAA8BQ,MAA9B,KAAyCA,MAA1C,CAAA;AAAiD,CAAtI,CAAA;AAOMC,IAAAA,UAAU,GAAG,UAACC,EAAD,EAA8B;;;AAA3B,EAAA,IAAAV,OAAO,GAAAU,EAAA,CAAAV,OAAP,CAAA;EAC3B,OAAQ,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEW,WAAT,MAAyB,MAAzB,IAAmC,CAAA,MAAAX,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEA,OAAT,MAAgB,IAAhB,IAAgBY,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgBA,EAAA,CAAEC,MAAlB,IAA2B,CAAtE,CAAA;AACD,EAFM;AASMC,IAAAA,YAAY,GAAG,UAACJ,EAAD,EAAgD;AAA7C,EAAA,IAAAV,OAAO,aAAP;AAAA,MAASI,MAAM,GAAAM,EAAA,CAAAN,MAAf;AAAA,MAAiBI,MAAM,GAAAE,EAAA,CAAAF,MAAvB,CAAA;EAC7B,OAAOD,WAAW,CAACP,OAAD,EAAUQ,MAAV,CAAX,IACFF,aAAa,CAACF,MAAD,CADX;AAAA,MAGFJ,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEe,YAAT,EAHE,CAAP,CAAA;AAID,EALM;AAYMC,IAAAA,UAAU,GAAG,UAACN,EAAD,EAA8C;;;AAA3C,EAAA,IAAAV,OAAO,aAAP;AAAA,MAASI,MAAM,GAAAM,EAAA,CAAAN,MAAf;AAAA,MAAiBI,MAAM,GAAAE,EAAA,CAAAF,MAAvB,CAAA;EAC3B,OAAOD,WAAW,CAACP,OAAD,EAAUQ,MAAV,CAAX,IAAgCL,WAAW,CAACC,MAAD,CAA3C,KAAuD,CAAAQ,EAAA,GAAAZ,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEiB,aAAT,MAA0B,IAA1B,IAA0BL,EAAA,KAAA,KAAA,CAA1B,GAA0B,KAAA,CAA1B,GAA0BA,EAAA,CAAAM,IAAA,CAAAlB,OAAA,CAAjF,CAAP,CAAA;AACD,EAFM;AASMmB,IAAAA,YAAY,GAAG,UAACT,EAAD,EAAwC;MAArCV,OAAO,GAAAU,EAAA,CAAAV;MAAEQ,MAAM,GAAAE,EAAA,CAAAF;AAC5C,EAAA,OAAOD,WAAW,CAACP,OAAD,EAAUQ,MAAV,CAAlB,CAAA;AACD,EAFM;AASA,IAAMY,cAAc,GAAG,UAACV,EAAD,EAA0C;;;MAAvCV,OAAO,GAAAU,EAAA,CAAAV;MAAEI,MAAM,GAAAM,EAAA,CAAAN;;AAC9C,EAAA,IAAI,CAAA,CAAAQ,EAAA,GAAAZ,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEqB,aAAT,UAAA,iBAAA,SAAA,mBAAA,KAA8BlB,WAAW,CAACC,MAAD,CAA7C,EAAuD;AACrD,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD,CALM,CAAA;AAYMkB,IAAAA,eAAe,GAAG,UAACC,KAAD,EAA6B;AAClD,EAAA,IAAAvB,OAAO,GAAqBuB,KAAK,CAAAvB,OAAjC;AAAA,MAASI,MAAM,GAAamB,KAAK,CAAAnB,MAAjC;AAAA,MAAiBI,MAAM,GAAKe,KAAK,OAAjC,CADkD;;AAG1D,EAAA,IAAIvB,OAAO,CAACW,WAAR,KAAwB,MAA5B,EAAoC;AAClC,IAAA,OACEQ,YAAY,CAAC;AAAEnB,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;KAA1B,CAAZ,IACGQ,UAAU,CAAC;AAAEhB,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;AAAzB,KAAD,CADb;AAAA,OAGGC,UAAU,CAAC;AAAET,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;KAA1B,CAHb,IAIGM,YAAY,CAAC;AAAEd,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;AAAzB,KAAD,CALjB,CAAA;AAOD,GARD,MAQO;AACL,IAAA,OACEW,YAAY,CAAC;AAAEnB,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;KAA1B,CAAZ,IACGM,YAAY,CAAC;AAAEd,MAAAA,OAAO,EAAAA,OAAT;AAAWI,MAAAA,MAAM,EAAAA,MAAjB;AAAmBI,MAAAA,MAAM,EAAAA,MAAAA;AAAzB,KAAD,CAFjB,CAAA;AAID,GAAA;AACF;;ACrED,IAAMgB,qBAAqB,GAAoB,UAACD,KAAD,EAAa;;;AAExD,EAAA,IAAAvB,OAAO,GAQLuB,KAAK,QARP;AAAA,MACAE,SAAS,GAOPF,KAAK,CAAAE,SARP;AAAA,MAEAC,aAAa,GAMXH,KAAK,CANMG,aAFb;AAAA,MAGAC,QAAQ,GAKNJ,KAAK,SARP;AAAA,MAIAK,UAAU,GAIRL,KAAK,CAAAK,UARP;AAAA,MAKAC,eAAe,GAGbN,KAAK,CAHQM,eALf;AAAA,MAMAC,QAAQ,GAENP,KAAK,SARP;AAAA,MAOAQ,EAAA,GACER,KAAK,CADYS,WAPnB;MAOAA,WAAW,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,KAPd,CAAA;EASF,IAAME,WAAW,GAAGjC,OAApB,CAAA;AACA,EAAA,IAAMI,MAAM,GAAGJ,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkC,aAAxB,CAAA;AACQ,EAAA,IAAAC,SAAS,GAAKC,mCAAe,EAAA,UAA7B,CAAA;AACR,EAAA,IAAM5B,MAAM,GAAG,CAAAI,EAAA,GAAA,CAAAF,EAAA,GAAA2B,uBAAuB,EAAvB,MAA2B,IAA3B,IAA2B3B,EAAA,KAAA,KAAA,CAA3B,GAA2B,KAAA,CAA3B,GAA2BA,EAAA,CAAA4B,MAA3B,MAAmC,IAAnC,IAAmC1B,EAAA,KAAA,KAAA,CAAnC,GAAmC,KAAA,CAAnC,GAAmCA,EAAA,CAAAJ,MAAlD,CAAA;EACA,IAAM+B,WAAW,GAAGvC,OAApB,CAAA;AACA,EAAA,oBACEwC,wCAACC,yBAAD,EAAA;AACE,IAAA,MAAM,EADR,IAAA;AAEE,IAAA,SAAS,EAAE,YAAA;AAAM,MAAA,oBACfD,wCAACE,wBAAD,EAAA;AACE,QAAA,SAAS,EAAC,mCADZ;AAEE,QAAA,SAAS,EAAEjB,SAFb;AAGE,QAAA,gBAAgB,EAAEA,SAHpB;AAIE,QAAA,aAAa,EAAEK,QAAAA;AAJjB,OAAA,EAOIrB,UAAU,CAAC;AAAET,QAAAA,OAAO,EAAEiC,WAAX;AAAwBzB,QAAAA,MAAM,EAAAA,MAA9B;AAAgCJ,QAAAA,MAAM,EAAAA,MAAAA;OAAvC,CAAV,iBACEoC,yBAAA,CAAA,aAAA,CAACG,uBAAD,EAAA;AACE,QAAA,SAAS,EAAC,0DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACPd,eAAe,EAAA,CAAA;AAChB,SAAA;OAED,eAAAW,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAGL,SAAS,CAACS,2BAAb,CANF,CARN,EAmBK,CAACZ,WAAD,IAAgBhB,UAAU,CAAC;AAAEhB,QAAAA,OAAO,EAAAA,OAAT;AAAWQ,QAAAA,MAAM,EAAAA,MAAjB;AAAmBJ,QAAAA,MAAM,EAAAA,MAAAA;OAA1B,CAA3B,iBACEoC,yBAAA,CAAA,aAAA,CAACG,uBAAD,EAAA;AACE,QAAA,SAAS,EAAC,0DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACPhB,QAAQ,EAAA,CAAA;AACT,SAAA;OAED,eAAAa,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAGL,SAAS,CAACU,2BAAb,CANF,CApBN,EA+BI/B,YAAY,CAAC;AAAEd,QAAAA,OAAO,SAAT;AAAWQ,QAAAA,MAAM,QAAjB;AAAmBJ,QAAAA,MAAM;OAA1B,CAAZ,iBACEoC,yBAAA,CAAA,aAAA,CAACG,uBAAD,EAAA;AACE,QAAA,OAAO,EAAE,YAAA;UACPjB,aAAa,EAAA,CAAA;AACd,SAAA;OAED,eAAAc,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAGL,SAAS,CAACW,6BAAb,CALF,CAhCN,EA0CK,CAACd,WAAD,IAAgBb,YAAY,CAAC;AAAEnB,QAAAA,OAAO,EAAAA,OAAT;AAAWQ,QAAAA,MAAM,EAAAA,MAAjB;AAAmBJ,QAAAA,MAAM,EAAAA,MAAAA;OAA1B,CAA7B,iBACEoC,yBAAA,CAAA,aAAA,CAACG,uBAAD,EAAA;AACE,QAAA,OAAO,EAAE,YAAA;UACPf,UAAU,EAAA,CAAA;AACX,SAAA;OAED,eAAAY,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAGL,SAAS,CAACY,6BAAb,CALF,CA3CN,EAqDI3B,cAAc,CAAC;AAAEpB,QAAAA,OAAO,EAAAA,OAAT;AAAWI,QAAAA,MAAM,EAAAA,MAAAA;OAAlB,CAAd,iBACIoC,yBAAA,CAAA,aAAA,CAACG,uBAAD,EAAA;AACE,QAAA,OAAO,EAAE,YAAA;UACPb,QAAQ,EAAA,CAAA;AACT,SAAA;OAED,eAAAU,yBAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AACE,QAAA,SAAS,EAAC,6CADZ;AAEE,QAAA,GAAG,EAAC,qBAFN;AAGE,QAAA,IAAI,EAAED,WAAW,KAAA,IAAX,IAAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAAA,WAAW,CAAES,GAHrB;AAIE,QAAA,MAAM,EAAC,QAAA;AAJT,OAAA,EAMGb,SAAS,CAACc,2BANb,CALF,CAtDR,CADe,CAAA;AAwEhB,KAAA;GA3EL,CAAA,CAAA;AA8ED;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index-e49f1bd9.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","_c","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","ContextMenu","MenuItems","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var tslib_es6 = require('./tslib.es6-08359f50.js');
5
- var consts = require('./consts-7df240d1.js');
4
+ var tslib_es6 = require('./tslib.es6-a4fb9cb5.js');
5
+ var consts = require('./consts-a83dba32.js');
6
6
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -295,4 +295,4 @@ exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
295
295
  exports.VoicePlayerProvider = VoicePlayerProvider;
296
296
  exports.VoicePlayerStatus = VoicePlayerStatus;
297
297
  exports.useVoicePlayerContext = useVoicePlayerContext;
298
- //# sourceMappingURL=index-9e4bf057.js.map
298
+ //# sourceMappingURL=index-ec71f9d1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-9e4bf057.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from \"../../../utils/typeHelpers/objectValues\";\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n logger.info('VoicePlayer: Succeeded getting audio file.', audioFile);\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n });\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"index-ec71f9d1.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from \"../../../utils/typeHelpers/objectValues\";\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n logger.info('VoicePlayer: Succeeded getting audio file.', audioFile);\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n });\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}