@sendbird/uikit-react 3.0.0-alpha → 3.0.0-alpha.1

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 (587) hide show
  1. package/{dist/index.js → index.js} +0 -0
  2. package/package.json +4 -23
  3. package/CHANGELOG.md +0 -25
  4. package/LICENSE +0 -21
  5. package/README.md +0 -103
  6. package/dist/App.js +0 -294
  7. package/dist/App.js.map +0 -1
  8. package/dist/Channel/components/ChannelHeader.js +0 -116
  9. package/dist/Channel/components/ChannelHeader.js.map +0 -1
  10. package/dist/Channel/components/ChannelUI.js +0 -172
  11. package/dist/Channel/components/ChannelUI.js.map +0 -1
  12. package/dist/Channel/components/FileViewer.js +0 -150
  13. package/dist/Channel/components/FileViewer.js.map +0 -1
  14. package/dist/Channel/components/FrozenNotification.js +0 -20
  15. package/dist/Channel/components/FrozenNotification.js.map +0 -1
  16. package/dist/Channel/components/Message.js +0 -232
  17. package/dist/Channel/components/Message.js.map +0 -1
  18. package/dist/Channel/components/MessageInput.js +0 -87
  19. package/dist/Channel/components/MessageInput.js.map +0 -1
  20. package/dist/Channel/components/MessageList.js +0 -227
  21. package/dist/Channel/components/MessageList.js.map +0 -1
  22. package/dist/Channel/components/RemoveMessageModal.js +0 -52
  23. package/dist/Channel/components/RemoveMessageModal.js.map +0 -1
  24. package/dist/Channel/components/TypingIndicator.js +0 -97
  25. package/dist/Channel/components/TypingIndicator.js.map +0 -1
  26. package/dist/Channel/components/UnreadCount.js +0 -41
  27. package/dist/Channel/components/UnreadCount.js.map +0 -1
  28. package/dist/Channel/context.js +0 -23
  29. package/dist/Channel/context.js.map +0 -1
  30. package/dist/Channel.js +0 -99
  31. package/dist/Channel.js.map +0 -1
  32. package/dist/ChannelList/components/AddChannel.js +0 -70
  33. package/dist/ChannelList/components/AddChannel.js.map +0 -1
  34. package/dist/ChannelList/components/ChannelListHeader.js +0 -62
  35. package/dist/ChannelList/components/ChannelListHeader.js.map +0 -1
  36. package/dist/ChannelList/components/ChannelListUI.js +0 -213
  37. package/dist/ChannelList/components/ChannelListUI.js.map +0 -1
  38. package/dist/ChannelList/components/ChannelPreview.js +0 -177
  39. package/dist/ChannelList/components/ChannelPreview.js.map +0 -1
  40. package/dist/ChannelList/components/ChannelPreviewAction.js +0 -131
  41. package/dist/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  42. package/dist/ChannelList/context.js +0 -13
  43. package/dist/ChannelList/context.js.map +0 -1
  44. package/dist/ChannelList.js +0 -80
  45. package/dist/ChannelList.js.map +0 -1
  46. package/dist/ChannelListProvider-0b0c2c40.js +0 -861
  47. package/dist/ChannelListProvider-0b0c2c40.js.map +0 -1
  48. package/dist/ChannelProvider-459e463f.js +0 -2083
  49. package/dist/ChannelProvider-459e463f.js.map +0 -1
  50. package/dist/ChannelSettings/components/AdminPanel.js +0 -905
  51. package/dist/ChannelSettings/components/AdminPanel.js.map +0 -1
  52. package/dist/ChannelSettings/components/ChannelProfile.js +0 -102
  53. package/dist/ChannelSettings/components/ChannelProfile.js.map +0 -1
  54. package/dist/ChannelSettings/components/ChannelSettingsUI.js +0 -152
  55. package/dist/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  56. package/dist/ChannelSettings/components/EditDetailsModal.js +0 -154
  57. package/dist/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  58. package/dist/ChannelSettings/components/LeaveChannel.js +0 -53
  59. package/dist/ChannelSettings/components/LeaveChannel.js.map +0 -1
  60. package/dist/ChannelSettings/components/UserListItem.js +0 -105
  61. package/dist/ChannelSettings/components/UserListItem.js.map +0 -1
  62. package/dist/ChannelSettings/components/UserPanel.js +0 -79
  63. package/dist/ChannelSettings/components/UserPanel.js.map +0 -1
  64. package/dist/ChannelSettings/context.js +0 -93
  65. package/dist/ChannelSettings/context.js.map +0 -1
  66. package/dist/ChannelSettings.js +0 -71
  67. package/dist/ChannelSettings.js.map +0 -1
  68. package/dist/CreateChannel/components/CreateChannelUI.js +0 -53
  69. package/dist/CreateChannel/components/CreateChannelUI.js.map +0 -1
  70. package/dist/CreateChannel/components/InviteMembers.js +0 -184
  71. package/dist/CreateChannel/components/InviteMembers.js.map +0 -1
  72. package/dist/CreateChannel/components/SelectChannelType.js +0 -131
  73. package/dist/CreateChannel/components/SelectChannelType.js.map +0 -1
  74. package/dist/CreateChannel/context.js +0 -8
  75. package/dist/CreateChannel/context.js.map +0 -1
  76. package/dist/CreateChannel.js +0 -53
  77. package/dist/CreateChannel.js.map +0 -1
  78. package/dist/CreateChannelProvider-c617a1bb.js +0 -53
  79. package/dist/CreateChannelProvider-c617a1bb.js.map +0 -1
  80. package/dist/EditUserProfile/components/EditUserProfileUI.js +0 -26
  81. package/dist/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  82. package/dist/EditUserProfile/context.js +0 -27
  83. package/dist/EditUserProfile/context.js.map +0 -1
  84. package/dist/EditUserProfile.js +0 -39
  85. package/dist/EditUserProfile.js.map +0 -1
  86. package/dist/LocalizationContext-e4391013.js +0 -22
  87. package/dist/LocalizationContext-e4391013.js.map +0 -1
  88. package/dist/MemberList-6655cba0.js +0 -425
  89. package/dist/MemberList-6655cba0.js.map +0 -1
  90. package/dist/MessageSearch/components/MessageSearchUI.js +0 -151
  91. package/dist/MessageSearch/components/MessageSearchUI.js.map +0 -1
  92. package/dist/MessageSearch/context.js +0 -392
  93. package/dist/MessageSearch/context.js.map +0 -1
  94. package/dist/MessageSearch.js +0 -146
  95. package/dist/MessageSearch.js.map +0 -1
  96. package/dist/OpenChannel/components/FrozenChannelNotification.js +0 -20
  97. package/dist/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  98. package/dist/OpenChannel/components/OpenChannelHeader.js +0 -78
  99. package/dist/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  100. package/dist/OpenChannel/components/OpenChannelInput.js +0 -52
  101. package/dist/OpenChannel/components/OpenChannelInput.js.map +0 -1
  102. package/dist/OpenChannel/components/OpenChannelMessage.js +0 -278
  103. package/dist/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  104. package/dist/OpenChannel/components/OpenChannelMessageList.js +0 -153
  105. package/dist/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  106. package/dist/OpenChannel/components/OpenChannelUI.js +0 -105
  107. package/dist/OpenChannel/components/OpenChannelUI.js.map +0 -1
  108. package/dist/OpenChannel/context.js +0 -14
  109. package/dist/OpenChannel/context.js.map +0 -1
  110. package/dist/OpenChannel.js +0 -76
  111. package/dist/OpenChannel.js.map +0 -1
  112. package/dist/OpenChannelProvider-a7691eb4.js +0 -2011
  113. package/dist/OpenChannelProvider-a7691eb4.js.map +0 -1
  114. package/dist/OpenChannelSettings/components/EditDetailsModal.js +0 -149
  115. package/dist/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  116. package/dist/OpenChannelSettings/components/OpenChannelProfile.js +0 -81
  117. package/dist/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  118. package/dist/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -104
  119. package/dist/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  120. package/dist/OpenChannelSettings/components/OperatorUI.js +0 -184
  121. package/dist/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  122. package/dist/OpenChannelSettings/components/ParticipantUI.js +0 -172
  123. package/dist/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  124. package/dist/OpenChannelSettings/context.js +0 -64
  125. package/dist/OpenChannelSettings/context.js.map +0 -1
  126. package/dist/OpenChannelSettings.js +0 -64
  127. package/dist/OpenChannelSettings.js.map +0 -1
  128. package/dist/SendbirdProvider.js +0 -740
  129. package/dist/SendbirdProvider.js.map +0 -1
  130. package/dist/UserProfileContext-865db5e6.js +0 -38
  131. package/dist/UserProfileContext-865db5e6.js.map +0 -1
  132. package/dist/_rollupPluginBabelHelpers-20904f21.js +0 -233
  133. package/dist/_rollupPluginBabelHelpers-20904f21.js.map +0 -1
  134. package/dist/actionTypes-1e3a4074.js +0 -6
  135. package/dist/actionTypes-1e3a4074.js.map +0 -1
  136. package/dist/cjs/App.js +0 -301
  137. package/dist/cjs/App.js.map +0 -1
  138. package/dist/cjs/Channel/components/ChannelHeader.js +0 -122
  139. package/dist/cjs/Channel/components/ChannelHeader.js.map +0 -1
  140. package/dist/cjs/Channel/components/ChannelUI.js +0 -178
  141. package/dist/cjs/Channel/components/ChannelUI.js.map +0 -1
  142. package/dist/cjs/Channel/components/FileViewer.js +0 -159
  143. package/dist/cjs/Channel/components/FileViewer.js.map +0 -1
  144. package/dist/cjs/Channel/components/FrozenNotification.js +0 -26
  145. package/dist/cjs/Channel/components/FrozenNotification.js.map +0 -1
  146. package/dist/cjs/Channel/components/Message.js +0 -238
  147. package/dist/cjs/Channel/components/Message.js.map +0 -1
  148. package/dist/cjs/Channel/components/MessageInput.js +0 -93
  149. package/dist/cjs/Channel/components/MessageInput.js.map +0 -1
  150. package/dist/cjs/Channel/components/MessageList.js +0 -233
  151. package/dist/cjs/Channel/components/MessageList.js.map +0 -1
  152. package/dist/cjs/Channel/components/RemoveMessageModal.js +0 -58
  153. package/dist/cjs/Channel/components/RemoveMessageModal.js.map +0 -1
  154. package/dist/cjs/Channel/components/TypingIndicator.js +0 -103
  155. package/dist/cjs/Channel/components/TypingIndicator.js.map +0 -1
  156. package/dist/cjs/Channel/components/UnreadCount.js +0 -47
  157. package/dist/cjs/Channel/components/UnreadCount.js.map +0 -1
  158. package/dist/cjs/Channel/context.js +0 -32
  159. package/dist/cjs/Channel/context.js.map +0 -1
  160. package/dist/cjs/Channel.js +0 -105
  161. package/dist/cjs/Channel.js.map +0 -1
  162. package/dist/cjs/ChannelList/components/AddChannel.js +0 -79
  163. package/dist/cjs/ChannelList/components/AddChannel.js.map +0 -1
  164. package/dist/cjs/ChannelList/components/ChannelListHeader.js +0 -68
  165. package/dist/cjs/ChannelList/components/ChannelListHeader.js.map +0 -1
  166. package/dist/cjs/ChannelList/components/ChannelListUI.js +0 -219
  167. package/dist/cjs/ChannelList/components/ChannelListUI.js.map +0 -1
  168. package/dist/cjs/ChannelList/components/ChannelPreview.js +0 -183
  169. package/dist/cjs/ChannelList/components/ChannelPreview.js.map +0 -1
  170. package/dist/cjs/ChannelList/components/ChannelPreviewAction.js +0 -138
  171. package/dist/cjs/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  172. package/dist/cjs/ChannelList/context.js +0 -22
  173. package/dist/cjs/ChannelList/context.js.map +0 -1
  174. package/dist/cjs/ChannelList.js +0 -86
  175. package/dist/cjs/ChannelList.js.map +0 -1
  176. package/dist/cjs/ChannelListProvider-5a152618.js +0 -873
  177. package/dist/cjs/ChannelListProvider-5a152618.js.map +0 -1
  178. package/dist/cjs/ChannelProvider-f1fb0108.js +0 -2096
  179. package/dist/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  180. package/dist/cjs/ChannelSettings/components/AdminPanel.js +0 -911
  181. package/dist/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  182. package/dist/cjs/ChannelSettings/components/ChannelProfile.js +0 -108
  183. package/dist/cjs/ChannelSettings/components/ChannelProfile.js.map +0 -1
  184. package/dist/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -158
  185. package/dist/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  186. package/dist/cjs/ChannelSettings/components/EditDetailsModal.js +0 -160
  187. package/dist/cjs/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  188. package/dist/cjs/ChannelSettings/components/LeaveChannel.js +0 -59
  189. package/dist/cjs/ChannelSettings/components/LeaveChannel.js.map +0 -1
  190. package/dist/cjs/ChannelSettings/components/UserListItem.js +0 -111
  191. package/dist/cjs/ChannelSettings/components/UserListItem.js.map +0 -1
  192. package/dist/cjs/ChannelSettings/components/UserPanel.js +0 -85
  193. package/dist/cjs/ChannelSettings/components/UserPanel.js.map +0 -1
  194. package/dist/cjs/ChannelSettings/context.js +0 -102
  195. package/dist/cjs/ChannelSettings/context.js.map +0 -1
  196. package/dist/cjs/ChannelSettings.js +0 -77
  197. package/dist/cjs/ChannelSettings.js.map +0 -1
  198. package/dist/cjs/CreateChannel/components/CreateChannelUI.js +0 -59
  199. package/dist/cjs/CreateChannel/components/CreateChannelUI.js.map +0 -1
  200. package/dist/cjs/CreateChannel/components/InviteMembers.js +0 -190
  201. package/dist/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  202. package/dist/cjs/CreateChannel/components/SelectChannelType.js +0 -137
  203. package/dist/cjs/CreateChannel/components/SelectChannelType.js.map +0 -1
  204. package/dist/cjs/CreateChannel/context.js +0 -17
  205. package/dist/cjs/CreateChannel/context.js.map +0 -1
  206. package/dist/cjs/CreateChannel.js +0 -59
  207. package/dist/cjs/CreateChannel.js.map +0 -1
  208. package/dist/cjs/CreateChannelProvider-df42106f.js +0 -60
  209. package/dist/cjs/CreateChannelProvider-df42106f.js.map +0 -1
  210. package/dist/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -32
  211. package/dist/cjs/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  212. package/dist/cjs/EditUserProfile/context.js +0 -36
  213. package/dist/cjs/EditUserProfile/context.js.map +0 -1
  214. package/dist/cjs/EditUserProfile.js +0 -45
  215. package/dist/cjs/EditUserProfile.js.map +0 -1
  216. package/dist/cjs/LocalizationContext-68e55e2a.js +0 -30
  217. package/dist/cjs/LocalizationContext-68e55e2a.js.map +0 -1
  218. package/dist/cjs/MemberList-dc84e303.js +0 -431
  219. package/dist/cjs/MemberList-dc84e303.js.map +0 -1
  220. package/dist/cjs/MessageSearch/components/MessageSearchUI.js +0 -160
  221. package/dist/cjs/MessageSearch/components/MessageSearchUI.js.map +0 -1
  222. package/dist/cjs/MessageSearch/context.js +0 -401
  223. package/dist/cjs/MessageSearch/context.js.map +0 -1
  224. package/dist/cjs/MessageSearch.js +0 -152
  225. package/dist/cjs/MessageSearch.js.map +0 -1
  226. package/dist/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -26
  227. package/dist/cjs/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  228. package/dist/cjs/OpenChannel/components/OpenChannelHeader.js +0 -84
  229. package/dist/cjs/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  230. package/dist/cjs/OpenChannel/components/OpenChannelInput.js +0 -58
  231. package/dist/cjs/OpenChannel/components/OpenChannelInput.js.map +0 -1
  232. package/dist/cjs/OpenChannel/components/OpenChannelMessage.js +0 -284
  233. package/dist/cjs/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  234. package/dist/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -159
  235. package/dist/cjs/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  236. package/dist/cjs/OpenChannel/components/OpenChannelUI.js +0 -111
  237. package/dist/cjs/OpenChannel/components/OpenChannelUI.js.map +0 -1
  238. package/dist/cjs/OpenChannel/context.js +0 -23
  239. package/dist/cjs/OpenChannel/context.js.map +0 -1
  240. package/dist/cjs/OpenChannel.js +0 -82
  241. package/dist/cjs/OpenChannel.js.map +0 -1
  242. package/dist/cjs/OpenChannelProvider-7a1a996f.js +0 -2020
  243. package/dist/cjs/OpenChannelProvider-7a1a996f.js.map +0 -1
  244. package/dist/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -155
  245. package/dist/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  246. package/dist/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -87
  247. package/dist/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  248. package/dist/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -110
  249. package/dist/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  250. package/dist/cjs/OpenChannelSettings/components/OperatorUI.js +0 -194
  251. package/dist/cjs/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  252. package/dist/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -178
  253. package/dist/cjs/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  254. package/dist/cjs/OpenChannelSettings/context.js +0 -73
  255. package/dist/cjs/OpenChannelSettings/context.js.map +0 -1
  256. package/dist/cjs/OpenChannelSettings.js +0 -70
  257. package/dist/cjs/OpenChannelSettings.js.map +0 -1
  258. package/dist/cjs/SendbirdProvider.js +0 -749
  259. package/dist/cjs/SendbirdProvider.js.map +0 -1
  260. package/dist/cjs/UserProfileContext-3533547d.js +0 -46
  261. package/dist/cjs/UserProfileContext-3533547d.js.map +0 -1
  262. package/dist/cjs/_rollupPluginBabelHelpers-fc14118c.js +0 -243
  263. package/dist/cjs/_rollupPluginBabelHelpers-fc14118c.js.map +0 -1
  264. package/dist/cjs/actionTypes-bc47f97a.js +0 -10
  265. package/dist/cjs/actionTypes-bc47f97a.js.map +0 -1
  266. package/dist/cjs/color-4afb15fb.js +0 -42
  267. package/dist/cjs/color-4afb15fb.js.map +0 -1
  268. package/dist/cjs/compareIds-01306377.js +0 -20
  269. package/dist/cjs/compareIds-01306377.js.map +0 -1
  270. package/dist/cjs/context-c1f9d650.js +0 -19
  271. package/dist/cjs/context-c1f9d650.js.map +0 -1
  272. package/dist/cjs/index-1044f1ed.js +0 -97
  273. package/dist/cjs/index-1044f1ed.js.map +0 -1
  274. package/dist/cjs/index-1468d245.js +0 -142
  275. package/dist/cjs/index-1468d245.js.map +0 -1
  276. package/dist/cjs/index-4987c8b2.js +0 -175
  277. package/dist/cjs/index-4987c8b2.js.map +0 -1
  278. package/dist/cjs/index-659c9ca5.js +0 -130
  279. package/dist/cjs/index-659c9ca5.js.map +0 -1
  280. package/dist/cjs/index-8becccd8.js +0 -284
  281. package/dist/cjs/index-8becccd8.js.map +0 -1
  282. package/dist/cjs/index-905331fa.js +0 -1880
  283. package/dist/cjs/index-905331fa.js.map +0 -1
  284. package/dist/cjs/index-9dc3863f.js +0 -67
  285. package/dist/cjs/index-9dc3863f.js.map +0 -1
  286. package/dist/cjs/index-aecc8d24.js +0 -9
  287. package/dist/cjs/index-aecc8d24.js.map +0 -1
  288. package/dist/cjs/index-d4880236.js +0 -641
  289. package/dist/cjs/index-d4880236.js.map +0 -1
  290. package/dist/cjs/index-e2bb862c.js +0 -514
  291. package/dist/cjs/index-e2bb862c.js.map +0 -1
  292. package/dist/cjs/index.css +0 -4355
  293. package/dist/cjs/index.css.map +0 -1
  294. package/dist/cjs/index.js +0 -155
  295. package/dist/cjs/index.js.map +0 -1
  296. package/dist/cjs/openChannelUtils-37919a36.js +0 -92
  297. package/dist/cjs/openChannelUtils-37919a36.js.map +0 -1
  298. package/dist/cjs/sendBirdSelectors.js +0 -741
  299. package/dist/cjs/sendBirdSelectors.js.map +0 -1
  300. package/dist/cjs/stringSet-aa544ce5.js +0 -116
  301. package/dist/cjs/stringSet-aa544ce5.js.map +0 -1
  302. package/dist/cjs/topics-8314d425.js +0 -18
  303. package/dist/cjs/topics-8314d425.js.map +0 -1
  304. package/dist/cjs/tslib.es6-4a281a05.js +0 -40
  305. package/dist/cjs/tslib.es6-4a281a05.js.map +0 -1
  306. package/dist/cjs/ui/Accordion.js +0 -74
  307. package/dist/cjs/ui/Accordion.js.map +0 -1
  308. package/dist/cjs/ui/AccordionGroup.js +0 -32
  309. package/dist/cjs/ui/AccordionGroup.js.map +0 -1
  310. package/dist/cjs/ui/AdminMessage.js +0 -44
  311. package/dist/cjs/ui/AdminMessage.js.map +0 -1
  312. package/dist/cjs/ui/Avatar.js +0 -226
  313. package/dist/cjs/ui/Avatar.js.map +0 -1
  314. package/dist/cjs/ui/Badge.js +0 -45
  315. package/dist/cjs/ui/Badge.js.map +0 -1
  316. package/dist/cjs/ui/Button.js +0 -17
  317. package/dist/cjs/ui/Button.js.map +0 -1
  318. package/dist/cjs/ui/ChannelAvatar.js +0 -59
  319. package/dist/cjs/ui/ChannelAvatar.js.map +0 -1
  320. package/dist/cjs/ui/ChannelPreview.js +0 -201
  321. package/dist/cjs/ui/ChannelPreview.js.map +0 -1
  322. package/dist/cjs/ui/ChatHeader.js +0 -145
  323. package/dist/cjs/ui/ChatHeader.js.map +0 -1
  324. package/dist/cjs/ui/Checkbox.js +0 -49
  325. package/dist/cjs/ui/Checkbox.js.map +0 -1
  326. package/dist/cjs/ui/ConnectionStatus.js +0 -34
  327. package/dist/cjs/ui/ConnectionStatus.js.map +0 -1
  328. package/dist/cjs/ui/ContextMenu.js +0 -431
  329. package/dist/cjs/ui/ContextMenu.js.map +0 -1
  330. package/dist/cjs/ui/DateSeparator.js +0 -44
  331. package/dist/cjs/ui/DateSeparator.js.map +0 -1
  332. package/dist/cjs/ui/Dropdown.js +0 -107
  333. package/dist/cjs/ui/Dropdown.js.map +0 -1
  334. package/dist/cjs/ui/EmojiReactions.js +0 -127
  335. package/dist/cjs/ui/EmojiReactions.js.map +0 -1
  336. package/dist/cjs/ui/FileMessageItemBody.js +0 -57
  337. package/dist/cjs/ui/FileMessageItemBody.js.map +0 -1
  338. package/dist/cjs/ui/FileViewer.js +0 -174
  339. package/dist/cjs/ui/FileViewer.js.map +0 -1
  340. package/dist/cjs/ui/Icon.js +0 -1462
  341. package/dist/cjs/ui/Icon.js.map +0 -1
  342. package/dist/cjs/ui/IconButton.js +0 -83
  343. package/dist/cjs/ui/IconButton.js.map +0 -1
  344. package/dist/cjs/ui/ImageRenderer.js +0 -138
  345. package/dist/cjs/ui/ImageRenderer.js.map +0 -1
  346. package/dist/cjs/ui/Input.js +0 -74
  347. package/dist/cjs/ui/Input.js.map +0 -1
  348. package/dist/cjs/ui/Label.js +0 -17
  349. package/dist/cjs/ui/Label.js.map +0 -1
  350. package/dist/cjs/ui/LinkLabel.js +0 -51
  351. package/dist/cjs/ui/LinkLabel.js.map +0 -1
  352. package/dist/cjs/ui/Loader.js +0 -44
  353. package/dist/cjs/ui/Loader.js.map +0 -1
  354. package/dist/cjs/ui/MessageContent.js +0 -328
  355. package/dist/cjs/ui/MessageContent.js.map +0 -1
  356. package/dist/cjs/ui/MessageInput.js +0 -232
  357. package/dist/cjs/ui/MessageInput.js.map +0 -1
  358. package/dist/cjs/ui/MessageItemMenu.js +0 -141
  359. package/dist/cjs/ui/MessageItemMenu.js.map +0 -1
  360. package/dist/cjs/ui/MessageItemReactionMenu.js +0 -112
  361. package/dist/cjs/ui/MessageItemReactionMenu.js.map +0 -1
  362. package/dist/cjs/ui/MessageSearchFileItem.js +0 -130
  363. package/dist/cjs/ui/MessageSearchFileItem.js.map +0 -1
  364. package/dist/cjs/ui/MessageSearchItem.js +0 -93
  365. package/dist/cjs/ui/MessageSearchItem.js.map +0 -1
  366. package/dist/cjs/ui/Modal.js +0 -140
  367. package/dist/cjs/ui/Modal.js.map +0 -1
  368. package/dist/cjs/ui/MutedAvatarOverlay.js +0 -40
  369. package/dist/cjs/ui/MutedAvatarOverlay.js.map +0 -1
  370. package/dist/cjs/ui/OGMessageItemBody.js +0 -97
  371. package/dist/cjs/ui/OGMessageItemBody.js.map +0 -1
  372. package/dist/cjs/ui/OpenChannelAdminMessage.js +0 -27
  373. package/dist/cjs/ui/OpenChannelAdminMessage.js.map +0 -1
  374. package/dist/cjs/ui/OpenChannelAvatar.js +0 -41
  375. package/dist/cjs/ui/OpenChannelAvatar.js.map +0 -1
  376. package/dist/cjs/ui/OpenChannelMessageContent.js +0 -14
  377. package/dist/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  378. package/dist/cjs/ui/OpenchannelConversationHeader.js +0 -73
  379. package/dist/cjs/ui/OpenchannelConversationHeader.js.map +0 -1
  380. package/dist/cjs/ui/OpenchannelFileMessage.js +0 -230
  381. package/dist/cjs/ui/OpenchannelFileMessage.js.map +0 -1
  382. package/dist/cjs/ui/OpenchannelOGMessage.js +0 -345
  383. package/dist/cjs/ui/OpenchannelOGMessage.js.map +0 -1
  384. package/dist/cjs/ui/OpenchannelThumbnailMessage.js +0 -305
  385. package/dist/cjs/ui/OpenchannelThumbnailMessage.js.map +0 -1
  386. package/dist/cjs/ui/OpenchannelUserMessage.js +0 -264
  387. package/dist/cjs/ui/OpenchannelUserMessage.js.map +0 -1
  388. package/dist/cjs/ui/PlaceHolder.js +0 -20
  389. package/dist/cjs/ui/PlaceHolder.js.map +0 -1
  390. package/dist/cjs/ui/QuoteMessage.js +0 -131
  391. package/dist/cjs/ui/QuoteMessage.js.map +0 -1
  392. package/dist/cjs/ui/QuoteMessageInput.js +0 -99
  393. package/dist/cjs/ui/QuoteMessageInput.js.map +0 -1
  394. package/dist/cjs/ui/ReactionBadge.js +0 -68
  395. package/dist/cjs/ui/ReactionBadge.js.map +0 -1
  396. package/dist/cjs/ui/ReactionButton.js +0 -55
  397. package/dist/cjs/ui/ReactionButton.js.map +0 -1
  398. package/dist/cjs/ui/SortByRow.js +0 -57
  399. package/dist/cjs/ui/SortByRow.js.map +0 -1
  400. package/dist/cjs/ui/TextButton.js +0 -45
  401. package/dist/cjs/ui/TextButton.js.map +0 -1
  402. package/dist/cjs/ui/TextMessageItemBody.js +0 -40
  403. package/dist/cjs/ui/TextMessageItemBody.js.map +0 -1
  404. package/dist/cjs/ui/ThumbnailMessageItemBody.js +0 -82
  405. package/dist/cjs/ui/ThumbnailMessageItemBody.js.map +0 -1
  406. package/dist/cjs/ui/Tooltip.js +0 -35
  407. package/dist/cjs/ui/Tooltip.js.map +0 -1
  408. package/dist/cjs/ui/TooltipWrapper.js +0 -65
  409. package/dist/cjs/ui/TooltipWrapper.js.map +0 -1
  410. package/dist/cjs/ui/UnknownMessageItemBody.js +0 -41
  411. package/dist/cjs/ui/UnknownMessageItemBody.js.map +0 -1
  412. package/dist/cjs/ui/UserListItem.js +0 -158
  413. package/dist/cjs/ui/UserListItem.js.map +0 -1
  414. package/dist/cjs/ui/UserProfile.js +0 -87
  415. package/dist/cjs/ui/UserProfile.js.map +0 -1
  416. package/dist/cjs/useSendbirdStateContext.js +0 -22
  417. package/dist/cjs/useSendbirdStateContext.js.map +0 -1
  418. package/dist/cjs/utils-3b0815dc.js +0 -6
  419. package/dist/cjs/utils-3b0815dc.js.map +0 -1
  420. package/dist/cjs/utils-66b3f4ec.js +0 -38
  421. package/dist/cjs/utils-66b3f4ec.js.map +0 -1
  422. package/dist/cjs/utils-cbd3ed99.js +0 -32
  423. package/dist/cjs/utils-cbd3ed99.js.map +0 -1
  424. package/dist/cjs/uuid-1d5ec8b2.js +0 -19
  425. package/dist/cjs/uuid-1d5ec8b2.js.map +0 -1
  426. package/dist/cjs/withSendBird.js +0 -35
  427. package/dist/cjs/withSendBird.js.map +0 -1
  428. package/dist/color-ee3fc5ee.js +0 -39
  429. package/dist/color-ee3fc5ee.js.map +0 -1
  430. package/dist/compareIds-808956f2.js +0 -18
  431. package/dist/compareIds-808956f2.js.map +0 -1
  432. package/dist/context-98ce535c.js +0 -12
  433. package/dist/context-98ce535c.js.map +0 -1
  434. package/dist/index-1718324d.js +0 -280
  435. package/dist/index-1718324d.js.map +0 -1
  436. package/dist/index-5c2c81bc.js +0 -168
  437. package/dist/index-5c2c81bc.js.map +0 -1
  438. package/dist/index-6ebf7894.js +0 -512
  439. package/dist/index-6ebf7894.js.map +0 -1
  440. package/dist/index-770d7112.js +0 -1873
  441. package/dist/index-770d7112.js.map +0 -1
  442. package/dist/index-7a51bd16.js +0 -131
  443. package/dist/index-7a51bd16.js.map +0 -1
  444. package/dist/index-8c72a94a.js +0 -602
  445. package/dist/index-8c72a94a.js.map +0 -1
  446. package/dist/index-942c85a6.js +0 -7
  447. package/dist/index-942c85a6.js.map +0 -1
  448. package/dist/index-acebc2ff.js +0 -87
  449. package/dist/index-acebc2ff.js.map +0 -1
  450. package/dist/index-cd21929d.js +0 -64
  451. package/dist/index-cd21929d.js.map +0 -1
  452. package/dist/index-e818a8a3.js +0 -121
  453. package/dist/index-e818a8a3.js.map +0 -1
  454. package/dist/index.d.ts +0 -1801
  455. package/dist/index.js.map +0 -1
  456. package/dist/openChannelUtils-56a372e7.js +0 -81
  457. package/dist/openChannelUtils-56a372e7.js.map +0 -1
  458. package/dist/sendBirdSelectors.js +0 -713
  459. package/dist/sendBirdSelectors.js.map +0 -1
  460. package/dist/stringSet-4f6eaa60.js +0 -114
  461. package/dist/stringSet-4f6eaa60.js.map +0 -1
  462. package/dist/topics-9442035c.js +0 -10
  463. package/dist/topics-9442035c.js.map +0 -1
  464. package/dist/tslib.es6-e3c44017.js +0 -38
  465. package/dist/tslib.es6-e3c44017.js.map +0 -1
  466. package/dist/ui/Accordion.js +0 -65
  467. package/dist/ui/Accordion.js.map +0 -1
  468. package/dist/ui/AccordionGroup.js +0 -26
  469. package/dist/ui/AccordionGroup.js.map +0 -1
  470. package/dist/ui/AdminMessage.js +0 -37
  471. package/dist/ui/AdminMessage.js.map +0 -1
  472. package/dist/ui/Avatar.js +0 -217
  473. package/dist/ui/Avatar.js.map +0 -1
  474. package/dist/ui/Badge.js +0 -38
  475. package/dist/ui/Badge.js.map +0 -1
  476. package/dist/ui/Button.js +0 -7
  477. package/dist/ui/Button.js.map +0 -1
  478. package/dist/ui/ChannelAvatar.js +0 -53
  479. package/dist/ui/ChannelAvatar.js.map +0 -1
  480. package/dist/ui/ChannelPreview.js +0 -194
  481. package/dist/ui/ChannelPreview.js.map +0 -1
  482. package/dist/ui/ChatHeader.js +0 -138
  483. package/dist/ui/ChatHeader.js.map +0 -1
  484. package/dist/ui/Checkbox.js +0 -42
  485. package/dist/ui/Checkbox.js.map +0 -1
  486. package/dist/ui/ConnectionStatus.js +0 -28
  487. package/dist/ui/ConnectionStatus.js.map +0 -1
  488. package/dist/ui/ContextMenu.js +0 -417
  489. package/dist/ui/ContextMenu.js.map +0 -1
  490. package/dist/ui/DateSeparator.js +0 -37
  491. package/dist/ui/DateSeparator.js.map +0 -1
  492. package/dist/ui/Dropdown.js +0 -97
  493. package/dist/ui/Dropdown.js.map +0 -1
  494. package/dist/ui/EmojiReactions.js +0 -121
  495. package/dist/ui/EmojiReactions.js.map +0 -1
  496. package/dist/ui/FileMessageItemBody.js +0 -51
  497. package/dist/ui/FileMessageItemBody.js.map +0 -1
  498. package/dist/ui/FileViewer.js +0 -164
  499. package/dist/ui/FileViewer.js.map +0 -1
  500. package/dist/ui/Icon.js +0 -1432
  501. package/dist/ui/Icon.js.map +0 -1
  502. package/dist/ui/IconButton.js +0 -76
  503. package/dist/ui/IconButton.js.map +0 -1
  504. package/dist/ui/ImageRenderer.js +0 -131
  505. package/dist/ui/ImageRenderer.js.map +0 -1
  506. package/dist/ui/Input.js +0 -64
  507. package/dist/ui/Input.js.map +0 -1
  508. package/dist/ui/Label.js +0 -6
  509. package/dist/ui/Label.js.map +0 -1
  510. package/dist/ui/LinkLabel.js +0 -40
  511. package/dist/ui/LinkLabel.js.map +0 -1
  512. package/dist/ui/Loader.js +0 -37
  513. package/dist/ui/Loader.js.map +0 -1
  514. package/dist/ui/MessageContent.js +0 -322
  515. package/dist/ui/MessageContent.js.map +0 -1
  516. package/dist/ui/MessageInput.js +0 -225
  517. package/dist/ui/MessageInput.js.map +0 -1
  518. package/dist/ui/MessageItemMenu.js +0 -135
  519. package/dist/ui/MessageItemMenu.js.map +0 -1
  520. package/dist/ui/MessageItemReactionMenu.js +0 -106
  521. package/dist/ui/MessageItemReactionMenu.js.map +0 -1
  522. package/dist/ui/MessageSearchFileItem.js +0 -124
  523. package/dist/ui/MessageSearchFileItem.js.map +0 -1
  524. package/dist/ui/MessageSearchItem.js +0 -87
  525. package/dist/ui/MessageSearchItem.js.map +0 -1
  526. package/dist/ui/Modal.js +0 -128
  527. package/dist/ui/Modal.js.map +0 -1
  528. package/dist/ui/MutedAvatarOverlay.js +0 -34
  529. package/dist/ui/MutedAvatarOverlay.js.map +0 -1
  530. package/dist/ui/OGMessageItemBody.js +0 -91
  531. package/dist/ui/OGMessageItemBody.js.map +0 -1
  532. package/dist/ui/OpenChannelAdminMessage.js +0 -21
  533. package/dist/ui/OpenChannelAdminMessage.js.map +0 -1
  534. package/dist/ui/OpenChannelAvatar.js +0 -35
  535. package/dist/ui/OpenChannelAvatar.js.map +0 -1
  536. package/dist/ui/OpenChannelMessageContent.js +0 -8
  537. package/dist/ui/OpenChannelMessageContent.js.map +0 -1
  538. package/dist/ui/OpenchannelConversationHeader.js +0 -67
  539. package/dist/ui/OpenchannelConversationHeader.js.map +0 -1
  540. package/dist/ui/OpenchannelFileMessage.js +0 -224
  541. package/dist/ui/OpenchannelFileMessage.js.map +0 -1
  542. package/dist/ui/OpenchannelOGMessage.js +0 -339
  543. package/dist/ui/OpenchannelOGMessage.js.map +0 -1
  544. package/dist/ui/OpenchannelThumbnailMessage.js +0 -299
  545. package/dist/ui/OpenchannelThumbnailMessage.js.map +0 -1
  546. package/dist/ui/OpenchannelUserMessage.js +0 -258
  547. package/dist/ui/OpenchannelUserMessage.js.map +0 -1
  548. package/dist/ui/PlaceHolder.js +0 -11
  549. package/dist/ui/PlaceHolder.js.map +0 -1
  550. package/dist/ui/QuoteMessage.js +0 -125
  551. package/dist/ui/QuoteMessage.js.map +0 -1
  552. package/dist/ui/QuoteMessageInput.js +0 -93
  553. package/dist/ui/QuoteMessageInput.js.map +0 -1
  554. package/dist/ui/ReactionBadge.js +0 -61
  555. package/dist/ui/ReactionBadge.js.map +0 -1
  556. package/dist/ui/ReactionButton.js +0 -48
  557. package/dist/ui/ReactionButton.js.map +0 -1
  558. package/dist/ui/SortByRow.js +0 -50
  559. package/dist/ui/SortByRow.js.map +0 -1
  560. package/dist/ui/TextButton.js +0 -38
  561. package/dist/ui/TextButton.js.map +0 -1
  562. package/dist/ui/TextMessageItemBody.js +0 -34
  563. package/dist/ui/TextMessageItemBody.js.map +0 -1
  564. package/dist/ui/ThumbnailMessageItemBody.js +0 -76
  565. package/dist/ui/ThumbnailMessageItemBody.js.map +0 -1
  566. package/dist/ui/Tooltip.js +0 -28
  567. package/dist/ui/Tooltip.js.map +0 -1
  568. package/dist/ui/TooltipWrapper.js +0 -58
  569. package/dist/ui/TooltipWrapper.js.map +0 -1
  570. package/dist/ui/UnknownMessageItemBody.js +0 -35
  571. package/dist/ui/UnknownMessageItemBody.js.map +0 -1
  572. package/dist/ui/UserListItem.js +0 -151
  573. package/dist/ui/UserListItem.js.map +0 -1
  574. package/dist/ui/UserProfile.js +0 -81
  575. package/dist/ui/UserProfile.js.map +0 -1
  576. package/dist/useSendbirdStateContext.js +0 -20
  577. package/dist/useSendbirdStateContext.js.map +0 -1
  578. package/dist/utils-08c4dbdc.js +0 -34
  579. package/dist/utils-08c4dbdc.js.map +0 -1
  580. package/dist/utils-af1b9829.js +0 -30
  581. package/dist/utils-af1b9829.js.map +0 -1
  582. package/dist/utils-c393e880.js +0 -4
  583. package/dist/utils-c393e880.js.map +0 -1
  584. package/dist/uuid-b0c93400.js +0 -17
  585. package/dist/uuid-b0c93400.js.map +0 -1
  586. package/dist/withSendBird.js +0 -26
  587. package/dist/withSendBird.js.map +0 -1
