@sendbird/uikit-react 3.6.11-beta.3 → 3.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. package/App.js +272 -345
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +134 -0
  4. package/Channel/components/ChannelHeader.js +45 -50
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +76 -77
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +53 -58
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +9 -12
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +198 -176
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +137 -130
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +171 -161
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +40 -41
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +156 -136
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +47 -48
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +17 -18
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +17 -17
  27. package/Channel/utils/compareMessagesForGrouping.js +11 -11
  28. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  29. package/Channel/utils/getMessagePartsInfo.js +32 -26
  30. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  31. package/Channel.js +54 -51
  32. package/Channel.js.map +1 -1
  33. package/ChannelList/components/AddChannel.js +32 -30
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +22 -31
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +93 -88
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +79 -75
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +85 -91
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +39 -41
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelListProvider-f520f5b3.js +1051 -0
  48. package/ChannelListProvider-f520f5b3.js.map +1 -0
  49. package/ChannelProvider-7f6fd1f8.js +2080 -0
  50. package/ChannelProvider-7f6fd1f8.js.map +1 -0
  51. package/ChannelSettings/components/ChannelProfile.js +42 -37
  52. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  53. package/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  54. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  55. package/ChannelSettings/components/EditDetailsModal.js +54 -52
  56. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  57. package/ChannelSettings/components/LeaveChannel.js +39 -41
  58. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  59. package/ChannelSettings/components/ModerationPanel.js +552 -509
  60. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  61. package/ChannelSettings/components/UserListItem.js +66 -66
  62. package/ChannelSettings/components/UserListItem.js.map +1 -1
  63. package/ChannelSettings/components/UserPanel.js +29 -26
  64. package/ChannelSettings/components/UserPanel.js.map +1 -1
  65. package/ChannelSettings/context.js +52 -57
  66. package/ChannelSettings/context.js.map +1 -1
  67. package/ChannelSettings.js +20 -19
  68. package/ChannelSettings.js.map +1 -1
  69. package/CreateChannel/components/CreateChannelUI.js +23 -25
  70. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  71. package/CreateChannel/components/InviteUsers.js +106 -102
  72. package/CreateChannel/components/InviteUsers.js.map +1 -1
  73. package/CreateChannel/components/SelectChannelType.js +38 -43
  74. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  75. package/CreateChannel/context.js +4 -4
  76. package/CreateChannel.js +22 -23
  77. package/CreateChannel.js.map +1 -1
  78. package/CreateChannelProvider-c25dd81b.js +48 -0
  79. package/{CreateChannelProvider-0b4bc562.js.map → CreateChannelProvider-c25dd81b.js.map} +1 -1
  80. package/CreateOpenChannel/components/CreateOpenChannelUI.js +38 -36
  81. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  82. package/CreateOpenChannel/context.js +29 -34
  83. package/CreateOpenChannel/context.js.map +1 -1
  84. package/CreateOpenChannel.js +20 -21
  85. package/CreateOpenChannel.js.map +1 -1
  86. package/EditUserProfile/components/EditUserProfileUI.js +152 -21
  87. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  88. package/EditUserProfile/context.js +13 -13
  89. package/EditUserProfile/context.js.map +1 -1
  90. package/EditUserProfile.js +19 -19
  91. package/EditUserProfile.js.map +1 -1
  92. package/LocalizationContext-d18a86d8.js +20 -0
  93. package/{LocalizationContext-5cbe4df3.js.map → LocalizationContext-d18a86d8.js.map} +1 -1
  94. package/MediaQueryContext-3eeeec4f.js +85 -0
  95. package/MediaQueryContext-3eeeec4f.js.map +1 -0
  96. package/MemberList-469dae9b.js +422 -0
  97. package/{MemberList-d407bcd0.js.map → MemberList-469dae9b.js.map} +1 -1
  98. package/Message/context.js +11 -12
  99. package/Message/context.js.map +1 -1
  100. package/Message/hooks/useDirtyGetMentions.js +21 -26
  101. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  102. package/MessageSearch/components/MessageSearchUI.js +56 -61
  103. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  104. package/MessageSearch/context.js +166 -177
  105. package/MessageSearch/context.js.map +1 -1
  106. package/MessageSearch.js +49 -47
  107. package/MessageSearch.js.map +1 -1
  108. package/OpenChannel/components/FrozenChannelNotification.js +6 -8
  109. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  110. package/OpenChannel/components/OpenChannelHeader.js +22 -27
  111. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  112. package/OpenChannel/components/OpenChannelInput.js +32 -35
  113. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  114. package/OpenChannel/components/OpenChannelMessage.js +170 -171
  115. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  116. package/OpenChannel/components/OpenChannelMessageList.js +70 -64
  117. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  118. package/OpenChannel/components/OpenChannelUI.js +53 -54
  119. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  120. package/OpenChannel/context.js +8 -9
  121. package/OpenChannel/context.js.map +1 -1
  122. package/OpenChannel.js +37 -35
  123. package/OpenChannel.js.map +1 -1
  124. package/OpenChannelList/components/OpenChannelListUI.js +63 -61
  125. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  126. package/OpenChannelList/components/OpenChannelPreview.js +22 -21
  127. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  128. package/OpenChannelList/context.js +3 -3
  129. package/OpenChannelList.js +27 -27
  130. package/OpenChannelList.js.map +1 -1
  131. package/{OpenChannelListProvider-40f481e4.js → OpenChannelListProvider-24e735a1.js} +156 -178
  132. package/{OpenChannelListProvider-40f481e4.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
  133. package/OpenChannelProvider-e9cb0f98.js +1850 -0
  134. package/{OpenChannelProvider-ca26866f.js.map → OpenChannelProvider-e9cb0f98.js.map} +1 -1
  135. package/OpenChannelSettings/components/EditDetailsModal.js +52 -51
  136. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  137. package/OpenChannelSettings/components/OpenChannelProfile.js +30 -29
  138. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  139. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -47
  140. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  141. package/OpenChannelSettings/components/OperatorUI.js +550 -518
  142. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  143. package/OpenChannelSettings/components/ParticipantUI.js +16 -15
  144. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  145. package/OpenChannelSettings/context.js +58 -57
  146. package/OpenChannelSettings/context.js.map +1 -1
  147. package/OpenChannelSettings.js +20 -19
  148. package/OpenChannelSettings.js.map +1 -1
  149. package/README.md +4 -4
  150. package/RemoveMessageModal-f0cd37a5.js +33 -0
  151. package/RemoveMessageModal-f0cd37a5.js.map +1 -0
  152. package/SendbirdProvider.js +726 -690
  153. package/SendbirdProvider.js.map +1 -1
  154. package/Thread/components/ParentMessageInfo.js +194 -181
  155. package/Thread/components/ParentMessageInfo.js.map +1 -1
  156. package/Thread/components/ParentMessageInfoItem.js +86 -79
  157. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  158. package/Thread/components/ThreadHeader.js +22 -22
  159. package/Thread/components/ThreadHeader.js.map +1 -1
  160. package/Thread/components/ThreadList.js +126 -94
  161. package/Thread/components/ThreadList.js.map +1 -1
  162. package/Thread/components/ThreadListItem.js +260 -241
  163. package/Thread/components/ThreadListItem.js.map +1 -1
  164. package/Thread/components/ThreadMessageInput.js +121 -120
  165. package/Thread/components/ThreadMessageInput.js.map +1 -1
  166. package/Thread/components/ThreadUI.js +128 -144
  167. package/Thread/components/ThreadUI.js.map +1 -1
  168. package/Thread/context/types.js +9 -9
  169. package/Thread/context/types.js.map +1 -1
  170. package/Thread/context.js +1678 -19
  171. package/Thread/context.js.map +1 -1
  172. package/Thread.js +76 -73
  173. package/Thread.js.map +1 -1
  174. package/UserProfileContext-26e71f9a.js +34 -0
  175. package/UserProfileContext-26e71f9a.js.map +1 -0
  176. package/VoicePlayer/context.js +3 -3
  177. package/VoicePlayer/useVoicePlayer.js +52 -46
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  179. package/VoiceRecorder/context.js +68 -64
  180. package/VoiceRecorder/context.js.map +1 -1
  181. package/VoiceRecorder/useVoiceRecorder.js +50 -52
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  183. package/{WebAudioUtils-e85ef476.js → WebAudioUtils-dbb010a5.js} +38 -38
  184. package/{WebAudioUtils-e85ef476.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
  185. package/{_rollupPluginBabelHelpers-ef032169.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
  186. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
  187. package/{actionTypes-d32207ad.js → actionTypes-3cd49b5c.js} +2 -2
  188. package/{actionTypes-d32207ad.js.map → actionTypes-3cd49b5c.js.map} +1 -1
  189. package/cjs/App.js +270 -344
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +44 -49
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +79 -80
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +52 -57
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +9 -12
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +197 -175
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +136 -129
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +173 -163
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +41 -42
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +155 -135
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +46 -47
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +17 -18
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +17 -17
  214. package/cjs/Channel/utils/compareMessagesForGrouping.js +11 -11
  215. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  216. package/cjs/Channel/utils/getMessagePartsInfo.js +32 -26
  217. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  218. package/cjs/Channel.js +54 -51
  219. package/cjs/Channel.js.map +1 -1
  220. package/cjs/ChannelList/components/AddChannel.js +31 -29
  221. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  222. package/cjs/ChannelList/components/ChannelListHeader.js +21 -30
  223. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  224. package/cjs/ChannelList/components/ChannelListUI.js +96 -91
  225. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  226. package/cjs/ChannelList/components/ChannelPreview.js +78 -74
  227. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  228. package/cjs/ChannelList/components/ChannelPreviewAction.js +84 -91
  229. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  230. package/cjs/ChannelList/context.js +9 -10
  231. package/cjs/ChannelList/context.js.map +1 -1
  232. package/cjs/ChannelList.js +39 -41
  233. package/cjs/ChannelList.js.map +1 -1
  234. package/cjs/ChannelListProvider-a418de2e.js +1060 -0
  235. package/cjs/ChannelListProvider-a418de2e.js.map +1 -0
  236. package/cjs/ChannelProvider-7fa98120.js +2088 -0
  237. package/cjs/ChannelProvider-7fa98120.js.map +1 -0
  238. package/cjs/ChannelSettings/components/ChannelProfile.js +41 -36
  239. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  240. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +44 -47
  241. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  242. package/cjs/ChannelSettings/components/EditDetailsModal.js +54 -52
  243. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  244. package/cjs/ChannelSettings/components/LeaveChannel.js +38 -40
  245. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  246. package/cjs/ChannelSettings/components/ModerationPanel.js +559 -516
  247. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  248. package/cjs/ChannelSettings/components/UserListItem.js +66 -66
  249. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  250. package/cjs/ChannelSettings/components/UserPanel.js +29 -26
  251. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  252. package/cjs/ChannelSettings/context.js +51 -56
  253. package/cjs/ChannelSettings/context.js.map +1 -1
  254. package/cjs/ChannelSettings.js +20 -19
  255. package/cjs/ChannelSettings.js.map +1 -1
  256. package/cjs/CreateChannel/components/CreateChannelUI.js +23 -25
  257. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  258. package/cjs/CreateChannel/components/InviteUsers.js +106 -102
  259. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  260. package/cjs/CreateChannel/components/SelectChannelType.js +37 -42
  261. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  262. package/cjs/CreateChannel/context.js +4 -4
  263. package/cjs/CreateChannel.js +22 -23
  264. package/cjs/CreateChannel.js.map +1 -1
  265. package/cjs/CreateChannelProvider-70c9cb7c.js +55 -0
  266. package/cjs/{CreateChannelProvider-7c5b1342.js.map → CreateChannelProvider-70c9cb7c.js.map} +1 -1
  267. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +39 -37
  268. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  269. package/cjs/CreateOpenChannel/context.js +28 -33
  270. package/cjs/CreateOpenChannel/context.js.map +1 -1
  271. package/cjs/CreateOpenChannel.js +20 -21
  272. package/cjs/CreateOpenChannel.js.map +1 -1
  273. package/cjs/EditUserProfile/components/EditUserProfileUI.js +153 -22
  274. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  275. package/cjs/EditUserProfile/context.js +13 -13
  276. package/cjs/EditUserProfile/context.js.map +1 -1
  277. package/cjs/EditUserProfile.js +21 -21
  278. package/cjs/EditUserProfile.js.map +1 -1
  279. package/cjs/{LocalizationContext-c223b781.js → LocalizationContext-5009012e.js} +9 -9
  280. package/cjs/{LocalizationContext-c223b781.js.map → LocalizationContext-5009012e.js.map} +1 -1
  281. package/cjs/MediaQueryContext-d6fdbe43.js +92 -0
  282. package/cjs/MediaQueryContext-d6fdbe43.js.map +1 -0
  283. package/cjs/MemberList-529a0086.js +428 -0
  284. package/cjs/{MemberList-ee792073.js.map → MemberList-529a0086.js.map} +1 -1
  285. package/cjs/Message/context.js +11 -12
  286. package/cjs/Message/context.js.map +1 -1
  287. package/cjs/Message/hooks/useDirtyGetMentions.js +21 -26
  288. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  289. package/cjs/MessageSearch/components/MessageSearchUI.js +60 -65
  290. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  291. package/cjs/MessageSearch/context.js +165 -176
  292. package/cjs/MessageSearch/context.js.map +1 -1
  293. package/cjs/MessageSearch.js +49 -47
  294. package/cjs/MessageSearch.js.map +1 -1
  295. package/cjs/OpenChannel/components/FrozenChannelNotification.js +6 -8
  296. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  297. package/cjs/OpenChannel/components/OpenChannelHeader.js +22 -27
  298. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  299. package/cjs/OpenChannel/components/OpenChannelInput.js +32 -35
  300. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  301. package/cjs/OpenChannel/components/OpenChannelMessage.js +169 -170
  302. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  303. package/cjs/OpenChannel/components/OpenChannelMessageList.js +69 -63
  304. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  305. package/cjs/OpenChannel/components/OpenChannelUI.js +56 -57
  306. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  307. package/cjs/OpenChannel/context.js +8 -9
  308. package/cjs/OpenChannel/context.js.map +1 -1
  309. package/cjs/OpenChannel.js +37 -35
  310. package/cjs/OpenChannel.js.map +1 -1
  311. package/cjs/OpenChannelList/components/OpenChannelListUI.js +66 -64
  312. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  313. package/cjs/OpenChannelList/components/OpenChannelPreview.js +22 -21
  314. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  315. package/cjs/OpenChannelList/context.js +3 -3
  316. package/cjs/OpenChannelList.js +27 -27
  317. package/cjs/OpenChannelList.js.map +1 -1
  318. package/cjs/OpenChannelListProvider-0b8cd3bf.js +416 -0
  319. package/cjs/{OpenChannelListProvider-d9f4a5b4.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
  320. package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
  321. package/cjs/{OpenChannelProvider-30a24b84.js.map → OpenChannelProvider-d8cc11fe.js.map} +1 -1
  322. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +53 -52
  323. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +29 -28
  325. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +40 -48
  327. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/components/OperatorUI.js +557 -525
  329. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  330. package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -15
  331. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  332. package/cjs/OpenChannelSettings/context.js +57 -56
  333. package/cjs/OpenChannelSettings/context.js.map +1 -1
  334. package/cjs/OpenChannelSettings.js +20 -19
  335. package/cjs/OpenChannelSettings.js.map +1 -1
  336. package/cjs/RemoveMessageModal-f029d40e.js +39 -0
  337. package/cjs/RemoveMessageModal-f029d40e.js.map +1 -0
  338. package/cjs/SendbirdProvider.js +733 -693
  339. package/cjs/SendbirdProvider.js.map +1 -1
  340. package/cjs/Thread/components/ParentMessageInfo.js +193 -180
  341. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  342. package/cjs/Thread/components/ParentMessageInfoItem.js +86 -79
  343. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  344. package/cjs/Thread/components/ThreadHeader.js +22 -22
  345. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  346. package/cjs/Thread/components/ThreadList.js +125 -93
  347. package/cjs/Thread/components/ThreadList.js.map +1 -1
  348. package/cjs/Thread/components/ThreadListItem.js +263 -244
  349. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  350. package/cjs/Thread/components/ThreadMessageInput.js +120 -119
  351. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  352. package/cjs/Thread/components/ThreadUI.js +134 -150
  353. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  354. package/cjs/Thread/context/types.js +9 -13
  355. package/cjs/Thread/context/types.js.map +1 -1
  356. package/cjs/Thread/context.js +1680 -21
  357. package/cjs/Thread/context.js.map +1 -1
  358. package/cjs/Thread.js +76 -73
  359. package/cjs/Thread.js.map +1 -1
  360. package/cjs/UserProfileContext-922a43ec.js +41 -0
  361. package/cjs/UserProfileContext-922a43ec.js.map +1 -0
  362. package/cjs/VoicePlayer/context.js +3 -3
  363. package/cjs/VoicePlayer/useVoicePlayer.js +52 -46
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  365. package/cjs/VoiceRecorder/context.js +67 -63
  366. package/cjs/VoiceRecorder/context.js.map +1 -1
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +49 -51
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  369. package/cjs/{WebAudioUtils-dad5a0b9.js → WebAudioUtils-29717597.js} +38 -38
  370. package/cjs/{WebAudioUtils-dad5a0b9.js.map → WebAudioUtils-29717597.js.map} +1 -1
  371. package/cjs/{_rollupPluginBabelHelpers-4693667a.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
  372. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
  373. package/cjs/{actionTypes-5e5d1266.js → actionTypes-7fa02f94.js} +2 -2
  374. package/cjs/{actionTypes-5e5d1266.js.map → actionTypes-7fa02f94.js.map} +1 -1
  375. package/cjs/{color-5fe1a19c.js → color-477ddbd4.js} +12 -13
  376. package/cjs/color-477ddbd4.js.map +1 -0
  377. package/cjs/{compareIds-02121052.js → compareIds-de541666.js} +7 -6
  378. package/cjs/compareIds-de541666.js.map +1 -0
  379. package/cjs/{const-796fc77a.js → const-640252c1.js} +4 -4
  380. package/cjs/{const-796fc77a.js.map → const-640252c1.js.map} +1 -1
  381. package/cjs/const-9def5c09.js +19 -0
  382. package/cjs/{const-2044f15a.js.map → const-9def5c09.js.map} +1 -1
  383. package/cjs/consts-54f5c12d.js +6 -0
  384. package/cjs/consts-54f5c12d.js.map +1 -0
  385. package/cjs/consts-85cd42fa.js +6 -0
  386. package/cjs/{consts-f2c42e3a.js.map → consts-85cd42fa.js.map} +1 -1
  387. package/cjs/{consts-240f7639.js → consts-95462b21.js} +18 -25
  388. package/cjs/{consts-240f7639.js.map → consts-95462b21.js.map} +1 -1
  389. package/cjs/consts-a3b7ae99.js +6 -0
  390. package/cjs/{consts-14256e43.js.map → consts-a3b7ae99.js.map} +1 -1
  391. package/cjs/{context-8af95992.js → context-9814fafe.js} +5 -6
  392. package/cjs/{context-8af95992.js.map → context-9814fafe.js.map} +1 -1
  393. package/cjs/dist/index.css +71 -56
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/hooks/useModal.js +84 -0
  398. package/cjs/hooks/useModal.js.map +1 -0
  399. package/cjs/{index-5c7818e3.js → index-0a25b9b2.js} +166 -154
  400. package/cjs/index-0a25b9b2.js.map +1 -0
  401. package/cjs/index-0ec5a831.js +308 -0
  402. package/cjs/{index-2e84e87d.js.map → index-0ec5a831.js.map} +1 -1
  403. package/cjs/{index-46bcc5b2.js → index-35820a94.js} +2 -2
  404. package/cjs/{index-46bcc5b2.js.map → index-35820a94.js.map} +1 -1
  405. package/cjs/index-609b07a2.js +7 -0
  406. package/cjs/index-609b07a2.js.map +1 -0
  407. package/cjs/index-6b0644d7.js +369 -0
  408. package/cjs/index-6b0644d7.js.map +1 -0
  409. package/cjs/{index-84f919de.js → index-7b0c6630.js} +104 -114
  410. package/cjs/index-7b0c6630.js.map +1 -0
  411. package/cjs/index-80a11b6a.js +197 -0
  412. package/cjs/{index-d58de514.js.map → index-80a11b6a.js.map} +1 -1
  413. package/cjs/{index-c8592ba1.js → index-826b76d5.js} +2 -4
  414. package/cjs/index-826b76d5.js.map +1 -0
  415. package/cjs/{index-7b61bfbc.js → index-83d2aed9.js} +3 -12
  416. package/cjs/index-83d2aed9.js.map +1 -0
  417. package/cjs/index-aeb36f01.js +173 -0
  418. package/cjs/index-aeb36f01.js.map +1 -0
  419. package/cjs/{index-aaa23e06.js → index-b6d51e74.js} +56 -193
  420. package/cjs/index-b6d51e74.js.map +1 -0
  421. package/cjs/index-b995f638.js +741 -0
  422. package/cjs/index-b995f638.js.map +1 -0
  423. package/cjs/{index-d0755040.js → index-bdf7089c.js} +72 -80
  424. package/cjs/{index-d0755040.js.map → index-bdf7089c.js.map} +1 -1
  425. package/cjs/{index-14572b37.js → index-c22e0cbf.js} +25 -28
  426. package/cjs/{index-14572b37.js.map → index-c22e0cbf.js.map} +1 -1
  427. package/cjs/index-daf80c58.js +20 -0
  428. package/cjs/index-daf80c58.js.map +1 -0
  429. package/cjs/index-e81e2882.js +59 -0
  430. package/cjs/{index-1914edda.js.map → index-e81e2882.js.map} +1 -1
  431. package/cjs/{index-933397f2.js → index-ee3bf381.js} +39 -37
  432. package/cjs/{index-933397f2.js.map → index-ee3bf381.js.map} +1 -1
  433. package/cjs/{index-00aa7289.js → index-fd8a0abb.js} +10 -30
  434. package/cjs/index-fd8a0abb.js.map +1 -0
  435. package/cjs/index.js +66 -63
  436. package/cjs/index.js.map +1 -1
  437. package/cjs/lame.all.js.map +1 -1
  438. package/cjs/package.json +2 -49
  439. package/cjs/{topics-df8731af.js → pubSub/topics.js} +6 -2
  440. package/cjs/pubSub/topics.js.map +1 -0
  441. package/cjs/{resolvedReplyType-6d095a63.js → resolvedReplyType-c20ef661.js} +1 -1
  442. package/cjs/{resolvedReplyType-6d095a63.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
  443. package/cjs/sendbirdSelectors.js +381 -333
  444. package/cjs/sendbirdSelectors.js.map +1 -1
  445. package/cjs/stringFormatterUtils-e324636c.js +16 -0
  446. package/cjs/{stringFormatterUtils-f768db2f.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
  447. package/cjs/{stringSet-286c9fb2.js → stringSet-98b52c49.js} +9 -2
  448. package/cjs/stringSet-98b52c49.js.map +1 -0
  449. package/cjs/{tokenize-d4732550.js → tokenize-91bdbeb0.js} +56 -61
  450. package/cjs/{tokenize-d4732550.js.map → tokenize-91bdbeb0.js.map} +1 -1
  451. package/cjs/tslib.es6-2f2b0bca.js +102 -0
  452. package/cjs/tslib.es6-2f2b0bca.js.map +1 -0
  453. package/cjs/types-31ed2276.js +11 -0
  454. package/cjs/types-31ed2276.js.map +1 -0
  455. package/cjs/types-66554668.js +15 -0
  456. package/cjs/types-66554668.js.map +1 -0
  457. package/cjs/ui/Accordion.js +18 -19
  458. package/cjs/ui/Accordion.js.map +1 -1
  459. package/cjs/ui/AccordionGroup.js +11 -10
  460. package/cjs/ui/AccordionGroup.js.map +1 -1
  461. package/cjs/ui/AdminMessage.js +10 -10
  462. package/cjs/ui/AdminMessage.js.map +1 -1
  463. package/cjs/ui/Avatar.js +59 -55
  464. package/cjs/ui/Avatar.js.map +1 -1
  465. package/cjs/ui/Badge.js +15 -16
  466. package/cjs/ui/Badge.js.map +1 -1
  467. package/cjs/ui/BottomSheet.js +15 -17
  468. package/cjs/ui/BottomSheet.js.map +1 -1
  469. package/cjs/ui/Button.js +31 -33
  470. package/cjs/ui/Button.js.map +1 -1
  471. package/cjs/ui/ChannelAvatar.js +41 -38
  472. package/cjs/ui/ChannelAvatar.js.map +1 -1
  473. package/cjs/ui/Checkbox.js +10 -9
  474. package/cjs/ui/Checkbox.js.map +1 -1
  475. package/cjs/ui/ConnectionStatus.js +5 -7
  476. package/cjs/ui/ConnectionStatus.js.map +1 -1
  477. package/cjs/ui/ContextMenu.js +143 -144
  478. package/cjs/ui/ContextMenu.js.map +1 -1
  479. package/cjs/ui/DateSeparator.js +14 -12
  480. package/cjs/ui/DateSeparator.js.map +1 -1
  481. package/cjs/ui/EmojiReactions.js +206 -176
  482. package/cjs/ui/EmojiReactions.js.map +1 -1
  483. package/cjs/ui/FileMessageItemBody.js +23 -23
  484. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  485. package/cjs/ui/FileViewer.js +14 -12
  486. package/cjs/ui/FileViewer.js.map +1 -1
  487. package/cjs/ui/Icon.js +16 -16
  488. package/cjs/ui/Icon.js.map +1 -1
  489. package/cjs/ui/IconButton.js +28 -20
  490. package/cjs/ui/IconButton.js.map +1 -1
  491. package/cjs/ui/ImageRenderer.js +84 -64
  492. package/cjs/ui/ImageRenderer.js.map +1 -1
  493. package/cjs/ui/Input.js +14 -16
  494. package/cjs/ui/Input.js.map +1 -1
  495. package/cjs/ui/Label.js +2 -2
  496. package/cjs/ui/LinkLabel.js +2 -2
  497. package/cjs/ui/LinkLabel.js.map +1 -1
  498. package/cjs/ui/Loader.js +12 -10
  499. package/cjs/ui/Loader.js.map +1 -1
  500. package/cjs/ui/MentionLabel.js +63 -59
  501. package/cjs/ui/MentionLabel.js.map +1 -1
  502. package/cjs/ui/MentionUserLabel.js +10 -10
  503. package/cjs/ui/MentionUserLabel.js.map +1 -1
  504. package/cjs/ui/MessageContent.js +187 -171
  505. package/cjs/ui/MessageContent.js.map +1 -1
  506. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -4
  507. package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -1
  508. package/cjs/ui/MessageInput.js +55 -57
  509. package/cjs/ui/MessageInput.js.map +1 -1
  510. package/cjs/ui/MessageItemMenu.js +93 -72
  511. package/cjs/ui/MessageItemMenu.js.map +1 -1
  512. package/cjs/ui/MessageItemReactionMenu.js +64 -56
  513. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  514. package/cjs/ui/MessageSearchFileItem.js +40 -49
  515. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  516. package/cjs/ui/MessageSearchItem.js +32 -40
  517. package/cjs/ui/MessageSearchItem.js.map +1 -1
  518. package/cjs/ui/MessageStatus.js +11 -11
  519. package/cjs/ui/Modal.js +57 -59
  520. package/cjs/ui/Modal.js.map +1 -1
  521. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  522. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  523. package/cjs/ui/OGMessageItemBody.js +47 -47
  524. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  525. package/cjs/ui/OpenChannelAdminMessage.js +7 -8
  526. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  527. package/cjs/ui/OpenChannelAvatar.js +17 -18
  528. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  529. package/cjs/ui/OpenchannelConversationHeader.js +13 -17
  530. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  531. package/cjs/ui/OpenchannelFileMessage.js +147 -139
  532. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  533. package/cjs/ui/OpenchannelOGMessage.js +185 -178
  534. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  535. package/cjs/ui/OpenchannelThumbnailMessage.js +220 -213
  536. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  537. package/cjs/ui/OpenchannelUserMessage.js +172 -164
  538. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  539. package/cjs/ui/PlaceHolder.js +108 -10
  540. package/cjs/ui/PlaceHolder.js.map +1 -1
  541. package/cjs/ui/PlaybackTime.js +16 -15
  542. package/cjs/ui/PlaybackTime.js.map +1 -1
  543. package/cjs/ui/ProgressBar.js +15 -13
  544. package/cjs/ui/ProgressBar.js.map +1 -1
  545. package/cjs/ui/QuoteMessage.js +41 -44
  546. package/cjs/ui/QuoteMessage.js.map +1 -1
  547. package/cjs/ui/QuoteMessageInput.js +45 -31
  548. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  549. package/cjs/ui/ReactionBadge.js +17 -13
  550. package/cjs/ui/ReactionBadge.js.map +1 -1
  551. package/cjs/ui/ReactionButton.js +19 -19
  552. package/cjs/ui/ReactionButton.js.map +1 -1
  553. package/cjs/ui/SortByRow.js +14 -14
  554. package/cjs/ui/SortByRow.js.map +1 -1
  555. package/cjs/ui/TextButton.js +21 -13
  556. package/cjs/ui/TextButton.js.map +1 -1
  557. package/cjs/ui/TextMessageItemBody.js +33 -31
  558. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  559. package/cjs/ui/ThreadReplies.js +21 -25
  560. package/cjs/ui/ThreadReplies.js.map +1 -1
  561. package/cjs/ui/ThumbnailMessageItemBody.js +37 -28
  562. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  563. package/cjs/ui/Toggle.js +85 -77
  564. package/cjs/ui/Toggle.js.map +1 -1
  565. package/cjs/ui/Tooltip.js +9 -8
  566. package/cjs/ui/Tooltip.js.map +1 -1
  567. package/cjs/ui/TooltipWrapper.js +18 -17
  568. package/cjs/ui/TooltipWrapper.js.map +1 -1
  569. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  570. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  571. package/cjs/ui/UserListItem.js +80 -75
  572. package/cjs/ui/UserListItem.js.map +1 -1
  573. package/cjs/ui/UserProfile.js +28 -33
  574. package/cjs/ui/UserProfile.js.map +1 -1
  575. package/cjs/ui/VoiceMessageItemBody.js +49 -43
  576. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  577. package/cjs/ui/VoiceMessgeInput.js +8 -7
  578. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  579. package/cjs/ui/Word.js +29 -27
  580. package/cjs/ui/Word.js.map +1 -1
  581. package/cjs/{useHandleUploadFiles-08fadd6f.js → useHandleUploadFiles-fbe6ad64.js} +114 -127
  582. package/cjs/useHandleUploadFiles-fbe6ad64.js.map +1 -0
  583. package/cjs/useLongPress-c1da8ba7.js +105 -0
  584. package/cjs/useLongPress-c1da8ba7.js.map +1 -0
  585. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js +316 -0
  586. package/cjs/useSendMultipleFilesMessage-87e0ffa3.js.map +1 -0
  587. package/cjs/useSendbirdStateContext.js +8 -3
  588. package/cjs/useSendbirdStateContext.js.map +1 -1
  589. package/cjs/useStatefulFileInfoList-aa70b6b9.js +228 -0
  590. package/cjs/useStatefulFileInfoList-aa70b6b9.js.map +1 -0
  591. package/cjs/utils/message/getOutgoingMessageState.js +14 -16
  592. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  593. package/cjs/utils/message/isVoiceMessage.js +4 -4
  594. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  595. package/cjs/utils-0fac6ad1.js +27 -0
  596. package/cjs/utils-0fac6ad1.js.map +1 -0
  597. package/cjs/utils-180c6bc8.js +10 -0
  598. package/cjs/utils-180c6bc8.js.map +1 -0
  599. package/cjs/{utils-6dd678d6.js → utils-46483130.js} +3 -3
  600. package/cjs/{utils-6dd678d6.js.map → utils-46483130.js.map} +1 -1
  601. package/cjs/utils-55fc6797.js +170 -0
  602. package/cjs/utils-55fc6797.js.map +1 -0
  603. package/cjs/utils-851724e0.js +62 -0
  604. package/cjs/utils-851724e0.js.map +1 -0
  605. package/cjs/utils-e313131f.js +35 -0
  606. package/cjs/utils-e313131f.js.map +1 -0
  607. package/cjs/uuid-c74bbbb6.js +17 -0
  608. package/cjs/{uuid-dee72498.js.map → uuid-c74bbbb6.js.map} +1 -1
  609. package/cjs/withSendbird.js +16 -22
  610. package/cjs/withSendbird.js.map +1 -1
  611. package/{color-e8886e80.js → color-1383d4ab.js} +5 -5
  612. package/{color-e8886e80.js.map → color-1383d4ab.js.map} +1 -1
  613. package/compareIds-b56b02f1.js +16 -0
  614. package/compareIds-b56b02f1.js.map +1 -0
  615. package/{const-264270af.js → const-4bc3721f.js} +4 -4
  616. package/{const-264270af.js.map → const-4bc3721f.js.map} +1 -1
  617. package/const-e3326913.js +13 -0
  618. package/{const-997b7e92.js.map → const-e3326913.js.map} +1 -1
  619. package/consts-7f4d53a3.js +4 -0
  620. package/consts-7f4d53a3.js.map +1 -0
  621. package/consts-833420ed.js +4 -0
  622. package/{consts-3e2a0b41.js.map → consts-833420ed.js.map} +1 -1
  623. package/consts-aa64aca8.js +30 -0
  624. package/{consts-2144a35b.js.map → consts-aa64aca8.js.map} +1 -1
  625. package/consts-f0ba9b80.js +4 -0
  626. package/consts-f0ba9b80.js.map +1 -0
  627. package/context-ae47ac54.js +12 -0
  628. package/{context-a2108ea4.js.map → context-ae47ac54.js.map} +1 -1
  629. package/dist/index.css +71 -56
  630. package/dist/index.css.map +1 -1
  631. package/handlers/OpenChannelHandler.js.map +1 -1
  632. package/handlers/SessionHandler.js.map +1 -1
  633. package/hooks/useModal.js +73 -0
  634. package/hooks/useModal.js.map +1 -0
  635. package/{index-cd36caca.js → index-12103973.js} +2 -2
  636. package/{index-cd36caca.js.map → index-12103973.js.map} +1 -1
  637. package/index-124a5766.js +298 -0
  638. package/{index-4214d5e5.js.map → index-124a5766.js.map} +1 -1
  639. package/{index-f8b1f2fd.js → index-1432c287.js} +2 -4
  640. package/index-1432c287.js.map +1 -0
  641. package/{index-137fbab9.js → index-1969ccd8.js} +25 -28
  642. package/{index-137fbab9.js.map → index-1969ccd8.js.map} +1 -1
  643. package/index-3d508585.js +53 -0
  644. package/{index-ac325b55.js.map → index-3d508585.js.map} +1 -1
  645. package/{index-f27e3f26.js → index-40447645.js} +73 -81
  646. package/{index-f27e3f26.js.map → index-40447645.js.map} +1 -1
  647. package/{index-35c34277.js → index-7a1085b6.js} +99 -109
  648. package/index-7a1085b6.js.map +1 -0
  649. package/index-89b3b8ba.js +362 -0
  650. package/index-89b3b8ba.js.map +1 -0
  651. package/index-8c72f0bd.js +182 -0
  652. package/{index-df44531d.js.map → index-8c72f0bd.js.map} +1 -1
  653. package/index-942c5fa2.js +161 -0
  654. package/index-942c5fa2.js.map +1 -0
  655. package/index-c6095960.js +4 -0
  656. package/index-c6095960.js.map +1 -0
  657. package/index-c7ed4aef.js +13 -0
  658. package/index-c7ed4aef.js.map +1 -0
  659. package/{index-0bbeff0d.js → index-c81fd6ec.js} +56 -193
  660. package/index-c81fd6ec.js.map +1 -0
  661. package/{index-c9a60ebd.js → index-d3f61405.js} +10 -30
  662. package/index-d3f61405.js.map +1 -0
  663. package/{index-3c2e063e.js → index-dc1827ea.js} +3 -12
  664. package/index-dc1827ea.js.map +1 -0
  665. package/{index-2ac3fe5b.js → index-ec0c048b.js} +39 -37
  666. package/{index-2ac3fe5b.js.map → index-ec0c048b.js.map} +1 -1
  667. package/{index-f14314d9.js → index-eec0ce47.js} +166 -154
  668. package/index-eec0ce47.js.map +1 -0
  669. package/index-fc1642cb.js +692 -0
  670. package/index-fc1642cb.js.map +1 -0
  671. package/index.d.ts +143 -79
  672. package/index.js +66 -63
  673. package/index.js.map +1 -1
  674. package/lame.all.js.map +1 -1
  675. package/package.json +3 -3
  676. package/{topics-baecd5b0.js → pubSub/topics.js} +4 -3
  677. package/pubSub/topics.js.map +1 -0
  678. package/{resolvedReplyType-9e0d7d55.js → resolvedReplyType-0532593c.js} +1 -1
  679. package/{resolvedReplyType-9e0d7d55.js.map → resolvedReplyType-0532593c.js.map} +1 -1
  680. package/sendbirdSelectors.js +381 -333
  681. package/sendbirdSelectors.js.map +1 -1
  682. package/stringFormatterUtils-444f6f4c.js +14 -0
  683. package/{stringFormatterUtils-1656fed9.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
  684. package/{stringSet-2ab6570e.js → stringSet-1106c8ec.js} +9 -2
  685. package/stringSet-1106c8ec.js.map +1 -0
  686. package/{tokenize-25f71231.js → tokenize-d17bf862.js} +56 -61
  687. package/{tokenize-25f71231.js.map → tokenize-d17bf862.js.map} +1 -1
  688. package/tslib.es6-0c779aab.js +97 -0
  689. package/tslib.es6-0c779aab.js.map +1 -0
  690. package/types-4ffc52f6.js +15 -0
  691. package/types-4ffc52f6.js.map +1 -0
  692. package/types-50e412d8.js +9 -0
  693. package/types-50e412d8.js.map +1 -0
  694. package/ui/Accordion.js +18 -19
  695. package/ui/Accordion.js.map +1 -1
  696. package/ui/AccordionGroup.js +11 -10
  697. package/ui/AccordionGroup.js.map +1 -1
  698. package/ui/AdminMessage.js +10 -10
  699. package/ui/AdminMessage.js.map +1 -1
  700. package/ui/Avatar.js +59 -55
  701. package/ui/Avatar.js.map +1 -1
  702. package/ui/Badge.js +15 -16
  703. package/ui/Badge.js.map +1 -1
  704. package/ui/BottomSheet.js +15 -17
  705. package/ui/BottomSheet.js.map +1 -1
  706. package/ui/Button.js +19 -26
  707. package/ui/Button.js.map +1 -1
  708. package/ui/ChannelAvatar.js +41 -38
  709. package/ui/ChannelAvatar.js.map +1 -1
  710. package/ui/Checkbox.js +10 -9
  711. package/ui/Checkbox.js.map +1 -1
  712. package/ui/ConnectionStatus.js +5 -7
  713. package/ui/ConnectionStatus.js.map +1 -1
  714. package/ui/ContextMenu.js +143 -144
  715. package/ui/ContextMenu.js.map +1 -1
  716. package/ui/DateSeparator.js +14 -12
  717. package/ui/DateSeparator.js.map +1 -1
  718. package/ui/EmojiReactions.js +207 -177
  719. package/ui/EmojiReactions.js.map +1 -1
  720. package/ui/FileMessageItemBody.js +23 -23
  721. package/ui/FileMessageItemBody.js.map +1 -1
  722. package/ui/FileViewer.js +14 -12
  723. package/ui/FileViewer.js.map +1 -1
  724. package/ui/Icon.js +2 -2
  725. package/ui/Icon.js.map +1 -1
  726. package/ui/IconButton.js +28 -20
  727. package/ui/IconButton.js.map +1 -1
  728. package/ui/ImageRenderer.js +84 -65
  729. package/ui/ImageRenderer.js.map +1 -1
  730. package/ui/Input.js +14 -16
  731. package/ui/Input.js.map +1 -1
  732. package/ui/Label.js +2 -2
  733. package/ui/LinkLabel.js +2 -2
  734. package/ui/LinkLabel.js.map +1 -1
  735. package/ui/Loader.js +12 -10
  736. package/ui/Loader.js.map +1 -1
  737. package/ui/MentionLabel.js +64 -60
  738. package/ui/MentionLabel.js.map +1 -1
  739. package/ui/MentionUserLabel.js +10 -10
  740. package/ui/MentionUserLabel.js.map +1 -1
  741. package/ui/MessageContent.js +186 -170
  742. package/ui/MessageContent.js.map +1 -1
  743. package/ui/MessageInput/hooks/usePaste.js +5 -4
  744. package/ui/MessageInput/hooks/usePaste.js.map +1 -1
  745. package/ui/MessageInput.js +48 -50
  746. package/ui/MessageInput.js.map +1 -1
  747. package/ui/MessageItemMenu.js +93 -72
  748. package/ui/MessageItemMenu.js.map +1 -1
  749. package/ui/MessageItemReactionMenu.js +64 -56
  750. package/ui/MessageItemReactionMenu.js.map +1 -1
  751. package/ui/MessageSearchFileItem.js +40 -49
  752. package/ui/MessageSearchFileItem.js.map +1 -1
  753. package/ui/MessageSearchItem.js +32 -40
  754. package/ui/MessageSearchItem.js.map +1 -1
  755. package/ui/MessageStatus.js +11 -11
  756. package/ui/Modal.js +57 -59
  757. package/ui/Modal.js.map +1 -1
  758. package/ui/MutedAvatarOverlay.js +10 -10
  759. package/ui/MutedAvatarOverlay.js.map +1 -1
  760. package/ui/OGMessageItemBody.js +47 -47
  761. package/ui/OGMessageItemBody.js.map +1 -1
  762. package/ui/OpenChannelAdminMessage.js +7 -8
  763. package/ui/OpenChannelAdminMessage.js.map +1 -1
  764. package/ui/OpenChannelAvatar.js +17 -18
  765. package/ui/OpenChannelAvatar.js.map +1 -1
  766. package/ui/OpenchannelConversationHeader.js +13 -17
  767. package/ui/OpenchannelConversationHeader.js.map +1 -1
  768. package/ui/OpenchannelFileMessage.js +147 -139
  769. package/ui/OpenchannelFileMessage.js.map +1 -1
  770. package/ui/OpenchannelOGMessage.js +185 -178
  771. package/ui/OpenchannelOGMessage.js.map +1 -1
  772. package/ui/OpenchannelThumbnailMessage.js +220 -213
  773. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  774. package/ui/OpenchannelUserMessage.js +172 -164
  775. package/ui/OpenchannelUserMessage.js.map +1 -1
  776. package/ui/PlaceHolder.js +106 -8
  777. package/ui/PlaceHolder.js.map +1 -1
  778. package/ui/PlaybackTime.js +16 -15
  779. package/ui/PlaybackTime.js.map +1 -1
  780. package/ui/ProgressBar.js +15 -13
  781. package/ui/ProgressBar.js.map +1 -1
  782. package/ui/QuoteMessage.js +41 -44
  783. package/ui/QuoteMessage.js.map +1 -1
  784. package/ui/QuoteMessageInput.js +45 -31
  785. package/ui/QuoteMessageInput.js.map +1 -1
  786. package/ui/ReactionBadge.js +17 -13
  787. package/ui/ReactionBadge.js.map +1 -1
  788. package/ui/ReactionButton.js +19 -19
  789. package/ui/ReactionButton.js.map +1 -1
  790. package/ui/SortByRow.js +14 -14
  791. package/ui/SortByRow.js.map +1 -1
  792. package/ui/TextButton.js +21 -13
  793. package/ui/TextButton.js.map +1 -1
  794. package/ui/TextMessageItemBody.js +33 -31
  795. package/ui/TextMessageItemBody.js.map +1 -1
  796. package/ui/ThreadReplies.js +21 -25
  797. package/ui/ThreadReplies.js.map +1 -1
  798. package/ui/ThumbnailMessageItemBody.js +37 -28
  799. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  800. package/ui/Toggle.js +86 -78
  801. package/ui/Toggle.js.map +1 -1
  802. package/ui/Tooltip.js +9 -8
  803. package/ui/Tooltip.js.map +1 -1
  804. package/ui/TooltipWrapper.js +18 -17
  805. package/ui/TooltipWrapper.js.map +1 -1
  806. package/ui/UnknownMessageItemBody.js +19 -20
  807. package/ui/UnknownMessageItemBody.js.map +1 -1
  808. package/ui/UserListItem.js +80 -75
  809. package/ui/UserListItem.js.map +1 -1
  810. package/ui/UserProfile.js +29 -34
  811. package/ui/UserProfile.js.map +1 -1
  812. package/ui/VoiceMessageItemBody.js +49 -43
  813. package/ui/VoiceMessageItemBody.js.map +1 -1
  814. package/ui/VoiceMessgeInput.js +8 -7
  815. package/ui/VoiceMessgeInput.js.map +1 -1
  816. package/ui/Word.js +29 -27
  817. package/ui/Word.js.map +1 -1
  818. package/{useHandleUploadFiles-8134431f.js → useHandleUploadFiles-33aff88e.js} +111 -124
  819. package/useHandleUploadFiles-33aff88e.js.map +1 -0
  820. package/useLongPress-322bb6a3.js +103 -0
  821. package/useLongPress-322bb6a3.js.map +1 -0
  822. package/useSendMultipleFilesMessage-4489a0f6.js +283 -0
  823. package/useSendMultipleFilesMessage-4489a0f6.js.map +1 -0
  824. package/useSendbirdStateContext.js +5 -3
  825. package/useSendbirdStateContext.js.map +1 -1
  826. package/useStatefulFileInfoList-dd95f949.js +219 -0
  827. package/useStatefulFileInfoList-dd95f949.js.map +1 -0
  828. package/utils/message/getOutgoingMessageState.js +8 -9
  829. package/utils/message/getOutgoingMessageState.js.map +1 -1
  830. package/utils/message/isVoiceMessage.js +4 -4
  831. package/utils/message/isVoiceMessage.js.map +1 -1
  832. package/{utils-d558dc74.js → utils-158c1683.js} +3 -3
  833. package/{utils-d558dc74.js.map → utils-158c1683.js.map} +1 -1
  834. package/utils-3660243c.js +25 -0
  835. package/utils-3660243c.js.map +1 -0
  836. package/utils-40040f8e.js +157 -0
  837. package/utils-40040f8e.js.map +1 -0
  838. package/utils-48a3ef27.js +31 -0
  839. package/utils-48a3ef27.js.map +1 -0
  840. package/utils-74c161a0.js +7 -0
  841. package/utils-74c161a0.js.map +1 -0
  842. package/utils-e98a7f8c.js +57 -0
  843. package/utils-e98a7f8c.js.map +1 -0
  844. package/uuid-3c77ef7b.js +15 -0
  845. package/{uuid-94f10232.js.map → uuid-3c77ef7b.js.map} +1 -1
  846. package/withSendbird.js +16 -22
  847. package/withSendbird.js.map +1 -1
  848. package/ChannelListProvider-f365e22f.js +0 -1041
  849. package/ChannelListProvider-f365e22f.js.map +0 -1
  850. package/ChannelProvider-6aedab94.js +0 -1933
  851. package/ChannelProvider-6aedab94.js.map +0 -1
  852. package/CreateChannelProvider-0b4bc562.js +0 -44
  853. package/LocalizationContext-5cbe4df3.js +0 -20
  854. package/MediaQueryContext-8fcfd909.js +0 -87
  855. package/MediaQueryContext-8fcfd909.js.map +0 -1
  856. package/MemberList-d407bcd0.js +0 -404
  857. package/OpenChannelProvider-ca26866f.js +0 -1890
  858. package/RemoveMessageModal-db97f3f9.js +0 -38
  859. package/RemoveMessageModal-db97f3f9.js.map +0 -1
  860. package/ThreadProvider-b5a2ad03.js +0 -1778
  861. package/ThreadProvider-b5a2ad03.js.map +0 -1
  862. package/UserProfileContext-5b8c391a.js +0 -41
  863. package/UserProfileContext-5b8c391a.js.map +0 -1
  864. package/_rollupPluginBabelHelpers-ef032169.js.map +0 -1
  865. package/cjs/ChannelListProvider-bb62fccb.js +0 -1050
  866. package/cjs/ChannelListProvider-bb62fccb.js.map +0 -1
  867. package/cjs/ChannelProvider-b225ab76.js +0 -1941
  868. package/cjs/ChannelProvider-b225ab76.js.map +0 -1
  869. package/cjs/CreateChannelProvider-7c5b1342.js +0 -52
  870. package/cjs/MediaQueryContext-ccb12e3d.js +0 -94
  871. package/cjs/MediaQueryContext-ccb12e3d.js.map +0 -1
  872. package/cjs/MemberList-ee792073.js +0 -410
  873. package/cjs/OpenChannelListProvider-d9f4a5b4.js +0 -439
  874. package/cjs/OpenChannelProvider-30a24b84.js +0 -1899
  875. package/cjs/RemoveMessageModal-4dd9431b.js +0 -44
  876. package/cjs/RemoveMessageModal-4dd9431b.js.map +0 -1
  877. package/cjs/ThreadProvider-43c54d9b.js +0 -1787
  878. package/cjs/ThreadProvider-43c54d9b.js.map +0 -1
  879. package/cjs/UserProfileContext-d59fe64f.js +0 -49
  880. package/cjs/UserProfileContext-d59fe64f.js.map +0 -1
  881. package/cjs/_rollupPluginBabelHelpers-4693667a.js.map +0 -1
  882. package/cjs/color-5fe1a19c.js.map +0 -1
  883. package/cjs/compareIds-02121052.js.map +0 -1
  884. package/cjs/const-2044f15a.js +0 -20
  885. package/cjs/consts-14256e43.js +0 -6
  886. package/cjs/consts-f2c42e3a.js +0 -6
  887. package/cjs/consts-faf545e7.js +0 -6
  888. package/cjs/consts-faf545e7.js.map +0 -1
  889. package/cjs/index-00aa7289.js.map +0 -1
  890. package/cjs/index-154b368d.js +0 -368
  891. package/cjs/index-154b368d.js.map +0 -1
  892. package/cjs/index-1914edda.js +0 -57
  893. package/cjs/index-2e84e87d.js +0 -330
  894. package/cjs/index-5c7818e3.js.map +0 -1
  895. package/cjs/index-73a1cca8.js +0 -647
  896. package/cjs/index-73a1cca8.js.map +0 -1
  897. package/cjs/index-7b61bfbc.js.map +0 -1
  898. package/cjs/index-7c4a1c63.js +0 -9
  899. package/cjs/index-7c4a1c63.js.map +0 -1
  900. package/cjs/index-84f919de.js.map +0 -1
  901. package/cjs/index-8cc5f0ba.js +0 -164
  902. package/cjs/index-8cc5f0ba.js.map +0 -1
  903. package/cjs/index-a085d7e2.js +0 -171
  904. package/cjs/index-a085d7e2.js.map +0 -1
  905. package/cjs/index-aaa23e06.js.map +0 -1
  906. package/cjs/index-c8592ba1.js.map +0 -1
  907. package/cjs/index-d2b3d08f.js +0 -139
  908. package/cjs/index-d2b3d08f.js.map +0 -1
  909. package/cjs/index-d58de514.js +0 -202
  910. package/cjs/index-e722362c.js +0 -58
  911. package/cjs/index-e722362c.js.map +0 -1
  912. package/cjs/index-ffcf63bb.js +0 -118
  913. package/cjs/index-ffcf63bb.js.map +0 -1
  914. package/cjs/index.module-223a3af8.js +0 -6
  915. package/cjs/index.module-223a3af8.js.map +0 -1
  916. package/cjs/stringFormatterUtils-f768db2f.js +0 -16
  917. package/cjs/stringSet-286c9fb2.js.map +0 -1
  918. package/cjs/topics-df8731af.js.map +0 -1
  919. package/cjs/types-7b6072a7.js +0 -17
  920. package/cjs/types-7b6072a7.js.map +0 -1
  921. package/cjs/useHandleUploadFiles-08fadd6f.js.map +0 -1
  922. package/cjs/useLongPress-233f8ca8.js +0 -87
  923. package/cjs/useLongPress-233f8ca8.js.map +0 -1
  924. package/cjs/useSendMultipleFilesMessage-5c5cab5f.js +0 -109
  925. package/cjs/useSendMultipleFilesMessage-5c5cab5f.js.map +0 -1
  926. package/cjs/utils-013de0ea.js +0 -35
  927. package/cjs/utils-013de0ea.js.map +0 -1
  928. package/cjs/utils-1cab5821.js +0 -345
  929. package/cjs/utils-1cab5821.js.map +0 -1
  930. package/cjs/utils-576a3067.js +0 -31
  931. package/cjs/utils-576a3067.js.map +0 -1
  932. package/cjs/utils-89a0ca39.js +0 -6
  933. package/cjs/utils-89a0ca39.js.map +0 -1
  934. package/cjs/utils-c2d36ac9.js +0 -62
  935. package/cjs/utils-c2d36ac9.js.map +0 -1
  936. package/cjs/uuid-dee72498.js +0 -15
  937. package/compareIds-e6958df7.js +0 -15
  938. package/compareIds-e6958df7.js.map +0 -1
  939. package/const-997b7e92.js +0 -13
  940. package/consts-0808a594.js +0 -4
  941. package/consts-0808a594.js.map +0 -1
  942. package/consts-2144a35b.js +0 -37
  943. package/consts-3e2a0b41.js +0 -4
  944. package/consts-6a76be86.js +0 -4
  945. package/consts-6a76be86.js.map +0 -1
  946. package/context-a2108ea4.js +0 -13
  947. package/index-0bbeff0d.js.map +0 -1
  948. package/index-35c34277.js.map +0 -1
  949. package/index-3c2e063e.js.map +0 -1
  950. package/index-4214d5e5.js +0 -320
  951. package/index-4f2e8b24.js +0 -7
  952. package/index-4f2e8b24.js.map +0 -1
  953. package/index-4f3b01f7.js +0 -132
  954. package/index-4f3b01f7.js.map +0 -1
  955. package/index-58e190df.js +0 -51
  956. package/index-58e190df.js.map +0 -1
  957. package/index-91b8ea75.js +0 -152
  958. package/index-91b8ea75.js.map +0 -1
  959. package/index-ac325b55.js +0 -51
  960. package/index-c9a60ebd.js.map +0 -1
  961. package/index-cd3a8abb.js +0 -164
  962. package/index-cd3a8abb.js.map +0 -1
  963. package/index-dc0853cb.js +0 -110
  964. package/index-dc0853cb.js.map +0 -1
  965. package/index-df44531d.js +0 -187
  966. package/index-e2382507.js +0 -361
  967. package/index-e2382507.js.map +0 -1
  968. package/index-e7cbecf4.js +0 -598
  969. package/index-e7cbecf4.js.map +0 -1
  970. package/index-f14314d9.js.map +0 -1
  971. package/index-f8b1f2fd.js.map +0 -1
  972. package/index.module-74c51bef.js +0 -4
  973. package/index.module-74c51bef.js.map +0 -1
  974. package/stringFormatterUtils-1656fed9.js +0 -14
  975. package/stringSet-2ab6570e.js.map +0 -1
  976. package/topics-baecd5b0.js.map +0 -1
  977. package/types-76bdfba5.js +0 -15
  978. package/types-76bdfba5.js.map +0 -1
  979. package/useHandleUploadFiles-8134431f.js.map +0 -1
  980. package/useLongPress-eb0dfa7a.js +0 -85
  981. package/useLongPress-eb0dfa7a.js.map +0 -1
  982. package/useSendMultipleFilesMessage-c351cca7.js +0 -107
  983. package/useSendMultipleFilesMessage-c351cca7.js.map +0 -1
  984. package/utils-1babe991.js +0 -4
  985. package/utils-1babe991.js.map +0 -1
  986. package/utils-9f1492f3.js +0 -31
  987. package/utils-9f1492f3.js.map +0 -1
  988. package/utils-c6ec2848.js +0 -306
  989. package/utils-c6ec2848.js.map +0 -1
  990. package/utils-d6b42051.js +0 -57
  991. package/utils-d6b42051.js.map +0 -1
  992. package/utils-e6c58e2d.js +0 -29
  993. package/utils-e6c58e2d.js.map +0 -1
  994. package/uuid-94f10232.js +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-0a25b9b2.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isThreadMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps): React.ReactElement => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n deleteMenuState,\n deleteMessage,\n setQuoteMessage,\n parentRef,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message)\n && !(isVoiceMessage(message) && ((channel as GroupChannel)?.isSuper || (channel as GroupChannel)?.isBroadcast));\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && channel?.isGroupChannel();\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && channel?.isGroupChannel();\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_copy\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={(message?.parentMessageId ?? 0) > 0}\n dataSbId=\"ui_mobile_message_item_menu_reply\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n (message?.parentMessageId ?? 0) > 0\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={\n (message?.parentMessageId ?? 0) > 0\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n dataSbId=\"ui_mobile_message_item_menu_thread\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n dataSbId=\"ui_mobile_message_item_menu_edit\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_resend\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDeleteFinal && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n disable={disableDelete}\n dataSbId=\"ui_mobile_message_item_menu_delete\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"ui_mobile_message_item_menu_download_file\"\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { ReactElement, useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isVoiceMessage,\n isThreadMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n deleteMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n deleteMenuState,\n setQuoteMessage,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n isOnline,\n } = globalStore.config;\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isOnline && isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = isSentMessage(message) && isFileMessage(message) && !isVoiceMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_mobile_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n dataSbId=\"ui_mobile_emoji_reactions_menu_emojiadd\"\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled' : ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if (!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {showMenuItemThread && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n >\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n </div>\n )}\n {\n showMenuItemDeleteFinal && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n deleteMenuState,\n showRemove,\n showEdit,\n resendMessage,\n deleteMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n onReplyInThread,\n isOpenedFromThread,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n deleteMenuState={deleteMenuState}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n ) : (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n deleteMenuState={deleteMenuState}\n showRemove={showRemove}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","deleteMenuState","deleteMessage","setQuoteMessage","parentRef","onReplyInThread","_d","isOpenedFromThread","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDeleteByState","undefined","showMenuItemDeleteFinal","disableDelete","_b","threadInfo","replyCount","_c","showMenuItemDownload","isFileMessage","isVoiceMessage","isSuper","isBroadcast","showMenuItemReply","isGroupChannel","showMenuItemThread","isThreadMessage","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","copyToClipboard","dataSbId","Label","type","LabelTypography","SUBTITLE_1","color","LabelColors","ONBACKGROUND_1","MESSAGE_MENU__COPY","Icon","IconTypes","COPY","fillColor","IconColors","PRIMARY","width","height","disable","parentMessageId","ONBACKGROUND_4","MESSAGE_MENU__REPLY","REPLY","ON_BACKGROUND_4","MESSAGE_MENU__THREAD","THREAD","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","MESSAGE_MENU__DELETE","DELETE","rel","href","url","target","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","globalStore","useSendbirdStateContext","isOnline","config","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_e","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","BottomSheet","onBackdropClick","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","concat","selected","ImageRenderer","placeHolder","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","role","MobileMenu","disabled","Fragment"],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var tslib_es6 = require('./tslib.es6-2f2b0bca.js');
5
+ var consts = require('./consts-95462b21.js');
6
+ var useSendbirdStateContext = require('./useSendbirdStateContext.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ var INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
13
+ var SET_CURRENT_PLAYER = 'SET_CURRENT_PLAYER';
14
+ var ON_VOICE_PLAYER_PLAY = 'ON_VOICE_PLAYER_PLAY';
15
+ var ON_VOICE_PLAYER_PAUSE = 'ON_VOICE_PLAYER_PAUSE';
16
+ var ON_CURRENT_TIME_UPDATE = 'ON_CURRENT_TIME_UPDATE';
17
+
18
+ var VOICE_PLAYER_STATUS = {
19
+ IDLE: 'IDLE',
20
+ PREPARING: 'PREPARING',
21
+ PLAYING: 'PLAYING',
22
+ PAUSED: 'PAUSED',
23
+ COMPLETED: 'COMPLETED'
24
+ };
25
+ var AudioUnitDefaultValue = function () {
26
+ return {
27
+ audioFile: null,
28
+ playbackTime: 0,
29
+ duration: 1000,
30
+ playingStatus: VOICE_PLAYER_STATUS.IDLE
31
+ };
32
+ };
33
+ var voicePlayerInitialState = {
34
+ currentPlayer: null,
35
+ currentGroupKey: '',
36
+ audioStorage: {}
37
+ };
38
+
39
+ function voicePlayerReducer(state, action) {
40
+ var _a, _b, _c, _d;
41
+ var _e, _f, _g, _h;
42
+ switch (action.type) {
43
+ case INITIALIZE_AUDIO_UNIT:
44
+ {
45
+ var groupKey = action.payload.groupKey;
46
+ var audioUnit = ((_e = state.audioStorage) === null || _e === void 0 ? void 0 : _e[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
47
+ audioUnit.playingStatus = VOICE_PLAYER_STATUS.PREPARING;
48
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
49
+ audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_a = {}, _a[groupKey] = audioUnit, _a))
50
+ });
51
+ }
52
+ case SET_CURRENT_PLAYER:
53
+ {
54
+ var _j = action.payload,
55
+ audioPlayer = _j.audioPlayer,
56
+ groupKey = _j.groupKey;
57
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
58
+ currentPlayer: audioPlayer,
59
+ currentGroupKey: groupKey
60
+ });
61
+ }
62
+ case ON_VOICE_PLAYER_PLAY:
63
+ {
64
+ var _k = action.payload,
65
+ groupKey = _k.groupKey,
66
+ audioFile = _k.audioFile;
67
+ var audioUnit = ((_f = state.audioStorage) === null || _f === void 0 ? void 0 : _f[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
68
+ audioUnit.audioFile = audioFile;
69
+ audioUnit.playingStatus = VOICE_PLAYER_STATUS.PLAYING;
70
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
71
+ audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_b = {}, _b[groupKey] = audioUnit, _b))
72
+ });
73
+ }
74
+ case ON_VOICE_PLAYER_PAUSE:
75
+ {
76
+ var groupKey = action.payload.groupKey;
77
+ var audioUnit = ((_g = state.audioStorage) === null || _g === void 0 ? void 0 : _g[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
78
+ audioUnit.playingStatus = VOICE_PLAYER_STATUS.PAUSED;
79
+ var _l = state.currentPlayer,
80
+ currentTime = _l.currentTime,
81
+ duration = _l.duration;
82
+ if (audioUnit.playbackTime === audioUnit.duration) {
83
+ audioUnit.playbackTime = 0;
84
+ } else if (currentTime > 0 && duration > 0) {
85
+ audioUnit.playbackTime = currentTime;
86
+ audioUnit.duration = duration;
87
+ }
88
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
89
+ audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_c = {}, _c[groupKey] = audioUnit, _c))
90
+ });
91
+ }
92
+ case ON_CURRENT_TIME_UPDATE:
93
+ {
94
+ var groupKey = action.payload.groupKey;
95
+ var _m = state.currentPlayer,
96
+ currentTime = _m.currentTime,
97
+ duration = _m.duration;
98
+ var audioUnit = ((_h = state.audioStorage) === null || _h === void 0 ? void 0 : _h[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
99
+ if (currentTime > 0 && duration > 0) {
100
+ audioUnit.playbackTime = currentTime;
101
+ audioUnit.duration = duration;
102
+ }
103
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
104
+ audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_d = {}, _d[groupKey] = audioUnit, _d))
105
+ });
106
+ }
107
+ default:
108
+ return state;
109
+ }
110
+ }
111
+
112
+ var ALL = 'ALL';
113
+ var noop = function () {};
114
+ var VoicePlayerStoreDefaultValue = {
115
+ currentGroupKey: '',
116
+ currentPlayer: null,
117
+ audioStorage: {}
118
+ };
119
+ var Context = /*#__PURE__*/React.createContext({
120
+ play: noop,
121
+ pause: noop,
122
+ stop: noop,
123
+ voicePlayerStore: VoicePlayerStoreDefaultValue
124
+ });
125
+ var VoicePlayerProvider = function (_a) {
126
+ var children = _a.children;
127
+ var _b = React.useReducer(voicePlayerReducer, voicePlayerInitialState),
128
+ voicePlayerStore = _b[0],
129
+ voicePlayerDispatcher = _b[1];
130
+ var currentGroupKey = voicePlayerStore.currentGroupKey,
131
+ currentPlayer = voicePlayerStore.currentPlayer,
132
+ audioStorage = voicePlayerStore.audioStorage;
133
+ var config = useSendbirdStateContext.useSendbirdStateContext().config;
134
+ var logger = config.logger;
135
+ var stop = function (text) {
136
+ if (text === void 0) {
137
+ text = '';
138
+ }
139
+ if (currentGroupKey.includes(text)) {
140
+ logger.info('VoicePlayer: Pause playing(by text).');
141
+ pause(currentGroupKey);
142
+ }
143
+ };
144
+ var pause = function (groupKey) {
145
+ if (currentGroupKey === groupKey && currentPlayer !== null) {
146
+ logger.info('VoicePlayer: Pause playing(by group key).');
147
+ currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.pause();
148
+ }
149
+ if (groupKey === ALL) {
150
+ logger.info('VoicePlayer: Pause playing(all).');
151
+ currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.pause();
152
+ }
153
+ };
154
+ var play = function (_a) {
155
+ var groupKey = _a.groupKey,
156
+ _b = _a.audioFile,
157
+ audioFile = _b === void 0 ? null : _b,
158
+ _c = _a.audioFileUrl,
159
+ audioFileUrl = _c === void 0 ? '' : _c;
160
+ if (groupKey !== currentGroupKey) {
161
+ pause(currentGroupKey);
162
+ }
163
+ // Clear the previous AudioPlayer element
164
+ var voicePlayerRoot = document.getElementById(consts.VOICE_PLAYER_ROOT_ID);
165
+ var voicePlayerAudioElement = document.getElementById(consts.VOICE_PLAYER_AUDIO_ID);
166
+ if (voicePlayerAudioElement) {
167
+ voicePlayerRoot.removeChild(voicePlayerAudioElement);
168
+ }
169
+ logger.info('VoicePlayer: Start getting audio file.');
170
+ new Promise(function (resolve) {
171
+ var _a;
172
+ voicePlayerDispatcher({
173
+ type: INITIALIZE_AUDIO_UNIT,
174
+ payload: {
175
+ groupKey: groupKey
176
+ }
177
+ });
178
+ // audio file passed as a parameter
179
+ if (audioFile) {
180
+ logger.info('VoicePlayer: Use the audioFile instance.');
181
+ resolve(audioFile);
182
+ return;
183
+ }
184
+ // audio file from the audioStorage
185
+ var cachedAudioFile = (_a = audioStorage === null || audioStorage === void 0 ? void 0 : audioStorage[groupKey]) === null || _a === void 0 ? void 0 : _a.audioFile;
186
+ if (cachedAudioFile) {
187
+ logger.info('VoicePlayer: Get from the audioStorage.');
188
+ resolve(cachedAudioFile);
189
+ return;
190
+ }
191
+ // fetch the audio file from URL
192
+ fetch(audioFileUrl).then(function (res) {
193
+ return res.blob();
194
+ }).then(function (blob) {
195
+ var audioFile = new File([blob], consts.VOICE_MESSAGE_FILE_NAME, {
196
+ lastModified: new Date().getTime(),
197
+ type: consts.VOICE_MESSAGE_MIME_TYPE
198
+ });
199
+ resolve(audioFile);
200
+ logger.info('VoicePlayer: Get the audioFile from URL.');
201
+ });
202
+ }).then(function (audioFile) {
203
+ var _a;
204
+ var voicePlayerRoot = document.getElementById(consts.VOICE_PLAYER_ROOT_ID);
205
+ logger.info('VoicePlayer: Succeeded getting audio file.', {
206
+ audioFile: audioFile
207
+ });
208
+ var currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue();
209
+ var audioPlayer = new Audio((_a = URL === null || URL === void 0 ? void 0 : URL.createObjectURL) === null || _a === void 0 ? void 0 : _a.call(URL, audioFile));
210
+ audioPlayer.id = consts.VOICE_PLAYER_AUDIO_ID;
211
+ audioPlayer.currentTime = currentAudioUnit.playbackTime;
212
+ audioPlayer.volume = 1;
213
+ audioPlayer.loop = false;
214
+ audioPlayer.onplaying = function () {
215
+ logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', {
216
+ groupKey: groupKey,
217
+ audioPlayer: audioPlayer
218
+ });
219
+ voicePlayerDispatcher({
220
+ type: ON_VOICE_PLAYER_PLAY,
221
+ payload: {
222
+ groupKey: groupKey,
223
+ audioFile: audioFile
224
+ }
225
+ });
226
+ };
227
+ audioPlayer.onpause = function () {
228
+ logger.info('VoicePlayer: OnPause event is called from audioPlayer', {
229
+ groupKey: groupKey,
230
+ audioPlayer: audioPlayer
231
+ });
232
+ voicePlayerDispatcher({
233
+ type: ON_VOICE_PLAYER_PAUSE,
234
+ payload: {
235
+ groupKey: groupKey
236
+ }
237
+ });
238
+ };
239
+ audioPlayer.ontimeupdate = function () {
240
+ voicePlayerDispatcher({
241
+ type: ON_CURRENT_TIME_UPDATE,
242
+ payload: {
243
+ groupKey: groupKey
244
+ }
245
+ });
246
+ };
247
+ audioPlayer.dataset.sbGroupId = groupKey;
248
+ // clean up the previous audio player
249
+ try {
250
+ voicePlayerRoot === null || voicePlayerRoot === void 0 ? void 0 : voicePlayerRoot.childNodes.forEach(function (node) {
251
+ var _a, _b;
252
+ var element = node;
253
+ var thisGroupKey = (_a = element.dataset) === null || _a === void 0 ? void 0 : _a.sbGroupKey;
254
+ if (thisGroupKey !== groupKey) {
255
+ (_b = element === null || element === void 0 ? void 0 : element.pause) === null || _b === void 0 ? void 0 : _b.call(element);
256
+ voicePlayerDispatcher({
257
+ type: ON_VOICE_PLAYER_PAUSE,
258
+ payload: {
259
+ groupKey: groupKey
260
+ }
261
+ });
262
+ voicePlayerRoot.removeChild(element);
263
+ logger.info('VoicePlayer: Removed other player.', {
264
+ element: element
265
+ });
266
+ }
267
+ });
268
+ } finally {
269
+ audioPlayer === null || audioPlayer === void 0 ? void 0 : audioPlayer.play();
270
+ voicePlayerRoot === null || voicePlayerRoot === void 0 ? void 0 : voicePlayerRoot.appendChild(audioPlayer);
271
+ voicePlayerDispatcher({
272
+ type: SET_CURRENT_PLAYER,
273
+ payload: {
274
+ groupKey: groupKey,
275
+ audioPlayer: audioPlayer
276
+ }
277
+ });
278
+ logger.info('VoicePlayer: Succeeded playing audio player.', {
279
+ groupKey: groupKey,
280
+ audioPlayer: audioPlayer
281
+ });
282
+ }
283
+ });
284
+ };
285
+ return /*#__PURE__*/React__default["default"].createElement(Context.Provider, {
286
+ value: {
287
+ play: play,
288
+ pause: pause,
289
+ stop: stop,
290
+ voicePlayerStore: voicePlayerStore
291
+ }
292
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
293
+ id: consts.VOICE_PLAYER_ROOT_ID,
294
+ style: {
295
+ display: 'none'
296
+ }
297
+ }), children);
298
+ };
299
+ var useVoicePlayerContext = function () {
300
+ return React.useContext(Context);
301
+ };
302
+
303
+ exports.ALL = ALL;
304
+ exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
305
+ exports.VOICE_PLAYER_STATUS = VOICE_PLAYER_STATUS;
306
+ exports.VoicePlayerProvider = VoicePlayerProvider;
307
+ exports.useVoicePlayerContext = useVoicePlayerContext;
308
+ //# sourceMappingURL=index-0ec5a831.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-2e84e87d.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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\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.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\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\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"index-0ec5a831.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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\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.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\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\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","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","ALL","noop","VoicePlayerStoreDefaultValue","Context","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","cachedAudioFile","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","dataset","sbGroupId","childNodes","forEach","node","element","thisGroupKey","sbGroupKey","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var PropTypes = require('prop-types');
5
- var stringSet = require('./stringSet-286c9fb2.js');
5
+ var stringSet = require('./stringSet-98b52c49.js');
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -126,4 +126,4 @@ exports.LabelColors = LabelColors;
126
126
  exports.LabelStringSet = LabelStringSet;
