@sendbird/uikit-react-native 2.1.0 → 2.3.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 (431) hide show
  1. package/README.md +42 -17
  2. package/lib/commonjs/components/ChatFlatList.js +2 -1
  3. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  4. package/lib/commonjs/components/FileViewer.js +2 -5
  5. package/lib/commonjs/components/FileViewer.js.map +1 -1
  6. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  7. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  8. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  9. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  10. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
  11. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  12. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +1 -6
  13. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +1 -1
  14. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -10
  15. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  16. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +102 -15
  17. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  18. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +1 -1
  19. package/lib/commonjs/components/MessageRenderer/index.js +22 -3
  20. package/lib/commonjs/components/MessageRenderer/index.js.map +1 -1
  21. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +150 -0
  22. package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  23. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +135 -0
  24. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  25. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +87 -0
  26. package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  27. package/lib/commonjs/components/ReactionAddons/index.js +19 -0
  28. package/lib/commonjs/components/ReactionAddons/index.js.map +1 -0
  29. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +150 -0
  30. package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  31. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +276 -0
  32. package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  33. package/lib/commonjs/components/ReactionBottomSheets/index.js +19 -0
  34. package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -0
  35. package/lib/commonjs/constants.js +3 -1
  36. package/lib/commonjs/constants.js.map +1 -1
  37. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -1
  38. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  39. package/lib/commonjs/containers/SendbirdUIKitContainer.js +130 -79
  40. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  41. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
  42. package/lib/commonjs/contexts/ReactionCtx.js +107 -0
  43. package/lib/commonjs/contexts/ReactionCtx.js.map +1 -0
  44. package/lib/commonjs/contexts/SendbirdChatCtx.js +26 -18
  45. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  46. package/lib/commonjs/contexts/UserProfileCtx.js +9 -0
  47. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  48. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js +33 -37
  49. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  50. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js +95 -23
  51. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  52. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js +121 -31
  53. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  54. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +34 -13
  55. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  56. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +210 -0
  57. package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  58. package/lib/commonjs/domain/groupChannel/index.js +8 -0
  59. package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
  60. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +4 -0
  61. package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  62. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +4 -4
  63. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  64. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  65. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +3 -2
  66. package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  67. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +2 -1
  68. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  69. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +2 -1
  70. package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  71. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +39 -0
  72. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  73. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +140 -0
  74. package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  75. package/lib/commonjs/domain/groupChannelNotifications/index.js +46 -0
  76. package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -0
  77. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +33 -0
  78. package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  79. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +45 -0
  80. package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  81. package/lib/commonjs/domain/groupChannelNotifications/types.js +6 -0
  82. package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -0
  83. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +2 -1
  84. package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  85. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +49 -6
  86. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  87. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +11 -16
  88. package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  89. package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
  90. package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
  91. package/lib/commonjs/domain/userList/component/UserListList.js +4 -1
  92. package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
  93. package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
  94. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  95. package/lib/commonjs/fragments/createGroupChannelFragment.js +11 -4
  96. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  97. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  98. package/lib/commonjs/fragments/createGroupChannelListFragment.js +4 -14
  99. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  100. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +34 -0
  101. package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  102. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +3 -1
  103. package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  104. package/lib/commonjs/hooks/useConnection.js +3 -0
  105. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  106. package/lib/commonjs/hooks/useContext.js +11 -1
  107. package/lib/commonjs/hooks/useContext.js.map +1 -1
  108. package/lib/commonjs/hooks/useKeyboardStatus.js +97 -0
  109. package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -0
  110. package/lib/commonjs/hooks/useMentionSuggestion.js +110 -0
  111. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -0
  112. package/lib/commonjs/hooks/useMentionTextInput.js +139 -0
  113. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -0
  114. package/lib/commonjs/index.js +95 -40
  115. package/lib/commonjs/index.js.map +1 -1
  116. package/lib/commonjs/libs/EmojiManager.js +100 -0
  117. package/lib/commonjs/libs/EmojiManager.js.map +1 -0
  118. package/lib/commonjs/libs/ImageCompressionConfig.js +38 -0
  119. package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -0
  120. package/lib/commonjs/libs/MentionConfig.js +47 -0
  121. package/lib/commonjs/libs/MentionConfig.js.map +1 -0
  122. package/lib/commonjs/libs/MentionManager.js +235 -0
  123. package/lib/commonjs/libs/MentionManager.js.map +1 -0
  124. package/lib/commonjs/libs/SBUUtils.js +27 -0
  125. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  126. package/lib/commonjs/localization/StringSet.type.js +20 -5
  127. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  128. package/lib/commonjs/platform/createMediaService.expo.js +35 -1
  129. package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
  130. package/lib/commonjs/platform/createMediaService.native.js +41 -6
  131. package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
  132. package/lib/commonjs/platform/dynamicModule.js +9 -57
  133. package/lib/commonjs/platform/dynamicModule.js.map +1 -1
  134. package/lib/commonjs/platform/types.js.map +1 -1
  135. package/lib/commonjs/types.js.map +1 -1
  136. package/lib/commonjs/version.js +1 -1
  137. package/lib/commonjs/version.js.map +1 -1
  138. package/lib/module/components/ChatFlatList.js +3 -2
  139. package/lib/module/components/ChatFlatList.js.map +1 -1
  140. package/lib/module/components/FileViewer.js +2 -5
  141. package/lib/module/components/FileViewer.js.map +1 -1
  142. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +11 -6
  143. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
  144. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +12 -2
  145. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
  146. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +26 -11
  147. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
  148. package/lib/module/components/MessageRenderer/FileMessage/index.js +1 -5
  149. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +1 -1
  150. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +86 -12
  151. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
  152. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +103 -19
  153. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
  154. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +1 -1
  155. package/lib/module/components/MessageRenderer/index.js +21 -4
  156. package/lib/module/components/MessageRenderer/index.js.map +1 -1
  157. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +132 -0
  158. package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -0
  159. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +118 -0
  160. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -0
  161. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +74 -0
  162. package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -0
  163. package/lib/module/components/ReactionAddons/index.js +7 -0
  164. package/lib/module/components/ReactionAddons/index.js.map +1 -0
  165. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +135 -0
  166. package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -0
  167. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +259 -0
  168. package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -0
  169. package/lib/module/components/ReactionBottomSheets/index.js +7 -0
  170. package/lib/module/components/ReactionBottomSheets/index.js.map +1 -0
  171. package/lib/module/constants.js +1 -0
  172. package/lib/module/constants.js.map +1 -1
  173. package/lib/module/containers/GroupChannelPreviewContainer.js +4 -1
  174. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  175. package/lib/module/containers/SendbirdUIKitContainer.js +127 -81
  176. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  177. package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
  178. package/lib/module/contexts/ReactionCtx.js +85 -0
  179. package/lib/module/contexts/ReactionCtx.js.map +1 -0
  180. package/lib/module/contexts/SendbirdChatCtx.js +28 -18
  181. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  182. package/lib/module/contexts/UserProfileCtx.js +7 -0
  183. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  184. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js +34 -39
  185. package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +1 -1
  186. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js +92 -26
  187. package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +1 -1
  188. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js +118 -33
  189. package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +1 -1
  190. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +35 -16
  191. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  192. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +188 -0
  193. package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -0
  194. package/lib/module/domain/groupChannel/index.js +1 -0
  195. package/lib/module/domain/groupChannel/index.js.map +1 -1
  196. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +3 -0
  197. package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
  198. package/lib/module/domain/groupChannel/module/moduleContext.js +4 -4
  199. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  200. package/lib/module/domain/groupChannel/types.js.map +1 -1
  201. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +4 -3
  202. package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
  203. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +3 -2
  204. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  205. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +3 -2
  206. package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
  207. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +25 -0
  208. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -0
  209. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +122 -0
  210. package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -0
  211. package/lib/module/domain/groupChannelNotifications/index.js +5 -0
  212. package/lib/module/domain/groupChannelNotifications/index.js.map +1 -0
  213. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +21 -0
  214. package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -0
  215. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +25 -0
  216. package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -0
  217. package/lib/module/domain/groupChannelNotifications/types.js +2 -0
  218. package/lib/module/domain/groupChannelNotifications/types.js.map +1 -0
  219. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +3 -2
  220. package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
  221. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +46 -6
  222. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  223. package/lib/module/domain/groupChannelSettings/module/moduleContext.js +12 -17
  224. package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
  225. package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
  226. package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
  227. package/lib/module/domain/userList/component/UserListList.js +3 -1
  228. package/lib/module/domain/userList/component/UserListList.js.map +1 -1
  229. package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
  230. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  231. package/lib/module/fragments/createGroupChannelFragment.js +11 -4
  232. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  233. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  234. package/lib/module/fragments/createGroupChannelListFragment.js +5 -9
  235. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  236. package/lib/module/fragments/createGroupChannelNotificationsFragment.js +22 -0
  237. package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -0
  238. package/lib/module/fragments/createGroupChannelSettingsFragment.js +3 -1
  239. package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
  240. package/lib/module/hooks/useConnection.js +3 -0
  241. package/lib/module/hooks/useConnection.js.map +1 -1
  242. package/lib/module/hooks/useContext.js +6 -0
  243. package/lib/module/hooks/useContext.js.map +1 -1
  244. package/lib/module/hooks/useKeyboardStatus.js +78 -0
  245. package/lib/module/hooks/useKeyboardStatus.js.map +1 -0
  246. package/lib/module/hooks/useMentionSuggestion.js +100 -0
  247. package/lib/module/hooks/useMentionSuggestion.js.map +1 -0
  248. package/lib/module/hooks/useMentionTextInput.js +128 -0
  249. package/lib/module/hooks/useMentionTextInput.js.map +1 -0
  250. package/lib/module/index.js +8 -3
  251. package/lib/module/index.js.map +1 -1
  252. package/lib/module/libs/EmojiManager.js +90 -0
  253. package/lib/module/libs/EmojiManager.js.map +1 -0
  254. package/lib/module/libs/ImageCompressionConfig.js +30 -0
  255. package/lib/module/libs/ImageCompressionConfig.js.map +1 -0
  256. package/lib/module/libs/MentionConfig.js +39 -0
  257. package/lib/module/libs/MentionConfig.js.map +1 -0
  258. package/lib/module/libs/MentionManager.js +223 -0
  259. package/lib/module/libs/MentionManager.js.map +1 -0
  260. package/lib/module/libs/SBUUtils.js +26 -1
  261. package/lib/module/libs/SBUUtils.js.map +1 -1
  262. package/lib/module/localization/StringSet.type.js +21 -6
  263. package/lib/module/localization/StringSet.type.js.map +1 -1
  264. package/lib/module/platform/createMediaService.expo.js +33 -1
  265. package/lib/module/platform/createMediaService.expo.js.map +1 -1
  266. package/lib/module/platform/createMediaService.native.js +38 -5
  267. package/lib/module/platform/createMediaService.native.js.map +1 -1
  268. package/lib/module/platform/dynamicModule.js +10 -56
  269. package/lib/module/platform/dynamicModule.js.map +1 -1
  270. package/lib/module/platform/types.js.map +1 -1
  271. package/lib/module/types.js.map +1 -1
  272. package/lib/module/version.js +1 -1
  273. package/lib/module/version.js.map +1 -1
  274. package/lib/typescript/__template__/types.d.ts +3 -3
  275. package/lib/typescript/src/components/ChannelCover.d.ts +1 -1
  276. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -1
  277. package/lib/typescript/src/components/FileViewer.d.ts +1 -1
  278. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +1 -1
  279. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +2 -2
  280. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +1 -1
  281. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +1 -1
  282. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +11 -2
  283. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +1 -1
  284. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +1 -1
  285. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +1 -1
  286. package/lib/typescript/src/components/MessageRenderer/MessageOutgoingStatus.d.ts +1 -1
  287. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +1 -1
  288. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +1 -1
  289. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +1 -1
  290. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +2 -2
  291. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +4 -1
  292. package/lib/typescript/src/components/MessageRenderer/index.d.ts +4 -3
  293. package/lib/typescript/src/components/NewMessagesButton.d.ts +1 -1
  294. package/lib/typescript/src/components/ReactionAddons/BottomSheetReactionAddon.d.ts +8 -0
  295. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +6 -0
  296. package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +14 -0
  297. package/lib/typescript/src/components/ReactionAddons/index.d.ts +11 -0
  298. package/lib/typescript/src/components/ReactionBottomSheets/ReactionListBottomSheet.d.ts +3 -0
  299. package/lib/typescript/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.d.ts +3 -0
  300. package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +20 -0
  301. package/lib/typescript/src/components/ScrollToBottomButton.d.ts +1 -1
  302. package/lib/typescript/src/components/StatusComposition.d.ts +1 -1
  303. package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
  304. package/lib/typescript/src/components/UserActionBar.d.ts +1 -1
  305. package/lib/typescript/src/components/UserSelectableBar.d.ts +1 -1
  306. package/lib/typescript/src/constants.d.ts +1 -0
  307. package/lib/typescript/src/containers/GroupChannelPreviewContainer.d.ts +1 -1
  308. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +20 -8
  309. package/lib/typescript/src/contexts/LocalizationCtx.d.ts +2 -2
  310. package/lib/typescript/src/contexts/PlatformServiceCtx.d.ts +9 -3
  311. package/lib/typescript/src/contexts/ReactionCtx.d.ts +18 -0
  312. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +16 -3
  313. package/lib/typescript/src/contexts/UserProfileCtx.d.ts +4 -4
  314. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +35 -7
  315. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +32 -5
  316. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +19 -2
  317. package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +3 -0
  318. package/lib/typescript/src/domain/groupChannel/index.d.ts +1 -0
  319. package/lib/typescript/src/domain/groupChannel/module/createGroupChannelModule.d.ts +1 -1
  320. package/lib/typescript/src/domain/groupChannel/types.d.ts +24 -7
  321. package/lib/typescript/src/domain/groupChannelBannedUsers/types.d.ts +3 -3
  322. package/lib/typescript/src/domain/groupChannelList/types.d.ts +2 -2
  323. package/lib/typescript/src/domain/groupChannelModeration/types.d.ts +3 -3
  324. package/lib/typescript/src/domain/groupChannelMutedMembers/types.d.ts +3 -3
  325. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +3 -0
  326. package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.d.ts +2 -0
  327. package/lib/typescript/src/domain/groupChannelNotifications/index.d.ts +4 -0
  328. package/lib/typescript/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.d.ts +3 -0
  329. package/lib/typescript/src/domain/groupChannelNotifications/module/moduleContext.d.ts +3 -0
  330. package/lib/typescript/src/domain/groupChannelNotifications/types.d.ts +33 -0
  331. package/lib/typescript/src/domain/groupChannelOperators/types.d.ts +3 -3
  332. package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
  333. package/lib/typescript/src/domain/groupChannelSettings/types.d.ts +3 -1
  334. package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +6 -6
  335. package/lib/typescript/src/domain/userList/component/UserListList.d.ts +2 -1
  336. package/lib/typescript/src/domain/userList/module/createUserListModule.d.ts +2 -1
  337. package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
  338. package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
  339. package/lib/typescript/src/fragments/createGroupChannelNotificationsFragment.d.ts +3 -0
  340. package/lib/typescript/src/hooks/useConnection.d.ts +1 -1
  341. package/lib/typescript/src/hooks/useContext.d.ts +3 -26
  342. package/lib/typescript/src/hooks/useKeyboardStatus.d.ts +6 -0
  343. package/lib/typescript/src/hooks/useMentionSuggestion.d.ts +17 -0
  344. package/lib/typescript/src/hooks/useMentionTextInput.d.ts +18 -0
  345. package/lib/typescript/src/index.d.ts +8 -3
  346. package/lib/typescript/src/libs/EmojiManager.d.ts +16 -0
  347. package/lib/typescript/src/libs/ImageCompressionConfig.d.ts +16 -0
  348. package/lib/typescript/src/libs/MentionConfig.d.ts +24 -0
  349. package/lib/typescript/src/libs/MentionManager.d.ts +61 -0
  350. package/lib/typescript/src/libs/SBUUtils.d.ts +6 -0
  351. package/lib/typescript/src/localization/StringSet.type.d.ts +19 -2
  352. package/lib/typescript/src/platform/createMediaService.expo.d.ts +6 -2
  353. package/lib/typescript/src/platform/createMediaService.native.d.ts +8 -6
  354. package/lib/typescript/src/platform/dynamicModule.d.ts +8 -13
  355. package/lib/typescript/src/platform/types.d.ts +33 -8
  356. package/lib/typescript/src/types.d.ts +13 -4
  357. package/lib/typescript/src/version.d.ts +1 -1
  358. package/package.json +16 -6
  359. package/src/components/ChatFlatList.tsx +2 -1
  360. package/src/components/FileViewer.tsx +2 -5
  361. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +17 -12
  362. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +30 -18
  363. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +21 -11
  364. package/src/components/MessageRenderer/FileMessage/index.tsx +1 -4
  365. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +82 -14
  366. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +136 -62
  367. package/src/components/MessageRenderer/UserMessage/index.tsx +8 -1
  368. package/src/components/MessageRenderer/index.tsx +39 -7
  369. package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +106 -0
  370. package/src/components/ReactionAddons/MessageReactionAddon.tsx +123 -0
  371. package/src/components/ReactionAddons/ReactionRoundedButton.tsx +71 -0
  372. package/src/components/ReactionAddons/index.tsx +7 -0
  373. package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +113 -0
  374. package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +249 -0
  375. package/src/components/ReactionBottomSheets/index.tsx +24 -0
  376. package/src/constants.ts +2 -0
  377. package/src/containers/GroupChannelPreviewContainer.tsx +3 -1
  378. package/src/containers/SendbirdUIKitContainer.tsx +165 -88
  379. package/src/contexts/PlatformServiceCtx.tsx +9 -2
  380. package/src/contexts/ReactionCtx.tsx +102 -0
  381. package/src/contexts/SendbirdChatCtx.tsx +46 -21
  382. package/src/contexts/UserProfileCtx.tsx +9 -0
  383. package/src/domain/groupChannel/component/GroupChannelInput/EditInput.tsx +56 -30
  384. package/src/domain/groupChannel/component/GroupChannelInput/SendInput.tsx +129 -32
  385. package/src/domain/groupChannel/component/GroupChannelInput/index.tsx +138 -43
  386. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +30 -12
  387. package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +173 -0
  388. package/src/domain/groupChannel/index.ts +1 -0
  389. package/src/domain/groupChannel/module/createGroupChannelModule.tsx +12 -1
  390. package/src/domain/groupChannel/module/moduleContext.tsx +4 -4
  391. package/src/domain/groupChannel/types.ts +28 -5
  392. package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -2
  393. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -1
  394. package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -1
  395. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.tsx +14 -0
  396. package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +128 -0
  397. package/src/domain/groupChannelNotifications/index.ts +4 -0
  398. package/src/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.tsx +15 -0
  399. package/src/domain/groupChannelNotifications/module/moduleContext.tsx +31 -0
  400. package/src/domain/groupChannelNotifications/types.ts +38 -0
  401. package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -1
  402. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +42 -3
  403. package/src/domain/groupChannelSettings/module/moduleContext.tsx +17 -14
  404. package/src/domain/groupChannelSettings/types.ts +2 -0
  405. package/src/domain/groupChannelUserList/types.ts +7 -2
  406. package/src/domain/userList/component/UserListList.tsx +5 -1
  407. package/src/domain/userList/module/createUserListModule.tsx +3 -1
  408. package/src/fragments/createGroupChannelCreateFragment.tsx +8 -2
  409. package/src/fragments/createGroupChannelFragment.tsx +19 -6
  410. package/src/fragments/createGroupChannelInviteFragment.tsx +2 -2
  411. package/src/fragments/createGroupChannelListFragment.tsx +5 -9
  412. package/src/fragments/createGroupChannelNotificationsFragment.tsx +27 -0
  413. package/src/fragments/createGroupChannelSettingsFragment.tsx +2 -0
  414. package/src/hooks/useConnection.ts +3 -1
  415. package/src/hooks/useContext.ts +7 -0
  416. package/src/hooks/useKeyboardStatus.ts +59 -0
  417. package/src/hooks/useMentionSuggestion.ts +106 -0
  418. package/src/hooks/useMentionTextInput.ts +139 -0
  419. package/src/index.ts +14 -2
  420. package/src/libs/EmojiManager.ts +80 -0
  421. package/src/libs/ImageCompressionConfig.ts +31 -0
  422. package/src/libs/MentionConfig.ts +40 -0
  423. package/src/libs/MentionManager.tsx +240 -0
  424. package/src/libs/SBUUtils.ts +28 -1
  425. package/src/localization/StringSet.type.ts +45 -8
  426. package/src/platform/createMediaService.expo.tsx +24 -1
  427. package/src/platform/createMediaService.native.tsx +31 -9
  428. package/src/platform/dynamicModule.ts +17 -59
  429. package/src/platform/types.ts +29 -7
  430. package/src/types.ts +12 -0
  431. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Logger","default","MessageRenderer","ChannelCover","ChatFlatList","FileViewer","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","createGroupChannelModerationFragment","createGroupChannelOperatorsFragment","createGroupChannelRegisterOperatorFragment","createGroupChannelMutedMembersFragment","createGroupChannelBannedUsersFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","UserProfileContext","UserProfileProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","useLocalization","usePlatformService","useSendbirdChat","useUserProfile","StringSetEn","createBaseStringSet","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","SendbirdUIKitContainer","SendbirdUIKit","SBUError","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\nexport { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';\nexport { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';\nexport { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';\nexport { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';\nexport { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport { useLocalization, usePlatformService, useSendbirdChat, useUserProfile } from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\nexport * from './domain/groupChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","Logger","default","MessageRenderer","ReactionAddons","ReactionBottomSheets","ChannelCover","ChatFlatList","FileViewer","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","createGroupChannelModerationFragment","createGroupChannelOperatorsFragment","createGroupChannelRegisterOperatorFragment","createGroupChannelMutedMembersFragment","createGroupChannelBannedUsersFragment","createGroupChannelNotificationsFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","UserProfileContext","UserProfileProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","StringSetEn","createBaseStringSet","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","GroupChannelNotificationsProps","GroupChannelNotificationsContextsType","GroupChannelNotificationsFragment","GroupChannelNotificationsModule","SendbirdUIKitContainer","SendbirdUIKit","SBUError","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { ReactionAddons } from './components/ReactionAddons';\nexport { ReactionBottomSheets } from './components/ReactionBottomSheets';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\nexport { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';\nexport { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';\nexport { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';\nexport { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';\nexport { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';\nexport { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport * from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n MediaServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/groupChannelNotifications';\nexport {\n GroupChannelNotificationsProps,\n GroupChannelNotificationsContextsType,\n GroupChannelNotificationsFragment,\n GroupChannelNotificationsModule,\n} from './domain/groupChannelNotifications/types';\n\nexport * from './domain/groupChannelUserList/types';\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import InternalLocalCacheStorage from './InternalLocalCacheStorage';
4
+
5
+ class MemoryStorage {
6
+ constructor() {
7
+ _defineProperty(this, "_data", {});
8
+ }
9
+
10
+ async getAllKeys() {
11
+ return Object.keys(this._data);
12
+ }
13
+
14
+ async getItem(key) {
15
+ return this._data[key];
16
+ }
17
+
18
+ async removeItem(key) {
19
+ delete this._data[key];
20
+ }
21
+
22
+ async setItem(key, value) {
23
+ this._data[key] = value;
24
+ }
25
+
26
+ }
27
+
28
+ class EmojiManager {
29
+ constructor() {
30
+ let internalStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new InternalLocalCacheStorage(new MemoryStorage());
31
+ this.internalStorage = internalStorage;
32
+
33
+ _defineProperty(this, "emojiStorage", {
34
+ data: null,
35
+ get: async () => {
36
+ if (!this.emojiStorage.data) {
37
+ const strItem = await this.internalStorage.getItem(EmojiManager.key);
38
+ if (strItem) this.emojiStorage.data = Object.freeze(JSON.parse(strItem));
39
+ }
40
+
41
+ return this.emojiStorage.data;
42
+ },
43
+ set: async data => {
44
+ this.emojiStorage.data = Object.freeze(data);
45
+ await this.internalStorage.setItem(EmojiManager.key, JSON.stringify(data));
46
+ }
47
+ });
48
+
49
+ _defineProperty(this, "_emojiCategoryMap", {});
50
+
51
+ _defineProperty(this, "_allEmojiMap", {});
52
+
53
+ _defineProperty(this, "_allEmoji", []);
54
+
55
+ _defineProperty(this, "init", async emojiContainer => {
56
+ if (emojiContainer) await this.emojiStorage.set(emojiContainer);
57
+ const container = await this.emojiStorage.get();
58
+
59
+ if (container) {
60
+ for (const category of container.emojiCategories) {
61
+ this._emojiCategoryMap[category.id] = category;
62
+
63
+ for (const emoji of category.emojis) {
64
+ this._allEmojiMap[emoji.key] = emoji;
65
+ }
66
+ }
67
+
68
+ this._allEmoji = Object.values(this._allEmojiMap);
69
+ }
70
+ });
71
+ }
72
+
73
+ get emojiCategoryMap() {
74
+ return this._emojiCategoryMap;
75
+ }
76
+
77
+ get allEmojiMap() {
78
+ return this._allEmojiMap;
79
+ }
80
+
81
+ get allEmoji() {
82
+ return this._allEmoji;
83
+ }
84
+
85
+ }
86
+
87
+ _defineProperty(EmojiManager, "key", 'sendbird-uikit@emoji-manager');
88
+
89
+ export default EmojiManager;
90
+ //# sourceMappingURL=EmojiManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InternalLocalCacheStorage","MemoryStorage","getAllKeys","Object","keys","_data","getItem","key","removeItem","setItem","value","EmojiManager","constructor","internalStorage","data","get","emojiStorage","strItem","freeze","JSON","parse","set","stringify","emojiContainer","container","category","emojiCategories","_emojiCategoryMap","id","emoji","emojis","_allEmojiMap","_allEmoji","values","emojiCategoryMap","allEmojiMap","allEmoji"],"sources":["EmojiManager.ts"],"sourcesContent":["import type { SendbirdEmoji, SendbirdEmojiCategory, SendbirdEmojiContainer } from '@sendbird/uikit-utils';\n\nimport type { LocalCacheStorage } from '../types';\nimport InternalLocalCacheStorage from './InternalLocalCacheStorage';\n\nclass MemoryStorage implements LocalCacheStorage {\n _data: Record<string, string> = {};\n\n async getAllKeys(): Promise<readonly string[] | string[]> {\n return Object.keys(this._data);\n }\n\n async getItem(key: string): Promise<string | null> {\n return this._data[key];\n }\n\n async removeItem(key: string): Promise<void> {\n delete this._data[key];\n }\n\n async setItem(key: string, value: string): Promise<void> {\n this._data[key] = value;\n }\n}\n\nclass EmojiManager {\n static key = 'sendbird-uikit@emoji-manager';\n\n constructor(\n private internalStorage: InternalLocalCacheStorage = new InternalLocalCacheStorage(new MemoryStorage()),\n ) {}\n\n private emojiStorage = {\n data: null as null | SendbirdEmojiContainer,\n get: async () => {\n if (!this.emojiStorage.data) {\n const strItem = await this.internalStorage.getItem(EmojiManager.key);\n if (strItem) this.emojiStorage.data = Object.freeze(JSON.parse(strItem));\n }\n return this.emojiStorage.data;\n },\n set: async (data: SendbirdEmojiContainer) => {\n this.emojiStorage.data = Object.freeze(data);\n await this.internalStorage.setItem(EmojiManager.key, JSON.stringify(data));\n },\n };\n\n private _emojiCategoryMap: Record<string, SendbirdEmojiCategory> = {};\n public get emojiCategoryMap() {\n return this._emojiCategoryMap;\n }\n\n private _allEmojiMap: Record<string, SendbirdEmoji> = {};\n public get allEmojiMap() {\n return this._allEmojiMap;\n }\n\n private _allEmoji: SendbirdEmoji[] = [];\n public get allEmoji() {\n return this._allEmoji;\n }\n\n public init = async (emojiContainer?: SendbirdEmojiContainer) => {\n if (emojiContainer) await this.emojiStorage.set(emojiContainer);\n\n const container = await this.emojiStorage.get();\n\n if (container) {\n for (const category of container.emojiCategories) {\n this._emojiCategoryMap[category.id] = category;\n for (const emoji of category.emojis) {\n this._allEmojiMap[emoji.key] = emoji;\n }\n }\n this._allEmoji = Object.values(this._allEmojiMap);\n }\n };\n}\n\nexport default EmojiManager;\n"],"mappings":";;AAGA,OAAOA,yBAAP,MAAsC,6BAAtC;;AAEA,MAAMC,aAAN,CAAiD;EAAA;IAAA,+BACf,EADe;EAAA;;EAG/B,MAAVC,UAAU,GAA0C;IACxD,OAAOC,MAAM,CAACC,IAAP,CAAY,KAAKC,KAAjB,CAAP;EACD;;EAEY,MAAPC,OAAO,CAACC,GAAD,EAAsC;IACjD,OAAO,KAAKF,KAAL,CAAWE,GAAX,CAAP;EACD;;EAEe,MAAVC,UAAU,CAACD,GAAD,EAA6B;IAC3C,OAAO,KAAKF,KAAL,CAAWE,GAAX,CAAP;EACD;;EAEY,MAAPE,OAAO,CAACF,GAAD,EAAcG,KAAd,EAA4C;IACvD,KAAKL,KAAL,CAAWE,GAAX,IAAkBG,KAAlB;EACD;;AAjB8C;;AAoBjD,MAAMC,YAAN,CAAmB;EAGjBC,WAAW,GAET;IAAA,IADQC,eACR,uEADqD,IAAIb,yBAAJ,CAA8B,IAAIC,aAAJ,EAA9B,CACrD;IAAA,KADQY,eACR,GADQA,eACR;;IAAA,sCAEqB;MACrBC,IAAI,EAAE,IADe;MAErBC,GAAG,EAAE,YAAY;QACf,IAAI,CAAC,KAAKC,YAAL,CAAkBF,IAAvB,EAA6B;UAC3B,MAAMG,OAAO,GAAG,MAAM,KAAKJ,eAAL,CAAqBP,OAArB,CAA6BK,YAAY,CAACJ,GAA1C,CAAtB;UACA,IAAIU,OAAJ,EAAa,KAAKD,YAAL,CAAkBF,IAAlB,GAAyBX,MAAM,CAACe,MAAP,CAAcC,IAAI,CAACC,KAAL,CAAWH,OAAX,CAAd,CAAzB;QACd;;QACD,OAAO,KAAKD,YAAL,CAAkBF,IAAzB;MACD,CARoB;MASrBO,GAAG,EAAE,MAAOP,IAAP,IAAwC;QAC3C,KAAKE,YAAL,CAAkBF,IAAlB,GAAyBX,MAAM,CAACe,MAAP,CAAcJ,IAAd,CAAzB;QACA,MAAM,KAAKD,eAAL,CAAqBJ,OAArB,CAA6BE,YAAY,CAACJ,GAA1C,EAA+CY,IAAI,CAACG,SAAL,CAAeR,IAAf,CAA/C,CAAN;MACD;IAZoB,CAFrB;;IAAA,2CAiBiE,EAjBjE;;IAAA,sCAsBoD,EAtBpD;;IAAA,mCA2BmC,EA3BnC;;IAAA,8BAgCY,MAAOS,cAAP,IAAmD;MAC/D,IAAIA,cAAJ,EAAoB,MAAM,KAAKP,YAAL,CAAkBK,GAAlB,CAAsBE,cAAtB,CAAN;MAEpB,MAAMC,SAAS,GAAG,MAAM,KAAKR,YAAL,CAAkBD,GAAlB,EAAxB;;MAEA,IAAIS,SAAJ,EAAe;QACb,KAAK,MAAMC,QAAX,IAAuBD,SAAS,CAACE,eAAjC,EAAkD;UAChD,KAAKC,iBAAL,CAAuBF,QAAQ,CAACG,EAAhC,IAAsCH,QAAtC;;UACA,KAAK,MAAMI,KAAX,IAAoBJ,QAAQ,CAACK,MAA7B,EAAqC;YACnC,KAAKC,YAAL,CAAkBF,KAAK,CAACtB,GAAxB,IAA+BsB,KAA/B;UACD;QACF;;QACD,KAAKG,SAAL,GAAiB7B,MAAM,CAAC8B,MAAP,CAAc,KAAKF,YAAnB,CAAjB;MACD;IACF,CA9CC;EAAE;;EAkBuB,IAAhBG,gBAAgB,GAAG;IAC5B,OAAO,KAAKP,iBAAZ;EACD;;EAGqB,IAAXQ,WAAW,GAAG;IACvB,OAAO,KAAKJ,YAAZ;EACD;;EAGkB,IAARK,QAAQ,GAAG;IACpB,OAAO,KAAKJ,SAAZ;EACD;;AAnCgB;;gBAAbrB,Y,SACS,8B;;AAqDf,eAAeA,YAAf"}
@@ -0,0 +1,30 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import { Logger } from '@sendbird/uikit-utils';
4
+
5
+ class ImageCompressionConfig {
6
+ constructor(_config) {
7
+ this._config = _config;
8
+ if (_config.compressionRate > 1) Logger.warn('Compression rate must be in the range of 0.0 - 1.0');
9
+ }
10
+
11
+ get compressionRate() {
12
+ return Math.min(Math.max(0, this._config.compressionRate), 1);
13
+ }
14
+
15
+ get width() {
16
+ return this._config.width;
17
+ }
18
+
19
+ get height() {
20
+ return this._config.height;
21
+ }
22
+
23
+ }
24
+
25
+ _defineProperty(ImageCompressionConfig, "DEFAULT", {
26
+ COMPRESSION_RATE: 0.7
27
+ });
28
+
29
+ export default ImageCompressionConfig;
30
+ //# sourceMappingURL=ImageCompressionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Logger","ImageCompressionConfig","constructor","_config","compressionRate","warn","Math","min","max","width","height","COMPRESSION_RATE"],"sources":["ImageCompressionConfig.ts"],"sourcesContent":["import { Logger } from '@sendbird/uikit-utils';\n\nexport interface ImageCompressionConfigInterface {\n compressionRate: number;\n width?: number;\n height?: number;\n}\n\nclass ImageCompressionConfig {\n static DEFAULT = {\n COMPRESSION_RATE: 0.7,\n };\n\n constructor(private _config: ImageCompressionConfigInterface) {\n if (_config.compressionRate > 1) Logger.warn('Compression rate must be in the range of 0.0 - 1.0');\n }\n\n get compressionRate() {\n return Math.min(Math.max(0, this._config.compressionRate), 1);\n }\n\n get width() {\n return this._config.width;\n }\n\n get height() {\n return this._config.height;\n }\n}\n\nexport default ImageCompressionConfig;\n"],"mappings":";;AAAA,SAASA,MAAT,QAAuB,uBAAvB;;AAQA,MAAMC,sBAAN,CAA6B;EAK3BC,WAAW,CAASC,OAAT,EAAmD;IAAA,KAA1CA,OAA0C,GAA1CA,OAA0C;IAC5D,IAAIA,OAAO,CAACC,eAAR,GAA0B,CAA9B,EAAiCJ,MAAM,CAACK,IAAP,CAAY,oDAAZ;EAClC;;EAEkB,IAAfD,eAAe,GAAG;IACpB,OAAOE,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAY,KAAKL,OAAL,CAAaC,eAAzB,CAAT,EAAoD,CAApD,CAAP;EACD;;EAEQ,IAALK,KAAK,GAAG;IACV,OAAO,KAAKN,OAAL,CAAaM,KAApB;EACD;;EAES,IAANC,MAAM,GAAG;IACX,OAAO,KAAKP,OAAL,CAAaO,MAApB;EACD;;AAnB0B;;gBAAvBT,sB,aACa;EACfU,gBAAgB,EAAE;AADH,C;;AAqBnB,eAAeV,sBAAf"}
@@ -0,0 +1,39 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ class MentionConfig {
4
+ constructor(_config) {
5
+ this._config = _config;
6
+ }
7
+
8
+ get mentionLimit() {
9
+ return this._config.mentionLimit;
10
+ }
11
+
12
+ get suggestionLimit() {
13
+ return this._config.suggestionLimit;
14
+ }
15
+
16
+ get delimiter() {
17
+ return this._config.delimiter;
18
+ }
19
+
20
+ get debounceMills() {
21
+ return this._config.debounceMills;
22
+ }
23
+
24
+ get trigger() {
25
+ return this._config.trigger;
26
+ }
27
+
28
+ }
29
+
30
+ _defineProperty(MentionConfig, "DEFAULT", {
31
+ MENTION_LIMIT: 10,
32
+ SUGGESTION_LIMIT: 15,
33
+ DEBOUNCE_MILLS: 300,
34
+ DELIMITER: ' ',
35
+ TRIGGER: '@'
36
+ });
37
+
38
+ export default MentionConfig;
39
+ //# sourceMappingURL=MentionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MentionConfig","constructor","_config","mentionLimit","suggestionLimit","delimiter","debounceMills","trigger","MENTION_LIMIT","SUGGESTION_LIMIT","DEBOUNCE_MILLS","DELIMITER","TRIGGER"],"sources":["MentionConfig.ts"],"sourcesContent":["export interface MentionConfigInterface {\n mentionLimit: number;\n suggestionLimit: number;\n debounceMills: number;\n delimiter: string;\n trigger: string;\n}\n\nclass MentionConfig {\n static DEFAULT = {\n MENTION_LIMIT: 10,\n SUGGESTION_LIMIT: 15,\n DEBOUNCE_MILLS: 300,\n DELIMITER: ' ',\n TRIGGER: '@',\n };\n constructor(private _config: MentionConfigInterface) {}\n\n get mentionLimit() {\n return this._config.mentionLimit;\n }\n\n get suggestionLimit() {\n return this._config.suggestionLimit;\n }\n\n get delimiter() {\n return this._config.delimiter;\n }\n\n get debounceMills() {\n return this._config.debounceMills;\n }\n\n get trigger() {\n return this._config.trigger;\n }\n}\n\nexport default MentionConfig;\n"],"mappings":";;AAQA,MAAMA,aAAN,CAAoB;EAQlBC,WAAW,CAASC,OAAT,EAA0C;IAAA,KAAjCA,OAAiC,GAAjCA,OAAiC;EAAE;;EAEvC,IAAZC,YAAY,GAAG;IACjB,OAAO,KAAKD,OAAL,CAAaC,YAApB;EACD;;EAEkB,IAAfC,eAAe,GAAG;IACpB,OAAO,KAAKF,OAAL,CAAaE,eAApB;EACD;;EAEY,IAATC,SAAS,GAAG;IACd,OAAO,KAAKH,OAAL,CAAaG,SAApB;EACD;;EAEgB,IAAbC,aAAa,GAAG;IAClB,OAAO,KAAKJ,OAAL,CAAaI,aAApB;EACD;;EAEU,IAAPC,OAAO,GAAG;IACZ,OAAO,KAAKL,OAAL,CAAaK,OAApB;EACD;;AA5BiB;;gBAAdP,a,aACa;EACfQ,aAAa,EAAE,EADA;EAEfC,gBAAgB,EAAE,EAFH;EAGfC,cAAc,EAAE,GAHD;EAIfC,SAAS,EAAE,GAJI;EAKfC,OAAO,EAAE;AALM,C;;AA8BnB,eAAeZ,aAAf"}
@@ -0,0 +1,223 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import React from 'react';
4
+ import { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
5
+ import { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';
6
+
7
+ class MentionManager {
8
+ constructor(config, mentionEnabled) {
9
+ var _this = this;
10
+
11
+ this.config = config;
12
+ this.mentionEnabled = mentionEnabled;
13
+
14
+ _defineProperty(this, "_invalidStartsKeywords", void 0);
15
+
16
+ _defineProperty(this, "_templateRegex", void 0);
17
+
18
+ _defineProperty(this, "rangeHelpers", {
19
+ inRangeUnderOver(start, num, end) {
20
+ return start < num && num < end;
21
+ },
22
+
23
+ inRangeUnderMore(start, num, end) {
24
+ return start < num && num <= end;
25
+ },
26
+
27
+ inRangeLessOver(start, num, end) {
28
+ return start <= num && num < end;
29
+ },
30
+
31
+ inRangeLessMore(start, num, end) {
32
+ return start <= num && num <= end;
33
+ },
34
+
35
+ overlaps(a, b) {
36
+ let compare = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'underOver';
37
+ const inRange = {
38
+ underOver: this.inRangeUnderOver,
39
+ underMore: this.inRangeUnderMore,
40
+ lessOver: this.inRangeLessOver,
41
+ lessMore: this.inRangeLessMore
42
+ }[compare];
43
+ return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);
44
+ }
45
+
46
+ });
47
+
48
+ _defineProperty(this, "getSearchString", (text, selectionIndex) => {
49
+ const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';
50
+ const triggerIdx = lastSpan.indexOf(this.config.trigger);
51
+ const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);
52
+ const searchString = mentionSpan.slice(this.config.trigger.length);
53
+ return {
54
+ searchString,
55
+ isTriggered: () => mentionSpan.startsWith(this.config.trigger),
56
+ isValidSearchString: () => this._invalidStartsKeywords.every(it => !searchString.startsWith(it))
57
+ };
58
+ });
59
+
60
+ _defineProperty(this, "reconcileRangeOfMentionedUsers", (offset, selectionIndex, mentionedUsers) => {
61
+ return mentionedUsers.map(it => {
62
+ // Changes only on the right text of selection.
63
+ if (selectionIndex <= it.range.start) {
64
+ return { ...it,
65
+ range: {
66
+ start: it.range.start + offset,
67
+ end: it.range.end + offset
68
+ }
69
+ };
70
+ }
71
+
72
+ return it;
73
+ });
74
+ });
75
+
76
+ _defineProperty(this, "removeMentionedUsersInSelection", (selection, mentionedUsers) => {
77
+ let lastSelection = 0;
78
+ let removedOffset = 0;
79
+ const filtered = mentionedUsers.filter(it => {
80
+ const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');
81
+
82
+ if (shouldRemove) {
83
+ lastSelection = Math.max(lastSelection, it.range.end);
84
+ removedOffset -= it.range.end - it.range.start;
85
+ }
86
+
87
+ return !shouldRemove;
88
+ });
89
+ return {
90
+ filtered,
91
+ lastSelection,
92
+ removedOffset
93
+ };
94
+ });
95
+
96
+ _defineProperty(this, "getSearchStringRangeInText", (selectionIndex, searchString) => {
97
+ return {
98
+ start: selectionIndex - searchString.length - this.config.trigger.length,
99
+ end: selectionIndex
100
+ };
101
+ });
102
+
103
+ _defineProperty(this, "asMentionedMessageTemplate", function (user) {
104
+ let delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
105
+ return `${_this.config.trigger}{${user.userId}}` + (delimiter ? _this.config.delimiter : '');
106
+ });
107
+
108
+ _defineProperty(this, "asMentionedMessageText", function (user) {
109
+ let delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
110
+ return `${_this.config.trigger}${user.nickname}` + (delimiter ? _this.config.delimiter : '');
111
+ });
112
+
113
+ _defineProperty(this, "textToMentionedComponents", (text, mentionedUsers) => {
114
+ if (!this.mentionEnabled || mentionedUsers.length === 0) return text;
115
+ const {
116
+ leftText,
117
+ components
118
+ } = mentionedUsers.sort((a, b) => b.range.start - a.range.start).reduce((_ref, curr, currentIndex) => {
119
+ let {
120
+ leftText,
121
+ components
122
+ } = _ref;
123
+ const leftSpan = leftText.slice(0, curr.range.start);
124
+ const mentionSpan = leftText.slice(curr.range.start, curr.range.end);
125
+ const rightSpan = leftText.slice(curr.range.end);
126
+ return {
127
+ leftText: leftSpan,
128
+ components: [/*#__PURE__*/React.createElement(Text, {
129
+ key: mentionSpan + currentIndex,
130
+ style: styles.mentionedText
131
+ }, mentionSpan), rightSpan, ...components]
132
+ };
133
+ }, {
134
+ leftText: text,
135
+ components: []
136
+ });
137
+ return [leftText, ...components];
138
+ });
139
+
140
+ _defineProperty(this, "textToMentionedMessageTemplate", (text, mentionedUsers) => {
141
+ if (!this.mentionEnabled) return text;
142
+ const {
143
+ leftText,
144
+ strings
145
+ } = mentionedUsers.sort((a, b) => b.range.start - a.range.start).reduce((_ref2, curr) => {
146
+ let {
147
+ leftText,
148
+ strings
149
+ } = _ref2;
150
+ const leftSpan = leftText.slice(0, curr.range.start);
151
+ const templateSpan = this.asMentionedMessageTemplate(curr.user);
152
+ const rightSpan = leftText.slice(curr.range.end);
153
+ return {
154
+ leftText: leftSpan,
155
+ strings: [templateSpan, rightSpan, ...strings]
156
+ };
157
+ }, {
158
+ leftText: text,
159
+ strings: []
160
+ });
161
+ return [leftText, ...strings].join('');
162
+ });
163
+
164
+ _defineProperty(this, "templateToTextAndMentionedUsers", (template, mentionedUsers) => {
165
+ const actualMentionedUsers = [];
166
+ let offsetToMove = 0;
167
+ const mentionedText = replaceWithRegex(template, this.templateRegex, _ref3 => {
168
+ let {
169
+ match,
170
+ matchIndex,
171
+ groups
172
+ } = _ref3;
173
+ const user = mentionedUsers.find(it => it.userId === groups[2]);
174
+
175
+ if (user && typeof matchIndex === 'number') {
176
+ const userIdSpan = match;
177
+ const userNicknameSpan = this.asMentionedMessageText(user);
178
+ const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;
179
+ const originalRange = {
180
+ start: matchIndex,
181
+ end: matchIndex + userIdSpan.length
182
+ };
183
+ const convertedRange = {
184
+ start: Math.max(0, originalRange.start + offsetToMove),
185
+ end: originalRange.end + offsetToMove + offsetAfterConverted
186
+ };
187
+ offsetToMove += offsetAfterConverted;
188
+ actualMentionedUsers.push({
189
+ range: convertedRange,
190
+ user
191
+ });
192
+ return userNicknameSpan;
193
+ }
194
+
195
+ return match;
196
+ }, '').join('');
197
+ return {
198
+ mentionedText,
199
+ mentionedUsers: actualMentionedUsers
200
+ };
201
+ });
202
+
203
+ _defineProperty(this, "shouldUseMentionedMessageTemplate", message => {
204
+ return Boolean(this.mentionEnabled && (message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate) && (message === null || message === void 0 ? void 0 : message.mentionedUsers) && (message === null || message === void 0 ? void 0 : message.mentionedUsers.length) > 0);
205
+ });
206
+
207
+ this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];
208
+ this._templateRegex = createMentionTemplateRegex(this.config.trigger);
209
+ }
210
+
211
+ get templateRegex() {
212
+ return this._templateRegex;
213
+ }
214
+
215
+ }
216
+
217
+ const styles = createStyleSheet({
218
+ mentionedText: {
219
+ fontWeight: 'bold'
220
+ }
221
+ });
222
+ export default MentionManager;
223
+ //# sourceMappingURL=MentionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","createStyleSheet","createMentionTemplateRegex","replaceWithRegex","MentionManager","constructor","config","mentionEnabled","inRangeUnderOver","start","num","end","inRangeUnderMore","inRangeLessOver","inRangeLessMore","overlaps","a","b","compare","inRange","underOver","underMore","lessOver","lessMore","text","selectionIndex","lastSpan","slice","split","delimiter","pop","triggerIdx","indexOf","trigger","mentionSpan","searchString","length","isTriggered","startsWith","isValidSearchString","_invalidStartsKeywords","every","it","offset","mentionedUsers","map","range","selection","lastSelection","removedOffset","filtered","filter","shouldRemove","rangeHelpers","Math","max","user","userId","nickname","leftText","components","sort","reduce","curr","currentIndex","leftSpan","rightSpan","styles","mentionedText","strings","templateSpan","asMentionedMessageTemplate","join","template","actualMentionedUsers","offsetToMove","templateRegex","match","matchIndex","groups","find","userIdSpan","userNicknameSpan","asMentionedMessageText","offsetAfterConverted","originalRange","convertedRange","push","message","Boolean","mentionedMessageTemplate","_templateRegex","fontWeight"],"sources":["MentionManager.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUser, SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser, Range } from '../types';\nimport type { MentionConfigInterface } from './MentionConfig';\n\nclass MentionManager {\n private _invalidStartsKeywords: string[];\n private _templateRegex: RegExp;\n\n constructor(public config: MentionConfigInterface, public mentionEnabled: boolean) {\n this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];\n this._templateRegex = createMentionTemplateRegex(this.config.trigger);\n }\n\n public rangeHelpers = {\n inRangeUnderOver(start: number, num: number, end: number) {\n return start < num && num < end;\n },\n inRangeUnderMore(start: number, num: number, end: number) {\n return start < num && num <= end;\n },\n inRangeLessOver(start: number, num: number, end: number) {\n return start <= num && num < end;\n },\n inRangeLessMore(start: number, num: number, end: number) {\n return start <= num && num <= end;\n },\n overlaps(a: Range, b: Range, compare: 'underOver' | 'underMore' | 'lessOver' | 'lessMore' = 'underOver') {\n const inRange = {\n underOver: this.inRangeUnderOver,\n underMore: this.inRangeUnderMore,\n lessOver: this.inRangeLessOver,\n lessMore: this.inRangeLessMore,\n }[compare];\n\n return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);\n },\n };\n\n public get templateRegex() {\n return this._templateRegex;\n }\n\n public getSearchString = (text: string, selectionIndex: number) => {\n const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';\n const triggerIdx = lastSpan.indexOf(this.config.trigger);\n const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);\n const searchString = mentionSpan.slice(this.config.trigger.length);\n\n return {\n searchString,\n isTriggered: () => mentionSpan.startsWith(this.config.trigger),\n isValidSearchString: () => this._invalidStartsKeywords.every((it) => !searchString.startsWith(it)),\n };\n };\n\n /**\n * @description Reconcile the range by offset in the mentioned users\n * */\n public reconcileRangeOfMentionedUsers = (offset: number, selectionIndex: number, mentionedUsers: MentionedUser[]) => {\n return mentionedUsers.map((it) => {\n // Changes only on the right text of selection.\n if (selectionIndex <= it.range.start) {\n return {\n ...it,\n range: {\n start: it.range.start + offset,\n end: it.range.end + offset,\n },\n };\n }\n\n return it;\n });\n };\n\n /**\n * @description Remove users who in a range\n * */\n public removeMentionedUsersInSelection = (selection: Range, mentionedUsers: MentionedUser[]) => {\n let lastSelection = 0;\n let removedOffset = 0;\n const filtered = mentionedUsers.filter((it) => {\n const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');\n if (shouldRemove) {\n lastSelection = Math.max(lastSelection, it.range.end);\n removedOffset -= it.range.end - it.range.start;\n }\n return !shouldRemove;\n });\n\n return { filtered, lastSelection, removedOffset };\n };\n\n public getSearchStringRangeInText = (selectionIndex: number, searchString: string): Range => {\n return {\n start: selectionIndex - searchString.length - this.config.trigger.length,\n end: selectionIndex,\n };\n };\n\n /**\n * @description User to @{user.id} template format\n * */\n public asMentionedMessageTemplate = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}{${user.userId}}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description User to @user.nickname text format\n * */\n public asMentionedMessageText = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}${user.nickname}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description Bold @user.nickname\n * */\n public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled || mentionedUsers.length === 0) return text;\n\n const { leftText, components } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, components }, curr, currentIndex) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const mentionSpan = leftText.slice(curr.range.start, curr.range.end);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n components: [\n <Text key={mentionSpan + currentIndex} style={styles.mentionedText}>\n {mentionSpan}\n </Text>,\n rightSpan,\n ...components,\n ],\n };\n },\n { leftText: text, components: [] as (string | JSX.Element)[] },\n );\n\n return [leftText, ...components];\n };\n\n public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled) return text;\n\n const { leftText, strings } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, strings }, curr) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const templateSpan = this.asMentionedMessageTemplate(curr.user);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n strings: [templateSpan, rightSpan, ...strings],\n };\n },\n { leftText: text, strings: [] as string[] },\n );\n\n return [leftText, ...strings].join('');\n };\n\n /**\n * @description Convert @{user.id} template to @user.nickname text and MentionedUser[] array.\n * */\n public templateToTextAndMentionedUsers = (template: string, mentionedUsers: SendbirdUser[]) => {\n const actualMentionedUsers: MentionedUser[] = [];\n\n let offsetToMove = 0;\n const mentionedText = replaceWithRegex(\n template,\n this.templateRegex,\n ({ match, matchIndex, groups }) => {\n const user = mentionedUsers.find((it) => it.userId === groups[2]);\n if (user && typeof matchIndex === 'number') {\n const userIdSpan = match;\n const userNicknameSpan = this.asMentionedMessageText(user);\n\n const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;\n\n const originalRange: Range = {\n start: matchIndex,\n end: matchIndex + userIdSpan.length,\n };\n\n const convertedRange: Range = {\n start: Math.max(0, originalRange.start + offsetToMove),\n end: originalRange.end + offsetToMove + offsetAfterConverted,\n };\n\n offsetToMove += offsetAfterConverted;\n\n actualMentionedUsers.push({ range: convertedRange, user });\n return userNicknameSpan;\n }\n return match;\n },\n '',\n ).join('');\n\n return {\n mentionedText,\n mentionedUsers: actualMentionedUsers,\n };\n };\n\n public shouldUseMentionedMessageTemplate = (\n message?: SendbirdUserMessage | SendbirdFileMessage,\n ): message is RequiredSpecific<\n SendbirdUserMessage | SendbirdFileMessage,\n 'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'\n > => {\n return Boolean(\n this.mentionEnabled &&\n message?.mentionedMessageTemplate &&\n message?.mentionedUsers &&\n message?.mentionedUsers.length > 0,\n );\n };\n}\n\ntype RequiredSpecific<T, K extends keyof T> = T & {\n [P in K]-?: T[P];\n};\n\nconst styles = createStyleSheet({\n mentionedText: { fontWeight: 'bold' },\n});\n\nexport default MentionManager;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Linking, Platform } from 'react-native';
1
+ import { Image, Linking, Platform } from 'react-native';
2
+ import { Logger } from '@sendbird/uikit-utils';
2
3
  export default class SBUUtils {
3
4
  static openSettings() {
4
5
  Linking.openSettings().catch(() => {
@@ -6,5 +7,29 @@ export default class SBUUtils {
6
7
  });
7
8
  }
8
9
 
10
+ static openURL(url) {
11
+ const targetUrl = url.startsWith('http') ? url : 'https://' + url;
12
+ Linking.openURL(targetUrl).catch(err => Logger.warn('Cannot open url', err));
13
+ }
14
+
15
+ static getImageSize(uri) {
16
+ return new Promise((resolve, reject) => {
17
+ Image.getSize(uri, (width, height) => {
18
+ resolve({
19
+ width,
20
+ height
21
+ });
22
+ }, error => {
23
+ reject(error);
24
+ });
25
+ });
26
+ }
27
+
28
+ static async safeRun(callback) {
29
+ try {
30
+ await callback();
31
+ } catch (e) {}
32
+ }
33
+
9
34
  }
10
35
  //# sourceMappingURL=SBUUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","SBUUtils","openSettings","catch","OS","openURL"],"sources":["SBUUtils.ts"],"sourcesContent":["import { Linking, Platform } from 'react-native';\n\nexport default class SBUUtils {\n static openSettings() {\n Linking.openSettings().catch(() => {\n if (Platform.OS === 'ios') Linking.openURL('App-Prefs:root');\n });\n }\n}\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,QAAlB,QAAkC,cAAlC;AAEA,eAAe,MAAMC,QAAN,CAAe;EACT,OAAZC,YAAY,GAAG;IACpBH,OAAO,CAACG,YAAR,GAAuBC,KAAvB,CAA6B,MAAM;MACjC,IAAIH,QAAQ,CAACI,EAAT,KAAgB,KAApB,EAA2BL,OAAO,CAACM,OAAR,CAAgB,gBAAhB;IAC5B,CAFD;EAGD;;AAL2B"}
1
+ {"version":3,"names":["Image","Linking","Platform","Logger","SBUUtils","openSettings","catch","OS","openURL","url","targetUrl","startsWith","err","warn","getImageSize","uri","Promise","resolve","reject","getSize","width","height","error","safeRun","callback","e"],"sources":["SBUUtils.ts"],"sourcesContent":["import { Image, Linking, Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport default class SBUUtils {\n static openSettings() {\n Linking.openSettings().catch(() => {\n if (Platform.OS === 'ios') Linking.openURL('App-Prefs:root');\n });\n }\n\n static openURL(url: string) {\n const targetUrl = url.startsWith('http') ? url : 'https://' + url;\n Linking.openURL(targetUrl).catch((err) => Logger.warn('Cannot open url', err));\n }\n\n static getImageSize(uri: string): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n Image.getSize(\n uri,\n (width, height) => {\n resolve({ width, height });\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n static async safeRun(callback: () => Promise<void>) {\n try {\n await callback();\n } catch (e) {}\n }\n}\n"],"mappings":"AAAA,SAASA,KAAT,EAAgBC,OAAhB,EAAyBC,QAAzB,QAAyC,cAAzC;AAEA,SAASC,MAAT,QAAuB,uBAAvB;AAEA,eAAe,MAAMC,QAAN,CAAe;EACT,OAAZC,YAAY,GAAG;IACpBJ,OAAO,CAACI,YAAR,GAAuBC,KAAvB,CAA6B,MAAM;MACjC,IAAIJ,QAAQ,CAACK,EAAT,KAAgB,KAApB,EAA2BN,OAAO,CAACO,OAAR,CAAgB,gBAAhB;IAC5B,CAFD;EAGD;;EAEa,OAAPA,OAAO,CAACC,GAAD,EAAc;IAC1B,MAAMC,SAAS,GAAGD,GAAG,CAACE,UAAJ,CAAe,MAAf,IAAyBF,GAAzB,GAA+B,aAAaA,GAA9D;IACAR,OAAO,CAACO,OAAR,CAAgBE,SAAhB,EAA2BJ,KAA3B,CAAkCM,GAAD,IAAST,MAAM,CAACU,IAAP,CAAY,iBAAZ,EAA+BD,GAA/B,CAA1C;EACD;;EAEkB,OAAZE,YAAY,CAACC,GAAD,EAA0D;IAC3E,OAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;MACtClB,KAAK,CAACmB,OAAN,CACEJ,GADF,EAEE,CAACK,KAAD,EAAQC,MAAR,KAAmB;QACjBJ,OAAO,CAAC;UAAEG,KAAF;UAASC;QAAT,CAAD,CAAP;MACD,CAJH,EAKGC,KAAD,IAAW;QACTJ,MAAM,CAACI,KAAD,CAAN;MACD,CAPH;IASD,CAVM,CAAP;EAWD;;EAEmB,aAAPC,OAAO,CAACC,QAAD,EAAgC;IAClD,IAAI;MACF,MAAMA,QAAQ,EAAd;IACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CAAE;EACf;;AA9B2B"}
@@ -1,4 +1,4 @@
1
- import { dateSeparator, getGroupChannelLastMessage, getGroupChannelPreviewTime, getGroupChannelTitle, messageTime } from '@sendbird/uikit-utils';
1
+ import { getDateSeparatorFormat, getGroupChannelLastMessage, getGroupChannelPreviewTime, getGroupChannelTitle, getMessageTimeFormat } from '@sendbird/uikit-utils';
2
2
  /**
3
3
  * StringSet interface
4
4
  * Do not configure over 3 depths (for overrides easy)
@@ -24,9 +24,9 @@ export const createBaseStringSet = _ref => {
24
24
  GROUP_CHANNEL: {
25
25
  HEADER_TITLE: (currentUserId, channel) => getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),
26
26
  LIST_BANNER_FROZEN: 'Channel is frozen',
27
- LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),
27
+ LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),
28
28
  LIST_BUTTON_NEW_MSG: newMessages => `${newMessages.length} new messages`,
29
- MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),
29
+ MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),
30
30
  MESSAGE_BUBBLE_FILE_TITLE: message => message.name,
31
31
  MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
32
32
  MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
@@ -36,6 +36,7 @@ export const createBaseStringSet = _ref => {
36
36
  INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
37
37
  INPUT_EDIT_OK: 'Save',
38
38
  INPUT_EDIT_CANCEL: 'Cancel',
39
+ MENTION_LIMITED: mentionLimit => `You can have up to ${mentionLimit} mentions per message.`,
39
40
  DIALOG_MESSAGE_COPY: 'Copy',
40
41
  DIALOG_MESSAGE_EDIT: 'Edit',
41
42
  DIALOG_MESSAGE_SAVE: 'Save',
@@ -54,9 +55,12 @@ export const createBaseStringSet = _ref => {
54
55
  HEADER_TITLE: 'Channel information',
55
56
  HEADER_RIGHT: 'Edit',
56
57
  MENU_MODERATION: 'Moderation',
57
- MENU_NOTIFICATION: 'Notifications',
58
58
  MENU_MEMBERS: 'Members',
59
59
  MENU_LEAVE_CHANNEL: 'Leave channel',
60
+ MENU_NOTIFICATION: 'Notifications',
61
+ MENU_NOTIFICATION_LABEL_ON: 'On',
62
+ MENU_NOTIFICATION_LABEL_OFF: 'Off',
63
+ MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',
60
64
  DIALOG_CHANGE_NAME: 'Change channel name',
61
65
  DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',
62
66
  DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',
@@ -68,6 +72,14 @@ export const createBaseStringSet = _ref => {
68
72
  DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',
69
73
  ...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL_SETTINGS)
70
74
  },
75
+ GROUP_CHANNEL_NOTIFICATIONS: {
76
+ HEADER_TITLE: 'Notifications',
77
+ MENU_NOTIFICATIONS: 'Notifications',
78
+ MENU_NOTIFICATIONS_DESC: 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',
79
+ MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',
80
+ MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',
81
+ ...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL_NOTIFICATIONS)
82
+ },
71
83
  GROUP_CHANNEL_MODERATION: {
72
84
  HEADER_TITLE: 'Moderation',
73
85
  MENU_OPERATORS: 'Operators',
@@ -153,6 +165,9 @@ export const createBaseStringSet = _ref => {
153
165
  ...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL_INVITE)
154
166
  },
155
167
  LABELS: {
168
+ PERMISSION_APP_NAME: 'Application',
169
+ PERMISSION_CAMERA: 'camera',
170
+ PERMISSION_DEVICE_STORAGE: 'device storage',
156
171
  USER_NO_NAME,
157
172
  CHANNEL_NO_MEMBERS,
158
173
  TYPING_INDICATOR_TYPINGS: function (users) {
@@ -179,7 +194,7 @@ export const createBaseStringSet = _ref => {
179
194
 
180
195
  return ((_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.nickname) || USER_NO_NAME;
181
196
  },
182
- SUBTITLE: message => messageTime(new Date(message.createdAt), dateLocale)
197
+ SUBTITLE: message => getMessageTimeFormat(new Date(message.createdAt), dateLocale)
183
198
  },
184
199
  PLACEHOLDER: {
185
200
  NO_BANNED_USERS: 'No banned users',
@@ -200,7 +215,7 @@ export const createBaseStringSet = _ref => {
200
215
  ALERT_PERMISSIONS_TITLE: 'Allow access?',
201
216
  ALERT_PERMISSIONS_MESSAGE: function (permission) {
202
217
  let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Application';
203
- return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;
218
+ return `${appName} need permission to access your ${permission}.`;
204
219
  },
205
220
  ALERT_PERMISSIONS_OK: 'Go to settings',
206
221
  PROMPT_DEFAULT_OK: 'Submit',