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

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 (585) hide show
  1. package/App.js +294 -0
  2. package/App.js.map +1 -0
  3. package/Channel/components/ChannelHeader.js +116 -0
  4. package/Channel/components/ChannelHeader.js.map +1 -0
  5. package/Channel/components/ChannelUI.js +172 -0
  6. package/Channel/components/ChannelUI.js.map +1 -0
  7. package/Channel/components/FileViewer.js +150 -0
  8. package/Channel/components/FileViewer.js.map +1 -0
  9. package/Channel/components/FrozenNotification.js +20 -0
  10. package/Channel/components/FrozenNotification.js.map +1 -0
  11. package/Channel/components/Message.js +232 -0
  12. package/Channel/components/Message.js.map +1 -0
  13. package/Channel/components/MessageInput.js +87 -0
  14. package/Channel/components/MessageInput.js.map +1 -0
  15. package/Channel/components/MessageList.js +227 -0
  16. package/Channel/components/MessageList.js.map +1 -0
  17. package/Channel/components/RemoveMessageModal.js +52 -0
  18. package/Channel/components/RemoveMessageModal.js.map +1 -0
  19. package/Channel/components/TypingIndicator.js +97 -0
  20. package/Channel/components/TypingIndicator.js.map +1 -0
  21. package/Channel/components/UnreadCount.js +41 -0
  22. package/Channel/components/UnreadCount.js.map +1 -0
  23. package/Channel/context.js +23 -0
  24. package/Channel/context.js.map +1 -0
  25. package/Channel.js +99 -0
  26. package/Channel.js.map +1 -0
  27. package/ChannelList/components/AddChannel.js +70 -0
  28. package/ChannelList/components/AddChannel.js.map +1 -0
  29. package/ChannelList/components/ChannelListHeader.js +62 -0
  30. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  31. package/ChannelList/components/ChannelListUI.js +213 -0
  32. package/ChannelList/components/ChannelListUI.js.map +1 -0
  33. package/ChannelList/components/ChannelPreview.js +177 -0
  34. package/ChannelList/components/ChannelPreview.js.map +1 -0
  35. package/ChannelList/components/ChannelPreviewAction.js +131 -0
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  37. package/ChannelList/context.js +13 -0
  38. package/ChannelList/context.js.map +1 -0
  39. package/ChannelList.js +80 -0
  40. package/ChannelList.js.map +1 -0
  41. package/ChannelListProvider-0b0c2c40.js +861 -0
  42. package/ChannelListProvider-0b0c2c40.js.map +1 -0
  43. package/ChannelProvider-459e463f.js +2083 -0
  44. package/ChannelProvider-459e463f.js.map +1 -0
  45. package/ChannelSettings/components/AdminPanel.js +905 -0
  46. package/ChannelSettings/components/AdminPanel.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +102 -0
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  49. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  51. package/ChannelSettings/components/EditDetailsModal.js +154 -0
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  53. package/ChannelSettings/components/LeaveChannel.js +53 -0
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  55. package/ChannelSettings/components/UserListItem.js +105 -0
  56. package/ChannelSettings/components/UserListItem.js.map +1 -0
  57. package/ChannelSettings/components/UserPanel.js +79 -0
  58. package/ChannelSettings/components/UserPanel.js.map +1 -0
  59. package/ChannelSettings/context.js +93 -0
  60. package/ChannelSettings/context.js.map +1 -0
  61. package/ChannelSettings.js +71 -0
  62. package/ChannelSettings.js.map +1 -0
  63. package/CreateChannel/components/CreateChannelUI.js +53 -0
  64. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  65. package/CreateChannel/components/InviteMembers.js +184 -0
  66. package/CreateChannel/components/InviteMembers.js.map +1 -0
  67. package/CreateChannel/components/SelectChannelType.js +131 -0
  68. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  69. package/CreateChannel/context.js +8 -0
  70. package/CreateChannel/context.js.map +1 -0
  71. package/CreateChannel.js +53 -0
  72. package/CreateChannel.js.map +1 -0
  73. package/CreateChannelProvider-c617a1bb.js +53 -0
  74. package/CreateChannelProvider-c617a1bb.js.map +1 -0
  75. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  76. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  77. package/EditUserProfile/context.js +27 -0
  78. package/EditUserProfile/context.js.map +1 -0
  79. package/EditUserProfile.js +39 -0
  80. package/EditUserProfile.js.map +1 -0
  81. package/LocalizationContext-e4391013.js +22 -0
  82. package/LocalizationContext-e4391013.js.map +1 -0
  83. package/MemberList-6655cba0.js +425 -0
  84. package/MemberList-6655cba0.js.map +1 -0
  85. package/MessageSearch/components/MessageSearchUI.js +151 -0
  86. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  87. package/MessageSearch/context.js +392 -0
  88. package/MessageSearch/context.js.map +1 -0
  89. package/MessageSearch.js +146 -0
  90. package/MessageSearch.js.map +1 -0
  91. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  92. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  93. package/OpenChannel/components/OpenChannelHeader.js +78 -0
  94. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  95. package/OpenChannel/components/OpenChannelInput.js +52 -0
  96. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  97. package/OpenChannel/components/OpenChannelMessage.js +278 -0
  98. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  99. package/OpenChannel/components/OpenChannelMessageList.js +153 -0
  100. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  101. package/OpenChannel/components/OpenChannelUI.js +105 -0
  102. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  103. package/OpenChannel/context.js +14 -0
  104. package/OpenChannel/context.js.map +1 -0
  105. package/OpenChannel.js +76 -0
  106. package/OpenChannel.js.map +1 -0
  107. package/OpenChannelProvider-a7691eb4.js +2011 -0
  108. package/OpenChannelProvider-a7691eb4.js.map +1 -0
  109. package/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  110. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  111. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  112. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  113. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +104 -0
  114. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  115. package/OpenChannelSettings/components/OperatorUI.js +184 -0
  116. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  117. package/OpenChannelSettings/components/ParticipantUI.js +172 -0
  118. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  119. package/OpenChannelSettings/context.js +64 -0
  120. package/OpenChannelSettings/context.js.map +1 -0
  121. package/OpenChannelSettings.js +64 -0
  122. package/OpenChannelSettings.js.map +1 -0
  123. package/SendbirdProvider.js +740 -0
  124. package/SendbirdProvider.js.map +1 -0
  125. package/UserProfileContext-865db5e6.js +38 -0
  126. package/UserProfileContext-865db5e6.js.map +1 -0
  127. package/_rollupPluginBabelHelpers-20904f21.js +233 -0
  128. package/_rollupPluginBabelHelpers-20904f21.js.map +1 -0
  129. package/actionTypes-1e3a4074.js +6 -0
  130. package/actionTypes-1e3a4074.js.map +1 -0
  131. package/cjs/App.js +301 -0
  132. package/cjs/App.js.map +1 -0
  133. package/cjs/Channel/components/ChannelHeader.js +122 -0
  134. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  135. package/cjs/Channel/components/ChannelUI.js +178 -0
  136. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  137. package/cjs/Channel/components/FileViewer.js +159 -0
  138. package/cjs/Channel/components/FileViewer.js.map +1 -0
  139. package/cjs/Channel/components/FrozenNotification.js +26 -0
  140. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  141. package/cjs/Channel/components/Message.js +238 -0
  142. package/cjs/Channel/components/Message.js.map +1 -0
  143. package/cjs/Channel/components/MessageInput.js +93 -0
  144. package/cjs/Channel/components/MessageInput.js.map +1 -0
  145. package/cjs/Channel/components/MessageList.js +233 -0
  146. package/cjs/Channel/components/MessageList.js.map +1 -0
  147. package/cjs/Channel/components/RemoveMessageModal.js +58 -0
  148. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  149. package/cjs/Channel/components/TypingIndicator.js +103 -0
  150. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  151. package/cjs/Channel/components/UnreadCount.js +47 -0
  152. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  153. package/cjs/Channel/context.js +32 -0
  154. package/cjs/Channel/context.js.map +1 -0
  155. package/cjs/Channel.js +105 -0
  156. package/cjs/Channel.js.map +1 -0
  157. package/cjs/ChannelList/components/AddChannel.js +79 -0
  158. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  159. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  160. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  161. package/cjs/ChannelList/components/ChannelListUI.js +219 -0
  162. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  163. package/cjs/ChannelList/components/ChannelPreview.js +183 -0
  164. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  165. package/cjs/ChannelList/components/ChannelPreviewAction.js +138 -0
  166. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  167. package/cjs/ChannelList/context.js +22 -0
  168. package/cjs/ChannelList/context.js.map +1 -0
  169. package/cjs/ChannelList.js +86 -0
  170. package/cjs/ChannelList.js.map +1 -0
  171. package/cjs/ChannelListProvider-5a152618.js +873 -0
  172. package/cjs/ChannelListProvider-5a152618.js.map +1 -0
  173. package/cjs/ChannelProvider-f1fb0108.js +2096 -0
  174. package/cjs/ChannelProvider-f1fb0108.js.map +1 -0
  175. package/cjs/ChannelSettings/components/AdminPanel.js +911 -0
  176. package/cjs/ChannelSettings/components/AdminPanel.js.map +1 -0
  177. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  178. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  179. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  180. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  181. package/cjs/ChannelSettings/components/EditDetailsModal.js +160 -0
  182. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  183. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  184. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  185. package/cjs/ChannelSettings/components/UserListItem.js +111 -0
  186. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  187. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  188. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  189. package/cjs/ChannelSettings/context.js +102 -0
  190. package/cjs/ChannelSettings/context.js.map +1 -0
  191. package/cjs/ChannelSettings.js +77 -0
  192. package/cjs/ChannelSettings.js.map +1 -0
  193. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  194. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  195. package/cjs/CreateChannel/components/InviteMembers.js +190 -0
  196. package/cjs/CreateChannel/components/InviteMembers.js.map +1 -0
  197. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  198. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  199. package/cjs/CreateChannel/context.js +17 -0
  200. package/cjs/CreateChannel/context.js.map +1 -0
  201. package/cjs/CreateChannel.js +59 -0
  202. package/cjs/CreateChannel.js.map +1 -0
  203. package/cjs/CreateChannelProvider-df42106f.js +60 -0
  204. package/cjs/CreateChannelProvider-df42106f.js.map +1 -0
  205. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  206. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  207. package/cjs/EditUserProfile/context.js +36 -0
  208. package/cjs/EditUserProfile/context.js.map +1 -0
  209. package/cjs/EditUserProfile.js +45 -0
  210. package/cjs/EditUserProfile.js.map +1 -0
  211. package/cjs/LocalizationContext-68e55e2a.js +30 -0
  212. package/cjs/LocalizationContext-68e55e2a.js.map +1 -0
  213. package/cjs/MemberList-dc84e303.js +431 -0
  214. package/cjs/MemberList-dc84e303.js.map +1 -0
  215. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  216. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  217. package/cjs/MessageSearch/context.js +401 -0
  218. package/cjs/MessageSearch/context.js.map +1 -0
  219. package/cjs/MessageSearch.js +152 -0
  220. package/cjs/MessageSearch.js.map +1 -0
  221. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  222. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  223. package/cjs/OpenChannel/components/OpenChannelHeader.js +84 -0
  224. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  225. package/cjs/OpenChannel/components/OpenChannelInput.js +58 -0
  226. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  227. package/cjs/OpenChannel/components/OpenChannelMessage.js +284 -0
  228. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  229. package/cjs/OpenChannel/components/OpenChannelMessageList.js +159 -0
  230. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelUI.js +111 -0
  232. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  233. package/cjs/OpenChannel/context.js +23 -0
  234. package/cjs/OpenChannel/context.js.map +1 -0
  235. package/cjs/OpenChannel.js +82 -0
  236. package/cjs/OpenChannel.js.map +1 -0
  237. package/cjs/OpenChannelProvider-7a1a996f.js +2020 -0
  238. package/cjs/OpenChannelProvider-7a1a996f.js.map +1 -0
  239. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +155 -0
  240. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  241. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  242. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  243. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +110 -0
  244. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  245. package/cjs/OpenChannelSettings/components/OperatorUI.js +194 -0
  246. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/ParticipantUI.js +178 -0
  248. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  249. package/cjs/OpenChannelSettings/context.js +73 -0
  250. package/cjs/OpenChannelSettings/context.js.map +1 -0
  251. package/cjs/OpenChannelSettings.js +70 -0
  252. package/cjs/OpenChannelSettings.js.map +1 -0
  253. package/cjs/SendbirdProvider.js +749 -0
  254. package/cjs/SendbirdProvider.js.map +1 -0
  255. package/cjs/UserProfileContext-3533547d.js +46 -0
  256. package/cjs/UserProfileContext-3533547d.js.map +1 -0
  257. package/cjs/_rollupPluginBabelHelpers-fc14118c.js +243 -0
  258. package/cjs/_rollupPluginBabelHelpers-fc14118c.js.map +1 -0
  259. package/cjs/actionTypes-bc47f97a.js +10 -0
  260. package/cjs/actionTypes-bc47f97a.js.map +1 -0
  261. package/cjs/color-4afb15fb.js +42 -0
  262. package/cjs/color-4afb15fb.js.map +1 -0
  263. package/cjs/compareIds-01306377.js +20 -0
  264. package/cjs/compareIds-01306377.js.map +1 -0
  265. package/cjs/context-c1f9d650.js +19 -0
  266. package/cjs/context-c1f9d650.js.map +1 -0
  267. package/cjs/index-1044f1ed.js +97 -0
  268. package/cjs/index-1044f1ed.js.map +1 -0
  269. package/cjs/index-1468d245.js +142 -0
  270. package/cjs/index-1468d245.js.map +1 -0
  271. package/cjs/index-4987c8b2.js +175 -0
  272. package/cjs/index-4987c8b2.js.map +1 -0
  273. package/cjs/index-659c9ca5.js +130 -0
  274. package/cjs/index-659c9ca5.js.map +1 -0
  275. package/cjs/index-8becccd8.js +284 -0
  276. package/cjs/index-8becccd8.js.map +1 -0
  277. package/cjs/index-905331fa.js +1880 -0
  278. package/cjs/index-905331fa.js.map +1 -0
  279. package/cjs/index-9dc3863f.js +67 -0
  280. package/cjs/index-9dc3863f.js.map +1 -0
  281. package/cjs/index-aecc8d24.js +9 -0
  282. package/cjs/index-aecc8d24.js.map +1 -0
  283. package/cjs/index-d4880236.js +641 -0
  284. package/cjs/index-d4880236.js.map +1 -0
  285. package/cjs/index-e2bb862c.js +514 -0
  286. package/cjs/index-e2bb862c.js.map +1 -0
  287. package/cjs/index.css +4355 -0
  288. package/cjs/index.css.map +1 -0
  289. package/cjs/index.js +155 -0
  290. package/cjs/index.js.map +1 -0
  291. package/cjs/openChannelUtils-37919a36.js +92 -0
  292. package/cjs/openChannelUtils-37919a36.js.map +1 -0
  293. package/cjs/sendBirdSelectors.js +741 -0
  294. package/cjs/sendBirdSelectors.js.map +1 -0
  295. package/cjs/stringSet-aa544ce5.js +116 -0
  296. package/cjs/stringSet-aa544ce5.js.map +1 -0
  297. package/cjs/topics-8314d425.js +18 -0
  298. package/cjs/topics-8314d425.js.map +1 -0
  299. package/cjs/tslib.es6-4a281a05.js +40 -0
  300. package/cjs/tslib.es6-4a281a05.js.map +1 -0
  301. package/cjs/ui/Accordion.js +74 -0
  302. package/cjs/ui/Accordion.js.map +1 -0
  303. package/cjs/ui/AccordionGroup.js +32 -0
  304. package/cjs/ui/AccordionGroup.js.map +1 -0
  305. package/cjs/ui/AdminMessage.js +44 -0
  306. package/cjs/ui/AdminMessage.js.map +1 -0
  307. package/cjs/ui/Avatar.js +226 -0
  308. package/cjs/ui/Avatar.js.map +1 -0
  309. package/cjs/ui/Badge.js +45 -0
  310. package/cjs/ui/Badge.js.map +1 -0
  311. package/cjs/ui/Button.js +17 -0
  312. package/cjs/ui/Button.js.map +1 -0
  313. package/cjs/ui/ChannelAvatar.js +59 -0
  314. package/cjs/ui/ChannelAvatar.js.map +1 -0
  315. package/cjs/ui/ChannelPreview.js +201 -0
  316. package/cjs/ui/ChannelPreview.js.map +1 -0
  317. package/cjs/ui/ChatHeader.js +145 -0
  318. package/cjs/ui/ChatHeader.js.map +1 -0
  319. package/cjs/ui/Checkbox.js +49 -0
  320. package/cjs/ui/Checkbox.js.map +1 -0
  321. package/cjs/ui/ConnectionStatus.js +34 -0
  322. package/cjs/ui/ConnectionStatus.js.map +1 -0
  323. package/cjs/ui/ContextMenu.js +431 -0
  324. package/cjs/ui/ContextMenu.js.map +1 -0
  325. package/cjs/ui/DateSeparator.js +44 -0
  326. package/cjs/ui/DateSeparator.js.map +1 -0
  327. package/cjs/ui/Dropdown.js +107 -0
  328. package/cjs/ui/Dropdown.js.map +1 -0
  329. package/cjs/ui/EmojiReactions.js +127 -0
  330. package/cjs/ui/EmojiReactions.js.map +1 -0
  331. package/cjs/ui/FileMessageItemBody.js +57 -0
  332. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  333. package/cjs/ui/FileViewer.js +174 -0
  334. package/cjs/ui/FileViewer.js.map +1 -0
  335. package/cjs/ui/Icon.js +1462 -0
  336. package/cjs/ui/Icon.js.map +1 -0
  337. package/cjs/ui/IconButton.js +83 -0
  338. package/cjs/ui/IconButton.js.map +1 -0
  339. package/cjs/ui/ImageRenderer.js +138 -0
  340. package/cjs/ui/ImageRenderer.js.map +1 -0
  341. package/cjs/ui/Input.js +74 -0
  342. package/cjs/ui/Input.js.map +1 -0
  343. package/cjs/ui/Label.js +17 -0
  344. package/cjs/ui/Label.js.map +1 -0
  345. package/cjs/ui/LinkLabel.js +51 -0
  346. package/cjs/ui/LinkLabel.js.map +1 -0
  347. package/cjs/ui/Loader.js +44 -0
  348. package/cjs/ui/Loader.js.map +1 -0
  349. package/cjs/ui/MessageContent.js +328 -0
  350. package/cjs/ui/MessageContent.js.map +1 -0
  351. package/cjs/ui/MessageInput.js +232 -0
  352. package/cjs/ui/MessageInput.js.map +1 -0
  353. package/cjs/ui/MessageItemMenu.js +141 -0
  354. package/cjs/ui/MessageItemMenu.js.map +1 -0
  355. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  356. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  357. package/cjs/ui/MessageSearchFileItem.js +130 -0
  358. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  359. package/cjs/ui/MessageSearchItem.js +93 -0
  360. package/cjs/ui/MessageSearchItem.js.map +1 -0
  361. package/cjs/ui/Modal.js +140 -0
  362. package/cjs/ui/Modal.js.map +1 -0
  363. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  364. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  365. package/cjs/ui/OGMessageItemBody.js +97 -0
  366. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  367. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  368. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  369. package/cjs/ui/OpenChannelAvatar.js +41 -0
  370. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  371. package/cjs/ui/OpenChannelMessageContent.js +14 -0
  372. package/cjs/ui/OpenChannelMessageContent.js.map +1 -0
  373. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  374. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  375. package/cjs/ui/OpenchannelFileMessage.js +230 -0
  376. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  377. package/cjs/ui/OpenchannelOGMessage.js +345 -0
  378. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  379. package/cjs/ui/OpenchannelThumbnailMessage.js +305 -0
  380. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  381. package/cjs/ui/OpenchannelUserMessage.js +264 -0
  382. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  383. package/cjs/ui/PlaceHolder.js +20 -0
  384. package/cjs/ui/PlaceHolder.js.map +1 -0
  385. package/cjs/ui/QuoteMessage.js +131 -0
  386. package/cjs/ui/QuoteMessage.js.map +1 -0
  387. package/cjs/ui/QuoteMessageInput.js +99 -0
  388. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  389. package/cjs/ui/ReactionBadge.js +68 -0
  390. package/cjs/ui/ReactionBadge.js.map +1 -0
  391. package/cjs/ui/ReactionButton.js +55 -0
  392. package/cjs/ui/ReactionButton.js.map +1 -0
  393. package/cjs/ui/SortByRow.js +57 -0
  394. package/cjs/ui/SortByRow.js.map +1 -0
  395. package/cjs/ui/TextButton.js +45 -0
  396. package/cjs/ui/TextButton.js.map +1 -0
  397. package/cjs/ui/TextMessageItemBody.js +40 -0
  398. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  399. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  400. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  401. package/cjs/ui/Tooltip.js +35 -0
  402. package/cjs/ui/Tooltip.js.map +1 -0
  403. package/cjs/ui/TooltipWrapper.js +65 -0
  404. package/cjs/ui/TooltipWrapper.js.map +1 -0
  405. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  406. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  407. package/cjs/ui/UserListItem.js +158 -0
  408. package/cjs/ui/UserListItem.js.map +1 -0
  409. package/cjs/ui/UserProfile.js +87 -0
  410. package/cjs/ui/UserProfile.js.map +1 -0
  411. package/cjs/useSendbirdStateContext.js +22 -0
  412. package/cjs/useSendbirdStateContext.js.map +1 -0
  413. package/cjs/utils-3b0815dc.js +6 -0
  414. package/cjs/utils-3b0815dc.js.map +1 -0
  415. package/cjs/utils-66b3f4ec.js +38 -0
  416. package/cjs/utils-66b3f4ec.js.map +1 -0
  417. package/cjs/utils-cbd3ed99.js +32 -0
  418. package/cjs/utils-cbd3ed99.js.map +1 -0
  419. package/cjs/uuid-1d5ec8b2.js +19 -0
  420. package/cjs/uuid-1d5ec8b2.js.map +1 -0
  421. package/cjs/withSendBird.js +35 -0
  422. package/cjs/withSendBird.js.map +1 -0
  423. package/color-ee3fc5ee.js +39 -0
  424. package/color-ee3fc5ee.js.map +1 -0
  425. package/compareIds-808956f2.js +18 -0
  426. package/compareIds-808956f2.js.map +1 -0
  427. package/context-98ce535c.js +12 -0
  428. package/context-98ce535c.js.map +1 -0
  429. package/index-1718324d.js +280 -0
  430. package/index-1718324d.js.map +1 -0
  431. package/index-5c2c81bc.js +168 -0
  432. package/index-5c2c81bc.js.map +1 -0
  433. package/index-6ebf7894.js +512 -0
  434. package/index-6ebf7894.js.map +1 -0
  435. package/index-770d7112.js +1873 -0
  436. package/index-770d7112.js.map +1 -0
  437. package/index-7a51bd16.js +131 -0
  438. package/index-7a51bd16.js.map +1 -0
  439. package/index-8c72a94a.js +602 -0
  440. package/index-8c72a94a.js.map +1 -0
  441. package/index-942c85a6.js +7 -0
  442. package/index-942c85a6.js.map +1 -0
  443. package/index-acebc2ff.js +87 -0
  444. package/index-acebc2ff.js.map +1 -0
  445. package/index-cd21929d.js +64 -0
  446. package/index-cd21929d.js.map +1 -0
  447. package/index-e818a8a3.js +121 -0
  448. package/index-e818a8a3.js.map +1 -0
  449. package/index.css +4355 -0
  450. package/index.css.map +1 -0
  451. package/index.d.ts +1801 -0
  452. package/index.js.map +1 -0
  453. package/openChannelUtils-56a372e7.js +81 -0
  454. package/openChannelUtils-56a372e7.js.map +1 -0
  455. package/package.json +1 -8
  456. package/sendBirdSelectors.js +713 -0
  457. package/sendBirdSelectors.js.map +1 -0
  458. package/stringSet-4f6eaa60.js +114 -0
  459. package/stringSet-4f6eaa60.js.map +1 -0
  460. package/topics-9442035c.js +10 -0
  461. package/topics-9442035c.js.map +1 -0
  462. package/tslib.es6-e3c44017.js +38 -0
  463. package/tslib.es6-e3c44017.js.map +1 -0
  464. package/ui/Accordion.js +65 -0
  465. package/ui/Accordion.js.map +1 -0
  466. package/ui/AccordionGroup.js +26 -0
  467. package/ui/AccordionGroup.js.map +1 -0
  468. package/ui/AdminMessage.js +37 -0
  469. package/ui/AdminMessage.js.map +1 -0
  470. package/ui/Avatar.js +217 -0
  471. package/ui/Avatar.js.map +1 -0
  472. package/ui/Badge.js +38 -0
  473. package/ui/Badge.js.map +1 -0
  474. package/ui/Button.js +7 -0
  475. package/ui/Button.js.map +1 -0
  476. package/ui/ChannelAvatar.js +53 -0
  477. package/ui/ChannelAvatar.js.map +1 -0
  478. package/ui/ChannelPreview.js +194 -0
  479. package/ui/ChannelPreview.js.map +1 -0
  480. package/ui/ChatHeader.js +138 -0
  481. package/ui/ChatHeader.js.map +1 -0
  482. package/ui/Checkbox.js +42 -0
  483. package/ui/Checkbox.js.map +1 -0
  484. package/ui/ConnectionStatus.js +28 -0
  485. package/ui/ConnectionStatus.js.map +1 -0
  486. package/ui/ContextMenu.js +417 -0
  487. package/ui/ContextMenu.js.map +1 -0
  488. package/ui/DateSeparator.js +37 -0
  489. package/ui/DateSeparator.js.map +1 -0
  490. package/ui/Dropdown.js +97 -0
  491. package/ui/Dropdown.js.map +1 -0
  492. package/ui/EmojiReactions.js +121 -0
  493. package/ui/EmojiReactions.js.map +1 -0
  494. package/ui/FileMessageItemBody.js +51 -0
  495. package/ui/FileMessageItemBody.js.map +1 -0
  496. package/ui/FileViewer.js +164 -0
  497. package/ui/FileViewer.js.map +1 -0
  498. package/ui/Icon.js +1432 -0
  499. package/ui/Icon.js.map +1 -0
  500. package/ui/IconButton.js +76 -0
  501. package/ui/IconButton.js.map +1 -0
  502. package/ui/ImageRenderer.js +131 -0
  503. package/ui/ImageRenderer.js.map +1 -0
  504. package/ui/Input.js +64 -0
  505. package/ui/Input.js.map +1 -0
  506. package/ui/Label.js +6 -0
  507. package/ui/Label.js.map +1 -0
  508. package/ui/LinkLabel.js +40 -0
  509. package/ui/LinkLabel.js.map +1 -0
  510. package/ui/Loader.js +37 -0
  511. package/ui/Loader.js.map +1 -0
  512. package/ui/MessageContent.js +322 -0
  513. package/ui/MessageContent.js.map +1 -0
  514. package/ui/MessageInput.js +225 -0
  515. package/ui/MessageInput.js.map +1 -0
  516. package/ui/MessageItemMenu.js +135 -0
  517. package/ui/MessageItemMenu.js.map +1 -0
  518. package/ui/MessageItemReactionMenu.js +106 -0
  519. package/ui/MessageItemReactionMenu.js.map +1 -0
  520. package/ui/MessageSearchFileItem.js +124 -0
  521. package/ui/MessageSearchFileItem.js.map +1 -0
  522. package/ui/MessageSearchItem.js +87 -0
  523. package/ui/MessageSearchItem.js.map +1 -0
  524. package/ui/Modal.js +128 -0
  525. package/ui/Modal.js.map +1 -0
  526. package/ui/MutedAvatarOverlay.js +34 -0
  527. package/ui/MutedAvatarOverlay.js.map +1 -0
  528. package/ui/OGMessageItemBody.js +91 -0
  529. package/ui/OGMessageItemBody.js.map +1 -0
  530. package/ui/OpenChannelAdminMessage.js +21 -0
  531. package/ui/OpenChannelAdminMessage.js.map +1 -0
  532. package/ui/OpenChannelAvatar.js +35 -0
  533. package/ui/OpenChannelAvatar.js.map +1 -0
  534. package/ui/OpenChannelMessageContent.js +8 -0
  535. package/ui/OpenChannelMessageContent.js.map +1 -0
  536. package/ui/OpenchannelConversationHeader.js +67 -0
  537. package/ui/OpenchannelConversationHeader.js.map +1 -0
  538. package/ui/OpenchannelFileMessage.js +224 -0
  539. package/ui/OpenchannelFileMessage.js.map +1 -0
  540. package/ui/OpenchannelOGMessage.js +339 -0
  541. package/ui/OpenchannelOGMessage.js.map +1 -0
  542. package/ui/OpenchannelThumbnailMessage.js +299 -0
  543. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  544. package/ui/OpenchannelUserMessage.js +258 -0
  545. package/ui/OpenchannelUserMessage.js.map +1 -0
  546. package/ui/PlaceHolder.js +11 -0
  547. package/ui/PlaceHolder.js.map +1 -0
  548. package/ui/QuoteMessage.js +125 -0
  549. package/ui/QuoteMessage.js.map +1 -0
  550. package/ui/QuoteMessageInput.js +93 -0
  551. package/ui/QuoteMessageInput.js.map +1 -0
  552. package/ui/ReactionBadge.js +61 -0
  553. package/ui/ReactionBadge.js.map +1 -0
  554. package/ui/ReactionButton.js +48 -0
  555. package/ui/ReactionButton.js.map +1 -0
  556. package/ui/SortByRow.js +50 -0
  557. package/ui/SortByRow.js.map +1 -0
  558. package/ui/TextButton.js +38 -0
  559. package/ui/TextButton.js.map +1 -0
  560. package/ui/TextMessageItemBody.js +34 -0
  561. package/ui/TextMessageItemBody.js.map +1 -0
  562. package/ui/ThumbnailMessageItemBody.js +76 -0
  563. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  564. package/ui/Tooltip.js +28 -0
  565. package/ui/Tooltip.js.map +1 -0
  566. package/ui/TooltipWrapper.js +58 -0
  567. package/ui/TooltipWrapper.js.map +1 -0
  568. package/ui/UnknownMessageItemBody.js +35 -0
  569. package/ui/UnknownMessageItemBody.js.map +1 -0
  570. package/ui/UserListItem.js +151 -0
  571. package/ui/UserListItem.js.map +1 -0
  572. package/ui/UserProfile.js +81 -0
  573. package/ui/UserProfile.js.map +1 -0
  574. package/useSendbirdStateContext.js +20 -0
  575. package/useSendbirdStateContext.js.map +1 -0
  576. package/utils-08c4dbdc.js +34 -0
  577. package/utils-08c4dbdc.js.map +1 -0
  578. package/utils-af1b9829.js +30 -0
  579. package/utils-af1b9829.js.map +1 -0
  580. package/utils-c393e880.js +4 -0
  581. package/utils-c393e880.js.map +1 -0
  582. package/uuid-b0c93400.js +17 -0
  583. package/uuid-b0c93400.js.map +1 -0
  584. package/withSendBird.js +26 -0
  585. 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-68e55e2a.js');
