@sendbird/uikit-react 3.3.5 → 3.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/App.js +35 -34
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +76 -0
  4. package/Channel/components/ChannelHeader.js +18 -18
  5. package/Channel/components/ChannelUI.js +28 -27
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -14
  8. package/Channel/components/FrozenNotification.js +4 -4
  9. package/Channel/components/Message.js +25 -24
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +16 -16
  12. package/Channel/components/MessageList.js +26 -25
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +16 -16
  15. package/Channel/components/SuggestedMentionList.js +16 -16
  16. package/Channel/components/TypingIndicator.js +14 -14
  17. package/Channel/components/UnreadCount.js +4 -4
  18. package/Channel/context.js +13 -13
  19. package/Channel.js +28 -27
  20. package/Channel.js.map +1 -1
  21. package/ChannelList/components/AddChannel.js +15 -15
  22. package/ChannelList/components/ChannelListHeader.js +7 -7
  23. package/ChannelList/components/ChannelListUI.js +29 -28
  24. package/ChannelList/components/ChannelListUI.js.map +1 -1
  25. package/ChannelList/components/ChannelPreview.js +25 -24
  26. package/ChannelList/components/ChannelPreview.js.map +1 -1
  27. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  28. package/ChannelList/context.js +8 -8
  29. package/ChannelList.js +29 -28
  30. package/ChannelList.js.map +1 -1
  31. package/{ChannelListProvider-18fd6872.js → ChannelListProvider-f461d265.js} +8 -8
  32. package/{ChannelListProvider-18fd6872.js.map → ChannelListProvider-f461d265.js.map} +1 -1
  33. package/{ChannelProvider-e50a1789.js → ChannelProvider-554e7116.js} +9 -9
  34. package/{ChannelProvider-e50a1789.js.map → ChannelProvider-554e7116.js.map} +1 -1
  35. package/ChannelSettings/components/ChannelProfile.js +12 -12
  36. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  37. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  38. package/ChannelSettings/components/LeaveChannel.js +12 -12
  39. package/ChannelSettings/components/ModerationPanel.js +15 -15
  40. package/ChannelSettings/components/UserListItem.js +11 -11
  41. package/ChannelSettings/components/UserPanel.js +14 -14
  42. package/ChannelSettings/context.js +3 -3
  43. package/ChannelSettings.js +18 -18
  44. package/CreateChannel/components/CreateChannelUI.js +14 -14
  45. package/CreateChannel/components/InviteUsers.js +14 -14
  46. package/CreateChannel/components/SelectChannelType.js +11 -11
  47. package/CreateChannel/context.js +4 -4
  48. package/CreateChannel.js +14 -14
  49. package/{CreateChannelProvider-6f5eec3d.js → CreateChannelProvider-250cd98e.js} +1 -1
  50. package/{CreateChannelProvider-6f5eec3d.js.map → CreateChannelProvider-250cd98e.js.map} +1 -1
  51. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  52. package/CreateOpenChannel/context.js +1 -1
  53. package/CreateOpenChannel.js +10 -10
  54. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  55. package/EditUserProfile.js +13 -13
  56. package/{LocalizationContext-299b1d45.js → LocalizationContext-4df0cc32.js} +3 -3
  57. package/{LocalizationContext-299b1d45.js.map → LocalizationContext-4df0cc32.js.map} +1 -1
  58. package/{MediaQueryContext-84b087e0.js → MediaQueryContext-74183e34.js} +1 -1
  59. package/{MediaQueryContext-84b087e0.js.map → MediaQueryContext-74183e34.js.map} +1 -1
  60. package/{MemberList-5f71656b.js → MemberList-51c7afaa.js} +5 -5
  61. package/{MemberList-5f71656b.js.map → MemberList-51c7afaa.js.map} +1 -1
  62. package/MessageSearch/components/MessageSearchUI.js +12 -11
  63. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  64. package/MessageSearch/context.js +2 -2
  65. package/MessageSearch.js +12 -11
  66. package/MessageSearch.js.map +1 -1
  67. package/NotificationChannel/components/NotificationChannelUI.js +119 -0
  68. package/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
  69. package/NotificationChannel/components/NotificationList.js +111 -0
  70. package/NotificationChannel/components/NotificationList.js.map +1 -0
  71. package/NotificationChannel/components/NotificationMessageWrap.js +136 -0
  72. package/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
  73. package/NotificationChannel/context.js +12 -0
  74. package/NotificationChannel/context.js.map +1 -0
  75. package/NotificationChannel.js +58 -0
  76. package/NotificationChannel.js.map +1 -0
  77. package/NotificationChannelProvider-0d8be1ad.js +535 -0
  78. package/NotificationChannelProvider-0d8be1ad.js.map +1 -0
  79. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  80. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  81. package/OpenChannel/components/OpenChannelInput.js +15 -15
  82. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  83. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  84. package/OpenChannel/components/OpenChannelUI.js +24 -24
  85. package/OpenChannel/context.js +9 -9
  86. package/OpenChannel.js +24 -24
  87. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  88. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  89. package/OpenChannelList/context.js +4 -4
  90. package/OpenChannelList.js +13 -13
  91. package/{OpenChannelListProvider-a70a09f8.js → OpenChannelListProvider-8c753945.js} +3 -3
  92. package/{OpenChannelListProvider-a70a09f8.js.map → OpenChannelListProvider-8c753945.js.map} +1 -1
  93. package/{OpenChannelProvider-a0d666c6.js → OpenChannelProvider-2fa01820.js} +7 -7
  94. package/{OpenChannelProvider-a0d666c6.js.map → OpenChannelProvider-2fa01820.js.map} +1 -1
  95. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  96. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  97. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  98. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  99. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  100. package/OpenChannelSettings/context.js +3 -3
  101. package/OpenChannelSettings.js +18 -18
  102. package/{RemoveMessageModal-2f571cc3.js → RemoveMessageModal-9762fed1.js} +3 -3
  103. package/{RemoveMessageModal-2f571cc3.js.map → RemoveMessageModal-9762fed1.js.map} +1 -1
  104. package/SendbirdProvider.js +10 -10
  105. package/SendbirdProvider.js.map +1 -1
  106. package/Thread/components/ParentMessageInfo.js +21 -21
  107. package/Thread/components/ParentMessageInfoItem.js +14 -14
  108. package/Thread/components/ThreadHeader.js +6 -6
  109. package/Thread/components/ThreadList.js +25 -24
  110. package/Thread/components/ThreadList.js.map +1 -1
  111. package/Thread/components/ThreadListItem.js +25 -24
  112. package/Thread/components/ThreadListItem.js.map +1 -1
  113. package/Thread/components/ThreadMessageInput.js +16 -16
  114. package/Thread/components/ThreadUI.js +27 -26
  115. package/Thread/components/ThreadUI.js.map +1 -1
  116. package/Thread/context.js +8 -8
  117. package/Thread.js +27 -26
  118. package/Thread.js.map +1 -1
  119. package/{ThreadProvider-b6a76698.js → ThreadProvider-6974fb3e.js} +6 -6
  120. package/{ThreadProvider-b6a76698.js.map → ThreadProvider-6974fb3e.js.map} +1 -1
  121. package/{UserProfileContext-53d89b5e.js → UserProfileContext-c58a7b86.js} +1 -1
  122. package/{UserProfileContext-53d89b5e.js.map → UserProfileContext-c58a7b86.js.map} +1 -1
  123. package/{_rollupPluginBabelHelpers-d746227b.js → _rollupPluginBabelHelpers-498add61.js} +1 -1
  124. package/_rollupPluginBabelHelpers-498add61.js.map +1 -0
  125. package/{actionTypes-77c96dff.js → actionTypes-ad2cbd73.js} +1 -1
  126. package/{actionTypes-77c96dff.js.map → actionTypes-ad2cbd73.js.map} +1 -1
  127. package/cjs/App.js +35 -34
  128. package/cjs/App.js.map +1 -1
  129. package/cjs/Channel/components/ChannelHeader.js +18 -18
  130. package/cjs/Channel/components/ChannelUI.js +28 -27
  131. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  132. package/cjs/Channel/components/FileViewer.js +14 -14
  133. package/cjs/Channel/components/FrozenNotification.js +4 -4
  134. package/cjs/Channel/components/Message.js +25 -24
  135. package/cjs/Channel/components/Message.js.map +1 -1
  136. package/cjs/Channel/components/MessageInput.js +16 -16
  137. package/cjs/Channel/components/MessageList.js +26 -25
  138. package/cjs/Channel/components/MessageList.js.map +1 -1
  139. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  140. package/cjs/Channel/components/SuggestedMentionList.js +16 -16
  141. package/cjs/Channel/components/TypingIndicator.js +14 -14
  142. package/cjs/Channel/components/UnreadCount.js +4 -4
  143. package/cjs/Channel/context.js +13 -13
  144. package/cjs/Channel.js +28 -27
  145. package/cjs/Channel.js.map +1 -1
  146. package/cjs/ChannelList/components/AddChannel.js +15 -15
  147. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  148. package/cjs/ChannelList/components/ChannelListUI.js +29 -28
  149. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  150. package/cjs/ChannelList/components/ChannelPreview.js +25 -24
  151. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  153. package/cjs/ChannelList/context.js +8 -8
  154. package/cjs/ChannelList.js +29 -28
  155. package/cjs/ChannelList.js.map +1 -1
  156. package/cjs/{ChannelListProvider-f2606052.js → ChannelListProvider-c2148b43.js} +8 -8
  157. package/cjs/{ChannelListProvider-f2606052.js.map → ChannelListProvider-c2148b43.js.map} +1 -1
  158. package/cjs/{ChannelProvider-beea5a02.js → ChannelProvider-cf5dc7e3.js} +9 -9
  159. package/cjs/{ChannelProvider-beea5a02.js.map → ChannelProvider-cf5dc7e3.js.map} +1 -1
  160. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  161. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  162. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  163. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  164. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  165. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  166. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  167. package/cjs/ChannelSettings/context.js +3 -3
  168. package/cjs/ChannelSettings.js +18 -18
  169. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  170. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  171. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  172. package/cjs/CreateChannel/context.js +4 -4
  173. package/cjs/CreateChannel.js +14 -14
  174. package/cjs/{CreateChannelProvider-c123ffbb.js → CreateChannelProvider-c98de398.js} +1 -1
  175. package/cjs/{CreateChannelProvider-c123ffbb.js.map → CreateChannelProvider-c98de398.js.map} +1 -1
  176. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  177. package/cjs/CreateOpenChannel/context.js +1 -1
  178. package/cjs/CreateOpenChannel.js +10 -10
  179. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  180. package/cjs/EditUserProfile.js +13 -13
  181. package/cjs/{LocalizationContext-caedb682.js → LocalizationContext-2b3f310d.js} +3 -3
  182. package/cjs/{LocalizationContext-caedb682.js.map → LocalizationContext-2b3f310d.js.map} +1 -1
  183. package/cjs/{MediaQueryContext-cdba25c1.js → MediaQueryContext-71862be1.js} +1 -1
  184. package/cjs/{MediaQueryContext-cdba25c1.js.map → MediaQueryContext-71862be1.js.map} +1 -1
  185. package/cjs/{MemberList-45fcb966.js → MemberList-13566703.js} +5 -5
  186. package/cjs/{MemberList-45fcb966.js.map → MemberList-13566703.js.map} +1 -1
  187. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -11
  188. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  189. package/cjs/MessageSearch/context.js +2 -2
  190. package/cjs/MessageSearch.js +12 -11
  191. package/cjs/MessageSearch.js.map +1 -1
  192. package/cjs/NotificationChannel/components/NotificationChannelUI.js +125 -0
  193. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
  194. package/cjs/NotificationChannel/components/NotificationList.js +117 -0
  195. package/cjs/NotificationChannel/components/NotificationList.js.map +1 -0
  196. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +142 -0
  197. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
  198. package/cjs/NotificationChannel/context.js +21 -0
  199. package/cjs/NotificationChannel/context.js.map +1 -0
  200. package/cjs/NotificationChannel.js +64 -0
  201. package/cjs/NotificationChannel.js.map +1 -0
  202. package/cjs/NotificationChannelProvider-8f3b7320.js +543 -0
  203. package/cjs/NotificationChannelProvider-8f3b7320.js.map +1 -0
  204. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  205. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  206. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  207. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  208. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  209. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  210. package/cjs/OpenChannel/context.js +9 -9
  211. package/cjs/OpenChannel.js +24 -24
  212. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  213. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  214. package/cjs/OpenChannelList/context.js +4 -4
  215. package/cjs/OpenChannelList.js +13 -13
  216. package/cjs/{OpenChannelListProvider-133cc0e6.js → OpenChannelListProvider-64043b4f.js} +3 -3
  217. package/cjs/{OpenChannelListProvider-133cc0e6.js.map → OpenChannelListProvider-64043b4f.js.map} +1 -1
  218. package/cjs/{OpenChannelProvider-ee813f9e.js → OpenChannelProvider-5b56e629.js} +7 -7
  219. package/cjs/{OpenChannelProvider-ee813f9e.js.map → OpenChannelProvider-5b56e629.js.map} +1 -1
  220. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  221. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  222. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  223. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  224. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  225. package/cjs/OpenChannelSettings/context.js +3 -3
  226. package/cjs/OpenChannelSettings.js +18 -18
  227. package/cjs/{RemoveMessageModal-497e1a76.js → RemoveMessageModal-c01eb93b.js} +3 -3
  228. package/cjs/{RemoveMessageModal-497e1a76.js.map → RemoveMessageModal-c01eb93b.js.map} +1 -1
  229. package/cjs/SendbirdProvider.js +10 -10
  230. package/cjs/SendbirdProvider.js.map +1 -1
  231. package/cjs/Thread/components/ParentMessageInfo.js +21 -21
  232. package/cjs/Thread/components/ParentMessageInfoItem.js +14 -14
  233. package/cjs/Thread/components/ThreadHeader.js +6 -6
  234. package/cjs/Thread/components/ThreadList.js +25 -24
  235. package/cjs/Thread/components/ThreadList.js.map +1 -1
  236. package/cjs/Thread/components/ThreadListItem.js +25 -24
  237. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  238. package/cjs/Thread/components/ThreadMessageInput.js +16 -16
  239. package/cjs/Thread/components/ThreadUI.js +27 -26
  240. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  241. package/cjs/Thread/context.js +8 -8
  242. package/cjs/Thread.js +27 -26
  243. package/cjs/Thread.js.map +1 -1
  244. package/cjs/{ThreadProvider-8b5092ee.js → ThreadProvider-d3c0c877.js} +6 -6
  245. package/cjs/{ThreadProvider-8b5092ee.js.map → ThreadProvider-d3c0c877.js.map} +1 -1
  246. package/cjs/{UserProfileContext-80409a4d.js → UserProfileContext-9d60cdc4.js} +1 -1
  247. package/cjs/{UserProfileContext-80409a4d.js.map → UserProfileContext-9d60cdc4.js.map} +1 -1
  248. package/cjs/{_rollupPluginBabelHelpers-41d3db2d.js → _rollupPluginBabelHelpers-a7254c9d.js} +1 -1
  249. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +1 -0
  250. package/cjs/{actionTypes-697b5dfb.js → actionTypes-0e8bea91.js} +1 -1
  251. package/cjs/{actionTypes-697b5dfb.js.map → actionTypes-0e8bea91.js.map} +1 -1
  252. package/cjs/{color-d7217651.js → color-89f33656.js} +1 -1
  253. package/cjs/{color-d7217651.js.map → color-89f33656.js.map} +1 -1
  254. package/cjs/{compareIds-caa9f926.js → compareIds-ca869c2e.js} +1 -1
  255. package/cjs/{compareIds-caa9f926.js.map → compareIds-ca869c2e.js.map} +1 -1
  256. package/cjs/{const-4235b5b5.js → const-55d167ca.js} +1 -1
  257. package/cjs/{const-4235b5b5.js.map → const-55d167ca.js.map} +1 -1
  258. package/cjs/{const-4ba60f84.js → const-db71e993.js} +1 -1
  259. package/cjs/{const-4ba60f84.js.map → const-db71e993.js.map} +1 -1
  260. package/cjs/{context-867cb427.js → context-2f5d47fd.js} +2 -2
  261. package/cjs/{context-867cb427.js.map → context-2f5d47fd.js.map} +1 -1
  262. package/cjs/dist/index.css +248 -81
  263. package/cjs/dist/index.css.map +1 -1
  264. package/cjs/{index-50984f15.js → index-0988ab25.js} +3 -57
  265. package/cjs/index-0988ab25.js.map +1 -0
  266. package/cjs/{index-476f089f.js → index-21b2339d.js} +2 -2
  267. package/cjs/index-21b2339d.js.map +1 -0
  268. package/cjs/{index-ceb058fa.js → index-2c5dd48c.js} +2 -2
  269. package/cjs/{index-ceb058fa.js.map → index-2c5dd48c.js.map} +1 -1
  270. package/cjs/{index-230cddde.js → index-5c81f847.js} +2 -2
  271. package/cjs/{index-230cddde.js.map → index-5c81f847.js.map} +1 -1
  272. package/cjs/{index-c6abe71b.js → index-621e74bd.js} +13 -6
  273. package/cjs/index-621e74bd.js.map +1 -0
  274. package/cjs/{index-942c3f15.js → index-73467e1d.js} +2 -2
  275. package/cjs/{index-942c3f15.js.map → index-73467e1d.js.map} +1 -1
  276. package/cjs/index-8de59744.js +59 -0
  277. package/cjs/index-8de59744.js.map +1 -0
  278. package/cjs/{index-29e1117f.js → index-a52859ed.js} +7 -7
  279. package/cjs/{index-29e1117f.js.map → index-a52859ed.js.map} +1 -1
  280. package/cjs/{index-f0df9942.js → index-be9c6237.js} +5 -5
  281. package/cjs/{index-f0df9942.js.map → index-be9c6237.js.map} +1 -1
  282. package/cjs/{index-d47bc642.js → index-c4d4ef49.js} +1 -1
  283. package/cjs/{index-d47bc642.js.map → index-c4d4ef49.js.map} +1 -1
  284. package/cjs/{index-06816ee5.js → index-d6ef2a60.js} +2 -2
  285. package/cjs/{index-06816ee5.js.map → index-d6ef2a60.js.map} +1 -1
  286. package/cjs/{index-e01cd4a9.js → index-de151767.js} +1 -1
  287. package/cjs/{index-e01cd4a9.js.map → index-de151767.js.map} +1 -1
  288. package/cjs/{index-bec34de9.js → index-e240e852.js} +11 -10
  289. package/cjs/{index-bec34de9.js.map → index-e240e852.js.map} +1 -1
  290. package/cjs/index.js +39 -38
  291. package/cjs/index.js.map +1 -1
  292. package/cjs/sendbirdSelectors.js +2 -2
  293. package/cjs/{stringSet-af541fde.js → stringSet-91b919f6.js} +5 -1
  294. package/cjs/stringSet-91b919f6.js.map +1 -0
  295. package/cjs/{topics-33f5f434.js → topics-ac9cf7ed.js} +1 -1
  296. package/cjs/{topics-33f5f434.js.map → topics-ac9cf7ed.js.map} +1 -1
  297. package/cjs/{tslib.es6-f1d22d7f.js → tslib.es6-43854eb1.js} +14 -1
  298. package/cjs/{tslib.es6-f1d22d7f.js.map → tslib.es6-43854eb1.js.map} +1 -1
  299. package/cjs/ui/Accordion.js +3 -3
  300. package/cjs/ui/AccordionGroup.js +2 -2
  301. package/cjs/ui/AdminMessage.js +3 -3
  302. package/cjs/ui/Avatar.js +2 -2
  303. package/cjs/ui/Badge.js +5 -5
  304. package/cjs/ui/BottomSheet.js +1 -1
  305. package/cjs/ui/Button.js +3 -3
  306. package/cjs/ui/ChannelAvatar.js +3 -3
  307. package/cjs/ui/ConnectionStatus.js +4 -4
  308. package/cjs/ui/ContextMenu.js +5 -5
  309. package/cjs/ui/DateSeparator.js +4 -4
  310. package/cjs/ui/EmojiReactions.js +7 -7
  311. package/cjs/ui/FileMessageItemBody.js +6 -6
  312. package/cjs/ui/FileViewer.js +8 -8
  313. package/cjs/ui/IconButton.js +1 -1
  314. package/cjs/ui/ImageRenderer.js +1 -1
  315. package/cjs/ui/Input.js +2 -2
  316. package/cjs/ui/Label.js +2 -2
  317. package/cjs/ui/LinkLabel.js +2 -2
  318. package/cjs/ui/Loader.js +1 -1
  319. package/cjs/ui/MentionLabel.js +11 -11
  320. package/cjs/ui/MessageContent.js +21 -20
  321. package/cjs/ui/MessageContent.js.map +1 -1
  322. package/cjs/ui/MessageInput.js +9 -9
  323. package/cjs/ui/MessageItemMenu.js +7 -7
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +11 -10
  326. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  327. package/cjs/ui/MessageSearchItem.js +11 -10
  328. package/cjs/ui/MessageSearchItem.js.map +1 -1
  329. package/cjs/ui/MessageStatus.js +11 -10
  330. package/cjs/ui/MessageStatus.js.map +1 -1
  331. package/cjs/ui/Modal.js +7 -7
  332. package/cjs/ui/OGMessageItemBody.js +11 -11
  333. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  334. package/cjs/ui/OpenChannelAvatar.js +6 -6
  335. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  336. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  337. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  338. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  339. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  340. package/cjs/ui/PlaceHolder.js +6 -6
  341. package/cjs/ui/QuoteMessage.js +6 -6
  342. package/cjs/ui/QuoteMessageInput.js +6 -6
  343. package/cjs/ui/ReactionBadge.js +3 -3
  344. package/cjs/ui/ReactionButton.js +1 -1
  345. package/cjs/ui/SortByRow.js +2 -2
  346. package/cjs/ui/TextButton.js +2 -2
  347. package/cjs/ui/TextMessageItemBody.js +11 -11
  348. package/cjs/ui/ThreadReplies.js +6 -6
  349. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  350. package/cjs/ui/Tooltip.js +3 -3
  351. package/cjs/ui/TooltipWrapper.js +1 -1
  352. package/cjs/ui/UnknownMessageItemBody.js +9 -8
  353. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  354. package/cjs/ui/UserListItem.js +11 -11
  355. package/cjs/ui/UserProfile.js +10 -10
  356. package/cjs/ui/Word.js +11 -11
  357. package/cjs/{useLongPress-72c5c822.js → useLongPress-c7bf12b1.js} +3 -3
  358. package/cjs/{useLongPress-72c5c822.js.map → useLongPress-c7bf12b1.js.map} +1 -1
  359. package/cjs/useSendbirdStateContext.js +1 -1
  360. package/cjs/{utils-33e5dfc7.js → utils-1f6c6626.js} +1 -1
  361. package/cjs/{utils-33e5dfc7.js.map → utils-1f6c6626.js.map} +1 -1
  362. package/cjs/{utils-d652183b.js → utils-3714e90e.js} +1 -1
  363. package/cjs/{utils-d652183b.js.map → utils-3714e90e.js.map} +1 -1
  364. package/cjs/{utils-68a6f93a.js → utils-4b529d96.js} +1 -1
  365. package/cjs/{utils-68a6f93a.js.map → utils-4b529d96.js.map} +1 -1
  366. package/cjs/{utils-b01aea7a.js → utils-65a380e8.js} +2 -2
  367. package/cjs/{utils-b01aea7a.js.map → utils-65a380e8.js.map} +1 -1
  368. package/cjs/{uuid-2c11c530.js → uuid-11d4efe8.js} +1 -1
  369. package/cjs/{uuid-2c11c530.js.map → uuid-11d4efe8.js.map} +1 -1
  370. package/cjs/withSendbird.js +1 -1
  371. package/{color-a6ad5b2f.js → color-ff5f9069.js} +1 -1
  372. package/{color-a6ad5b2f.js.map → color-ff5f9069.js.map} +1 -1
  373. package/{compareIds-4e3d3f6c.js → compareIds-9430f9d8.js} +1 -1
  374. package/{compareIds-4e3d3f6c.js.map → compareIds-9430f9d8.js.map} +1 -1
  375. package/{const-c982283f.js → const-83764204.js} +1 -1
  376. package/{const-c982283f.js.map → const-83764204.js.map} +1 -1
  377. package/{const-40f65aaf.js → const-9d11f204.js} +1 -1
  378. package/{const-40f65aaf.js.map → const-9d11f204.js.map} +1 -1
  379. package/{context-fa809401.js → context-9a69e846.js} +2 -2
  380. package/{context-fa809401.js.map → context-9a69e846.js.map} +1 -1
  381. package/dist/index.css +248 -81
  382. package/dist/index.css.map +1 -1
  383. package/{index-14786153.js → index-07e060cd.js} +1 -1
  384. package/{index-14786153.js.map → index-07e060cd.js.map} +1 -1
  385. package/{index-924f6629.js → index-134314e2.js} +13 -6
  386. package/index-134314e2.js.map +1 -0
  387. package/index-1572c90f.js +57 -0
  388. package/index-1572c90f.js.map +1 -0
  389. package/{index-098867a9.js → index-1b91b116.js} +8 -7
  390. package/{index-098867a9.js.map → index-1b91b116.js.map} +1 -1
  391. package/{index-a8115de7.js → index-3f26a31c.js} +2 -2
  392. package/{index-a8115de7.js.map → index-3f26a31c.js.map} +1 -1
  393. package/{index-256d00f1.js → index-44470dab.js} +2 -2
  394. package/{index-256d00f1.js.map → index-44470dab.js.map} +1 -1
  395. package/{index-b16ab63e.js → index-5f08f486.js} +2 -2
  396. package/index-5f08f486.js.map +1 -0
  397. package/{index-58485e08.js → index-d3f6dbb9.js} +2 -2
  398. package/{index-58485e08.js.map → index-d3f6dbb9.js.map} +1 -1
  399. package/{index-4da1ff3b.js → index-d8e3ccee.js} +2 -2
  400. package/{index-4da1ff3b.js.map → index-d8e3ccee.js.map} +1 -1
  401. package/{index-856dc0bd.js → index-defabece.js} +4 -57
  402. package/index-defabece.js.map +1 -0
  403. package/{index-f0cb5427.js → index-e5b78039.js} +1 -1
  404. package/{index-f0cb5427.js.map → index-e5b78039.js.map} +1 -1
  405. package/{index-b714065b.js → index-ed65ee3b.js} +7 -7
  406. package/{index-b714065b.js.map → index-ed65ee3b.js.map} +1 -1
  407. package/{index-eff254f0.js → index-fc4702b7.js} +5 -5
  408. package/{index-eff254f0.js.map → index-fc4702b7.js.map} +1 -1
  409. package/index.d.ts +109 -1
  410. package/index.js +39 -38
  411. package/index.js.map +1 -1
  412. package/package.json +4 -2
  413. package/sendbirdSelectors.js +2 -2
  414. package/{stringSet-8039f73a.js → stringSet-d555d877.js} +5 -1
  415. package/stringSet-d555d877.js.map +1 -0
  416. package/{topics-948f8346.js → topics-351ea731.js} +1 -1
  417. package/{topics-948f8346.js.map → topics-351ea731.js.map} +1 -1
  418. package/{tslib.es6-ea477498.js → tslib.es6-bcead7e6.js} +14 -2
  419. package/{tslib.es6-ea477498.js.map → tslib.es6-bcead7e6.js.map} +1 -1
  420. package/ui/Accordion.js +3 -3
  421. package/ui/AccordionGroup.js +2 -2
  422. package/ui/AdminMessage.js +3 -3
  423. package/ui/Avatar.js +2 -2
  424. package/ui/Badge.js +5 -5
  425. package/ui/BottomSheet.js +1 -1
  426. package/ui/Button.js +3 -3
  427. package/ui/ChannelAvatar.js +3 -3
  428. package/ui/ConnectionStatus.js +4 -4
  429. package/ui/ContextMenu.js +5 -5
  430. package/ui/DateSeparator.js +4 -4
  431. package/ui/EmojiReactions.js +7 -7
  432. package/ui/FileMessageItemBody.js +6 -6
  433. package/ui/FileViewer.js +8 -8
  434. package/ui/IconButton.js +1 -1
  435. package/ui/ImageRenderer.js +1 -1
  436. package/ui/Input.js +2 -2
  437. package/ui/Label.js +2 -2
  438. package/ui/LinkLabel.js +2 -2
  439. package/ui/Loader.js +1 -1
  440. package/ui/MentionLabel.js +11 -11
  441. package/ui/MessageContent.js +21 -20
  442. package/ui/MessageContent.js.map +1 -1
  443. package/ui/MessageInput.js +9 -9
  444. package/ui/MessageItemMenu.js +7 -7
  445. package/ui/MessageItemReactionMenu.js +5 -5
  446. package/ui/MessageSearchFileItem.js +10 -9
  447. package/ui/MessageSearchFileItem.js.map +1 -1
  448. package/ui/MessageSearchItem.js +10 -9
  449. package/ui/MessageSearchItem.js.map +1 -1
  450. package/ui/MessageStatus.js +11 -10
  451. package/ui/MessageStatus.js.map +1 -1
  452. package/ui/Modal.js +7 -7
  453. package/ui/OGMessageItemBody.js +11 -11
  454. package/ui/OpenChannelAdminMessage.js +3 -3
  455. package/ui/OpenChannelAvatar.js +6 -6
  456. package/ui/OpenchannelConversationHeader.js +6 -6
  457. package/ui/OpenchannelFileMessage.js +16 -16
  458. package/ui/OpenchannelOGMessage.js +16 -16
  459. package/ui/OpenchannelThumbnailMessage.js +15 -15
  460. package/ui/OpenchannelUserMessage.js +16 -16
  461. package/ui/PlaceHolder.js +6 -6
  462. package/ui/QuoteMessage.js +6 -6
  463. package/ui/QuoteMessageInput.js +6 -6
  464. package/ui/ReactionBadge.js +3 -3
  465. package/ui/ReactionButton.js +1 -1
  466. package/ui/SortByRow.js +2 -2
  467. package/ui/TextButton.js +2 -2
  468. package/ui/TextMessageItemBody.js +11 -11
  469. package/ui/ThreadReplies.js +6 -6
  470. package/ui/ThumbnailMessageItemBody.js +2 -2
  471. package/ui/Tooltip.js +3 -3
  472. package/ui/TooltipWrapper.js +1 -1
  473. package/ui/UnknownMessageItemBody.js +9 -8
  474. package/ui/UnknownMessageItemBody.js.map +1 -1
  475. package/ui/UserListItem.js +11 -11
  476. package/ui/UserProfile.js +10 -10
  477. package/ui/Word.js +11 -11
  478. package/{useLongPress-2fbbada1.js → useLongPress-794838b8.js} +3 -3
  479. package/{useLongPress-2fbbada1.js.map → useLongPress-794838b8.js.map} +1 -1
  480. package/useSendbirdStateContext.js +1 -1
  481. package/{utils-9b75cf2c.js → utils-00ac1a7d.js} +1 -1
  482. package/{utils-9b75cf2c.js.map → utils-00ac1a7d.js.map} +1 -1
  483. package/{utils-119c0f8a.js → utils-01e76a0c.js} +2 -2
  484. package/{utils-119c0f8a.js.map → utils-01e76a0c.js.map} +1 -1
  485. package/{utils-51dfc7e7.js → utils-8b11ff42.js} +1 -1
  486. package/{utils-51dfc7e7.js.map → utils-8b11ff42.js.map} +1 -1
  487. package/{utils-437f34f2.js → utils-e720e03a.js} +1 -1
  488. package/{utils-437f34f2.js.map → utils-e720e03a.js.map} +1 -1
  489. package/{uuid-2d756af4.js → uuid-286ed926.js} +1 -1
  490. package/{uuid-2d756af4.js.map → uuid-286ed926.js.map} +1 -1
  491. package/withSendbird.js +1 -1
  492. package/_rollupPluginBabelHelpers-d746227b.js.map +0 -1
  493. package/cjs/_rollupPluginBabelHelpers-41d3db2d.js.map +0 -1
  494. package/cjs/index-476f089f.js.map +0 -1
  495. package/cjs/index-50984f15.js.map +0 -1
  496. package/cjs/index-c6abe71b.js.map +0 -1
  497. package/cjs/stringSet-af541fde.js.map +0 -1
  498. package/index-856dc0bd.js.map +0 -1
  499. package/index-924f6629.js.map +0 -1
  500. package/index-b16ab63e.js.map +0 -1
  501. package/stringSet-8039f73a.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ import { e as __rest } from './tslib.es6-bcead7e6.js';
