@sendbird/uikit-react 3.2.4 → 3.2.6-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 (533) hide show
  1. package/App.js +327 -101
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +16 -0
  4. package/Channel/components/ChannelHeader.js +30 -18
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +31 -22
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -14
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +76 -73
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +15 -15
  13. package/Channel/components/MessageList.js +23 -20
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +16 -15
  16. package/Channel/components/RemoveMessageModal.js.map +1 -1
  17. package/Channel/components/SuggestedMentionList.js +15 -15
  18. package/Channel/components/TypingIndicator.js +14 -14
  19. package/Channel/components/UnreadCount.js +4 -4
  20. package/Channel/context.js +13 -13
  21. package/Channel.js +25 -21
  22. package/Channel.js.map +1 -1
  23. package/ChannelList/components/AddChannel.js +14 -13
  24. package/ChannelList/components/AddChannel.js.map +1 -1
  25. package/ChannelList/components/ChannelListHeader.js +7 -7
  26. package/ChannelList/components/ChannelListUI.js +32 -26
  27. package/ChannelList/components/ChannelListUI.js.map +1 -1
  28. package/ChannelList/components/ChannelPreview.js +69 -28
  29. package/ChannelList/components/ChannelPreview.js.map +1 -1
  30. package/ChannelList/components/ChannelPreviewAction.js +14 -13
  31. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +28 -26
  34. package/ChannelList.js.map +1 -1
  35. package/{ChannelListProvider-c6fbc45c.js → ChannelListProvider-cef1f985.js} +33 -11
  36. package/ChannelListProvider-cef1f985.js.map +1 -0
  37. package/{ChannelProvider-00f1bb31.js → ChannelProvider-924d5a93.js} +15 -11
  38. package/ChannelProvider-924d5a93.js.map +1 -0
  39. package/ChannelSettings/components/ChannelProfile.js +12 -11
  40. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  41. package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  42. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  43. package/ChannelSettings/components/EditDetailsModal.js +13 -11
  44. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  45. package/ChannelSettings/components/LeaveChannel.js +74 -26
  46. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  47. package/ChannelSettings/components/ModerationPanel.js +19 -14
  48. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  49. package/ChannelSettings/components/UserListItem.js +11 -11
  50. package/ChannelSettings/components/UserPanel.js +14 -13
  51. package/ChannelSettings/components/UserPanel.js.map +1 -1
  52. package/ChannelSettings/context.js +9 -5
  53. package/ChannelSettings/context.js.map +1 -1
  54. package/ChannelSettings.js +19 -17
  55. package/ChannelSettings.js.map +1 -1
  56. package/CreateChannel/components/CreateChannelUI.js +14 -13
  57. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  58. package/CreateChannel/components/InviteUsers.js +32 -13
  59. package/CreateChannel/components/InviteUsers.js.map +1 -1
  60. package/CreateChannel/components/SelectChannelType.js +13 -11
  61. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  62. package/CreateChannel/context.js +4 -4
  63. package/CreateChannel.js +14 -13
  64. package/CreateChannel.js.map +1 -1
  65. package/{CreateChannelProvider-c0d11b0b.js → CreateChannelProvider-2b5b2952.js} +1 -1
  66. package/{CreateChannelProvider-c0d11b0b.js.map → CreateChannelProvider-2b5b2952.js.map} +1 -1
  67. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
  68. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  69. package/CreateOpenChannel/context.js +1 -1
  70. package/CreateOpenChannel.js +10 -9
  71. package/CreateOpenChannel.js.map +1 -1
  72. package/EditUserProfile/components/EditUserProfileUI.js +13 -12
  73. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  74. package/EditUserProfile.js +13 -12
  75. package/EditUserProfile.js.map +1 -1
  76. package/{LocalizationContext-b6ff0c3d.js → LocalizationContext-2bd4bbe8.js} +3 -3
  77. package/{LocalizationContext-b6ff0c3d.js.map → LocalizationContext-2bd4bbe8.js.map} +1 -1
  78. package/MediaQueryContext-7be72ab4.js +90 -0
  79. package/MediaQueryContext-7be72ab4.js.map +1 -0
  80. package/{MemberList-07e7c82a.js → MemberList-405c20b6.js} +12 -6
  81. package/MemberList-405c20b6.js.map +1 -0
  82. package/MessageSearch/components/MessageSearchUI.js +11 -11
  83. package/MessageSearch/context.js +2 -2
  84. package/MessageSearch.js +11 -11
  85. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  86. package/OpenChannel/components/OpenChannelHeader.js +25 -15
  87. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  88. package/OpenChannel/components/OpenChannelInput.js +15 -15
  89. package/OpenChannel/components/OpenChannelMessage.js +22 -20
  90. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  91. package/OpenChannel/components/OpenChannelMessageList.js +24 -22
  92. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  93. package/OpenChannel/components/OpenChannelUI.js +24 -22
  94. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  95. package/OpenChannel/context.js +9 -9
  96. package/OpenChannel.js +27 -24
  97. package/OpenChannel.js.map +1 -1
  98. package/OpenChannelList/components/OpenChannelListUI.js +15 -13
  99. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  100. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  101. package/OpenChannelList/context.js +4 -4
  102. package/OpenChannelList.js +13 -12
  103. package/OpenChannelList.js.map +1 -1
  104. package/{OpenChannelListProvider-956b2f42.js → OpenChannelListProvider-13648dc9.js} +3 -3
  105. package/{OpenChannelListProvider-956b2f42.js.map → OpenChannelListProvider-13648dc9.js.map} +1 -1
  106. package/{OpenChannelProvider-e7b44f68.js → OpenChannelProvider-7a6eea29.js} +11 -9
  107. package/OpenChannelProvider-7a6eea29.js.map +1 -0
  108. package/OpenChannelSettings/components/EditDetailsModal.js +14 -12
  109. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  110. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
  111. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  112. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
  113. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  114. package/OpenChannelSettings/components/OperatorUI.js +22 -16
  115. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  116. package/OpenChannelSettings/components/ParticipantUI.js +15 -14
  117. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  118. package/OpenChannelSettings/context.js +3 -3
  119. package/OpenChannelSettings.js +18 -17
  120. package/OpenChannelSettings.js.map +1 -1
  121. package/SendbirdProvider.js +22 -10
  122. package/SendbirdProvider.js.map +1 -1
  123. package/{UserProfileContext-9f99563d.js → UserProfileContext-0d8287d0.js} +8 -4
  124. package/UserProfileContext-0d8287d0.js.map +1 -0
  125. package/{_rollupPluginBabelHelpers-dea8a6c9.js → _rollupPluginBabelHelpers-fa4874e9.js} +19 -2
  126. package/_rollupPluginBabelHelpers-fa4874e9.js.map +1 -0
  127. package/{actionTypes-7203a821.js → actionTypes-36657780.js} +1 -1
  128. package/{actionTypes-7203a821.js.map → actionTypes-36657780.js.map} +1 -1
  129. package/cjs/App.js +326 -100
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +29 -17
  132. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  133. package/cjs/Channel/components/ChannelUI.js +31 -22
  134. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  135. package/cjs/Channel/components/FileViewer.js +14 -14
  136. package/cjs/Channel/components/FrozenNotification.js +4 -4
  137. package/cjs/Channel/components/Message.js +76 -73
  138. package/cjs/Channel/components/Message.js.map +1 -1
  139. package/cjs/Channel/components/MessageInput.js +15 -15
  140. package/cjs/Channel/components/MessageList.js +23 -20
  141. package/cjs/Channel/components/MessageList.js.map +1 -1
  142. package/cjs/Channel/components/RemoveMessageModal.js +16 -15
  143. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  144. package/cjs/Channel/components/SuggestedMentionList.js +15 -15
  145. package/cjs/Channel/components/TypingIndicator.js +14 -14
  146. package/cjs/Channel/components/UnreadCount.js +4 -4
  147. package/cjs/Channel/context.js +13 -13
  148. package/cjs/Channel.js +25 -21
  149. package/cjs/Channel.js.map +1 -1
  150. package/cjs/ChannelList/components/AddChannel.js +14 -13
  151. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  153. package/cjs/ChannelList/components/ChannelListUI.js +32 -26
  154. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  155. package/cjs/ChannelList/components/ChannelPreview.js +68 -27
  156. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  157. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
  158. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  159. package/cjs/ChannelList/context.js +8 -8
  160. package/cjs/ChannelList.js +28 -26
  161. package/cjs/ChannelList.js.map +1 -1
  162. package/cjs/{ChannelListProvider-1d42a73f.js → ChannelListProvider-7ee975c5.js} +33 -11
  163. package/cjs/ChannelListProvider-7ee975c5.js.map +1 -0
  164. package/cjs/{ChannelProvider-7b5ac56e.js → ChannelProvider-b28cd92d.js} +15 -11
  165. package/cjs/ChannelProvider-b28cd92d.js.map +1 -0
  166. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -11
  167. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  168. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  169. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  170. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -11
  171. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  172. package/cjs/ChannelSettings/components/LeaveChannel.js +74 -26
  173. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  174. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -14
  175. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  176. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  177. package/cjs/ChannelSettings/components/UserPanel.js +14 -13
  178. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  179. package/cjs/ChannelSettings/context.js +9 -5
  180. package/cjs/ChannelSettings/context.js.map +1 -1
  181. package/cjs/ChannelSettings.js +19 -17
  182. package/cjs/ChannelSettings.js.map +1 -1
  183. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -13
  184. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  185. package/cjs/CreateChannel/components/InviteUsers.js +32 -13
  186. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  187. package/cjs/CreateChannel/components/SelectChannelType.js +13 -11
  188. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  189. package/cjs/CreateChannel/context.js +4 -4
  190. package/cjs/CreateChannel.js +14 -13
  191. package/cjs/CreateChannel.js.map +1 -1
  192. package/cjs/{CreateChannelProvider-a23a11b3.js → CreateChannelProvider-e368f771.js} +1 -1
  193. package/cjs/{CreateChannelProvider-a23a11b3.js.map → CreateChannelProvider-e368f771.js.map} +1 -1
  194. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
  195. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  196. package/cjs/CreateOpenChannel/context.js +1 -1
  197. package/cjs/CreateOpenChannel.js +10 -9
  198. package/cjs/CreateOpenChannel.js.map +1 -1
  199. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -12
  200. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  201. package/cjs/EditUserProfile.js +13 -12
  202. package/cjs/EditUserProfile.js.map +1 -1
  203. package/cjs/{LocalizationContext-5447c898.js → LocalizationContext-2a1cb44b.js} +3 -3
  204. package/cjs/{LocalizationContext-5447c898.js.map → LocalizationContext-2a1cb44b.js.map} +1 -1
  205. package/cjs/MediaQueryContext-623586af.js +97 -0
  206. package/cjs/MediaQueryContext-623586af.js.map +1 -0
  207. package/cjs/{MemberList-745e3d9e.js → MemberList-ab7f22b9.js} +12 -6
  208. package/cjs/MemberList-ab7f22b9.js.map +1 -0
  209. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  210. package/cjs/MessageSearch/context.js +2 -2
  211. package/cjs/MessageSearch.js +11 -11
  212. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  213. package/cjs/OpenChannel/components/OpenChannelHeader.js +24 -14
  214. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  215. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  216. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -20
  217. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -22
  219. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  220. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -22
  221. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  222. package/cjs/OpenChannel/context.js +9 -9
  223. package/cjs/OpenChannel.js +27 -24
  224. package/cjs/OpenChannel.js.map +1 -1
  225. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -13
  226. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  227. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  228. package/cjs/OpenChannelList/context.js +4 -4
  229. package/cjs/OpenChannelList.js +13 -12
  230. package/cjs/OpenChannelList.js.map +1 -1
  231. package/cjs/{OpenChannelListProvider-8f2a88c2.js → OpenChannelListProvider-ee1df405.js} +3 -3
  232. package/cjs/{OpenChannelListProvider-8f2a88c2.js.map → OpenChannelListProvider-ee1df405.js.map} +1 -1
  233. package/cjs/{OpenChannelProvider-447d5b53.js → OpenChannelProvider-8b0e26a5.js} +11 -9
  234. package/cjs/OpenChannelProvider-8b0e26a5.js.map +1 -0
  235. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -12
  236. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  237. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
  238. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  239. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
  240. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  241. package/cjs/OpenChannelSettings/components/OperatorUI.js +22 -16
  242. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  243. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
  244. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  245. package/cjs/OpenChannelSettings/context.js +3 -3
  246. package/cjs/OpenChannelSettings.js +18 -17
  247. package/cjs/OpenChannelSettings.js.map +1 -1
  248. package/cjs/SendbirdProvider.js +22 -10
  249. package/cjs/SendbirdProvider.js.map +1 -1
  250. package/cjs/{UserProfileContext-2201df8d.js → UserProfileContext-157c5174.js} +8 -4
  251. package/cjs/UserProfileContext-157c5174.js.map +1 -0
  252. package/cjs/{_rollupPluginBabelHelpers-cb661818.js → _rollupPluginBabelHelpers-c8ddc77e.js} +19 -1
  253. package/cjs/_rollupPluginBabelHelpers-c8ddc77e.js.map +1 -0
  254. package/cjs/{actionTypes-0521e719.js → actionTypes-8d79679a.js} +1 -1
  255. package/cjs/{actionTypes-0521e719.js.map → actionTypes-8d79679a.js.map} +1 -1
  256. package/cjs/{color-50f674f3.js → color-fcbb3426.js} +1 -1
  257. package/cjs/{color-50f674f3.js.map → color-fcbb3426.js.map} +1 -1
  258. package/cjs/{compareIds-d0e5da82.js → compareIds-eb7c82dc.js} +1 -1
  259. package/cjs/{compareIds-d0e5da82.js.map → compareIds-eb7c82dc.js.map} +1 -1
  260. package/cjs/{const-12075c2d.js → const-3ceaca5c.js} +1 -1
  261. package/cjs/{const-12075c2d.js.map → const-3ceaca5c.js.map} +1 -1
  262. package/cjs/{const-093eff13.js → const-8b0c6ef1.js} +1 -1
  263. package/cjs/{const-093eff13.js.map → const-8b0c6ef1.js.map} +1 -1
  264. package/cjs/{context-a452ae97.js → context-ca0ce6fa.js} +2 -2
  265. package/cjs/{context-a452ae97.js.map → context-ca0ce6fa.js.map} +1 -1
  266. package/cjs/dist/index.css +627 -300
  267. package/cjs/dist/index.css.map +1 -1
  268. package/cjs/{index-bdac4741.js → index-02154394.js} +4 -4
  269. package/cjs/{index-bdac4741.js.map → index-02154394.js.map} +1 -1
  270. package/cjs/{index-d3706b9e.js → index-06c0cb5d.js} +9 -8
  271. package/cjs/index-06c0cb5d.js.map +1 -0
  272. package/cjs/{index-61180888.js → index-223b8a15.js} +6 -5
  273. package/cjs/index-223b8a15.js.map +1 -0
  274. package/cjs/{index-a9f8c4d4.js → index-5513787c.js} +2 -2
  275. package/cjs/{index-a9f8c4d4.js.map → index-5513787c.js.map} +1 -1
  276. package/cjs/{index-63513959.js → index-5ce5b5ef.js} +1 -1
  277. package/cjs/{index-63513959.js.map → index-5ce5b5ef.js.map} +1 -1
  278. package/cjs/{index-ec6e34c8.js → index-6c759d44.js} +2 -2
  279. package/cjs/{index-ec6e34c8.js.map → index-6c759d44.js.map} +1 -1
  280. package/cjs/index-6f03baa8.js +194 -0
  281. package/cjs/index-6f03baa8.js.map +1 -0
  282. package/cjs/{index-f7729b70.js → index-7f18a16f.js} +2 -2
  283. package/cjs/{index-f7729b70.js.map → index-7f18a16f.js.map} +1 -1
  284. package/cjs/{index-259776b5.js → index-8d7bc2cf.js} +4 -4
  285. package/cjs/{index-259776b5.js.map → index-8d7bc2cf.js.map} +1 -1
  286. package/cjs/{index-8320b791.js → index-f1ad3c0d.js} +1 -1
  287. package/cjs/{index-8320b791.js.map → index-f1ad3c0d.js.map} +1 -1
  288. package/cjs/{index-1e4f968c.js → index-f42aafcc.js} +5 -5
  289. package/cjs/index-f42aafcc.js.map +1 -0
  290. package/cjs/index.js +35 -32
  291. package/cjs/index.js.map +1 -1
  292. package/cjs/sendbirdSelectors.js +2 -2
  293. package/cjs/{stringSet-7509e1fb.js → stringSet-b531455a.js} +4 -1
  294. package/cjs/stringSet-b531455a.js.map +1 -0
  295. package/cjs/{topics-ae5e326d.js → topics-14e5ee9f.js} +1 -1
  296. package/cjs/{topics-ae5e326d.js.map → topics-14e5ee9f.js.map} +1 -1
  297. package/cjs/{tslib.es6-062eb722.js → tslib.es6-ce6b9cf9.js} +1 -1
  298. package/cjs/{tslib.es6-062eb722.js.map → tslib.es6-ce6b9cf9.js.map} +1 -1
  299. package/cjs/ui/Accordion.js +3 -3
  300. package/cjs/ui/AccordionGroup.js +2 -2
  301. package/cjs/ui/AdminMessage.js +3 -3
  302. package/cjs/ui/Avatar.js +2 -2
  303. package/cjs/ui/Badge.js +5 -5
  304. package/cjs/ui/BottomSheet.js +43 -0
  305. package/cjs/ui/BottomSheet.js.map +1 -0
  306. package/cjs/ui/Button.js +3 -3
  307. package/cjs/ui/ChannelAvatar.js +3 -3
  308. package/cjs/ui/ConnectionStatus.js +4 -4
  309. package/cjs/ui/ContextMenu.js +14 -10
  310. package/cjs/ui/ContextMenu.js.map +1 -1
  311. package/cjs/ui/DateSeparator.js +4 -4
  312. package/cjs/ui/EmojiReactions.js +7 -7
  313. package/cjs/ui/FileMessageItemBody.js +8 -6
  314. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  315. package/cjs/ui/FileViewer.js +8 -8
  316. package/cjs/ui/IconButton.js +1 -1
  317. package/cjs/ui/ImageRenderer.js +1 -1
  318. package/cjs/ui/Input.js +2 -2
  319. package/cjs/ui/Label.js +2 -2
  320. package/cjs/ui/LinkLabel.js +9 -3
  321. package/cjs/ui/LinkLabel.js.map +1 -1
  322. package/cjs/ui/Loader.js +1 -1
  323. package/cjs/ui/MentionLabel.js +11 -10
  324. package/cjs/ui/MentionLabel.js.map +1 -1
  325. package/cjs/ui/MessageContent.js +450 -40
  326. package/cjs/ui/MessageContent.js.map +1 -1
  327. package/cjs/ui/MessageInput.js +9 -9
  328. package/cjs/ui/MessageItemMenu.js +7 -7
  329. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  330. package/cjs/ui/MessageSearchFileItem.js +9 -9
  331. package/cjs/ui/MessageSearchItem.js +9 -9
  332. package/cjs/ui/MessageStatus.js +7 -7
  333. package/cjs/ui/Modal.js +33 -18
  334. package/cjs/ui/Modal.js.map +1 -1
  335. package/cjs/ui/OGMessageItemBody.js +11 -10
  336. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  337. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  338. package/cjs/ui/OpenChannelAvatar.js +6 -6
  339. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  340. package/cjs/ui/OpenchannelFileMessage.js +56 -26
  341. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  342. package/cjs/ui/OpenchannelOGMessage.js +75 -37
  343. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  344. package/cjs/ui/OpenchannelThumbnailMessage.js +58 -26
  345. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  346. package/cjs/ui/OpenchannelUserMessage.js +74 -51
  347. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  348. package/cjs/ui/PlaceHolder.js +6 -6
  349. package/cjs/ui/QuoteMessage.js +9 -6
  350. package/cjs/ui/QuoteMessage.js.map +1 -1
  351. package/cjs/ui/QuoteMessageInput.js +6 -6
  352. package/cjs/ui/ReactionBadge.js +4 -3
  353. package/cjs/ui/ReactionBadge.js.map +1 -1
  354. package/cjs/ui/ReactionButton.js +7 -1
  355. package/cjs/ui/ReactionButton.js.map +1 -1
  356. package/cjs/ui/SortByRow.js +2 -2
  357. package/cjs/ui/TextButton.js +2 -2
  358. package/cjs/ui/TextMessageItemBody.js +11 -10
  359. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  360. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  361. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  362. package/cjs/ui/Tooltip.js +3 -3
  363. package/cjs/ui/TooltipWrapper.js +1 -1
  364. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  365. package/cjs/ui/UserListItem.js +11 -11
  366. package/cjs/ui/UserProfile.js +18 -11
  367. package/cjs/ui/UserProfile.js.map +1 -1
  368. package/cjs/ui/Word.js +11 -10
  369. package/cjs/ui/Word.js.map +1 -1
  370. package/cjs/useLongPress-ca8f8cd9.js +118 -0
  371. package/cjs/useLongPress-ca8f8cd9.js.map +1 -0
  372. package/cjs/useSendbirdStateContext.js +1 -1
  373. package/cjs/{utils-079403ab.js → utils-54962329.js} +1 -1
  374. package/cjs/{utils-079403ab.js.map → utils-54962329.js.map} +1 -1
  375. package/cjs/{utils-7e01ad5d.js → utils-b076caa2.js} +1 -1
  376. package/cjs/{utils-7e01ad5d.js.map → utils-b076caa2.js.map} +1 -1
  377. package/cjs/{utils-d512a340.js → utils-d8b4def1.js} +1 -1
  378. package/cjs/{utils-d512a340.js.map → utils-d8b4def1.js.map} +1 -1
  379. package/cjs/{uuid-5f2be0dc.js → uuid-e0efb18c.js} +1 -1
  380. package/cjs/{uuid-5f2be0dc.js.map → uuid-e0efb18c.js.map} +1 -1
  381. package/cjs/withSendbird.js +1 -1
  382. package/{color-d6871add.js → color-468f177a.js} +1 -1
  383. package/{color-d6871add.js.map → color-468f177a.js.map} +1 -1
  384. package/{compareIds-f300a3d3.js → compareIds-7e80cfd0.js} +1 -1
  385. package/{compareIds-f300a3d3.js.map → compareIds-7e80cfd0.js.map} +1 -1
  386. package/{const-460c0f68.js → const-5feae56e.js} +1 -1
  387. package/{const-460c0f68.js.map → const-5feae56e.js.map} +1 -1
  388. package/{const-cea7932a.js → const-7a18ac0a.js} +1 -1
  389. package/{const-cea7932a.js.map → const-7a18ac0a.js.map} +1 -1
  390. package/{context-1aee2fcc.js → context-0e023b05.js} +2 -2
  391. package/{context-1aee2fcc.js.map → context-0e023b05.js.map} +1 -1
  392. package/dist/index.css +627 -300
  393. package/dist/index.css.map +1 -1
  394. package/{index-eee9204a.js → index-1c02ac0d.js} +2 -2
  395. package/{index-eee9204a.js.map → index-1c02ac0d.js.map} +1 -1
  396. package/{index-b71aed3b.js → index-36f812a7.js} +4 -4
  397. package/{index-b71aed3b.js.map → index-36f812a7.js.map} +1 -1
  398. package/{index-b1bcebc7.js → index-670435a8.js} +1 -1
  399. package/{index-b1bcebc7.js.map → index-670435a8.js.map} +1 -1
  400. package/{index-52b2b816.js → index-867e0d39.js} +6 -6
  401. package/index-867e0d39.js.map +1 -0
  402. package/{index-45615e6e.js → index-8b890de6.js} +9 -8
  403. package/index-8b890de6.js.map +1 -0
  404. package/{index-f936a084.js → index-b4ee3569.js} +1 -1
  405. package/{index-f936a084.js.map → index-b4ee3569.js.map} +1 -1
  406. package/{index-a5ba7985.js → index-b8a1932a.js} +2 -2
  407. package/{index-a5ba7985.js.map → index-b8a1932a.js.map} +1 -1
  408. package/index-c4739f89.js +179 -0
  409. package/index-c4739f89.js.map +1 -0
  410. package/{index-8c54bbb8.js → index-c4eefc9d.js} +2 -2
  411. package/{index-8c54bbb8.js.map → index-c4eefc9d.js.map} +1 -1
  412. package/{index-f532aec7.js → index-dcae1e38.js} +6 -5
  413. package/index-dcae1e38.js.map +1 -0
  414. package/{index-c003c91c.js → index-ec923bf5.js} +4 -4
  415. package/{index-c003c91c.js.map → index-ec923bf5.js.map} +1 -1
  416. package/index.d.ts +17 -6
  417. package/index.js +35 -32
  418. package/index.js.map +1 -1
  419. package/package.json +1 -1
  420. package/sendbirdSelectors.js +2 -2
  421. package/{stringSet-38fffb6a.js → stringSet-65cf83b4.js} +4 -1
  422. package/stringSet-65cf83b4.js.map +1 -0
  423. package/{topics-d594b804.js → topics-2ff5f12a.js} +1 -1
  424. package/{topics-d594b804.js.map → topics-2ff5f12a.js.map} +1 -1
  425. package/{tslib.es6-8a087055.js → tslib.es6-7fef98cd.js} +1 -1
  426. package/{tslib.es6-8a087055.js.map → tslib.es6-7fef98cd.js.map} +1 -1
  427. package/ui/Accordion.js +3 -3
  428. package/ui/AccordionGroup.js +2 -2
  429. package/ui/AdminMessage.js +3 -3
  430. package/ui/Avatar.js +2 -2
  431. package/ui/Badge.js +5 -5
  432. package/ui/BottomSheet.js +37 -0
  433. package/ui/BottomSheet.js.map +1 -0
  434. package/ui/Button.js +3 -3
  435. package/ui/ChannelAvatar.js +3 -3
  436. package/ui/ConnectionStatus.js +4 -4
  437. package/ui/ContextMenu.js +14 -10
  438. package/ui/ContextMenu.js.map +1 -1
  439. package/ui/DateSeparator.js +4 -4
  440. package/ui/EmojiReactions.js +7 -7
  441. package/ui/FileMessageItemBody.js +8 -6
  442. package/ui/FileMessageItemBody.js.map +1 -1
  443. package/ui/FileViewer.js +8 -8
  444. package/ui/IconButton.js +1 -1
  445. package/ui/ImageRenderer.js +1 -1
  446. package/ui/Input.js +2 -2
  447. package/ui/Label.js +2 -2
  448. package/ui/LinkLabel.js +9 -3
  449. package/ui/LinkLabel.js.map +1 -1
  450. package/ui/Loader.js +1 -1
  451. package/ui/MentionLabel.js +11 -10
  452. package/ui/MentionLabel.js.map +1 -1
  453. package/ui/MessageContent.js +452 -42
  454. package/ui/MessageContent.js.map +1 -1
  455. package/ui/MessageInput.js +9 -9
  456. package/ui/MessageItemMenu.js +7 -7
  457. package/ui/MessageItemReactionMenu.js +5 -5
  458. package/ui/MessageSearchFileItem.js +9 -9
  459. package/ui/MessageSearchItem.js +9 -9
  460. package/ui/MessageStatus.js +7 -7
  461. package/ui/Modal.js +33 -18
  462. package/ui/Modal.js.map +1 -1
  463. package/ui/OGMessageItemBody.js +11 -10
  464. package/ui/OGMessageItemBody.js.map +1 -1
  465. package/ui/OpenChannelAdminMessage.js +3 -3
  466. package/ui/OpenChannelAvatar.js +6 -6
  467. package/ui/OpenchannelConversationHeader.js +6 -6
  468. package/ui/OpenchannelFileMessage.js +50 -20
  469. package/ui/OpenchannelFileMessage.js.map +1 -1
  470. package/ui/OpenchannelOGMessage.js +66 -28
  471. package/ui/OpenchannelOGMessage.js.map +1 -1
  472. package/ui/OpenchannelThumbnailMessage.js +50 -18
  473. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  474. package/ui/OpenchannelUserMessage.js +67 -44
  475. package/ui/OpenchannelUserMessage.js.map +1 -1
  476. package/ui/PlaceHolder.js +6 -6
  477. package/ui/QuoteMessage.js +9 -6
  478. package/ui/QuoteMessage.js.map +1 -1
  479. package/ui/QuoteMessageInput.js +6 -6
  480. package/ui/ReactionBadge.js +4 -3
  481. package/ui/ReactionBadge.js.map +1 -1
  482. package/ui/ReactionButton.js +7 -1
  483. package/ui/ReactionButton.js.map +1 -1
  484. package/ui/SortByRow.js +2 -2
  485. package/ui/TextButton.js +2 -2
  486. package/ui/TextMessageItemBody.js +11 -10
  487. package/ui/TextMessageItemBody.js.map +1 -1
  488. package/ui/ThumbnailMessageItemBody.js +2 -2
  489. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  490. package/ui/Tooltip.js +3 -3
  491. package/ui/TooltipWrapper.js +1 -1
  492. package/ui/UnknownMessageItemBody.js +6 -6
  493. package/ui/UserListItem.js +11 -11
  494. package/ui/UserProfile.js +18 -11
  495. package/ui/UserProfile.js.map +1 -1
  496. package/ui/Word.js +11 -10
  497. package/ui/Word.js.map +1 -1
  498. package/useLongPress-2c79297b.js +116 -0
  499. package/useLongPress-2c79297b.js.map +1 -0
  500. package/useSendbirdStateContext.js +1 -1
  501. package/{utils-daa9779c.js → utils-a3afc9f0.js} +1 -1
  502. package/{utils-daa9779c.js.map → utils-a3afc9f0.js.map} +1 -1
  503. package/{utils-e55000b0.js → utils-ac92824a.js} +1 -1
  504. package/{utils-e55000b0.js.map → utils-ac92824a.js.map} +1 -1
  505. package/{utils-4edea23e.js → utils-db039320.js} +1 -1
  506. package/{utils-4edea23e.js.map → utils-db039320.js.map} +1 -1
  507. package/{uuid-c6ede0a0.js → uuid-68db8245.js} +1 -1
  508. package/{uuid-c6ede0a0.js.map → uuid-68db8245.js.map} +1 -1
  509. package/withSendbird.js +1 -1
  510. package/ChannelListProvider-c6fbc45c.js.map +0 -1
  511. package/ChannelProvider-00f1bb31.js.map +0 -1
  512. package/MemberList-07e7c82a.js.map +0 -1
  513. package/OpenChannelProvider-e7b44f68.js.map +0 -1
  514. package/UserProfileContext-9f99563d.js.map +0 -1
  515. package/_rollupPluginBabelHelpers-dea8a6c9.js.map +0 -1
  516. package/cjs/ChannelListProvider-1d42a73f.js.map +0 -1
  517. package/cjs/ChannelProvider-7b5ac56e.js.map +0 -1
  518. package/cjs/MemberList-745e3d9e.js.map +0 -1
  519. package/cjs/OpenChannelProvider-447d5b53.js.map +0 -1
  520. package/cjs/UserProfileContext-2201df8d.js.map +0 -1
  521. package/cjs/_rollupPluginBabelHelpers-cb661818.js.map +0 -1
  522. package/cjs/index-1e4f968c.js.map +0 -1
  523. package/cjs/index-61180888.js.map +0 -1
  524. package/cjs/index-d3706b9e.js.map +0 -1
  525. package/cjs/openChannelUtils-3cc2cf97.js +0 -96
  526. package/cjs/openChannelUtils-3cc2cf97.js.map +0 -1
  527. package/cjs/stringSet-7509e1fb.js.map +0 -1
  528. package/index-45615e6e.js.map +0 -1
  529. package/index-52b2b816.js.map +0 -1
  530. package/index-f532aec7.js.map +0 -1
  531. package/openChannelUtils-a5650554.js +0 -86
  532. package/openChannelUtils-a5650554.js.map +0 -1
  533. package/stringSet-38fffb6a.js.map +0 -1