7
+ var MessageSearch_context = require('../context.js');
8
+ var ui_MessageSearchItem = require('../../ui/MessageSearchItem.js');
9
+ var ui_PlaceHolder = require('../../index-659c9ca5.js');
10
+ var ui_MessageSearchFileItem = require('../../ui/MessageSearchFileItem.js');
11
+ require('../../stringSet-aa544ce5.js');
12
+ require('../../index-e2bb862c.js');
13
+ require('../../useSendbirdStateContext.js');
14
+ require('../../withSendBird.js');
15
+ require('../../_rollupPluginBabelHelpers-fc14118c.js');
16
+ require('../../tslib.es6-4a281a05.js');
17
+ require('../../index-905331fa.js');
18
+ require('../../index-8becccd8.js');
19
+ require('../../index-9dc3863f.js');
20
+ require('../../ui/Avatar.js');
21
+ require('../../ui/ImageRenderer.js');
22
+ require('prop-types');
23
+ require('../../ui/Icon.js');
24
+ require('../../uuid-1d5ec8b2.js');
25
+ require('../../index-1468d245.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.useMessageSearch(),
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: 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: 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 './index.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useMessageSearch } 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 } = useMessageSearch();\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}\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}\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","useMessageSearch","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,401 @@
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-4a281a05.js');
8
+ require('../withSendBird.js');
9
+ require('../_rollupPluginBabelHelpers-fc14118c.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 && (sdk.OpenChannel || sdk.GroupChannel)) {
126
+ sdk.GroupChannel.getChannel(channelUrl, function (groupChannel, error) {
127
+ if (!error) {
128
+ logger.info('MessageSearch | useSetChannel group channel', groupChannel);
129
+ messageSearchDispatcher({
130
+ type: SET_CURRENT_CHANNEL,
131
+ payload: groupChannel
132
+ });
133
+ } else {
134
+ messageSearchDispatcher({
135
+ type: CHANNEL_INVALID,
136
+ payload: null
137
+ });
138
+ }
139
+ });
140
+ }
141
+ }, [channelUrl, sdkInit]);
142
+ }
143
+
144
+ function useGetSearchedMessages(_a, _b) {
145
+ var currentChannel = _a.currentChannel,
146
+ channelUrl = _a.channelUrl,
147
+ requestString = _a.requestString,
148
+ messageSearchQuery = _a.messageSearchQuery,
149
+ onResultLoaded = _a.onResultLoaded,
150
+ retryCount = _a.retryCount;
151
+ var sdk = _b.sdk,
152
+ logger = _b.logger,
153
+ messageSearchDispatcher = _b.messageSearchDispatcher;
154
+ React.useEffect(function () {
155
+ messageSearchDispatcher({
156
+ type: START_MESSAGE_SEARCH,
157
+ payload: null
158
+ });
159
+
160
+ if (sdk && channelUrl && sdk.createMessageSearchQuery && currentChannel) {
161
+ if (requestString) {
162
+ var inputSearchMessageQueryObject = tslib_es6.__assign(tslib_es6.__assign({}, messageSearchQuery), {
163
+ order: 'ts',
164
+ channelUrl: channelUrl,
165
+ messageTimestampFrom: currentChannel.invitedAt
166
+ });
167
+
168
+ var createdQuery_1 = sdk.createMessageSearchQuery(requestString, inputSearchMessageQueryObject);
169
+ createdQuery_1.next(function (messages, error) {
170
+ if (!error) {
171
+ logger.info('MessageSearch | useGetSearchedMessages: succeeded getting messages', messages);
172
+ messageSearchDispatcher({
173
+ type: GET_SEARCHED_MESSAGES,
174
+ payload: {
175
+ messages: messages,
176
+ createdQuery: createdQuery_1
177
+ }
178
+ });
179
+
180
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
181
+ onResultLoaded(messages, null);
182
+ }
183
+ } else {
184
+ logger.warning('MessageSearch | useGetSearchedMessages: getting failed', error);
185
+ messageSearchDispatcher({
186
+ type: SET_QUERY_INVALID,
187
+ payload: null
188
+ });
189
+
190
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
191
+ onResultLoaded(null, error);
192
+ }
193
+ }
194
+ });
195
+ messageSearchDispatcher({
196
+ type: START_GETTING_SEARCHED_MESSAGES,
197
+ payload: createdQuery_1
198
+ });
199
+ } else {
200
+ logger.info('MessageSearch | useGetSeasrchedMessages: search string is empty');
201
+ }
202
+ }
203
+ }, [channelUrl, messageSearchQuery, requestString, currentChannel, retryCount]);
204
+ }
205
+
206
+ function useScrollCallback(_a, _b) {
207
+ var currentMessageSearchQuery = _a.currentMessageSearchQuery,
208
+ hasMoreResult = _a.hasMoreResult,
209
+ onResultLoaded = _a.onResultLoaded;
210
+ var logger = _b.logger,
211
+ messageSearchDispatcher = _b.messageSearchDispatcher;
212
+ return React.useCallback(function (cb) {
213
+ if (!hasMoreResult) {
214
+ logger.warning('MessageSearch | useScrollCallback: no more searched results', hasMoreResult);
215
+ }
216
+
217
+ if (currentMessageSearchQuery && currentMessageSearchQuery.hasNext) {
218
+ currentMessageSearchQuery.next(function (messages, error) {
219
+ if (!error) {
220
+ logger.info('MessageSearch | useScrollCallback: succeeded getting searched messages', messages);
221
+ messageSearchDispatcher({
222
+ type: GET_NEXT_SEARCHED_MESSAGES,
223
+ payload: messages
224
+ });
225
+ cb(messages, null);
226
+
227
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
228
+ onResultLoaded(messages, null);
229
+ }
230
+ } else {
231
+ logger.warning('MessageSearch | useScrollCallback: failed getting searched messages', error);
232
+ cb(null, error);
233
+
234
+ if (onResultLoaded && typeof onResultLoaded === 'function') {
235
+ onResultLoaded(null, error);
236
+ }
237
+ }
238
+ });
239
+ } else {
240
+ logger.warning('MessageSearch | useScrollCallback: no currentMessageSearchQuery');
241
+ }
242
+ }, [currentMessageSearchQuery, hasMoreResult]);
243
+ }
244
+
245
+ var DEBOUNCING_TIME = 500;
246
+
247
+ function useSearchStringEffect(_a, _b) {
248
+ var searchString = _a.searchString;
249
+ var messageSearchDispatcher = _b.messageSearchDispatcher;
250
+
251
+ var _c = React.useState(''),
252
+ requestString = _c[0],
253
+ setRequestString = _c[1];
254
+
255
+ var _d = React.useState(null),
256
+ debouncingTimer = _d[0],
257
+ setDebouncingTimer = _d[1];
258
+
259
+ React.useEffect(function () {
260
+ clearTimeout(debouncingTimer);
261
+
262
+ if (searchString) {
263
+ setDebouncingTimer(setTimeout(function () {
264
+ setRequestString(searchString);
265
+ }, DEBOUNCING_TIME));
266
+ } else {
267
+ setRequestString('');
268
+ messageSearchDispatcher({
269
+ type: RESET_SEARCH_STRING,
270
+ payload: ''
271
+ });
272
+ }
273
+ }, [searchString]);
274
+ return requestString;
275
+ }
276
+
277
+ var MessageSearchContext = /*#__PURE__*/React__default["default"].createContext(undefined);
278
+
279
+ var MessageSearchProvider = function MessageSearchProvider(props) {
280
+ var _a, _b, _c, _d, _e;
281
+
282
+ var // message search props
283
+ channelUrl = props.channelUrl,
284
+ searchString = props.searchString,
285
+ messageSearchQuery = props.messageSearchQuery,
286
+ onResultLoaded = props.onResultLoaded,
287
+ onResultClick = props.onResultClick;
288
+ var globalState = useSendbirdStateContext(); // hook variables
289
+
290
+ var _f = React.useState(0),
291
+ retryCount = _f[0],
292
+ setRetryCount = _f[1]; // this is a trigger flag for activating useGetSearchMessages
293
+
294
+
295
+ var _g = React.useState(0),
296
+ selectedMessageId = _g[0],
297
+ setSelectedMessageId = _g[1];
298
+
299
+ var _h = React.useReducer(reducer, initialState),
300
+ messageSearchStore = _h[0],
301
+ messageSearchDispatcher = _h[1];
302
+
303
+ var allMessages = messageSearchStore.allMessages,
304
+ loading = messageSearchStore.loading,
305
+ isInvalid = messageSearchStore.isInvalid,
306
+ currentChannel = messageSearchStore.currentChannel,
307
+ currentMessageSearchQuery = messageSearchStore.currentMessageSearchQuery,
308
+ hasMoreResult = messageSearchStore.hasMoreResult;
309
+ var logger = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.logger;
310
+ 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;
311
+ 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;
312
+ var scrollRef = React.useRef(null);
313
+
314
+ var handleOnScroll = function handleOnScroll(e) {
315
+ var scrollElement = e.target;
316
+ var scrollTop = scrollElement.scrollTop,
317
+ scrollHeight = scrollElement.scrollHeight,
318
+ clientHeight = scrollElement.clientHeight;
319
+
320
+ if (!hasMoreResult) {
321
+ return;
322
+ }
323
+
324
+ if (scrollTop + clientHeight >= scrollHeight) {
325
+ onScroll(function () {// after load more searched messages
326
+ });
327
+ }
328
+ };
329
+
330
+ useSetChannel({
331
+ channelUrl: channelUrl,
332
+ sdkInit: sdkInit
333
+ }, {
334
+ sdk: sdk,
335
+ logger: logger,
336
+ messageSearchDispatcher: messageSearchDispatcher
337
+ });
338
+ var requestString = useSearchStringEffect({
339
+ searchString: searchString
340
+ }, {
341
+ messageSearchDispatcher: messageSearchDispatcher
342
+ });
343
+ useGetSearchedMessages({
344
+ currentChannel: currentChannel,
345
+ channelUrl: channelUrl,
346
+ requestString: requestString,
347
+ messageSearchQuery: messageSearchQuery,
348
+ onResultLoaded: onResultLoaded,
349
+ retryCount: retryCount
350
+ }, {
351
+ sdk: sdk,
352
+ logger: logger,
353
+ messageSearchDispatcher: messageSearchDispatcher
354
+ });
355
+ var onScroll = useScrollCallback({
356
+ currentMessageSearchQuery: currentMessageSearchQuery,
357
+ hasMoreResult: hasMoreResult,
358
+ onResultLoaded: onResultLoaded
359
+ }, {
360
+ logger: logger,
361
+ messageSearchDispatcher: messageSearchDispatcher
362
+ });
363
+
364
+ var handleRetryToConnect = function handleRetryToConnect() {
365
+ setRetryCount(retryCount + 1);
366
+ };
367
+
368
+ return /*#__PURE__*/React__default["default"].createElement(MessageSearchContext.Provider, {
369
+ value: {
370
+ channelUrl: channelUrl,
371
+ searchString: searchString,
372
+ requestString: requestString,
373
+ messageSearchQuery: messageSearchQuery,
374
+ onResultLoaded: onResultLoaded,
375
+ onResultClick: onResultClick,
376
+ retryCount: retryCount,
377
+ setRetryCount: setRetryCount,
378
+ selectedMessageId: selectedMessageId,
379
+ setSelectedMessageId: setSelectedMessageId,
380
+ messageSearchDispatcher: messageSearchDispatcher,
381
+ allMessages: allMessages,
382
+ loading: loading,
383
+ isInvalid: isInvalid,
384
+ currentChannel: currentChannel,
385
+ currentMessageSearchQuery: currentMessageSearchQuery,
386
+ hasMoreResult: hasMoreResult,
387
+ onScroll: onScroll,
388
+ scrollRef: scrollRef,
389
+ handleRetryToConnect: handleRetryToConnect,
390
+ handleOnScroll: handleOnScroll
391
+ }
392
+ }, props === null || props === void 0 ? void 0 : props.children);
393
+ };
394
+
395
+ var useMessageSearch = function useMessageSearch() {
396
+ return React__default["default"].useContext(MessageSearchContext);
397
+ };
398
+
399
+ exports.MessageSearchProvider = MessageSearchProvider;
400
+ exports.useMessageSearch = useMessageSearch;
401
+ //# 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 * as actionTypes from './actionTypes';\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 SendbirdUIKit.MessageSearchQueryType).channelUrl\n && createdQuery.key === (state?.currentMessageSearchQuery as SendbirdUIKit.MessageSearchQueryType).key\n ) {\n return {\n ...state,\n loading: false,\n isInvalid: false,\n allMessages: [...messages],\n hasMoreResult: (state?.currentMessageSearchQuery as SendbirdUIKit.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 SendbirdUIKit.MessageSearchQueryType).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 SendBird from 'sendbird';\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: SendBird.GroupChannel;\n currentMessageSearchQuery: SendBird.MessageSearchQuery | SendBird.MessageSearchQueryOptions;\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 { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.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 && (sdk.OpenChannel || sdk.GroupChannel)) {\n sdk.GroupChannel.getChannel(channelUrl, (groupChannel, error) => {\n if (!error) {\n logger.info('MessageSearch | useSetChannel group channel', groupChannel);\n messageSearchDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n } else {\n messageSearchDispatcher({\n type: messageActionTypes.CHANNEL_INVALID,\n payload: null,\n });\n }\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport SendbirdUIKit from '../../../../index';\nimport SendBird from 'sendbird';\n\ninterface MainProps {\n currentChannel: SendbirdUIKit.GroupChannelType;\n channelUrl: string;\n requestString?: string;\n messageSearchQuery?: SendbirdUIKit.MessageSearchQueryType;\n onResultLoaded?: (\n messages?: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage>,\n error?: SendbirdUIKit.SendbirdError,\n ) => void;\n retryCount: number;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.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 = {\n ...messageSearchQuery,\n order: 'ts' as const,\n channelUrl,\n messageTimestampFrom: currentChannel.invitedAt,\n };\n const createdQuery = sdk.createMessageSearchQuery(requestString, inputSearchMessageQueryObject);\n createdQuery.next((messages, error) => {\n if (!error) {\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 } else {\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 });\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 { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentMessageSearchQuery: SendBird.MessageSearchQuery;\n hasMoreResult: boolean;\n onResultLoaded?: (\n messages?: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage>,\n error?: SendbirdUIKit.SendbirdError,\n ) => void;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messageSearchDispatcher: ({ type: string, payload: any }) => void;\n}\nexport type CallbackReturn = (\n callback: (\n messages: Array<SendBird.UserMessage | SendBird.FileMessage | SendBird.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((messages, error) => {\n if (!error) {\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 } else {\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 });\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 SendBird from 'sendbird';\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?: SendBird.MessageSearchQueryOptions;\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: SendBird.GroupChannel;\n currentMessageSearchQuery: SendBird.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 useMessageSearch: UseMessageSearchType = () => React.useContext(MessageSearchContext);\n\nexport { MessageSearchProvider, useMessageSearch };\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","OpenChannel","GroupChannel","getChannel","groupChannel","error","info","messageActionTypes","useGetSearchedMessages","requestString","messageSearchQuery","onResultLoaded","retryCount","createMessageSearchQuery","inputSearchMessageQueryObject","order","messageTimestampFrom","invitedAt","createdQuery_1","next","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","useMessageSearch","useContext"],"mappings":"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"}