127
127
  exports.LabelTypography = LabelTypography;
128
128
  exports.changeColorToClassName = changeColorToClassName;
129
- //# sourceMappingURL=index-46bcc5b2.js.map
129
+ //# sourceMappingURL=index-35820a94.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-46bcc5b2.js","sources":["../../src/ui/Label/types.js","../../src/ui/Label/utils.js","../../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return '';\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return '';\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n // Donot make this into div\n // Mention uses Label. If we use div, it would break the mention detection on Paste\n // https://github.com/sendbird/sendbird-uikit-react/pull/479\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.string,\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","_ref","className","children","React","createElement","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":"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"}
1
+ {"version":3,"file":"index-35820a94.js","sources":["../../src/ui/Label/types.js","../../src/ui/Label/utils.js","../../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return '';\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return '';\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n // Donot make this into div\n // Mention uses Label. If we use div, it would break the mention detection on Paste\n // https://github.com/sendbird/sendbird-uikit-react/pull/479\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.string,\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","_ref","className","children","React","createElement","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var n=Symbol("@ts-pattern/matcher"),t="@ts-pattern/anonymous-select-key",e=function(n){return Boolean(n&&"object"==typeof n)},r=function(t){return t&&!!t[n]},u=function t(u,i,c){if(e(u)){if(r(u)){var o=u[n]().match(i),a=o.matched,f=o.selections;return a&&f&&Object.keys(f).forEach(function(n){return c(n,f[n])}),a}if(!e(i))return !1;if(Array.isArray(u))return !!Array.isArray(i)&&u.length===i.length&&u.every(function(n,e){return t(n,i[e],c)});if(u instanceof Map)return i instanceof Map&&Array.from(u.keys()).every(function(n){return t(u.get(n),i.get(n),c)});if(u instanceof Set){if(!(i instanceof Set))return !1;if(0===u.size)return 0===i.size;if(1===u.size){var s=Array.from(u.values())[0];return r(s)?Array.from(i.values()).every(function(n){return t(s,n,c)}):i.has(s)}return Array.from(u.values()).every(function(n){return i.has(n)})}return Object.keys(u).every(function(e){var o,a=u[e];return (e in i||r(o=a)&&"optional"===o[n]().matcherType)&&t(a,i[e],c)})}return Object.is(i,u)},i=function t(u){var i,o,a;return e(u)?r(u)?null!=(i=null==(o=(a=u[n]()).getSelectionKeys)?void 0:o.call(a))?i:[]:Array.isArray(u)?c(u,t):c(Object.values(u),t):[]},c=function(n,t){return n.reduce(function(n,e){return n.concat(t(e))},[])};function o(t){var e;return (e={})[n]=function(){return {match:function(n){var e={},r=function(n,t){e[n]=t;};return void 0===n?(i(t).forEach(function(n){return r(n,void 0)}),{matched:!0,selections:e}):{matched:u(t,n,r),selections:e}},getSelectionKeys:function(){return i(t)},matcherType:"optional"}},e}function a(t){var e;return (e={})[n]=function(){return {match:function(n){if(!Array.isArray(n))return {matched:!1};var e={};if(0===n.length)return i(t).forEach(function(n){e[n]=[];}),{matched:!0,selections:e};var r=function(n,t){e[n]=(e[n]||[]).concat([t]);};return {matched:n.every(function(n){return u(t,n,r)}),selections:e}},getSelectionKeys:function(){return i(t)}}},e}function f(){var t,e=[].slice.call(arguments);return (t={})[n]=function(){return {match:function(n){var t={},r=function(n,e){t[n]=e;};return {matched:e.every(function(t){return u(t,n,r)}),selections:t}},getSelectionKeys:function(){return c(e,i)},matcherType:"and"}},t}function s(){var t,e=[].slice.call(arguments);return (t={})[n]=function(){return {match:function(n){var t={},r=function(n,e){t[n]=e;};return c(e,i).forEach(function(n){return r(n,void 0)}),{matched:e.some(function(t){return u(t,n,r)}),selections:t}},getSelectionKeys:function(){return c(e,i)},matcherType:"or"}},t}function l(t){var e;return (e={})[n]=function(){return {match:function(n){return {matched:!u(t,n,function(){})}},getSelectionKeys:function(){return []},matcherType:"not"}},e}function h(t){var e;return (e={})[n]=function(){return {match:function(n){return {matched:Boolean(t(n))}}}},e}function v(){var e,r=[].slice.call(arguments),c="string"==typeof r[0]?r[0]:void 0,o=2===r.length?r[1]:"string"==typeof r[0]?void 0:r[0];return (e={})[n]=function(){return {match:function(n){var e,r=((e={})[null!=c?c:t]=n,e);return {matched:void 0===o||u(o,n,function(n,t){r[n]=t;}),selections:r}},getSelectionKeys:function(){return [null!=c?c:t].concat(void 0===o?[]:i(o))}}},e}var y=h(function(n){return !0}),m=y,d=h(function(n){return "string"==typeof n}),g=h(function(n){return "number"==typeof n}),p=h(function(n){return "boolean"==typeof n}),b=h(function(n){return "bigint"==typeof n}),w=h(function(n){return "symbol"==typeof n}),A=h(function(n){return null==n}),S={__proto__:null,optional:o,array:a,intersection:f,union:s,not:l,when:h,select:v,any:y,_:m,string:d,number:g,boolean:p,bigint:b,symbol:w,nullish:A,instanceOf:function(n){return h(function(n){return function(t){return t instanceof n}}(n))},typed:function(){return {array:a,optional:o,intersection:f,union:s,not:l,select:v,when:h}}};function K(n){return new O(n,[])}var O=/*#__PURE__*/function(){function n(n,t){this.value=void 0,this.cases=void 0,this.value=n,this.cases=t;}var e=n.prototype;return e.with=function(){var e=[].slice.call(arguments),r=e[e.length-1],i=[e[0]],c=[];return 3===e.length&&"function"==typeof e[1]?(i.push(e[0]),c.push(e[1])):e.length>2&&i.push.apply(i,e.slice(1,e.length-1)),new n(this.value,this.cases.concat([{match:function(n){var e={},r=Boolean(i.some(function(t){return u(t,n,function(n,t){e[n]=t;})})&&c.every(function(t){return t(n)}));return {matched:r,value:r&&Object.keys(e).length?t in e?e[t]:e:n}},handler:r}]))},e.when=function(t,e){return new n(this.value,this.cases.concat([{match:function(n){return {matched:Boolean(t(n)),value:n}},handler:e}]))},e.otherwise=function(t){return new n(this.value,this.cases.concat([{match:function(n){return {matched:!0,value:n}},handler:t}])).run()},e.exhaustive=function(){return this.run()},e.run=function(){for(var n=this.value,t=void 0,e=0;e<this.cases.length;e++){var r=this.cases[e],u=r.match(this.value);if(u.matched){n=u.value,t=r.handler;break}}if(!t){var i;try{i=JSON.stringify(this.value);}catch(n){i=this.value;}throw new Error("Pattern matching error: no pattern matches value "+i)}return t(n,this.value)},n}();
4
+
5
+ exports.K = K;
6
+ exports.S = S;
7
+ //# sourceMappingURL=index-609b07a2.js.map