@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/App.js +316 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +121 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +182 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +153 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +364 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +214 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +242 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +55 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +306 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +102 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +26 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +109 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +235 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +216 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +133 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +15 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +91 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-76b1ec23.js +944 -0
  45. package/ChannelListProvider-76b1ec23.js.map +1 -0
  46. package/ChannelProvider-c0ed5fae.js +2075 -0
  47. package/ChannelProvider-c0ed5fae.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +102 -0
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  52. package/ChannelSettings/components/EditDetailsModal.js +158 -0
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  54. package/ChannelSettings/components/LeaveChannel.js +53 -0
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  56. package/ChannelSettings/components/ModerationPanel.js +851 -0
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +106 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteUsers.js +180 -0
  69. package/CreateChannel/components/InviteUsers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +9 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-8c72aa06.js +53 -0
  77. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-fb3dafcd.js +22 -0
  85. package/LocalizationContext-fb3dafcd.js.map +1 -0
  86. package/MemberList-01d3c8bf.js +404 -0
  87. package/MemberList-01d3c8bf.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +387 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +80 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +58 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +287 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +158 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +111 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +16 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +82 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-0fb27972.js +1946 -0
  111. package/OpenChannelProvider-0fb27972.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +199 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +145 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +0 -1
  127. package/SendbirdProvider.js +782 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-6a387a08.js +38 -0
  130. package/UserProfileContext-6a387a08.js.map +1 -0
  131. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  132. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  133. package/_rollupPluginBabelHelpers-084fb589.js +233 -0
  134. package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
  135. package/actionTypes-302a2801.js +6 -0
  136. package/actionTypes-302a2801.js.map +1 -0
  137. package/cjs/App.js +323 -0
  138. package/cjs/App.js.map +1 -0
  139. package/cjs/Channel/components/ChannelHeader.js +127 -0
  140. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  141. package/cjs/Channel/components/ChannelUI.js +188 -0
  142. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  143. package/cjs/Channel/components/FileViewer.js +162 -0
  144. package/cjs/Channel/components/FileViewer.js.map +1 -0
  145. package/cjs/Channel/components/FrozenNotification.js +26 -0
  146. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  147. package/cjs/Channel/components/Message.js +370 -0
  148. package/cjs/Channel/components/Message.js.map +1 -0
  149. package/cjs/Channel/components/MessageInput.js +220 -0
  150. package/cjs/Channel/components/MessageInput.js.map +1 -0
  151. package/cjs/Channel/components/MessageList.js +248 -0
  152. package/cjs/Channel/components/MessageList.js.map +1 -0
  153. package/cjs/Channel/components/RemoveMessageModal.js +61 -0
  154. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  155. package/cjs/Channel/components/SuggestedMentionList.js +312 -0
  156. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  157. package/cjs/Channel/components/TypingIndicator.js +111 -0
  158. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  159. package/cjs/Channel/components/UnreadCount.js +47 -0
  160. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  161. package/cjs/Channel/context.js +35 -0
  162. package/cjs/Channel/context.js.map +1 -0
  163. package/cjs/Channel.js +115 -0
  164. package/cjs/Channel.js.map +1 -0
  165. package/cjs/ChannelList/components/AddChannel.js +79 -0
  166. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  168. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelListUI.js +241 -0
  170. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreview.js +222 -0
  172. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  173. package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  175. package/cjs/ChannelList/context.js +24 -0
  176. package/cjs/ChannelList/context.js.map +1 -0
  177. package/cjs/ChannelList.js +97 -0
  178. package/cjs/ChannelList.js.map +1 -0
  179. package/cjs/ChannelListProvider-7d1c0466.js +956 -0
  180. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  181. package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
  182. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
  192. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserListItem.js +112 -0
  194. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  195. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  196. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  197. package/cjs/ChannelSettings/context.js +102 -0
  198. package/cjs/ChannelSettings/context.js.map +1 -0
  199. package/cjs/ChannelSettings.js +77 -0
  200. package/cjs/ChannelSettings.js.map +1 -0
  201. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  202. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  203. package/cjs/CreateChannel/components/InviteUsers.js +186 -0
  204. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  205. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  206. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  207. package/cjs/CreateChannel/context.js +18 -0
  208. package/cjs/CreateChannel/context.js.map +1 -0
  209. package/cjs/CreateChannel.js +59 -0
  210. package/cjs/CreateChannel.js.map +1 -0
  211. package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
  212. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  213. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  215. package/cjs/EditUserProfile/context.js +36 -0
  216. package/cjs/EditUserProfile/context.js.map +1 -0
  217. package/cjs/EditUserProfile.js +45 -0
  218. package/cjs/EditUserProfile.js.map +1 -0
  219. package/cjs/LocalizationContext-5a6a0f67.js +30 -0
  220. package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
  221. package/cjs/MemberList-bfecdd64.js +410 -0
  222. package/cjs/MemberList-bfecdd64.js.map +1 -0
  223. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  224. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  225. package/cjs/MessageSearch/context.js +396 -0
  226. package/cjs/MessageSearch/context.js.map +1 -0
  227. package/cjs/MessageSearch.js +152 -0
  228. package/cjs/MessageSearch.js.map +1 -0
  229. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
  234. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  239. package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
  240. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  241. package/cjs/OpenChannel/context.js +25 -0
  242. package/cjs/OpenChannel/context.js.map +1 -0
  243. package/cjs/OpenChannel.js +88 -0
  244. package/cjs/OpenChannel.js.map +1 -0
  245. package/cjs/OpenChannelProvider-e8247193.js +1955 -0
  246. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  257. package/cjs/OpenChannelSettings/context.js +73 -0
  258. package/cjs/OpenChannelSettings/context.js.map +1 -0
  259. package/cjs/OpenChannelSettings.js +70 -0
  260. package/cjs/OpenChannelSettings.js.map +1 -0
  261. package/cjs/SendbirdProvider.js +790 -0
  262. package/cjs/SendbirdProvider.js.map +1 -0
  263. package/cjs/UserProfileContext-17c8f75c.js +46 -0
  264. package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
  265. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  266. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  267. package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
  268. package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
  269. package/cjs/actionTypes-7a330bec.js +10 -0
  270. package/cjs/actionTypes-7a330bec.js.map +1 -0
  271. package/cjs/color-b30f84a2.js +42 -0
  272. package/cjs/color-b30f84a2.js.map +1 -0
  273. package/cjs/compareIds-d8053014.js +20 -0
  274. package/cjs/compareIds-d8053014.js.map +1 -0
  275. package/cjs/const-2623fae1.js +22 -0
  276. package/cjs/const-2623fae1.js.map +1 -0
  277. package/cjs/const-6aa26f9f.js +14 -0
  278. package/cjs/const-6aa26f9f.js.map +1 -0
  279. package/cjs/context-83ecdafd.js +19 -0
  280. package/cjs/context-83ecdafd.js.map +1 -0
  281. package/cjs/dist/index.css +4603 -0
  282. package/cjs/dist/index.css.map +1 -0
  283. package/cjs/groupChannel-e311e26a.js +9 -0
  284. package/cjs/groupChannel-e311e26a.js.map +1 -0
  285. package/cjs/index-1e14c5b9.js +130 -0
  286. package/cjs/index-1e14c5b9.js.map +1 -0
  287. package/cjs/index-2537cbc7.js +284 -0
  288. package/cjs/index-2537cbc7.js.map +1 -0
  289. package/cjs/index-40d245a3.js +729 -0
  290. package/cjs/index-40d245a3.js.map +1 -0
  291. package/cjs/index-5e7b82c2.js +178 -0
  292. package/cjs/index-5e7b82c2.js.map +1 -0
  293. package/cjs/index-72479c2a.js +514 -0
  294. package/cjs/index-72479c2a.js.map +1 -0
  295. package/cjs/index-ab5d906d.js +67 -0
  296. package/cjs/index-ab5d906d.js.map +1 -0
  297. package/cjs/index-cdcd27bc.js +1880 -0
  298. package/cjs/index-cdcd27bc.js.map +1 -0
  299. package/cjs/index-ce679d41.js +9 -0
  300. package/cjs/index-ce679d41.js.map +1 -0
  301. package/cjs/index-df05e765.js +142 -0
  302. package/cjs/index-df05e765.js.map +1 -0
  303. package/cjs/index-f9677913.js +97 -0
  304. package/cjs/index-f9677913.js.map +1 -0
  305. package/cjs/index.js +165 -0
  306. package/cjs/index.js.map +1 -0
  307. package/cjs/openChannel-e9f65946.js +13 -0
  308. package/cjs/openChannel-e9f65946.js.map +1 -0
  309. package/cjs/openChannelUtils-4b7d2697.js +97 -0
  310. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  311. package/cjs/sendbirdSelectors.js +696 -0
  312. package/cjs/sendbirdSelectors.js.map +1 -0
  313. package/cjs/stringSet-2f3588b5.js +118 -0
  314. package/cjs/stringSet-2f3588b5.js.map +1 -0
  315. package/cjs/topics-582e38dc.js +18 -0
  316. package/cjs/topics-582e38dc.js.map +1 -0
  317. package/cjs/tslib.es6-d9c7aa8b.js +40 -0
  318. package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
  319. package/cjs/ui/Accordion.js +74 -0
  320. package/cjs/ui/Accordion.js.map +1 -0
  321. package/cjs/ui/AccordionGroup.js +32 -0
  322. package/cjs/ui/AccordionGroup.js.map +1 -0
  323. package/cjs/ui/AdminMessage.js +45 -0
  324. package/cjs/ui/AdminMessage.js.map +1 -0
  325. package/cjs/ui/Avatar.js +226 -0
  326. package/cjs/ui/Avatar.js.map +1 -0
  327. package/cjs/ui/Badge.js +45 -0
  328. package/cjs/ui/Badge.js.map +1 -0
  329. package/cjs/ui/Button.js +17 -0
  330. package/cjs/ui/Button.js.map +1 -0
  331. package/cjs/ui/ChannelAvatar.js +59 -0
  332. package/cjs/ui/ChannelAvatar.js.map +1 -0
  333. package/cjs/ui/ChannelPreview.js +208 -0
  334. package/cjs/ui/ChannelPreview.js.map +1 -0
  335. package/cjs/ui/ChatHeader.js +152 -0
  336. package/cjs/ui/ChatHeader.js.map +1 -0
  337. package/cjs/ui/Checkbox.js +49 -0
  338. package/cjs/ui/Checkbox.js.map +1 -0
  339. package/cjs/ui/ConnectionStatus.js +34 -0
  340. package/cjs/ui/ConnectionStatus.js.map +1 -0
  341. package/cjs/ui/ContextMenu.js +410 -0
  342. package/cjs/ui/ContextMenu.js.map +1 -0
  343. package/cjs/ui/DateSeparator.js +44 -0
  344. package/cjs/ui/DateSeparator.js.map +1 -0
  345. package/cjs/ui/Dropdown.js +107 -0
  346. package/cjs/ui/Dropdown.js.map +1 -0
  347. package/cjs/ui/EmojiReactions.js +127 -0
  348. package/cjs/ui/EmojiReactions.js.map +1 -0
  349. package/cjs/ui/FileMessageItemBody.js +57 -0
  350. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  351. package/cjs/ui/FileViewer.js +174 -0
  352. package/cjs/ui/FileViewer.js.map +1 -0
  353. package/cjs/ui/Icon.js +1466 -0
  354. package/cjs/ui/Icon.js.map +1 -0
  355. package/cjs/ui/IconButton.js +83 -0
  356. package/cjs/ui/IconButton.js.map +1 -0
  357. package/cjs/ui/ImageRenderer.js +138 -0
  358. package/cjs/ui/ImageRenderer.js.map +1 -0
  359. package/cjs/ui/Input.js +74 -0
  360. package/cjs/ui/Input.js.map +1 -0
  361. package/cjs/ui/Label.js +17 -0
  362. package/cjs/ui/Label.js.map +1 -0
  363. package/cjs/ui/LinkLabel.js +51 -0
  364. package/cjs/ui/LinkLabel.js.map +1 -0
  365. package/cjs/ui/Loader.js +44 -0
  366. package/cjs/ui/Loader.js.map +1 -0
  367. package/cjs/ui/MentionLabel.js +100 -0
  368. package/cjs/ui/MentionLabel.js.map +1 -0
  369. package/cjs/ui/MentionUserLabel.js +25 -0
  370. package/cjs/ui/MentionUserLabel.js.map +1 -0
  371. package/cjs/ui/MessageContent.js +297 -0
  372. package/cjs/ui/MessageContent.js.map +1 -0
  373. package/cjs/ui/MessageInput.js +5052 -0
  374. package/cjs/ui/MessageInput.js.map +1 -0
  375. package/cjs/ui/MessageItemMenu.js +137 -0
  376. package/cjs/ui/MessageItemMenu.js.map +1 -0
  377. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  378. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  379. package/cjs/ui/MessageSearchFileItem.js +131 -0
  380. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  381. package/cjs/ui/MessageSearchItem.js +93 -0
  382. package/cjs/ui/MessageSearchItem.js.map +1 -0
  383. package/cjs/ui/MessageStatus.js +66 -0
  384. package/cjs/ui/MessageStatus.js.map +1 -0
  385. package/cjs/ui/Modal.js +140 -0
  386. package/cjs/ui/Modal.js.map +1 -0
  387. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  388. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  389. package/cjs/ui/OGMessageItemBody.js +119 -0
  390. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  391. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  392. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  393. package/cjs/ui/OpenChannelAvatar.js +41 -0
  394. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  395. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  396. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  397. package/cjs/ui/OpenchannelFileMessage.js +231 -0
  398. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  399. package/cjs/ui/OpenchannelOGMessage.js +346 -0
  400. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  401. package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
  402. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  403. package/cjs/ui/OpenchannelUserMessage.js +265 -0
  404. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  405. package/cjs/ui/PlaceHolder.js +20 -0
  406. package/cjs/ui/PlaceHolder.js.map +1 -0
  407. package/cjs/ui/QuoteMessage.js +131 -0
  408. package/cjs/ui/QuoteMessage.js.map +1 -0
  409. package/cjs/ui/QuoteMessageInput.js +97 -0
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  411. package/cjs/ui/ReactionBadge.js +68 -0
  412. package/cjs/ui/ReactionBadge.js.map +1 -0
  413. package/cjs/ui/ReactionButton.js +55 -0
  414. package/cjs/ui/ReactionButton.js.map +1 -0
  415. package/cjs/ui/SortByRow.js +57 -0
  416. package/cjs/ui/SortByRow.js.map +1 -0
  417. package/cjs/ui/TextButton.js +45 -0
  418. package/cjs/ui/TextButton.js.map +1 -0
  419. package/cjs/ui/TextMessageItemBody.js +76 -0
  420. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  421. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  422. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  423. package/cjs/ui/Tooltip.js +35 -0
  424. package/cjs/ui/Tooltip.js.map +1 -0
  425. package/cjs/ui/TooltipWrapper.js +65 -0
  426. package/cjs/ui/TooltipWrapper.js.map +1 -0
  427. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  428. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  429. package/cjs/ui/UserListItem.js +159 -0
  430. package/cjs/ui/UserListItem.js.map +1 -0
  431. package/cjs/ui/UserProfile.js +88 -0
  432. package/cjs/ui/UserProfile.js.map +1 -0
  433. package/cjs/ui/Word.js +76 -0
  434. package/cjs/ui/Word.js.map +1 -0
  435. package/cjs/useSendbirdStateContext.js +22 -0
  436. package/cjs/useSendbirdStateContext.js.map +1 -0
  437. package/cjs/utils-031aba48.js +6 -0
  438. package/cjs/utils-031aba48.js.map +1 -0
  439. package/cjs/utils-510b93ac.js +38 -0
  440. package/cjs/utils-510b93ac.js.map +1 -0
  441. package/cjs/utils-689065e6.js +32 -0
  442. package/cjs/utils-689065e6.js.map +1 -0
  443. package/cjs/uuid-099485ae.js +19 -0
  444. package/cjs/uuid-099485ae.js.map +1 -0
  445. package/cjs/withSendBird.js +35 -0
  446. package/cjs/withSendBird.js.map +1 -0
  447. package/color-9bf8c922.js +39 -0
  448. package/color-9bf8c922.js.map +1 -0
  449. package/compareIds-b78d7cd6.js +18 -0
  450. package/compareIds-b78d7cd6.js.map +1 -0
  451. package/const-40b58d8b.js +18 -0
  452. package/const-40b58d8b.js.map +1 -0
  453. package/const-99800b8d.js +8 -0
  454. package/const-99800b8d.js.map +1 -0
  455. package/context-bedea43b.js +12 -0
  456. package/context-bedea43b.js.map +1 -0
  457. package/dist/index.css +292 -152
  458. package/dist/index.css.map +1 -1
  459. package/groupChannel-96502de7.js +6 -0
  460. package/groupChannel-96502de7.js.map +1 -0
  461. package/index-13729368.js +512 -0
  462. package/index-13729368.js.map +1 -0
  463. package/index-16bed610.js +64 -0
  464. package/index-16bed610.js.map +1 -0
  465. package/index-1d112ad4.js +7 -0
  466. package/index-1d112ad4.js.map +1 -0
  467. package/index-71ad343b.js +171 -0
  468. package/index-71ad343b.js.map +1 -0
  469. package/index-71e2bf26.js +131 -0
  470. package/index-71e2bf26.js.map +1 -0
  471. package/index-8e6a607b.js +688 -0
  472. package/index-8e6a607b.js.map +1 -0
  473. package/index-a5e8849a.js +280 -0
  474. package/index-a5e8849a.js.map +1 -0
  475. package/index-b574cc8e.js +87 -0
  476. package/index-b574cc8e.js.map +1 -0
  477. package/index-c95d2aab.js +121 -0
  478. package/index-c95d2aab.js.map +1 -0
  479. package/index-ccd99cfe.js +1873 -0
  480. package/index-ccd99cfe.js.map +1 -0
  481. package/index.d.ts +1965 -0
  482. package/index.d.ts_bkup +1883 -0
  483. package/index.js +146 -0
  484. package/index.js.map +1 -0
  485. package/openChannel-dd5c9246.js +8 -0
  486. package/openChannel-dd5c9246.js.map +1 -0
  487. package/openChannelUtils-211a679a.js +86 -0
  488. package/openChannelUtils-211a679a.js.map +1 -0
  489. package/package.json +11 -33
  490. package/sendbirdSelectors.js +671 -0
  491. package/sendbirdSelectors.js.map +1 -0
  492. package/stringSet-d3a8a2a0.js +116 -0
  493. package/stringSet-d3a8a2a0.js.map +1 -0
  494. package/topics-f941ba80.js +10 -0
  495. package/topics-f941ba80.js.map +1 -0
  496. package/tslib.es6-a7db0cc5.js +38 -0
  497. package/tslib.es6-a7db0cc5.js.map +1 -0
  498. package/ui/Accordion.js +65 -0
  499. package/ui/Accordion.js.map +1 -0
  500. package/ui/AccordionGroup.js +26 -0
  501. package/ui/AccordionGroup.js.map +1 -0
  502. package/ui/AdminMessage.js +38 -0
  503. package/ui/AdminMessage.js.map +1 -0
  504. package/ui/Avatar.js +217 -0
  505. package/ui/Avatar.js.map +1 -0
  506. package/ui/Badge.js +38 -0
  507. package/ui/Badge.js.map +1 -0
  508. package/ui/Button.js +7 -0
  509. package/ui/Button.js.map +1 -0
  510. package/ui/ChannelAvatar.js +53 -0
  511. package/ui/ChannelAvatar.js.map +1 -0
  512. package/ui/ChannelPreview.js +201 -0
  513. package/ui/ChannelPreview.js.map +1 -0
  514. package/ui/ChatHeader.js +145 -0
  515. package/ui/ChatHeader.js.map +1 -0
  516. package/ui/Checkbox.js +42 -0
  517. package/ui/Checkbox.js.map +1 -0
  518. package/ui/ConnectionStatus.js +28 -0
  519. package/ui/ConnectionStatus.js.map +1 -0
  520. package/ui/ContextMenu.js +396 -0
  521. package/ui/ContextMenu.js.map +1 -0
  522. package/ui/DateSeparator.js +37 -0
  523. package/ui/DateSeparator.js.map +1 -0
  524. package/ui/Dropdown.js +97 -0
  525. package/ui/Dropdown.js.map +1 -0
  526. package/ui/EmojiReactions.js +121 -0
  527. package/ui/EmojiReactions.js.map +1 -0
  528. package/ui/FileMessageItemBody.js +51 -0
  529. package/ui/FileMessageItemBody.js.map +1 -0
  530. package/ui/FileViewer.js +164 -0
  531. package/ui/FileViewer.js.map +1 -0
  532. package/ui/Icon.js +1436 -0
  533. package/ui/Icon.js.map +1 -0
  534. package/ui/IconButton.js +76 -0
  535. package/ui/IconButton.js.map +1 -0
  536. package/ui/ImageRenderer.js +131 -0
  537. package/ui/ImageRenderer.js.map +1 -0
  538. package/ui/Input.js +64 -0
  539. package/ui/Input.js.map +1 -0
  540. package/ui/Label.js +6 -0
  541. package/ui/Label.js.map +1 -0
  542. package/ui/LinkLabel.js +40 -0
  543. package/ui/LinkLabel.js.map +1 -0
  544. package/ui/Loader.js +37 -0
  545. package/ui/Loader.js.map +1 -0
  546. package/ui/MentionLabel.js +94 -0
  547. package/ui/MentionLabel.js.map +1 -0
  548. package/ui/MentionUserLabel.js +19 -0
  549. package/ui/MentionUserLabel.js.map +1 -0
  550. package/ui/MessageContent.js +291 -0
  551. package/ui/MessageContent.js.map +1 -0
  552. package/ui/MessageInput.js +5044 -0
  553. package/ui/MessageInput.js.map +1 -0
  554. package/ui/MessageItemMenu.js +131 -0
  555. package/ui/MessageItemMenu.js.map +1 -0
  556. package/ui/MessageItemReactionMenu.js +106 -0
  557. package/ui/MessageItemReactionMenu.js.map +1 -0
  558. package/ui/MessageSearchFileItem.js +125 -0
  559. package/ui/MessageSearchFileItem.js.map +1 -0
  560. package/ui/MessageSearchItem.js +87 -0
  561. package/ui/MessageSearchItem.js.map +1 -0
  562. package/ui/MessageStatus.js +57 -0
  563. package/ui/MessageStatus.js.map +1 -0
  564. package/ui/Modal.js +128 -0
  565. package/ui/Modal.js.map +1 -0
  566. package/ui/MutedAvatarOverlay.js +34 -0
  567. package/ui/MutedAvatarOverlay.js.map +1 -0
  568. package/ui/OGMessageItemBody.js +113 -0
  569. package/ui/OGMessageItemBody.js.map +1 -0
  570. package/ui/OpenChannelAdminMessage.js +21 -0
  571. package/ui/OpenChannelAdminMessage.js.map +1 -0
  572. package/ui/OpenChannelAvatar.js +35 -0
  573. package/ui/OpenChannelAvatar.js.map +1 -0
  574. package/ui/OpenchannelConversationHeader.js +67 -0
  575. package/ui/OpenchannelConversationHeader.js.map +1 -0
  576. package/ui/OpenchannelFileMessage.js +225 -0
  577. package/ui/OpenchannelFileMessage.js.map +1 -0
  578. package/ui/OpenchannelOGMessage.js +340 -0
  579. package/ui/OpenchannelOGMessage.js.map +1 -0
  580. package/ui/OpenchannelThumbnailMessage.js +300 -0
  581. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  582. package/ui/OpenchannelUserMessage.js +259 -0
  583. package/ui/OpenchannelUserMessage.js.map +1 -0
  584. package/ui/PlaceHolder.js +11 -0
  585. package/ui/PlaceHolder.js.map +1 -0
  586. package/ui/QuoteMessage.js +125 -0
  587. package/ui/QuoteMessage.js.map +1 -0
  588. package/ui/QuoteMessageInput.js +91 -0
  589. package/ui/QuoteMessageInput.js.map +1 -0
  590. package/ui/ReactionBadge.js +61 -0
  591. package/ui/ReactionBadge.js.map +1 -0
  592. package/ui/ReactionButton.js +48 -0
  593. package/ui/ReactionButton.js.map +1 -0
  594. package/ui/SortByRow.js +50 -0
  595. package/ui/SortByRow.js.map +1 -0
  596. package/ui/TextButton.js +38 -0
  597. package/ui/TextButton.js.map +1 -0
  598. package/ui/TextMessageItemBody.js +70 -0
  599. package/ui/TextMessageItemBody.js.map +1 -0
  600. package/ui/ThumbnailMessageItemBody.js +76 -0
  601. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  602. package/ui/Tooltip.js +28 -0
  603. package/ui/Tooltip.js.map +1 -0
  604. package/ui/TooltipWrapper.js +58 -0
  605. package/ui/TooltipWrapper.js.map +1 -0
  606. package/ui/UnknownMessageItemBody.js +35 -0
  607. package/ui/UnknownMessageItemBody.js.map +1 -0
  608. package/ui/UserListItem.js +152 -0
  609. package/ui/UserListItem.js.map +1 -0
  610. package/ui/UserProfile.js +82 -0
  611. package/ui/UserProfile.js.map +1 -0
  612. package/ui/Word.js +70 -0
  613. package/ui/Word.js.map +1 -0
  614. package/useSendbirdStateContext.js +20 -0
  615. package/useSendbirdStateContext.js.map +1 -0
  616. package/utils-2e3623c0.js +30 -0
  617. package/utils-2e3623c0.js.map +1 -0
  618. package/utils-cadde06a.js +4 -0
  619. package/utils-cadde06a.js.map +1 -0
  620. package/utils-d9325ddf.js +34 -0
  621. package/utils-d9325ddf.js.map +1 -0
  622. package/uuid-748dae7a.js +17 -0
  623. package/uuid-748dae7a.js.map +1 -0
  624. package/withSendBird.js +26 -0
  625. package/withSendBird.js.map +1 -0