@@ -1,2096 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var UserProfileContext = require('./UserProfileContext-3533547d.js');
5
- var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-fc14118c.js');
7
- var index$1 = require('./index-905331fa.js');
8
- var topics = require('./topics-8314d425.js');
9
- var index = require('./index-d4880236.js');
10
- var compareIds = require('./compareIds-01306377.js');
11
- var uuid = require('./uuid-1d5ec8b2.js');
12
- var ui_ContextMenu = require('./ui/ContextMenu.js');
13
- var ui_ReactionButton = require('./ui/ReactionButton.js');
14
- var ui_ImageRenderer = require('./ui/ImageRenderer.js');
15
- var ui_Icon = require('./ui/Icon.js');
16
-
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
-
21
- var RESET_MESSAGES = 'RESET_MESSAGES';
22
- var FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
23
- var FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';
24
- var FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';
25
- var FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';
26
- var FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';
27
- var FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';
28
- var FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';
29
- var SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';
30
- var SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';
31
- var SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';
32
- var RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';
33
- var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
34
- var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
35
- var ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';
36
- var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
37
- var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
38
- var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
39
- var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
40
- var MARK_AS_READ = 'MARK_AS_READ';
41
- var ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';
42
- var SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';
43
- var MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';
44
-
45
- var messageActionTypes = /*#__PURE__*/Object.freeze({
46
- __proto__: null,
47
- RESET_MESSAGES: RESET_MESSAGES,
48
- FETCH_INITIAL_MESSAGES_START: FETCH_INITIAL_MESSAGES_START,
49
- FETCH_INITIAL_MESSAGES_SUCCESS: FETCH_INITIAL_MESSAGES_SUCCESS,
50
- FETCH_INITIAL_MESSAGES_FAILURE: FETCH_INITIAL_MESSAGES_FAILURE,
51
- FETCH_PREV_MESSAGES_SUCCESS: FETCH_PREV_MESSAGES_SUCCESS,
52
- FETCH_PREV_MESSAGES_FAILURE: FETCH_PREV_MESSAGES_FAILURE,
53
- FETCH_NEXT_MESSAGES_SUCCESS: FETCH_NEXT_MESSAGES_SUCCESS,
54
- FETCH_NEXT_MESSAGES_FAILURE: FETCH_NEXT_MESSAGES_FAILURE,
55
- SEND_MESSAGEGE_START: SEND_MESSAGEGE_START,
56
- SEND_MESSAGEGE_SUCESS: SEND_MESSAGEGE_SUCESS,
57
- SEND_MESSAGEGE_FAILURE: SEND_MESSAGEGE_FAILURE,
58
- RESEND_MESSAGEGE_START: RESEND_MESSAGEGE_START,
59
- ON_MESSAGE_RECEIVED: ON_MESSAGE_RECEIVED,
60
- ON_MESSAGE_UPDATED: ON_MESSAGE_UPDATED,
61
- ON_MESSAGE_THREAD_INFO_UPDATED: ON_MESSAGE_THREAD_INFO_UPDATED,
62
- ON_MESSAGE_DELETED: ON_MESSAGE_DELETED,
63
- ON_MESSAGE_DELETED_BY_REQ_ID: ON_MESSAGE_DELETED_BY_REQ_ID,
64
- SET_CURRENT_CHANNEL: SET_CURRENT_CHANNEL,
65
- SET_CHANNEL_INVALID: SET_CHANNEL_INVALID,
66
- MARK_AS_READ: MARK_AS_READ,
67
- ON_REACTION_UPDATED: ON_REACTION_UPDATED,
68
- SET_EMOJI_CONTAINER: SET_EMOJI_CONTAINER,
69
- MESSAGE_LIST_PARAMS_CHANGED: MESSAGE_LIST_PARAMS_CHANGED
70
- });
71
-
72
- index.getOutgoingMessageStates();
73
- var UNDEFINED = 'undefined';
74
-
75
- var _getSendingMessageSta$1 = index.getSendingMessageStatus(),
76
- SUCCEEDED$1 = _getSendingMessageSta$1.SUCCEEDED;
77
- _getSendingMessageSta$1.FAILED;
78
- var PENDING$1 = _getSendingMessageSta$1.PENDING;
79
-
80
- var scrollIntoLast = function scrollIntoLast() {
81
- var intialTry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
82
- var MAX_TRIES = 10;
83
- var currentTry = intialTry;
84
-
85
- if (currentTry > MAX_TRIES) {
86
- return;
87
- }
88
-
89
- try {
90
- var scrollDOM = document.querySelector('.sendbird-conversation__messages-padding'); // eslint-disable-next-line no-multi-assign
91
-
92
- scrollDOM.scrollTop = scrollDOM.scrollHeight;
93
- } catch (error) {
94
- setTimeout(function () {
95
- scrollIntoLast(currentTry + 1);
96
- }, 500 * currentTry);
97
- }
98
- };
99
- var pubSubHandleRemover = function pubSubHandleRemover(subscriber) {
100
- subscriber.forEach(function (s) {
101
- try {
102
- s.remove();
103
- } catch (_unused) {//
104
- }
105
- });
106
- };
107
- var pubSubHandler = function pubSubHandler(channelUrl, pubSub, dispatcher) {
108
- var subscriber = new Map();
109
- if (!pubSub || !pubSub.subscribe) return subscriber;
110
- subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, function (msg) {
111
- var channel = msg.channel,
112
- message = msg.message;
113
- scrollIntoLast();
114
-
115
- if (channel && channelUrl === channel.url) {
116
- dispatcher({
117
- type: SEND_MESSAGEGE_SUCESS,
118
- payload: message
119
- });
120
- }
121
- }));
122
- subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, function (msg) {
123
- var channel = msg.channel,
124
- message = msg.message;
125
-
126
- if (channel && channelUrl === channel.url) {
127
- dispatcher({
128
- type: SEND_MESSAGEGE_START,
129
- payload: message
130
- });
131
- }
132
- }));
133
- subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, function (msg) {
134
- var channel = msg.channel,
135
- message = msg.message;
136
- scrollIntoLast();
137
-
138
- if (channel && channelUrl === channel.url) {
139
- dispatcher({
140
- type: SEND_MESSAGEGE_SUCESS,
141
- payload: message
142
- });
143
- }
144
- }));
145
- subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, function (msg) {
146
- var channel = msg.channel,
147
- message = msg.message,
148
- fromSelector = msg.fromSelector;
149
-
150
- if (fromSelector && channel && channelUrl === channel.url) {
151
- dispatcher({
152
- type: ON_MESSAGE_UPDATED,
153
- payload: {
154
- channel: channel,
155
- message: message
156
- }
157
- });
158
- }
159
- }));
160
- subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, function (msg) {
161
- var channel = msg.channel,
162
- messageId = msg.messageId;
163
-
164
- if (channel && channelUrl === channel.url) {
165
- dispatcher({
166
- type: ON_MESSAGE_DELETED,
167
- payload: messageId
168
- });
169
- }
170
- }));
171
- return subscriber;
172
- };
173
- var isOperator = function isOperator() {
174
- var groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
175
- var myRole = groupChannel.myRole;
176
- return myRole === 'operator';
177
- };
178
- var isDisabledBecauseFrozen = function isDisabledBecauseFrozen() {
179
- var groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
180
- var isFrozen = groupChannel.isFrozen;
181
- return isFrozen && !isOperator(groupChannel);
182
- };
183
- var isDisabledBecauseMuted = function isDisabledBecauseMuted() {
184
- var groupChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
185
- var myMutedState = groupChannel.myMutedState;
186
- return myMutedState === 'muted';
187
- };
188
- var getAllEmojisFromEmojiContainer = function getAllEmojisFromEmojiContainer() {
189
- var emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
190
- var _emojiContainer$emoji = emojiContainer.emojiCategories,
191
- emojiCategories = _emojiContainer$emoji === void 0 ? [] : _emojiContainer$emoji;
192
- var allEmojis = [];
193
-
194
- for (var categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
195
- var emojis = emojiCategories[categoryIndex].emojis;
196
-
197
- for (var emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
198
- allEmojis.push(emojis[emojiIndex]);
199
- }
200
- }
201
-
202
- return allEmojis;
203
- };
204
- var getAllEmojisMapFromEmojiContainer = function getAllEmojisMapFromEmojiContainer() {
205
- var emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
206
- var _emojiContainer$emoji2 = emojiContainer.emojiCategories,
207
- emojiCategories = _emojiContainer$emoji2 === void 0 ? [] : _emojiContainer$emoji2;
208
- var allEmojisMap = new Map();
209
-
210
- for (var categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
211
- var emojis = emojiCategories[categoryIndex].emojis;
212
-
213
- for (var emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
214
- var _emojis$emojiIndex = emojis[emojiIndex],
215
- key = _emojis$emojiIndex.key,
216
- url = _emojis$emojiIndex.url;
217
- allEmojisMap.set(key, url);
218
- }
219
- }
220
-
221
- return allEmojisMap;
222
- };
223
- var getNicknamesMapFromMembers = function getNicknamesMapFromMembers() {
224
- var members = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
225
- var nicknamesMap = new Map();
226
-
227
- for (var memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
228
- var _members$memberIndex = members[memberIndex],
229
- userId = _members$memberIndex.userId,
230
- nickname = _members$memberIndex.nickname;
231
- nicknamesMap.set(userId, nickname);
232
- }
233
-
234
- return nicknamesMap;
235
- };
236
- var getMessageCreatedAt = function getMessageCreatedAt(message) {
237
- return index$1.format(message.createdAt, 'p');
238
- };
239
- var isSameGroup = function isSameGroup(message, comparingMessage) {
240
- var _message$sender, _comparingMessage$sen, _message$sender2, _comparingMessage$sen2;
241
-
242
- if (!(message && comparingMessage && (message === null || message === void 0 ? void 0 : message.messageType) !== 'admin' && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) !== 'admin' && message !== null && message !== void 0 && message.sender && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.sender && message !== null && message !== void 0 && message.createdAt && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.createdAt && message !== null && message !== void 0 && (_message$sender = message.sender) !== null && _message$sender !== void 0 && _message$sender.userId && comparingMessage !== null && comparingMessage !== void 0 && (_comparingMessage$sen = comparingMessage.sender) !== null && _comparingMessage$sen !== void 0 && _comparingMessage$sen.userId)) {
243
- return false;
244
- }
245
-
246
- return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && (message === null || message === void 0 ? void 0 : (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.userId) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : (_comparingMessage$sen2 = comparingMessage.sender) === null || _comparingMessage$sen2 === void 0 ? void 0 : _comparingMessage$sen2.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage);
247
- };
248
- var compareMessagesForGrouping = function compareMessagesForGrouping(prevMessage, currMessage, nextMessage) {
249
- var sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
250
- var isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
251
- return [isSameGroup(prevMessage, currMessage) && isAcceptable, isSameGroup(currMessage, nextMessage) && isAcceptable];
252
- };
253
- var passUnsuccessfullMessages = function passUnsuccessfullMessages(allMessages, newMessage) {
254
- var _newMessage$sendingSt = newMessage.sendingStatus,
255
- sendingStatus = _newMessage$sendingSt === void 0 ? UNDEFINED : _newMessage$sendingSt;
256
-
257
- if (sendingStatus === SUCCEEDED$1 || sendingStatus === PENDING$1) {
258
- var lastIndexOfSucceededMessage = allMessages.map(function (message) {
259
- return message.sendingStatus || (message.isAdminMessage && message.isAdminMessage() ? SUCCEEDED$1 : UNDEFINED);
260
- }).lastIndexOf(SUCCEEDED$1);
261
-
262
- if (lastIndexOfSucceededMessage + 1 < allMessages.length) {
263
- var messages = _rollupPluginBabelHelpers._toConsumableArray(allMessages);
264
-
265
- messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);
266
- return messages;
267
- }
268
- }
269
-
270
- return [].concat(_rollupPluginBabelHelpers._toConsumableArray(allMessages), [newMessage]);
271
- };
272
- var pxToNumber = function pxToNumber(px) {
273
- if (typeof px === 'number') {
274
- return px;
275
- }
276
-
277
- if (typeof px === 'string') {
278
- var parsed = Number.parseFloat(px);
279
-
280
- if (!Number.isNaN(parsed)) {
281
- return parsed;
282
- }
283
- }
284
-
285
- return null;
286
- };
287
- var isAboutSame = function isAboutSame(a, b, px) {
288
- return Math.abs(a - b) <= px;
289
- };
290
-
291
- var messagesInitialState = {
292
- initialized: false,
293
- loading: false,
294
- allMessages: [],
295
- currentGroupChannel: {
296
- members: []
297
- },
298
- // for scrollup
299
- hasMorePrev: false,
300
- oldestMessageTimeStamp: 0,
301
- // for scroll down
302
- // onScrollDownCallback is added for navigation to different timestamps on messageSearch
303
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
304
- // hasMoreNext, onScrollDownCallback -> scroll down
305
- hasMoreNext: false,
306
- latestMessageTimeStamp: 0,
307
- emojiContainer: {},
308
- unreadSince: null,
309
- isInvalid: false,
310
- messageListParams: null
311
- };
312
-
313
- var PREV_RESULT_SIZE = 30;
314
- var NEXT_RESULT_SIZE = 15;
315
-
316
- var _getSendingMessageSta = index.getSendingMessageStatus(),
317
- SUCCEEDED = _getSendingMessageSta.SUCCEEDED,
318
- FAILED = _getSendingMessageSta.FAILED,
319
- PENDING = _getSendingMessageSta.PENDING;
320
-
321
- var getOldestMessageTimeStamp = function getOldestMessageTimeStamp() {
322
- var messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
323
- var oldestMessage = messages[0];
324
- return oldestMessage && oldestMessage.createdAt || null;
325
- };
326
-
327
- var getLatestMessageTimeStamp = function getLatestMessageTimeStamp() {
328
- var messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
329
- var latestMessage = messages[messages.length - 1];
330
- return latestMessage && latestMessage.createdAt || null;
331
- };
332
-
333
- function reducer(state, action) {
334
- var _state$currentGroupCh6, _action$payload7, _action$payload7$chan;
335
-
336
- switch (action.type) {
337
- case RESET_MESSAGES:
338
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
339
- // when user switches channel, if the previous channel `hasMorePrev`
340
- // the onScroll gets called twice, setting hasMorePrev false prevents this
341
- hasMorePrev: false,
342
- hasMoreNext: false,
343
- allMessages: []
344
- });
345
-
346
- case FETCH_INITIAL_MESSAGES_START:
347
- {
348
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
349
- loading: true,
350
- allMessages: _rollupPluginBabelHelpers._toConsumableArray(state.allMessages.filter(function (m) {
351
- return m.sendingStatus !== SUCCEEDED;
352
- }))
353
- });
354
- }
355
-
356
- case FETCH_INITIAL_MESSAGES_SUCCESS:
357
- {
358
- var _state$currentGroupCh;
359
-
360
- var _action$payload = action.payload,
361
- currentGroupChannel = _action$payload.currentGroupChannel,
362
- messages = _action$payload.messages;
363
-
364
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh = state.currentGroupChannel) === null || _state$currentGroupCh === void 0 ? void 0 : _state$currentGroupCh.url))) {
365
- return state;
366
- }
367
-
368
- var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
369
- var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
370
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
371
- loading: false,
372
- initialized: true,
373
- hasMorePrev: true,
374
- hasMoreNext: true,
375
- oldestMessageTimeStamp: oldestMessageTimeStamp,
376
- latestMessageTimeStamp: latestMessageTimeStamp,
377
- allMessages: _rollupPluginBabelHelpers._toConsumableArray(messages)
378
- });
379
- }
380
-
381
- case FETCH_PREV_MESSAGES_SUCCESS:
382
- {
383
- var _state$currentGroupCh2;
384
-
385
- var _action$payload2 = action.payload,
386
- _currentGroupChannel = _action$payload2.currentGroupChannel,
387
- _messages = _action$payload2.messages;
388
-
389
- if (!((_currentGroupChannel === null || _currentGroupChannel === void 0 ? void 0 : _currentGroupChannel.url) === ((_state$currentGroupCh2 = state.currentGroupChannel) === null || _state$currentGroupCh2 === void 0 ? void 0 : _state$currentGroupCh2.url))) {
390
- return state;
391
- }
392
-
393
- var hasMorePrev = _messages && _messages.length === PREV_RESULT_SIZE + 1;
394
-
395
- var _oldestMessageTimeStamp = getOldestMessageTimeStamp(_messages); // Remove duplicated messages
396
-
397
-
398
- var duplicatedMessageIds = [];
399
- var updatedOldMessages = state.allMessages.map(function (msg) {
400
- var duplicatedMessage = _messages.find(function (_ref) {
401
- var messageId = _ref.messageId;
402
- return compareIds.compareIds(messageId, msg.messageId);
403
- });
404
-
405
- if (!duplicatedMessage) {
406
- return msg;
407
- }
408
-
409
- duplicatedMessageIds.push(duplicatedMessage.messageId);
410
- return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
411
- });
412
- var filteredNewMessages = duplicatedMessageIds.length > 0 ? _messages.filter(function (msg) {
413
- return !duplicatedMessageIds.find(function (messageId) {
414
- return compareIds.compareIds(messageId, msg.messageId);
415
- });
416
- }) : _messages;
417
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
418
- hasMorePrev: hasMorePrev,
419
- oldestMessageTimeStamp: _oldestMessageTimeStamp,
420
- allMessages: [].concat(_rollupPluginBabelHelpers._toConsumableArray(filteredNewMessages), _rollupPluginBabelHelpers._toConsumableArray(updatedOldMessages))
421
- });
422
- }
423
-
424
- case FETCH_NEXT_MESSAGES_SUCCESS:
425
- {
426
- var _state$currentGroupCh3;
427
-
428
- var _action$payload3 = action.payload,
429
- _currentGroupChannel2 = _action$payload3.currentGroupChannel,
430
- _messages2 = _action$payload3.messages;
431
-
432
- if (!((_currentGroupChannel2 === null || _currentGroupChannel2 === void 0 ? void 0 : _currentGroupChannel2.url) === ((_state$currentGroupCh3 = state.currentGroupChannel) === null || _state$currentGroupCh3 === void 0 ? void 0 : _state$currentGroupCh3.url))) {
433
- return state;
434
- }
435
-
436
- var hasMoreNext = _messages2 && _messages2.length === NEXT_RESULT_SIZE + 1;
437
-
438
- var _latestMessageTimeStamp = getLatestMessageTimeStamp(_messages2); // Remove duplicated messages
439
-
440
-
441
- var _duplicatedMessageIds = [];
442
-
443
- var _updatedOldMessages = state.allMessages.map(function (msg) {
444
- var duplicatedMessage = _messages2.find(function (_ref2) {
445
- var messageId = _ref2.messageId;
446
- return compareIds.compareIds(messageId, msg.messageId);
447
- });
448
-
449
- if (!duplicatedMessage) {
450
- return msg;
451
- }
452
-
453
- _duplicatedMessageIds.push(duplicatedMessage.messageId);
454
-
455
- return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
456
- });
457
-
458
- var _filteredNewMessages = _duplicatedMessageIds.length > 0 ? _messages2.filter(function (msg) {
459
- return !_duplicatedMessageIds.find(function (messageId) {
460
- return compareIds.compareIds(messageId, msg.messageId);
461
- });
462
- }) : _messages2;
463
-
464
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
465
- hasMoreNext: hasMoreNext,
466
- latestMessageTimeStamp: _latestMessageTimeStamp,
467
- allMessages: [].concat(_rollupPluginBabelHelpers._toConsumableArray(_updatedOldMessages), _rollupPluginBabelHelpers._toConsumableArray(_filteredNewMessages))
468
- });
469
- }
470
-
471
- case FETCH_INITIAL_MESSAGES_FAILURE:
472
- case FETCH_PREV_MESSAGES_FAILURE:
473
- case FETCH_NEXT_MESSAGES_FAILURE:
474
- {
475
- var _state$currentGroupCh4;
476
-
477
- var _currentGroupChannel3 = action.payload.currentGroupChannel;
478
-
479
- if ((_currentGroupChannel3 === null || _currentGroupChannel3 === void 0 ? void 0 : _currentGroupChannel3.url) !== (state === null || state === void 0 ? void 0 : (_state$currentGroupCh4 = state.currentGroupChannel) === null || _state$currentGroupCh4 === void 0 ? void 0 : _state$currentGroupCh4.url)) {
480
- return state;
481
- }
482
-
483
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
484
- loading: false,
485
- initialized: false,
486
- allMessages: [],
487
- hasMorePrev: false,
488
- hasMoreNext: false,
489
- oldestMessageTimeStamp: null,
490
- latestMessageTimeStamp: null
491
- });
492
- }
493
-
494
- case SEND_MESSAGEGE_START:
495
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
496
- allMessages: [].concat(_rollupPluginBabelHelpers._toConsumableArray(state.allMessages), [_rollupPluginBabelHelpers._objectSpread2({}, action.payload)])
497
- });
498
-
499
- case SEND_MESSAGEGE_SUCESS:
500
- {
501
- var newMessages = state.allMessages.map(function (m) {
502
- return compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m;
503
- });
504
-
505
- _rollupPluginBabelHelpers._toConsumableArray(newMessages).sort(function (a, b) {
506
- return a.sendingStatus && b.sendingStatus && a.sendingStatus === SUCCEEDED && (b.sendingStatus === PENDING || b.sendingStatus === FAILED) ? -1 : 1;
507
- });
508
-
509
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
510
- allMessages: newMessages
511
- });
512
- }
513
-
514
- case SEND_MESSAGEGE_FAILURE:
515
- {
516
- // eslint-disable-next-line no-param-reassign
517
- action.payload.failed = true;
518
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
519
- allMessages: state.allMessages.map(function (m) {
520
- return compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m;
521
- })
522
- });
523
- }
524
-
525
- case SET_CURRENT_CHANNEL:
526
- {
527
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
528
- currentGroupChannel: action.payload,
529
- isInvalid: false
530
- });
531
- }
532
-
533
- case SET_CHANNEL_INVALID:
534
- {
535
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
536
- isInvalid: true
537
- });
538
- }
539
-
540
- case ON_MESSAGE_RECEIVED:
541
- {
542
- var _action$payload4 = action.payload,
543
- channel = _action$payload4.channel,
544
- message = _action$payload4.message;
545
- var members = channel.members;
546
- var sender = message.sender;
547
-
548
- var _state$currentGroupCh5 = state.currentGroupChannel,
549
- _currentGroupChannel4 = _state$currentGroupCh5 === void 0 ? {} : _state$currentGroupCh5,
550
- unreadSince = state.unreadSince;
551
-
552
- var currentGroupChannelUrl = _currentGroupChannel4.url;
553
-
554
- if (!compareIds.compareIds(channel.url, currentGroupChannelUrl)) {
555
- return state;
556
- } // Excluded overlapping messages
557
-
558
-
559
- if (state.allMessages.some(function (msg) {
560
- return msg.messageId === message.messageId;
561
- })) {
562
- return state;
563
- } // Filter by userFilledQuery
564
-
565
-
566
- if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
567
- return state;
568
- }
569
-
570
- if (message.isAdminMessage && message.isAdminMessage()) {
571
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
572
- allMessages: passUnsuccessfullMessages(state.allMessages, message)
573
- });
574
- } // Update members when sender profileUrl, nickname, friendName has been changed
575
-
576
-
577
- var senderMember = members === null || members === void 0 ? void 0 : members.find(function (m) {
578
- return (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId);
579
- });
580
-
581
- if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
582
- channel.members = members.map(function (member) {
583
- if (member.userId === sender.userId) {
584
- return sender;
585
- }
586
-
587
- return member;
588
- });
589
- }
590
-
591
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
592
- currentGroupChannel: channel,
593
- unreadSince: state !== null && state !== void 0 && state.unreadSince ? unreadSince : index$1.format(new Date(), 'p MMM dd'),
594
- allMessages: passUnsuccessfullMessages(state.allMessages, message)
595
- });
596
- }
597
-
598
- case ON_MESSAGE_UPDATED:
599
- {
600
- var _action$payload5 = action.payload,
601
- _channel = _action$payload5.channel,
602
- _message = _action$payload5.message;
603
-
604
- var _currentGroupChannelUrl = state.currentGroupChannel && state.currentGroupChannel.url || '';
605
-
606
- if (!compareIds.compareIds(_channel.url, _currentGroupChannelUrl)) {
607
- return state; // Ignore event when it is not for the current channel
608
- }
609
-
610
- if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, _message)) {
611
- // Delete the message if it doesn't match to the params anymore
612
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
613
- allMessages: state.allMessages.filter(function (m) {
614
- return !compareIds.compareIds(m.messageId, _message === null || _message === void 0 ? void 0 : _message.messageId);
615
- })
616
- });
617
- }
618
-
619
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
620
- allMessages: state.allMessages.map(function (m) {
621
- return compareIds.compareIds(m.messageId, action.payload.message.messageId) ? action.payload.message : m;
622
- })
623
- });
624
- }
625
-
626
- case ON_MESSAGE_THREAD_INFO_UPDATED:
627
- {
628
- var _action$payload6 = action.payload,
629
- _channel2 = _action$payload6.channel,
630
- event = _action$payload6.event;
631
- var channelUrl = event.channelUrl,
632
- threadInfo = event.threadInfo,
633
- targetMessageId = event.targetMessageId;
634
-
635
- var _currentGroupChannelUrl2 = state.currentGroupChannel && state.currentGroupChannel.url || '';
636
-
637
- if (!compareIds.compareIds(_channel2.url, _currentGroupChannelUrl2) || !compareIds.compareIds(_channel2.url, channelUrl)) {
638
- return state; // Ignore event when it is not for the current channel
639
- }
640
-
641
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
642
- allMessages: state.allMessages.map(function (m) {
643
- if (compareIds.compareIds(m.messageId, targetMessageId)) {
644
- // eslint-disable-next-line no-param-reassign
645
- m.threadInfo = threadInfo; // Upsert threadInfo to the target message
646
- }
647
-
648
- return m;
649
- })
650
- });
651
- }
652
-
653
- case RESEND_MESSAGEGE_START:
654
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
655
- allMessages: state.allMessages.map(function (m) {
656
- return compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m;
657
- })
658
- });
659
-
660
- case MARK_AS_READ:
661
- if (((_state$currentGroupCh6 = state.currentGroupChannel) === null || _state$currentGroupCh6 === void 0 ? void 0 : _state$currentGroupCh6.url) !== ((_action$payload7 = action.payload) === null || _action$payload7 === void 0 ? void 0 : (_action$payload7$chan = _action$payload7.channel) === null || _action$payload7$chan === void 0 ? void 0 : _action$payload7$chan.url)) {
662
- return state;
663
- }
664
-
665
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
666
- unreadSince: null
667
- });
668
-
669
- case ON_MESSAGE_DELETED:
670
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
671
- allMessages: state.allMessages.filter(function (m) {
672
- return !compareIds.compareIds(m.messageId, action.payload);
673
- })
674
- });
675
-
676
- case ON_MESSAGE_DELETED_BY_REQ_ID:
677
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
678
- allMessages: state.allMessages.filter(function (m) {
679
- return !compareIds.compareIds(m.reqId, action.payload);
680
- })
681
- });
682
-
683
- case SET_EMOJI_CONTAINER:
684
- {
685
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
686
- emojiContainer: action.payload
687
- });
688
- }
689
-
690
- case ON_REACTION_UPDATED:
691
- {
692
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
693
- allMessages: state.allMessages.map(function (m) {
694
- if (compareIds.compareIds(m.messageId, action.payload.messageId)) {
695
- if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
696
- m.applyReactionEvent(action.payload);
697
- }
698
-
699
- return m;
700
- }
701
-
702
- return m;
703
- })
704
- });
705
- }
706
-
707
- case MESSAGE_LIST_PARAMS_CHANGED:
708
- {
709
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
710
- messageListParams: action.payload
711
- });
712
- }
713
-
714
- default:
715
- return state;
716
- }
717
- }
718
-
719
- /**
720
- * Handles ChannelEvents and send values to dispatcher using messagesDispatcher
721
- * messagesDispatcher: Dispatcher
722
- * sdk: sdkInstance
723
- * logger: loggerInstance
724
- * channelUrl: string
725
- * sdkInit: bool
726
- */
727
-
728
- function useHandleChannelEvents(_ref, _ref2) {
729
- var currentGroupChannel = _ref.currentGroupChannel,
730
- sdkInit = _ref.sdkInit,
731
- hasMoreNext = _ref.hasMoreNext;
732
- var messagesDispatcher = _ref2.messagesDispatcher,
733
- sdk = _ref2.sdk,
734
- logger = _ref2.logger,
735
- scrollRef = _ref2.scrollRef,
736
- setQuoteMessage = _ref2.setQuoteMessage;
737
- React.useEffect(function () {
738
- var channelUrl = currentGroupChannel && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url);
739
- var messageReceiverId = uuid.uuidv4();
740
-
741
- if (channelUrl && sdk && sdk.ChannelHandler) {
742
- var ChannelHandler = new sdk.ChannelHandler();
743
- logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId);
744
-
745
- ChannelHandler.onMessageReceived = function (channel, message) {
746
- // Do not update when hasMoreNext
747
- if (compareIds.compareIds(channel.url, channelUrl) && !hasMoreNext) {
748
- var scrollToEnd = false;
749
-
750
- try {
751
- var current = scrollRef.current;
752
- scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight;
753
- } catch (error) {//
754
- }
755
-
756
- logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
757
- messagesDispatcher({
758
- type: ON_MESSAGE_RECEIVED,
759
- payload: {
760
- channel: channel,
761
- message: message
762
- }
763
- });
764
-
765
- if (scrollToEnd) {
766
- try {
767
- setTimeout(function () {
768
- currentGroupChannel.markAsRead();
769
- scrollIntoLast();
770
- });
771
- } catch (error) {
772
- logger.warning('Channel | onMessageReceived | scroll to end failed');
773
- }
774
- }
775
- }
776
- };
777
- /**
778
- * We need to update current channel with the channel,
779
- * when onReadReceiptUpdated or onDeliveryReceiptUpdated are called,
780
- * because cachedReadReceiptStatus and cachedDeliveryReceiptStatus properties were changed
781
- */
782
-
783
-
784
- ChannelHandler.onReadReceiptUpdated = function (channel) {
785
- if (compareIds.compareIds(channel.url, channelUrl)) {
786
- logger.info('Channel | useHandleChannelEvents: onReadReceiptUpdated', channel);
787
- messagesDispatcher({
788
- type: SET_CURRENT_CHANNEL,
789
- payload: channel
790
- });
791
- }
792
- };
793
-
794
- ChannelHandler.onDeliveryReceiptUpdated = function (channel) {
795
- if (compareIds.compareIds(channel.url, channelUrl)) {
796
- logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
797
- messagesDispatcher({
798
- type: SET_CURRENT_CHANNEL,
799
- payload: channel
800
- });
801
- }
802
- };
803
-
804
- ChannelHandler.onMessageUpdated = function (channel, message) {
805
- logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
806
- messagesDispatcher({
807
- type: ON_MESSAGE_UPDATED,
808
- payload: {
809
- channel: channel,
810
- message: message
811
- }
812
- });
813
- };
814
-
815
- ChannelHandler.onThreadInfoUpdated = function (channel, event) {
816
- logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', event);
817
- messagesDispatcher({
818
- type: ON_MESSAGE_THREAD_INFO_UPDATED,
819
- payload: {
820
- channel: channel,
821
- event: event
822
- }
823
- });
824
- };
825
-
826
- ChannelHandler.onMessageDeleted = function (_, messageId) {
827
- logger.info('Channel | useHandleChannelEvents: onMessageDeleted', messageId);
828
- setQuoteMessage(null);
829
- messagesDispatcher({
830
- type: ON_MESSAGE_DELETED,
831
- payload: messageId
832
- });
833
- };
834
-
835
- ChannelHandler.onReactionUpdated = function (_, reactionEvent) {
836
- logger.info('Channel | useHandleChannelEvents: onReactionUpdated', reactionEvent);
837
- messagesDispatcher({
838
- type: ON_REACTION_UPDATED,
839
- payload: reactionEvent
840
- });
841
- };
842
-
843
- ChannelHandler.onChannelChanged = function (groupChannel) {
844
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
845
- logger.info('Channel | useHandleChannelEvents: onChannelChanged', groupChannel);
846
- messagesDispatcher({
847
- type: SET_CURRENT_CHANNEL,
848
- payload: groupChannel
849
- });
850
- }
851
- };
852
-
853
- ChannelHandler.onChannelFrozen = function (groupChannel) {
854
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
855
- logger.info('Channel | useHandleChannelEvents: onChannelFrozen', groupChannel);
856
- messagesDispatcher({
857
- type: SET_CURRENT_CHANNEL,
858
- payload: groupChannel
859
- });
860
- }
861
- };
862
-
863
- ChannelHandler.onChannelUnfrozen = function (groupChannel) {
864
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
865
- logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', groupChannel);
866
- messagesDispatcher({
867
- type: SET_CURRENT_CHANNEL,
868
- payload: groupChannel
869
- });
870
- }
871
- };
872
-
873
- ChannelHandler.onUserMuted = function (groupChannel) {
874
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
875
- logger.info('Channel | useHandleChannelEvents: onUserMuted', groupChannel);
876
- messagesDispatcher({
877
- type: SET_CURRENT_CHANNEL,
878
- payload: groupChannel
879
- });
880
- }
881
- };
882
-
883
- ChannelHandler.onUserUnmuted = function (groupChannel) {
884
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
885
- logger.info('Channel | useHandleChannelEvents: onUserUnmuted', groupChannel);
886
- messagesDispatcher({
887
- type: SET_CURRENT_CHANNEL,
888
- payload: groupChannel
889
- });
890
- }
891
- };
892
-
893
- ChannelHandler.onUserBanned = function (groupChannel) {
894
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
895
- logger.info('Channel | useHandleChannelEvents: onUserBanned', groupChannel);
896
- messagesDispatcher({
897
- type: SET_CURRENT_CHANNEL,
898
- payload: groupChannel
899
- });
900
- }
901
- };
902
-
903
- ChannelHandler.onOperatorUpdated = function (groupChannel) {
904
- if (compareIds.compareIds(groupChannel.url, channelUrl)) {
905
- logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', groupChannel);
906
- messagesDispatcher({
907
- type: SET_CURRENT_CHANNEL,
908
- payload: groupChannel
909
- });
910
- }
911
- }; // Add this channel event handler to the SendBird object.
912
-
913
-
914
- sdk.addChannelHandler(messageReceiverId, ChannelHandler);
915
- }
916
-
917
- return function () {
918
- if (sdk && sdk.removeChannelHandler) {
919
- logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', messageReceiverId);
920
- sdk.removeChannelHandler(messageReceiverId);
921
- }
922
- };
923
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, sdkInit]);
924
- }
925
-
926
- function useSetChannel(_ref, _ref2) {
927
- var channelUrl = _ref.channelUrl,
928
- sdkInit = _ref.sdkInit;
929
- var messagesDispatcher = _ref2.messagesDispatcher,
930
- sdk = _ref2.sdk,
931
- logger = _ref2.logger;
932
- React.useEffect(function () {
933
- if (channelUrl && sdkInit && sdk && sdk.GroupChannel) {
934
- logger.info('Channel | useSetChannel fetching channel', channelUrl);
935
- sdk.GroupChannel.getChannel(channelUrl).then(function (groupChannel) {
936
- logger.info('Channel | useSetChannel fetched channel', groupChannel);
937
- messagesDispatcher({
938
- type: SET_CURRENT_CHANNEL,
939
- payload: groupChannel
940
- });
941
- logger.info('Channel: Mark as read', groupChannel); // this order is important - this mark as read should update the event handler up above
942
-
943
- groupChannel.markAsRead();
944
- }).catch(function (e) {
945
- logger.warning('Channel | useSetChannel fetch channel failed', {
946
- channelUrl: channelUrl,
947
- e: e
948
- });
949
- messagesDispatcher({
950
- type: SET_CHANNEL_INVALID
951
- });
952
- });
953
- sdk.getAllEmoji(function (emojiContainer_, err) {
954
- if (err) {
955
- logger.error('Channel: Getting emojis failed', err);
956
- return;
957
- }
958
-
959
- logger.info('Channel: Getting emojis success', emojiContainer_);
960
- messagesDispatcher({
961
- type: SET_EMOJI_CONTAINER,
962
- payload: emojiContainer_
963
- });
964
- });
965
- }
966
- }, [channelUrl, sdkInit]);
967
- }
968
-
969
- function useInitialMessagesFetch(_ref, _ref2) {
970
- var currentGroupChannel = _ref.currentGroupChannel,
971
- userFilledMessageListQuery = _ref.userFilledMessageListQuery,
972
- initialTimeStamp = _ref.initialTimeStamp,
973
- replyType = _ref.replyType;
974
- var sdk = _ref2.sdk,
975
- logger = _ref2.logger,
976
- messagesDispatcher = _ref2.messagesDispatcher;
977
- var channelUrl = currentGroupChannel && currentGroupChannel.url;
978
- React.useEffect(function () {
979
- logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);
980
- messagesDispatcher({
981
- type: RESET_MESSAGES,
982
- payload: null
983
- });
984
-
985
- if (sdk && sdk.MessageListParams && currentGroupChannel && currentGroupChannel.getMessagesByTimestamp) {
986
- var messageListParams = new sdk.MessageListParams();
987
- messageListParams.prevResultSize = PREV_RESULT_SIZE;
988
-
989
- if (initialTimeStamp) {
990
- messageListParams.nextResultSize = NEXT_RESULT_SIZE;
991
- }
992
-
993
- messageListParams.isInclusive = true;
994
- messageListParams.includeReplies = false;
995
- messageListParams.includeReaction = true;
996
-
997
- if (replyType && replyType === 'QUOTE_REPLY') {
998
- messageListParams.includeThreadInfo = true;
999
- messageListParams.includeParentMessageInfo = true;
1000
- messageListParams.replyType = 'only_reply_to_channel';
1001
- }
1002
-
1003
- if (userFilledMessageListQuery) {
1004
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
1005
- messageListParams[key] = userFilledMessageListQuery[key];
1006
- });
1007
- }
1008
-
1009
- if (replyType && replyType === 'QUOTE_REPLY' || userFilledMessageListQuery) {
1010
- logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);
1011
- messagesDispatcher({
1012
- type: MESSAGE_LIST_PARAMS_CHANGED,
1013
- payload: messageListParams
1014
- });
1015
- }
1016
-
1017
- logger.info('Channel: Fetching messages', {
1018
- currentGroupChannel: currentGroupChannel,
1019
- userFilledMessageListQuery: userFilledMessageListQuery
1020
- });
1021
- messagesDispatcher({
1022
- type: FETCH_INITIAL_MESSAGES_START,
1023
- payload: null
1024
- });
1025
- currentGroupChannel.getMessagesByTimestamp(initialTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
1026
- messagesDispatcher({
1027
- type: FETCH_INITIAL_MESSAGES_SUCCESS,
1028
- payload: {
1029
- currentGroupChannel: currentGroupChannel,
1030
- messages: messages
1031
- }
1032
- });
1033
- }).catch(function (error) {
1034
- logger.error('Channel: Fetching messages failed', error);
1035
- messagesDispatcher({
1036
- type: FETCH_INITIAL_MESSAGES_FAILURE,
1037
- payload: {
1038
- currentGroupChannel: currentGroupChannel
1039
- }
1040
- });
1041
- }).finally(function () {
1042
- if (!initialTimeStamp) {
1043
- setTimeout(function () {
1044
- return scrollIntoLast();
1045
- });
1046
- }
1047
- });
1048
- }
1049
- }, [channelUrl, userFilledMessageListQuery, initialTimeStamp]);
1050
- /**
1051
- * Note - useEffect(() => {}, [currentGroupChannel])
1052
- * was buggy, that is why we did
1053
- * const channelUrl = currentGroupChannel && currentGroupChannel.url;
1054
- * useEffect(() => {}, [channelUrl])
1055
- * Again, this hook is supposed to execute when currentGroupChannel changes
1056
- * The 'channelUrl' here is not the same memory reference from Conversation.props
1057
- */
1058
- }
1059
-
1060
- function useHandleReconnect(_a, _b) {
1061
- var isOnline = _a.isOnline,
1062
- replyType = _a.replyType;
1063
- var logger = _b.logger,
1064
- sdk = _b.sdk,
1065
- currentGroupChannel = _b.currentGroupChannel,
1066
- messagesDispatcher = _b.messagesDispatcher,
1067
- userFilledMessageListQuery = _b.userFilledMessageListQuery;
1068
- React.useEffect(function () {
1069
- var wasOffline = !isOnline;
1070
- return function () {
1071
- var _a; // state changed from offline to online
1072
-
1073
-
1074
- if (wasOffline && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url)) {
1075
- logger.info('Refreshing conversation state');
1076
- var useReaction = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.isUsingReaction) || false;
1077
- var messageListParams_1 = new sdk.MessageListParams();
1078
- messageListParams_1.prevResultSize = PREV_RESULT_SIZE;
1079
- messageListParams_1.isInclusive = true;
1080
- messageListParams_1.includeReplies = false;
1081
- messageListParams_1.includeReaction = useReaction;
1082
-
1083
- if (replyType && replyType === 'QUOTE_REPLY') {
1084
- messageListParams_1.includeThreadInfo = true;
1085
- messageListParams_1.includeParentMessageInfo = true;
1086
- messageListParams_1.replyType = 'only_reply_to_channel';
1087
- }
1088
-
1089
- if (userFilledMessageListQuery) {
1090
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
1091
- messageListParams_1[key] = userFilledMessageListQuery[key];
1092
- });
1093
- }
1094
-
1095
- logger.info('Channel: Fetching messages', {
1096
- currentGroupChannel: currentGroupChannel,
1097
- userFilledMessageListQuery: userFilledMessageListQuery
1098
- });
1099
- messagesDispatcher({
1100
- type: FETCH_INITIAL_MESSAGES_START,
1101
- payload: null
1102
- });
1103
- sdk.GroupChannel.getChannel(currentGroupChannel.url).then(function (groupChannel) {
1104
- var lastMessageTime = new Date().getTime();
1105
- groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1).then(function (messages) {
1106
- messagesDispatcher({
1107
- type: FETCH_INITIAL_MESSAGES_SUCCESS,
1108
- payload: {
1109
- currentGroupChannel: currentGroupChannel,
1110
- messages: messages
1111
- }
1112
- });
1113
- setTimeout(function () {
1114
- return scrollIntoLast();
1115
- });
1116
- }).catch(function (error) {
1117
- logger.error('Channel: Fetching messages failed', error);
1118
- messagesDispatcher({
1119
- type: FETCH_INITIAL_MESSAGES_FAILURE,
1120
- payload: {
1121
- currentGroupChannel: currentGroupChannel
1122
- }
1123
- });
1124
- }).finally(function () {
1125
- var _a;
1126
-
1127
- (_a = currentGroupChannel.markAsRead) === null || _a === void 0 ? void 0 : _a.call(currentGroupChannel);
1128
- });
1129
- });
1130
- }
1131
- };
1132
- }, [isOnline, replyType]);
1133
- }
1134
-
1135
- function useScrollCallback(_ref, _ref2) {
1136
- var currentGroupChannel = _ref.currentGroupChannel,
1137
- oldestMessageTimeStamp = _ref.oldestMessageTimeStamp,
1138
- userFilledMessageListQuery = _ref.userFilledMessageListQuery,
1139
- replyType = _ref.replyType;
1140
- var hasMorePrev = _ref2.hasMorePrev,
1141
- logger = _ref2.logger,
1142
- messagesDispatcher = _ref2.messagesDispatcher,
1143
- sdk = _ref2.sdk;
1144
- return React.useCallback(function (cb) {
1145
- if (!hasMorePrev) {
1146
- return;
1147
- }
1148
-
1149
- var _sdk$appInfo = sdk.appInfo,
1150
- appInfo = _sdk$appInfo === void 0 ? {} : _sdk$appInfo;
1151
- var useReaction = appInfo.isUsingReaction || false;
1152
- var messageListParams = new sdk.MessageListParams();
1153
- messageListParams.prevResultSize = PREV_RESULT_SIZE;
1154
- messageListParams.isInclusive = true;
1155
- messageListParams.includeReplies = false;
1156
- messageListParams.includeReaction = useReaction;
1157
-
1158
- if (replyType && replyType === 'QUOTE_REPLY') {
1159
- messageListParams.includeThreadInfo = true;
1160
- messageListParams.includeParentMessageInfo = true;
1161
- messageListParams.replyType = 'only_reply_to_channel';
1162
- }
1163
-
1164
- if (userFilledMessageListQuery) {
1165
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
1166
- messageListParams[key] = userFilledMessageListQuery[key];
1167
- });
1168
- }
1169
-
1170
- logger.info('Channel: Fetching messages', {
1171
- currentGroupChannel: currentGroupChannel,
1172
- userFilledMessageListQuery: userFilledMessageListQuery
1173
- });
1174
- currentGroupChannel.getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
1175
- messagesDispatcher({
1176
- type: FETCH_PREV_MESSAGES_SUCCESS,
1177
- payload: {
1178
- currentGroupChannel: currentGroupChannel,
1179
- messages: messages
1180
- }
1181
- });
1182
- cb([messages, null]);
1183
- }).catch(function (error) {
1184
- logger.error('Channel: Fetching messages failed', error);
1185
- messagesDispatcher({
1186
- type: FETCH_PREV_MESSAGES_FAILURE,
1187
- payload: {
1188
- currentGroupChannel: currentGroupChannel
1189
- }
1190
- });
1191
- cb([null, error]);
1192
- });
1193
- }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);
1194
- }
1195
-
1196
- function useScrollDownCallback(_ref, _ref2) {
1197
- var currentGroupChannel = _ref.currentGroupChannel,
1198
- latestMessageTimeStamp = _ref.latestMessageTimeStamp,
1199
- userFilledMessageListQuery = _ref.userFilledMessageListQuery,
1200
- hasMoreNext = _ref.hasMoreNext,
1201
- replyType = _ref.replyType;
1202
- var logger = _ref2.logger,
1203
- messagesDispatcher = _ref2.messagesDispatcher,
1204
- sdk = _ref2.sdk;
1205
- return React.useCallback(function (cb) {
1206
- if (!hasMoreNext) {
1207
- return;
1208
- }
1209
-
1210
- var _sdk$appInfo = sdk.appInfo,
1211
- appInfo = _sdk$appInfo === void 0 ? {} : _sdk$appInfo;
1212
- var useReaction = appInfo.isUsingReaction || false;
1213
- var messageListParams = new sdk.MessageListParams();
1214
- messageListParams.nextResultSize = NEXT_RESULT_SIZE;
1215
- messageListParams.isInclusive = true;
1216
- messageListParams.includeReplies = false;
1217
- messageListParams.includeReaction = useReaction;
1218
-
1219
- if (replyType && replyType === 'QUOTE_REPLY') {
1220
- messageListParams.includeThreadInfo = true;
1221
- messageListParams.includeParentMessageInfo = true;
1222
- messageListParams.replyType = 'only_reply_to_channel';
1223
- }
1224
-
1225
- if (userFilledMessageListQuery) {
1226
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
1227
- messageListParams[key] = userFilledMessageListQuery[key];
1228
- });
1229
- }
1230
-
1231
- logger.info('Channel: Fetching later messages', {
1232
- currentGroupChannel: currentGroupChannel,
1233
- userFilledMessageListQuery: userFilledMessageListQuery
1234
- });
1235
- currentGroupChannel.getMessagesByTimestamp(latestMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
1236
- messagesDispatcher({
1237
- type: FETCH_NEXT_MESSAGES_SUCCESS,
1238
- payload: {
1239
- currentGroupChannel: currentGroupChannel,
1240
- messages: messages
1241
- }
1242
- });
1243
- cb([messages, null]);
1244
- }).catch(function (error) {
1245
- logger.error('Channel: Fetching later messages failed', error);
1246
- messagesDispatcher({
1247
- type: FETCH_NEXT_MESSAGES_FAILURE,
1248
- payload: {
1249
- currentGroupChannel: currentGroupChannel
1250
- }
1251
- });
1252
- cb([null, error]);
1253
- });
1254
- }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);
1255
- }
1256
-
1257
- function useDeleteMessageCallback(_ref, _ref2) {
1258
- var currentGroupChannel = _ref.currentGroupChannel,
1259
- messagesDispatcher = _ref.messagesDispatcher;
1260
- var logger = _ref2.logger;
1261
- return React.useCallback(function (message) {
1262
- logger.info('Channel | useDeleteMessageCallback: Deleting message', message);
1263
- var requestState = message.requestState;
1264
- return new Promise(function (resolve, reject) {
1265
- logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState); // Message is only on local
1266
-
1267
- if (requestState === 'failed' || requestState === 'pending') {
1268
- logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
1269
- messagesDispatcher({
1270
- type: ON_MESSAGE_DELETED_BY_REQ_ID,
1271
- payload: message.reqId
1272
- });
1273
- resolve(message);
1274
- } // Message is on server
1275
-
1276
-
1277
- currentGroupChannel.deleteMessage(message, function (err) {
1278
- logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);
1279
-
1280
- if (!err) {
1281
- logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
1282
- messagesDispatcher({
1283
- type: ON_MESSAGE_DELETED,
1284
- payload: message.messageId
1285
- });
1286
- resolve(message);
1287
- } else {
1288
- logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);
1289
- reject(err);
1290
- }
1291
- });
1292
- });
1293
- }, [currentGroupChannel, messagesDispatcher]);
1294
- }
1295
-
1296
- function useUpdateMessageCallback(_ref, _ref2) {
1297
- var currentGroupChannel = _ref.currentGroupChannel,
1298
- messagesDispatcher = _ref.messagesDispatcher,
1299
- onBeforeUpdateUserMessage = _ref.onBeforeUpdateUserMessage;
1300
- var logger = _ref2.logger,
1301
- pubSub = _ref2.pubSub,
1302
- sdk = _ref2.sdk;
1303
- return React.useCallback(function (messageId, text, cb) {
1304
- var createParamsDefault = function createParamsDefault(txt) {
1305
- var params = new sdk.UserMessageParams();
1306
- params.message = txt;
1307
- return params;
1308
- };
1309
-
1310
- var createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
1311
-
1312
- if (createCustomPrams) {
1313
- logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
1314
- }
1315
-
1316
- var params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(text) : createParamsDefault(text);
1317
- currentGroupChannel.updateUserMessage(messageId, params, function (r, e) {
1318
- logger.info('Channel: Updating message!', params);
1319
- var swapParams = sdk.getErrorFirstCallback();
1320
- var message = r;
1321
- var err = e;
1322
-
1323
- if (swapParams) {
1324
- message = e;
1325
- err = r;
1326
- }
1327
-
1328
- if (cb) {
1329
- cb(err, message);
1330
- }
1331
-
1332
- if (!err) {
1333
- logger.info('Channel: Updating message success!', message);
1334
- messagesDispatcher({
1335
- type: ON_MESSAGE_UPDATED,
1336
- payload: {
1337
- channel: currentGroupChannel,
1338
- message: message
1339
- }
1340
- });
1341
- pubSub.publish(topics.UPDATE_USER_MESSAGE, {
1342
- message: message,
1343
- channel: currentGroupChannel
1344
- });
1345
- } else {
1346
- logger.warning('Channel: Updating message failed!', err);
1347
- }
1348
- });
1349
- }, [currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);
1350
- }
1351
-
1352
- function useResendMessageCallback(_ref, _ref2) {
1353
- var currentGroupChannel = _ref.currentGroupChannel,
1354
- messagesDispatcher = _ref.messagesDispatcher;
1355
- var logger = _ref2.logger;
1356
- return React.useCallback(function (failedMessage) {
1357
- logger.info('Channel: Resending message has started', failedMessage);
1358
- var messageType = failedMessage.messageType,
1359
- file = failedMessage.file;
1360
-
1361
- if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable()) {
1362
- // Move the logic setting sendingStatus to pending into the reducer
1363
- // eslint-disable-next-line no-param-reassign
1364
- failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
1365
-
1366
- failedMessage.sendingStatus = 'pending';
1367
- messagesDispatcher({
1368
- type: RESEND_MESSAGEGE_START,
1369
- payload: failedMessage
1370
- }); // userMessage
1371
-
1372
- if (messageType === 'user') {
1373
- currentGroupChannel.resendUserMessage(failedMessage).then(function (message) {
1374
- logger.info('Channel: Resending message success!', message);
1375
- messagesDispatcher({
1376
- type: SEND_MESSAGEGE_SUCESS,
1377
- payload: message
1378
- });
1379
- }).catch(function (e) {
1380
- logger.warning('Channel: Resending message failed!', e); // eslint-disable-next-line no-param-reassign
1381
-
1382
- failedMessage.requestState = 'failed'; // eslint-disable-next-line no-param-reassign
1383
-
1384
- failedMessage.sendingStatus = 'failed';
1385
- messagesDispatcher({
1386
- type: SEND_MESSAGEGE_FAILURE,
1387
- payload: failedMessage
1388
- });
1389
- }); // eslint-disable-next-line no-param-reassign
1390
-
1391
- failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
1392
-
1393
- failedMessage.sendingStatus = 'pending';
1394
- messagesDispatcher({
1395
- type: RESEND_MESSAGEGE_START,
1396
- payload: failedMessage
1397
- });
1398
- return;
1399
- }
1400
-
1401
- if (messageType === 'file') {
1402
- currentGroupChannel.resendFileMessage(failedMessage, file).then(function (message) {
1403
- logger.info('Channel: Resending file message success!', message);
1404
- messagesDispatcher({
1405
- type: SEND_MESSAGEGE_SUCESS,
1406
- payload: message
1407
- });
1408
- }).catch(function (e) {
1409
- logger.warning('Channel: Resending file message failed!', e); // eslint-disable-next-line no-param-reassign
1410
-
1411
- failedMessage.requestState = 'failed'; // eslint-disable-next-line no-param-reassign
1412
-
1413
- failedMessage.sendingStatus = 'failed';
1414
- messagesDispatcher({
1415
- type: SEND_MESSAGEGE_FAILURE,
1416
- payload: failedMessage
1417
- });
1418
- }); // eslint-disable-next-line no-param-reassign
1419
-
1420
- failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
1421
-
1422
- failedMessage.sendingStatus = 'pending';
1423
- messagesDispatcher({
1424
- type: RESEND_MESSAGEGE_START,
1425
- payload: failedMessage
1426
- });
1427
- }
1428
- } else {
1429
- // to alert user on console
1430
- // eslint-disable-next-line no-console
1431
- console.error('Message is not resendable');
1432
- logger.warning('Message is not resendable', failedMessage);
1433
- }
1434
- }, [currentGroupChannel, messagesDispatcher]);
1435
- }
1436
-
1437
- function useSendMessageCallback(_ref, _ref2) {
1438
- var currentGroupChannel = _ref.currentGroupChannel,
1439
- onBeforeSendUserMessage = _ref.onBeforeSendUserMessage;
1440
- var sdk = _ref2.sdk,
1441
- logger = _ref2.logger,
1442
- pubSub = _ref2.pubSub,
1443
- messagesDispatcher = _ref2.messagesDispatcher;
1444
- var messageInputRef = React.useRef(null);
1445
- var sendMessage = React.useCallback(function () {
1446
- var quoteMessage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1447
- var text = messageInputRef.current.value;
1448
-
1449
- var createParamsDefault = function createParamsDefault(txt) {
1450
- var message = typeof txt === 'string' ? txt.trim() : txt;
1451
- var params = new sdk.UserMessageParams();
1452
- params.message = message;
1453
-
1454
- if (quoteMessage) {
1455
- params.isReplyToChannel = true;
1456
- params.parentMessageId = quoteMessage.messageId;
1457
- }
1458
-
1459
- return params;
1460
- };
1461
-
1462
- var createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
1463
-
1464
- if (createCustomPrams) {
1465
- logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
1466
- }
1467
-
1468
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text, quoteMessage) : createParamsDefault(text);
1469
- logger.info('Channel: Sending message has started', params);
1470
- var pendingMsg = currentGroupChannel.sendUserMessage(params, function (res, err) {
1471
- var swapParams = sdk.getErrorFirstCallback();
1472
- var message = res;
1473
- var error = err;
1474
-
1475
- if (swapParams) {
1476
- message = err;
1477
- error = res;
1478
- } // sending params instead of pending message
1479
- // to make sure that we can resend the message once it fails
1480
-
1481
-
1482
- if (error) {
1483
- logger.warning('Channel: Sending message failed!', {
1484
- message: message
1485
- });
1486
- messagesDispatcher({
1487
- type: SEND_MESSAGEGE_FAILURE,
1488
- payload: message
1489
- });
1490
- return;
1491
- }
1492
-
1493
- logger.info('Channel: Sending message success!', message);
1494
- messagesDispatcher({
1495
- type: SEND_MESSAGEGE_SUCESS,
1496
- payload: message
1497
- });
1498
- });
1499
- pubSub.publish(topics.SEND_MESSAGE_START, {
1500
- /* pubSub is used instead of messagesDispatcher
1501
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1502
- message: pendingMsg,
1503
- channel: currentGroupChannel
1504
- });
1505
- setTimeout(function () {
1506
- return scrollIntoLast();
1507
- });
1508
- }, [currentGroupChannel, onBeforeSendUserMessage]);
1509
- return [messageInputRef, sendMessage];
1510
- }
1511
-
1512
- function useSendFileMessageCallback(_ref, _ref2) {
1513
- var currentGroupChannel = _ref.currentGroupChannel,
1514
- onBeforeSendFileMessage = _ref.onBeforeSendFileMessage,
1515
- _ref$imageCompression = _ref.imageCompression,
1516
- imageCompression = _ref$imageCompression === void 0 ? {} : _ref$imageCompression;
1517
- var sdk = _ref2.sdk,
1518
- logger = _ref2.logger,
1519
- pubSub = _ref2.pubSub,
1520
- messagesDispatcher = _ref2.messagesDispatcher;
1521
- var sendMessage = React.useCallback(function (file) {
1522
- var quoteMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1523
- var compressionRate = imageCompression.compressionRate,
1524
- resizingWidth = imageCompression.resizingWidth,
1525
- resizingHeight = imageCompression.resizingHeight;
1526
- var createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
1527
- var compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
1528
- var compressibleRatio = compressionRate > 0 && compressionRate < 1; // pxToNumber returns null if values are invalid
1529
-
1530
- var compressibleDiamensions = pxToNumber(resizingWidth) || pxToNumber(resizingHeight);
1531
- var canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
1532
-
1533
- var createParamsDefault = function createParamsDefault(file_) {
1534
- var params = new sdk.FileMessageParams();
1535
- params.file = file_;
1536
-
1537
- if (quoteMessage) {
1538
- params.isReplyToChannel = true;
1539
- params.parentMessageId = quoteMessage.messageId;
1540
- }
1541
-
1542
- return params;
1543
- };
1544
-
1545
- if (canCompressImage) {
1546
- // Using image compression
1547
- try {
1548
- var image = document.createElement('img');
1549
- image.src = URL.createObjectURL(file);
1550
-
1551
- image.onload = function () {
1552
- URL.revokeObjectURL(image.src);
1553
- var canvas = document.createElement('canvas');
1554
- var imageWdith = image.naturalWidth || image.width;
1555
- var imageHeight = image.naturalHeight || image.height;
1556
- var targetWidth = pxToNumber(resizingWidth) || imageWdith;
1557
- var targetHeight = pxToNumber(resizingHeight) || imageHeight; // In canvas.toBlob(callback, mimeType, qualityArgument)
1558
- // qualityArgument doesnt work
1559
- // so in case compressibleDiamensions are not present, we use ratio
1560
-
1561
- if (file.type === 'image/png' && !compressibleDiamensions) {
1562
- targetWidth *= compressionRate;
1563
- targetHeight *= compressionRate;
1564
- }
1565
-
1566
- canvas.width = targetWidth;
1567
- canvas.height = targetHeight;
1568
- var context = canvas.getContext('2d');
1569
- context.drawImage(image, 0, 0, targetWidth, targetHeight);
1570
- context.canvas.toBlob(function (newImageBlob) {
1571
- var compressedFile = new File([newImageBlob], file.name, {
1572
- type: file.type
1573
- });
1574
-
1575
- if (createCustomParams) {
1576
- logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1577
- }
1578
-
1579
- var params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
1580
- logger.info('Channel: Uploading file message start!', params);
1581
- var pendingMessage = currentGroupChannel.sendFileMessage(params, function (response, err) {
1582
- var swapParams = sdk.getErrorFirstCallback();
1583
-
1584
- var _ref3 = swapParams ? [err, response] : [response, err],
1585
- _ref4 = _rollupPluginBabelHelpers._slicedToArray(_ref3, 2),
1586
- message = _ref4[0],
1587
- error = _ref4[1];
1588
-
1589
- if (error) {
1590
- // sending params instead of pending message
1591
- // to make sure that we can resend the message once it fails
1592
- logger.error('Channel: Sending file message failed!', {
1593
- message: message,
1594
- error: error
1595
- });
1596
- message.localUrl = URL.createObjectURL(compressedFile);
1597
- message.file = compressedFile;
1598
- messagesDispatcher({
1599
- type: SEND_MESSAGEGE_FAILURE,
1600
- payload: message
1601
- });
1602
- return;
1603
- }
1604
-
1605
- logger.info('Channel: Sending file message success!', message);
1606
- messagesDispatcher({
1607
- type: SEND_MESSAGEGE_SUCESS,
1608
- payload: message
1609
- });
1610
- });
1611
- pubSub.publish(topics.SEND_MESSAGE_START, {
1612
- /* pubSub is used instead of messagesDispatcher
1613
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1614
- message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
1615
- url: URL.createObjectURL(compressedFile),
1616
- // pending thumbnail message seems to be failed
1617
- requestState: 'pending'
1618
- }),
1619
- channel: currentGroupChannel
1620
- });
1621
- setTimeout(function () {
1622
- return scrollIntoLast();
1623
- }, 1000);
1624
- }, file.type, compressionRate);
1625
- };
1626
- } catch (error) {
1627
- logger.error('Channel: Sending file message failed!', error);
1628
- }
1629
- } else {
1630
- // Not using image compression
1631
- if (createCustomParams) {
1632
- logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1633
- }
1634
-
1635
- var params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
1636
- logger.info('Channel: Uploading file message start!', params);
1637
- var pendingMsg = currentGroupChannel.sendFileMessage(params, function (response, err) {
1638
- var swapParams = sdk.getErrorFirstCallback();
1639
-
1640
- var _ref5 = swapParams ? [err, response] : [response, err],
1641
- _ref6 = _rollupPluginBabelHelpers._slicedToArray(_ref5, 2),
1642
- message = _ref6[0],
1643
- error = _ref6[1];
1644
-
1645
- if (error) {
1646
- // sending params instead of pending message
1647
- // to make sure that we can resend the message once it fails
1648
- logger.error('Channel: Sending file message failed!', {
1649
- message: message,
1650
- error: error
1651
- });
1652
- message.localUrl = URL.createObjectURL(file);
1653
- message.file = file;
1654
- messagesDispatcher({
1655
- type: SEND_MESSAGEGE_FAILURE,
1656
- payload: message
1657
- });
1658
- return;
1659
- }
1660
-
1661
- logger.info('Channel: Sending message success!', message);
1662
- messagesDispatcher({
1663
- type: SEND_MESSAGEGE_SUCESS,
1664
- payload: message
1665
- });
1666
- });
1667
- pubSub.publish(topics.SEND_MESSAGE_START, {
1668
- /* pubSub is used instead of messagesDispatcher
1669
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
1670
- message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
1671
- url: URL.createObjectURL(file),
1672
- // pending thumbnail message seems to be failed
1673
- requestState: 'pending'
1674
- }),
1675
- channel: currentGroupChannel
1676
- });
1677
- setTimeout(function () {
1678
- return scrollIntoLast();
1679
- }, 1000);
1680
- }
1681
- }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);
1682
- return [sendMessage];
1683
- }
1684
-
1685
- function useMemoizedEmojiListItems(_ref, _ref2) {
1686
- var emojiContainer = _ref.emojiContainer,
1687
- toggleReaction = _ref.toggleReaction;
1688
- var useReaction = _ref2.useReaction,
1689
- logger = _ref2.logger,
1690
- userId = _ref2.userId,
1691
- emojiAllList = _ref2.emojiAllList;
1692
-
1693
- /* eslint-disable react/prop-types */
1694
- return React.useMemo(function () {
1695
- return function (_ref3) {
1696
- var parentRef = _ref3.parentRef,
1697
- parentContainRef = _ref3.parentContainRef,
1698
- message = _ref3.message,
1699
- closeDropdown = _ref3.closeDropdown,
1700
- _ref3$spaceFromTrigge = _ref3.spaceFromTrigger,
1701
- spaceFromTrigger = _ref3$spaceFromTrigge === void 0 ? {} : _ref3$spaceFromTrigge;
1702
-
1703
- if (!useReaction || !(parentRef || parentContainRef || message || closeDropdown)) {
1704
- logger.warning('Channel: Invalid Params in memoizedEmojiListItems');
1705
- return null;
1706
- }
1707
-
1708
- return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.EmojiListItems, {
1709
- parentRef: parentRef,
1710
- parentContainRef: parentContainRef,
1711
- closeDropdown: closeDropdown,
1712
- spaceFromTrigger: spaceFromTrigger
1713
- }, emojiAllList.map(function (emoji) {
1714
- var reactedReaction = message.reactions.filter(function (reaction) {
1715
- return reaction.key === emoji.key;
1716
- })[0];
1717
- var isReacted = reactedReaction ? !(reactedReaction.userIds.indexOf(userId) < 0) : false;
1718
- return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
1719
- key: emoji.key,
1720
- width: "36px",
1721
- height: "36px",
1722
- selected: isReacted,
1723
- onClick: function onClick() {
1724
- closeDropdown();
1725
- toggleReaction(message, emoji.key, isReacted);
1726
- }
1727
- }, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
1728
- url: emoji.url,
1729
- width: "28px",
1730
- height: "28px",
1731
- defaultComponent: /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
1732
- width: "28px",
1733
- height: "28px",
1734
- type: ui_Icon.IconTypes.QUESTION
1735
- })
1736
- }));
1737
- }));
1738
- };
1739
- }, [emojiContainer, toggleReaction]);
1740
- }
1741
-
1742
- function useToggleReactionCallback(_ref, _ref2) {
1743
- var currentGroupChannel = _ref.currentGroupChannel;
1744
- var logger = _ref2.logger;
1745
- return React.useCallback(function (message, key, isReacted) {
1746
- if (isReacted) {
1747
- currentGroupChannel.deleteReaction(message, key).then(function (res) {
1748
- logger.info('Delete reaction success', res);
1749
- }).catch(function (err) {
1750
- logger.warning('Delete reaction failed', err);
1751
- });
1752
- return;
1753
- }
1754
-
1755
- currentGroupChannel.addReaction(message, key).then(function (res) {
1756
- logger.info('Add reaction success', res);
1757
- }).catch(function (err) {
1758
- logger.warning('Add reaction failed', err);
1759
- });
1760
- }, [currentGroupChannel]);
1761
- }
1762
-
1763
- function useScrollToMessage(_a, _b) {
1764
- var setInitialTimeStamp = _a.setInitialTimeStamp,
1765
- setAnimatedMessageId = _a.setAnimatedMessageId,
1766
- allMessages = _a.allMessages;
1767
- var logger = _b.logger;
1768
- return React.useCallback(function (createdAt, messageId) {
1769
- var isPresent = allMessages.find(function (m) {
1770
- return m.messageId === messageId;
1771
- });
1772
- setAnimatedMessageId(null);
1773
- setTimeout(function () {
1774
- if (isPresent) {
1775
- logger.info('Channel: scroll to message - message is present');
1776
- setAnimatedMessageId(messageId);
1777
- } else {
1778
- logger.info('Channel: scroll to message - fetching older messages');
1779
- setInitialTimeStamp(null);
1780
- setInitialTimeStamp(createdAt);
1781
- setAnimatedMessageId(messageId);
1782
- }
1783
- });
1784
- }, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
1785
- }
1786
-
1787
- var ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
1788
-
1789
- var ChannelProvider = function ChannelProvider(props) {
1790
- var _a, _b, _c, _d;
1791
-
1792
- var channelUrl = props.channelUrl,
1793
- children = props.children,
1794
- useMessageGrouping = props.useMessageGrouping,
1795
- useReaction = props.useReaction,
1796
- showSearchIcon = props.showSearchIcon,
1797
- highlightedMessage = props.highlightedMessage,
1798
- startingPoint = props.startingPoint,
1799
- onBeforeSendUserMessage = props.onBeforeSendUserMessage,
1800
- onBeforeSendFileMessage = props.onBeforeSendFileMessage,
1801
- onBeforeUpdateUserMessage = props.onBeforeUpdateUserMessage,
1802
- onChatHeaderActionClick = props.onChatHeaderActionClick,
1803
- onSearchClick = props.onSearchClick,
1804
- replyType = props.replyType,
1805
- queries = props.queries;
1806
- var globalStore = useSendbirdStateContext();
1807
- var config = globalStore.config;
1808
- var pubSub = config.pubSub,
1809
- logger = config.logger,
1810
- userId = config.userId,
1811
- isOnline = config.isOnline,
1812
- imageCompression = config.imageCompression;
1813
- var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
1814
- var sdkInit = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.sdkStore) === null || _d === void 0 ? void 0 : _d.initialized;
1815
-
1816
- var _e = React.useState(startingPoint),
1817
- initialTimeStamp = _e[0],
1818
- setInitialTimeStamp = _e[1];
1819
-
1820
- React.useEffect(function () {
1821
- setInitialTimeStamp(startingPoint);
1822
- }, [startingPoint, channelUrl]);
1823
-
1824
- var _f = React.useState(null),
1825
- animatedMessageId = _f[0],
1826
- setAnimatedMessageId = _f[1];
1827
-
1828
- var _g = React.useState(highlightedMessage),
1829
- highLightedMessageId = _g[0],
1830
- setHighLightedMessageId = _g[1];
1831
-
1832
- React.useEffect(function () {
1833
- setHighLightedMessageId(highlightedMessage);
1834
- }, [highlightedMessage]);
1835
- var userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1836
-
1837
- var _h = React.useState(null),
1838
- quoteMessage = _h[0],
1839
- setQuoteMessage = _h[1];
1840
-
1841
- var _j = React.useReducer(reducer, messagesInitialState),
1842
- messagesStore = _j[0],
1843
- messagesDispatcher = _j[1];
1844
-
1845
- var scrollRef = React.useRef(null);
1846
- var allMessages = messagesStore.allMessages,
1847
- loading = messagesStore.loading,
1848
- initialized = messagesStore.initialized,
1849
- unreadSince = messagesStore.unreadSince,
1850
- isInvalid = messagesStore.isInvalid,
1851
- currentGroupChannel = messagesStore.currentGroupChannel,
1852
- hasMorePrev = messagesStore.hasMorePrev,
1853
- oldestMessageTimeStamp = messagesStore.oldestMessageTimeStamp,
1854
- hasMoreNext = messagesStore.hasMoreNext,
1855
- latestMessageTimeStamp = messagesStore.latestMessageTimeStamp,
1856
- emojiContainer = messagesStore.emojiContainer,
1857
- readStatus = messagesStore.readStatus;
1858
- var isBroadcast = currentGroupChannel.isBroadcast,
1859
- isSuper = currentGroupChannel.isSuper;
1860
- var appInfo = sdk.appInfo;
1861
- var usingReaction = (appInfo === null || appInfo === void 0 ? void 0 : appInfo.isUsingReaction) && !isBroadcast && !isSuper && useReaction // TODO: Make useReaction independent from appInfo.isUsingReaction
1862
- ;
1863
- var emojiAllMap = React.useMemo(function () {
1864
- return usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map();
1865
- }, [emojiContainer]);
1866
- var emojiAllList = React.useMemo(function () {
1867
- return usingReaction ? getAllEmojisFromEmojiContainer(emojiContainer) : [];
1868
- }, [emojiContainer]);
1869
- var nicknamesMap = React.useMemo(function () {
1870
- return usingReaction ? getNicknamesMapFromMembers(currentGroupChannel.members) : new Map();
1871
- }, [currentGroupChannel.members]); // Scrollup is default scroll for channel
1872
-
1873
- var onScrollCallback = useScrollCallback({
1874
- currentGroupChannel: currentGroupChannel,
1875
- oldestMessageTimeStamp: oldestMessageTimeStamp,
1876
- userFilledMessageListQuery: userFilledMessageListQuery,
1877
- replyType: replyType
1878
- }, {
1879
- hasMorePrev: hasMorePrev,
1880
- logger: logger,
1881
- messagesDispatcher: messagesDispatcher,
1882
- sdk: sdk
1883
- });
1884
- var scrollToMessage = useScrollToMessage({
1885
- setInitialTimeStamp: setInitialTimeStamp,
1886
- setAnimatedMessageId: setAnimatedMessageId,
1887
- allMessages: allMessages
1888
- }, {
1889
- logger: logger
1890
- }); // onScrollDownCallback is added for navigation to different timestamps on messageSearch
1891
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
1892
- // hasMoreNext, onScrollDownCallback -> scroll down
1893
-
1894
- var onScrollDownCallback = useScrollDownCallback({
1895
- currentGroupChannel: currentGroupChannel,
1896
- latestMessageTimeStamp: latestMessageTimeStamp,
1897
- userFilledMessageListQuery: userFilledMessageListQuery,
1898
- hasMoreNext: hasMoreNext,
1899
- replyType: replyType
1900
- }, {
1901
- logger: logger,
1902
- messagesDispatcher: messagesDispatcher,
1903
- sdk: sdk
1904
- });
1905
- var toggleReaction = useToggleReactionCallback({
1906
- currentGroupChannel: currentGroupChannel
1907
- }, {
1908
- logger: logger
1909
- });
1910
- var memoizedEmojiListItems = useMemoizedEmojiListItems({
1911
- emojiContainer: emojiContainer,
1912
- toggleReaction: toggleReaction
1913
- }, {
1914
- useReaction: usingReaction,
1915
- logger: logger,
1916
- userId: userId,
1917
- emojiAllList: emojiAllList
1918
- }); // to create message-datasource
1919
- // this hook sets currentGroupChannel asynchronously
1920
-
1921
- useSetChannel({
1922
- channelUrl: channelUrl,
1923
- sdkInit: sdkInit
1924
- }, {
1925
- messagesDispatcher: messagesDispatcher,
1926
- sdk: sdk,
1927
- logger: logger
1928
- }); // to set quote message as null
1929
-
1930
- React.useEffect(function () {
1931
- setQuoteMessage(null);
1932
- }, [channelUrl]); // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
1933
-
1934
- useHandleChannelEvents({
1935
- currentGroupChannel: currentGroupChannel,
1936
- sdkInit: sdkInit,
1937
- hasMoreNext: hasMoreNext
1938
- }, {
1939
- messagesDispatcher: messagesDispatcher,
1940
- sdk: sdk,
1941
- logger: logger,
1942
- scrollRef: scrollRef,
1943
- setQuoteMessage: setQuoteMessage
1944
- }); // hook that fetches messages when channel changes
1945
- // to be clear here useGetChannel sets currentGroupChannel
1946
- // and useInitialMessagesFetch executes when currentGroupChannel changes
1947
- // p.s This one executes on initialTimeStamp change too
1948
-
1949
- useInitialMessagesFetch({
1950
- currentGroupChannel: currentGroupChannel,
1951
- userFilledMessageListQuery: userFilledMessageListQuery,
1952
- initialTimeStamp: initialTimeStamp,
1953
- latestMessageTimeStamp: latestMessageTimeStamp,
1954
- replyType: replyType
1955
- }, {
1956
- sdk: sdk,
1957
- logger: logger,
1958
- messagesDispatcher: messagesDispatcher
1959
- }); // handles API calls from withSendbird
1960
-
1961
- React.useEffect(function () {
1962
- var subScriber = pubSubHandler(channelUrl, pubSub, messagesDispatcher);
1963
- return function () {
1964
- pubSubHandleRemover(subScriber);
1965
- };
1966
- }, [channelUrl, sdkInit]); // handling connection breaks
1967
-
1968
- useHandleReconnect({
1969
- isOnline: isOnline,
1970
- replyType: replyType
1971
- }, {
1972
- logger: logger,
1973
- sdk: sdk,
1974
- currentGroupChannel: currentGroupChannel,
1975
- messagesDispatcher: messagesDispatcher,
1976
- userFilledMessageListQuery: userFilledMessageListQuery
1977
- }); // callbacks for Message CURD actions
1978
-
1979
- var deleteMessage = useDeleteMessageCallback({
1980
- currentGroupChannel: currentGroupChannel,
1981
- messagesDispatcher: messagesDispatcher
1982
- }, {
1983
- logger: logger
1984
- });
1985
- var updateMessage = useUpdateMessageCallback({
1986
- currentGroupChannel: currentGroupChannel,
1987
- messagesDispatcher: messagesDispatcher,
1988
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage
1989
- }, {
1990
- logger: logger,
1991
- sdk: sdk,
1992
- pubSub: pubSub
1993
- });
1994
- var resendMessage = useResendMessageCallback({
1995
- currentGroupChannel: currentGroupChannel,
1996
- messagesDispatcher: messagesDispatcher
1997
- }, {
1998
- logger: logger
1999
- });
2000
-
2001
- var _k = useSendMessageCallback({
2002
- currentGroupChannel: currentGroupChannel,
2003
- onBeforeSendUserMessage: onBeforeSendUserMessage
2004
- }, {
2005
- sdk: sdk,
2006
- logger: logger,
2007
- pubSub: pubSub,
2008
- messagesDispatcher: messagesDispatcher
2009
- }),
2010
- messageInputRef = _k[0],
2011
- sendMessage = _k[1];
2012
-
2013
- var sendFileMessage = useSendFileMessageCallback({
2014
- currentGroupChannel: currentGroupChannel,
2015
- onBeforeSendFileMessage: onBeforeSendFileMessage,
2016
- imageCompression: imageCompression
2017
- }, {
2018
- sdk: sdk,
2019
- logger: logger,
2020
- pubSub: pubSub,
2021
- messagesDispatcher: messagesDispatcher
2022
- })[0];
2023
- return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
2024
- value: {
2025
- // props
2026
- channelUrl: channelUrl,
2027
- useMessageGrouping: useMessageGrouping,
2028
- useReaction: usingReaction,
2029
- showSearchIcon: showSearchIcon,
2030
- highlightedMessage: highlightedMessage,
2031
- startingPoint: startingPoint,
2032
- onBeforeSendUserMessage: onBeforeSendUserMessage,
2033
- onBeforeSendFileMessage: onBeforeSendFileMessage,
2034
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
2035
- onChatHeaderActionClick: onChatHeaderActionClick,
2036
- onSearchClick: onSearchClick,
2037
- replyType: replyType,
2038
- queries: queries,
2039
- // messagesStore
2040
- allMessages: allMessages,
2041
- loading: loading,
2042
- initialized: initialized,
2043
- unreadSince: unreadSince,
2044
- isInvalid: isInvalid,
2045
- currentGroupChannel: currentGroupChannel,
2046
- hasMorePrev: hasMorePrev,
2047
- hasMoreNext: hasMoreNext,
2048
- oldestMessageTimeStamp: oldestMessageTimeStamp,
2049
- latestMessageTimeStamp: latestMessageTimeStamp,
2050
- emojiContainer: emojiContainer,
2051
- readStatus: readStatus,
2052
- // utils
2053
- scrollToMessage: scrollToMessage,
2054
- quoteMessage: quoteMessage,
2055
- setQuoteMessage: setQuoteMessage,
2056
- deleteMessage: deleteMessage,
2057
- updateMessage: updateMessage,
2058
- resendMessage: resendMessage,
2059
- messageInputRef: messageInputRef,
2060
- sendMessage: sendMessage,
2061
- sendFileMessage: sendFileMessage,
2062
- initialTimeStamp: initialTimeStamp,
2063
- messageActionTypes: messageActionTypes,
2064
- messagesDispatcher: messagesDispatcher,
2065
- setInitialTimeStamp: setInitialTimeStamp,
2066
- setAnimatedMessageId: setAnimatedMessageId,
2067
- setHighLightedMessageId: setHighLightedMessageId,
2068
- animatedMessageId: animatedMessageId,
2069
- highLightedMessageId: highLightedMessageId,
2070
- nicknamesMap: nicknamesMap,
2071
- emojiAllMap: emojiAllMap,
2072
- onScrollCallback: onScrollCallback,
2073
- onScrollDownCallback: onScrollDownCallback,
2074
- memoizedEmojiListItems: memoizedEmojiListItems,
2075
- scrollRef: scrollRef,
2076
- toggleReaction: toggleReaction
2077
- }
2078
- }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
2079
- disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile,
2080
- renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile
2081
- }, children));
2082
- };
2083
-
2084
- var useChannel = function useChannel() {
2085
- return React__default["default"].useContext(ChannelContext);
2086
- };
2087
-
2088
- exports.ChannelProvider = ChannelProvider;
2089
- exports.MARK_AS_READ = MARK_AS_READ;
2090
- exports.compareMessagesForGrouping = compareMessagesForGrouping;
2091
- exports.isAboutSame = isAboutSame;
2092
- exports.isDisabledBecauseFrozen = isDisabledBecauseFrozen;
2093
- exports.isDisabledBecauseMuted = isDisabledBecauseMuted;
2094
- exports.isOperator = isOperator;
2095
- exports.useChannel = useChannel;
2096
- //# sourceMappingURL=ChannelProvider-f1fb0108.js.map