@sendbird/uikit-react 3.1.2 → 3.1.3-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 (426) hide show
  1. package/App.js +37 -36
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +20 -0
  4. package/Channel/components/ChannelHeader.js +19 -19
  5. package/Channel/components/ChannelUI.js +26 -26
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +18 -18
  8. package/Channel/components/FrozenNotification.js +5 -5
  9. package/Channel/components/Message.js +26 -24
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +20 -20
  12. package/Channel/components/MessageList.js +25 -25
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +20 -20
  15. package/Channel/components/SuggestedMentionList.js +19 -19
  16. package/Channel/components/TypingIndicator.js +18 -18
  17. package/Channel/components/UnreadCount.js +5 -5
  18. package/Channel/context.js +17 -17
  19. package/Channel.js +26 -26
  20. package/ChannelList/components/AddChannel.js +14 -14
  21. package/ChannelList/components/ChannelListHeader.js +7 -7
  22. package/ChannelList/components/ChannelListUI.js +30 -30
  23. package/ChannelList/components/ChannelPreview.js +23 -23
  24. package/ChannelList/components/ChannelPreviewAction.js +22 -20
  25. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  26. package/ChannelList/context.js +12 -12
  27. package/ChannelList.js +30 -30
  28. package/{ChannelListProvider-9c82d370.js → ChannelListProvider-6bf1e9c7.js} +9 -9
  29. package/{ChannelListProvider-9c82d370.js.map → ChannelListProvider-6bf1e9c7.js.map} +1 -1
  30. package/{ChannelProvider-d891cf5f.js → ChannelProvider-b68db5fd.js} +12 -12
  31. package/{ChannelProvider-d891cf5f.js.map → ChannelProvider-b68db5fd.js.map} +1 -1
  32. package/ChannelSettings/components/ChannelProfile.js +12 -12
  33. package/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  34. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  35. package/ChannelSettings/components/LeaveChannel.js +11 -11
  36. package/ChannelSettings/components/ModerationPanel.js +19 -19
  37. package/ChannelSettings/components/UserListItem.js +12 -12
  38. package/ChannelSettings/components/UserPanel.js +14 -14
  39. package/ChannelSettings/context.js +3 -3
  40. package/ChannelSettings.js +22 -22
  41. package/CreateChannel/components/CreateChannelUI.js +14 -14
  42. package/CreateChannel/components/InviteUsers.js +14 -14
  43. package/CreateChannel/components/SelectChannelType.js +11 -11
  44. package/CreateChannel/context.js +4 -4
  45. package/CreateChannel.js +14 -14
  46. package/{CreateChannelProvider-0af2a424.js → CreateChannelProvider-9a497a91.js} +1 -1
  47. package/{CreateChannelProvider-0af2a424.js.map → CreateChannelProvider-9a497a91.js.map} +1 -1
  48. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  49. package/EditUserProfile.js +13 -13
  50. package/{LocalizationContext-2a073ef0.js → LocalizationContext-397e33d0.js} +3 -3
  51. package/{LocalizationContext-2a073ef0.js.map → LocalizationContext-397e33d0.js.map} +1 -1
  52. package/{MemberList-0acc36c3.js → MemberList-464926f8.js} +6 -6
  53. package/{MemberList-0acc36c3.js.map → MemberList-464926f8.js.map} +1 -1
  54. package/MessageSearch/components/MessageSearchUI.js +11 -11
  55. package/MessageSearch/context.js +2 -2
  56. package/MessageSearch.js +11 -11
  57. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  58. package/OpenChannel/components/OpenChannelHeader.js +17 -17
  59. package/OpenChannel/components/OpenChannelInput.js +21 -21
  60. package/OpenChannel/components/OpenChannelMessage.js +26 -26
  61. package/OpenChannel/components/OpenChannelMessageList.js +28 -28
  62. package/OpenChannel/components/OpenChannelUI.js +28 -28
  63. package/OpenChannel/context.js +14 -14
  64. package/OpenChannel.js +28 -28
  65. package/{OpenChannelProvider-2e3fa2dd.js → OpenChannelProvider-b936f710.js} +55 -39
  66. package/OpenChannelProvider-b936f710.js.map +1 -0
  67. package/OpenChannelSettings/components/EditDetailsModal.js +15 -15
  68. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  69. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  70. package/OpenChannelSettings/components/OperatorUI.js +20 -20
  71. package/OpenChannelSettings/components/ParticipantUI.js +18 -18
  72. package/OpenChannelSettings/context.js +17 -16
  73. package/OpenChannelSettings/context.js.map +1 -1
  74. package/OpenChannelSettings.js +21 -21
  75. package/SendbirdProvider.js +30 -22
  76. package/SendbirdProvider.js.map +1 -1
  77. package/{UserProfileContext-143a6a42.js → UserProfileContext-70f3b69e.js} +1 -1
  78. package/{UserProfileContext-143a6a42.js.map → UserProfileContext-70f3b69e.js.map} +1 -1
  79. package/{__bundle-6316ce22-cd546820.js → __bundle-6316ce22-a7fd8d16.js} +1 -1
  80. package/{__bundle-6316ce22-cd546820.js.map → __bundle-6316ce22-a7fd8d16.js.map} +1 -1
  81. package/{__bundle-7dfccc8c-6c6e7ab4.js → __bundle-7dfccc8c-85123da0.js} +2 -2
  82. package/{__bundle-7dfccc8c-6c6e7ab4.js.map → __bundle-7dfccc8c-85123da0.js.map} +1 -1
  83. package/{__bundle-fbda47dd-9dbeee1d.js → __bundle-fbda47dd-0157c82e.js} +2 -2
  84. package/{__bundle-fbda47dd-9dbeee1d.js.map → __bundle-fbda47dd-0157c82e.js.map} +1 -1
  85. package/{_rollupPluginBabelHelpers-3043541a.js → _rollupPluginBabelHelpers-67f295c6.js} +1 -1
  86. package/{_rollupPluginBabelHelpers-3043541a.js.map → _rollupPluginBabelHelpers-67f295c6.js.map} +1 -1
  87. package/{actionTypes-2873dec9.js → actionTypes-6723ddd6.js} +1 -1
  88. package/{actionTypes-2873dec9.js.map → actionTypes-6723ddd6.js.map} +1 -1
  89. package/cjs/App.js +37 -36
  90. package/cjs/App.js.map +1 -1
  91. package/cjs/Channel/components/ChannelHeader.js +19 -19
  92. package/cjs/Channel/components/ChannelUI.js +26 -26
  93. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  94. package/cjs/Channel/components/FileViewer.js +18 -18
  95. package/cjs/Channel/components/FrozenNotification.js +5 -5
  96. package/cjs/Channel/components/Message.js +26 -24
  97. package/cjs/Channel/components/Message.js.map +1 -1
  98. package/cjs/Channel/components/MessageInput.js +20 -20
  99. package/cjs/Channel/components/MessageList.js +25 -25
  100. package/cjs/Channel/components/MessageList.js.map +1 -1
  101. package/cjs/Channel/components/RemoveMessageModal.js +20 -20
  102. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  103. package/cjs/Channel/components/TypingIndicator.js +18 -18
  104. package/cjs/Channel/components/UnreadCount.js +5 -5
  105. package/cjs/Channel/context.js +17 -17
  106. package/cjs/Channel.js +26 -26
  107. package/cjs/ChannelList/components/AddChannel.js +14 -14
  108. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  109. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  110. package/cjs/ChannelList/components/ChannelPreview.js +23 -23
  111. package/cjs/ChannelList/components/ChannelPreviewAction.js +22 -20
  112. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  113. package/cjs/ChannelList/context.js +12 -12
  114. package/cjs/ChannelList.js +30 -30
  115. package/cjs/{ChannelListProvider-b60fe6ed.js → ChannelListProvider-64262fd2.js} +9 -9
  116. package/cjs/{ChannelListProvider-b60fe6ed.js.map → ChannelListProvider-64262fd2.js.map} +1 -1
  117. package/cjs/{ChannelProvider-b21b3c2a.js → ChannelProvider-c20e9dc3.js} +12 -12
  118. package/cjs/{ChannelProvider-b21b3c2a.js.map → ChannelProvider-c20e9dc3.js.map} +1 -1
  119. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  120. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  121. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  122. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  123. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -19
  124. package/cjs/ChannelSettings/components/UserListItem.js +12 -12
  125. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  126. package/cjs/ChannelSettings/context.js +3 -3
  127. package/cjs/ChannelSettings.js +22 -22
  128. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  129. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  130. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  131. package/cjs/CreateChannel/context.js +4 -4
  132. package/cjs/CreateChannel.js +14 -14
  133. package/cjs/{CreateChannelProvider-71e1e6d6.js → CreateChannelProvider-49506a99.js} +1 -1
  134. package/cjs/{CreateChannelProvider-71e1e6d6.js.map → CreateChannelProvider-49506a99.js.map} +1 -1
  135. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  136. package/cjs/EditUserProfile.js +13 -13
  137. package/cjs/{LocalizationContext-da62a103.js → LocalizationContext-35942797.js} +3 -3
  138. package/cjs/{LocalizationContext-da62a103.js.map → LocalizationContext-35942797.js.map} +1 -1
  139. package/cjs/{MemberList-442ade8c.js → MemberList-c79c660f.js} +6 -6
  140. package/cjs/{MemberList-442ade8c.js.map → MemberList-c79c660f.js.map} +1 -1
  141. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  142. package/cjs/MessageSearch/context.js +2 -2
  143. package/cjs/MessageSearch.js +11 -11
  144. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  145. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -17
  146. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  147. package/cjs/OpenChannel/components/OpenChannelMessage.js +26 -26
  148. package/cjs/OpenChannel/components/OpenChannelMessageList.js +28 -28
  149. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
  150. package/cjs/OpenChannel/context.js +14 -14
  151. package/cjs/OpenChannel.js +28 -28
  152. package/cjs/{OpenChannelProvider-bc8d7f0d.js → OpenChannelProvider-174daa25.js} +55 -39
  153. package/cjs/OpenChannelProvider-174daa25.js.map +1 -0
  154. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +15 -15
  155. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  156. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  157. package/cjs/OpenChannelSettings/components/OperatorUI.js +20 -20
  158. package/cjs/OpenChannelSettings/components/ParticipantUI.js +18 -18
  159. package/cjs/OpenChannelSettings/context.js +17 -16
  160. package/cjs/OpenChannelSettings/context.js.map +1 -1
  161. package/cjs/OpenChannelSettings.js +21 -21
  162. package/cjs/SendbirdProvider.js +30 -22
  163. package/cjs/SendbirdProvider.js.map +1 -1
  164. package/cjs/{UserProfileContext-891590a7.js → UserProfileContext-7fab3049.js} +1 -1
  165. package/cjs/{UserProfileContext-891590a7.js.map → UserProfileContext-7fab3049.js.map} +1 -1
  166. package/cjs/{__bundle-6316ce22-c06e03fc.js → __bundle-6316ce22-bdf33468.js} +1 -1
  167. package/cjs/{__bundle-6316ce22-c06e03fc.js.map → __bundle-6316ce22-bdf33468.js.map} +1 -1
  168. package/cjs/{__bundle-7dfccc8c-dcc1c854.js → __bundle-7dfccc8c-8ada5946.js} +2 -2
  169. package/cjs/{__bundle-7dfccc8c-dcc1c854.js.map → __bundle-7dfccc8c-8ada5946.js.map} +1 -1
  170. package/cjs/{__bundle-fbda47dd-1a2c2d97.js → __bundle-fbda47dd-d736220d.js} +2 -2
  171. package/cjs/{__bundle-fbda47dd-1a2c2d97.js.map → __bundle-fbda47dd-d736220d.js.map} +1 -1
  172. package/cjs/{_rollupPluginBabelHelpers-4265e501.js → _rollupPluginBabelHelpers-082ff33d.js} +1 -1
  173. package/cjs/{_rollupPluginBabelHelpers-4265e501.js.map → _rollupPluginBabelHelpers-082ff33d.js.map} +1 -1
  174. package/cjs/{actionTypes-7c5a0f8b.js → actionTypes-54af9c52.js} +1 -1
  175. package/cjs/{actionTypes-7c5a0f8b.js.map → actionTypes-54af9c52.js.map} +1 -1
  176. package/cjs/{color-42e34a43.js → color-ec571f01.js} +1 -1
  177. package/cjs/{color-42e34a43.js.map → color-ec571f01.js.map} +1 -1
  178. package/cjs/{compareIds-26079db4.js → compareIds-1b11164b.js} +1 -1
  179. package/cjs/{compareIds-26079db4.js.map → compareIds-1b11164b.js.map} +1 -1
  180. package/cjs/{const-c1a4604d.js → const-baaf7275.js} +1 -1
  181. package/cjs/{const-c1a4604d.js.map → const-baaf7275.js.map} +1 -1
  182. package/cjs/{const-8a9ec74c.js → const-c6530407.js} +1 -1
  183. package/cjs/{const-8a9ec74c.js.map → const-c6530407.js.map} +1 -1
  184. package/cjs/{context-82ac7edc.js → context-360ca291.js} +2 -2
  185. package/cjs/{context-82ac7edc.js.map → context-360ca291.js.map} +1 -1
  186. package/cjs/dist/index.css +81 -17
  187. package/cjs/dist/index.css.map +1 -1
  188. package/cjs/{groupChannel-11ed3837.js → groupChannel-150632d7.js} +4 -4
  189. package/cjs/{groupChannel-11ed3837.js.map → groupChannel-150632d7.js.map} +1 -1
  190. package/cjs/handlers/ConnectionHandler.js +3 -3
  191. package/cjs/handlers/GroupChannelHandler.js +4 -4
  192. package/cjs/handlers/OpenChannelHandler.js +3 -3
  193. package/cjs/handlers/SessionHandler.js +12 -0
  194. package/cjs/handlers/SessionHandler.js.map +1 -0
  195. package/cjs/handlers/UserEventHandler.js +3 -3
  196. package/cjs/{index-05692021.js → index-2f57e1c8.js} +3 -3
  197. package/cjs/{index-05692021.js.map → index-2f57e1c8.js.map} +1 -1
  198. package/cjs/{index-fb127b1f.js → index-43c0e19f.js} +2 -2
  199. package/cjs/{index-fb127b1f.js.map → index-43c0e19f.js.map} +1 -1
  200. package/cjs/{index-82646d4d.js → index-6a2cc1bb.js} +6 -6
  201. package/cjs/{index-82646d4d.js.map → index-6a2cc1bb.js.map} +1 -1
  202. package/cjs/{index-25336220.js → index-6fc7a50a.js} +1 -1
  203. package/cjs/{index-25336220.js.map → index-6fc7a50a.js.map} +1 -1
  204. package/cjs/{index-f5cb5c7f.js → index-8a5ade0f.js} +2 -2
  205. package/cjs/{index-f5cb5c7f.js.map → index-8a5ade0f.js.map} +1 -1
  206. package/cjs/{index-06c3dca9.js → index-8bd2c4bb.js} +2 -2
  207. package/cjs/{index-06c3dca9.js.map → index-8bd2c4bb.js.map} +1 -1
  208. package/cjs/{index-b440f8c6.js → index-a4141b26.js} +4 -4
  209. package/cjs/{index-b440f8c6.js.map → index-a4141b26.js.map} +1 -1
  210. package/cjs/{index-c79f62fd.js → index-b099330e.js} +4 -4
  211. package/cjs/{index-c79f62fd.js.map → index-b099330e.js.map} +1 -1
  212. package/cjs/{index-089e0fba.js → index-d5a50567.js} +3 -3
  213. package/cjs/{index-089e0fba.js.map → index-d5a50567.js.map} +1 -1
  214. package/cjs/{index-32562627.js → index-df12b2be.js} +1 -1
  215. package/cjs/{index-32562627.js.map → index-df12b2be.js.map} +1 -1
  216. package/cjs/{index-81e2234a.js → index-ead714db.js} +9 -9
  217. package/cjs/{index-81e2234a.js.map → index-ead714db.js.map} +1 -1
  218. package/cjs/index.js +39 -39
  219. package/cjs/{openChannel-76345cfa.js → openChannel-e2adcd8a.js} +3 -3
  220. package/cjs/{openChannel-76345cfa.js.map → openChannel-e2adcd8a.js.map} +1 -1
  221. package/cjs/{openChannelUtils-56d57483.js → openChannelUtils-e9df94b8.js} +1 -1
  222. package/cjs/{openChannelUtils-56d57483.js.map → openChannelUtils-e9df94b8.js.map} +1 -1
  223. package/cjs/{sendbird-dfd051c8.js → sendbird-211e4dae.js} +4 -3
  224. package/cjs/{sendbird-dfd051c8.js.map → sendbird-211e4dae.js.map} +1 -1
  225. package/cjs/sendbirdSelectors.js +2 -2
  226. package/cjs/{stringSet-857a128c.js → stringSet-59d50a66.js} +1 -1
  227. package/cjs/{stringSet-857a128c.js.map → stringSet-59d50a66.js.map} +1 -1
  228. package/cjs/{topics-a755c9c6.js → topics-8094440d.js} +1 -1
  229. package/cjs/{topics-a755c9c6.js.map → topics-8094440d.js.map} +1 -1
  230. package/cjs/{tslib.es6-ba69891c.js → tslib.es6-f1d73fc3.js} +18 -1
  231. package/cjs/{tslib.es6-ba69891c.js.map → tslib.es6-f1d73fc3.js.map} +1 -1
  232. package/cjs/ui/Accordion.js +4 -4
  233. package/cjs/ui/AccordionGroup.js +2 -2
  234. package/cjs/ui/AdminMessage.js +4 -4
  235. package/cjs/ui/Avatar.js +3 -3
  236. package/cjs/ui/Badge.js +6 -6
  237. package/cjs/ui/Button.js +5 -5
  238. package/cjs/ui/ChannelAvatar.js +4 -4
  239. package/cjs/ui/ChannelPreview.js +12 -12
  240. package/cjs/ui/ChatHeader.js +8 -8
  241. package/cjs/ui/ConnectionStatus.js +5 -5
  242. package/cjs/ui/ContextMenu.js +99 -85
  243. package/cjs/ui/ContextMenu.js.map +1 -1
  244. package/cjs/ui/DateSeparator.js +5 -5
  245. package/cjs/ui/EmojiReactions.js +8 -8
  246. package/cjs/ui/FileMessageItemBody.js +6 -6
  247. package/cjs/ui/FileViewer.js +9 -9
  248. package/cjs/ui/Icon.js +1 -1
  249. package/cjs/ui/IconButton.js +1 -1
  250. package/cjs/ui/ImageRenderer.js +1 -1
  251. package/cjs/ui/Input.js +3 -3
  252. package/cjs/ui/Label.js +3 -3
  253. package/cjs/ui/LinkLabel.js +3 -3
  254. package/cjs/ui/Loader.js +2 -2
  255. package/cjs/ui/MentionLabel.js +11 -11
  256. package/cjs/ui/MessageContent.js +14 -14
  257. package/cjs/ui/MessageInput.js +10 -10
  258. package/cjs/ui/MessageInput.js.map +1 -1
  259. package/cjs/ui/MessageItemMenu.js +8 -8
  260. package/cjs/ui/MessageItemReactionMenu.js +6 -6
  261. package/cjs/ui/MessageSearchFileItem.js +10 -10
  262. package/cjs/ui/MessageSearchItem.js +10 -10
  263. package/cjs/ui/MessageStatus.js +8 -8
  264. package/cjs/ui/Modal.js +8 -8
  265. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  266. package/cjs/ui/OGMessageItemBody.js +11 -11
  267. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  268. package/cjs/ui/OpenChannelAvatar.js +7 -7
  269. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  270. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  271. package/cjs/ui/OpenchannelOGMessage.js +15 -15
  272. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  273. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  274. package/cjs/ui/PlaceHolder.js +7 -7
  275. package/cjs/ui/QuoteMessage.js +7 -7
  276. package/cjs/ui/QuoteMessageInput.js +7 -7
  277. package/cjs/ui/ReactionBadge.js +4 -4
  278. package/cjs/ui/ReactionButton.js +1 -1
  279. package/cjs/ui/SortByRow.js +2 -2
  280. package/cjs/ui/TextButton.js +2 -2
  281. package/cjs/ui/TextMessageItemBody.js +11 -11
  282. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  283. package/cjs/ui/Tooltip.js +4 -4
  284. package/cjs/ui/TooltipWrapper.js +1 -1
  285. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  286. package/cjs/ui/UserListItem.js +12 -12
  287. package/cjs/ui/UserProfile.js +10 -10
  288. package/cjs/ui/Word.js +11 -11
  289. package/cjs/useSendbirdStateContext.js +1 -1
  290. package/cjs/{utils-c39eb349.js → utils-09755f32.js} +1 -1
  291. package/cjs/{utils-c39eb349.js.map → utils-09755f32.js.map} +1 -1
  292. package/cjs/{utils-bf57a41a.js → utils-c5ed90dc.js} +1 -1
  293. package/cjs/{utils-bf57a41a.js.map → utils-c5ed90dc.js.map} +1 -1
  294. package/cjs/{utils-bfbac88e.js → utils-ef8fd6ba.js} +1 -1
  295. package/cjs/{utils-bfbac88e.js.map → utils-ef8fd6ba.js.map} +1 -1
  296. package/cjs/{uuid-49679ac2.js → uuid-abe82759.js} +1 -1
  297. package/cjs/{uuid-49679ac2.js.map → uuid-abe82759.js.map} +1 -1
  298. package/cjs/withSendbird.js +1 -1
  299. package/{color-798488ed.js → color-c5e2ab33.js} +1 -1
  300. package/{color-798488ed.js.map → color-c5e2ab33.js.map} +1 -1
  301. package/{compareIds-2e073780.js → compareIds-7233a846.js} +1 -1
  302. package/{compareIds-2e073780.js.map → compareIds-7233a846.js.map} +1 -1
  303. package/{const-b88f8299.js → const-849d720a.js} +1 -1
  304. package/{const-b88f8299.js.map → const-849d720a.js.map} +1 -1
  305. package/{const-51fc1a68.js → const-87ede7b1.js} +1 -1
  306. package/{const-51fc1a68.js.map → const-87ede7b1.js.map} +1 -1
  307. package/{context-406bf9f1.js → context-57c4ac55.js} +2 -2
  308. package/{context-406bf9f1.js.map → context-57c4ac55.js.map} +1 -1
  309. package/dist/index.css +81 -17
  310. package/dist/index.css.map +1 -1
  311. package/{groupChannel-17ffbb7f.js → groupChannel-333bdda8.js} +4 -4
  312. package/{groupChannel-17ffbb7f.js.map → groupChannel-333bdda8.js.map} +1 -1
  313. package/handlers/ConnectionHandler.js +4 -4
  314. package/handlers/GroupChannelHandler.js +5 -5
  315. package/handlers/OpenChannelHandler.js +4 -4
  316. package/handlers/SessionHandler.js +9 -0
  317. package/handlers/SessionHandler.js.map +1 -0
  318. package/handlers/UserEventHandler.js +4 -4
  319. package/{index-4e56f382.js → index-30d6338a.js} +4 -4
  320. package/{index-4e56f382.js.map → index-30d6338a.js.map} +1 -1
  321. package/{index-7f2be3d7.js → index-33e14ef9.js} +2 -2
  322. package/{index-7f2be3d7.js.map → index-33e14ef9.js.map} +1 -1
  323. package/{index-ced613ea.js → index-55ffa40a.js} +4 -4
  324. package/{index-ced613ea.js.map → index-55ffa40a.js.map} +1 -1
  325. package/{index-c9cda9f6.js → index-6bf196c4.js} +1 -1
  326. package/{index-c9cda9f6.js.map → index-6bf196c4.js.map} +1 -1
  327. package/{index-03ccaf35.js → index-7e7eecb5.js} +2 -2
  328. package/{index-03ccaf35.js.map → index-7e7eecb5.js.map} +1 -1
  329. package/{index-b4944539.js → index-9564359d.js} +2 -2
  330. package/{index-b4944539.js.map → index-9564359d.js.map} +1 -1
  331. package/{index-702d2072.js → index-c6372f71.js} +9 -9
  332. package/{index-702d2072.js.map → index-c6372f71.js.map} +1 -1
  333. package/{index-ed39099a.js → index-cc420cce.js} +3 -3
  334. package/{index-ed39099a.js.map → index-cc420cce.js.map} +1 -1
  335. package/{index-5ec69689.js → index-cd8f3035.js} +1 -1
  336. package/{index-5ec69689.js.map → index-cd8f3035.js.map} +1 -1
  337. package/{index-fa8ac00a.js → index-ce26872b.js} +6 -6
  338. package/{index-fa8ac00a.js.map → index-ce26872b.js.map} +1 -1
  339. package/{index-6a47d16f.js → index-fcc0e6dc.js} +3 -3
  340. package/{index-6a47d16f.js.map → index-fcc0e6dc.js.map} +1 -1
  341. package/index.d.ts +16 -8
  342. package/index.js +39 -39
  343. package/{openChannel-1548376e.js → openChannel-ea516c45.js} +3 -3
  344. package/{openChannel-1548376e.js.map → openChannel-ea516c45.js.map} +1 -1
  345. package/{openChannelUtils-09e4bac8.js → openChannelUtils-5cc6b7cb.js} +1 -1
  346. package/{openChannelUtils-09e4bac8.js.map → openChannelUtils-5cc6b7cb.js.map} +1 -1
  347. package/package-lock.json +2 -2
  348. package/package.json +1 -1
  349. package/{sendbird-597583ed.js → sendbird-961b20e3.js} +4 -4
  350. package/{sendbird-597583ed.js.map → sendbird-961b20e3.js.map} +1 -1
  351. package/sendbirdSelectors.js +2 -2
  352. package/{stringSet-647493ce.js → stringSet-232e2ec0.js} +1 -1
  353. package/{stringSet-647493ce.js.map → stringSet-232e2ec0.js.map} +1 -1
  354. package/{topics-18836011.js → topics-84946297.js} +1 -1
  355. package/{topics-18836011.js.map → topics-84946297.js.map} +1 -1
  356. package/{tslib.es6-710c6267.js → tslib.es6-ea4b7876.js} +18 -2
  357. package/{tslib.es6-710c6267.js.map → tslib.es6-ea4b7876.js.map} +1 -1
  358. package/ui/Accordion.js +4 -4
  359. package/ui/AccordionGroup.js +2 -2
  360. package/ui/AdminMessage.js +4 -4
  361. package/ui/Avatar.js +3 -3
  362. package/ui/Badge.js +6 -6
  363. package/ui/Button.js +5 -5
  364. package/ui/ChannelAvatar.js +4 -4
  365. package/ui/ChannelPreview.js +12 -12
  366. package/ui/ChatHeader.js +8 -8
  367. package/ui/ConnectionStatus.js +5 -5
  368. package/ui/ContextMenu.js +100 -86
  369. package/ui/ContextMenu.js.map +1 -1
  370. package/ui/DateSeparator.js +5 -5
  371. package/ui/EmojiReactions.js +8 -8
  372. package/ui/FileMessageItemBody.js +6 -6
  373. package/ui/FileViewer.js +9 -9
  374. package/ui/Icon.js +1 -1
  375. package/ui/IconButton.js +1 -1
  376. package/ui/ImageRenderer.js +1 -1
  377. package/ui/Input.js +3 -3
  378. package/ui/Label.js +3 -3
  379. package/ui/LinkLabel.js +3 -3
  380. package/ui/Loader.js +2 -2
  381. package/ui/MentionLabel.js +11 -11
  382. package/ui/MessageContent.js +14 -14
  383. package/ui/MessageInput.js +10 -10
  384. package/ui/MessageInput.js.map +1 -1
  385. package/ui/MessageItemMenu.js +8 -8
  386. package/ui/MessageItemReactionMenu.js +6 -6
  387. package/ui/MessageSearchFileItem.js +10 -10
  388. package/ui/MessageSearchItem.js +10 -10
  389. package/ui/MessageStatus.js +8 -8
  390. package/ui/Modal.js +8 -8
  391. package/ui/MutedAvatarOverlay.js +1 -1
  392. package/ui/OGMessageItemBody.js +11 -11
  393. package/ui/OpenChannelAdminMessage.js +4 -4
  394. package/ui/OpenChannelAvatar.js +7 -7
  395. package/ui/OpenchannelConversationHeader.js +7 -7
  396. package/ui/OpenchannelFileMessage.js +15 -15
  397. package/ui/OpenchannelOGMessage.js +15 -15
  398. package/ui/OpenchannelThumbnailMessage.js +14 -14
  399. package/ui/OpenchannelUserMessage.js +15 -15
  400. package/ui/PlaceHolder.js +7 -7
  401. package/ui/QuoteMessage.js +7 -7
  402. package/ui/QuoteMessageInput.js +7 -7
  403. package/ui/ReactionBadge.js +4 -4
  404. package/ui/ReactionButton.js +1 -1
  405. package/ui/SortByRow.js +2 -2
  406. package/ui/TextButton.js +2 -2
  407. package/ui/TextMessageItemBody.js +11 -11
  408. package/ui/ThumbnailMessageItemBody.js +3 -3
  409. package/ui/Tooltip.js +4 -4
  410. package/ui/TooltipWrapper.js +1 -1
  411. package/ui/UnknownMessageItemBody.js +7 -7
  412. package/ui/UserListItem.js +12 -12
  413. package/ui/UserProfile.js +10 -10
  414. package/ui/Word.js +11 -11
  415. package/useSendbirdStateContext.js +1 -1
  416. package/{utils-301322ba.js → utils-0cadb616.js} +1 -1
  417. package/{utils-301322ba.js.map → utils-0cadb616.js.map} +1 -1
  418. package/{utils-2666bdfb.js → utils-6195b8b0.js} +1 -1
  419. package/{utils-2666bdfb.js.map → utils-6195b8b0.js.map} +1 -1
  420. package/{utils-19e84a08.js → utils-b6f36534.js} +1 -1
  421. package/{utils-19e84a08.js.map → utils-b6f36534.js.map} +1 -1
  422. package/{uuid-60ae25c1.js → uuid-e8af582d.js} +1 -1
  423. package/{uuid-60ae25c1.js.map → uuid-e8af582d.js.map} +1 -1
  424. package/withSendbird.js +1 -1
  425. package/OpenChannelProvider-2e3fa2dd.js.map +0 -1
  426. package/cjs/OpenChannelProvider-bc8d7f0d.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { a as __spreadArray } from './tslib.es6-710c6267.js';