@@ -0,0 +1,145 @@
1
+ import React__default, { useContext } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../index-71e2bf26.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-fb3dafcd.js';
5
+ import Icon, { IconTypes, IconColors } from './Icon.js';
6
+ import IconButton from './IconButton.js';
7
+ import ChannelAvatar from './ChannelAvatar.js';
8
+ import '../_rollupPluginBabelHelpers-084fb589.js';
9
+ import '../stringSet-d3a8a2a0.js';
10
+ import '../index-13729368.js';
11
+ import './Avatar.js';
12
+ import '../tslib.es6-a7db0cc5.js';
13
+ import './ImageRenderer.js';
14
+ import '../uuid-748dae7a.js';
15
+ import '../utils-d9325ddf.js';
16
+
17
+ var getChannelTitle = function getChannelTitle() {
18
+ var _channel$members;
19
+
20
+ var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
+ var currentUserId = arguments.length > 1 ? arguments[1] : undefined;
22
+ var stringSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LabelStringSet;
23
+
24
+ if (!(channel !== null && channel !== void 0 && channel.name) && !(channel !== null && channel !== void 0 && channel.members)) {
25
+ return stringSet.NO_TITLE;
26
+ }
27
+
28
+ if (channel !== null && channel !== void 0 && channel.name && channel.name !== 'Group Channel') {
29
+ return channel.name;
30
+ }
31
+
32
+ if ((channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) === 1) {
33
+ return stringSet.NO_MEMBERS;
34
+ }
35
+
36
+ return ((channel === null || channel === void 0 ? void 0 : channel.members) || []).filter(function (_ref) {
37
+ var userId = _ref.userId;
38
+ return userId !== currentUserId;
39
+ }).map(function (_ref2) {
40
+ var nickname = _ref2.nickname;
41
+ return nickname || stringSet.NO_NAME;
42
+ }).join(', ');
43
+ };
44
+
45
+ // delete
46
+
47
+ var noop = function noop() {};
48
+
49
+ function ChatHeader(props) {
50
+ var currentGroupChannel = props.currentGroupChannel,
51
+ currentUser = props.currentUser,
52
+ title = props.title,
53
+ subTitle = props.subTitle,
54
+ isMuted = props.isMuted,
55
+ theme = props.theme,
56
+ showSearchIcon = props.showSearchIcon,
57
+ onSearchClick = props.onSearchClick,
58
+ onActionClick = props.onActionClick;
59
+ var userId = currentUser.userId;
60
+
61
+ var _useContext = useContext(LocalizationContext),
62
+ stringSet = _useContext.stringSet;
63
+
64
+ return /*#__PURE__*/React__default.createElement("div", {
65
+ className: "sendbird-chat-header"
66
+ }, /*#__PURE__*/React__default.createElement("div", {
67
+ className: "sendbird-chat-header__left"
68
+ }, /*#__PURE__*/React__default.createElement(ChannelAvatar, {
69
+ theme: theme,
70
+ channel: currentGroupChannel,
71
+ userId: userId,
72
+ height: 32,
73
+ width: 32
74
+ }), /*#__PURE__*/React__default.createElement(Label, {
75
+ className: "sendbird-chat-header__left__title",
76
+ type: LabelTypography.H_2,
77
+ color: LabelColors.ONBACKGROUND_1
78
+ }, title || getChannelTitle(currentGroupChannel, userId, stringSet)), /*#__PURE__*/React__default.createElement(Label, {
79
+ className: "sendbird-chat-header__left__subtitle",
80
+ type: LabelTypography.BODY_1,
81
+ color: LabelColors.ONBACKGROUND_2
82
+ }, subTitle)), /*#__PURE__*/React__default.createElement("div", {
83
+ className: "sendbird-chat-header__right"
84
+ }, (typeof isMuted === 'string' && isMuted === 'true' || typeof isMuted === 'boolean' && isMuted) && /*#__PURE__*/React__default.createElement(Icon, {
85
+ className: "sendbird-chat-header__right__mute",
86
+ type: IconTypes.NOTIFICATIONS_OFF_FILLED,
87
+ width: "24px",
88
+ height: "24px"
89
+ }), showSearchIcon && /*#__PURE__*/React__default.createElement(IconButton, {
90
+ className: "sendbird-chat-header__right__search",
91
+ width: "32px",
92
+ height: "32px",
93
+ onClick: onSearchClick
94
+ }, /*#__PURE__*/React__default.createElement(Icon, {
95
+ type: IconTypes.SEARCH,
96
+ fillColor: IconColors.PRIMARY,
97
+ width: "24px",
98
+ height: "24px"
99
+ })), /*#__PURE__*/React__default.createElement(IconButton, {
100
+ className: "sendbird-chat-header__right__info",
101
+ width: "32px",
102
+ height: "32px",
103
+ onClick: onActionClick
104
+ }, /*#__PURE__*/React__default.createElement(Icon, {
105
+ type: IconTypes.INFO,
106
+ fillColor: IconColors.PRIMARY,
107
+ width: "24px",
108
+ height: "24px"
109
+ }))));
110
+ }
111
+ ChatHeader.propTypes = {
112
+ /** Type: GroupChannel */
113
+ currentGroupChannel: PropTypes.shape({
114
+ members: PropTypes.arrayOf(PropTypes.shape({})),
115
+ coverUrl: PropTypes.string
116
+ }),
117
+
118
+ /** Type: User */
119
+ currentUser: PropTypes.shape({
120
+ userId: PropTypes.string
121
+ }),
122
+ title: PropTypes.string,
123
+ subTitle: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
124
+ isMuted: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
125
+ theme: PropTypes.string,
126
+ showSearchIcon: PropTypes.bool,
127
+ onSearchClick: PropTypes.func,
128
+
129
+ /** For clicking the info button */
130
+ onActionClick: PropTypes.func
131
+ };
132
+ ChatHeader.defaultProps = {
133
+ currentGroupChannel: {},
134
+ currentUser: {},
135
+ title: '',
136
+ subTitle: '',
137
+ isMuted: false,
138
+ theme: 'light',
139
+ showSearchIcon: false,
140
+ onSearchClick: noop,
141
+ onActionClick: noop
142
+ };
143
+
144
+ export { ChatHeader as default };
145
+ //# sourceMappingURL=ChatHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatHeader.js","sources":["../../src/ui/ChatHeader/utils.js","../../src/ui/ChatHeader/index.jsx"],"sourcesContent":["import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","// delete\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nconst noop = () => { };\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isMuted,\n theme,\n showSearchIcon,\n onSearchClick,\n onActionClick,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nChatHeader.propTypes = {\n /** Type: GroupChannel */\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n /** Type: User */\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n theme: PropTypes.string,\n showSearchIcon: PropTypes.bool,\n onSearchClick: PropTypes.func,\n /** For clicking the info button */\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n currentUser: {},\n title: '',\n subTitle: '',\n isMuted: false,\n theme: 'light',\n showSearchIcon: false,\n onSearchClick: noop,\n onActionClick: noop,\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","noop","ChatHeader","props","currentGroupChannel","currentUser","title","subTitle","isMuted","theme","showSearchIcon","onSearchClick","onActionClick","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","IconTypes","NOTIFICATIONS_OFF_FILLED","SEARCH","IconColors","PRIMARY","INFO","propTypes","PropTypes","shape","arrayOf","coverUrl","string","oneOfType","bool","func","defaultProps"],"mappings":"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"}
package/ui/Checkbox.js ADDED
@@ -0,0 +1,42 @@
1
+ import { a as _slicedToArray } from '../_rollupPluginBabelHelpers-084fb589.js';
2
+ import React__default, { useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+
5
+ function Checkbox(_ref) {
6
+ var id = _ref.id,
7
+ checked = _ref.checked,
8
+ onChange = _ref.onChange;
9
+
10
+ var _useState = useState(checked),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ isChecked = _useState2[0],
13
+ setCheck = _useState2[1];
14
+
15
+ return /*#__PURE__*/React__default.createElement("label", {
16
+ className: "sendbird-checkbox",
17
+ htmlFor: id
18
+ }, /*#__PURE__*/React__default.createElement("input", {
19
+ id: id,
20
+ type: "checkbox",
21
+ checked: isChecked,
22
+ onClick: function onClick() {
23
+ return setCheck(!isChecked);
24
+ },
25
+ onChange: onChange
26
+ }), /*#__PURE__*/React__default.createElement("span", {
27
+ className: "sendbird-checkbox--checkmark"
28
+ }));
29
+ }
30
+ Checkbox.propTypes = {
31
+ id: PropTypes.string,
32
+ checked: PropTypes.bool,
33
+ onChange: PropTypes.func
34
+ };
35
+ Checkbox.defaultProps = {
36
+ id: 'sendbird-checkbox-input',
37
+ checked: false,
38
+ onChange: function onChange() {}
39
+ };
40
+
41
+ export { Checkbox as default };
42
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../src/ui/Checkbox/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nexport default function Checkbox({\n id,\n checked,\n onChange,\n}) {\n const [isChecked, setCheck] = useState(checked);\n return (\n <label className=\"sendbird-checkbox\" htmlFor={id}>\n <input\n id={id}\n type=\"checkbox\"\n checked={isChecked}\n onClick={() => setCheck(!isChecked)}\n onChange={onChange}\n />\n <span className=\"sendbird-checkbox--checkmark\" />\n </label>\n );\n}\n\nCheckbox.propTypes = {\n id: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nCheckbox.defaultProps = {\n id: 'sendbird-checkbox-input',\n checked: false,\n onChange: () => { },\n};\n"],"names":["Checkbox","id","checked","onChange","useState","isChecked","setCheck","React","propTypes","PropTypes","string","bool","func","defaultProps"],"mappings":";;;;AAKe,SAASA,QAAT,OAIZ;AAAA,MAHDC,EAGC,QAHDA,EAGC;AAAA,MAFDC,OAEC,QAFDA,OAEC;AAAA,MADDC,QACC,QADDA,QACC;;AACD,kBAA8BC,QAAQ,CAACF,OAAD,CAAtC;AAAA;AAAA,MAAOG,SAAP;AAAA,MAAkBC,QAAlB;;AACA,sBACEC;AAAO,IAAA,SAAS,EAAC,mBAAjB;AAAqC,IAAA,OAAO,EAAEN;AAA9C,kBACEM;AACE,IAAA,EAAE,EAAEN,EADN;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,OAAO,EAAEI,SAHX;AAIE,IAAA,OAAO,EAAE;AAAA,aAAMC,QAAQ,CAAC,CAACD,SAAF,CAAd;AAAA,KAJX;AAKE,IAAA,QAAQ,EAAEF;AALZ,IADF,eAQEI;AAAM,IAAA,SAAS,EAAC;AAAhB,IARF,CADF;AAYD;AAEDP,QAAQ,CAACQ,SAAT,GAAqB;AACnBP,EAAAA,EAAE,EAAEQ,SAAS,CAACC,MADK;AAEnBR,EAAAA,OAAO,EAAEO,SAAS,CAACE,IAFA;AAGnBR,EAAAA,QAAQ,EAAEM,SAAS,CAACG;AAHD,CAArB;AAMAZ,QAAQ,CAACa,YAAT,GAAwB;AACtBZ,EAAAA,EAAE,EAAE,yBADkB;AAEtBC,EAAAA,OAAO,EAAE,KAFa;AAGtBC,EAAAA,QAAQ,EAAE,oBAAM;AAHM,CAAxB;;;;"}
@@ -0,0 +1,28 @@
1
+ import React__default, { useContext } from 'react';
2
+ import Icon, { IconTypes, IconColors } from './Icon.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-71e2bf26.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-fb3dafcd.js';
5
+ import '../_rollupPluginBabelHelpers-084fb589.js';
6
+ import 'prop-types';
7
+ import '../stringSet-d3a8a2a0.js';
8
+ import '../index-13729368.js';
9
+
10
+ function ConnectionStatus() {
11
+ var _useContext = useContext(LocalizationContext),
12
+ stringSet = _useContext.stringSet;
13
+
14
+ return /*#__PURE__*/React__default.createElement("div", {
15
+ className: "sendbird-connection-status"
16
+ }, /*#__PURE__*/React__default.createElement(Label, {
17
+ type: LabelTypography.BODY_2,
18
+ color: LabelColors.ONBACKGROUND_2
19
+ }, stringSet.TRYING_TO_CONNECT), /*#__PURE__*/React__default.createElement(Icon, {
20
+ type: IconTypes.DISCONNECTED,
21
+ fillColor: IconColors.SENT,
22
+ width: "14px",
23
+ height: "14px"
24
+ }));
25
+ }
26
+
27
+ export { ConnectionStatus as default };
28
+ //# sourceMappingURL=ConnectionStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionStatus.js","sources":["../../src/ui/ConnectionStatus/index.jsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport './index.scss';\n\nfunction ConnectionStatus() {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-connection-status\">\n <Label\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.TRYING_TO_CONNECT}\n </Label>\n <Icon\n type={IconTypes.DISCONNECTED}\n fillColor={IconColors.SENT}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n );\n}\n\nexport default ConnectionStatus;\n"],"names":["ConnectionStatus","useContext","LocalizationContext","stringSet","React","LabelTypography","BODY_2","LabelColors","ONBACKGROUND_2","TRYING_TO_CONNECT","IconTypes","DISCONNECTED","IconColors","SENT"],"mappings":";;;;;;;;;AAQA,SAASA,gBAAT,GAA4B;AAC1B,oBAAsBC,UAAU,CAACC,mBAAD,CAAhC;AAAA,MAAQC,SAAR,eAAQA,SAAR;;AACA,sBACEC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,KAAD;AACE,IAAA,IAAI,EAAEC,eAAe,CAACC,MADxB;AAEE,IAAA,KAAK,EAAEC,WAAW,CAACC;AAFrB,KAIGL,SAAS,CAACM,iBAJb,CADF,eAOEL,6BAAC,IAAD;AACE,IAAA,IAAI,EAAEM,SAAS,CAACC,YADlB;AAEE,IAAA,SAAS,EAAEC,UAAU,CAACC,IAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC;AAJT,IAPF,CADF;AAgBD;;;;"}
@@ -0,0 +1,396 @@
1
+ import { c as _inherits, d as _createSuper, e as _createClass, f as _classCallCheck, g as _defineProperty, h as _assertThisInitialized, _ as _objectSpread2, a as _slicedToArray } from '../_rollupPluginBabelHelpers-084fb589.js';
2
+ import React__default, { Component, useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-71e2bf26.js';
5
+ import { k as getClassName } from '../index-8e6a607b.js';
6
+ import { createPortal } from 'react-dom';
7
+ import SortByRow from './SortByRow.js';
8
+ import '../stringSet-d3a8a2a0.js';
9
+ import '../tslib.es6-a7db0cc5.js';
10
+
11
+ var MenuItems$1 = /*#__PURE__*/function (_Component) {
12
+ _inherits(MenuItems, _Component);
13
+
14
+ var _super = _createSuper(MenuItems);
15
+
16
+ function MenuItems(props) {
17
+ var _this;
18
+
19
+ _classCallCheck(this, MenuItems);
20
+
21
+ _this = _super.call(this, props);
22
+
23
+ _defineProperty(_assertThisInitialized(_this), "setupEvents", function () {
24
+ var closeDropdown = _this.props.closeDropdown;
25
+
26
+ var _assertThisInitialize = _assertThisInitialized(_this),
27
+ menuRef = _assertThisInitialize.menuRef;
28
+
29
+ var handleClickOutside = function handleClickOutside(event) {
30
+ if (menuRef.current && !menuRef.current.contains(event.target)) {
31
+ closeDropdown();
32
+ }
33
+ };
34
+
35
+ _this.setState({
36
+ handleClickOutside: handleClickOutside
37
+ });
38
+
39
+ document.addEventListener('mousedown', handleClickOutside);
40
+ });
41
+
42
+ _defineProperty(_assertThisInitialized(_this), "cleanUpEvents", function () {
43
+ var handleClickOutside = _this.state.handleClickOutside;
44
+ document.removeEventListener('mousedown', handleClickOutside);
45
+ });
46
+
47
+ _defineProperty(_assertThisInitialized(_this), "getMenuPosition", function () {
48
+ var _this$props = _this.props,
49
+ parentRef = _this$props.parentRef,
50
+ openLeft = _this$props.openLeft;
51
+ var parentRect = parentRef.current.getBoundingClientRect();
52
+ var x = parentRect.x || parentRect.left;
53
+ var y = parentRect.y || parentRect.top;
54
+ var menuStyle = {
55
+ top: y,
56
+ left: x
57
+ };
58
+ if (!_this.menuRef.current) return menuStyle;
59
+ var _window = window,
60
+ innerWidth = _window.innerWidth,
61
+ innerHeight = _window.innerHeight;
62
+
63
+ var rect = _this.menuRef.current.getBoundingClientRect();
64
+
65
+ if (y + rect.height > innerHeight) {
66
+ menuStyle.top -= rect.height;
67
+ }
68
+
69
+ if (x + rect.width > innerWidth && !openLeft) {
70
+ menuStyle.left -= rect.width;
71
+ }
72
+
73
+ if (menuStyle.top < 0) {
74
+ menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;
75
+ }
76
+
77
+ if (menuStyle.left < 0) {
78
+ menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;
79
+ }
80
+
81
+ menuStyle.top += 32;
82
+
83
+ if (openLeft) {
84
+ var padding = Number.isNaN(rect.width - 30) ? 108 // default
85
+ : rect.width - 30;
86
+ menuStyle.left -= padding;
87
+ }
88
+
89
+ return _this.setState({
90
+ menuStyle: menuStyle
91
+ });
92
+ });
93
+
94
+ _this.menuRef = /*#__PURE__*/React__default.createRef();
95
+ _this.state = {
96
+ menuStyle: {},
97
+ handleClickOutside: function handleClickOutside() {}
98
+ };
99
+ return _this;
100
+ }
101
+
102
+ _createClass(MenuItems, [{
103
+ key: "componentDidMount",
104
+ value: function componentDidMount() {
105
+ this.setupEvents();
106
+ this.getMenuPosition();
107
+ }
108
+ }, {
109
+ key: "componentWillUnmount",
110
+ value: function componentWillUnmount() {
111
+ this.cleanUpEvents();
112
+ }
113
+ }, {
114
+ key: "render",
115
+ value: function render() {
116
+ var menuStyle = this.state.menuStyle;
117
+ var _this$props2 = this.props,
118
+ children = _this$props2.children,
119
+ style = _this$props2.style;
120
+ return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
121
+ className: "sendbird-dropdown__menu-backdrop"
122
+ }), /*#__PURE__*/React__default.createElement("ul", {
123
+ className: "sendbird-dropdown__menu",
124
+ ref: this.menuRef,
125
+ style: _objectSpread2({
126
+ display: 'inline-block',
127
+ position: 'fixed',
128
+ left: "".concat(Math.round(menuStyle.left), "px"),
129
+ top: "".concat(Math.round(menuStyle.top), "px")
130
+ }, style)
131
+ }, children)), document.getElementById('sendbird-dropdown-portal'));
132
+ }
133
+ }]);
134
+
135
+ return MenuItems;
136
+ }(Component);
137
+ MenuItems$1.propTypes = {
138
+ closeDropdown: PropTypes.func.isRequired,
139
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired,
140
+ style: PropTypes.shape({}),
141
+ // https://stackoverflow.com/a/51127130
142
+ parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
143
+ current: PropTypes.instanceOf(Element)
144
+ })]).isRequired,
145
+ // parentContainRef: PropTypes.oneOfType([
146
+ // PropTypes.func,
147
+ // PropTypes.shape({ current: PropTypes.instanceOf(Element) }),
148
+ // ]).isRequired,
149
+ openLeft: PropTypes.bool
150
+ };
151
+ MenuItems$1.defaultProps = {
152
+ style: {},
153
+ openLeft: false
154
+ };
155
+
156
+ var EmojiListItems$1 = /*#__PURE__*/function (_Component) {
157
+ _inherits(EmojiListItems, _Component);
158
+
159
+ var _super = _createSuper(EmojiListItems);
160
+
161
+ function EmojiListItems(props) {
162
+ var _this;
163
+
164
+ _classCallCheck(this, EmojiListItems);
165
+
166
+ _this = _super.call(this, props);
167
+
168
+ _defineProperty(_assertThisInitialized(_this), "showParent", function () {
169
+ var _this$props$parentCon = _this.props.parentContainRef,
170
+ parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon;
171
+ var current = parentContainRef.current;
172
+
173
+ if (parentContainRef && current) {
174
+ current.classList.add('sendbird-reactions--pressed');
175
+ }
176
+ });
177
+
178
+ _defineProperty(_assertThisInitialized(_this), "hideParent", function () {
179
+ var _this$props$parentCon2 = _this.props.parentContainRef,
180
+ parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2;
181
+ var current = parentContainRef.current;
182
+
183
+ if (parentContainRef && current) {
184
+ current.classList.remove('sendbird-reactions--pressed');
185
+ }
186
+ });
187
+
188
+ _defineProperty(_assertThisInitialized(_this), "setupEvents", function () {
189
+ var closeDropdown = _this.props.closeDropdown;
190
+
191
+ var _assertThisInitialize = _assertThisInitialized(_this),
192
+ reactionRef = _assertThisInitialize.reactionRef;
193
+
194
+ var handleClickOutside = function handleClickOutside(event) {
195
+ if (reactionRef.current && !reactionRef.current.contains(event.target)) {
196
+ closeDropdown();
197
+ }
198
+ };
199
+
200
+ _this.setState({
201
+ handleClickOutside: handleClickOutside
202
+ });
203
+
204
+ document.addEventListener('mousedown', handleClickOutside);
205
+ });
206
+
207
+ _defineProperty(_assertThisInitialized(_this), "cleanUpEvents", function () {
208
+ var handleClickOutside = _this.state.handleClickOutside;
209
+ document.removeEventListener('mousedown', handleClickOutside);
210
+ });
211
+
212
+ _defineProperty(_assertThisInitialized(_this), "getBarPosition", function () {
213
+ // calculate the location that the context menu should be
214
+ var _this$props = _this.props,
215
+ parentRef = _this$props.parentRef,
216
+ spaceFromTrigger = _this$props.spaceFromTrigger;
217
+ var spaceFromTriggerX = spaceFromTrigger.x || 0;
218
+ var spaceFromTriggerY = spaceFromTrigger.y || 0;
219
+ var parentRect = parentRef.current.getBoundingClientRect();
220
+ var x = parentRect.x || parentRect.left;
221
+ var y = parentRect.y || parentRect.top;
222
+ var reactionStyle = {
223
+ top: y,
224
+ left: x
225
+ };
226
+ if (!_this.reactionRef.current) return reactionStyle;
227
+
228
+ var rect = _this.reactionRef.current.getBoundingClientRect();
229
+
230
+ if (reactionStyle.top < rect.height) {
231
+ reactionStyle.top += parentRect.height;
232
+ reactionStyle.top += spaceFromTriggerY;
233
+ } else {
234
+ reactionStyle.top -= rect.height;
235
+ reactionStyle.top -= spaceFromTriggerY;
236
+ }
237
+
238
+ reactionStyle.left -= rect.width / 2;
239
+ reactionStyle.left += parentRect.height / 2 - 2;
240
+ reactionStyle.left += spaceFromTriggerX;
241
+ var maximumLeft = window.innerWidth - rect.width;
242
+
243
+ if (maximumLeft < reactionStyle.left) {
244
+ reactionStyle.left = maximumLeft;
245
+ }
246
+
247
+ if (reactionStyle.left < 0) {
248
+ reactionStyle.left = 0;
249
+ }
250
+
251
+ return _this.setState({
252
+ reactionStyle: reactionStyle
253
+ });
254
+ });
255
+
256
+ _this.reactionRef = /*#__PURE__*/React__default.createRef();
257
+ _this.state = {
258
+ reactionStyle: {},
259
+ handleClickOutside: function handleClickOutside() {}
260
+ };
261
+ return _this;
262
+ }
263
+
264
+ _createClass(EmojiListItems, [{
265
+ key: "componentDidMount",
266
+ value: function componentDidMount() {
267
+ this.setupEvents();
268
+ this.getBarPosition();
269
+ this.showParent();
270
+ }
271
+ }, {
272
+ key: "componentWillUnmount",
273
+ value: function componentWillUnmount() {
274
+ this.cleanUpEvents();
275
+ this.hideParent();
276
+ }
277
+ }, {
278
+ key: "render",
279
+ value: function render() {
280
+ var reactionStyle = this.state.reactionStyle;
281
+ var children = this.props.children;
282
+ return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
283
+ className: "sendbird-dropdown__menu-backdrop"
284
+ }), /*#__PURE__*/React__default.createElement("ul", {
285
+ className: "sendbird-dropdown__reaction-bar",
286
+ ref: this.reactionRef,
287
+ style: {
288
+ display: 'inline-block',
289
+ position: 'fixed',
290
+ left: "".concat(Math.round(reactionStyle.left), "px"),
291
+ top: "".concat(Math.round(reactionStyle.top), "px")
292
+ }
293
+ }, /*#__PURE__*/React__default.createElement(SortByRow, {
294
+ className: "sendbird-dropdown__reaction-bar__row",
295
+ maxItemCount: 8,
296
+ itemWidth: 44,
297
+ itemHeight: 40
298
+ }, children))), document.getElementById('sendbird-emoji-list-portal'));
299
+ }
300
+ }]);
301
+
302
+ return EmojiListItems;
303
+ }(Component);
304
+ EmojiListItems$1.propTypes = {
305
+ closeDropdown: PropTypes.func.isRequired,
306
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired,
307
+ parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
308
+ current: PropTypes.instanceOf(Element)
309
+ })]).isRequired,
310
+ parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
311
+ current: PropTypes.instanceOf(Element)
312
+ })]).isRequired,
313
+ spaceFromTrigger: PropTypes.shape({
314
+ x: PropTypes.number,
315
+ y: PropTypes.number
316
+ })
317
+ };
318
+ EmojiListItems$1.defaultProps = {
319
+ spaceFromTrigger: {}
320
+ };
321
+
322
+ var ENTER = 13;
323
+ var MenuItems = MenuItems$1;
324
+ var EmojiListItems = EmojiListItems$1;
325
+ var MenuItem = function MenuItem(_ref) {
326
+ var className = _ref.className,
327
+ children = _ref.children,
328
+ onClick = _ref.onClick,
329
+ disable = _ref.disable;
330
+
331
+ var handleClickEvent = function handleClickEvent(e) {
332
+ if (!disable) onClick(e);
333
+ };
334
+
335
+ return /*#__PURE__*/React__default.createElement("li", {
336
+ className: getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : '']),
337
+ role: "menuitem",
338
+ onClick: handleClickEvent,
339
+ onKeyPress: function onKeyPress(e) {
340
+ if (e.keyCode === ENTER) handleClickEvent(e);
341
+ },
342
+ tabIndex: 0
343
+ }, /*#__PURE__*/React__default.createElement(Label, {
344
+ className: "sendbird-dropdown__menu-item__text",
345
+ type: LabelTypography.SUBTITLE_2,
346
+ color: disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1
347
+ }, children));
348
+ };
349
+ MenuItem.propTypes = {
350
+ className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
351
+ children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
352
+ onClick: PropTypes.func.isRequired,
353
+ disable: PropTypes.bool
354
+ };
355
+ MenuItem.defaultProps = {
356
+ className: '',
357
+ disable: false
358
+ }; // Root components should be appended before ContextMenu is rendered
359
+
360
+ var MenuRoot = function MenuRoot() {
361
+ return /*#__PURE__*/React__default.createElement("div", {
362
+ id: "sendbird-dropdown-portal"
363
+ });
364
+ };
365
+ var EmojiReactionListRoot = function EmojiReactionListRoot() {
366
+ return /*#__PURE__*/React__default.createElement("div", {
367
+ id: "sendbird-emoji-list-portal"
368
+ });
369
+ };
370
+ function ContextMenu(_ref2) {
371
+ var menuTrigger = _ref2.menuTrigger,
372
+ menuItems = _ref2.menuItems;
373
+
374
+ var _useState = useState(false),
375
+ _useState2 = _slicedToArray(_useState, 2),
376
+ showMenu = _useState2[0],
377
+ setShowMenu = _useState2[1];
378
+
379
+ return /*#__PURE__*/React__default.createElement("div", {
380
+ className: "sendbird-context-menu",
381
+ style: {
382
+ display: 'inline'
383
+ }
384
+ }, menuTrigger(function () {
385
+ return setShowMenu(!showMenu);
386
+ }), showMenu && menuItems(function () {
387
+ return setShowMenu(false);
388
+ }));
389
+ }
390
+ ContextMenu.propTypes = {
391
+ menuTrigger: PropTypes.func.isRequired,
392
+ menuItems: PropTypes.func.isRequired
393
+ };
394
+
395
+ export { EmojiListItems, EmojiReactionListRoot, MenuItem, MenuItems, MenuRoot, ContextMenu as default };
396
+ //# sourceMappingURL=ContextMenu.js.map