package/ui/UserProfile.js CHANGED
@@ -1,20 +1,21 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../LocalizationContext-b6ff0c3d.js';
2
+ import { a as LocalizationContext } from '../LocalizationContext-2bd4bbe8.js';
3
3
  import withSendbirdContext from '../withSendbird.js';
4
+ import { a as UserProfileContext } from '../UserProfileContext-0d8287d0.js';
4
5
  import { getSdk, getCreateGroupChannel } from '../sendbirdSelectors.js';
5
6
  import Avatar from './Avatar.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-8c54bbb8.js';
7
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-c4eefc9d.js';
7
8
  import Button, { ButtonTypes } from './Button.js';
8
- import '../stringSet-38fffb6a.js';
9
- import '../index-b1bcebc7.js';
10
- import '../_rollupPluginBabelHelpers-dea8a6c9.js';
11
- import '../topics-d594b804.js';
12
- import '../utils-4edea23e.js';
13
- import '../tslib.es6-8a087055.js';
9
+ import '../stringSet-65cf83b4.js';
10
+ import '../index-670435a8.js';
11
+ import '../_rollupPluginBabelHelpers-fa4874e9.js';
12
+ import 'prop-types';
13
+ import '../topics-2ff5f12a.js';
14
+ import '../utils-db039320.js';
15
+ import '../tslib.es6-7fef98cd.js';
14
16
  import './ImageRenderer.js';
