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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-ade145a7.js} +8 -8
  32. package/{ChannelListProvider-18fd6872.js.map → ChannelListProvider-ade145a7.js.map} +1 -1
  33. package/{ChannelProvider-e50a1789.js → ChannelProvider-c9db10c0.js} +9 -9
  34. package/{ChannelProvider-e50a1789.js.map → ChannelProvider-c9db10c0.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-be2dfe96.js} +1 -1
  50. package/{CreateChannelProvider-6f5eec3d.js.map → CreateChannelProvider-be2dfe96.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-60894e38.js} +3 -3
  57. package/{LocalizationContext-299b1d45.js.map → LocalizationContext-60894e38.js.map} +1 -1
  58. package/{MediaQueryContext-84b087e0.js → MediaQueryContext-bcf72e28.js} +1 -1
  59. package/{MediaQueryContext-84b087e0.js.map → MediaQueryContext-bcf72e28.js.map} +1 -1
  60. package/{MemberList-5f71656b.js → MemberList-ce1fd162.js} +5 -5
  61. package/{MemberList-5f71656b.js.map → MemberList-ce1fd162.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-2cb7ca21.js +535 -0
  78. package/NotificationChannelProvider-2cb7ca21.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-0bdafda1.js} +3 -3
  92. package/{OpenChannelListProvider-a70a09f8.js.map → OpenChannelListProvider-0bdafda1.js.map} +1 -1
  93. package/{OpenChannelProvider-a0d666c6.js → OpenChannelProvider-a72c6fb7.js} +7 -7
  94. package/{OpenChannelProvider-a0d666c6.js.map → OpenChannelProvider-a72c6fb7.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-b025d4a7.js} +3 -3
  103. package/{RemoveMessageModal-2f571cc3.js.map → RemoveMessageModal-b025d4a7.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-de5a7889.js} +6 -6
  120. package/{ThreadProvider-b6a76698.js.map → ThreadProvider-de5a7889.js.map} +1 -1
  121. package/{UserProfileContext-53d89b5e.js → UserProfileContext-33a26cc4.js} +1 -1
  122. package/{UserProfileContext-53d89b5e.js.map → UserProfileContext-33a26cc4.js.map} +1 -1
  123. package/{_rollupPluginBabelHelpers-d746227b.js → _rollupPluginBabelHelpers-ed44209e.js} +1 -1
  124. package/_rollupPluginBabelHelpers-ed44209e.js.map +1 -0
  125. package/{actionTypes-77c96dff.js → actionTypes-aa58fd27.js} +1 -1
  126. package/{actionTypes-77c96dff.js.map → actionTypes-aa58fd27.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-65473831.js} +8 -8
  157. package/cjs/{ChannelListProvider-f2606052.js.map → ChannelListProvider-65473831.js.map} +1 -1
  158. package/cjs/{ChannelProvider-beea5a02.js → ChannelProvider-1e08a7a9.js} +9 -9
  159. package/cjs/{ChannelProvider-beea5a02.js.map → ChannelProvider-1e08a7a9.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-cbf490c6.js} +1 -1
  175. package/cjs/{CreateChannelProvider-c123ffbb.js.map → CreateChannelProvider-cbf490c6.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-8780a64e.js} +3 -3
  182. package/cjs/{LocalizationContext-caedb682.js.map → LocalizationContext-8780a64e.js.map} +1 -1
  183. package/cjs/{MediaQueryContext-cdba25c1.js → MediaQueryContext-e455934a.js} +1 -1
  184. package/cjs/{MediaQueryContext-cdba25c1.js.map → MediaQueryContext-e455934a.js.map} +1 -1
  185. package/cjs/{MemberList-45fcb966.js → MemberList-aee91fce.js} +5 -5
  186. package/cjs/{MemberList-45fcb966.js.map → MemberList-aee91fce.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-4cc9575f.js +543 -0
  203. package/cjs/NotificationChannelProvider-4cc9575f.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-4aab4391.js} +3 -3
  217. package/cjs/{OpenChannelListProvider-133cc0e6.js.map → OpenChannelListProvider-4aab4391.js.map} +1 -1
  218. package/cjs/{OpenChannelProvider-ee813f9e.js → OpenChannelProvider-a763b71c.js} +7 -7
  219. package/cjs/{OpenChannelProvider-ee813f9e.js.map → OpenChannelProvider-a763b71c.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-0da4f94b.js} +3 -3
  228. package/cjs/{RemoveMessageModal-497e1a76.js.map → RemoveMessageModal-0da4f94b.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-51be09a5.js} +6 -6
  245. package/cjs/{ThreadProvider-8b5092ee.js.map → ThreadProvider-51be09a5.js.map} +1 -1
  246. package/cjs/{UserProfileContext-80409a4d.js → UserProfileContext-0808e413.js} +1 -1
  247. package/cjs/{UserProfileContext-80409a4d.js.map → UserProfileContext-0808e413.js.map} +1 -1
  248. package/cjs/{_rollupPluginBabelHelpers-41d3db2d.js → _rollupPluginBabelHelpers-bd6baf0a.js} +1 -1
  249. package/cjs/_rollupPluginBabelHelpers-bd6baf0a.js.map +1 -0
  250. package/cjs/{actionTypes-697b5dfb.js → actionTypes-561bdde9.js} +1 -1
  251. package/cjs/{actionTypes-697b5dfb.js.map → actionTypes-561bdde9.js.map} +1 -1
  252. package/cjs/{color-d7217651.js → color-fdbe394d.js} +1 -1
  253. package/cjs/{color-d7217651.js.map → color-fdbe394d.js.map} +1 -1
  254. package/cjs/{compareIds-caa9f926.js → compareIds-d0c02eca.js} +1 -1
  255. package/cjs/{compareIds-caa9f926.js.map → compareIds-d0c02eca.js.map} +1 -1
  256. package/cjs/{const-4ba60f84.js → const-8785e4ad.js} +1 -1
  257. package/cjs/{const-4ba60f84.js.map → const-8785e4ad.js.map} +1 -1
  258. package/cjs/{const-4235b5b5.js → const-beb25e10.js} +1 -1
  259. package/cjs/{const-4235b5b5.js.map → const-beb25e10.js.map} +1 -1
  260. package/cjs/{context-867cb427.js → context-012aecd1.js} +2 -2
  261. package/cjs/{context-867cb427.js.map → context-012aecd1.js.map} +1 -1
  262. package/cjs/dist/index.css +212 -45
  263. package/cjs/dist/index.css.map +1 -1
  264. package/cjs/{index-d47bc642.js → index-08d232f8.js} +1 -1
  265. package/cjs/{index-d47bc642.js.map → index-08d232f8.js.map} +1 -1
  266. package/cjs/{index-e01cd4a9.js → index-48d85d8f.js} +1 -1
  267. package/cjs/{index-e01cd4a9.js.map → index-48d85d8f.js.map} +1 -1
  268. package/cjs/{index-942c3f15.js → index-5ea12b7a.js} +2 -2
  269. package/cjs/{index-942c3f15.js.map → index-5ea12b7a.js.map} +1 -1
  270. package/cjs/index-8a4b2f10.js +59 -0
  271. package/cjs/index-8a4b2f10.js.map +1 -0
  272. package/cjs/{index-230cddde.js → index-8c350889.js} +2 -2
  273. package/cjs/{index-230cddde.js.map → index-8c350889.js.map} +1 -1
  274. package/cjs/{index-ceb058fa.js → index-abe135e6.js} +2 -2
  275. package/cjs/{index-ceb058fa.js.map → index-abe135e6.js.map} +1 -1
  276. package/cjs/{index-476f089f.js → index-b3371ef2.js} +2 -2
  277. package/cjs/index-b3371ef2.js.map +1 -0
  278. package/cjs/{index-06816ee5.js → index-bdd889a2.js} +2 -2
  279. package/cjs/{index-06816ee5.js.map → index-bdd889a2.js.map} +1 -1
  280. package/cjs/{index-50984f15.js → index-c13771a7.js} +3 -57
  281. package/cjs/index-c13771a7.js.map +1 -0
  282. package/cjs/{index-bec34de9.js → index-e191d245.js} +11 -10
  283. package/cjs/{index-bec34de9.js.map → index-e191d245.js.map} +1 -1
  284. package/cjs/{index-c6abe71b.js → index-e8544e24.js} +13 -6
  285. package/cjs/index-e8544e24.js.map +1 -0
  286. package/cjs/{index-f0df9942.js → index-ebb542c3.js} +5 -5
  287. package/cjs/{index-f0df9942.js.map → index-ebb542c3.js.map} +1 -1
  288. package/cjs/{index-29e1117f.js → index-f032bd2c.js} +7 -7
  289. package/cjs/{index-29e1117f.js.map → index-f032bd2c.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-60660a99.js} +5 -1
  294. package/cjs/stringSet-60660a99.js.map +1 -0
  295. package/cjs/{topics-33f5f434.js → topics-f3f74edc.js} +1 -1
  296. package/cjs/{topics-33f5f434.js.map → topics-f3f74edc.js.map} +1 -1
  297. package/cjs/{tslib.es6-f1d22d7f.js → tslib.es6-5a7eb30d.js} +14 -1
  298. package/cjs/{tslib.es6-f1d22d7f.js.map → tslib.es6-5a7eb30d.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-e7140087.js} +3 -3
  358. package/cjs/{useLongPress-72c5c822.js.map → useLongPress-e7140087.js.map} +1 -1
  359. package/cjs/useSendbirdStateContext.js +1 -1
  360. package/cjs/{utils-68a6f93a.js → utils-693dd952.js} +1 -1
  361. package/cjs/{utils-68a6f93a.js.map → utils-693dd952.js.map} +1 -1
  362. package/cjs/{utils-33e5dfc7.js → utils-708aa730.js} +1 -1
  363. package/cjs/{utils-33e5dfc7.js.map → utils-708aa730.js.map} +1 -1
  364. package/cjs/{utils-b01aea7a.js → utils-b6001dd4.js} +2 -2
  365. package/cjs/{utils-b01aea7a.js.map → utils-b6001dd4.js.map} +1 -1
  366. package/cjs/{utils-d652183b.js → utils-ba58eacf.js} +1 -1
  367. package/cjs/{utils-d652183b.js.map → utils-ba58eacf.js.map} +1 -1
  368. package/cjs/{uuid-2c11c530.js → uuid-a9006ea2.js} +1 -1
  369. package/cjs/{uuid-2c11c530.js.map → uuid-a9006ea2.js.map} +1 -1
  370. package/cjs/withSendbird.js +1 -1
  371. package/{color-a6ad5b2f.js → color-c39702d1.js} +1 -1
  372. package/{color-a6ad5b2f.js.map → color-c39702d1.js.map} +1 -1
  373. package/{compareIds-4e3d3f6c.js → compareIds-063e5503.js} +1 -1
  374. package/{compareIds-4e3d3f6c.js.map → compareIds-063e5503.js.map} +1 -1
  375. package/{const-40f65aaf.js → const-14919575.js} +1 -1
  376. package/{const-40f65aaf.js.map → const-14919575.js.map} +1 -1
  377. package/{const-c982283f.js → const-1510a671.js} +1 -1
  378. package/{const-c982283f.js.map → const-1510a671.js.map} +1 -1
  379. package/{context-fa809401.js → context-d5dc28c9.js} +2 -2
  380. package/{context-fa809401.js.map → context-d5dc28c9.js.map} +1 -1
  381. package/dist/index.css +212 -45
  382. package/dist/index.css.map +1 -1
  383. package/{index-856dc0bd.js → index-0fd24497.js} +4 -57
  384. package/index-0fd24497.js.map +1 -0
  385. package/{index-4da1ff3b.js → index-2561104e.js} +2 -2
  386. package/{index-4da1ff3b.js.map → index-2561104e.js.map} +1 -1
  387. package/index-54843058.js +57 -0
  388. package/index-54843058.js.map +1 -0
  389. package/{index-b16ab63e.js → index-58e5d82d.js} +2 -2
  390. package/index-58e5d82d.js.map +1 -0
  391. package/{index-14786153.js → index-5e776774.js} +1 -1
  392. package/{index-14786153.js.map → index-5e776774.js.map} +1 -1
  393. package/{index-eff254f0.js → index-7c1f570b.js} +5 -5
  394. package/{index-eff254f0.js.map → index-7c1f570b.js.map} +1 -1
  395. package/{index-256d00f1.js → index-95ac9232.js} +2 -2
  396. package/{index-256d00f1.js.map → index-95ac9232.js.map} +1 -1
  397. package/{index-58485e08.js → index-b19486f5.js} +2 -2
  398. package/{index-58485e08.js.map → index-b19486f5.js.map} +1 -1
  399. package/{index-098867a9.js → index-b8de16d6.js} +8 -7
  400. package/{index-098867a9.js.map → index-b8de16d6.js.map} +1 -1
  401. package/{index-b714065b.js → index-d07faed8.js} +7 -7
  402. package/{index-b714065b.js.map → index-d07faed8.js.map} +1 -1
  403. package/{index-f0cb5427.js → index-d81c515b.js} +1 -1
  404. package/{index-f0cb5427.js.map → index-d81c515b.js.map} +1 -1
  405. package/{index-a8115de7.js → index-eadca08d.js} +2 -2
  406. package/{index-a8115de7.js.map → index-eadca08d.js.map} +1 -1
  407. package/{index-924f6629.js → index-fd15e3b0.js} +13 -6
  408. package/index-fd15e3b0.js.map +1 -0
  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-7ace5726.js} +5 -1
  415. package/stringSet-7ace5726.js.map +1 -0
  416. package/{topics-948f8346.js → topics-d390daf6.js} +1 -1
  417. package/{topics-948f8346.js.map → topics-d390daf6.js.map} +1 -1
  418. package/{tslib.es6-ea477498.js → tslib.es6-d9fa3716.js} +14 -2
  419. package/{tslib.es6-ea477498.js.map → tslib.es6-d9fa3716.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-7d9a5f67.js} +3 -3
  479. package/{useLongPress-2fbbada1.js.map → useLongPress-7d9a5f67.js.map} +1 -1
  480. package/useSendbirdStateContext.js +1 -1
  481. package/{utils-437f34f2.js → utils-30c326f7.js} +1 -1
  482. package/{utils-437f34f2.js.map → utils-30c326f7.js.map} +1 -1
  483. package/{utils-9b75cf2c.js → utils-40ce4da5.js} +1 -1
  484. package/{utils-9b75cf2c.js.map → utils-40ce4da5.js.map} +1 -1
  485. package/{utils-119c0f8a.js → utils-d485030c.js} +2 -2
  486. package/{utils-119c0f8a.js.map → utils-d485030c.js.map} +1 -1
  487. package/{utils-51dfc7e7.js → utils-ded73fa5.js} +1 -1
  488. package/{utils-51dfc7e7.js.map → utils-ded73fa5.js.map} +1 -1
  489. package/{uuid-2d756af4.js → uuid-968941a0.js} +1 -1
  490. package/{uuid-2d756af4.js.map → uuid-968941a0.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 @@
1
+ {"version":3,"file":"NotificationMessageWrap.js","sources":["../../../../src/smart-components/NotificationChannel/components/NotificationMessageWrap/index.tsx"],"sourcesContent":["import '@sendbird/react-uikit-message-template-view/dist/index.css';\nimport './notification-message-wrap.scss';\n\nimport React, { useMemo } from \"react\";\nimport { BaseMessage, UserMessage } from \"@sendbird/chat/message\";\nimport isToday from \"date-fns/isToday\";\nimport format from \"date-fns/format\";\nimport isYesterday from \"date-fns/isYesterday\";\n\nimport { renderMessage, renderMessageHeader } from \"../../types\";\nimport UnknownMessageItemBody from \"../../../../ui/UnknownMessageItemBody\";\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useNotficationChannelContext } from '../../context/NotificationChannelProvider';\n\nimport { MessageTemplate, MessageProvider } from '@sendbird/react-uikit-message-template-view';\n\nconst NotificationIcon = (): React.ReactElement => (\n <div className=\"sendbird-notification-channel__channel-icon-wrap\">\n <div className=\"sendbird-notification-channel__channel-icon\">\n <Icon\n className=\"sendbird-notification-channel__channel-icon-hash\"\n fillColor={IconColors.CONTENT}\n width=\"12px\"\n height=\"12px\"\n type={IconTypes.CHANNELS}\n />\n </div>\n </div>\n);\n\ntype Props = {\n renderMessage?: renderMessage;\n renderMessageHeader?: renderMessageHeader;\n message: BaseMessage;\n}\n\nexport default function NotificationMessageWrap({\n renderMessage,\n renderMessageHeader,\n message,\n}: Props): JSX.Element {\n const { dateLocale, stringSet } = useLocalization();\n const {\n lastSeen,\n handleWebAction,\n handleCustomAction,\n handlePredefinedAction,\n } = useNotficationChannelContext();\n // Typecasting to UserMessage to pass custom error message to UnknownMessage\n const _message = message as UserMessage;\n const customErrorLabel = _message?.message || stringSet?.NOTIFICATION_CHANNEL__UNKNOWN_MESSAGE;\n\n let messageTemplate;\n try {\n // todo: typecaste properly after moving to seperate package\n // @ts-ignore\n messageTemplate = JSON.parse(message?.extendedMessage?.sub_data);\n } catch (error) {\n //\n }\n const memoizedCustomMessage = useMemo(() => {\n if (typeof renderMessage === 'function') {\n return renderMessage?.({ message });\n }\n return null;\n }, [message, renderMessage]);\n\n const memoizedCustomHeader = useMemo(() => {\n if (typeof renderMessageHeader === 'function') {\n return renderMessageHeader?.({ message });\n }\n return null;\n }, [message, renderMessageHeader]);\n\n const formatDate = (createdAt: number) => {\n const optionalParam = dateLocale ? { locale: dateLocale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet.NOTIFICATION_CHANNEL__YESTERDAY;\n }\n return format(createdAt, 'MMM dd', optionalParam);\n };\n\n return (\n <MessageProvider\n message={message}\n handleWebAction={handleWebAction}\n handleCustomAction={handleCustomAction}\n handlePredefinedAction={handlePredefinedAction}\n >\n <div className=\"sendbird-notification-channel__message-wrap\" data-messageid={message?.messageId}>\n <div className=\"sendbird-notification-channel__message-wrap-header\">\n {\n memoizedCustomHeader || (\n <>\n <NotificationIcon />\n <Label\n className=\"sendbird-notification-channel__message-caption\"\n type={LabelTypography.CAPTION_2}\n >\n {message?.customType}\n </Label>\n <div className='sendbird-notification-channel__message-date-wrap'>\n {\n message?.createdAt > lastSeen && (\n <span className=\"sendbird-notification-channel__unread\" />\n )\n }\n <Label\n className=\"sendbird-notification-channel__message-date\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {formatDate(message?.createdAt || 0)}\n </Label>\n </div>\n </>\n )\n }\n </div>\n {/* render custom message or unknown message or message template */}\n { memoizedCustomMessage || (\n messageTemplate?.body?.items === undefined ? (\n <UnknownMessageItemBody\n message={message}\n customText={customErrorLabel}\n />\n ) : (\n <MessageTemplate templateItems={messageTemplate?.body?.items} />\n )\n )}\n </div>\n\n </MessageProvider>\n );\n}\n"],"names":["NotificationIcon","React","Icon","IconColors","CONTENT","IconTypes","CHANNELS","NotificationMessageWrap","_a","renderMessage","renderMessageHeader","message","_e","useLocalization","dateLocale","stringSet","_f","useNotficationChannelContext","lastSeen","handleWebAction","handleCustomAction","handlePredefinedAction","_message","customErrorLabel","NOTIFICATION_CHANNEL__UNKNOWN_MESSAGE","messageTemplate","JSON","parse","extendedMessage","_b","sub_data","error","memoizedCustomMessage","useMemo","memoizedCustomHeader","formatDate","createdAt","optionalParam","locale","isToday","format","isYesterday","NOTIFICATION_CHANNEL__YESTERDAY","MessageProvider","messageId","Label","LabelTypography","CAPTION_2","customType","CAPTION_3","LabelColors","ONBACKGROUND_3","_c","body","items","undefined","UnknownMessageItemBody","MessageTemplate","_d"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('react');
6
+ require('../useSendbirdStateContext.js');
7
+ var NotificationChannel_context = require('../NotificationChannelProvider-4cc9575f.js');
8
+ require('../withSendbird.js');
9
+ require('../_rollupPluginBabelHelpers-bd6baf0a.js');
10
+ require('../tslib.es6-5a7eb30d.js');
11
+ require('../compareIds-d0c02eca.js');
12
+ require('../index-b3371ef2.js');
13
+ require('../utils/message/getOutgoingMessageState.js');
14
+ require('@sendbird/chat/groupChannel');
15
+ require('../uuid-a9006ea2.js');
16
+
17
+
18
+
19
+ exports.NotficationChannelProvider = NotificationChannel_context.NotficationChannelProvider;
20
+ exports.useNotficationChannelContext = NotificationChannel_context.useNotficationChannelContext;
21
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-5a7eb30d.js');
4
+ var React = require('react');
5
+ var NotificationChannel_context = require('./NotificationChannelProvider-4cc9575f.js');
6
+ var NotificationChannel_components_NotificationChannelUI = require('./NotificationChannel/components/NotificationChannelUI.js');
7
+ require('./useSendbirdStateContext.js');
8
+ require('./withSendbird.js');
9
+ require('./_rollupPluginBabelHelpers-bd6baf0a.js');
10
+ require('./compareIds-d0c02eca.js');
11
+ require('./index-b3371ef2.js');
12
+ require('./utils/message/getOutgoingMessageState.js');
13
+ require('@sendbird/chat/groupChannel');
14
+ require('./uuid-a9006ea2.js');
15
+ require('./NotificationChannel/components/NotificationList.js');
16
+ require('./NotificationChannel/components/NotificationMessageWrap.js');
17
+ require('./index-c13771a7.js');
18
+ require('./index-abe135e6.js');
19
+ require('./index-5ea12b7a.js');
20
+ require('./index-48d85d8f.js');
21
+ require('./ui/UnknownMessageItemBody.js');
22
+ require('./index-bdd889a2.js');
23
+ require('prop-types');
24
+ require('./stringSet-60660a99.js');
25
+ require('./LocalizationContext-8780a64e.js');
26
+ require('./ui/Icon.js');
27
+ require('@sendbird/react-uikit-message-template-view');
28
+ require('./index-e8544e24.js');
29
+ require('./ui/Loader.js');
30
+ require('./ui/Modal.js');
31
+ require('react-dom');
32
+ require('./index-08d232f8.js');
33
+ require('./ui/Button.js');
34
+ require('./ui/IconButton.js');
35
+ require('./MediaQueryContext-e455934a.js');
36
+ require('./sendbirdSelectors.js');
37
+ require('./topics-f3f74edc.js');
38
+ require('./utils-708aa730.js');
39
+
40
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
41
+
42
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
43
+
44
+ function NotificationChannel(props) {
45
+ var channelUrl = props.channelUrl,
46
+ messageListParams = props.messageListParams,
47
+ lastSeen = props.lastSeen,
48
+ handleWebAction = props.handleWebAction,
49
+ handleCustomAction = props.handleCustomAction,
50
+ handlePredefinedAction = props.handlePredefinedAction,
51
+ uiProps = tslib_es6.__rest(props, ["channelUrl", "messageListParams", "lastSeen", "handleWebAction", "handleCustomAction", "handlePredefinedAction"]);
52
+
53
+ return /*#__PURE__*/React__default["default"].createElement(NotificationChannel_context.NotficationChannelProvider, {
54
+ channelUrl: channelUrl,
55
+ lastSeen: lastSeen,
56
+ messageListParams: messageListParams,
57
+ handleWebAction: handleWebAction,
58
+ handleCustomAction: handleCustomAction,
59
+ handlePredefinedAction: handlePredefinedAction
60
+ }, /*#__PURE__*/React__default["default"].createElement(NotificationChannel_components_NotificationChannelUI, uiProps));
61
+ }
62
+
63
+ module.exports = NotificationChannel;
64
+ //# 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","NotficationChannelProvider","NotificationChannelUI"],"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,gBAAA,CAAAR,KAAA,EARE,CAAA,YAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,wBAAA,CAQF,CAPF,CAAA;;AAQF,EAAA,oBACES,wCAACC,sDAAD,EAAA;AACE,IAAA,UAAU,EAAET,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,yBAAC,CAAA,aAAA,CAAAE,oDAAD,EACMJ,OADN,CARF,CADF,CAAA;AAcD;;;;"}
@@ -0,0 +1,543 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useSendbirdStateContext = require('./useSendbirdStateContext.js');
5
+ var tslib_es6 = require('./tslib.es6-5a7eb30d.js');
6
+ var compareIds = require('./compareIds-d0c02eca.js');
7
+ var index = require('./index-b3371ef2.js');
8
+ var groupChannel = require('@sendbird/chat/groupChannel');
9
+ var uuid = require('./uuid-a9006ea2.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+
15
+ var initialState = {
16
+ uiState: 'loading',
17
+ allMessages: [],
18
+ currentNotificationChannel: null,
19
+ hasMore: false,
20
+ messageListParams: null,
21
+ lastSeen: 0,
22
+ showDeleteModal: false,
23
+ messageToDelete: null
24
+ };
25
+
26
+ var actionTypes = {
27
+ FETCH_CHANNEL_START: 'FETCH_CHANNEL_START',
28
+ FETCH_CHANNEL_SUCCESS: 'FETCH_CHANNEL_SUCCESS',
29
+ FETCH_CHANNEL_FAILURE: 'FETCH_CHANNEL_FAILURE',
30
+ RESET_MESSAGES: 'RESET_MESSAGES',
31
+ FETCH_INITIAL_MESSAGES_START: 'FETCH_INITIAL_MESSAGES_START',
32
+ FETCH_INITIAL_MESSAGES_SUCCESS: 'FETCH_INITIAL_MESSAGES_SUCCESS',
33
+ FETCH_INITIAL_MESSAGES_FAILURE: 'FETCH_INITIAL_MESSAGES_FAILURE',
34
+ FETCH_PREV_MESSAGES_SUCCESS: 'FETCH_PREV_MESSAGES_SUCCESS',
35
+ FETCH_PREV_MESSAGES_FAILURE: 'FETCH_PREV_MESSAGES_FAILURE',
36
+
37
+ /**
38
+ * Being able to notice which notification messages are newly arrived by the (unread) badge UI
39
+ * last seen at == groupChannel.myLastRead; should not updated when the channel is on entered(use it only once) and receives a new notification.
40
+ * Needs to call markAsRead internally (but not provide as public interfaces) when:
41
+ * Enters the channel
42
+ * Receives a new message (when the channel is visible due to the channel unread message count will be reset)
43
+ * Whenever the channel is visible.
44
+ * (iOS, AOS) tab bar case, because the notification channel view keeps alive, should update last seen value manually → updateLastSeen(timestamp: LONG)
45
+ */
46
+ SET_LAST_SEEN: 'SET_LAST_SEEN',
47
+ SHOW_DELETE_MODAL: 'SHOW_DELETE_MODAL',
48
+ ON_MESSAGE_RECEIVED: 'ON_MESSAGE_RECEIVED',
49
+ ON_MESSAGE_UPDATED: 'ON_MESSAGE_UPDATED',
50
+ ON_MESSAGE_DELETED: 'ON_MESSAGE_DELETED',
51
+ ON_CHANNEL_DELETED: 'ON_CHANNEL_DELETED'
52
+ };
53
+
54
+ var MAX_MESSAGE_COUNT = 15;
55
+
56
+ function useInitialize(_a, _b) {
57
+ var channelUrl = _a.channelUrl,
58
+ sdkInit = _a.sdkInit,
59
+ messageListParams = _a.messageListParams;
60
+ var notificationsDispatcher = _b.notificationsDispatcher,
61
+ sdk = _b.sdk,
62
+ logger = _b.logger;
63
+ React.useEffect(function () {
64
+ if (sdkInit) {
65
+ var messageListParams_1 = tslib_es6.__assign({
66
+ nextResultSize: 0,
67
+ prevResultSize: MAX_MESSAGE_COUNT,
68
+ reverse: true,
69
+ isInclusive: false,
70
+ includeReactions: false
71
+ }, messageListParams);
72
+
73
+ logger.info('NotificationChannel: Fetching channel start', {
74
+ channelUrl: channelUrl,
75
+ messageListParams_: messageListParams_1
76
+ });
77
+ notificationsDispatcher({
78
+ type: actionTypes.FETCH_CHANNEL_START,
79
+ payload: {
80
+ channelUrl: channelUrl,
81
+ messageListParams: messageListParams_1
82
+ }
83
+ });
84
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel.getChannel(channelUrl).then(function (channel) {
85
+ logger.info('NotificationChannel: Fetching channel success', {
86
+ channel: channel
87
+ });
88
+ notificationsDispatcher({
89
+ type: actionTypes.FETCH_CHANNEL_SUCCESS,
90
+ payload: {
91
+ channel: channel
92
+ }
93
+ });
94
+ notificationsDispatcher({
95
+ type: actionTypes.SET_LAST_SEEN,
96
+ payload: {
97
+ lastSeen: channel === null || channel === void 0 ? void 0 : channel.myLastRead
98
+ }
99
+ }); // start fetching messages
100
+
101
+ logger.info('NotificationChannel: Fetching messages start', {
102
+ channel: channel
103
+ });
104
+ notificationsDispatcher({
105
+ type: actionTypes.FETCH_INITIAL_MESSAGES_START
106
+ });
107
+ logger.info('NotificationChannel: Fetching messages', {
108
+ channel: channel
109
+ });
110
+ channel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
111
+ notificationsDispatcher({
112
+ type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,
113
+ payload: {
114
+ channel: channel,
115
+ messages: messages
116
+ }
117
+ });
118
+ channel === null || channel === void 0 ? void 0 : channel.markAsRead();
119
+ }).catch(function (error) {
120
+ logger.error('NotificationChannel: Fetching messages failed', error);
121
+ notificationsDispatcher({
122
+ type: actionTypes.FETCH_INITIAL_MESSAGES_FAILURE,
123
+ payload: {
124
+ error: error,
125
+ channel: channel
126
+ }
127
+ });
128
+ });
129
+ }).catch(function (error) {
130
+ logger.error('NotificationChannel: Fetching channel fail', {
131
+ error: error
132
+ });
133
+ notificationsDispatcher({
134
+ type: actionTypes.FETCH_CHANNEL_FAILURE
135
+ });
136
+ });
137
+ }
138
+ }, [channelUrl, sdkInit, messageListParams]);
139
+ }
140
+
141
+ function reducer(state, action) {
142
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
143
+
144
+ switch (action === null || action === void 0 ? void 0 : action.type) {
145
+ case actionTypes.SET_LAST_SEEN:
146
+ {
147
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
148
+ lastSeen: (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.lastSeen
149
+ });
150
+ }
151
+
152
+ case actionTypes.SHOW_DELETE_MODAL:
153
+ {
154
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
155
+ showDeleteModal: (_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.showDeleteModal,
156
+ messageToDelete: (_c = action === null || action === void 0 ? void 0 : action.payload) === null || _c === void 0 ? void 0 : _c.message
157
+ });
158
+ }
159
+
160
+ case actionTypes.FETCH_CHANNEL_START:
161
+ {
162
+ return tslib_es6.__assign(tslib_es6.__assign({}, initialState), {
163
+ messageListParams: (_d = action === null || action === void 0 ? void 0 : action.payload) === null || _d === void 0 ? void 0 : _d.messageListParams
164
+ });
165
+ }
166
+
167
+ case actionTypes.FETCH_CHANNEL_SUCCESS:
168
+ {
169
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
170
+ currentNotificationChannel: (_e = action === null || action === void 0 ? void 0 : action.payload) === null || _e === void 0 ? void 0 : _e.channel
171
+ });
172
+ }
173
+
174
+ case actionTypes.FETCH_CHANNEL_FAILURE:
175
+ {
176
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
177
+ uiState: 'invalid'
178
+ });
179
+ }
180
+
181
+ case actionTypes.RESET_MESSAGES:
182
+ {
183
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
184
+ allMessages: []
185
+ });
186
+ }
187
+
188
+ case actionTypes.FETCH_INITIAL_MESSAGES_START:
189
+ {
190
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
191
+ uiState: 'loading'
192
+ });
193
+ }
194
+
195
+ case actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS:
196
+ {
197
+ var messages = action.payload.messages || [];
198
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
199
+ allMessages: messages,
200
+ uiState: 'initialized',
201
+ hasMore: (messages === null || messages === void 0 ? void 0 : messages.length) === MAX_MESSAGE_COUNT
202
+ });
203
+ }
204
+
205
+ case actionTypes.FETCH_INITIAL_MESSAGES_FAILURE:
206
+ {
207
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
208
+ uiState: 'invalid'
209
+ });
210
+ }
211
+
212
+ case actionTypes.FETCH_PREV_MESSAGES_SUCCESS:
213
+ {
214
+ var channel = action.payload.channel;
215
+ var messages_1 = action.payload.messages || [];
216
+
217
+ 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)) {
218
+ return state;
219
+ }
220
+
221
+ var deDuplucateAllMessages = state.allMessages.filter(function (m) {
222
+ return !messages_1.find(function (m2) {
223
+ return compareIds.compareIds(m.messageId, m2.messageId);
224
+ });
225
+ });
226
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
227
+ hasMore: (messages_1 === null || messages_1 === void 0 ? void 0 : messages_1.length) === MAX_MESSAGE_COUNT,
228
+ allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], deDuplucateAllMessages, true), messages_1, true)
229
+ });
230
+ }
231
+
232
+ case actionTypes.FETCH_PREV_MESSAGES_FAILURE:
233
+ {
234
+ return state;
235
+ }
236
+
237
+ case actionTypes.ON_MESSAGE_RECEIVED:
238
+ {
239
+ var channel = action.payload.channel;
240
+ var message = action.payload.message;
241
+
242
+ 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)) {
243
+ return state;
244
+ } // filter out messaegs using MessageListQuery
245
+
246
+
247
+ if ((state === null || state === void 0 ? void 0 : state.messageListParams) && !index.filterMessageListParams(state === null || state === void 0 ? void 0 : state.messageListParams, message)) {
248
+ return state;
249
+ }
250
+
251
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
252
+ allMessages: tslib_es6.__spreadArray([message], state === null || state === void 0 ? void 0 : state.allMessages, true)
253
+ });
254
+ }
255
+
256
+ case actionTypes.ON_MESSAGE_UPDATED:
257
+ {
258
+ var channel = action.payload.channel;
259
+ var message_1 = action.payload.message;
260
+
261
+ 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)) {
262
+ return state;
263
+ }
264
+
265
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
266
+ allMessages: (_j = state === null || state === void 0 ? void 0 : state.allMessages) === null || _j === void 0 ? void 0 : _j.map(function (m) {
267
+ if ((m === null || m === void 0 ? void 0 : m.messageId) === (message_1 === null || message_1 === void 0 ? void 0 : message_1.messageId)) {
268
+ return message_1;
269
+ }
270
+
271
+ return m;
272
+ })
273
+ });
274
+ }
275
+
276
+ case actionTypes.ON_MESSAGE_DELETED:
277
+ {
278
+ var channel = action.payload.channel;
279
+ var message_2 = action.payload.message;
280
+
281
+ 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)) {
282
+ return state;
283
+ }
284
+
285
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
286
+ allMessages: state.allMessages.filter(function (m) {
287
+ return !compareIds.compareIds(m.messageId, message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId);
288
+ })
289
+ });
290
+ }
291
+
292
+ case actionTypes.ON_CHANNEL_DELETED:
293
+ {
294
+ var channelUrl = action.payload.channelUrl;
295
+
296
+ if (channelUrl !== ((_l = state === null || state === void 0 ? void 0 : state.currentNotificationChannel) === null || _l === void 0 ? void 0 : _l.url)) {
297
+ return state;
298
+ }
299
+
300
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
301
+ currentNotificationChannel: null,
302
+ uiState: 'invalid'
303
+ });
304
+ }
305
+
306
+ default:
307
+ {
308
+ return state;
309
+ }
310
+ }
311
+ }
312
+
313
+ function useEventListener(_a, _b) {
314
+ var currentChannel = _a.currentChannel,
315
+ sdkInit = _a.sdkInit;
316
+ var notificationsDispatcher = _b.notificationsDispatcher,
317
+ sdk = _b.sdk,
318
+ logger = _b.logger;
319
+ React.useEffect(function () {
320
+ var _a;
321
+
322
+ var channelUrl = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url;
323
+ var channelHandlerId = uuid.uuidv4();
324
+
325
+ if (channelUrl && sdkInit) {
326
+ var channelHandler = {
327
+ onMessageReceived: function (channel, message) {
328
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
329
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageReceived', message);
330
+ notificationsDispatcher({
331
+ type: actionTypes.ON_MESSAGE_RECEIVED,
332
+ payload: {
333
+ channel: channel,
334
+ message: message
335
+ }
336
+ });
337
+ var _channel = channel;
338
+ _channel === null || _channel === void 0 ? void 0 : _channel.markAsRead();
339
+ }
340
+ },
341
+ onMessageUpdated: function (channel, message) {
342
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageUpdated', message);
343
+ notificationsDispatcher({
344
+ type: actionTypes.ON_MESSAGE_UPDATED,
345
+ payload: {
346
+ channel: channel,
347
+ message: message
348
+ }
349
+ });
350
+ },
351
+ onMessageDeleted: function (channel, messageId) {
352
+ logger.info('NotificationChannel | useHandleChannelEvents: onMessageDeleted', {
353
+ channel: channel,
354
+ messageId: messageId
355
+ });
356
+ notificationsDispatcher({
357
+ type: actionTypes.ON_MESSAGE_DELETED,
358
+ payload: {
359
+ channel: channel,
360
+ messageId: messageId
361
+ }
362
+ });
363
+ },
364
+ onChannelDeleted: function (channelUrl) {
365
+ logger.info('NotificationChannel | useHandleChannelEvents: onChannelDeleted', {
366
+ channelUrl: channelUrl
367
+ });
368
+ }
369
+ };
370
+ logger.info('NotificationChannel | useHandleChannelEvents: Setup event handler', {
371
+ channelHandlerId: channelHandlerId,
372
+ channelHandler: channelHandler
373
+ }); // Add this group channel handler to the Sendbird chat instance
374
+
375
+ (_a = sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
376
+ }
377
+
378
+ return function () {
379
+ var _a;
380
+
381
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
382
+ logger.info('NotificationChannel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
383
+ sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
384
+ } else if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
385
+ logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
386
+ }
387
+ };
388
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url, sdkInit]);
389
+ }
390
+
391
+ function useFetchMore(_a, _b) {
392
+ var channel = _a.channel,
393
+ sdkInit = _a.sdkInit,
394
+ oldestMessageTimeStamp = _a.oldestMessageTimeStamp;
395
+ var logger = _b.logger,
396
+ notificationsDispatcher = _b.notificationsDispatcher,
397
+ messageListParams = _b.messageListParams;
398
+ return React.useCallback(function (cb) {
399
+ logger.info('NotificationChannel: Fetching messages', {
400
+ channel: channel,
401
+ messageListParams: messageListParams
402
+ });
403
+ channel.getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
404
+ logger.info('NotificationChannel: Fetching messages success', messages);
405
+ notificationsDispatcher({
406
+ type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS,
407
+ payload: {
408
+ channel: channel,
409
+ messages: messages
410
+ }
411
+ });
412
+ cb([messages, null]);
413
+ }).catch(function (error) {
414
+ logger.error('NotificationChannel: Fetching messages failed', error);
415
+ notificationsDispatcher({
416
+ type: actionTypes.FETCH_PREV_MESSAGES_FAILURE,
417
+ payload: {
418
+ channel: channel
419
+ }
420
+ });
421
+ cb([null, error]);
422
+ });
423
+ }, [channel, oldestMessageTimeStamp, sdkInit]);
424
+ }
425
+
426
+ var NotficationChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
427
+
428
+ var NotficationChannelProvider = function (props) {
429
+ var _a, _b, _c, _d, _e, _f;
430
+
431
+ var channelUrl = props.channelUrl,
432
+ children = props.children,
433
+ messageListParams = props.messageListParams,
434
+ lastSeen = props.lastSeen,
435
+ handleWebAction = props.handleWebAction,
436
+ handleCustomAction = props.handleCustomAction,
437
+ handlePredefinedAction = props.handlePredefinedAction;
438
+ var globalStore = useSendbirdStateContext();
439
+ 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;
440
+ var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
441
+ 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;
442
+
443
+ var _g = React.useReducer(reducer, initialState),
444
+ notificationsStore = _g[0],
445
+ notificationsDispatcher = _g[1];
446
+
447
+ var uiState = notificationsStore.uiState,
448
+ allMessages = notificationsStore.allMessages,
449
+ currentNotificationChannel = notificationsStore.currentNotificationChannel,
450
+ hasMore = notificationsStore.hasMore,
451
+ showDeleteModal = notificationsStore.showDeleteModal,
452
+ messageToDelete = notificationsStore.messageToDelete;
453
+ 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
454
+
455
+ useInitialize({
456
+ channelUrl: channelUrl,
457
+ sdkInit: sdkInit,
458
+ messageListParams: messageListParams
459
+ }, {
460
+ notificationsDispatcher: notificationsDispatcher,
461
+ sdk: sdk,
462
+ logger: logger
463
+ }); // event listener
464
+
465
+ useEventListener({
466
+ currentChannel: currentNotificationChannel,
467
+ sdkInit: sdkInit
468
+ }, {
469
+ notificationsDispatcher: notificationsDispatcher,
470
+ sdk: sdk,
471
+ logger: logger
472
+ });
473
+ var onFetchMore = useFetchMore({
474
+ channel: currentNotificationChannel,
475
+ sdkInit: sdkInit,
476
+ oldestMessageTimeStamp: oldestMessageTimeStamp
477
+ }, {
478
+ notificationsDispatcher: notificationsDispatcher,
479
+ messageListParams: notificationsStore.messageListParams,
480
+ logger: logger
481
+ });
482
+ React.useEffect(function () {
483
+ notificationsDispatcher({
484
+ type: actionTypes.SET_LAST_SEEN,
485
+ payload: {
486
+ lastSeen: lastSeen
487
+ }
488
+ });
489
+ }, [lastSeen]);
490
+ var scrollRef = React.useRef(null);
491
+
492
+ var defaulthandlePredefinedAction = function (event, action, message) {
493
+ logger.info('NotficationChannel: handlePredefinedAction', {
494
+ event: event,
495
+ action: action,
496
+ message: message
497
+ });
498
+
499
+ if ((action === null || action === void 0 ? void 0 : action.type) === 'uikit' && (action === null || action === void 0 ? void 0 : action.data) === 'sendbirduikit://delete') {
500
+ notificationsDispatcher({
501
+ type: actionTypes.SHOW_DELETE_MODAL,
502
+ payload: {
503
+ message: message,
504
+ showDeleteModal: true
505
+ }
506
+ });
507
+ }
508
+ };
509
+
510
+ return /*#__PURE__*/React__default["default"].createElement(NotficationChannelContext.Provider, {
511
+ value: {
512
+ // props
513
+ channelUrl: channelUrl,
514
+ handleWebAction: handleWebAction,
515
+ handleCustomAction: handleCustomAction,
516
+ handlePredefinedAction: handlePredefinedAction || defaulthandlePredefinedAction,
517
+ // store
518
+ uiState: uiState,
519
+ messageListParams: notificationsStore.messageListParams,
520
+ lastSeen: notificationsStore === null || notificationsStore === void 0 ? void 0 : notificationsStore.lastSeen,
521
+ allMessages: allMessages,
522
+ showDeleteModal: showDeleteModal,
523
+ currentNotificationChannel: currentNotificationChannel,
524
+ hasMore: hasMore,
525
+ messageToDelete: messageToDelete,
526
+ // dispatcher
527
+ notificationsDispatcher: notificationsDispatcher,
528
+ // derived info
529
+ oldestMessageTimeStamp: oldestMessageTimeStamp,
530
+ scrollRef: scrollRef,
531
+ onFetchMore: onFetchMore
532
+ }
533
+ }, children);
534
+ };
535
+
536
+ var useNotficationChannelContext = function () {
537
+ return React__default["default"].useContext(NotficationChannelContext);
538
+ };
539
+
540
+ exports.NotficationChannelProvider = NotficationChannelProvider;
541
+ exports.actionTypes = actionTypes;
542
+ exports.useNotficationChannelContext = useNotficationChannelContext;
543
+ //# sourceMappingURL=NotificationChannelProvider-4cc9575f.js.map