@sendbird/uikit-react 3.4.2 → 3.4.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 (509) hide show
  1. package/.size-snapshot.json +8841 -0
  2. package/App.js +40 -40
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +33 -34
  5. package/Channel/components/ChannelUI.js.map +1 -1
  6. package/Channel/components/FileViewer.js +15 -15
  7. package/Channel/components/FrozenNotification.js +4 -4
  8. package/Channel/components/Message.js +28 -29
  9. package/Channel/components/Message.js.map +1 -1
  10. package/Channel/components/MessageInput.js +24 -25
  11. package/Channel/components/MessageInput.js.map +1 -1
  12. package/Channel/components/MessageList.js +29 -30
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +17 -17
  15. package/Channel/components/SuggestedMentionList.js +17 -17
  16. package/Channel/components/TypingIndicator.js +15 -15
  17. package/Channel/components/UnreadCount.js +4 -4
  18. package/Channel/context.js +14 -14
  19. package/Channel.js +33 -34
  20. package/Channel.js.map +1 -1
  21. package/ChannelList/components/AddChannel.js +15 -15
  22. package/ChannelList/components/ChannelListHeader.js +7 -7
  23. package/ChannelList/components/ChannelListUI.js +30 -29
  24. package/ChannelList/components/ChannelListUI.js.map +1 -1
  25. package/ChannelList/components/ChannelPreview.js +26 -25
  26. package/ChannelList/components/ChannelPreview.js.map +1 -1
  27. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  28. package/ChannelList/context.js +8 -8
  29. package/ChannelList.js +30 -29
  30. package/ChannelList.js.map +1 -1
  31. package/{ChannelListProvider-e6254f07.js → ChannelListProvider-9ffe6c08.js} +8 -8
  32. package/{ChannelListProvider-e6254f07.js.map → ChannelListProvider-9ffe6c08.js.map} +1 -1
  33. package/{ChannelProvider-c1c00018.js → ChannelProvider-e2c86cba.js} +10 -10
  34. package/{ChannelProvider-c1c00018.js.map → ChannelProvider-e2c86cba.js.map} +1 -1
  35. package/ChannelSettings/components/ChannelProfile.js +12 -12
  36. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  37. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  38. package/ChannelSettings/components/LeaveChannel.js +12 -12
  39. package/ChannelSettings/components/ModerationPanel.js +15 -15
  40. package/ChannelSettings/components/UserListItem.js +11 -11
  41. package/ChannelSettings/components/UserPanel.js +14 -14
  42. package/ChannelSettings/context.js +3 -3
  43. package/ChannelSettings.js +18 -18
  44. package/CreateChannel/components/CreateChannelUI.js +14 -14
  45. package/CreateChannel/components/InviteUsers.js +14 -14
  46. package/CreateChannel/components/SelectChannelType.js +11 -11
  47. package/CreateChannel/context.js +4 -4
  48. package/CreateChannel.js +14 -14
  49. package/{CreateChannelProvider-9f4f5302.js → CreateChannelProvider-0881b9df.js} +1 -1
  50. package/{CreateChannelProvider-9f4f5302.js.map → CreateChannelProvider-0881b9df.js.map} +1 -1
  51. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  52. package/CreateOpenChannel/context.js +1 -1
  53. package/CreateOpenChannel.js +10 -10
  54. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  55. package/EditUserProfile.js +13 -13
  56. package/{LocalizationContext-8725e9b2.js → LocalizationContext-187f787e.js} +3 -3
  57. package/{LocalizationContext-8725e9b2.js.map → LocalizationContext-187f787e.js.map} +1 -1
  58. package/{MediaQueryContext-ceb727c7.js → MediaQueryContext-add671c4.js} +1 -1
  59. package/{MediaQueryContext-ceb727c7.js.map → MediaQueryContext-add671c4.js.map} +1 -1
  60. package/{MemberList-7676a6a8.js → MemberList-5bee1695.js} +5 -5
  61. package/{MemberList-7676a6a8.js.map → MemberList-5bee1695.js.map} +1 -1
  62. package/MessageSearch/components/MessageSearchUI.js +12 -12
  63. package/MessageSearch/context.js +2 -2
  64. package/MessageSearch.js +12 -12
  65. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  66. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  67. package/OpenChannel/components/OpenChannelInput.js +17 -18
  68. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  69. package/OpenChannel/components/OpenChannelMessage.js +23 -24
  70. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  71. package/OpenChannel/components/OpenChannelMessageList.js +25 -26
  72. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  73. package/OpenChannel/components/OpenChannelUI.js +26 -27
  74. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  75. package/OpenChannel/context.js +9 -9
  76. package/OpenChannel.js +26 -27
  77. package/OpenChannel.js.map +1 -1
  78. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  79. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  80. package/OpenChannelList/context.js +4 -4
  81. package/OpenChannelList.js +13 -13
  82. package/{OpenChannelListProvider-706744c4.js → OpenChannelListProvider-a15ce046.js} +3 -3
  83. package/{OpenChannelListProvider-706744c4.js.map → OpenChannelListProvider-a15ce046.js.map} +1 -1
  84. package/{OpenChannelProvider-a731aa78.js → OpenChannelProvider-ea703f1a.js} +7 -7
  85. package/{OpenChannelProvider-a731aa78.js.map → OpenChannelProvider-ea703f1a.js.map} +1 -1
  86. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  87. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  88. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  89. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  90. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  91. package/OpenChannelSettings/context.js +3 -3
  92. package/OpenChannelSettings.js +18 -18
  93. package/{RemoveMessageModal-9b81dfb2.js → RemoveMessageModal-5a70495b.js} +3 -3
  94. package/{RemoveMessageModal-9b81dfb2.js.map → RemoveMessageModal-5a70495b.js.map} +1 -1
  95. package/SendbirdProvider.js +12 -12
  96. package/SendbirdProvider.js.map +1 -1
  97. package/Thread/components/ParentMessageInfo.js +25 -26
  98. package/Thread/components/ParentMessageInfo.js.map +1 -1
  99. package/Thread/components/ParentMessageInfoItem.js +16 -16
  100. package/Thread/components/ThreadHeader.js +6 -6
  101. package/Thread/components/ThreadList.js +28 -29
  102. package/Thread/components/ThreadList.js.map +1 -1
  103. package/Thread/components/ThreadListItem.js +28 -29
  104. package/Thread/components/ThreadListItem.js.map +1 -1
  105. package/Thread/components/ThreadMessageInput.js +26 -27
  106. package/Thread/components/ThreadMessageInput.js.map +1 -1
  107. package/Thread/components/ThreadUI.js +32 -33
  108. package/Thread/components/ThreadUI.js.map +1 -1
  109. package/Thread/context.js +9 -9
  110. package/Thread.js +32 -33
  111. package/Thread.js.map +1 -1
  112. package/{ThreadProvider-e64f95cc.js → ThreadProvider-8d535c1b.js} +7 -7
  113. package/{ThreadProvider-e64f95cc.js.map → ThreadProvider-8d535c1b.js.map} +1 -1
  114. package/{UserProfileContext-cc71f901.js → UserProfileContext-d2264917.js} +1 -1
  115. package/{UserProfileContext-cc71f901.js.map → UserProfileContext-d2264917.js.map} +1 -1
  116. package/{VoiceMessageInputWrapper-94005482.js → VoiceMessageInputWrapper-2434abc5.js} +7 -7
  117. package/{VoiceMessageInputWrapper-94005482.js.map → VoiceMessageInputWrapper-2434abc5.js.map} +1 -1
  118. package/VoicePlayer/context.js +3 -3
  119. package/VoicePlayer/useVoicePlayer.js +3 -3
  120. package/VoiceRecorder/context.js +1 -1
  121. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  122. package/{_rollupPluginBabelHelpers-945410b2.js → _rollupPluginBabelHelpers-dfc61977.js} +1 -1
  123. package/_rollupPluginBabelHelpers-dfc61977.js.map +1 -0
  124. package/{actionTypes-aa211f48.js → actionTypes-99206028.js} +1 -1
  125. package/{actionTypes-aa211f48.js.map → actionTypes-99206028.js.map} +1 -1
  126. package/cjs/App.js +40 -40
  127. package/cjs/Channel/components/ChannelHeader.js +19 -19
  128. package/cjs/Channel/components/ChannelUI.js +33 -34
  129. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  130. package/cjs/Channel/components/FileViewer.js +15 -15
  131. package/cjs/Channel/components/FrozenNotification.js +4 -4
  132. package/cjs/Channel/components/Message.js +28 -29
  133. package/cjs/Channel/components/Message.js.map +1 -1
  134. package/cjs/Channel/components/MessageInput.js +24 -25
  135. package/cjs/Channel/components/MessageInput.js.map +1 -1
  136. package/cjs/Channel/components/MessageList.js +29 -30
  137. package/cjs/Channel/components/MessageList.js.map +1 -1
  138. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  139. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  140. package/cjs/Channel/components/TypingIndicator.js +15 -15
  141. package/cjs/Channel/components/UnreadCount.js +4 -4
  142. package/cjs/Channel/context.js +14 -14
  143. package/cjs/Channel.js +33 -34
  144. package/cjs/Channel.js.map +1 -1
  145. package/cjs/ChannelList/components/AddChannel.js +15 -15
  146. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  147. package/cjs/ChannelList/components/ChannelListUI.js +30 -29
  148. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  149. package/cjs/ChannelList/components/ChannelPreview.js +26 -25
  150. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  151. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  152. package/cjs/ChannelList/context.js +8 -8
  153. package/cjs/ChannelList.js +30 -29
  154. package/cjs/ChannelList.js.map +1 -1
  155. package/cjs/{ChannelListProvider-8cd92208.js → ChannelListProvider-30c51b60.js} +8 -8
  156. package/cjs/{ChannelListProvider-8cd92208.js.map → ChannelListProvider-30c51b60.js.map} +1 -1
  157. package/cjs/{ChannelProvider-b1290e55.js → ChannelProvider-fcbde734.js} +10 -10
  158. package/cjs/{ChannelProvider-b1290e55.js.map → ChannelProvider-fcbde734.js.map} +1 -1
  159. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  160. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  161. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  162. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  163. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  164. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  165. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  166. package/cjs/ChannelSettings/context.js +3 -3
  167. package/cjs/ChannelSettings.js +18 -18
  168. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  169. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  170. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  171. package/cjs/CreateChannel/context.js +4 -4
  172. package/cjs/CreateChannel.js +14 -14
  173. package/cjs/{CreateChannelProvider-08c38b8e.js → CreateChannelProvider-9f9ec6e6.js} +1 -1
  174. package/cjs/{CreateChannelProvider-08c38b8e.js.map → CreateChannelProvider-9f9ec6e6.js.map} +1 -1
  175. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  176. package/cjs/CreateOpenChannel/context.js +1 -1
  177. package/cjs/CreateOpenChannel.js +10 -10
  178. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  179. package/cjs/EditUserProfile.js +13 -13
  180. package/cjs/{LocalizationContext-1f669b3c.js → LocalizationContext-2f07a939.js} +3 -3
  181. package/cjs/{LocalizationContext-1f669b3c.js.map → LocalizationContext-2f07a939.js.map} +1 -1
  182. package/cjs/{MediaQueryContext-130143d7.js → MediaQueryContext-729d402a.js} +1 -1
  183. package/cjs/{MediaQueryContext-130143d7.js.map → MediaQueryContext-729d402a.js.map} +1 -1
  184. package/cjs/{MemberList-8df95ca1.js → MemberList-515d3bfb.js} +5 -5
  185. package/cjs/{MemberList-8df95ca1.js.map → MemberList-515d3bfb.js.map} +1 -1
  186. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  187. package/cjs/MessageSearch/context.js +2 -2
  188. package/cjs/MessageSearch.js +12 -12
  189. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  190. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  191. package/cjs/OpenChannel/components/OpenChannelInput.js +17 -18
  192. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  193. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -24
  194. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  195. package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -26
  196. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  197. package/cjs/OpenChannel/components/OpenChannelUI.js +26 -27
  198. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  199. package/cjs/OpenChannel/context.js +9 -9
  200. package/cjs/OpenChannel.js +26 -27
  201. package/cjs/OpenChannel.js.map +1 -1
  202. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  203. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  204. package/cjs/OpenChannelList/context.js +4 -4
  205. package/cjs/OpenChannelList.js +13 -13
  206. package/cjs/{OpenChannelListProvider-e536a2bf.js → OpenChannelListProvider-5e77c819.js} +3 -3
  207. package/cjs/{OpenChannelListProvider-e536a2bf.js.map → OpenChannelListProvider-5e77c819.js.map} +1 -1
  208. package/cjs/{OpenChannelProvider-1e578c60.js → OpenChannelProvider-e8821f43.js} +7 -7
  209. package/cjs/{OpenChannelProvider-1e578c60.js.map → OpenChannelProvider-e8821f43.js.map} +1 -1
  210. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  211. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  212. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  213. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  214. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  215. package/cjs/OpenChannelSettings/context.js +3 -3
  216. package/cjs/OpenChannelSettings.js +18 -18
  217. package/cjs/{RemoveMessageModal-b0c539a1.js → RemoveMessageModal-0710a908.js} +3 -3
  218. package/cjs/{RemoveMessageModal-b0c539a1.js.map → RemoveMessageModal-0710a908.js.map} +1 -1
  219. package/cjs/SendbirdProvider.js +12 -12
  220. package/cjs/SendbirdProvider.js.map +1 -1
  221. package/cjs/Thread/components/ParentMessageInfo.js +25 -26
  222. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  223. package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
  224. package/cjs/Thread/components/ThreadHeader.js +6 -6
  225. package/cjs/Thread/components/ThreadList.js +28 -29
  226. package/cjs/Thread/components/ThreadList.js.map +1 -1
  227. package/cjs/Thread/components/ThreadListItem.js +28 -29
  228. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  229. package/cjs/Thread/components/ThreadMessageInput.js +26 -27
  230. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  231. package/cjs/Thread/components/ThreadUI.js +32 -33
  232. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  233. package/cjs/Thread/context.js +9 -9
  234. package/cjs/Thread.js +32 -33
  235. package/cjs/Thread.js.map +1 -1
  236. package/cjs/{ThreadProvider-5eafb9ef.js → ThreadProvider-e7537e17.js} +7 -7
  237. package/cjs/{ThreadProvider-5eafb9ef.js.map → ThreadProvider-e7537e17.js.map} +1 -1
  238. package/cjs/{UserProfileContext-cde95db8.js → UserProfileContext-5fbd0305.js} +1 -1
  239. package/cjs/{UserProfileContext-cde95db8.js.map → UserProfileContext-5fbd0305.js.map} +1 -1
  240. package/cjs/{VoiceMessageInputWrapper-5bb0ed00.js → VoiceMessageInputWrapper-8744ba42.js} +7 -7
  241. package/cjs/{VoiceMessageInputWrapper-5bb0ed00.js.map → VoiceMessageInputWrapper-8744ba42.js.map} +1 -1
  242. package/cjs/VoicePlayer/context.js +3 -3
  243. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  244. package/cjs/VoiceRecorder/context.js +1 -1
  245. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  246. package/cjs/{_rollupPluginBabelHelpers-32557b21.js → _rollupPluginBabelHelpers-325fff35.js} +1 -1
  247. package/cjs/_rollupPluginBabelHelpers-325fff35.js.map +1 -0
  248. package/cjs/{actionTypes-32a1c06c.js → actionTypes-9e73ad35.js} +1 -1
  249. package/cjs/{actionTypes-32a1c06c.js.map → actionTypes-9e73ad35.js.map} +1 -1
  250. package/cjs/{color-97cfc61b.js → color-6ed16caa.js} +1 -1
  251. package/cjs/{color-97cfc61b.js.map → color-6ed16caa.js.map} +1 -1
  252. package/cjs/{compareIds-32f97a73.js → compareIds-61f98cac.js} +1 -1
  253. package/cjs/{compareIds-32f97a73.js.map → compareIds-61f98cac.js.map} +1 -1
  254. package/cjs/{const-fe838b59.js → const-20a4c9f8.js} +1 -1
  255. package/cjs/{const-fe838b59.js.map → const-20a4c9f8.js.map} +1 -1
  256. package/cjs/{const-77194948.js → const-94a43f2e.js} +1 -1
  257. package/cjs/{const-77194948.js.map → const-94a43f2e.js.map} +1 -1
  258. package/cjs/{consts-f82aaae9.js → consts-1f4e725d.js} +1 -1
  259. package/cjs/{consts-f82aaae9.js.map → consts-1f4e725d.js.map} +1 -1
  260. package/cjs/consts-dae31183.js +6 -0
  261. package/cjs/consts-dae31183.js.map +1 -0
  262. package/cjs/{context-01e9eccc.js → context-53458dac.js} +2 -2
  263. package/cjs/{context-01e9eccc.js.map → context-53458dac.js.map} +1 -1
  264. package/cjs/dist/index.css +119 -119
  265. package/cjs/dist/index.css.map +1 -1
  266. package/cjs/{index-33ef71d3.js → index-1bbb70bd.js} +7 -7
  267. package/cjs/{index-33ef71d3.js.map → index-1bbb70bd.js.map} +1 -1
  268. package/cjs/{index-577c9a9b.js → index-2129e959.js} +1 -1
  269. package/cjs/{index-577c9a9b.js.map → index-2129e959.js.map} +1 -1
  270. package/cjs/{index-b911f8b3.js → index-27659174.js} +7 -7
  271. package/cjs/{index-b911f8b3.js.map → index-27659174.js.map} +1 -1
  272. package/cjs/{index-26ff28a8.js → index-306e7c9a.js} +3 -3
  273. package/cjs/{index-26ff28a8.js.map → index-306e7c9a.js.map} +1 -1
  274. package/cjs/{index-f5502150.js → index-3a44ff71.js} +1 -1
  275. package/cjs/{index-f5502150.js.map → index-3a44ff71.js.map} +1 -1
  276. package/cjs/{index-1b11bb85.js → index-3b8eefa2.js} +2 -2
  277. package/cjs/{index-1b11bb85.js.map → index-3b8eefa2.js.map} +1 -1
  278. package/cjs/{index-90c0f273.js → index-59b0ddb6.js} +2 -2
  279. package/cjs/{index-90c0f273.js.map → index-59b0ddb6.js.map} +1 -1
  280. package/cjs/{index-cf139ee0.js → index-98939d51.js} +4 -4
  281. package/cjs/{index-cf139ee0.js.map → index-98939d51.js.map} +1 -1
  282. package/cjs/{index-b32fce67.js → index-9cb4a8a1.js} +2 -2
  283. package/cjs/{index-b32fce67.js.map → index-9cb4a8a1.js.map} +1 -1
  284. package/cjs/{index-2c7774d0.js → index-ba209fe7.js} +4 -4
  285. package/cjs/{index-2c7774d0.js.map → index-ba209fe7.js.map} +1 -1
  286. package/cjs/{index-78e2bb42.js → index-d44e0a55.js} +2 -2
  287. package/cjs/{index-78e2bb42.js.map → index-d44e0a55.js.map} +1 -1
  288. package/cjs/{index-9506bc1e.js → index-dc4cbd5a.js} +5 -5
  289. package/cjs/{index-9506bc1e.js.map → index-dc4cbd5a.js.map} +1 -1
  290. package/cjs/{index-81e19961.js → index-e6b1d2b7.js} +2 -2
  291. package/cjs/{index-81e19961.js.map → index-e6b1d2b7.js.map} +1 -1
  292. package/cjs/{index-c4869cdb.js → index-f2f8ceeb.js} +3 -3
  293. package/cjs/{index-c4869cdb.js.map → index-f2f8ceeb.js.map} +1 -1
  294. package/cjs/index.js +45 -45
  295. package/cjs/sendbirdSelectors.js +2 -2
  296. package/cjs/{stringSet-ddd351f0.js → stringSet-70ad7caf.js} +1 -1
  297. package/cjs/{stringSet-ddd351f0.js.map → stringSet-70ad7caf.js.map} +1 -1
  298. package/cjs/{topics-5edbb1b2.js → topics-a17b8ec5.js} +1 -1
  299. package/cjs/{topics-5edbb1b2.js.map → topics-a17b8ec5.js.map} +1 -1
  300. package/cjs/{tslib.es6-d2ba1a6b.js → tslib.es6-6bb94011.js} +1 -1
  301. package/cjs/{tslib.es6-d2ba1a6b.js.map → tslib.es6-6bb94011.js.map} +1 -1
  302. package/cjs/{types-3fb94919.js → types-44d71878.js} +1 -1
  303. package/cjs/{types-3fb94919.js.map → types-44d71878.js.map} +1 -1
  304. package/cjs/ui/Accordion.js +3 -3
  305. package/cjs/ui/AccordionGroup.js +2 -2
  306. package/cjs/ui/AdminMessage.js +3 -3
  307. package/cjs/ui/Avatar.js +2 -2
  308. package/cjs/ui/Badge.js +5 -5
  309. package/cjs/ui/BottomSheet.js +1 -1
  310. package/cjs/ui/Button.js +3 -3
  311. package/cjs/ui/ChannelAvatar.js +3 -3
  312. package/cjs/ui/ConnectionStatus.js +4 -4
  313. package/cjs/ui/ContextMenu.js +5 -5
  314. package/cjs/ui/DateSeparator.js +4 -4
  315. package/cjs/ui/EmojiReactions.js +7 -7
  316. package/cjs/ui/FileMessageItemBody.js +6 -6
  317. package/cjs/ui/FileViewer.js +8 -8
  318. package/cjs/ui/IconButton.js +1 -1
  319. package/cjs/ui/ImageRenderer.js +1 -1
  320. package/cjs/ui/Input.js +2 -2
  321. package/cjs/ui/Label.js +2 -2
  322. package/cjs/ui/LinkLabel.js +2 -2
  323. package/cjs/ui/Loader.js +1 -1
  324. package/cjs/ui/MentionLabel.js +11 -11
  325. package/cjs/ui/MentionUserLabel.js +4 -2
  326. package/cjs/ui/MentionUserLabel.js.map +1 -1
  327. package/cjs/ui/MessageContent.js +23 -23
  328. package/cjs/ui/MessageInput.js +40 -21
  329. package/cjs/ui/MessageInput.js.map +1 -1
  330. package/cjs/ui/MessageItemMenu.js +8 -8
  331. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  332. package/cjs/ui/MessageSearchFileItem.js +10 -10
  333. package/cjs/ui/MessageSearchItem.js +9 -9
  334. package/cjs/ui/MessageStatus.js +10 -10
  335. package/cjs/ui/Modal.js +7 -7
  336. package/cjs/ui/OGMessageItemBody.js +11 -11
  337. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  338. package/cjs/ui/OpenChannelAvatar.js +6 -6
  339. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  340. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  341. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  342. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  343. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  344. package/cjs/ui/PlaceHolder.js +6 -6
  345. package/cjs/ui/PlaybackTime.js +2 -2
  346. package/cjs/ui/QuoteMessage.js +6 -6
  347. package/cjs/ui/QuoteMessageInput.js +6 -6
  348. package/cjs/ui/ReactionBadge.js +3 -3
  349. package/cjs/ui/ReactionButton.js +1 -1
  350. package/cjs/ui/SortByRow.js +2 -2
  351. package/cjs/ui/TextButton.js +2 -2
  352. package/cjs/ui/TextMessageItemBody.js +11 -11
  353. package/cjs/ui/ThreadReplies.js +6 -6
  354. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  355. package/cjs/ui/Tooltip.js +3 -3
  356. package/cjs/ui/TooltipWrapper.js +1 -1
  357. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  358. package/cjs/ui/UserListItem.js +11 -11
  359. package/cjs/ui/UserProfile.js +10 -10
  360. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  361. package/cjs/ui/VoiceMessgeInput.js +8 -8
  362. package/cjs/ui/Word.js +11 -11
  363. package/cjs/{useLongPress-778d6f15.js → useLongPress-7fcddf32.js} +3 -3
  364. package/cjs/{useLongPress-778d6f15.js.map → useLongPress-7fcddf32.js.map} +1 -1
  365. package/cjs/useSendbirdStateContext.js +1 -1
  366. package/cjs/utils/message/isVoiceMessage.js +2 -2
  367. package/cjs/{utils-ee6665ec.js → utils-2d3622fd.js} +1 -1
  368. package/cjs/{utils-ee6665ec.js.map → utils-2d3622fd.js.map} +1 -1
  369. package/cjs/{utils-f7f440f8.js → utils-76d84308.js} +1 -1
  370. package/cjs/{utils-f7f440f8.js.map → utils-76d84308.js.map} +1 -1
  371. package/cjs/{utils-c67cf524.js → utils-b1231f1d.js} +2 -2
  372. package/cjs/{utils-c67cf524.js.map → utils-b1231f1d.js.map} +1 -1
  373. package/cjs/{utils-602ab2fc.js → utils-c86c2884.js} +1 -1
  374. package/cjs/{utils-602ab2fc.js.map → utils-c86c2884.js.map} +1 -1
  375. package/cjs/{uuid-28e4a814.js → uuid-7d07ac3f.js} +1 -1
  376. package/cjs/{uuid-28e4a814.js.map → uuid-7d07ac3f.js.map} +1 -1
  377. package/cjs/withSendbird.js +1 -1
  378. package/{color-f6b2bdb7.js → color-b379fbc5.js} +1 -1
  379. package/{color-f6b2bdb7.js.map → color-b379fbc5.js.map} +1 -1
  380. package/{compareIds-87972c5f.js → compareIds-86584ff3.js} +1 -1
  381. package/{compareIds-87972c5f.js.map → compareIds-86584ff3.js.map} +1 -1
  382. package/{const-85535a89.js → const-26fafb08.js} +1 -1
  383. package/{const-85535a89.js.map → const-26fafb08.js.map} +1 -1
  384. package/{const-0f759572.js → const-693a408f.js} +1 -1
  385. package/{const-0f759572.js.map → const-693a408f.js.map} +1 -1
  386. package/{consts-59f719d8.js → consts-37ea645a.js} +1 -1
  387. package/{consts-59f719d8.js.map → consts-37ea645a.js.map} +1 -1
  388. package/consts-b2395440.js +4 -0
  389. package/consts-b2395440.js.map +1 -0
  390. package/{context-f9c07d84.js → context-672443fa.js} +2 -2
  391. package/{context-f9c07d84.js.map → context-672443fa.js.map} +1 -1
  392. package/dist/index.css +119 -119
  393. package/dist/index.css.map +1 -1
  394. package/{index-43834bc0.js → index-102fbe62.js} +2 -2
  395. package/{index-43834bc0.js.map → index-102fbe62.js.map} +1 -1
  396. package/{index-2988897b.js → index-30236e16.js} +2 -2
  397. package/{index-2988897b.js.map → index-30236e16.js.map} +1 -1
  398. package/{index-a73afdab.js → index-30721345.js} +4 -4
  399. package/{index-a73afdab.js.map → index-30721345.js.map} +1 -1
  400. package/{index-868d3a87.js → index-39657867.js} +2 -2
  401. package/{index-868d3a87.js.map → index-39657867.js.map} +1 -1
  402. package/{index-e121c395.js → index-46d8dde5.js} +2 -2
  403. package/{index-e121c395.js.map → index-46d8dde5.js.map} +1 -1
  404. package/{index-c10fcd31.js → index-5b34a381.js} +1 -1
  405. package/{index-c10fcd31.js.map → index-5b34a381.js.map} +1 -1
  406. package/{index-a1a19702.js → index-7afa5c8d.js} +3 -3
  407. package/{index-a1a19702.js.map → index-7afa5c8d.js.map} +1 -1
  408. package/{index-1ac4456b.js → index-7b740ffc.js} +7 -7
  409. package/{index-1ac4456b.js.map → index-7b740ffc.js.map} +1 -1
  410. package/{index-3c7ecbec.js → index-854faff0.js} +5 -5
  411. package/{index-3c7ecbec.js.map → index-854faff0.js.map} +1 -1
  412. package/{index-ac5a0725.js → index-c29a819f.js} +3 -3
  413. package/{index-ac5a0725.js.map → index-c29a819f.js.map} +1 -1
  414. package/{index-99933718.js → index-c55389dc.js} +2 -2
  415. package/{index-99933718.js.map → index-c55389dc.js.map} +1 -1
  416. package/{index-c4e31ae9.js → index-d311c62b.js} +7 -7
  417. package/{index-c4e31ae9.js.map → index-d311c62b.js.map} +1 -1
  418. package/{index-7d65494a.js → index-e3412d57.js} +4 -4
  419. package/{index-7d65494a.js.map → index-e3412d57.js.map} +1 -1
  420. package/{index-10a05022.js → index-f338f866.js} +1 -1
  421. package/{index-10a05022.js.map → index-f338f866.js.map} +1 -1
  422. package/index.d.ts +1 -1
  423. package/index.js +45 -45
  424. package/package.json +1 -1
  425. package/sendbirdSelectors.js +2 -2
  426. package/{stringSet-a513039b.js → stringSet-fd70cba0.js} +1 -1
  427. package/{stringSet-a513039b.js.map → stringSet-fd70cba0.js.map} +1 -1
  428. package/{topics-a581acbb.js → topics-c4837013.js} +1 -1
  429. package/{topics-a581acbb.js.map → topics-c4837013.js.map} +1 -1
  430. package/{tslib.es6-e1c2b6be.js → tslib.es6-645dedf8.js} +1 -1
  431. package/{tslib.es6-e1c2b6be.js.map → tslib.es6-645dedf8.js.map} +1 -1
  432. package/{types-5cc94910.js → types-87c77099.js} +1 -1
  433. package/{types-5cc94910.js.map → types-87c77099.js.map} +1 -1
  434. package/ui/Accordion.js +3 -3
  435. package/ui/AccordionGroup.js +2 -2
  436. package/ui/AdminMessage.js +3 -3
  437. package/ui/Avatar.js +2 -2
  438. package/ui/Badge.js +5 -5
  439. package/ui/BottomSheet.js +1 -1
  440. package/ui/Button.js +3 -3
  441. package/ui/ChannelAvatar.js +3 -3
  442. package/ui/ConnectionStatus.js +4 -4
  443. package/ui/ContextMenu.js +5 -5
  444. package/ui/DateSeparator.js +4 -4
  445. package/ui/EmojiReactions.js +7 -7
  446. package/ui/FileMessageItemBody.js +6 -6
  447. package/ui/FileViewer.js +8 -8
  448. package/ui/IconButton.js +1 -1
  449. package/ui/ImageRenderer.js +1 -1
  450. package/ui/Input.js +2 -2
  451. package/ui/Label.js +2 -2
  452. package/ui/LinkLabel.js +2 -2
  453. package/ui/Loader.js +1 -1
  454. package/ui/MentionLabel.js +11 -11
  455. package/ui/MentionUserLabel.js +4 -2
  456. package/ui/MentionUserLabel.js.map +1 -1
  457. package/ui/MessageContent.js +23 -23
  458. package/ui/MessageInput.js +40 -21
  459. package/ui/MessageInput.js.map +1 -1
  460. package/ui/MessageItemMenu.js +8 -8
  461. package/ui/MessageItemReactionMenu.js +5 -5
  462. package/ui/MessageSearchFileItem.js +10 -10
  463. package/ui/MessageSearchItem.js +9 -9
  464. package/ui/MessageStatus.js +10 -10
  465. package/ui/Modal.js +7 -7
  466. package/ui/OGMessageItemBody.js +11 -11
  467. package/ui/OpenChannelAdminMessage.js +3 -3
  468. package/ui/OpenChannelAvatar.js +6 -6
  469. package/ui/OpenchannelConversationHeader.js +6 -6
  470. package/ui/OpenchannelFileMessage.js +16 -16
  471. package/ui/OpenchannelOGMessage.js +16 -16
  472. package/ui/OpenchannelThumbnailMessage.js +15 -15
  473. package/ui/OpenchannelUserMessage.js +16 -16
  474. package/ui/PlaceHolder.js +6 -6
  475. package/ui/PlaybackTime.js +2 -2
  476. package/ui/QuoteMessage.js +6 -6
  477. package/ui/QuoteMessageInput.js +6 -6
  478. package/ui/ReactionBadge.js +3 -3
  479. package/ui/ReactionButton.js +1 -1
  480. package/ui/SortByRow.js +2 -2
  481. package/ui/TextButton.js +2 -2
  482. package/ui/TextMessageItemBody.js +11 -11
  483. package/ui/ThreadReplies.js +6 -6
  484. package/ui/ThumbnailMessageItemBody.js +2 -2
  485. package/ui/Tooltip.js +3 -3
  486. package/ui/TooltipWrapper.js +1 -1
  487. package/ui/UnknownMessageItemBody.js +6 -6
  488. package/ui/UserListItem.js +11 -11
  489. package/ui/UserProfile.js +10 -10
  490. package/ui/VoiceMessageItemBody.js +5 -5
  491. package/ui/VoiceMessgeInput.js +8 -8
  492. package/ui/Word.js +11 -11
  493. package/{useLongPress-d942e028.js → useLongPress-81323308.js} +3 -3
  494. package/{useLongPress-d942e028.js.map → useLongPress-81323308.js.map} +1 -1
  495. package/useSendbirdStateContext.js +1 -1
  496. package/utils/message/isVoiceMessage.js +2 -2
  497. package/{utils-c9f12033.js → utils-1c138ae4.js} +1 -1
  498. package/{utils-c9f12033.js.map → utils-1c138ae4.js.map} +1 -1
  499. package/{utils-b439eac3.js → utils-780c1e12.js} +1 -1
  500. package/{utils-b439eac3.js.map → utils-780c1e12.js.map} +1 -1
  501. package/{utils-b10ed497.js → utils-88f76aba.js} +2 -2
  502. package/{utils-b10ed497.js.map → utils-88f76aba.js.map} +1 -1
  503. package/{utils-5cc87999.js → utils-d17bcc15.js} +1 -1
  504. package/{utils-5cc87999.js.map → utils-d17bcc15.js.map} +1 -1
  505. package/{uuid-d072af26.js → uuid-e15650df.js} +1 -1
  506. package/{uuid-d072af26.js.map → uuid-e15650df.js.map} +1 -1
  507. package/withSendbird.js +1 -1
  508. package/_rollupPluginBabelHelpers-945410b2.js.map +0 -1
  509. package/cjs/_rollupPluginBabelHelpers-32557b21.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.tsx","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\nexport default debounce;\n","import React from 'react';\nimport { renderToString } from 'react-dom/server';\n\nimport { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport MentionUserLabel from '../../../MentionUserLabel';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return (\n renderToString(\n <>\n <MentionUserLabel userId={userId}>\n {text}\n </MentionUserLabel>\n </>\n )\n );\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n}\n\nexport function domToMessageTemplate(nodeArray: HTMLSpanElement[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n let mentionNode = currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY) as HTMLSpanElement;\n // sometimes the mention node is the parent node\n // in this case querySelector will return null\n if (!mentionNode) {\n mentionNode = (\n currentValue.classList.contains(MENTION_CLASS) // for nodes copied from message\n || currentValue.classList.contains(MENTION_CLASS_IN_INPUT) // for nodes copied from input\n ) ? currentValue : null;\n }\n const text = currentValue.innerText;\n if (mentionNode) {\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n userMap[template.userId] = users.find((user) => user.userId === template.userId);\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport { MENTION_CLASS_COMBINED_QUERY, MENTION_CLASS_IN_INPUT, TEXT_MESSAGE_CLASS } from './consts';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, sanitize and insert\n let childNodes = pasteNode.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`) as NodeListOf<HTMLSpanElement>;\n if (pasteNode.querySelectorAll(`.${MENTION_CLASS_IN_INPUT}`).length > 0) {\n // @ts-ignore\n childNodes = pasteNode.children;\n }\n let nodeArray = Array.from(childNodes);\n // handle paste when there is only one child\n if (pasteNode.children.length === 1 && pasteNode.querySelectorAll(MENTION_CLASS_COMBINED_QUERY).length === 1) {\n nodeArray = Array.from(pasteNode.children) as HTMLSpanElement[];\n }\n const words = domToMessageTemplate(nodeArray);\n\n const mentionedUsers = getUsersFromWords(words, channel);\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport { renderToString } from 'react-dom/server';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../smart-components/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport MentionUserLabel from '../MentionUserLabel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst resetInput = (ref) => {\n try {\n ref.current.innerHTML = '';\n } catch {\n //\n }\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n textField.innerHTML = message?.mentionedMessageTemplate?.split(' ').map((word) => (\n convertWordToStringObj(word, mentionedUsers).map((stringObj) => {\n const { type, value, userId } = stringObj;\n if (type === StringObjType.mention && mentionedUsers.some((user) => user?.userId === userId)) {\n return renderToString(\n <MentionUserLabel userId={userId}>\n {\n `${USER_MENTION_TEMP_CHAR}${mentionedUsers.find((user) => user?.userId === userId)?.nickname\n || value\n || stringSet.MENTION_NAME__NO_NAME\n }`\n }\n </MentionUserLabel>,\n );\n }\n return sanitizeString(value);\n }).join('')\n )).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(message?.message);\n } catch { }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.innerText.length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n const childNodes = [...textField?.childNodes];\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderToString(\n <MentionUserLabel userId={mentionSelectedUser?.userId}>\n {`${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`}\n </MentionUserLabel>,\n );\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.innerText) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.innerText?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\n });\n\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(ref?.current?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.() || (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n ))\n )\n }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )}\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n disabled={isEditDisabled}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n setMentionedUsers: PropTypes.func,\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n className: '',\n messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n};\n\nexport default MessageInput;\n"],"names":["sanitizeString","str","replace","i","concat","charCodeAt","inserTemplateToDOM","templateList","nodes","map","template","text","userId","renderToString","React","MentionUserLabel","join","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","querySelectorAll","length","Array","from","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","classList","contains","_a","dataset","userid","__spreadArray","getUsersFromWords","channel","userMap","users","members","find","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","purifier","DOMPurify","window","clean","sanitize","innerHTML","children","childNodes","words","mentionedUsers","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","forwardRef","props","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","error","initialValue","useEffect","textField","messageId","mentionedMessageTemplate","split","word","convertWordToStringObj","stringObj","type","StringObjType","mention","some","USER_MENTION_TEMP_CHAR","nickname","MENTION_NAME__NO_NAME","useMentionedLabelDetection","newMentionedUserIds","getElementsByClassName","arrayEqual","frontTextNode","createTextNode","textContent","slice","backTextNode","mentionLabel","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","messageText","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","params","isEditDisabled","trim","editMessage","onPaste","getClassName","preventEvent","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","Label","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","Icon","IconTypes","SEND","IconColors","ON_BACKGROUND_4","PRIMARY","click","ATTACH","CONTENT_INVERSE","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MentionUserLabel/renderToString.ts","../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.ts","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// cretes a sanitized string from a mention user label\nimport DOMPurify from 'dompurify';\nimport { MENTION_CLASS } from '../MessageInput/hooks/usePaste/consts';\nimport { MENTION_USER_LABEL_CLASSNAME } from './consts';\n\ntype renderToStringParams = {\n userId: string;\n nickname: string;\n};\n\nexport default function renderToString({ userId, nickname }: renderToStringParams): string {\n // donot change this template, it wont work\n const el = `<span data-userid=\"${userId}\" data-sb-mention=\"true\" class=\"${MENTION_USER_LABEL_CLASSNAME}\">${nickname}</span>`;\n const purifier = DOMPurify(window);\n const sanitized_ = purifier.sanitize(el);\n const token = sanitized_.split(' ');\n const [spanTag, ...rest] = token;\n // we do this because DOMPurify removes the contenteditable attribute\n const sanitized = [spanTag, 'contenteditable=\"false\"', ...rest].join(' ');\n return sanitized;\n}\n","// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\nexport default debounce;\n","import { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport renderMentionLabelToString from '../../../MentionUserLabel/renderToString';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return renderMentionLabelToString({ userId, nickname: text });\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n}\n\nexport function domToMessageTemplate(nodeArray: HTMLSpanElement[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n let mentionNode = currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY) as HTMLSpanElement;\n // sometimes the mention node is the parent node\n // in this case querySelector will return null\n if (!mentionNode) {\n mentionNode = (\n currentValue.classList.contains(MENTION_CLASS) // for nodes copied from message\n || currentValue.classList.contains(MENTION_CLASS_IN_INPUT) // for nodes copied from input\n ) ? currentValue : null;\n }\n const text = currentValue.innerText;\n if (mentionNode) {\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n userMap[template.userId] = users.find((user) => user.userId === template.userId);\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport { MENTION_CLASS_COMBINED_QUERY, MENTION_CLASS_IN_INPUT, TEXT_MESSAGE_CLASS } from './consts';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, sanitize and insert\n let childNodes = pasteNode.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`) as NodeListOf<HTMLSpanElement>;\n if (pasteNode.querySelectorAll(`.${MENTION_CLASS_IN_INPUT}`).length > 0) {\n // @ts-ignore\n childNodes = pasteNode.children;\n }\n let nodeArray = Array.from(childNodes);\n // handle paste when there is only one child\n if (pasteNode.children.length === 1 && pasteNode.querySelectorAll(MENTION_CLASS_COMBINED_QUERY).length === 1) {\n nodeArray = Array.from(pasteNode.children) as HTMLSpanElement[];\n }\n const words = domToMessageTemplate(nodeArray);\n\n const mentionedUsers = getUsersFromWords(words, channel);\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../smart-components/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport renderMentionLabelToString from '../MentionUserLabel/renderToString';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst resetInput = (ref) => {\n try {\n ref.current.innerHTML = '';\n } catch {\n //\n }\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n textField.innerHTML = message?.mentionedMessageTemplate?.split(' ').map((word) => (\n convertWordToStringObj(word, mentionedUsers).map((stringObj) => {\n const { type, value, userId } = stringObj;\n if (type === StringObjType.mention && mentionedUsers.some((user) => user?.userId === userId)) {\n const nickname = `${USER_MENTION_TEMP_CHAR}${mentionedUsers.find((user) => user?.userId === userId)?.nickname\n || value\n || stringSet.MENTION_NAME__NO_NAME\n }`\n return renderMentionLabelToString({ userId, nickname });\n }\n return sanitizeString(value);\n }).join('')\n )).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(message?.message);\n } catch { }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.innerText.length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n const childNodes = [...textField?.childNodes];\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderMentionLabelToString({\n userId: mentionSelectedUser?.userId,\n nickname: `${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`,\n });\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.innerText) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.innerText?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\n });\n\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(ref?.current?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.() || (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n ))\n )\n }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )}\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n disabled={isEditDisabled}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n setMentionedUsers: PropTypes.func,\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n className: '',\n messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n};\n\nexport default MessageInput;\n"],"names":["renderToString","_a","userId","nickname","el","concat","MENTION_USER_LABEL_CLASSNAME","purifier","DOMPurify","window","sanitized_","sanitize","token","split","spanTag","rest","slice","sanitized","__spreadArray","join","sanitizeString","str","replace","i","charCodeAt","inserTemplateToDOM","templateList","nodes","map","template","text","renderMentionLabelToString","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","querySelectorAll","length","Array","from","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","classList","contains","dataset","userid","getUsersFromWords","channel","userMap","users","members","find","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","clean","innerHTML","children","childNodes","words","mentionedUsers","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","error","initialValue","useEffect","textField","messageId","mentionedMessageTemplate","word","convertWordToStringObj","stringObj","type","StringObjType","mention","some","USER_MENTION_TEMP_CHAR","MENTION_NAME__NO_NAME","useMentionedLabelDetection","newMentionedUserIds","getElementsByClassName","arrayEqual","frontTextNode","createTextNode","textContent","backTextNode","mentionLabel","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","messageText","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","params","isEditDisabled","trim","editMessage","onPaste","getClassName","preventEvent","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","Label","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","Icon","IconTypes","SEND","IconColors","ON_BACKGROUND_4","PRIMARY","click","ATTACH","CONTENT_INVERSE","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","defaultProps"],"mappings":"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"}
@@ -4,18 +4,18 @@ var React = require('react');
4
4
  var ui_ContextMenu = require('./ContextMenu.js');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
- var index = require('../index-b32fce67.js');
8
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
9
- var types = require('../types-3fb94919.js');
10
- require('../tslib.es6-d2ba1a6b.js');
7
+ var index = require('../index-9cb4a8a1.js');
8
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
9
+ var types = require('../types-44d71878.js');
10
+ require('../tslib.es6-6bb94011.js');
11
11
  require('react-dom');
12
12
  require('./SortByRow.js');
13
- require('../uuid-28e4a814.js');
14
- require('../index-1b11bb85.js');
13
+ require('../uuid-7d07ac3f.js');
14
+ require('../index-3b8eefa2.js');
15
15
  require('prop-types');
16
- require('../stringSet-ddd351f0.js');
16
+ require('../stringSet-70ad7caf.js');
17
17
  require('../utils/message/getOutgoingMessageState.js');
18
- require('../index-f5502150.js');
18
+ require('../index-3a44ff71.js');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
@@ -6,14 +6,14 @@ var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
7
  var ui_ImageRenderer = require('./ImageRenderer.js');
8
8
  var ui_ReactionButton = require('./ReactionButton.js');
9
- var index = require('../index-b32fce67.js');
10
- require('../tslib.es6-d2ba1a6b.js');
9
+ var index = require('../index-9cb4a8a1.js');
10
+ require('../tslib.es6-6bb94011.js');
11
11
  require('react-dom');
12
12
  require('./SortByRow.js');
13
- require('../uuid-28e4a814.js');
14
- require('../index-1b11bb85.js');
13
+ require('../uuid-7d07ac3f.js');
14
+ require('../index-3b8eefa2.js');
15
15
  require('prop-types');
16
- require('../stringSet-ddd351f0.js');
16
+ require('../stringSet-70ad7caf.js');
17
17
  require('../utils/message/getOutgoingMessageState.js');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-d2ba1a6b.js');
3
+ var tslib_es6 = require('../tslib.es6-6bb94011.js');
4
4
  var React = require('react');
5
5
  var ui_Avatar = require('./Avatar.js');
6
6
  var ui_Icon = require('./Icon.js');
7
- var ui_Label = require('../index-1b11bb85.js');
8
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
9
- var index$1 = require('../index-81e19961.js');
10
- var index = require('../index-c4869cdb.js');
11
- var index$2 = require('../index-b32fce67.js');
7
+ var ui_Label = require('../index-3b8eefa2.js');
8
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
9
+ var index$1 = require('../index-e6b1d2b7.js');
10
+ var index = require('../index-f2f8ceeb.js');
11
+ var index$2 = require('../index-9cb4a8a1.js');
12
12
  require('./ImageRenderer.js');
13
- require('../uuid-28e4a814.js');
13
+ require('../uuid-7d07ac3f.js');
14
14
  require('prop-types');
15
- require('../stringSet-ddd351f0.js');
16
- require('../index-f5502150.js');
17
- require('../index-78e2bb42.js');
15
+ require('../stringSet-70ad7caf.js');
16
+ require('../index-3a44ff71.js');
17
+ require('../index-d44e0a55.js');
18
18
  require('../utils/message/getOutgoingMessageState.js');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-d2ba1a6b.js');
3
+ var tslib_es6 = require('../tslib.es6-6bb94011.js');
4
4
  var React = require('react');
5
- var index$1 = require('../index-81e19961.js');
6
- var index = require('../index-c4869cdb.js');
5
+ var index$1 = require('../index-e6b1d2b7.js');
6
+ var index = require('../index-f2f8ceeb.js');
7
7
  var ui_Avatar = require('./Avatar.js');
8
- var ui_Label = require('../index-1b11bb85.js');
9
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
10
- require('../index-f5502150.js');
11
- require('../index-78e2bb42.js');
8
+ var ui_Label = require('../index-3b8eefa2.js');
9
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
10
+ require('../index-3a44ff71.js');
11
+ require('../index-d44e0a55.js');
12
12
  require('./ImageRenderer.js');
13
13
  require('./Icon.js');
14
14
  require('prop-types');
15
- require('../uuid-28e4a814.js');
16
- require('../stringSet-ddd351f0.js');
15
+ require('../uuid-7d07ac3f.js');
16
+ require('../stringSet-70ad7caf.js');
17
17
 
18
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
19
 
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../tslib.es6-d2ba1a6b.js');
5
+ require('../tslib.es6-6bb94011.js');
6
6
  require('react');
7
- require('../index-81e19961.js');
7
+ require('../index-e6b1d2b7.js');
8
8
  require('./Icon.js');
9
- require('../index-1b11bb85.js');
9
+ require('../index-3b8eefa2.js');
10
10
  require('./Loader.js');
11
- require('../index-b32fce67.js');
11
+ require('../index-9cb4a8a1.js');
12
12
  require('../utils/message/getOutgoingMessageState.js');
13
- var ui_MessageStatus = require('../index-b911f8b3.js');
14
- require('../LocalizationContext-1f669b3c.js');
15
- require('../index-f5502150.js');
13
+ var ui_MessageStatus = require('../index-27659174.js');
14
+ require('../LocalizationContext-2f07a939.js');
15
+ require('../index-3a44ff71.js');
16
16
  require('prop-types');
17
- require('../stringSet-ddd351f0.js');
18
- require('../index-c4869cdb.js');
19
- require('../index-78e2bb42.js');
17
+ require('../stringSet-70ad7caf.js');
18
+ require('../index-f2f8ceeb.js');
19
+ require('../index-d44e0a55.js');
20
20
 
21
21
 
22
22
 
package/cjs/ui/Modal.js CHANGED
@@ -4,16 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var reactDom = require('react-dom');
7
- var index = require('../index-577c9a9b.js');
8
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
7
+ var index = require('../index-2129e959.js');
8
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
9
9
  var ui_Button = require('./Button.js');
10
10
  var ui_Icon = require('./Icon.js');
11
11
  var ui_IconButton = require('./IconButton.js');
12
- var ui_Label = require('../index-1b11bb85.js');
13
- var MediaQueryContext = require('../MediaQueryContext-130143d7.js');
14
- require('../stringSet-ddd351f0.js');
15
- require('../index-f5502150.js');
16
- require('../tslib.es6-d2ba1a6b.js');
12
+ var ui_Label = require('../index-3b8eefa2.js');
13
+ var MediaQueryContext = require('../MediaQueryContext-729d402a.js');
14
+ require('../stringSet-70ad7caf.js');
15
+ require('../index-3a44ff71.js');
16
+ require('../tslib.es6-6bb94011.js');
17
17
  require('prop-types');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -4,30 +4,30 @@ var React = require('react');
4
4
  var ui_Word = require('./Word.js');
5
5
  var ui_ImageRenderer = require('./ImageRenderer.js');
6
6
  var ui_Icon = require('./Icon.js');
7
- var ui_Label = require('../index-1b11bb85.js');
8
- var uuid = require('../uuid-28e4a814.js');
9
- var index = require('../index-b32fce67.js');
10
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
7
+ var ui_Label = require('../index-3b8eefa2.js');
8
+ var uuid = require('../uuid-7d07ac3f.js');
9
+ var index = require('../index-9cb4a8a1.js');
10
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
11
11
  require('./LinkLabel.js');
12
12
  require('prop-types');
13
13
  require('./MentionLabel.js');
14
14
  require('./ContextMenu.js');
15
- require('../tslib.es6-d2ba1a6b.js');
15
+ require('../tslib.es6-6bb94011.js');
16
16
  require('react-dom');
17
17
  require('./SortByRow.js');
18
18
  require('../utils/message/getOutgoingMessageState.js');
19
- require('../stringSet-ddd351f0.js');
19
+ require('../stringSet-70ad7caf.js');
20
20
  require('./UserProfile.js');
21
- require('../UserProfileContext-cde95db8.js');
21
+ require('../UserProfileContext-5fbd0305.js');
22
22
  require('../sendbirdSelectors.js');
23
- require('../topics-5edbb1b2.js');
24
- require('../utils-602ab2fc.js');
23
+ require('../topics-a17b8ec5.js');
24
+ require('../utils-c86c2884.js');
25
25
  require('./Avatar.js');
26
26
  require('./Button.js');
27
27
  require('../useSendbirdStateContext.js');
28
28
  require('../withSendbird.js');
29
- require('../_rollupPluginBabelHelpers-32557b21.js');
30
- require('../index-f5502150.js');
29
+ require('../_rollupPluginBabelHelpers-325fff35.js');
30
+ require('../index-3a44ff71.js');
31
31
 
32
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
33
 
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-d2ba1a6b.js');
3
+ var tslib_es6 = require('../tslib.es6-6bb94011.js');
4
4
  var React = require('react');
5
- var ui_Label = require('../index-1b11bb85.js');
5
+ var ui_Label = require('../index-3b8eefa2.js');
6
6
  require('prop-types');
7
- require('../stringSet-ddd351f0.js');
7
+ require('../stringSet-70ad7caf.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
@@ -2,15 +2,15 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ui_Avatar = require('./Avatar.js');
5
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
6
- var utils = require('../utils-f7f440f8.js');
7
- require('../tslib.es6-d2ba1a6b.js');
5
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
6
+ var utils = require('../utils-76d84308.js');
7
+ require('../tslib.es6-6bb94011.js');
8
8
  require('./ImageRenderer.js');
9
9
  require('./Icon.js');
10
10
  require('prop-types');
11
- require('../uuid-28e4a814.js');
12
- require('../stringSet-ddd351f0.js');
13
- require('../index-f5502150.js');
11
+ require('../uuid-7d07ac3f.js');
12
+ require('../stringSet-70ad7caf.js');
13
+ require('../index-3a44ff71.js');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
@@ -4,14 +4,14 @@ var React = require('react');
4
4
  var ui_Avatar = require('./Avatar.js');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
- var ui_Label = require('../index-1b11bb85.js');
8
- var LocalizationContext = require('../LocalizationContext-1f669b3c.js');
9
- require('../tslib.es6-d2ba1a6b.js');
7
+ var ui_Label = require('../index-3b8eefa2.js');
8
+ var LocalizationContext = require('../LocalizationContext-2f07a939.js');
9
+ require('../tslib.es6-6bb94011.js');
10
10
  require('./ImageRenderer.js');
11
- require('../uuid-28e4a814.js');
11
+ require('../uuid-7d07ac3f.js');
12
12
  require('prop-types');
13
- require('../stringSet-ddd351f0.js');
14
- require('../index-f5502150.js');
13
+ require('../stringSet-70ad7caf.js');
14
+ require('../index-3a44ff71.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17