1
+ import { a as __spreadArray } from './tslib.es6-ea4b7876.js';
2
2
  import React__default, { useContext } from 'react';
3
- import { a as LocalizationContext } from './LocalizationContext-2a073ef0.js';
3
+ import { a as LocalizationContext } from './LocalizationContext-397e33d0.js';
4
4
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-ed39099a.js';
5
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-cc420cce.js';
6
6
  import Loader from './ui/Loader.js';
7
7
 
8
8
  function Types() {
@@ -107,4 +107,4 @@ function PlaceHolder(_a) {
107
107
  }
108
108
 
109
109
  export { PlaceHolder as P, PlaceHolderTypes as a, PlaceHolderTypes$1 as b };
110
- //# sourceMappingURL=index-ced613ea.js.map
110
+ //# sourceMappingURL=index-55ffa40a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-ced613ea.js","sources":["../src/ui/PlaceHolder/type.ts","../src/ui/PlaceHolder/index.tsx"],"sourcesContent":["function Types(): { [key: string]: string } {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\n","import React, { ReactElement, useContext } from 'react';\n\nimport './index.scss';\n\nimport _PlaceHolderTypes from './type';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport interface PlaceHolderProps {\n className?: string | Array<string>;\n type: typeof PlaceHolderTypes[keyof typeof PlaceHolderTypes];\n searchInString?: string;\n retryToConnect?: () => void;\n}\n\nexport default function PlaceHolder({\n className = '',\n type,\n searchInString = '',\n retryToConnect = null,\n}: PlaceHolderProps): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-place-holder',\n ].join(' ')}\n >\n {\n type === PlaceHolderTypes.LOADING && (\n <Loader\n width=\"48px\"\n height=\"48px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"48px\"\n height=\"48px\"\n />\n </Loader>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n <div className=\"sendbird-place-holder__body\">\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.CHAT}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.MESSAGE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n <Label\n className=\"sendbird-place-holder__body__text\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n stringSet.PLACE_HOLDER__NO_CHANNEL\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n stringSet.PLACE_HOLDER__WRONG\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n stringSet.PLACE_HOLDER__NO_MESSAGES\n )\n }\n </Label>\n {\n retryToConnect && (\n <div\n className=\"sendbird-place-holder__body__reconnect\"\n role=\"button\"\n onClick={retryToConnect}\n onKeyPress={retryToConnect}\n tabIndex={0}\n >\n <Icon\n className=\"sendbird-place-holder__body__reconnect__icon\"\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-place-holder__body__reconnect__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.PLACE_HOLDER__RETRY_TO_CONNECT}\n </Label>\n </div>\n )\n }\n </div>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n <div className=\"sendbird-place-holder__body--align-top\">\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n <div className=\"sendbird-place-holder__body--align-top__text\">\n <Label\n className=\"sendbird-place-holder__body--align-top__text__search-in\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCH_IN}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__channel-name\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {`'${searchInString}`}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__quote\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {'\\''}\n </Label>\n </div>\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__searching\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCHING}\n </Label>\n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__no-result\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.NO_SEARCHED_MESSAGE}\n </Label>\n )\n }\n </div>\n )\n }\n </div>\n );\n}\n"],"names":["Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","_a","_b","className","type","_c","searchInString","_d","retryToConnect","stringSet","useContext","LocalizationContext","React","__spreadArray","Array","isArray","join","IconTypes","SPINNER","IconColors","PRIMARY","CHAT","ON_BACKGROUND_3","ERROR","MESSAGE","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_2","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","REFRESH","BUTTON_1","PLACE_HOLDER__RETRY_TO_CONNECT","BUTTON_2","NO_SEARCHED_MESSAGE"],"mappings":"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"}
1
+ {"version":3,"file":"index-55ffa40a.js","sources":["../src/ui/PlaceHolder/type.ts","../src/ui/PlaceHolder/index.tsx"],"sourcesContent":["function Types(): { [key: string]: string } {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\n","import React, { ReactElement, useContext } from 'react';\n\nimport './index.scss';\n\nimport _PlaceHolderTypes from './type';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport interface PlaceHolderProps {\n className?: string | Array<string>;\n type: typeof PlaceHolderTypes[keyof typeof PlaceHolderTypes];\n searchInString?: string;\n retryToConnect?: () => void;\n}\n\nexport default function PlaceHolder({\n className = '',\n type,\n searchInString = '',\n retryToConnect = null,\n}: PlaceHolderProps): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-place-holder',\n ].join(' ')}\n >\n {\n type === PlaceHolderTypes.LOADING && (\n <Loader\n width=\"48px\"\n height=\"48px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"48px\"\n height=\"48px\"\n />\n </Loader>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n <div className=\"sendbird-place-holder__body\">\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.CHAT}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.MESSAGE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"64px\"\n height=\"64px\"\n />\n )\n }\n <Label\n className=\"sendbird-place-holder__body__text\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n stringSet.PLACE_HOLDER__NO_CHANNEL\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n stringSet.PLACE_HOLDER__WRONG\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n stringSet.PLACE_HOLDER__NO_MESSAGES\n )\n }\n </Label>\n {\n retryToConnect && (\n <div\n className=\"sendbird-place-holder__body__reconnect\"\n role=\"button\"\n onClick={retryToConnect}\n onKeyPress={retryToConnect}\n tabIndex={0}\n >\n <Icon\n className=\"sendbird-place-holder__body__reconnect__icon\"\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-place-holder__body__reconnect__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.PLACE_HOLDER__RETRY_TO_CONNECT}\n </Label>\n </div>\n )\n }\n </div>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n <div className=\"sendbird-place-holder__body--align-top\">\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n <div className=\"sendbird-place-holder__body--align-top__text\">\n <Label\n className=\"sendbird-place-holder__body--align-top__text__search-in\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCH_IN}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__channel-name\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {`'${searchInString}`}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__quote\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {'\\''}\n </Label>\n </div>\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__searching\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCHING}\n </Label>\n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__no-result\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.NO_SEARCHED_MESSAGE}\n </Label>\n )\n }\n </div>\n )\n }\n </div>\n );\n}\n"],"names":["Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","_a","_b","className","type","_c","searchInString","_d","retryToConnect","stringSet","useContext","LocalizationContext","React","__spreadArray","Array","isArray","join","IconTypes","SPINNER","IconColors","PRIMARY","CHAT","ON_BACKGROUND_3","ERROR","MESSAGE","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_2","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","REFRESH","BUTTON_1","PLACE_HOLDER__RETRY_TO_CONNECT","BUTTON_2","NO_SEARCHED_MESSAGE"],"mappings":"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"}
@@ -4,4 +4,4 @@ import 'react';
4
4
  var MODAL_ROOT = 'sendbird-modal-root';
5
5
 
6
6
  export { MODAL_ROOT as M };
7
- //# sourceMappingURL=index-c9cda9f6.js.map
7
+ //# sourceMappingURL=index-6bf196c4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-c9cda9f6.js","sources":["../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;AAAA;IAGaA,UAAU,GAAG;;;;"}
1
+ {"version":3,"file":"index-6bf196c4.js","sources":["../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;AAAA;IAGaA,UAAU,GAAG;;;;"}
@@ -1,4 +1,4 @@
1
- import { _ as __assign, a as __spreadArray } from './tslib.es6-710c6267.js';
1
+ import { _ as __assign, a as __spreadArray } from './tslib.es6-ea4b7876.js';
2
2
 
3
3
  var SUPPORTED_MIMES = {
4
4
  IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp' // not supported in IE
@@ -685,4 +685,4 @@ var arrayEqual = function arrayEqual(array1, array2) {
685
685
  };
686
686
 
687
687
  export { isSupportedFileView as A, isVideo as B, isImage as C, isSentMessage as D, isFailedMessage as E, isPendingMessage as F, copyToClipboard as G, getEmojiListAll as H, getEmojiMapAll as I, isReactedBy as J, getEmojiTooltipString as K, getUIKitFileType as L, getUIKitFileTypes as M, isGif as N, StringObjType as S, getOutgoingMessageStates as a, getSendingMessageStatus as b, isReadMessage as c, filterMessageListParams as d, isEditedMessage as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, getOutgoingMessageState as h, isTextuallyNull as i, isSentStatus as j, getClassName as k, convertWordToStringObj as l, arrayEqual as m, isFileMessage as n, isImageMessage as o, isThumbnailMessage as p, isAudioMessage as q, isGifMessage as r, isVideoMessage as s, truncateString as t, isUserMessage as u, getUIKitMessageTypes as v, getSenderName as w, isTextMessage as x, isOGMessage as y, getUIKitMessageType as z };
688
- //# sourceMappingURL=index-03ccaf35.js.map
688
+ //# sourceMappingURL=index-7e7eecb5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-03ccaf35.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
1
+ {"version":3,"file":"index-7e7eecb5.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { r as requiredArgs, t as toDate } from './index-7f2be3d7.js';
1
+ import { r as requiredArgs, t as toDate } from './index-33e14ef9.js';
2
2
 
3
3
  /**
4
4
  * @name startOfDay
@@ -61,4 +61,4 @@ function isSameDay(dirtyDateLeft, dirtyDateRight) {
61
61
  }
62
62
 
63
63
  export { isSameDay as i, startOfDay as s };
64
- //# sourceMappingURL=index-b4944539.js.map
64
+ //# sourceMappingURL=index-9564359d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-b4944539.js","sources":["../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":[],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
1
+ {"version":3,"file":"index-9564359d.js","sources":["../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":[],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
@@ -1,20 +1,20 @@
1
- import { a as __spreadArray } from './tslib.es6-710c6267.js';
1
+ import { a as __spreadArray } from './tslib.es6-ea4b7876.js';
2
2
  import React__default, { useContext, useState, useEffect, useRef, useCallback } from 'react';
3
- import { B as Button, a as ButtonTypes, b as ButtonSizes } from './index-6a47d16f.js';
3
+ import { B as Button, a as ButtonTypes, b as ButtonSizes } from './index-fcc0e6dc.js';
4
4
  import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
5
5
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
6
6
  import IconButton from './ui/IconButton.js';
7
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-ed39099a.js';
8
- import { a as LocalizationContext } from './LocalizationContext-2a073ef0.js';
9
- import { a as UserProfileContext } from './UserProfileContext-143a6a42.js';
10
- import './context-406bf9f1.js';
7
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-cc420cce.js';
8
+ import { a as LocalizationContext } from './LocalizationContext-397e33d0.js';
9
+ import { a as UserProfileContext } from './UserProfileContext-70f3b69e.js';
10
+ import './context-57c4ac55.js';
11
11
  import Avatar from './ui/Avatar.js';
12
12
  import 'react-dom';
13
13
  import ConnectedUserProfile from './ui/UserProfile.js';
14
- import './openChannel-1548376e.js';
14
+ import './openChannel-ea516c45.js';
15
15
  import Modal from './ui/Modal.js';
16
16
  import UserListItem$1 from './ui/UserListItem.js';
17
- import { n as noop } from './utils-301322ba.js';
17
+ import { n as noop } from './utils-0cadb616.js';
18
18
  import { useOpenChannelSettingsContext } from './OpenChannelSettings/context.js';
19
19
  import useSendbirdStateContext from './useSendbirdStateContext.js';
20
20
 
@@ -349,4 +349,4 @@ function ParticipantList(_a) {
349
349
  }
350
350
 
351
351
  export { ParticipantList as P, UserListItem as U };
352
- //# sourceMappingURL=index-702d2072.js.map
352
+ //# sourceMappingURL=index-c6372f71.js.map