@sendbird/uikit-react 3.0.0-beta.4 → 3.0.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 (625) hide show
  1. package/App.js +316 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +121 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +182 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +153 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +364 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +214 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +242 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +55 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +306 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +102 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +26 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +109 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +235 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +216 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +133 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +15 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +91 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-76b1ec23.js +944 -0
  45. package/ChannelListProvider-76b1ec23.js.map +1 -0
  46. package/ChannelProvider-c0ed5fae.js +2075 -0
  47. package/ChannelProvider-c0ed5fae.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +102 -0
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  52. package/ChannelSettings/components/EditDetailsModal.js +158 -0
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  54. package/ChannelSettings/components/LeaveChannel.js +53 -0
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  56. package/ChannelSettings/components/ModerationPanel.js +851 -0
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +106 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteUsers.js +180 -0
  69. package/CreateChannel/components/InviteUsers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +9 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-8c72aa06.js +53 -0
  77. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-fb3dafcd.js +22 -0
  85. package/LocalizationContext-fb3dafcd.js.map +1 -0
  86. package/MemberList-01d3c8bf.js +404 -0
  87. package/MemberList-01d3c8bf.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +387 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +80 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +58 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +287 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +158 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +111 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +16 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +82 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-0fb27972.js +1946 -0
  111. package/OpenChannelProvider-0fb27972.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +199 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +145 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +0 -1
  127. package/SendbirdProvider.js +782 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-6a387a08.js +38 -0
  130. package/UserProfileContext-6a387a08.js.map +1 -0
  131. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  132. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  133. package/_rollupPluginBabelHelpers-084fb589.js +233 -0
  134. package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
  135. package/actionTypes-302a2801.js +6 -0
  136. package/actionTypes-302a2801.js.map +1 -0
  137. package/cjs/App.js +323 -0
  138. package/cjs/App.js.map +1 -0
  139. package/cjs/Channel/components/ChannelHeader.js +127 -0
  140. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  141. package/cjs/Channel/components/ChannelUI.js +188 -0
  142. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  143. package/cjs/Channel/components/FileViewer.js +162 -0
  144. package/cjs/Channel/components/FileViewer.js.map +1 -0
  145. package/cjs/Channel/components/FrozenNotification.js +26 -0
  146. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  147. package/cjs/Channel/components/Message.js +370 -0
  148. package/cjs/Channel/components/Message.js.map +1 -0
  149. package/cjs/Channel/components/MessageInput.js +220 -0
  150. package/cjs/Channel/components/MessageInput.js.map +1 -0
  151. package/cjs/Channel/components/MessageList.js +248 -0
  152. package/cjs/Channel/components/MessageList.js.map +1 -0
  153. package/cjs/Channel/components/RemoveMessageModal.js +61 -0
  154. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  155. package/cjs/Channel/components/SuggestedMentionList.js +312 -0
  156. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  157. package/cjs/Channel/components/TypingIndicator.js +111 -0
  158. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  159. package/cjs/Channel/components/UnreadCount.js +47 -0
  160. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  161. package/cjs/Channel/context.js +35 -0
  162. package/cjs/Channel/context.js.map +1 -0
  163. package/cjs/Channel.js +115 -0
  164. package/cjs/Channel.js.map +1 -0
  165. package/cjs/ChannelList/components/AddChannel.js +79 -0
  166. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  168. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelListUI.js +241 -0
  170. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreview.js +222 -0
  172. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  173. package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  175. package/cjs/ChannelList/context.js +24 -0
  176. package/cjs/ChannelList/context.js.map +1 -0
  177. package/cjs/ChannelList.js +97 -0
  178. package/cjs/ChannelList.js.map +1 -0
  179. package/cjs/ChannelListProvider-7d1c0466.js +956 -0
  180. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  181. package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
  182. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
  192. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserListItem.js +112 -0
  194. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  195. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  196. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  197. package/cjs/ChannelSettings/context.js +102 -0
  198. package/cjs/ChannelSettings/context.js.map +1 -0
  199. package/cjs/ChannelSettings.js +77 -0
  200. package/cjs/ChannelSettings.js.map +1 -0
  201. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  202. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  203. package/cjs/CreateChannel/components/InviteUsers.js +186 -0
  204. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  205. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  206. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  207. package/cjs/CreateChannel/context.js +18 -0
  208. package/cjs/CreateChannel/context.js.map +1 -0
  209. package/cjs/CreateChannel.js +59 -0
  210. package/cjs/CreateChannel.js.map +1 -0
  211. package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
  212. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  213. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  215. package/cjs/EditUserProfile/context.js +36 -0
  216. package/cjs/EditUserProfile/context.js.map +1 -0
  217. package/cjs/EditUserProfile.js +45 -0
  218. package/cjs/EditUserProfile.js.map +1 -0
  219. package/cjs/LocalizationContext-5a6a0f67.js +30 -0
  220. package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
  221. package/cjs/MemberList-bfecdd64.js +410 -0
  222. package/cjs/MemberList-bfecdd64.js.map +1 -0
  223. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  224. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  225. package/cjs/MessageSearch/context.js +396 -0
  226. package/cjs/MessageSearch/context.js.map +1 -0
  227. package/cjs/MessageSearch.js +152 -0
  228. package/cjs/MessageSearch.js.map +1 -0
  229. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
  234. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  239. package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
  240. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  241. package/cjs/OpenChannel/context.js +25 -0
  242. package/cjs/OpenChannel/context.js.map +1 -0
  243. package/cjs/OpenChannel.js +88 -0
  244. package/cjs/OpenChannel.js.map +1 -0
  245. package/cjs/OpenChannelProvider-e8247193.js +1955 -0
  246. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  257. package/cjs/OpenChannelSettings/context.js +73 -0
  258. package/cjs/OpenChannelSettings/context.js.map +1 -0
  259. package/cjs/OpenChannelSettings.js +70 -0
  260. package/cjs/OpenChannelSettings.js.map +1 -0
  261. package/cjs/SendbirdProvider.js +790 -0
  262. package/cjs/SendbirdProvider.js.map +1 -0
  263. package/cjs/UserProfileContext-17c8f75c.js +46 -0
  264. package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
  265. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  266. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  267. package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
  268. package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
  269. package/cjs/actionTypes-7a330bec.js +10 -0
  270. package/cjs/actionTypes-7a330bec.js.map +1 -0
  271. package/cjs/color-b30f84a2.js +42 -0
  272. package/cjs/color-b30f84a2.js.map +1 -0
  273. package/cjs/compareIds-d8053014.js +20 -0
  274. package/cjs/compareIds-d8053014.js.map +1 -0
  275. package/cjs/const-2623fae1.js +22 -0
  276. package/cjs/const-2623fae1.js.map +1 -0
  277. package/cjs/const-6aa26f9f.js +14 -0
  278. package/cjs/const-6aa26f9f.js.map +1 -0
  279. package/cjs/context-83ecdafd.js +19 -0
  280. package/cjs/context-83ecdafd.js.map +1 -0
  281. package/cjs/dist/index.css +4603 -0
  282. package/cjs/dist/index.css.map +1 -0
  283. package/cjs/groupChannel-e311e26a.js +9 -0
  284. package/cjs/groupChannel-e311e26a.js.map +1 -0
  285. package/cjs/index-1e14c5b9.js +130 -0
  286. package/cjs/index-1e14c5b9.js.map +1 -0
  287. package/cjs/index-2537cbc7.js +284 -0
  288. package/cjs/index-2537cbc7.js.map +1 -0
  289. package/cjs/index-40d245a3.js +729 -0
  290. package/cjs/index-40d245a3.js.map +1 -0
  291. package/cjs/index-5e7b82c2.js +178 -0
  292. package/cjs/index-5e7b82c2.js.map +1 -0
  293. package/cjs/index-72479c2a.js +514 -0
  294. package/cjs/index-72479c2a.js.map +1 -0
  295. package/cjs/index-ab5d906d.js +67 -0
  296. package/cjs/index-ab5d906d.js.map +1 -0
  297. package/cjs/index-cdcd27bc.js +1880 -0
  298. package/cjs/index-cdcd27bc.js.map +1 -0
  299. package/cjs/index-ce679d41.js +9 -0
  300. package/cjs/index-ce679d41.js.map +1 -0
  301. package/cjs/index-df05e765.js +142 -0
  302. package/cjs/index-df05e765.js.map +1 -0
  303. package/cjs/index-f9677913.js +97 -0
  304. package/cjs/index-f9677913.js.map +1 -0
  305. package/cjs/index.js +165 -0
  306. package/cjs/index.js.map +1 -0
  307. package/cjs/openChannel-e9f65946.js +13 -0
  308. package/cjs/openChannel-e9f65946.js.map +1 -0
  309. package/cjs/openChannelUtils-4b7d2697.js +97 -0
  310. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  311. package/cjs/sendbirdSelectors.js +696 -0
  312. package/cjs/sendbirdSelectors.js.map +1 -0
  313. package/cjs/stringSet-2f3588b5.js +118 -0
  314. package/cjs/stringSet-2f3588b5.js.map +1 -0
  315. package/cjs/topics-582e38dc.js +18 -0
  316. package/cjs/topics-582e38dc.js.map +1 -0
  317. package/cjs/tslib.es6-d9c7aa8b.js +40 -0
  318. package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
  319. package/cjs/ui/Accordion.js +74 -0
  320. package/cjs/ui/Accordion.js.map +1 -0
  321. package/cjs/ui/AccordionGroup.js +32 -0
  322. package/cjs/ui/AccordionGroup.js.map +1 -0
  323. package/cjs/ui/AdminMessage.js +45 -0
  324. package/cjs/ui/AdminMessage.js.map +1 -0
  325. package/cjs/ui/Avatar.js +226 -0
  326. package/cjs/ui/Avatar.js.map +1 -0
  327. package/cjs/ui/Badge.js +45 -0
  328. package/cjs/ui/Badge.js.map +1 -0
  329. package/cjs/ui/Button.js +17 -0
  330. package/cjs/ui/Button.js.map +1 -0
  331. package/cjs/ui/ChannelAvatar.js +59 -0
  332. package/cjs/ui/ChannelAvatar.js.map +1 -0
  333. package/cjs/ui/ChannelPreview.js +208 -0
  334. package/cjs/ui/ChannelPreview.js.map +1 -0
  335. package/cjs/ui/ChatHeader.js +152 -0
  336. package/cjs/ui/ChatHeader.js.map +1 -0
  337. package/cjs/ui/Checkbox.js +49 -0
  338. package/cjs/ui/Checkbox.js.map +1 -0
  339. package/cjs/ui/ConnectionStatus.js +34 -0
  340. package/cjs/ui/ConnectionStatus.js.map +1 -0
  341. package/cjs/ui/ContextMenu.js +410 -0
  342. package/cjs/ui/ContextMenu.js.map +1 -0
  343. package/cjs/ui/DateSeparator.js +44 -0
  344. package/cjs/ui/DateSeparator.js.map +1 -0
  345. package/cjs/ui/Dropdown.js +107 -0
  346. package/cjs/ui/Dropdown.js.map +1 -0
  347. package/cjs/ui/EmojiReactions.js +127 -0
  348. package/cjs/ui/EmojiReactions.js.map +1 -0
  349. package/cjs/ui/FileMessageItemBody.js +57 -0
  350. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  351. package/cjs/ui/FileViewer.js +174 -0
  352. package/cjs/ui/FileViewer.js.map +1 -0
  353. package/cjs/ui/Icon.js +1466 -0
  354. package/cjs/ui/Icon.js.map +1 -0
  355. package/cjs/ui/IconButton.js +83 -0
  356. package/cjs/ui/IconButton.js.map +1 -0
  357. package/cjs/ui/ImageRenderer.js +138 -0
  358. package/cjs/ui/ImageRenderer.js.map +1 -0
  359. package/cjs/ui/Input.js +74 -0
  360. package/cjs/ui/Input.js.map +1 -0
  361. package/cjs/ui/Label.js +17 -0
  362. package/cjs/ui/Label.js.map +1 -0
  363. package/cjs/ui/LinkLabel.js +51 -0
  364. package/cjs/ui/LinkLabel.js.map +1 -0
  365. package/cjs/ui/Loader.js +44 -0
  366. package/cjs/ui/Loader.js.map +1 -0
  367. package/cjs/ui/MentionLabel.js +100 -0
  368. package/cjs/ui/MentionLabel.js.map +1 -0
  369. package/cjs/ui/MentionUserLabel.js +25 -0
  370. package/cjs/ui/MentionUserLabel.js.map +1 -0
  371. package/cjs/ui/MessageContent.js +297 -0
  372. package/cjs/ui/MessageContent.js.map +1 -0
  373. package/cjs/ui/MessageInput.js +5052 -0
  374. package/cjs/ui/MessageInput.js.map +1 -0
  375. package/cjs/ui/MessageItemMenu.js +137 -0
  376. package/cjs/ui/MessageItemMenu.js.map +1 -0
  377. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  378. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  379. package/cjs/ui/MessageSearchFileItem.js +131 -0
  380. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  381. package/cjs/ui/MessageSearchItem.js +93 -0
  382. package/cjs/ui/MessageSearchItem.js.map +1 -0
  383. package/cjs/ui/MessageStatus.js +66 -0
  384. package/cjs/ui/MessageStatus.js.map +1 -0
  385. package/cjs/ui/Modal.js +140 -0
  386. package/cjs/ui/Modal.js.map +1 -0
  387. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  388. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  389. package/cjs/ui/OGMessageItemBody.js +119 -0
  390. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  391. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  392. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  393. package/cjs/ui/OpenChannelAvatar.js +41 -0
  394. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  395. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  396. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  397. package/cjs/ui/OpenchannelFileMessage.js +231 -0
  398. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  399. package/cjs/ui/OpenchannelOGMessage.js +346 -0
  400. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  401. package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
  402. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  403. package/cjs/ui/OpenchannelUserMessage.js +265 -0
  404. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  405. package/cjs/ui/PlaceHolder.js +20 -0
  406. package/cjs/ui/PlaceHolder.js.map +1 -0
  407. package/cjs/ui/QuoteMessage.js +131 -0
  408. package/cjs/ui/QuoteMessage.js.map +1 -0
  409. package/cjs/ui/QuoteMessageInput.js +97 -0
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  411. package/cjs/ui/ReactionBadge.js +68 -0
  412. package/cjs/ui/ReactionBadge.js.map +1 -0
  413. package/cjs/ui/ReactionButton.js +55 -0
  414. package/cjs/ui/ReactionButton.js.map +1 -0
  415. package/cjs/ui/SortByRow.js +57 -0
  416. package/cjs/ui/SortByRow.js.map +1 -0
  417. package/cjs/ui/TextButton.js +45 -0
  418. package/cjs/ui/TextButton.js.map +1 -0
  419. package/cjs/ui/TextMessageItemBody.js +76 -0
  420. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  421. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  422. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  423. package/cjs/ui/Tooltip.js +35 -0
  424. package/cjs/ui/Tooltip.js.map +1 -0
  425. package/cjs/ui/TooltipWrapper.js +65 -0
  426. package/cjs/ui/TooltipWrapper.js.map +1 -0
  427. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  428. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  429. package/cjs/ui/UserListItem.js +159 -0
  430. package/cjs/ui/UserListItem.js.map +1 -0
  431. package/cjs/ui/UserProfile.js +88 -0
  432. package/cjs/ui/UserProfile.js.map +1 -0
  433. package/cjs/ui/Word.js +76 -0
  434. package/cjs/ui/Word.js.map +1 -0
  435. package/cjs/useSendbirdStateContext.js +22 -0
  436. package/cjs/useSendbirdStateContext.js.map +1 -0
  437. package/cjs/utils-031aba48.js +6 -0
  438. package/cjs/utils-031aba48.js.map +1 -0
  439. package/cjs/utils-510b93ac.js +38 -0
  440. package/cjs/utils-510b93ac.js.map +1 -0
  441. package/cjs/utils-689065e6.js +32 -0
  442. package/cjs/utils-689065e6.js.map +1 -0
  443. package/cjs/uuid-099485ae.js +19 -0
  444. package/cjs/uuid-099485ae.js.map +1 -0
  445. package/cjs/withSendBird.js +35 -0
  446. package/cjs/withSendBird.js.map +1 -0
  447. package/color-9bf8c922.js +39 -0
  448. package/color-9bf8c922.js.map +1 -0
  449. package/compareIds-b78d7cd6.js +18 -0
  450. package/compareIds-b78d7cd6.js.map +1 -0
  451. package/const-40b58d8b.js +18 -0
  452. package/const-40b58d8b.js.map +1 -0
  453. package/const-99800b8d.js +8 -0
  454. package/const-99800b8d.js.map +1 -0
  455. package/context-bedea43b.js +12 -0
  456. package/context-bedea43b.js.map +1 -0
  457. package/dist/index.css +292 -152
  458. package/dist/index.css.map +1 -1
  459. package/groupChannel-96502de7.js +6 -0
  460. package/groupChannel-96502de7.js.map +1 -0
  461. package/index-13729368.js +512 -0
  462. package/index-13729368.js.map +1 -0
  463. package/index-16bed610.js +64 -0
  464. package/index-16bed610.js.map +1 -0
  465. package/index-1d112ad4.js +7 -0
  466. package/index-1d112ad4.js.map +1 -0
  467. package/index-71ad343b.js +171 -0
  468. package/index-71ad343b.js.map +1 -0
  469. package/index-71e2bf26.js +131 -0
  470. package/index-71e2bf26.js.map +1 -0
  471. package/index-8e6a607b.js +688 -0
  472. package/index-8e6a607b.js.map +1 -0
  473. package/index-a5e8849a.js +280 -0
  474. package/index-a5e8849a.js.map +1 -0
  475. package/index-b574cc8e.js +87 -0
  476. package/index-b574cc8e.js.map +1 -0
  477. package/index-c95d2aab.js +121 -0
  478. package/index-c95d2aab.js.map +1 -0
  479. package/index-ccd99cfe.js +1873 -0
  480. package/index-ccd99cfe.js.map +1 -0
  481. package/index.d.ts +1965 -0
  482. package/index.d.ts_bkup +1883 -0
  483. package/index.js +146 -0
  484. package/index.js.map +1 -0
  485. package/openChannel-dd5c9246.js +8 -0
  486. package/openChannel-dd5c9246.js.map +1 -0
  487. package/openChannelUtils-211a679a.js +86 -0
  488. package/openChannelUtils-211a679a.js.map +1 -0
  489. package/package.json +11 -33
  490. package/sendbirdSelectors.js +671 -0
  491. package/sendbirdSelectors.js.map +1 -0
  492. package/stringSet-d3a8a2a0.js +116 -0
  493. package/stringSet-d3a8a2a0.js.map +1 -0
  494. package/topics-f941ba80.js +10 -0
  495. package/topics-f941ba80.js.map +1 -0
  496. package/tslib.es6-a7db0cc5.js +38 -0
  497. package/tslib.es6-a7db0cc5.js.map +1 -0
  498. package/ui/Accordion.js +65 -0
  499. package/ui/Accordion.js.map +1 -0
  500. package/ui/AccordionGroup.js +26 -0
  501. package/ui/AccordionGroup.js.map +1 -0
  502. package/ui/AdminMessage.js +38 -0
  503. package/ui/AdminMessage.js.map +1 -0
  504. package/ui/Avatar.js +217 -0
  505. package/ui/Avatar.js.map +1 -0
  506. package/ui/Badge.js +38 -0
  507. package/ui/Badge.js.map +1 -0
  508. package/ui/Button.js +7 -0
  509. package/ui/Button.js.map +1 -0
  510. package/ui/ChannelAvatar.js +53 -0
  511. package/ui/ChannelAvatar.js.map +1 -0
  512. package/ui/ChannelPreview.js +201 -0
  513. package/ui/ChannelPreview.js.map +1 -0
  514. package/ui/ChatHeader.js +145 -0
  515. package/ui/ChatHeader.js.map +1 -0
  516. package/ui/Checkbox.js +42 -0
  517. package/ui/Checkbox.js.map +1 -0
  518. package/ui/ConnectionStatus.js +28 -0
  519. package/ui/ConnectionStatus.js.map +1 -0
  520. package/ui/ContextMenu.js +396 -0
  521. package/ui/ContextMenu.js.map +1 -0
  522. package/ui/DateSeparator.js +37 -0
  523. package/ui/DateSeparator.js.map +1 -0
  524. package/ui/Dropdown.js +97 -0
  525. package/ui/Dropdown.js.map +1 -0
  526. package/ui/EmojiReactions.js +121 -0
  527. package/ui/EmojiReactions.js.map +1 -0
  528. package/ui/FileMessageItemBody.js +51 -0
  529. package/ui/FileMessageItemBody.js.map +1 -0
  530. package/ui/FileViewer.js +164 -0
  531. package/ui/FileViewer.js.map +1 -0
  532. package/ui/Icon.js +1436 -0
  533. package/ui/Icon.js.map +1 -0
  534. package/ui/IconButton.js +76 -0
  535. package/ui/IconButton.js.map +1 -0
  536. package/ui/ImageRenderer.js +131 -0
  537. package/ui/ImageRenderer.js.map +1 -0
  538. package/ui/Input.js +64 -0
  539. package/ui/Input.js.map +1 -0
  540. package/ui/Label.js +6 -0
  541. package/ui/Label.js.map +1 -0
  542. package/ui/LinkLabel.js +40 -0
  543. package/ui/LinkLabel.js.map +1 -0
  544. package/ui/Loader.js +37 -0
  545. package/ui/Loader.js.map +1 -0
  546. package/ui/MentionLabel.js +94 -0
  547. package/ui/MentionLabel.js.map +1 -0
  548. package/ui/MentionUserLabel.js +19 -0
  549. package/ui/MentionUserLabel.js.map +1 -0
  550. package/ui/MessageContent.js +291 -0
  551. package/ui/MessageContent.js.map +1 -0
  552. package/ui/MessageInput.js +5044 -0
  553. package/ui/MessageInput.js.map +1 -0
  554. package/ui/MessageItemMenu.js +131 -0
  555. package/ui/MessageItemMenu.js.map +1 -0
  556. package/ui/MessageItemReactionMenu.js +106 -0
  557. package/ui/MessageItemReactionMenu.js.map +1 -0
  558. package/ui/MessageSearchFileItem.js +125 -0
  559. package/ui/MessageSearchFileItem.js.map +1 -0
  560. package/ui/MessageSearchItem.js +87 -0
  561. package/ui/MessageSearchItem.js.map +1 -0
  562. package/ui/MessageStatus.js +57 -0
  563. package/ui/MessageStatus.js.map +1 -0
  564. package/ui/Modal.js +128 -0
  565. package/ui/Modal.js.map +1 -0
  566. package/ui/MutedAvatarOverlay.js +34 -0
  567. package/ui/MutedAvatarOverlay.js.map +1 -0
  568. package/ui/OGMessageItemBody.js +113 -0
  569. package/ui/OGMessageItemBody.js.map +1 -0
  570. package/ui/OpenChannelAdminMessage.js +21 -0
  571. package/ui/OpenChannelAdminMessage.js.map +1 -0
  572. package/ui/OpenChannelAvatar.js +35 -0
  573. package/ui/OpenChannelAvatar.js.map +1 -0
  574. package/ui/OpenchannelConversationHeader.js +67 -0
  575. package/ui/OpenchannelConversationHeader.js.map +1 -0
  576. package/ui/OpenchannelFileMessage.js +225 -0
  577. package/ui/OpenchannelFileMessage.js.map +1 -0
  578. package/ui/OpenchannelOGMessage.js +340 -0
  579. package/ui/OpenchannelOGMessage.js.map +1 -0
  580. package/ui/OpenchannelThumbnailMessage.js +300 -0
  581. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  582. package/ui/OpenchannelUserMessage.js +259 -0
  583. package/ui/OpenchannelUserMessage.js.map +1 -0
  584. package/ui/PlaceHolder.js +11 -0
  585. package/ui/PlaceHolder.js.map +1 -0
  586. package/ui/QuoteMessage.js +125 -0
  587. package/ui/QuoteMessage.js.map +1 -0
  588. package/ui/QuoteMessageInput.js +91 -0
  589. package/ui/QuoteMessageInput.js.map +1 -0
  590. package/ui/ReactionBadge.js +61 -0
  591. package/ui/ReactionBadge.js.map +1 -0
  592. package/ui/ReactionButton.js +48 -0
  593. package/ui/ReactionButton.js.map +1 -0
  594. package/ui/SortByRow.js +50 -0
  595. package/ui/SortByRow.js.map +1 -0
  596. package/ui/TextButton.js +38 -0
  597. package/ui/TextButton.js.map +1 -0
  598. package/ui/TextMessageItemBody.js +70 -0
  599. package/ui/TextMessageItemBody.js.map +1 -0
  600. package/ui/ThumbnailMessageItemBody.js +76 -0
  601. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  602. package/ui/Tooltip.js +28 -0
  603. package/ui/Tooltip.js.map +1 -0
  604. package/ui/TooltipWrapper.js +58 -0
  605. package/ui/TooltipWrapper.js.map +1 -0
  606. package/ui/UnknownMessageItemBody.js +35 -0
  607. package/ui/UnknownMessageItemBody.js.map +1 -0
  608. package/ui/UserListItem.js +152 -0
  609. package/ui/UserListItem.js.map +1 -0
  610. package/ui/UserProfile.js +82 -0
  611. package/ui/UserProfile.js.map +1 -0
  612. package/ui/Word.js +70 -0
  613. package/ui/Word.js.map +1 -0
  614. package/useSendbirdStateContext.js +20 -0
  615. package/useSendbirdStateContext.js.map +1 -0
  616. package/utils-2e3623c0.js +30 -0
  617. package/utils-2e3623c0.js.map +1 -0
  618. package/utils-cadde06a.js +4 -0
  619. package/utils-cadde06a.js.map +1 -0
  620. package/utils-d9325ddf.js +34 -0
  621. package/utils-d9325ddf.js.map +1 -0
  622. package/uuid-748dae7a.js +17 -0
  623. package/uuid-748dae7a.js.map +1 -0
  624. package/withSendBird.js +26 -0
  625. package/withSendBird.js.map +1 -0