15
17
  import './Icon.js';
16
- import 'prop-types';
17
- import '../uuid-c6ede0a0.js';
18
+ import '../uuid-68db8245.js';
18
19
 
19
20
  function UserProfile(_a) {
20
21
  var user = _a.user,
@@ -24,7 +25,9 @@ function UserProfile(_a) {
24
25
  disableMessaging = _b === void 0 ? false : _b,
25
26
  createChannel = _a.createChannel,
26
27
  onSuccess = _a.onSuccess;
27
- var stringSet = useContext(LocalizationContext).stringSet;
28
+ var stringSet = useContext(LocalizationContext).stringSet; // @ts-ignore
29
+
30
+ var onUserProfileMessage = useContext(UserProfileContext).onUserProfileMessage;
28
31
  return /*#__PURE__*/React__default.createElement("div", {
29
32
  className: "sendbird__user-profile"
30
33
  }, /*#__PURE__*/React__default.createElement("section", {
@@ -50,6 +53,10 @@ function UserProfile(_a) {
50
53
  onSuccess();
51
54
  createChannel(params).then(function (groupChannel) {
52
55
  logger.info('UserProfile, channel create', groupChannel);
56
+
57
+ if (typeof onUserProfileMessage === 'function') {
58
+ onUserProfileMessage === null || onUserProfileMessage === void 0 ? void 0 : onUserProfileMessage(groupChannel);
59
+ }
53
60
  });
54
61
  }
55
62
  }, stringSet.USER_PROFILE__MESSAGE)), /*#__PURE__*/React__default.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfile.js","sources":["../../src/ui/UserProfile/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext } from 'react';\nimport type { GroupChannel, GroupChannelCreateParams } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { getSdk, getCreateGroupChannel } from '../../lib/selectors';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Button, { ButtonTypes } from '../Button';\n\ninterface Logger {\n info?(message: string, channel: GroupChannel): void;\n}\n\ninterface Props {\n user: User;\n currentUserId?: string;\n logger?: Logger;\n disableMessaging?: boolean;\n createChannel?(params: GroupChannelCreateParams): Promise<GroupChannel>;\n onSuccess?(): void;\n}\n\nfunction UserProfile({\n user,\n currentUserId,\n logger,\n disableMessaging = false,\n createChannel,\n onSuccess,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird__user-profile\">\n <section className=\"sendbird__user-profile-avatar\">\n <Avatar\n height=\"80px\"\n width=\"80px\"\n src={user?.profileUrl}\n />\n </section>\n <section className=\"sendbird__user-profile-name\">\n <Label\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user?.nickname || stringSet.NO_NAME}\n </Label>\n </section>\n {\n (user?.userId !== currentUserId) && !disableMessaging && (\n <section className=\"sendbird__user-profile-message\">\n <Button\n type={ButtonTypes.SECONDARY}\n onClick={() => {\n const params: GroupChannelCreateParams = {\n isDistinct: true,\n invitedUserIds: [user?.userId],\n };\n onSuccess();\n createChannel(params)\n .then((groupChannel) => {\n logger.info('UserProfile, channel create', groupChannel);\n });\n }}\n >\n {stringSet.USER_PROFILE__MESSAGE}\n </Button>\n </section>\n )\n }\n <div className=\"sendbird__user-profile-separator\" />\n <section className=\"sendbird__user-profile-userId\">\n <Label\n className=\"sendbird__user-profile-userId--label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.USER_PROFILE__USER_ID}\n </Label>\n <Label\n className=\"sendbird__user-profile-userId--value\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user?.userId}\n </Label>\n </section>\n </div>\n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n createChannel: getCreateGroupChannel(store),\n logger: store.config.logger,\n pubsub: store.config.pubSub,\n});\n\nconst ConnectedUserProfile = withSendbirdContext(UserProfile, mapStoreToProps);\n\nexport default ConnectedUserProfile;\n"],"names":["UserProfile","_a","user","currentUserId","logger","_b","disableMessaging","createChannel","onSuccess","stringSet","useContext","LocalizationContext","React","profileUrl","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","ButtonTypes","SECONDARY","params","isDistinct","invitedUserIds","then","groupChannel","info","USER_PROFILE__MESSAGE","CAPTION_2","ONBACKGROUND_2","USER_PROFILE__USER_ID","BODY_1","mapStoreToProps","store","sdk","getSdk","getCreateGroupChannel","config","pubsub","pubSub","ConnectedUserProfile","withSendbirdContext"],"mappings":"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"}
1
+ {"version":3,"file":"UserProfile.js","sources":["../../src/ui/UserProfile/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext } from 'react';\nimport type { GroupChannel, GroupChannelCreateParams } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { getSdk, getCreateGroupChannel } from '../../lib/selectors';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Button, { ButtonTypes } from '../Button';\n\ninterface Logger {\n info?(message: string, channel: GroupChannel): void;\n}\n\ninterface Props {\n user: User;\n currentUserId?: string;\n logger?: Logger;\n disableMessaging?: boolean;\n createChannel?(params: GroupChannelCreateParams): Promise<GroupChannel>;\n onSuccess?(): void;\n}\n\nfunction UserProfile({\n user,\n currentUserId,\n logger,\n disableMessaging = false,\n createChannel,\n onSuccess,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n // @ts-ignore\n const { onUserProfileMessage } = useContext(UserProfileContext);\n return (\n <div className=\"sendbird__user-profile\">\n <section className=\"sendbird__user-profile-avatar\">\n <Avatar\n height=\"80px\"\n width=\"80px\"\n src={user?.profileUrl}\n />\n </section>\n <section className=\"sendbird__user-profile-name\">\n <Label\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user?.nickname || stringSet.NO_NAME}\n </Label>\n </section>\n {\n (user?.userId !== currentUserId) && !disableMessaging && (\n <section className=\"sendbird__user-profile-message\">\n <Button\n type={ButtonTypes.SECONDARY}\n onClick={() => {\n const params: GroupChannelCreateParams = {\n isDistinct: true,\n invitedUserIds: [user?.userId],\n };\n onSuccess();\n createChannel(params)\n .then((groupChannel) => {\n logger.info('UserProfile, channel create', groupChannel);\n if (typeof onUserProfileMessage === 'function') {\n onUserProfileMessage?.(groupChannel);\n }\n });\n }}\n >\n {stringSet.USER_PROFILE__MESSAGE}\n </Button>\n </section>\n )\n }\n <div className=\"sendbird__user-profile-separator\" />\n <section className=\"sendbird__user-profile-userId\">\n <Label\n className=\"sendbird__user-profile-userId--label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.USER_PROFILE__USER_ID}\n </Label>\n <Label\n className=\"sendbird__user-profile-userId--value\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user?.userId}\n </Label>\n </section>\n </div>\n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n createChannel: getCreateGroupChannel(store),\n logger: store.config.logger,\n pubsub: store.config.pubSub,\n});\n\nconst ConnectedUserProfile = withSendbirdContext(UserProfile, mapStoreToProps);\n\nexport default ConnectedUserProfile;\n"],"names":["UserProfile","_a","user","currentUserId","logger","_b","disableMessaging","createChannel","onSuccess","stringSet","useContext","LocalizationContext","onUserProfileMessage","UserProfileContext","React","profileUrl","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","ButtonTypes","SECONDARY","params","isDistinct","invitedUserIds","then","groupChannel","info","USER_PROFILE__MESSAGE","CAPTION_2","ONBACKGROUND_2","USER_PROFILE__USER_ID","BODY_1","mapStoreToProps","store","sdk","getSdk","getCreateGroupChannel","config","pubsub","pubSub","ConnectedUserProfile","withSendbirdContext"],"mappings":"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"}
package/ui/Word.js CHANGED
@@ -1,24 +1,25 @@
1
1
  import React__default from 'react';
2
- import { a as LabelTypography } from '../index-8c54bbb8.js';
2
+ import { a as LabelTypography } from '../index-c4eefc9d.js';
3
3
  import LinkLabel from './LinkLabel.js';
4
- import { u as uuidv4 } from '../uuid-c6ede0a0.js';
5
- import { j as convertWordToStringObj, S as StringObjType } from '../index-52b2b816.js';
4
+ import { u as uuidv4 } from '../uuid-68db8245.js';
5
+ import { j as convertWordToStringObj, S as StringObjType } from '../index-867e0d39.js';
6
6
  import MentionLabel from './MentionLabel.js';
7
7
  import 'prop-types';
8
- import '../stringSet-38fffb6a.js';
9
- import '../tslib.es6-8a087055.js';
8
+ import '../stringSet-65cf83b4.js';
9
+ import '../tslib.es6-7fef98cd.js';
10
10
  import '../utils/message/getOutgoingMessageState.js';
11
11
  import './ContextMenu.js';
12
12
  import 'react-dom';
13
13
  import './SortByRow.js';
14
14
  import './UserProfile.js';
15
- import '../LocalizationContext-b6ff0c3d.js';
16
- import '../index-b1bcebc7.js';
15
+ import '../LocalizationContext-2bd4bbe8.js';
16
+ import '../index-670435a8.js';
17
17
  import '../withSendbird.js';
18
- import '../_rollupPluginBabelHelpers-dea8a6c9.js';
18
+ import '../_rollupPluginBabelHelpers-fa4874e9.js';
19
+ import '../UserProfileContext-0d8287d0.js';
19
20
  import '../sendbirdSelectors.js';
20
- import '../topics-d594b804.js';
21
- import '../utils-4edea23e.js';
21
+ import '../topics-2ff5f12a.js';
22
+ import '../utils-db039320.js';
22
23
  import './Avatar.js';
23
24
  import './ImageRenderer.js';
24
25
  import './Icon.js';
package/ui/Word.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Word.js","sources":["../../src/ui/Word/index.tsx"],"sourcesContent":["import './index.scss';\nimport React from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport { LabelTypography } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { convertWordToStringObj, StringObjType, StringObj } from '../../utils';\nimport MentionLabel from '../MentionLabel';\n\ninterface WordProps {\n word: string;\n message: UserMessage;\n isByMe?: boolean;\n mentionTemplate?: string;\n renderString?: (stringObj: StringObj) => JSX.Element;\n}\n\n// Word and StringObj will include types: normal, mention, url\nexport default function Word(props: WordProps): JSX.Element {\n const {\n word,\n message,\n isByMe = false,\n mentionTemplate = '@',\n renderString = null,\n } = props;\n if (word === '') {\n return null;\n }\n return (\n <span className=\"sendbird-word\">\n {\n convertWordToStringObj(word, message?.mentionedUsers).map((stringObj) => {\n const type = stringObj?.type || '';\n const value = stringObj?.value || '';\n const userId = stringObj?.userId || '';\n if (renderString && typeof renderString === 'function') {\n return renderString(stringObj);\n }\n if (type === StringObjType.mention) {\n return (\n <MentionLabel\n mentionTemplate={mentionTemplate}\n mentionedUserId={userId}\n mentionedUserNickname={value}\n key={uuidv4()}\n isByMe={isByMe}\n />\n );\n } else if (type === StringObjType.url) {\n const urlRegex = new RegExp(\"([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?\");\n const targetUrl = urlRegex.exec(value)?.[0];\n const stringUrl = { front: '', url: '', back: '' };\n if (targetUrl) {\n const targetUrlIndex = value.indexOf(targetUrl);\n if (targetUrlIndex > 0) {\n stringUrl.front = value.slice(0, targetUrlIndex);\n }\n stringUrl.url = value.slice(targetUrlIndex, targetUrlIndex + targetUrl.length);\n if (targetUrlIndex + targetUrl.length < value.length) {\n stringUrl.back = value.slice(targetUrlIndex + targetUrl.length);\n }\n }\n if (targetUrl) {\n return [\n stringUrl.front ? stringUrl.front : '',\n stringUrl.url ? (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={stringUrl.url}\n type={LabelTypography.BODY_1}\n >\n {stringUrl.url}\n </LinkLabel>\n ) : null,\n stringUrl.back ? stringUrl.back : '',\n ];\n }\n return (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={word}\n type={LabelTypography.BODY_1}\n >\n {value}\n </LinkLabel>\n );\n } else {\n return value\n }\n })\n }\n </span>\n );\n}\n"],"names":["Word","props","word","message","_a","isByMe","_b","mentionTemplate","_c","renderString","React","convertWordToStringObj","mentionedUsers","map","stringObj","type","value","userId","StringObjType","mention","uuidv4","url","urlRegex","RegExp","targetUrl","exec","stringUrl","front","back","targetUrlIndex","indexOf","slice","length","LabelTypography","BODY_1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBwB,SAAAA,IAAA,CAAKC,KAAL,EAAqB;AAEzC,EAAA,IAAAC,IAAI,GAKFD,KAAK,CALHC,IAAJ;AAAA,MACAC,OAAO,GAILF,KAAK,CAJAE,OADP;AAAA,MAEAC,KAGEH,KAAK,CAAAI,MALP;MAEAA,MAAM,mBAAG,QAAKD,EAFd;AAAA,MAGAE,EAAA,GAEEL,KAAK,CAFcM,eAHrB;MAGAA,eAAe,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,GAAH,GAAMA,EAHrB;AAAA,MAIAE,EACE,GAAAP,KAAK,aALP;MAIAQ,YAAY,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,IAAA,KAJf,CAAA;;EAMF,IAAIN,IAAI,KAAK,EAAb,EAAiB;AACf,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;EACD,oBACEQ,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAC,eAAA;GAEZC,EAAAA,sBAAsB,CAACT,IAAD,EAAOC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAES,cAAhB,CAAtB,CAAsDC,GAAtD,CAA0D,UAACC,SAAD,EAAU;;;AAClE,IAAA,IAAMC,IAAI,GAAG,CAAAD,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEC,IAAX,KAAmB,EAAhC,CAAA;AACA,IAAA,IAAMC,KAAK,GAAG,CAAAF,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEE,KAAX,KAAoB,EAAlC,CAAA;AACA,IAAA,IAAMC,MAAM,GAAG,CAAAH,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEG,MAAX,KAAqB,EAApC,CAAA;;AACA,IAAA,IAAIR,YAAY,IAAI,OAAOA,YAAP,KAAwB,UAA5C,EAAwD;MACtD,OAAOA,YAAY,CAACK,SAAD,CAAnB,CAAA;AACD,KAAA;;AACD,IAAA,IAAIC,IAAI,KAAKG,aAAa,CAACC,OAA3B,EAAoC;AAClC,MAAA,oBACET,6BAAC,YAAD,EAAA;AACE,QAAA,eAAe,EAAEH,eADnB;AAEE,QAAA,eAAe,EAAEU,MAFnB;AAGE,QAAA,qBAAqB,EAAED,KAHzB;QAIE,GAAG,EAAEI,MAAM,EAJb;AAKE,QAAA,MAAM,EAAEf,MAAAA;OANZ,CAAA,CAAA;AASD,KAVD,MAUO,IAAIU,IAAI,KAAKG,aAAa,CAACG,GAA3B,EAAgC;AACrC,MAAA,IAAMC,QAAQ,GAAG,IAAIC,MAAJ,CAAW,mGAAX,CAAjB,CAAA;MACA,IAAMC,SAAS,GAAG,CAAApB,EAAA,GAAAkB,QAAQ,CAACG,IAAT,CAAcT,KAAd,CAAA,MAAoB,IAApB,IAAoBZ,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAG,CAAH,CAAtC,CAAA;AACA,MAAA,IAAMsB,SAAS,GAAG;AAAEC,QAAAA,KAAK,EAAE,EAAT;AAAaN,QAAAA,GAAG,EAAE,EAAlB;AAAsBO,QAAAA,IAAI,EAAE,EAAA;OAA9C,CAAA;;AACA,MAAA,IAAIJ,SAAJ,EAAe;AACb,QAAA,IAAMK,cAAc,GAAGb,KAAK,CAACc,OAAN,CAAcN,SAAd,CAAvB,CAAA;;QACA,IAAIK,cAAc,GAAG,CAArB,EAAwB;UACtBH,SAAS,CAACC,KAAV,GAAkBX,KAAK,CAACe,KAAN,CAAY,CAAZ,EAAeF,cAAf,CAAlB,CAAA;AACD,SAAA;;AACDH,QAAAA,SAAS,CAACL,GAAV,GAAgBL,KAAK,CAACe,KAAN,CAAYF,cAAZ,EAA4BA,cAAc,GAAGL,SAAS,CAACQ,MAAvD,CAAhB,CAAA;;QACA,IAAIH,cAAc,GAAGL,SAAS,CAACQ,MAA3B,GAAoChB,KAAK,CAACgB,MAA9C,EAAsD;AACpDN,UAAAA,SAAS,CAACE,IAAV,GAAiBZ,KAAK,CAACe,KAAN,CAAYF,cAAc,GAAGL,SAAS,CAACQ,MAAvC,CAAjB,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,IAAIR,SAAJ,EAAe;AACb,QAAA,OAAO,CACLE,SAAS,CAACC,KAAV,GAAkBD,SAAS,CAACC,KAA5B,GAAoC,EAD/B,EAELD,SAAS,CAACL,GAAV,gBACEX,6BAAC,SAAD,EAAA;AACE,UAAA,SAAS,EAAC,oBADZ;UAEE,GAAG,EAAEU,MAAM,EAFb;UAGE,GAAG,EAAEM,SAAS,CAACL,GAHjB;UAIE,IAAI,EAAEY,eAAe,CAACC,MAAAA;AAJxB,SAAA,EAMGR,SAAS,CAACL,GANb,CADF,GASI,IAXC,EAYLK,SAAS,CAACE,IAAV,GAAiBF,SAAS,CAACE,IAA3B,GAAkC,EAZ7B,CAAP,CAAA;AAcD,OAAA;;AACD,MAAA,oBACElB,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAC,oBADZ;QAEE,GAAG,EAAEU,MAAM,EAFb;AAGE,QAAA,GAAG,EAAElB,IAHP;QAIE,IAAI,EAAE+B,eAAe,CAACC,MAAAA;AAJxB,OAAA,EAMGlB,KANH,CADF,CAAA;AAUD,KAxCM,MAwCA;AACL,MAAA,OAAOA,KAAP,CAAA;AACD,KAAA;AACF,GA5DD,CAFJ,CADF,CAAA;AAmED;;;;"}
1
+ {"version":3,"file":"Word.js","sources":["../../src/ui/Word/index.tsx"],"sourcesContent":["import './index.scss';\nimport React from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport { LabelTypography } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { convertWordToStringObj, StringObjType, StringObj } from '../../utils';\nimport MentionLabel from '../MentionLabel';\n\ninterface WordProps {\n word: string;\n message: UserMessage;\n isByMe?: boolean;\n mentionTemplate?: string;\n renderString?: (stringObj: StringObj) => JSX.Element;\n}\n\n// Word and StringObj will include types: normal, mention, url\nexport default function Word(props: WordProps): JSX.Element {\n const {\n word,\n message,\n isByMe = false,\n mentionTemplate = '@',\n renderString = null,\n } = props;\n if (word === '') {\n return null;\n }\n return (\n <span className=\"sendbird-word\">\n {\n convertWordToStringObj(word, message?.mentionedUsers).map((stringObj) => {\n const type = stringObj?.type || '';\n const value = stringObj?.value || '';\n const userId = stringObj?.userId || '';\n if (renderString && typeof renderString === 'function') {\n return renderString(stringObj);\n }\n if (type === StringObjType.mention) {\n return (\n <MentionLabel\n mentionTemplate={mentionTemplate}\n mentionedUserId={userId}\n mentionedUserNickname={value}\n key={uuidv4()}\n isByMe={isByMe}\n />\n );\n } else if (type === StringObjType.url) {\n const urlRegex = new RegExp(\"([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?\");\n const targetUrl = urlRegex.exec(value)?.[0];\n const stringUrl = { front: '', url: '', back: '' };\n if (targetUrl) {\n const targetUrlIndex = value.indexOf(targetUrl);\n if (targetUrlIndex > 0) {\n stringUrl.front = value.slice(0, targetUrlIndex);\n }\n stringUrl.url = value.slice(targetUrlIndex, targetUrlIndex + targetUrl.length);\n if (targetUrlIndex + targetUrl.length < value.length) {\n stringUrl.back = value.slice(targetUrlIndex + targetUrl.length);\n }\n }\n if (targetUrl) {\n return [\n stringUrl.front ? stringUrl.front : '',\n stringUrl.url ? (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={stringUrl.url}\n type={LabelTypography.BODY_1}\n >\n {stringUrl.url}\n </LinkLabel>\n ) : null,\n stringUrl.back ? stringUrl.back : '',\n ];\n }\n return (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={word}\n type={LabelTypography.BODY_1}\n >\n {value}\n </LinkLabel>\n );\n } else {\n return value\n }\n })\n }\n </span>\n );\n}\n"],"names":["Word","props","word","message","_a","isByMe","_b","mentionTemplate","_c","renderString","React","convertWordToStringObj","mentionedUsers","map","stringObj","type","value","userId","StringObjType","mention","uuidv4","url","urlRegex","RegExp","targetUrl","exec","stringUrl","front","back","targetUrlIndex","indexOf","slice","length","LabelTypography","BODY_1"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { _ as __assign } from './tslib.es6-7fef98cd.js';
2
+ import { useState, useRef, useCallback } from 'react';
3
+ import { u as useMediaQueryContext } from './MediaQueryContext-7be72ab4.js';
4
+
5
+ var DEFAULT_DURATION = 300;
6
+
7
+ function preventDefault(e) {
8
+ if (!isTouchEvent(e)) {
9
+ return;
10
+ }
11
+
12
+ if (e.touches.length < 2 && e.preventDefault) {
13
+ e.preventDefault();
14
+ }
15
+ }
16
+
17
+ function isTouchEvent(e) {
18
+ return e && 'touches' in e;
19
+ }
20
+ function useLongPress(_a, _b) {
21
+ var onLongPress = _a.onLongPress,
22
+ onClick = _a.onClick;
23
+
24
+ var _c = _b === void 0 ? {} : _b,
25
+ _d = _c.delay,
26
+ delay = _d === void 0 ? DEFAULT_DURATION : _d,
27
+ _e = _c.shouldPreventDefault,
28
+ shouldPreventDefault = _e === void 0 ? true : _e;
29
+
30
+ var isMobile = useMediaQueryContext().isMobile;
31
+
32
+ var _f = useState(false),
33
+ longPressTriggered = _f[0],
34
+ setLongPressTriggered = _f[1];
35
+
36
+ var _g = useState(false),
37
+ dragTriggered = _g[0],
38
+ setDragTriggered = _g[1]; // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype
39
+
40
+
41
+ var timeout = useRef();
42
+ var target = useRef();
43
+ var start = useCallback(function (e) {
44
+ e.persist();
45
+
46
+ var clonedEvent = __assign({}, e);
47
+
48
+ setDragTriggered(false);
49
+
50
+ if (shouldPreventDefault && e.target) {
51
+ e.target.addEventListener('touchend', preventDefault, {
52
+ passive: false
53
+ });
54
+ target.current = e.target;
55
+ }
56
+
57
+ timeout.current = setTimeout(function () {
58
+ onLongPress(clonedEvent);
59
+ setLongPressTriggered(true);
60
+ }, delay);
61
+ }, [onLongPress, delay, shouldPreventDefault, isMobile]);
62
+ var clear = useCallback(function (e, shouldTriggerClick, onDrag) {
63
+ if (shouldTriggerClick === void 0) {
64
+ shouldTriggerClick = true;
65
+ }
66
+
67
+ if (onDrag === void 0) {
68
+ onDrag = false;
69
+ }
70
+
71
+ if (onDrag) {
72
+ setDragTriggered(true);
73
+ } else {
74
+ setDragTriggered(false);
75
+ }
76
+
77
+ if (timeout === null || timeout === void 0 ? void 0 : timeout.current) {
78
+ clearTimeout(timeout.current);
79
+ }
80
+
81
+ if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {
82
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
83
+ }
84
+
85
+ setLongPressTriggered(false);
86
+
87
+ if (shouldPreventDefault && target.current) {
88
+ target.current.removeEventListener('touchend', preventDefault);
89
+ }
90
+ }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);
91
+ return {
92
+ onMouseDown: function (e) {
93
+ return start(e);
94
+ },
95
+ onMouseUp: function (e) {
96
+ return clear(e);
97
+ },
98
+ onMouseLeave: function (e) {
99
+ return clear(e, false);
100
+ },
101
+ onTouchStart: function (e) {
102
+ return start(e);
103
+ },
104
+ // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored
105
+ // if we dont do it, onClick?.(e) will be triggred, see inside clear()
106
+ onTouchMove: function (e) {
107
+ return clear(e, false, true);
108
+ },
109
+ onTouchEnd: function (e) {
110
+ return clear(e);
111
+ }
112
+ };
113
+ }
114
+
115
+ export { useLongPress as u };
116
+ //# sourceMappingURL=useLongPress-2c79297b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongPress-2c79297b.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T> ({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault, {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n },[shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_a","_b","onLongPress","onClick","_c","_d","delay","_e","shouldPreventDefault","isMobile","useMediaQueryContext","_f","useState","longPressTriggered","setLongPressTriggered","_g","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","__assign","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":";;;;AA4BA,IAAMA,gBAAgB,GAAG,GAAzB,CAAA;;AAEA,SAASC,cAAT,CAAwBC,CAAxB,EAAgC;AAC9B,EAAA,IAAI,CAACC,YAAY,CAACD,CAAD,CAAjB,EAAsB;AACpB,IAAA,OAAA;AACD,GAAA;;EAED,IAAIA,CAAC,CAACE,OAAF,CAAUC,MAAV,GAAmB,CAAnB,IAAwBH,CAAC,CAACD,cAA9B,EAA8C;AAC5CC,IAAAA,CAAC,CAACD,cAAF,EAAA,CAAA;AACD,GAAA;AACF,CAAA;;AAEK,SAAUE,YAAV,CAAuBD,CAAvB,EAA+B;EACnC,OAAOA,CAAC,IAAI,SAAA,IAAaA,CAAzB,CAAA;AACD,CAAA;AAqBa,SAAUI,YAAV,CAA2BC,EAA3B,EAGOC,EAHP,EAMC;MALbC,WAAW,GAAAF,EAAA,CAAAE;MACXC,OAAO,GAAAH,EAAA,CAAAG;;EACY,IAAAC,EAAA,GAAAH,EAAA,KAAA,KAAA,CAAA,GAGR,EAHQ,GAGNA,EAHM;AAAA,MACnBI,EAAA,GAAAD,EAAA,CAAAE,KADmB;MACnBA,KAAK,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAGZ,gBAAH,GAAmBY,EADL;AAAA,MAEnBE,EAA2B,GAAAH,EAAA,CAAAI,oBAFR;MAEnBA,oBAAoB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,IAAH,GAAOA,EAFR,CAAA;;AAIX,EAAA,IAAAE,QAAQ,GAAKC,oBAAoB,EAAA,SAAjC,CAAA;;AACF,EAAA,IAAAC,EAAA,GAA8CC,QAAQ,CAAC,KAAD,CAAtD;AAAA,MAACC,kBAAkB,GAAAF,EAAA,CAAA,CAAA,CAAnB;AAAA,MAAqBG,qBAAqB,GAAAH,EAAA,CAAA,CAAA,CAA1C,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAoCH,QAAQ,CAAC,KAAD,CAA5C;AAAA,MAACI,aAAa,GAAAD,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBE,gBAAgB,GAAAF,EAAA,CAAA,CAAA,CAAhC,CAHO;;;EAKb,IAAMG,OAAO,GAAGC,MAAM,EAAtB,CAAA;EACA,IAAMC,MAAM,GAAGD,MAAM,EAArB,CAAA;AAEA,EAAA,IAAME,KAAK,GAAGC,WAAW,CAAC,UAAC3B,CAAD,EAA6C;AACrEA,IAAAA,CAAC,CAAC4B,OAAF,EAAA,CAAA;;AACA,IAAA,IAAMC,WAAW,GAAAC,QAAA,CAAA,EAAA,EACZ9B,CADY,CAAjB,CAAA;;IAGAsB,gBAAgB,CAAC,KAAD,CAAhB,CAAA;;AACA,IAAA,IAAIT,oBAAoB,IAAIb,CAAC,CAACyB,MAA9B,EAAsC;MACpCzB,CAAC,CAACyB,MAAF,CAASM,gBAAT,CACE,UADF,EAEEhC,cAFF,EAEkB;AACdiC,QAAAA,OAAO,EAAE,KAAA;OAHb,CAAA,CAAA;AAMAP,MAAAA,MAAM,CAACQ,OAAP,GAAiBjC,CAAC,CAACyB,MAAnB,CAAA;AACD,KAAA;;AAEDF,IAAAA,OAAO,CAACU,OAAR,GAAkBC,UAAU,CAAC,YAAA;MAC3B3B,WAAW,CAACsB,WAAD,CAAX,CAAA;MACAV,qBAAqB,CAAC,IAAD,CAArB,CAAA;KAF0B,EAGzBR,KAHyB,CAA5B,CAAA;GAhBuB,EAoBtB,CAACJ,WAAD,EAAcI,KAAd,EAAqBE,oBAArB,EAA2CC,QAA3C,CApBsB,CAAzB,CAAA;EAsBA,IAAMqB,KAAK,GAAGR,WAAW,CAAC,UACxB3B,CADwB,EAExBoC,kBAFwB,EAGxBC,MAHwB,EAGV;AADd,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,kBAAyB,GAAA,IAAzB,CAAA;AAAyB,KAAA;;AACzB,IAAA,IAAAC,MAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,MAAAA,MAAc,GAAA,KAAd,CAAA;AAAc,KAAA;;AAEd,IAAA,IAAIA,MAAJ,EAAY;MACVf,gBAAgB,CAAC,IAAD,CAAhB,CAAA;AACD,KAFD,MAEO;MACLA,gBAAgB,CAAC,KAAD,CAAhB,CAAA;AACD,KAAA;;AACD,IAAA,IAAIC,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEU,OAAb,EAAsB;AACpBK,MAAAA,YAAY,CAACf,OAAO,CAACU,OAAT,CAAZ,CAAA;AACD,KAAA;;AACD,IAAA,IAAIG,kBAAkB,IAAI,CAAClB,kBAAvB,IAA6C,CAACG,aAAlD,EAAiE;AAC/Db,MAAAA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAGR,CAAH,CAAP,CAAA;AACD,KAAA;;IACDmB,qBAAqB,CAAC,KAAD,CAArB,CAAA;;AACA,IAAA,IAAIN,oBAAoB,IAAIY,MAAM,CAACQ,OAAnC,EAA4C;AAC1CR,MAAAA,MAAM,CAACQ,OAAP,CAAeM,mBAAf,CAAmC,UAAnC,EAA+CxC,cAA/C,CAAA,CAAA;AACD,KAAA;GAnBsB,EAoBvB,CAACc,oBAAD,EAAuBL,OAAvB,EAAgCU,kBAAhC,EAAoDG,aAApD,CApBuB,CAAzB,CAAA;EAsBA,OAAO;IACLmB,WAAW,EAAE,UAACxC,CAAD,EAA4B;MAAA,OAAA0B,KAAK,CAAC1B,CAAD,CAAL,CAAA;KADpC;IAELyC,SAAS,EAAE,UAACzC,CAAD,EAA4B;MAAA,OAAAmC,KAAK,CAACnC,CAAD,CAAL,CAAA;KAFlC;IAGL0C,YAAY,EAAE,UAAC1C,CAAD,EAAuB;AAAK,MAAA,OAAAmC,KAAK,CAACnC,CAAD,EAAI,KAAJ,CAAL,CAAA;KAHrC;IAIL2C,YAAY,EAAE,UAAC3C,CAAD,EAA4B;MAAA,OAAA0B,KAAK,CAAC1B,CAAD,CAAL,CAAA;KAJrC;AAKL;AACA;IACA4C,WAAW,EAAE,UAAC5C,CAAD,EAAuB;AAAK,MAAA,OAAAmC,KAAK,CAACnC,CAAD,EAAI,KAAJ,EAAW,IAAX,CAAL,CAAA;KAPpC;IAQL6C,UAAU,EAAE,UAAC7C,CAAD,EAA4B;MAAA,OAAAmC,KAAK,CAACnC,CAAD,CAAL,CAAA;AAAQ,KAAA;GARlD,CAAA;AAUD;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './_rollupPluginBabelHelpers-dea8a6c9.js';
3
+ import './_rollupPluginBabelHelpers-fa4874e9.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -31,4 +31,4 @@ var generateDefaultAvatar = function (channel) {
31
31
  };
32
32
 
33
33
  export { getChannelAvatarSource as a, getOpenChannelAvatar as b, generateDefaultAvatar as g };
34
- //# sourceMappingURL=utils-daa9779c.js.map
34
+ //# sourceMappingURL=utils-a3afc9f0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-daa9779c.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from \"@sendbird/chat/groupChannel\";\nimport type { OpenChannel } from \"@sendbird/chat/openChannel\";\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","generateDefaultAvatar","concat"],"mappings":"AAGO,IAAMA,kBAAkB,GAAG,iDAA3B,CAAA;AAEMC,IAAAA,oBAAoB,GAAG,UAACC,OAAD,EAAqB;AACvD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;IACrB,OAAOD,OAAO,CAACC,QAAf,CAAA;AACD,GAAA;AACF,EAJM;IAMMC,sBAAsB,GAAG,UAACF,OAAD,EAAwBG,aAAxB,EAA6C;AACjF,EAAA,IAAIH,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAJ,CAAW,GAAA,OAAA,CAAIN,kBAAJ,CAAX,CAAA,CAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;MAClE,OAAOD,OAAO,CAACC,QAAf,CAAA;AACD,KAAA;AACF,GAAA;;EACD,OAAO,CAAC,CAAAD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAT,KAAoB,EAArB,EACJC,MADI,CACG,UAACC,MAAD,EAAO;AAAK,IAAA,OAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB,CAAA;AAA+B,GAD9C,CAEJO,CAAAA,GAFI,CAEA,UAACC,EAAD,EAAe;AAAZ,IAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAV,CAAA;AAAiB,IAAA,OAAAA,UAAA,CAAA;AAAU,GAF9B,CAAP,CAAA;AAGD,EATM;AAWMC,IAAAA,qBAAqB,GAAG,UAACb,OAAD,EAAsB;AACzD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;AACrB,IAAA,IAAI,IAAIG,MAAJ,CAAW,GAAA,CAAAU,MAAA,CAAIhB,kBAAJ,CAAX,CAAA,CAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,MAAA,OAAO,IAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"utils-a3afc9f0.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from \"@sendbird/chat/groupChannel\";\nimport type { OpenChannel } from \"@sendbird/chat/openChannel\";\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","generateDefaultAvatar","concat"],"mappings":"AAGO,IAAMA,kBAAkB,GAAG,iDAA3B,CAAA;AAEMC,IAAAA,oBAAoB,GAAG,UAACC,OAAD,EAAqB;AACvD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;IACrB,OAAOD,OAAO,CAACC,QAAf,CAAA;AACD,GAAA;AACF,EAJM;IAMMC,sBAAsB,GAAG,UAACF,OAAD,EAAwBG,aAAxB,EAA6C;AACjF,EAAA,IAAIH,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAJ,CAAW,GAAA,OAAA,CAAIN,kBAAJ,CAAX,CAAA,CAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;MAClE,OAAOD,OAAO,CAACC,QAAf,CAAA;AACD,KAAA;AACF,GAAA;;EACD,OAAO,CAAC,CAAAD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAT,KAAoB,EAArB,EACJC,MADI,CACG,UAACC,MAAD,EAAO;AAAK,IAAA,OAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB,CAAA;AAA+B,GAD9C,CAEJO,CAAAA,GAFI,CAEA,UAACC,EAAD,EAAe;AAAZ,IAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAV,CAAA;AAAiB,IAAA,OAAAA,UAAA,CAAA;AAAU,GAF9B,CAAP,CAAA;AAGD,EATM;AAWMC,IAAAA,qBAAqB,GAAG,UAACb,OAAD,EAAsB;AACzD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEC,QAAb,EAAuB;AACrB,IAAA,IAAI,IAAIG,MAAJ,CAAW,GAAA,CAAAU,MAAA,CAAIhB,kBAAJ,CAAX,CAAA,CAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,MAAA,OAAO,IAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD;;;;"}
@@ -27,4 +27,4 @@ var copyToClipboard = function (text) {
27
27
  };
28
28
 
29
29
  export { copyToClipboard as c };
30
- //# sourceMappingURL=utils-e55000b0.js.map
30
+ //# sourceMappingURL=utils-ac92824a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-e55000b0.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,IAAAA,eAAe,GAAG,UAACC,IAAD,EAAa;AAC1C;EACA,IAAIC,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACC,aAAP,CAAqBC,OAAjD,EAA0D;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAP,CAAqBC,OAArB,CAA6B,MAA7B,EAAqCH,IAArC,CAAP,CAAA;AACD,GAAA;;EACD,IAAII,QAAQ,CAACC,qBAAT,IAAkCD,QAAQ,CAACC,qBAAT,CAA+B,MAA/B,CAAtC,EAA8E;AAC5E,IAAA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAT,CAAuB,UAAvB,CAAjB,CAAA;IACAD,QAAQ,CAACE,WAAT,GAAuBR,IAAvB,CAAA;AACAM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,QAAf,GAA0B,OAA1B,CAH4E;;AAI5EN,IAAAA,QAAQ,CAACO,IAAT,CAAcC,WAAd,CAA0BN,QAA1B,CAAA,CAAA;AACAA,IAAAA,QAAQ,CAACO,MAAT,EAAA,CAAA;;IACA,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAT,CAAqB,MAArB,CAAP,CADE;KAAJ,CAEE,OAAOC,EAAP,EAAW;AACX,MAAA,OAAO,KAAP,CAAA;AACD,KAJD,SAIU;AACRX,MAAAA,QAAQ,CAACO,IAAT,CAAcK,WAAd,CAA0BV,QAA1B,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"utils-ac92824a.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"AAAaA,IAAAA,eAAe,GAAG,UAACC,IAAD,EAAa;AAC1C;EACA,IAAIC,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACC,aAAP,CAAqBC,OAAjD,EAA0D;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAP,CAAqBC,OAArB,CAA6B,MAA7B,EAAqCH,IAArC,CAAP,CAAA;AACD,GAAA;;EACD,IAAII,QAAQ,CAACC,qBAAT,IAAkCD,QAAQ,CAACC,qBAAT,CAA+B,MAA/B,CAAtC,EAA8E;AAC5E,IAAA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAT,CAAuB,UAAvB,CAAjB,CAAA;IACAD,QAAQ,CAACE,WAAT,GAAuBR,IAAvB,CAAA;AACAM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,QAAf,GAA0B,OAA1B,CAH4E;;AAI5EN,IAAAA,QAAQ,CAACO,IAAT,CAAcC,WAAd,CAA0BN,QAA1B,CAAA,CAAA;AACAA,IAAAA,QAAQ,CAACO,MAAT,EAAA,CAAA;;IACA,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAT,CAAqB,MAArB,CAAP,CADE;KAAJ,CAEE,OAAOC,EAAP,EAAW;AACX,MAAA,OAAO,KAAP,CAAA;AACD,KAJD,SAIU;AACRX,MAAAA,QAAQ,CAACO,IAAT,CAAcK,WAAd,CAA0BV,QAA1B,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAO,KAAP,CAAA;AACD;;;;"}
@@ -1,4 +1,4 @@
1
1
  const noop = () => {};
2
2
 
3
3
  export { noop as n };
4
- //# sourceMappingURL=utils-4edea23e.js.map
4
+ //# sourceMappingURL=utils-db039320.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-4edea23e.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"AAAaA,MAAAA,IAAI,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"utils-db039320.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"AAAaA,MAAAA,IAAI,GAAG,MAAM;;;;"}
@@ -14,4 +14,4 @@ var uuidv4 = function () {
14
14
  };
15
15
 
16
16
  export { uuidv4 as u };
17
- //# sourceMappingURL=uuid-c6ede0a0.js.map
17
+ //# sourceMappingURL=uuid-68db8245.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-c6ede0a0.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;;AACA;;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAG,YAAc;AAAA,EAAA,OAAA,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD,EAAE;IAC5F,IAAMC,CAAC,GAAGC,IAAI,CAACC,MAAL,EAAgB,GAAA,EAAhB,GAAqB,CAA/B,CAAA;AACA,IAAA,IAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAJ,GAAU,GAArC,CAAA;AACA,IAAA,OAAOG,CAAC,CAACC,QAAF,CAAW,EAAX,CAAP,CAAA;AACD,GAJmC,CAAA,CAAA;AAIlC;;;;"}
1
+ {"version":3,"file":"uuid-68db8245.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;;AACA;;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAG,YAAc;AAAA,EAAA,OAAA,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD,EAAE;IAC5F,IAAMC,CAAC,GAAGC,IAAI,CAACC,MAAL,EAAgB,GAAA,EAAhB,GAAqB,CAA/B,CAAA;AACA,IAAA,IAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAJ,GAAU,GAArC,CAAA;AACA,IAAA,OAAOG,CAAC,CAACC,QAAF,CAAW,EAAX,CAAP,CAAA;AACD,GAJmC,CAAA,CAAA;AAIlC;;;;"}
package/withSendbird.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-dea8a6c9.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-fa4874e9.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  const SendbirdSdkContext = /*#__PURE__*/React__default.createContext();
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChannelListProvider-c6fbc45c.js","sources":["../src/smart-components/ChannelList/dux/actionTypes.js","../src/smart-components/ChannelList/utils.js","../src/smart-components/ChannelList/dux/initialState.js","../src/smart-components/ChannelList/dux/reducers.js","../src/smart-components/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n","import { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new GroupChannelHandler({\n onChannelChanged: (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n },\n onChannelDeleted: (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n },\n onUserJoined: (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n },\n onUserBanned: (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n },\n onUserLeft: (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n },\n\n onReadStatus: (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n },\n\n onDeliveryReceiptUpdated: (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel?.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n },\n\n onMessageUpdated: (channel, message) => {\n if (channel?.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n },\n\n onChannelHidden: (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n },\n\n onChannelFrozen: (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n },\n\n onChannelUnfrozen: (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n },\n });\n\n logger.info('ChannelList: Added channelHandler');\n sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const param = {};\n param.includeEmpty = false;\n param.limit = 20; // The value of pagination limit could be set up to 100.\n param.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n param[key] = userFilledChannelListQuery[key];\n });\n }\n\n const channelListQuery = sdk.groupChannel.createMyGroupChannelListQuery(param);\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n setChannelsToMarkAsRead,\n}) {\n if (sdk?.groupChannel) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next().then((channelList) => {\n logger.info('ChannelList - fetched channels', channelList);\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: { channelList: sortedChannelList, disableAutoSelect },\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered) {\n setChannelsToMarkAsRead(sortedChannelList);\n }\n }).catch((err) => {\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n }\n });\n } else {\n logger.info('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subscriber = new Map();\n if (!pubSub) return subscriber;\n subscriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subscriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n }));\n\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subscriber;\n};\n\nexport default setupChannelList;\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: true,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS: {\n const { channelList, disableAutoSelect } = action.payload;\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: channelList,\n disableAutoSelect,\n currentChannel: (\n !disableAutoSelect\n && channelList\n && channelList.length\n && channelList.length > 0\n )\n ? channelList[0]\n : null,\n };\n }\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel?.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel?.url && isMe));\n const nextChannel = (isMe && (channel?.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel?.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel?.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel?.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED: {\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel?.url === action.payload.url ? action.payload : channel)),\n };\n }\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel?.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel?.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel?.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel?.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.CHANNEL_REPLACED_TO_TOP: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel?.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n default:\n return state;\n }\n}\n","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\n\nimport type { User } from '@sendbird/chat';\nimport {\n GroupChannel,\n GroupChannelCreateParams,\n GroupChannelHandler,\n SendbirdGroupChat,\n GroupChannelListQuery as GroupChannelListQuerySb\n} from '@sendbird/chat/groupChannel';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\n}\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): GroupChannelCreateParams;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: User): void;\n onChannelSelect?(channel: GroupChannel): void;\n sortChannelList?: (channels: GroupChannel[]) => GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactElement;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n typingChannels?: Array<GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: GroupChannelListQuerySb;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: GroupChannel[];\n currentChannel: GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n disableAutoSelect: boolean;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n disableAutoSelect,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n const onChannelSelect = props?.onChannelSelect || noop;\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger } = config;\n const {\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = config;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { loading, currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<GroupChannelListQuerySb>();\n const [typingChannels, setTypingChannels] = useState<Array<GroupChannel>>([]);\n\n const [channelsTomarkAsRead, setChannelsToMarkAsRead] = useState([]);\n useEffect(() => {\n // https://stackoverflow.com/a/60907638\n let isMounted = true;\n if (channelsTomarkAsRead?.length > 0 && !disableMarkAsDelivered) {\n channelsTomarkAsRead?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n if (isMounted) {\n c?.markAsDelivered();\n }\n }, 2000 * idx);\n });\n }\n return () => {\n isMounted = false;\n }\n }, [channelsTomarkAsRead]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n const sdkChannelHandlerId = uuidv4();\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n setChannelsToMarkAsRead,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk?.groupChannel?.removeGroupChannelHandler) {\n sdk?.groupChannel?.removeGroupChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n let typingHandlerId = null;\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n typingHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (channel) => {\n const typingMemberCount = channel?.getTypingUsers()?.length\n const channelList = typingChannels.filter(ch => ch.url !== channel.url)\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel])\n } else {\n setTypingChannels(channelList)\n }\n },\n onUnreadMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onUndeliveredMemberStatusUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n },\n onMessageUpdated(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n onMentionReceived(channel) {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n sdk.groupChannel.getChannelWithoutCache(channel.url)\n .then((ch) => {\n channelListDispatcher({\n type: channelListActions.ON_LAST_MESSAGE_UPDATED,\n payload: ch,\n });\n });\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(typingHandlerId, handler);\n }\n return () => {\n if (sdk?.groupChannel?.removeGroupChannelHandler && typingHandlerId) {\n sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);\n }\n }\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ])\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n // Set current channel (by on_channel_selected event)\n useEffect(() => {\n if (!sdk || !sdk.groupChannel || !currentChannel || !currentChannel?.url) {\n return;\n }\n sdk.groupChannel.getChannel(currentChannel.url).then((groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n return (\n <ChannelListContext.Provider value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n sortChannelList,\n loading,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECIPT","createEventHandler","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","GroupChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserBanned","user","currentUser","userId","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","groupChannel","addGroupChannelHandler","createChannelListQuery","userFilledChannelListQuery","param","includeEmpty","limit","order","Object","keys","forEach","key","channelListQuery","createMyGroupChannelListQuery","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","setChannelsToMarkAsRead","warning","currentUserId","hasNext","next","then","channelList","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","catch","err","error","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","Map","set","topics","subscribe","msg","updatedChannel","messageId","url","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","actions","_objectSpread","initialState","length","currentChannels","map","c","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","nextChannel","unreadMessageCount","currentUnreadCount","isFrozen","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","channelSource","typingChannels","ChannelListProvider","props","children","_b","isTypingIndicatorEnabled","_c","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","_d","disableMarkAsDelivered","_e","isTypingIndicatorEnabledOnChannelList","_f","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_g","useReducer","channelListReducers","channelListInitialState","channelListStore","_h","useState","_j","setTypingChannels","_k","channelsTomarkAsRead","useEffect","isMounted","idx","setTimeout","markAsDelivered","uuidv4","_a","removeGroupChannelHandler","channelListActions","typingHandlerId","handler","onTypingStatusUpdated","typingMemberCount","getTypingUsers","__spreadArray","onUnreadMemberStatusUpdated","onUndeliveredMemberStatusUpdated","getChannelWithoutCache","onMentionReceived","queries_","useMemo","sortedChannels","console","warn","before","after","getChannel","__assign","concat","useChannelListContext","context","useContext"],"mappings":"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"}