2
+ import React__default from 'react';
3
+ import { N as NotficationChannelProvider } from './NotificationChannelProvider-0d8be1ad.js';
4
+ import NotificationChannelUI from './NotificationChannel/components/NotificationChannelUI.js';
5
+ import './useSendbirdStateContext.js';
6
+ import './withSendbird.js';
7
+ import './_rollupPluginBabelHelpers-498add61.js';
8
+ import './compareIds-9430f9d8.js';
9
+ import './index-5f08f486.js';
10
+ import './utils/message/getOutgoingMessageState.js';
11
+ import '@sendbird/chat/groupChannel';
12
+ import './uuid-286ed926.js';
13
+ import './NotificationChannel/components/NotificationList.js';
14
+ import './NotificationChannel/components/NotificationMessageWrap.js';
15
+ import './index-defabece.js';
16
+ import './index-d3f6dbb9.js';
17
+ import './index-3f26a31c.js';
18
+ import './index-07e060cd.js';
19
+ import './ui/UnknownMessageItemBody.js';
20
+ import './index-44470dab.js';
21
+ import 'prop-types';
22
+ import './stringSet-d555d877.js';
23
+ import './LocalizationContext-4df0cc32.js';
24
+ import './ui/Icon.js';
25
+ import '@sendbird/react-uikit-message-template-view';
26
+ import './index-134314e2.js';
27
+ import './ui/Loader.js';
28
+ import './ui/Modal.js';
29
+ import 'react-dom';
30
+ import './index-e5b78039.js';
31
+ import './ui/Button.js';
32
+ import './ui/IconButton.js';
33
+ import './MediaQueryContext-74183e34.js';
34
+ import './sendbirdSelectors.js';
35
+ import './topics-351ea731.js';
36
+ import './utils-e720e03a.js';
37
+
38
+ function NotificationChannel(props) {
39
+ var channelUrl = props.channelUrl,
40
+ messageListParams = props.messageListParams,
41
+ lastSeen = props.lastSeen,
42
+ handleWebAction = props.handleWebAction,
43
+ handleCustomAction = props.handleCustomAction,
44
+ handlePredefinedAction = props.handlePredefinedAction,
45
+ uiProps = __rest(props, ["channelUrl", "messageListParams", "lastSeen", "handleWebAction", "handleCustomAction", "handlePredefinedAction"]);
46
+
47
+ return /*#__PURE__*/React__default.createElement(NotficationChannelProvider, {
48
+ channelUrl: channelUrl,
49
+ lastSeen: lastSeen,
50
+ messageListParams: messageListParams,
51
+ handleWebAction: handleWebAction,
52
+ handleCustomAction: handleCustomAction,
53
+ handlePredefinedAction: handlePredefinedAction
54
+ }, /*#__PURE__*/React__default.createElement(NotificationChannelUI, uiProps));
55
+ }
56
+
57
+ export { NotificationChannel as default };
58
+ //# sourceMappingURL=NotificationChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationChannel.js","sources":["../src/smart-components/NotificationChannel/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { NotficationChannelContextProps, NotficationChannelProvider } from \"./context/NotificationChannelProvider\";\nimport NotificationChannelUI, { NotificationChannelUIProps } from \"./components/NotificationChannelUI\";\n\nexport interface NotificationChannelProps extends NotificationChannelUIProps, NotficationChannelContextProps {}\nexport default function NotificationChannel(props: NotificationChannelProps): JSX.Element {\n const {\n channelUrl,\n messageListParams,\n lastSeen,\n handleWebAction,\n handleCustomAction,\n handlePredefinedAction,\n ...uiProps\n } = props;\n return (\n <NotficationChannelProvider\n channelUrl={channelUrl}\n lastSeen={lastSeen}\n messageListParams={messageListParams}\n handleWebAction={handleWebAction}\n handleCustomAction={handleCustomAction}\n handlePredefinedAction={handlePredefinedAction}\n >\n <NotificationChannelUI\n {...uiProps}\n />\n </NotficationChannelProvider>\n )\n}\n"],"names":["NotificationChannel","props","channelUrl","messageListParams","lastSeen","handleWebAction","handleCustomAction","handlePredefinedAction","uiProps","__rest","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKwB,SAAAA,mBAAA,CAAoBC,KAApB,EAAmD;AAEvE,EAAA,IAAAC,UAAU,GAORD,KAAK,CAPGC,UAAV;AAAA,MACAC,iBAAiB,GAMfF,KAAK,CANUE,iBADjB;AAAA,MAEAC,QAAQ,GAKNH,KAAK,CALCG,QAFR;AAAA,MAGAC,eAAe,GAIbJ,KAAK,CAJQI,eAHf;AAAA,MAIAC,kBAAkB,GAGhBL,KAAK,CAHWK,kBAJlB;AAAA,MAKAC,sBAAsB,GAEpBN,KAAK,CAFeM,sBALtB;AAAA,MAMGC,OAAO,GACRC,MAAA,CAAAR,KAAA,EARE,CAAA,YAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,wBAAA,CAQF,CAPF,CAAA;;AAQF,EAAA,oBACES,6BAAC,0BAAD,EAAA;AACE,IAAA,UAAU,EAAER,UADd;AAEE,IAAA,QAAQ,EAAEE,QAFZ;AAGE,IAAA,iBAAiB,EAAED,iBAHrB;AAIE,IAAA,eAAe,EAAEE,eAJnB;AAKE,IAAA,kBAAkB,EAAEC,kBALtB;AAME,IAAA,sBAAsB,EAAEC,sBAAAA;AAN1B,GAAA,eAQEG,cAAC,CAAA,aAAA,CAAA,qBAAD,EACMF,OADN,CARF,CADF,CAAA;AAcD;;;;"}
@@ -0,0 +1,535 @@
1
+ import React__default, { useEffect, useCallback, useReducer, useRef } from 'react';
2
+ import useSendbirdStateContext from './useSendbirdStateContext.js';
3
+ import { _ as __assign, a as __spreadArray } from './tslib.es6-bcead7e6.js';
4
+ import { c as compareIds } from './compareIds-9430f9d8.js';
5
+ import { c as filterMessageListParams } from './index-5f08f486.js';
6
+ import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
7
+ import { u as uuidv4 } from './uuid-286ed926.js';
8
+
9
+ var initialState = {
10
+ uiState: 'loading',
11
+ allMessages: [],
12
+ currentNotificationChannel: null,
13
+ hasMore: false,
14
+ messageListParams: null,
15
+ lastSeen: 0,
16
+ showDeleteModal: false,
17
+ messageToDelete: null
18
+ };
19
+
20
+ var actionTypes = {
21
+ FETCH_CHANNEL_START: 'FETCH_CHANNEL_START',
22
+ FETCH_CHANNEL_SUCCESS: 'FETCH_CHANNEL_SUCCESS',
23
+ FETCH_CHANNEL_FAILURE: 'FETCH_CHANNEL_FAILURE',
24
+ RESET_MESSAGES: 'RESET_MESSAGES',
25
+ FETCH_INITIAL_MESSAGES_START: 'FETCH_INITIAL_MESSAGES_START',
26
+ FETCH_INITIAL_MESSAGES_SUCCESS: 'FETCH_INITIAL_MESSAGES_SUCCESS',
27
+ FETCH_INITIAL_MESSAGES_FAILURE: 'FETCH_INITIAL_MESSAGES_FAILURE',
28
+ FETCH_PREV_MESSAGES_SUCCESS: 'FETCH_PREV_MESSAGES_SUCCESS',
29
+ FETCH_PREV_MESSAGES_FAILURE: 'FETCH_PREV_MESSAGES_FAILURE',
30
+
31
+ /**
32
+ * Being able to notice which notification messages are newly arrived by the (unread) badge UI
33
+ * last seen at == groupChannel.myLastRead; should not updated when the channel is on entered(use it only once) and receives a new notification.
34
+ * Needs to call markAsRead internally (but not provide as public interfaces) when:
35
+ * Enters the channel
36
+ * Receives a new message (when the channel is visible due to the channel unread message count will be reset)
37
+ * Whenever the channel is visible.
38
+ * (iOS, AOS) tab bar case, because the notification channel view keeps alive, should update last seen value manually → updateLastSeen(timestamp: LONG)
39
+ */
40
+ SET_LAST_SEEN: 'SET_LAST_SEEN',
41
+ SHOW_DELETE_MODAL: 'SHOW_DELETE_MODAL',
42
+ ON_MESSAGE_RECEIVED: 'ON_MESSAGE_RECEIVED',
43
+ ON_MESSAGE_UPDATED: 'ON_MESSAGE_UPDATED',
44
+ ON_MESSAGE_DELETED: 'ON_MESSAGE_DELETED',
45
+ ON_CHANNEL_DELETED: 'ON_CHANNEL_DELETED'
46
+ };
47
+
48
+ var MAX_MESSAGE_COUNT = 15;
49
+
50
+ function useInitialize(_a, _b) {
51
+ var channelUrl = _a.channelUrl,
52
+ sdkInit = _a.sdkInit,
53
+ messageListParams = _a.messageListParams;
54
+ var notificationsDispatcher = _b.notificationsDispatcher,
55
+ sdk = _b.sdk,
56
+ logger = _b.logger;
57
+ useEffect(function () {
58
+ if (sdkInit) {
59
+ var messageListParams_1 = __assign({
60
+ nextResultSize: 0,
61
+ prevResultSize: MAX_MESSAGE_COUNT,
62
+ reverse: true,
63
+ isInclusive: false,
64
+ includeReactions: false
65
+ }, messageListParams);
66
+
67
+ logger.info('NotificationChannel: Fetching channel start', {
68
+ channelUrl: channelUrl,
69
+ messageListParams_: messageListParams_1
70
+ });
71
+ notificationsDispatcher({
72
+ type: actionTypes.FETCH_CHANNEL_START,
73
+ payload: {
74
+ channelUrl: channelUrl,
75
+ messageListParams: messageListParams_1
76
+ }
77
+ });
78
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel.getChannel(channelUrl).then(function (channel) {
79
+ logger.info('NotificationChannel: Fetching channel success', {
80
+ channel: channel
81
+ });
82
+ notificationsDispatcher({
83
+ type: actionTypes.FETCH_CHANNEL_SUCCESS,
84
+ payload: {
85
+ channel: channel
86
+ }
87
+ });
88
+ notificationsDispatcher({
89
+ type: actionTypes.SET_LAST_SEEN,
90
+ payload: {
91
+ lastSeen: channel === null || channel === void 0 ? void 0 : channel.myLastRead
92
+ }
93
+ }); // start fetching messages
94
+
95
+ logger.info('NotificationChannel: Fetching messages start', {
96
+ channel: channel
97
+ });
98
+ notificationsDispatcher({
99
+ type: actionTypes.FETCH_INITIAL_MESSAGES_START
100
+ });
101
+ logger.info('NotificationChannel: Fetching messages', {
102
+ channel: channel
103
+ });
104
+ channel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
105
+ notificationsDispatcher({
106
+ type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,
107
+ payload: {
108
+ channel: channel,
109
+ messages: messages
110
+ }
111
+ });
112
+ channel === null || channel === void 0 ? void 0 : channel.markAsRead();
113
+ }).catch(function (error) {
114
+ logger.error('NotificationChannel: Fetching messages failed', error);
115
+ notificationsDispatcher({
116
+ type: actionTypes.FETCH_INITIAL_MESSAGES_FAILURE,
117
+ payload: {
118
+ error: error,
119
+ channel: channel
120
+ }
121
+ });
122
+ });
123
+ }).catch(function (error) {
124
+ logger.error('NotificationChannel: Fetching channel fail', {
125
+ error: error
126
+ });
127
+ notificationsDispatcher({
128
+ type: actionTypes.FETCH_CHANNEL_FAILURE
129
+ });
130
+ });
131
+ }
132
+ }, [channelUrl, sdkInit, messageListParams]);
133
+ }
134
+
135
+ function reducer(state, action) {
136
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
137
+
138
+ switch (action === null || action === void 0 ? void 0 : action.type) {
139
+ case actionTypes.SET_LAST_SEEN:
140
+ {
141
+ return __assign(__assign({}, state), {
142
+ lastSeen: (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.lastSeen
143
+ });
144
+ }
145
+
146
+ case actionTypes.SHOW_DELETE_MODAL:
147
+ {
148
+ return __assign(__assign({}, state), {
149
+ showDeleteModal: (_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.showDeleteModal,
150
+ messageToDelete: (_c = action === null || action === void 0 ? void 0 : action.payload) === null || _c === void 0 ? void 0 : _c.message
151
+ });
152
+ }
153
+
154
+ case actionTypes.FETCH_CHANNEL_START:
155
+ {
156
+ return __assign(__assign({}, initialState), {
157
+ messageListParams: (_d = action === null || action === void 0 ? void 0 : action.payload) === null || _d === void 0 ? void 0 : _d.messageListParams
158
+ });
159
+ }
160
+
161
+ case actionTypes.FETCH_CHANNEL_SUCCESS:
162
+ {
163
+ return __assign(__assign({}, state), {
164
+ currentNotificationChannel: (_e = action === null || action === void 0 ? void 0 : action.payload) === null || _e === void 0 ? void 0 : _e.channel
165
+ });
166
+ }
167
+
168
+ case actionTypes.FETCH_CHANNEL_FAILURE:
169
+ {
170
+ return __assign(__assign({}, state), {
171
+ uiState: 'invalid'
172
+ });
173
+ }
174
+
175
+ case actionTypes.RESET_MESSAGES:
176
+ {
177
+ return __assign(__assign({}, state), {
178
+ allMessages: []
179
+ });
180
+ }
181
+
182
+ case actionTypes.FETCH_INITIAL_MESSAGES_START:
183
+ {
184
+ return __assign(__assign({}, state), {
185
+ uiState: 'loading'
186
+ });
187
+ }
188
+
189
+ case actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS:
190
+ {
191
+ var messages = action.payload.messages || [];
192
+ return __assign(__assign({}, state), {
193
+ allMessages: messages,
194
+ uiState: 'initialized',
195
+ hasMore: (messages === null || messages === void 0 ? void 0 : messages.length) === MAX_MESSAGE_COUNT
196
+ });
197
+ }
198
+
199
+ case actionTypes.FETCH_INITIAL_MESSAGES_FAILURE:
200
+ {
201
+ return __assign(__assign({}, state), {
202
+ uiState: 'invalid'
203
+ });
204
+ }
205
+
206
+ case actionTypes.FETCH_PREV_MESSAGES_SUCCESS:
207
+ {
208
+ var channel = action.payload.channel;
209
+ var messages_1 = action.payload.messages || [];
210
+
211
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== ((_f = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _f === void 0 ? void 0 : _f.url)) {
212
+ return state;
213
+ }
214
+
215
+ var deDuplucateAllMessages = state.allMessages.filter(function (m) {
216
+ return !messages_1.find(function (m2) {
217
+ return compareIds(m.messageId, m2.messageId);
218
+ });
219
+ });
220
+ return __assign(__assign({}, state), {
221
+ hasMore: (messages_1 === null || messages_1 === void 0 ? void 0 : messages_1.length) === MAX_MESSAGE_COUNT,
222
+ allMessages: __spreadArray(__spreadArray([], deDuplucateAllMessages, true), messages_1, true)
223
+ });
224
+ }
225
+
226
+ case actionTypes.FETCH_PREV_MESSAGES_FAILURE:
227
+ {
228
+ return state;
229
+ }
230
+
231
+ case actionTypes.ON_MESSAGE_RECEIVED:
232
+ {
233
+ var channel = action.payload.channel;
234
+ var message = action.payload.message;
235
+
236
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== ((_g = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _g === void 0 ? void 0 : _g.url)) {
237
+ return state;
238
+ } // filter out messaegs using MessageListQuery
239
+
240
+
241
+ if ((state === null || state === void 0 ? void 0 : state.messageListParams) && !filterMessageListParams(state === null || state === void 0 ? void 0 : state.messageListParams, message)) {
242
+ return state;
243
+ }
244
+
245
+ return __assign(__assign({}, state), {
246
+ allMessages: __spreadArray([message], state === null || state === void 0 ? void 0 : state.allMessages, true)
247
+ });
248
+ }
249
+
250
+ case actionTypes.ON_MESSAGE_UPDATED:
251
+ {
252
+ var channel = action.payload.channel;
253
+ var message_1 = action.payload.message;
254
+
255
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== ((_h = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _h === void 0 ? void 0 : _h.url)) {
256
+ return state;
257
+ }
258
+
259
+ return __assign(__assign({}, state), {
260
+ allMessages: (_j = state === null || state === void 0 ? void 0 : state.allMessages) === null || _j === void 0 ? void 0 : _j.map(function (m) {
261
+ if ((m === null || m === void 0 ? void 0 : m.messageId) === (message_1 === null || message_1 === void 0 ? void 0 : message_1.messageId)) {
262
+ return message_1;
263
+ }
264
+
265
+ return m;
266
+ })
267
+ });
268
+ }
269
+
270
+ case actionTypes.ON_MESSAGE_DELETED:
271
+ {
272
+ var channel = action.payload.channel;
273
+ var message_2 = action.payload.message;
274
+
275
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== ((_k = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _k === void 0 ? void 0 : _k.url)) {
276
+ return state;
277
+ }
278
+
279
+ return __assign(__assign({}, state), {
280
+ allMessages: state.allMessages.filter(function (m) {
281
+ return !compareIds(m.messageId, message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId);
282
+ })
283
+ });
284
+ }
285
+
286
+ case actionTypes.ON_CHANNEL_DELETED:
287
+ {
288
+ var channelUrl = action.payload.channelUrl;
289
+
290
+ if (channelUrl !== ((_l = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _l === void 0 ? void 0 : _l.url)) {
291
+ return state;
292
+ }
293
+
294
+ return __assign(__assign({}, state), {
295
+ currentNotificationChannel: null,
296
+ uiState: 'invalid'
297
+ });
298
+ }
299
+
300
+ default:
301
+ {
302
+ return state;
303
+ }
304
+ }
305
+ }
306
+
307
+ function useEventListener(_a, _b) {
308
+ var currentChannel = _a.currentChannel,
309
+ sdkInit = _a.sdkInit;
310
+ var notificationsDispatcher = _b.notificationsDispatcher,
311
+ sdk = _b.sdk,
312
+ logger = _b.logger;
313
+ useEffect(function () {
314
+ var _a;
315
+
316
+ var channelUrl = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url;
317
+ var channelHandlerId = uuidv4();
318
+
319
+ if (channelUrl && sdkInit) {
320
+ var channelHandler = {
321
+ onMessageReceived: function (channel, message) {
322
+ if (compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
323
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageReceived', message);
324
+ notificationsDispatcher({
325
+ type: actionTypes.ON_MESSAGE_RECEIVED,
326
+ payload: {
327
+ channel: channel,
328
+ message: message
329
+ }
330
+ });
331
+ var _channel = channel;
332
+ _channel === null || _channel === void 0 ? void 0 : _channel.markAsRead();
333
+ }
334
+ },
335
+ onMessageUpdated: function (channel, message) {
336
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageUpdated', message);
337
+ notificationsDispatcher({
338
+ type: actionTypes.ON_MESSAGE_UPDATED,
339
+ payload: {
340
+ channel: channel,
341
+ message: message
342
+ }
343
+ });
344
+ },
345
+ onMessageDeleted: function (channel, messageId) {
346
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageDeleted', {
347
+ channel: channel,
348
+ messageId: messageId
349
+ });
350
+ notificationsDispatcher({
351
+ type: actionTypes.ON_MESSAGE_DELETED,
352
+ payload: {
353
+ channel: channel,
354
+ messageId: messageId
355
+ }
356
+ });
357
+ },
358
+ onChannelDeleted: function (channelUrl) {
359
+ logger.info('NotificationChannel | useHandleChannelEvents: onChannelDeleted', {
360
+ channelUrl: channelUrl
361
+ });
362
+ }
363
+ };
364
+ logger.info('NotificationChannel | useHandleChannelEvents: Setup event handler', {
365
+ channelHandlerId: channelHandlerId,
366
+ channelHandler: channelHandler
367
+ }); // Add this group channel handler to the Sendbird chat instance
368
+
369
+ (_a = sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler(channelHandlerId, new GroupChannelHandler(channelHandler));
370
+ }
371
+
372
+ return function () {
373
+ var _a;
374
+
375
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
376
+ logger.info('NotificationChannel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
377
+ sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
378
+ } else if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
379
+ logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
380
+ }
381
+ };
382
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url, sdkInit]);
383
+ }
384
+
385
+ function useFetchMore(_a, _b) {
386
+ var channel = _a.channel,
387
+ sdkInit = _a.sdkInit,
388
+ oldestMessageTimeStamp = _a.oldestMessageTimeStamp;
389
+ var logger = _b.logger,
390
+ notificationsDispatcher = _b.notificationsDispatcher,
391
+ messageListParams = _b.messageListParams;
392
+ return useCallback(function (cb) {
393
+ logger.info('NotificationChannel: Fetching messages', {
394
+ channel: channel,
395
+ messageListParams: messageListParams
396
+ });
397
+ channel.getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
398
+ logger.info('NotificationChannel: Fetching messages success', messages);
399
+ notificationsDispatcher({
400
+ type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS,
401
+ payload: {
402
+ channel: channel,
403
+ messages: messages
404
+ }
405
+ });
406
+ cb([messages, null]);
407
+ }).catch(function (error) {
408
+ logger.error('NotificationChannel: Fetching messages failed', error);
409
+ notificationsDispatcher({
410
+ type: actionTypes.FETCH_PREV_MESSAGES_FAILURE,
411
+ payload: {
412
+ channel: channel
413
+ }
414
+ });
415
+ cb([null, error]);
416
+ });
417
+ }, [channel, oldestMessageTimeStamp, sdkInit]);
418
+ }
419
+
420
+ var NotficationChannelContext = /*#__PURE__*/React__default.createContext(undefined);
421
+
422
+ var NotficationChannelProvider = function (props) {
423
+ var _a, _b, _c, _d, _e, _f;
424
+
425
+ var channelUrl = props.channelUrl,
426
+ children = props.children,
427
+ messageListParams = props.messageListParams,
428
+ lastSeen = props.lastSeen,
429
+ handleWebAction = props.handleWebAction,
430
+ handleCustomAction = props.handleCustomAction,
431
+ handlePredefinedAction = props.handlePredefinedAction;
432
+ var globalStore = useSendbirdStateContext();
433
+ 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;
434
+ var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
435
+ var sdkInit = (_e = (_d = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _d === void 0 ? void 0 : _d.sdkStore) === null || _e === void 0 ? void 0 : _e.initialized;
436
+
437
+ var _g = useReducer(reducer, initialState),
438
+ notificationsStore = _g[0],
439
+ notificationsDispatcher = _g[1];
440
+
441
+ var uiState = notificationsStore.uiState,
442
+ allMessages = notificationsStore.allMessages,
443
+ currentNotificationChannel = notificationsStore.currentNotificationChannel,
444
+ hasMore = notificationsStore.hasMore,
445
+ showDeleteModal = notificationsStore.showDeleteModal,
446
+ messageToDelete = notificationsStore.messageToDelete;
447
+ var oldestMessageTimeStamp = ((_f = allMessages === null || allMessages === void 0 ? void 0 : allMessages[(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) - 1]) === null || _f === void 0 ? void 0 : _f.createdAt) || 0; // intialize
448
+
449
+ useInitialize({
450
+ channelUrl: channelUrl,
451
+ sdkInit: sdkInit,
452
+ messageListParams: messageListParams
453
+ }, {
454
+ notificationsDispatcher: notificationsDispatcher,
455
+ sdk: sdk,
456
+ logger: logger
457
+ }); // event listener
458
+
459
+ useEventListener({
460
+ currentChannel: currentNotificationChannel,
461
+ sdkInit: sdkInit
462
+ }, {
463
+ notificationsDispatcher: notificationsDispatcher,
464
+ sdk: sdk,
465
+ logger: logger
466
+ });
467
+ var onFetchMore = useFetchMore({
468
+ channel: currentNotificationChannel,
469
+ sdkInit: sdkInit,
470
+ oldestMessageTimeStamp: oldestMessageTimeStamp
471
+ }, {
472
+ notificationsDispatcher: notificationsDispatcher,
473
+ messageListParams: notificationsStore.messageListParams,
474
+ logger: logger
475
+ });
476
+ useEffect(function () {
477
+ notificationsDispatcher({
478
+ type: actionTypes.SET_LAST_SEEN,
479
+ payload: {
480
+ lastSeen: lastSeen
481
+ }
482
+ });
483
+ }, [lastSeen]);
484
+ var scrollRef = useRef(null);
485
+
486
+ var defaulthandlePredefinedAction = function (event, action, message) {
487
+ logger.info('NotficationChannel: handlePredefinedAction', {
488
+ event: event,
489
+ action: action,
490
+ message: message
491
+ });
492
+
493
+ if ((action === null || action === void 0 ? void 0 : action.type) === 'uikit' && (action === null || action === void 0 ? void 0 : action.data) === 'sendbirduikit://delete') {
494
+ notificationsDispatcher({
495
+ type: actionTypes.SHOW_DELETE_MODAL,
496
+ payload: {
497
+ message: message,
498
+ showDeleteModal: true
499
+ }
500
+ });
501
+ }
502
+ };
503
+
504
+ return /*#__PURE__*/React__default.createElement(NotficationChannelContext.Provider, {
505
+ value: {
506
+ // props
507
+ channelUrl: channelUrl,
508
+ handleWebAction: handleWebAction,
509
+ handleCustomAction: handleCustomAction,
510
+ handlePredefinedAction: handlePredefinedAction || defaulthandlePredefinedAction,
511
+ // store
512
+ uiState: uiState,
513
+ messageListParams: notificationsStore.messageListParams,
514
+ lastSeen: notificationsStore === null || notificationsStore === void 0 ? void 0 : notificationsStore.lastSeen,
515
+ allMessages: allMessages,
516
+ showDeleteModal: showDeleteModal,
517
+ currentNotificationChannel: currentNotificationChannel,
518
+ hasMore: hasMore,
519
+ messageToDelete: messageToDelete,
520
+ // dispatcher
521
+ notificationsDispatcher: notificationsDispatcher,
522
+ // derived info
523
+ oldestMessageTimeStamp: oldestMessageTimeStamp,
524
+ scrollRef: scrollRef,
525
+ onFetchMore: onFetchMore
526
+ }
527
+ }, children);
528
+ };
529
+
530
+ var useNotficationChannelContext = function () {
531
+ return React__default.useContext(NotficationChannelContext);
532
+ };
533
+
534
+ export { NotficationChannelProvider as N, actionTypes as a, useNotficationChannelContext as u };
535
+ //# sourceMappingURL=NotificationChannelProvider-0d8be1ad.js.map