@@ -0,0 +1,160 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
7
+ var MessageSearch_context = require('../context.js');
8
+ var ui_MessageSearchItem = require('../../ui/MessageSearchItem.js');
9
+ var ui_PlaceHolder = require('../../index-1e14c5b9.js');
10
+ var ui_MessageSearchFileItem = require('../../ui/MessageSearchFileItem.js');
11
+ require('../../stringSet-2f3588b5.js');
12
+ require('../../index-72479c2a.js');
13
+ require('../../useSendbirdStateContext.js');
14
+ require('../../withSendBird.js');
15
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
16
+ require('../../tslib.es6-d9c7aa8b.js');
17
+ require('../../index-cdcd27bc.js');
18
+ require('../../index-2537cbc7.js');
19
+ require('../../index-ab5d906d.js');
20
+ require('../../ui/Avatar.js');
21
+ require('../../ui/ImageRenderer.js');
22
+ require('prop-types');
23
+ require('../../ui/Icon.js');
24
+ require('../../uuid-099485ae.js');
25
+ require('../../index-df05e765.js');
26
+ require('../../ui/Loader.js');
27
+
28
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
29
+
30
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+
32
+ var COMPONENT_CLASS_NAME = 'sendbird-message-search';
33
+ var MessageSearchUI = function MessageSearchUI(_a) {
34
+ var renderPlaceHolderError = _a.renderPlaceHolderError,
35
+ renderPlaceHolderLoading = _a.renderPlaceHolderLoading,
36
+ renderPlaceHolderNoString = _a.renderPlaceHolderNoString,
37
+ renderPlaceHolderEmptyList = _a.renderPlaceHolderEmptyList,
38
+ renderSearchItem = _a.renderSearchItem;
39
+
40
+ var _b = MessageSearch_context.useMessageSearchContext(),
41
+ isInvalid = _b.isInvalid,
42
+ searchString = _b.searchString,
43
+ requestString = _b.requestString,
44
+ currentChannel = _b.currentChannel,
45
+ retryCount = _b.retryCount,
46
+ setRetryCount = _b.setRetryCount,
47
+ loading = _b.loading,
48
+ scrollRef = _b.scrollRef,
49
+ hasMoreResult = _b.hasMoreResult,
50
+ onScroll = _b.onScroll,
51
+ allMessages = _b.allMessages,
52
+ onResultClick = _b.onResultClick,
53
+ selectedMessageId = _b.selectedMessageId,
54
+ setSelectedMessageId = _b.setSelectedMessageId;
55
+
56
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
57
+
58
+ var handleRetryToConnect = function handleRetryToConnect() {
59
+ setRetryCount(retryCount + 1);
60
+ };
61
+
62
+ var handleOnScroll = function handleOnScroll(e) {
63
+ var scrollElement = e.target;
64
+ var scrollTop = scrollElement.scrollTop,
65
+ scrollHeight = scrollElement.scrollHeight,
66
+ clientHeight = scrollElement.clientHeight;
67
+
68
+ if (!hasMoreResult) {
69
+ return;
70
+ }
71
+
72
+ if (scrollTop + clientHeight >= scrollHeight - 1) {
73
+ onScroll(function () {// after load more searched messages
74
+ });
75
+ }
76
+ };
77
+
78
+ var getChannelName = function getChannelName() {
79
+ if (currentChannel && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.name) && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.name) !== 'Group Channel') {
80
+ return currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.name;
81
+ }
82
+
83
+ if (currentChannel && ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.name) === 'Group Channel' || !(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.name))) {
84
+ return currentChannel.members.map(function (member) {
85
+ return member.nickname || stringSet.NO_NAME;
86
+ }).join(', ');
87
+ }
88
+
89
+ return stringSet.NO_TITLE;
90
+ };
91
+
92
+ if (isInvalid && searchString && requestString) {
93
+ return (renderPlaceHolderError === null || renderPlaceHolderError === void 0 ? void 0 : renderPlaceHolderError()) || /*#__PURE__*/React__default["default"].createElement("div", {
94
+ className: COMPONENT_CLASS_NAME
95
+ }, /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
96
+ type: ui_PlaceHolder.PlaceHolderTypes.WRONG,
97
+ retryToConnect: handleRetryToConnect
98
+ }));
99
+ }
100
+
101
+ if (loading && searchString && requestString) {
102
+ return (renderPlaceHolderLoading === null || renderPlaceHolderLoading === void 0 ? void 0 : renderPlaceHolderLoading()) || /*#__PURE__*/React__default["default"].createElement("div", {
103
+ className: COMPONENT_CLASS_NAME
104
+ }, /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
105
+ type: ui_PlaceHolder.PlaceHolderTypes.SEARCHING
106
+ }));
107
+ }
108
+
109
+ if (!searchString) {
110
+ return (renderPlaceHolderNoString === null || renderPlaceHolderNoString === void 0 ? void 0 : renderPlaceHolderNoString()) || /*#__PURE__*/React__default["default"].createElement("div", {
111
+ className: COMPONENT_CLASS_NAME
112
+ }, /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
113
+ type: ui_PlaceHolder.PlaceHolderTypes.SEARCH_IN,
114
+ searchInString: getChannelName()
115
+ }));
116
+ }
117
+
118
+ return /*#__PURE__*/React__default["default"].createElement("div", {
119
+ className: COMPONENT_CLASS_NAME,
120
+ onScroll: handleOnScroll,
121
+ ref: scrollRef
122
+ }, allMessages.length > 0 ? allMessages.map(function (message) {
123
+ if (renderSearchItem) {
124
+ return renderSearchItem({
125
+ message: message,
126
+ onResultClick: onResultClick
127
+ });
128
+ }
129
+
130
+ if (message.messageType === 'file') {
131
+ return /*#__PURE__*/React__default["default"].createElement(ui_MessageSearchFileItem, {
132
+ className: "".concat(COMPONENT_CLASS_NAME, "__message-search-item"),
133
+ message: message,
134
+ key: message.messageId,
135
+ selected: selectedMessageId === message.messageId,
136
+ onClick: function onClick() {
137
+ onResultClick(message);
138
+ setSelectedMessageId(message.messageId);
139
+ }
140
+ });
141
+ }
142
+
143
+ return /*#__PURE__*/React__default["default"].createElement(ui_MessageSearchItem, {
144
+ className: "".concat(COMPONENT_CLASS_NAME, "__message-search-item"),
145
+ message: message,
146
+ key: message.messageId,
147
+ selected: selectedMessageId === message.messageId,
148
+ onClick: function onClick() {
149
+ onResultClick(message);
150
+ setSelectedMessageId(message.messageId);
151
+ }
152
+ });
153
+ }) : (renderPlaceHolderEmptyList === null || renderPlaceHolderEmptyList === void 0 ? void 0 : renderPlaceHolderEmptyList()) || /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
154
+ type: ui_PlaceHolder.PlaceHolderTypes.NO_RESULTS
155
+ }));
156
+ };
157
+
158
+ exports.MessageSearchUI = MessageSearchUI;
159
+ exports["default"] = MessageSearchUI;
160
+ //# sourceMappingURL=MessageSearchUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageSearchUI.js","sources":["../../../../src/smart-components/MessageSearch/components/MessageSearchUI/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport './index.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useMessageSearchContext } from '../../context/MessageSearchProvider';\n\nimport MessageSearchItem from '../../../../ui/MessageSearchItem';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport MessageSearchFileItem from '../../../../ui/MessageSearchFileItem';\nimport { ClientSentMessages } from '../../../../types';\n\n\nconst COMPONENT_CLASS_NAME = 'sendbird-message-search';\n\nexport interface MessageSearchUIProps {\n renderPlaceHolderError?: (props: void) => React.ReactNode;\n renderPlaceHolderLoading?: (props: void) => React.ReactNode;\n renderPlaceHolderNoString?: (props: void) => React.ReactNode;\n renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;\n renderSearchItem?(\n {\n message,\n onResultClick,\n }: {\n message: ClientSentMessages,\n onResultClick?: (message: ClientSentMessages) => void,\n }\n ): JSX.Element;\n}\n\nexport const MessageSearchUI: React.FC<MessageSearchUIProps> = ({\n renderPlaceHolderError,\n renderPlaceHolderLoading,\n renderPlaceHolderNoString,\n renderPlaceHolderEmptyList,\n renderSearchItem,\n}: MessageSearchUIProps) => {\n const {\n isInvalid,\n searchString,\n requestString,\n currentChannel,\n retryCount,\n setRetryCount,\n loading,\n scrollRef,\n hasMoreResult,\n onScroll,\n allMessages,\n onResultClick,\n selectedMessageId,\n setSelectedMessageId,\n } = useMessageSearchContext();\n\n const { stringSet } = useContext(LocalizationContext);\n\n const handleRetryToConnect = () => {\n setRetryCount(retryCount + 1);\n };\n\n const handleOnScroll = (e) => {\n const scrollElement = e.target;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = scrollElement;\n\n if (!hasMoreResult) {\n return;\n }\n if (scrollTop + clientHeight >= scrollHeight - 1) {\n onScroll(() => {\n // after load more searched messages\n });\n }\n };\n\n const getChannelName = () => {\n if (currentChannel && currentChannel?.name && currentChannel?.name !== 'Group Channel') {\n return currentChannel?.name;\n }\n if (currentChannel && (currentChannel?.name === 'Group Channel' || !currentChannel?.name)) {\n return currentChannel.members.map((member) => member.nickname || stringSet.NO_NAME).join(', ');\n }\n return stringSet.NO_TITLE;\n };\n\n if (isInvalid && searchString && requestString) {\n return renderPlaceHolderError?.() || (\n <div className={COMPONENT_CLASS_NAME}>\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={handleRetryToConnect}\n />\n </div>\n );\n }\n\n if (loading && searchString && requestString) {\n return renderPlaceHolderLoading?.() || (\n <div className={COMPONENT_CLASS_NAME}>\n <PlaceHolder type={PlaceHolderTypes.SEARCHING} />\n </div>\n );\n }\n\n if (!searchString) {\n return renderPlaceHolderNoString?.() || (\n <div className={COMPONENT_CLASS_NAME}>\n <PlaceHolder\n type={PlaceHolderTypes.SEARCH_IN}\n searchInString={getChannelName()}\n />\n </div>\n );\n }\n\n return (\n <div\n className={COMPONENT_CLASS_NAME}\n onScroll={handleOnScroll}\n ref={scrollRef}\n >\n {\n (allMessages.length > 0)\n ? (\n allMessages.map((message) => {\n if (renderSearchItem) {\n return renderSearchItem({ message, onResultClick });\n }\n if (message.messageType === 'file') {\n return (\n <MessageSearchFileItem\n className={`${COMPONENT_CLASS_NAME}__message-search-item`}\n message={message as FileMessage}\n key={message.messageId}\n selected={(selectedMessageId === message.messageId)}\n onClick={() => {\n onResultClick(message);\n setSelectedMessageId(message.messageId);\n }}\n />\n );\n }\n return (\n <MessageSearchItem\n className={`${COMPONENT_CLASS_NAME}__message-search-item`}\n message={message as UserMessage}\n key={message.messageId}\n selected={(selectedMessageId === message.messageId)}\n onClick={() => {\n onResultClick(message);\n setSelectedMessageId(message.messageId);\n }}\n />\n );\n })\n )\n : renderPlaceHolderEmptyList?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_RESULTS} />\n )\n }\n </div>\n );\n};\n\nexport default MessageSearchUI;\n"],"names":["COMPONENT_CLASS_NAME","MessageSearchUI","_a","renderPlaceHolderError","renderPlaceHolderLoading","renderPlaceHolderNoString","renderPlaceHolderEmptyList","renderSearchItem","_b","useMessageSearchContext","isInvalid","searchString","requestString","currentChannel","retryCount","setRetryCount","loading","scrollRef","hasMoreResult","onScroll","allMessages","onResultClick","selectedMessageId","setSelectedMessageId","stringSet","useContext","LocalizationContext","handleRetryToConnect","handleOnScroll","e","scrollElement","target","scrollTop","scrollHeight","clientHeight","getChannelName","name","members","map","member","nickname","NO_NAME","join","NO_TITLE","React","PlaceHolder","PlaceHolderTypes","WRONG","SEARCHING","SEARCH_IN","length","message","messageType","MessageSearchFileItem","messageId","MessageSearchItem","NO_RESULTS"],"mappings":"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"}
@@ -0,0 +1,396 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useSendbirdStateContext = require('../useSendbirdStateContext.js');
7
+ var tslib_es6 = require('../tslib.es6-d9c7aa8b.js');
8
+ require('../withSendBird.js');
9
+ require('../_rollupPluginBabelHelpers-d984e855.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 GET_SEARCHED_MESSAGES = 'GET_SEARCHED_MESSAGES';
16
+ var GET_NEXT_SEARCHED_MESSAGES = 'GET_NEXT_SEARCHED_MESSAGES';
17
+ var START_MESSAGE_SEARCH = 'START_MESSAGE_SEARCH';
18
+ var START_GETTING_SEARCHED_MESSAGES = 'START_GETTING_SEARCHED_MESSAGES';
19
+ var SET_QUERY_INVALID = 'SET_QUERY_INVALID';
20
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
21
+ var CHANNEL_INVALID = 'CHANNEL_INVALID';
22
+ var RESET_SEARCH_STRING = 'RESET_SEARCH_STRING';
23
+
24
+ function reducer(state, action) {
25
+ switch (action.type) {
26
+ case SET_CURRENT_CHANNEL:
27
+ {
28
+ var currentChannel = action.payload;
29
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
30
+ currentChannel: currentChannel,
31
+ initialized: true
32
+ });
33
+ }
34
+
35
+ case CHANNEL_INVALID:
36
+ {
37
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
38
+ currentChannel: null,
39
+ initialized: false
40
+ });
41
+ }
42
+
43
+ case GET_SEARCHED_MESSAGES:
44
+ {
45
+ var _a = action.payload,
46
+ messages = _a.messages,
47
+ createdQuery = _a.createdQuery;
48
+
49
+ if (createdQuery && createdQuery.channelUrl === (state === null || state === void 0 ? void 0 : state.currentMessageSearchQuery).channelUrl && createdQuery.key === (state === null || state === void 0 ? void 0 : state.currentMessageSearchQuery).key) {
50
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
51
+ loading: false,
52
+ isInvalid: false,
53
+ allMessages: tslib_es6.__spreadArray([], messages, true),
54
+ hasMoreResult: (state === null || state === void 0 ? void 0 : state.currentMessageSearchQuery).hasNext
55
+ });
56
+ }
57
+
58
+ return tslib_es6.__assign({}, state);
59
+ }
60
+
61
+ case SET_QUERY_INVALID:
62
+ {
63
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
64
+ isInvalid: true
65
+ });
66
+ }
67
+
68
+ case START_MESSAGE_SEARCH:
69
+ {
70
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
71
+ isInvalid: false,
72
+ loading: false
73
+ });
74
+ }
75
+
76
+ case START_GETTING_SEARCHED_MESSAGES:
77
+ {
78
+ var currentMessageSearchQuery = action.payload;
79
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
80
+ loading: true,
81
+ currentMessageSearchQuery: currentMessageSearchQuery
82
+ });
83
+ }
84
+
85
+ case GET_NEXT_SEARCHED_MESSAGES:
86
+ {
87
+ var messages = action.payload;
88
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
89
+ allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allMessages, true), messages, true),
90
+ hasMoreResult: (state === null || state === void 0 ? void 0 : state.currentMessageSearchQuery).hasNext
91
+ });
92
+ }
93
+
94
+ case RESET_SEARCH_STRING:
95
+ {
96
+ return tslib_es6.__assign(tslib_es6.__assign({}, state), {
97
+ allMessages: []
98
+ });
99
+ }
100
+
101
+ default:
102
+ {
103
+ return state;
104
+ }
105
+ }
106
+ }
107
+
108
+ var initialState = {
109
+ allMessages: [],
110
+ loading: false,
111
+ isInvalid: false,
112
+ initialized: false,
113
+ currentChannel: null,
114
+ currentMessageSearchQuery: null,
115
+ hasMoreResult: false
116
+ };
117
+
118
+ function useSetChannel(_a, _b) {
119
+ var channelUrl = _a.channelUrl,
120
+ sdkInit = _a.sdkInit;
121
+ var sdk = _b.sdk,
122
+ logger = _b.logger,
123
+ messageSearchDispatcher = _b.messageSearchDispatcher;
124
+ React.useEffect(function () {
125
+ if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
126
+ sdk.groupChannel.getChannel(channelUrl).then(function (groupChannel) {
127
+ logger.info('MessageSearch | useSetChannel group channel', groupChannel);
128
+ messageSearchDispatcher({
129
+ type: SET_CURRENT_CHANNEL,
130
+ payload: groupChannel
131
+ });
132
+ }).catch(function () {
133
+ messageSearchDispatcher({
134
+ type: CHANNEL_INVALID,
135
+ payload: null
136
+ });
137
+ });
138
+ }
139
+ }, [channelUrl, sdkInit]);
140
+ }
141
+
142
+ function useGetSearchedMessages(_a, _b) {
143
+ var currentChannel = _a.currentChannel,
144
+ channelUrl = _a.channelUrl,
145
+ requestString = _a.requestString,
146
+ messageSearchQuery = _a.messageSearchQuery,
147
+ onResultLoaded = _a.onResultLoaded,
148
+ retryCount = _a.retryCount;
149
+ var sdk = _b.sdk,
150
+ logger = _b.logger,
151
+ messageSearchDispatcher = _b.messageSearchDispatcher;
152
+ React.useEffect(function () {
153
+ messageSearchDispatcher({
154
+ type: START_MESSAGE_SEARCH,
155
+ payload: null
156
+ });
157
+
158
+ if (sdk && channelUrl && sdk.createMessageSearchQuery && currentChannel) {
159
+ if (requestString) {
160
+ var inputSearchMessageQueryObject = tslib_es6.__assign(tslib_es6.__assign({}, messageSearchQuery), {
161
+ order: 'ts',
162
+ channelUrl: channelUrl,
163
+ messageTimestampFrom: currentChannel.invitedAt,
164
+ keyword: requestString
165
+ });
166
+
167
+ var createdQuery_1 = sdk.createMessageSearchQuery(inputSearchMessageQueryObject);
168
+ createdQuery_1.next().then(function (messages) {
169
+ logger.info('MessageSearch | useGetSearchedMessages: succeeded getting messages', messages);
170
+ messageSearchDispatcher({
171
+ type: GET_SEARCHED_MESSAGES,
172
+ payload: {
173
+ messages: messages,
174
+ createdQuery: createdQuery_1
175
+ }
176
+ });
177
+
178
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
179
+ onResultLoaded(messages, null);
180
+ }
181
+ }).catch(function (error) {
182
+ logger.warning('MessageSearch | useGetSearchedMessages: getting failed', error);
183
+ messageSearchDispatcher({
184
+ type: SET_QUERY_INVALID,
185
+ payload: null
186
+ });
187
+
188
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
189
+ onResultLoaded(null, error);
190
+ }
191
+ });
192
+ messageSearchDispatcher({
193
+ type: START_GETTING_SEARCHED_MESSAGES,
194
+ payload: createdQuery_1
195
+ });
196
+ } else {
197
+ logger.info('MessageSearch | useGetSeasrchedMessages: search string is empty');
198
+ }
199
+ }
200
+ }, [channelUrl, messageSearchQuery, requestString, currentChannel, retryCount]);
201
+ }
202
+
203
+ function useScrollCallback(_a, _b) {
204
+ var currentMessageSearchQuery = _a.currentMessageSearchQuery,
205
+ hasMoreResult = _a.hasMoreResult,
206
+ onResultLoaded = _a.onResultLoaded;
207
+ var logger = _b.logger,
208
+ messageSearchDispatcher = _b.messageSearchDispatcher;
209
+ return React.useCallback(function (cb) {
210
+ if (!hasMoreResult) {
211
+ logger.warning('MessageSearch | useScrollCallback: no more searched results', hasMoreResult);
212
+ }
213
+
214
+ if (currentMessageSearchQuery && currentMessageSearchQuery.hasNext) {
215
+ currentMessageSearchQuery.next().then(function (messages) {
216
+ logger.info('MessageSearch | useScrollCallback: succeeded getting searched messages', messages);
217
+ messageSearchDispatcher({
218
+ type: GET_NEXT_SEARCHED_MESSAGES,
219
+ payload: messages
220
+ });
221
+ cb(messages, null);
222
+
223
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
224
+ onResultLoaded(messages, null);
225
+ }
226
+ }).catch(function (error) {
227
+ logger.warning('MessageSearch | useScrollCallback: failed getting searched messages', error);
228
+ cb(null, error);
229
+
230
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
231
+ onResultLoaded(null, error);
232
+ }
233
+ });
234
+ } else {
235
+ logger.warning('MessageSearch | useScrollCallback: no currentMessageSearchQuery');
236
+ }
237
+ }, [currentMessageSearchQuery, hasMoreResult]);
238
+ }
239
+
240
+ var DEBOUNCING_TIME = 500;
241
+
242
+ function useSearchStringEffect(_a, _b) {
243
+ var searchString = _a.searchString;
244
+ var messageSearchDispatcher = _b.messageSearchDispatcher;
245
+
246
+ var _c = React.useState(''),
247
+ requestString = _c[0],
248
+ setRequestString = _c[1];
249
+
250
+ var _d = React.useState(null),
251
+ debouncingTimer = _d[0],
252
+ setDebouncingTimer = _d[1];
253
+
254
+ React.useEffect(function () {
255
+ clearTimeout(debouncingTimer);
256
+
257
+ if (searchString) {
258
+ setDebouncingTimer(setTimeout(function () {
259
+ setRequestString(searchString);
260
+ }, DEBOUNCING_TIME));
261
+ } else {
262
+ setRequestString('');
263
+ messageSearchDispatcher({
264
+ type: RESET_SEARCH_STRING,
265
+ payload: ''
266
+ });
267
+ }
268
+ }, [searchString]);
269
+ return requestString;
270
+ }
271
+
272
+ var MessageSearchContext = /*#__PURE__*/React__default["default"].createContext(undefined);
273
+
274
+ var MessageSearchProvider = function MessageSearchProvider(props) {
275
+ var _a, _b, _c, _d, _e;
276
+
277
+ var // message search props
278
+ channelUrl = props.channelUrl,
279
+ searchString = props.searchString,
280
+ messageSearchQuery = props.messageSearchQuery,
281
+ onResultLoaded = props.onResultLoaded,
282
+ onResultClick = props.onResultClick;
283
+ var globalState = useSendbirdStateContext(); // hook variables
284
+
285
+ var _f = React.useState(0),
286
+ retryCount = _f[0],
287
+ setRetryCount = _f[1]; // this is a trigger flag for activating useGetSearchMessages
288
+
289
+
290
+ var _g = React.useState(0),
291
+ selectedMessageId = _g[0],
292
+ setSelectedMessageId = _g[1];
293
+
294
+ var _h = React.useReducer(reducer, initialState),
295
+ messageSearchStore = _h[0],
296
+ messageSearchDispatcher = _h[1];
297
+
298
+ var allMessages = messageSearchStore.allMessages,
299
+ loading = messageSearchStore.loading,
300
+ isInvalid = messageSearchStore.isInvalid,
301
+ currentChannel = messageSearchStore.currentChannel,
302
+ currentMessageSearchQuery = messageSearchStore.currentMessageSearchQuery,
303
+ hasMoreResult = messageSearchStore.hasMoreResult;
304
+ var logger = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.logger;
305
+ var sdk = (_c = (_b = globalState === null || globalState === void 0 ? void 0 : globalState.stores) === null || _b === void 0 ? void 0 : _b.sdkStore) === null || _c === void 0 ? void 0 : _c.sdk;
306
+ var sdkInit = (_e = (_d = globalState === null || globalState === void 0 ? void 0 : globalState.stores) === null || _d === void 0 ? void 0 : _d.sdkStore) === null || _e === void 0 ? void 0 : _e.initialized;
307
+ var scrollRef = React.useRef(null);
308
+
309
+ var handleOnScroll = function handleOnScroll(e) {
310
+ var scrollElement = e.target;
311
+ var scrollTop = scrollElement.scrollTop,
312
+ scrollHeight = scrollElement.scrollHeight,
313
+ clientHeight = scrollElement.clientHeight;
314
+
315
+ if (!hasMoreResult) {
316
+ return;
317
+ }
318
+
319
+ if (scrollTop + clientHeight >= scrollHeight) {
320
+ onScroll(function () {// after load more searched messages
321
+ });
322
+ }
323
+ };
324
+
325
+ useSetChannel({
326
+ channelUrl: channelUrl,
327
+ sdkInit: sdkInit
328
+ }, {
329
+ sdk: sdk,
330
+ logger: logger,
331
+ messageSearchDispatcher: messageSearchDispatcher
332
+ });
333
+ var requestString = useSearchStringEffect({
334
+ searchString: searchString
335
+ }, {
336
+ messageSearchDispatcher: messageSearchDispatcher
337
+ });
338
+ useGetSearchedMessages({
339
+ currentChannel: currentChannel,
340
+ channelUrl: channelUrl,
341
+ requestString: requestString,
342
+ messageSearchQuery: messageSearchQuery,
343
+ onResultLoaded: onResultLoaded,
344
+ retryCount: retryCount
345
+ }, {
346
+ sdk: sdk,
347
+ logger: logger,
348
+ messageSearchDispatcher: messageSearchDispatcher
349
+ });
350
+ var onScroll = useScrollCallback({
351
+ currentMessageSearchQuery: currentMessageSearchQuery,
352
+ hasMoreResult: hasMoreResult,
353
+ onResultLoaded: onResultLoaded
354
+ }, {
355
+ logger: logger,
356
+ messageSearchDispatcher: messageSearchDispatcher
357
+ });
358
+
359
+ var handleRetryToConnect = function handleRetryToConnect() {
360
+ setRetryCount(retryCount + 1);
361
+ };
362
+
363
+ return /*#__PURE__*/React__default["default"].createElement(MessageSearchContext.Provider, {
364
+ value: {
365
+ channelUrl: channelUrl,
366
+ searchString: searchString,
367
+ requestString: requestString,
368
+ messageSearchQuery: messageSearchQuery,
369
+ onResultLoaded: onResultLoaded,
370
+ onResultClick: onResultClick,
371
+ retryCount: retryCount,
372
+ setRetryCount: setRetryCount,
373
+ selectedMessageId: selectedMessageId,
374
+ setSelectedMessageId: setSelectedMessageId,
375
+ messageSearchDispatcher: messageSearchDispatcher,
376
+ allMessages: allMessages,
377
+ loading: loading,
378
+ isInvalid: isInvalid,
379
+ currentChannel: currentChannel,
380
+ currentMessageSearchQuery: currentMessageSearchQuery,
381
+ hasMoreResult: hasMoreResult,
382
+ onScroll: onScroll,
383
+ scrollRef: scrollRef,
384
+ handleRetryToConnect: handleRetryToConnect,
385
+ handleOnScroll: handleOnScroll
386
+ }
387
+ }, props === null || props === void 0 ? void 0 : props.children);
388
+ };
389
+
390
+ var useMessageSearchContext = function useMessageSearchContext() {
391
+ return React__default["default"].useContext(MessageSearchContext);
392
+ };
393
+
394
+ exports.MessageSearchProvider = MessageSearchProvider;
395
+ exports.useMessageSearchContext = useMessageSearchContext;
396
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../src/smart-components/MessageSearch/context/dux/actionTypes.ts","../../../src/smart-components/MessageSearch/context/dux/reducers.ts","../../../src/smart-components/MessageSearch/context/dux/initialState.ts","../../../src/smart-components/MessageSearch/context/hooks/useSetChannel.ts","../../../src/smart-components/MessageSearch/context/hooks/useGetSearchedMessages.ts","../../../src/smart-components/MessageSearch/context/hooks/useScrollCallback.ts","../../../src/smart-components/MessageSearch/context/hooks/useSearchStringEffect.ts","../../../src/smart-components/MessageSearch/context/MessageSearchProvider.tsx"],"sourcesContent":["export const GET_SEARCHED_MESSAGES = 'GET_SEARCHED_MESSAGES';\nexport const GET_NEXT_SEARCHED_MESSAGES = 'GET_NEXT_SEARCHED_MESSAGES';\nexport const START_MESSAGE_SEARCH = 'START_MESSAGE_SEARCH';\nexport const START_GETTING_SEARCHED_MESSAGES = 'START_GETTING_SEARCHED_MESSAGES';\nexport const SET_QUERY_INVALID = 'SET_QUERY_INVALID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const CHANNEL_INVALID = 'CHANNEL_INVALID';\nexport const RESET_SEARCH_STRING = 'RESET_SEARCH_STRING';\n","import { State as initialStateInterface } from './initialState';\nimport type { MessageSearchQuery } from '@sendbird/chat/message';\nimport * as actionTypes from './actionTypes';\n\ninterface MessageSearchQueryType extends MessageSearchQuery {\n key?: string;\n}\ninterface ActionInterface {\n type: string;\n /* eslint-disable @typescript-eslint/no-explicit-any */\n payload?: any;\n}\n\nexport default function reducer(\n state: initialStateInterface,\n action: ActionInterface,\n): initialStateInterface {\n switch (action.type) {\n case actionTypes.SET_CURRENT_CHANNEL: {\n const currentChannel = action.payload;\n return {\n ...state,\n currentChannel,\n initialized: true,\n };\n }\n case actionTypes.CHANNEL_INVALID: {\n return {\n ...state,\n currentChannel: null,\n initialized: false,\n };\n }\n case actionTypes.GET_SEARCHED_MESSAGES: {\n const { messages, createdQuery } = action.payload;\n if (\n createdQuery\n && createdQuery.channelUrl === (state?.currentMessageSearchQuery as MessageSearchQueryType).channelUrl\n && createdQuery.key === (state?.currentMessageSearchQuery as MessageSearchQueryType).key\n ) {\n return {\n ...state,\n loading: false,\n isInvalid: false,\n allMessages: [...messages],\n hasMoreResult: (state?.currentMessageSearchQuery as MessageSearchQueryType).hasNext,\n };\n }\n return { ...state };\n }\n case actionTypes.SET_QUERY_INVALID: {\n return {\n ...state,\n isInvalid: true,\n }\n }\n case actionTypes.START_MESSAGE_SEARCH: {\n return {\n ...state,\n isInvalid: false,\n loading: false,\n }\n }\n case actionTypes.START_GETTING_SEARCHED_MESSAGES: {\n const currentMessageSearchQuery = action.payload;\n return {\n ...state,\n loading: true,\n currentMessageSearchQuery,\n };\n }\n case actionTypes.GET_NEXT_SEARCHED_MESSAGES: {\n const messages = action.payload;\n return {\n ...state,\n allMessages: [...state.allMessages, ...messages],\n hasMoreResult: (state?.currentMessageSearchQuery as MessageSearchQuery).hasNext,\n };\n }\n case actionTypes.RESET_SEARCH_STRING: {\n return {\n ...state,\n allMessages: [],\n };\n }\n default: {\n return state;\n }\n }\n}\n","import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { MessageSearchQuery } from '@sendbird/chat/message';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n} from '../../../../types';\n\nexport interface State {\n allMessages: Array<ClientFileMessage | ClientUserMessage>;\n loading: boolean;\n isInvalid: boolean;\n initialized: boolean;\n currentChannel: GroupChannel;\n currentMessageSearchQuery: MessageSearchQuery;\n hasMoreResult: boolean;\n}\n\nconst initialState: State = {\n allMessages: [],\n loading: false,\n isInvalid: false,\n initialized: false,\n currentChannel: null,\n currentMessageSearchQuery: null,\n hasMoreResult: false,\n};\n\nexport default initialState;\n","import type { SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { useEffect } from 'react';\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdGroupChat;\n logger: Logger;\n messageSearchDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSetChannel(\n { channelUrl, sdkInit }: MainProps,\n { sdk, logger, messageSearchDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n if (channelUrl && sdkInit && (sdk?.groupChannel)) {\n sdk.groupChannel.getChannel(channelUrl).then((groupChannel) => {\n logger.info('MessageSearch | useSetChannel group channel', groupChannel);\n messageSearchDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }).catch(() => {\n messageSearchDispatcher({\n type: messageActionTypes.CHANNEL_INVALID,\n payload: null,\n });\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\n\nimport type { GroupChannel, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport type { MessageSearchQueryParams } from '@sendbird/chat/lib/__definition';\nimport type {\n AdminMessage,\n BaseMessage,\n FileMessage,\n MessageSearchQuery,\n UserMessage,\n} from '@sendbird/chat/message';\nimport type { SendbirdError } from '@sendbird/chat';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentChannel: GroupChannel;\n channelUrl: string;\n requestString?: string;\n messageSearchQuery?: MessageSearchQuery;\n onResultLoaded?: (\n messages?: Array<BaseMessage | UserMessage | FileMessage | AdminMessage>,\n error?: SendbirdError,\n ) => void;\n retryCount: number;\n}\ninterface ToolProps {\n sdk: SendbirdGroupChat;\n logger: Logger;\n messageSearchDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useGetSearchedMessages(\n { currentChannel, channelUrl, requestString, messageSearchQuery, onResultLoaded, retryCount }: MainProps,\n { sdk, logger, messageSearchDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n messageSearchDispatcher({\n type: messageActionTypes.START_MESSAGE_SEARCH,\n payload: null,\n });\n if (sdk && channelUrl && sdk.createMessageSearchQuery && currentChannel) {\n if (requestString) {\n const inputSearchMessageQueryObject: MessageSearchQueryParams = {\n ...messageSearchQuery,\n order: 'ts' as const,\n channelUrl,\n messageTimestampFrom: currentChannel.invitedAt,\n keyword: requestString,\n };\n const createdQuery = sdk.createMessageSearchQuery(inputSearchMessageQueryObject);\n createdQuery.next().then((messages) => {\n logger.info('MessageSearch | useGetSearchedMessages: succeeded getting messages', messages);\n messageSearchDispatcher({\n type: messageActionTypes.GET_SEARCHED_MESSAGES,\n payload: {\n messages,\n createdQuery,\n },\n });\n if (onResultLoaded && typeof onResultLoaded === 'function') {\n onResultLoaded(messages, null);\n }\n }).catch((error) => {\n logger.warning('MessageSearch | useGetSearchedMessages: getting failed', error);\n messageSearchDispatcher({\n type: messageActionTypes.SET_QUERY_INVALID,\n payload: null,\n });\n if (onResultLoaded && typeof onResultLoaded === 'function') {\n onResultLoaded(null, error);\n }\n });\n messageSearchDispatcher({\n type: messageActionTypes.START_GETTING_SEARCHED_MESSAGES,\n payload: createdQuery,\n });\n } else {\n logger.info('MessageSearch | useGetSeasrchedMessages: search string is empty');\n }\n }\n }, [channelUrl, messageSearchQuery, requestString, currentChannel, retryCount]);\n}\n\nexport default useGetSearchedMessages;\n","import type { SendbirdError } from '@sendbird/chat';\nimport type { AdminMessage, FileMessage, MessageSearchQuery, UserMessage } from '@sendbird/chat/message';\nimport { useCallback } from 'react';\nimport { Logger } from '../../../..';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentMessageSearchQuery: MessageSearchQuery;\n hasMoreResult: boolean;\n onResultLoaded?: (\n messages?: Array<UserMessage | FileMessage | AdminMessage>,\n error?: SendbirdError,\n ) => void;\n}\n\ntype MessageSearchDispatcherType = { type: string, payload: any };\n\ninterface ToolProps {\n logger: Logger;\n messageSearchDispatcher: (payload: MessageSearchDispatcherType) => void;\n}\n\nexport type CallbackReturn = (\n callback: (\n messages: Array<UserMessage | FileMessage | AdminMessage>,\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n error: any,\n ) => void\n) => void;\n\nfunction useScrollCallback(\n { currentMessageSearchQuery, hasMoreResult, onResultLoaded }: MainProps,\n { logger, messageSearchDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((cb) => {\n if (!hasMoreResult) {\n logger.warning('MessageSearch | useScrollCallback: no more searched results', hasMoreResult);\n }\n if (currentMessageSearchQuery && currentMessageSearchQuery.hasNext) {\n currentMessageSearchQuery.next().then((messages) => {\n logger.info('MessageSearch | useScrollCallback: succeeded getting searched messages', messages);\n messageSearchDispatcher({\n type: messageActionTypes.GET_NEXT_SEARCHED_MESSAGES,\n payload: messages,\n });\n cb(messages, null);\n if (onResultLoaded && typeof onResultLoaded === 'function') {\n onResultLoaded(messages, null);\n }\n }).catch((error) => {\n logger.warning('MessageSearch | useScrollCallback: failed getting searched messages', error);\n cb(null, error);\n if (onResultLoaded && typeof onResultLoaded === 'function') {\n onResultLoaded(null, error);\n }\n });\n } else {\n logger.warning('MessageSearch | useScrollCallback: no currentMessageSearchQuery');\n }\n }, [currentMessageSearchQuery, hasMoreResult]);\n}\n\nexport default useScrollCallback;\n","import { useState, useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface DynamicParams {\n searchString: string;\n}\n\ninterface StaticParams {\n messageSearchDispatcher: ({ type: string, payload: any }) => void;\n}\n\nconst DEBOUNCING_TIME = 500;\n\nfunction useSearchStringEffect(\n { searchString }: DynamicParams,\n { messageSearchDispatcher }: StaticParams,\n): string {\n const [requestString, setRequestString] = useState('');\n const [debouncingTimer, setDebouncingTimer] = useState(null);\n useEffect(() => {\n clearTimeout(debouncingTimer);\n if (searchString) {\n setDebouncingTimer(\n setTimeout(() => {\n setRequestString(searchString);\n }, DEBOUNCING_TIME)\n );\n } else {\n setRequestString('');\n messageSearchDispatcher({\n type: messageActionTypes.RESET_SEARCH_STRING,\n payload: '',\n });\n }\n }, [searchString]);\n return requestString;\n}\n\nexport default useSearchStringEffect;\n","import React, {\n useRef,\n useState,\n useReducer,\n} from 'react';\nimport type { MessageSearchQuery } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { MessageSearchQueryParams } from '@sendbird/chat/lib/__definition';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { ClientSentMessages } from '../../../types';\n\nimport messageSearchReducer from './dux/reducers';\nimport messageSearchInitialState from './dux/initialState';\nimport { State as MessageSearchReducerState } from './dux/initialState';\n\nimport useSetChannel from './hooks/useSetChannel';\nimport useGetSearchMessages from './hooks/useGetSearchedMessages';\nimport useScrollCallback, {\n CallbackReturn as UseScrollCallbackType,\n} from './hooks/useScrollCallback';\nimport useSearchStringEffect from './hooks/useSearchStringEffect';\n\nexport interface MessageSearchProviderProps {\n channelUrl: string;\n children?: React.ReactNode;\n searchString?: string;\n requestString?: string;\n messageSearchQuery?: MessageSearchQueryParams;\n onResultLoaded?(messages?: Array<ClientSentMessages>, error?: SendBird.SendBirdError): void;\n onResultClick?(message: ClientSentMessages): void;\n}\n\ninterface MessageSearchProviderInterface extends MessageSearchProviderProps {\n retryCount: number;\n setRetryCount: React.Dispatch<React.SetStateAction<number>>;\n selectedMessageId: number;\n setSelectedMessageId: React.Dispatch<React.SetStateAction<number>>;\n messageSearchDispatcher: ({ type: string, payload: any }) => void;\n scrollRef: React.MutableRefObject<HTMLDivElement>;\n allMessages: MessageSearchReducerState['allMessages'];\n loading: boolean;\n isInvalid: boolean;\n currentChannel: GroupChannel;\n currentMessageSearchQuery: MessageSearchQuery;\n hasMoreResult: boolean;\n onScroll: UseScrollCallbackType;\n handleRetryToConnect: () => void;\n handleOnScroll: (e: React.BaseSyntheticEvent) => void;\n}\n\nconst MessageSearchContext = React.createContext<MessageSearchProviderInterface|null>(undefined);\n\nconst MessageSearchProvider: React.FC<MessageSearchProviderProps> = (props: MessageSearchProviderProps) => {\n const {\n // message search props\n channelUrl,\n searchString,\n messageSearchQuery,\n onResultLoaded,\n onResultClick,\n } = props;\n\n const globalState = useSendbirdStateContext();\n\n // hook variables\n const [retryCount, setRetryCount] = useState(0); // this is a trigger flag for activating useGetSearchMessages\n const [selectedMessageId, setSelectedMessageId] = useState(0);\n const [messageSearchStore, messageSearchDispatcher] = useReducer(messageSearchReducer, messageSearchInitialState);\n const {\n allMessages,\n loading,\n isInvalid,\n currentChannel,\n currentMessageSearchQuery,\n hasMoreResult,\n } = messageSearchStore;\n\n const logger = globalState?.config?.logger;\n const sdk = globalState?.stores?.sdkStore?.sdk;\n const sdkInit = globalState?.stores?.sdkStore?.initialized;\n const scrollRef = useRef(null);\n const handleOnScroll = (e: React.BaseSyntheticEvent) => {\n const scrollElement = e.target as HTMLDivElement;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = scrollElement;\n\n if (!hasMoreResult) {\n return;\n }\n if (scrollTop + clientHeight >= scrollHeight) {\n onScroll(() => {\n // after load more searched messages\n });\n }\n };\n\n useSetChannel(\n { channelUrl, sdkInit },\n { sdk, logger, messageSearchDispatcher },\n );\n\n const requestString = useSearchStringEffect({ searchString }, { messageSearchDispatcher });\n\n useGetSearchMessages(\n { currentChannel, channelUrl, requestString, messageSearchQuery, onResultLoaded, retryCount },\n { sdk, logger, messageSearchDispatcher },\n );\n\n const onScroll = useScrollCallback(\n { currentMessageSearchQuery, hasMoreResult, onResultLoaded },\n { logger, messageSearchDispatcher },\n );\n\n const handleRetryToConnect = () => {\n setRetryCount(retryCount + 1);\n };\n return (\n <MessageSearchContext.Provider value={{\n channelUrl,\n searchString,\n requestString,\n messageSearchQuery,\n onResultLoaded,\n onResultClick,\n retryCount,\n setRetryCount,\n selectedMessageId,\n setSelectedMessageId,\n messageSearchDispatcher,\n allMessages,\n loading,\n isInvalid,\n currentChannel,\n currentMessageSearchQuery,\n hasMoreResult,\n onScroll,\n scrollRef,\n handleRetryToConnect,\n handleOnScroll,\n }}>\n {props?.children}\n </MessageSearchContext.Provider>\n );\n}\n\nexport type UseMessageSearchType = () => MessageSearchProviderInterface;\nconst useMessageSearchContext: UseMessageSearchType = () => React.useContext(MessageSearchContext);\n\nexport {\n MessageSearchProvider,\n useMessageSearchContext,\n};\n"],"names":["GET_SEARCHED_MESSAGES","GET_NEXT_SEARCHED_MESSAGES","START_MESSAGE_SEARCH","START_GETTING_SEARCHED_MESSAGES","SET_QUERY_INVALID","SET_CURRENT_CHANNEL","CHANNEL_INVALID","RESET_SEARCH_STRING","reducer","state","action","type","actionTypes","currentChannel","payload","initialized","_a","messages","createdQuery","channelUrl","currentMessageSearchQuery","key","loading","isInvalid","allMessages","hasMoreResult","hasNext","initialState","useSetChannel","_b","sdkInit","sdk","logger","messageSearchDispatcher","useEffect","groupChannel","getChannel","then","info","messageActionTypes","catch","useGetSearchedMessages","requestString","messageSearchQuery","onResultLoaded","retryCount","createMessageSearchQuery","inputSearchMessageQueryObject","order","messageTimestampFrom","invitedAt","keyword","createdQuery_1","next","error","warning","useScrollCallback","useCallback","cb","DEBOUNCING_TIME","useSearchStringEffect","searchString","_c","useState","setRequestString","_d","debouncingTimer","setDebouncingTimer","clearTimeout","setTimeout","MessageSearchContext","React","createContext","undefined","MessageSearchProvider","props","onResultClick","globalState","useSendbirdStateContext","_f","setRetryCount","_g","selectedMessageId","setSelectedMessageId","_h","useReducer","messageSearchReducer","messageSearchInitialState","messageSearchStore","config","stores","sdkStore","scrollRef","useRef","handleOnScroll","e","scrollElement","target","scrollTop","scrollHeight","clientHeight","onScroll","useGetSearchMessages","handleRetryToConnect","children","useMessageSearchContext","useContext"],"mappings":"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"}