@sendbird/uikit-react-native 3.5.3 → 3.6.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 (234) hide show
  1. package/lib/commonjs/components/ChannelInput/SendInput.js +23 -6
  2. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  3. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  4. package/lib/commonjs/components/ChannelMessageList/index.js +22 -4
  5. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  6. package/lib/commonjs/components/ChannelThreadMessageList/index.js +349 -0
  7. package/lib/commonjs/components/ChannelThreadMessageList/index.js.map +1 -0
  8. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +2 -2
  9. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
  10. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +100 -0
  11. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -0
  12. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +24 -6
  13. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
  14. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +23 -6
  15. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  16. package/lib/commonjs/components/ThreadChatFlatList/index.js +76 -0
  17. package/lib/commonjs/components/ThreadChatFlatList/index.js.map +1 -0
  18. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js +41 -0
  19. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -0
  20. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +74 -0
  21. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -0
  22. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js +42 -0
  23. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -0
  24. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +94 -0
  25. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -0
  26. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +61 -0
  27. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -0
  28. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +127 -0
  29. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -0
  30. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +206 -0
  31. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -0
  32. package/lib/commonjs/containers/SendbirdUIKitContainer.js +7 -1
  33. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  34. package/lib/commonjs/contexts/SendbirdChatCtx.js +7 -0
  35. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  36. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +28 -5
  37. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  38. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +14 -4
  39. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  40. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  41. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js +82 -0
  42. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -0
  43. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js +44 -0
  44. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -0
  45. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +127 -0
  46. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -0
  47. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +315 -0
  48. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -0
  49. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js +27 -0
  50. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -0
  51. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js +27 -0
  52. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -0
  53. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +195 -0
  54. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -0
  55. package/lib/commonjs/domain/groupChannelThread/index.js +69 -0
  56. package/lib/commonjs/domain/groupChannelThread/index.js.map +1 -0
  57. package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js +42 -0
  58. package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -0
  59. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js +148 -0
  60. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js.map +1 -0
  61. package/lib/commonjs/domain/groupChannelThread/types.js +6 -0
  62. package/lib/commonjs/domain/groupChannelThread/types.js.map +1 -0
  63. package/lib/commonjs/fragments/createGroupChannelFragment.js +30 -5
  64. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  65. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +267 -0
  66. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -0
  67. package/lib/commonjs/hooks/useMentionSuggestion.js +5 -2
  68. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
  69. package/lib/commonjs/index.js +72 -40
  70. package/lib/commonjs/index.js.map +1 -1
  71. package/lib/commonjs/libs/VoiceMessageStatusManager.js +66 -0
  72. package/lib/commonjs/libs/VoiceMessageStatusManager.js.map +1 -0
  73. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  74. package/lib/commonjs/localization/createBaseStringSet.js +25 -3
  75. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  76. package/lib/commonjs/version.js +1 -1
  77. package/lib/commonjs/version.js.map +1 -1
  78. package/lib/module/components/ChannelInput/SendInput.js +23 -6
  79. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  80. package/lib/module/components/ChannelInput/index.js.map +1 -1
  81. package/lib/module/components/ChannelMessageList/index.js +22 -4
  82. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  83. package/lib/module/components/ChannelThreadMessageList/index.js +341 -0
  84. package/lib/module/components/ChannelThreadMessageList/index.js.map +1 -0
  85. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +2 -2
  86. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
  87. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +92 -0
  88. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -0
  89. package/lib/module/components/GroupChannelMessageRenderer/index.js +24 -6
  90. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
  91. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +23 -6
  92. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  93. package/lib/module/components/ThreadChatFlatList/index.js +66 -0
  94. package/lib/module/components/ThreadChatFlatList/index.js.map +1 -0
  95. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js +34 -0
  96. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -0
  97. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +67 -0
  98. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -0
  99. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js +34 -0
  100. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -0
  101. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +87 -0
  102. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -0
  103. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +54 -0
  104. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -0
  105. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +119 -0
  106. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -0
  107. package/lib/module/components/ThreadParentMessageRenderer/index.js +196 -0
  108. package/lib/module/components/ThreadParentMessageRenderer/index.js.map +1 -0
  109. package/lib/module/containers/SendbirdUIKitContainer.js +7 -1
  110. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  111. package/lib/module/contexts/SendbirdChatCtx.js +6 -0
  112. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  113. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +30 -6
  114. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  115. package/lib/module/domain/groupChannel/module/moduleContext.js +14 -4
  116. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  117. package/lib/module/domain/groupChannel/types.js.map +1 -1
  118. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js +73 -0
  119. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -0
  120. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js +34 -0
  121. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -0
  122. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +117 -0
  123. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -0
  124. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +305 -0
  125. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -0
  126. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js +19 -0
  127. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -0
  128. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js +19 -0
  129. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -0
  130. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +185 -0
  131. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -0
  132. package/lib/module/domain/groupChannelThread/index.js +9 -0
  133. package/lib/module/domain/groupChannelThread/index.js.map +1 -0
  134. package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js +34 -0
  135. package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -0
  136. package/lib/module/domain/groupChannelThread/module/moduleContext.js +137 -0
  137. package/lib/module/domain/groupChannelThread/module/moduleContext.js.map +1 -0
  138. package/lib/module/domain/groupChannelThread/types.js +2 -0
  139. package/lib/module/domain/groupChannelThread/types.js.map +1 -0
  140. package/lib/module/fragments/createGroupChannelFragment.js +33 -7
  141. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  142. package/lib/module/fragments/createGroupChannelThreadFragment.js +257 -0
  143. package/lib/module/fragments/createGroupChannelThreadFragment.js.map +1 -0
  144. package/lib/module/hooks/useMentionSuggestion.js +5 -2
  145. package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
  146. package/lib/module/index.js +3 -0
  147. package/lib/module/index.js.map +1 -1
  148. package/lib/module/libs/VoiceMessageStatusManager.js +59 -0
  149. package/lib/module/libs/VoiceMessageStatusManager.js.map +1 -0
  150. package/lib/module/localization/StringSet.type.js.map +1 -1
  151. package/lib/module/localization/createBaseStringSet.js +27 -4
  152. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  153. package/lib/module/version.js +1 -1
  154. package/lib/module/version.js.map +1 -1
  155. package/lib/typescript/src/components/ChannelInput/index.d.ts +1 -0
  156. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +5 -2
  157. package/lib/typescript/src/components/ChannelThreadMessageList/index.d.ts +55 -0
  158. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.d.ts +1 -1
  159. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.d.ts +9 -0
  160. package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +3 -1
  161. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +3 -1
  162. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +3 -1
  163. package/lib/typescript/src/components/ReactionAddons/index.d.ts +2 -1
  164. package/lib/typescript/src/components/ThreadChatFlatList/index.d.ts +9 -0
  165. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.d.ts +4 -0
  166. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.d.ts +4 -0
  167. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.d.ts +9 -0
  168. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.d.ts +13 -0
  169. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.d.ts +10 -0
  170. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.d.ts +10 -0
  171. package/lib/typescript/src/components/ThreadParentMessageRenderer/index.d.ts +20 -0
  172. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +6 -4
  173. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +15 -1
  174. package/lib/typescript/src/domain/groupChannel/types.d.ts +4 -1
  175. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadHeader.d.ts +4 -0
  176. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +3 -0
  177. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +7 -0
  178. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.d.ts +8 -0
  179. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.d.ts +3 -0
  180. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.d.ts +3 -0
  181. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.d.ts +4 -0
  182. package/lib/typescript/src/domain/groupChannelThread/index.d.ts +8 -0
  183. package/lib/typescript/src/domain/groupChannelThread/module/createGroupChannelThreadModule.d.ts +3 -0
  184. package/lib/typescript/src/domain/groupChannelThread/module/moduleContext.d.ts +3 -0
  185. package/lib/typescript/src/domain/groupChannelThread/types.d.ts +136 -0
  186. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  187. package/lib/typescript/src/fragments/createGroupChannelThreadFragment.d.ts +5 -0
  188. package/lib/typescript/src/hooks/useChannelInputItems.d.ts +1 -1
  189. package/lib/typescript/src/index.d.ts +3 -0
  190. package/lib/typescript/src/libs/VoiceMessageStatusManager.d.ts +11 -0
  191. package/lib/typescript/src/localization/StringSet.type.d.ts +23 -0
  192. package/lib/typescript/src/localization/createBaseStringSet.d.ts +1 -1
  193. package/lib/typescript/src/version.d.ts +1 -1
  194. package/package.json +6 -6
  195. package/src/components/ChannelInput/SendInput.tsx +24 -5
  196. package/src/components/ChannelInput/index.tsx +1 -0
  197. package/src/components/ChannelMessageList/index.tsx +27 -5
  198. package/src/components/ChannelThreadMessageList/index.tsx +406 -0
  199. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.tsx +3 -3
  200. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.tsx +96 -0
  201. package/src/components/GroupChannelMessageRenderer/index.tsx +21 -5
  202. package/src/components/ReactionAddons/MessageReactionAddon.tsx +38 -5
  203. package/src/components/ThreadChatFlatList/index.tsx +63 -0
  204. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.tsx +36 -0
  205. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.tsx +61 -0
  206. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.tsx +45 -0
  207. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.tsx +107 -0
  208. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.tsx +133 -0
  209. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.tsx +65 -0
  210. package/src/components/ThreadParentMessageRenderer/index.tsx +194 -0
  211. package/src/containers/SendbirdUIKitContainer.tsx +9 -4
  212. package/src/contexts/SendbirdChatCtx.tsx +20 -0
  213. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +37 -8
  214. package/src/domain/groupChannel/module/moduleContext.tsx +12 -2
  215. package/src/domain/groupChannel/types.ts +5 -0
  216. package/src/domain/groupChannelThread/component/GroupChannelThreadHeader.tsx +63 -0
  217. package/src/domain/groupChannelThread/component/GroupChannelThreadInput.tsx +38 -0
  218. package/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.tsx +105 -0
  219. package/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.tsx +326 -0
  220. package/src/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.tsx +18 -0
  221. package/src/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.tsx +18 -0
  222. package/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.tsx +174 -0
  223. package/src/domain/groupChannelThread/index.ts +8 -0
  224. package/src/domain/groupChannelThread/module/createGroupChannelThreadModule.tsx +35 -0
  225. package/src/domain/groupChannelThread/module/moduleContext.tsx +165 -0
  226. package/src/domain/groupChannelThread/types.ts +184 -0
  227. package/src/fragments/createGroupChannelFragment.tsx +38 -8
  228. package/src/fragments/createGroupChannelThreadFragment.tsx +280 -0
  229. package/src/hooks/useMentionSuggestion.ts +13 -9
  230. package/src/index.ts +4 -0
  231. package/src/libs/VoiceMessageStatusManager.ts +56 -0
  232. package/src/localization/StringSet.type.ts +27 -0
  233. package/src/localization/createBaseStringSet.ts +33 -4
  234. package/src/version.ts +1 -1
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.threadMessageComparator = threadMessageComparator;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
+ var _uikitTools = require("@sendbird/uikit-tools");
11
+ var _uikitUtils = require("@sendbird/uikit-utils");
12
+ var _GroupChannelMessageRenderer = _interopRequireDefault(require("../components/GroupChannelMessageRenderer"));
13
+ var _StatusComposition = _interopRequireDefault(require("../components/StatusComposition"));
14
+ var _createGroupChannelThreadModule = _interopRequireDefault(require("../domain/groupChannelThread/module/createGroupChannelThreadModule"));
15
+ var _useContext = require("../hooks/useContext");
16
+ var _pubsub = _interopRequireDefault(require("../utils/pubsub"));
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+ const createGroupChannelThreadFragment = initModule => {
22
+ const GroupChannelThreadModule = (0, _createGroupChannelThreadModule.default)(initModule);
23
+ return _ref => {
24
+ let {
25
+ renderMessage,
26
+ enableMessageGrouping = true,
27
+ onPressHeaderLeft = _uikitUtils.NOOP,
28
+ onPressHeaderSubtitle = _uikitUtils.NOOP,
29
+ onPressMediaMessage = _uikitUtils.NOOP,
30
+ onParentMessageDeleted = _uikitUtils.NOOP,
31
+ onChannelDeleted = _uikitUtils.NOOP,
32
+ onBeforeSendUserMessage = _uikitUtils.PASS,
33
+ onBeforeSendFileMessage = _uikitUtils.PASS,
34
+ onBeforeUpdateUserMessage = _uikitUtils.PASS,
35
+ onBeforeUpdateFileMessage = _uikitUtils.PASS,
36
+ channel,
37
+ parentMessage,
38
+ startingPoint,
39
+ keyboardAvoidOffset,
40
+ sortComparator = threadMessageComparator,
41
+ flatListProps
42
+ } = _ref;
43
+ const {
44
+ playerService,
45
+ recorderService
46
+ } = (0, _useContext.usePlatformService)();
47
+ const {
48
+ sdk,
49
+ currentUser,
50
+ sbOptions,
51
+ voiceMessageStatusManager,
52
+ groupChannelFragmentOptions
53
+ } = (0, _useContext.useSendbirdChat)();
54
+ const [groupChannelThreadPubSub] = (0, _react.useState)(() => (0, _pubsub.default)());
55
+ const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = (0, _react.useState)(false);
56
+ const scrolledAwayFromBottomRef = (0, _uikitUtils.useRefTracker)(scrolledAwayFromBottom);
57
+ const toast = (0, _uikitReactNativeFoundation.useToast)();
58
+ const {
59
+ STRINGS
60
+ } = (0, _useContext.useLocalization)();
61
+ const [_parentMessage, setParentMessage] = (0, _react.useState)(parentMessage);
62
+ const {
63
+ loading,
64
+ messages,
65
+ newMessages,
66
+ resetNewMessages,
67
+ loadNext,
68
+ loadPrevious,
69
+ hasNext,
70
+ sendFileMessage,
71
+ sendUserMessage,
72
+ updateFileMessage,
73
+ updateUserMessage,
74
+ resendMessage,
75
+ deleteMessage,
76
+ resetWithStartingPoint
77
+ } = (0, _uikitTools.useGroupChannelThreadMessages)(sdk, channel, _parentMessage, {
78
+ shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,
79
+ onMessagesReceived(messages) {
80
+ groupChannelThreadPubSub.publish({
81
+ type: 'MESSAGES_RECEIVED',
82
+ data: {
83
+ messages
84
+ }
85
+ });
86
+ },
87
+ onMessagesUpdated(messages) {
88
+ groupChannelThreadPubSub.publish({
89
+ type: 'MESSAGES_UPDATED',
90
+ data: {
91
+ messages
92
+ }
93
+ });
94
+ },
95
+ onParentMessageUpdated(parentMessage) {
96
+ setParentMessage(parentMessage);
97
+ },
98
+ onParentMessageDeleted: () => {
99
+ toast.show(STRINGS.TOAST.THREAD_PARENT_MESSAGE_DELETED_ERROR, 'error');
100
+ onParentMessageDeleted === null || onParentMessageDeleted === void 0 ? void 0 : onParentMessageDeleted();
101
+ },
102
+ onChannelDeleted,
103
+ onCurrentUserBanned: onChannelDeleted,
104
+ sortComparator,
105
+ markAsRead: _uikitUtils.confirmAndMarkAsRead,
106
+ isReactionEnabled: sbOptions.uikit.groupChannel.channel.enableReactions,
107
+ startingPoint
108
+ });
109
+ const onBlurFragment = () => {
110
+ return Promise.allSettled([playerService.reset(), recorderService.reset()]);
111
+ };
112
+ const _onPressHeaderLeft = (0, _uikitUtils.useFreshCallback)(async () => {
113
+ await onBlurFragment();
114
+ voiceMessageStatusManager.publishAll();
115
+ onPressHeaderLeft();
116
+ });
117
+ const _onPressHeaderSubtitle = (0, _uikitUtils.useFreshCallback)(async () => {
118
+ await onBlurFragment();
119
+ voiceMessageStatusManager.publishAll();
120
+ groupChannelFragmentOptions.pubsub.publish({
121
+ type: 'OVERRIDE_SEARCH_ITEM_STARTING_POINT',
122
+ data: {
123
+ startingPoint: parentMessage.createdAt
124
+ }
125
+ });
126
+ onPressHeaderSubtitle();
127
+ });
128
+ const _onPressMediaMessage = (0, _uikitUtils.useFreshCallback)(async (message, deleteMessage, uri) => {
129
+ await onBlurFragment();
130
+ onPressMediaMessage(message, deleteMessage, uri);
131
+ });
132
+ (0, _react.useEffect)(() => {
133
+ return () => {
134
+ onBlurFragment();
135
+ };
136
+ }, []);
137
+ const renderItem = (0, _uikitUtils.useFreshCallback)(props => {
138
+ const content = renderMessage ? renderMessage(props) : /*#__PURE__*/_react.default.createElement(_GroupChannelMessageRenderer.default, _extends({
139
+ hideParentMessage: true
140
+ }, props));
141
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, null, content);
142
+ });
143
+ const memoizedFlatListProps = (0, _react.useMemo)(() => ({
144
+ ListHeaderComponent: /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.ParentMessageInfo, {
145
+ channel: channel,
146
+ currentUserId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
147
+ onDeleteMessage: deleteMessage,
148
+ onPressMediaMessage: _onPressMediaMessage
149
+ }),
150
+ contentContainerStyle: {
151
+ flexGrow: 1
152
+ },
153
+ ...flatListProps
154
+ }), [flatListProps]);
155
+ const onResetMessageList = (0, _react.useCallback)(async () => {
156
+ return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);
157
+ }, []);
158
+ const onResetMessageListWithStartingPoint = (0, _react.useCallback)(async startingPoint => {
159
+ return await resetWithStartingPoint(startingPoint);
160
+ }, []);
161
+ const onPending = message => {
162
+ groupChannelThreadPubSub.publish({
163
+ type: 'MESSAGE_SENT_PENDING',
164
+ data: {
165
+ message
166
+ }
167
+ });
168
+ };
169
+ const onSent = message => {
170
+ groupChannelThreadPubSub.publish({
171
+ type: 'MESSAGE_SENT_SUCCESS',
172
+ data: {
173
+ message
174
+ }
175
+ });
176
+ };
177
+ const updateIfParentMessage = message => {
178
+ if (message.messageId === parentMessage.parentMessageId) {
179
+ setParentMessage(message);
180
+ }
181
+ };
182
+ const onPressSendUserMessage = (0, _uikitUtils.useFreshCallback)(async params => {
183
+ const processedParams = await onBeforeSendUserMessage(params);
184
+ const message = await sendUserMessage(processedParams, onPending);
185
+ onSent(message);
186
+ });
187
+ const onPressSendFileMessage = (0, _uikitUtils.useFreshCallback)(async params => {
188
+ var _processedParams$file;
189
+ const processedParams = await onBeforeSendFileMessage(params);
190
+ const fileSize = ((_processedParams$file = processedParams.file) === null || _processedParams$file === void 0 ? void 0 : _processedParams$file.size) ?? processedParams.fileSize;
191
+ const uploadSizeLimit = sbOptions.appInfo.uploadSizeLimit;
192
+ if (fileSize && uploadSizeLimit && fileSize > uploadSizeLimit) {
193
+ const sizeLimitString = `${(0, _uikitUtils.getReadableFileSize)(uploadSizeLimit)} MB`;
194
+ toast.show(STRINGS.TOAST.FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR(sizeLimitString), 'error');
195
+ return;
196
+ } else {
197
+ const message = await sendFileMessage(processedParams, onPending);
198
+ onSent(message);
199
+ }
200
+ });
201
+ const onPressUpdateUserMessage = (0, _uikitUtils.useFreshCallback)(async (message, params) => {
202
+ const processedParams = await onBeforeUpdateUserMessage(params);
203
+ const updatedMessage = await updateUserMessage(message.messageId, processedParams);
204
+ updateIfParentMessage(updatedMessage);
205
+ });
206
+ const onPressUpdateFileMessage = (0, _uikitUtils.useFreshCallback)(async (message, params) => {
207
+ const processedParams = await onBeforeUpdateFileMessage(params);
208
+ const updatedMessage = await updateFileMessage(message.messageId, processedParams);
209
+ updateIfParentMessage(updatedMessage);
210
+ });
211
+ const onScrolledAwayFromBottom = (0, _uikitUtils.useFreshCallback)(value => {
212
+ if (!value) resetNewMessages();
213
+ setScrolledAwayFromBottom(value);
214
+ });
215
+ return /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.Provider, {
216
+ channel: channel,
217
+ parentMessage: _parentMessage,
218
+ groupChannelThreadPubSub: groupChannelThreadPubSub,
219
+ keyboardAvoidOffset: keyboardAvoidOffset,
220
+ threadedMessages: messages
221
+ }, /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.Header, {
222
+ onPressLeft: _onPressHeaderLeft,
223
+ onPressSubtitle: _onPressHeaderSubtitle
224
+ }), /*#__PURE__*/_react.default.createElement(_StatusComposition.default, {
225
+ loading: loading,
226
+ LoadingComponent: /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.StatusLoading, null)
227
+ }, /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.MessageList, {
228
+ channel: channel,
229
+ onResetMessageList: onResetMessageList,
230
+ onResetMessageListWithStartingPoint: onResetMessageListWithStartingPoint,
231
+ enableMessageGrouping: enableMessageGrouping,
232
+ currentUserId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
233
+ renderMessage: renderItem,
234
+ messages: messages,
235
+ newMessages: newMessages,
236
+ onTopReached: loadPrevious,
237
+ onBottomReached: loadNext,
238
+ hasNext: hasNext,
239
+ scrolledAwayFromBottom: scrolledAwayFromBottom,
240
+ onScrolledAwayFromBottom: onScrolledAwayFromBottom,
241
+ onResendFailedMessage: resendMessage,
242
+ onDeleteMessage: deleteMessage,
243
+ onPressMediaMessage: _onPressMediaMessage,
244
+ flatListProps: memoizedFlatListProps,
245
+ startingPoint: startingPoint
246
+ }), /*#__PURE__*/_react.default.createElement(GroupChannelThreadModule.Input, {
247
+ SuggestedMentionList: GroupChannelThreadModule.SuggestedMentionList,
248
+ shouldRenderInput: shouldRenderInput(channel),
249
+ onPressSendUserMessage: onPressSendUserMessage,
250
+ onPressSendFileMessage: onPressSendFileMessage,
251
+ onPressUpdateUserMessage: onPressUpdateUserMessage,
252
+ onPressUpdateFileMessage: onPressUpdateFileMessage
253
+ })));
254
+ };
255
+ };
256
+ function shouldRenderInput(channel) {
257
+ if (channel.isBroadcast) {
258
+ return channel.myRole === 'operator';
259
+ }
260
+ return true;
261
+ }
262
+ function threadMessageComparator(a, b) {
263
+ return (0, _uikitUtils.messageComparator)(a, b) * -1;
264
+ }
265
+ var _default = createGroupChannelThreadFragment;
266
+ exports.default = _default;
267
+ //# sourceMappingURL=createGroupChannelThreadFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_GroupChannelMessageRenderer","_interopRequireDefault","_StatusComposition","_createGroupChannelThreadModule","_useContext","_pubsub","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","createGroupChannelThreadFragment","initModule","GroupChannelThreadModule","createGroupChannelThreadModule","_ref","renderMessage","enableMessageGrouping","onPressHeaderLeft","NOOP","onPressHeaderSubtitle","onPressMediaMessage","onParentMessageDeleted","onChannelDeleted","onBeforeSendUserMessage","PASS","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","parentMessage","startingPoint","keyboardAvoidOffset","sortComparator","threadMessageComparator","flatListProps","playerService","recorderService","usePlatformService","sdk","currentUser","sbOptions","voiceMessageStatusManager","groupChannelFragmentOptions","useSendbirdChat","groupChannelThreadPubSub","useState","pubsub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","useRefTracker","toast","useToast","STRINGS","useLocalization","_parentMessage","setParentMessage","loading","messages","newMessages","resetNewMessages","loadNext","loadPrevious","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","useGroupChannelThreadMessages","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","onMessagesUpdated","onParentMessageUpdated","show","TOAST","THREAD_PARENT_MESSAGE_DELETED_ERROR","onCurrentUserBanned","markAsRead","confirmAndMarkAsRead","isReactionEnabled","uikit","groupChannel","enableReactions","onBlurFragment","Promise","allSettled","reset","_onPressHeaderLeft","useFreshCallback","publishAll","_onPressHeaderSubtitle","createdAt","_onPressMediaMessage","message","uri","useEffect","renderItem","props","content","createElement","hideParentMessage","Box","memoizedFlatListProps","useMemo","ListHeaderComponent","ParentMessageInfo","currentUserId","userId","onDeleteMessage","contentContainerStyle","flexGrow","onResetMessageList","useCallback","Number","MAX_SAFE_INTEGER","onResetMessageListWithStartingPoint","onPending","onSent","updateIfParentMessage","messageId","parentMessageId","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","_processedParams$file","fileSize","file","size","uploadSizeLimit","appInfo","sizeLimitString","getReadableFileSize","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","onPressUpdateUserMessage","updatedMessage","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","threadedMessages","Header","onPressLeft","onPressSubtitle","LoadingComponent","StatusLoading","MessageList","onTopReached","onBottomReached","onResendFailedMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","a","b","messageComparator","_default","exports"],"sources":["createGroupChannelThreadFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { Box, useToast } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelThreadMessages } from '@sendbird/uikit-tools';\nimport {\n SendbirdFileMessage,\n SendbirdGroupChannel,\n type SendbirdMessage,\n SendbirdUserMessage,\n getReadableFileSize,\n} from '@sendbird/uikit-utils';\nimport {\n NOOP,\n PASS,\n confirmAndMarkAsRead,\n messageComparator,\n useFreshCallback,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer from '../components/GroupChannelMessageRenderer';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelThreadModule from '../domain/groupChannelThread/module/createGroupChannelThreadModule';\nimport type {\n GroupChannelThreadFragment,\n GroupChannelThreadModule,\n GroupChannelThreadProps,\n GroupChannelThreadPubSubContextPayload,\n} from '../domain/groupChannelThread/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../hooks/useContext';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelThreadFragment = (\n initModule?: Partial<GroupChannelThreadModule>,\n): GroupChannelThreadFragment => {\n const GroupChannelThreadModule = createGroupChannelThreadModule(initModule);\n\n return ({\n renderMessage,\n enableMessageGrouping = true,\n onPressHeaderLeft = NOOP,\n onPressHeaderSubtitle = NOOP,\n onPressMediaMessage = NOOP,\n onParentMessageDeleted = NOOP,\n onChannelDeleted = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n parentMessage,\n startingPoint,\n keyboardAvoidOffset,\n sortComparator = threadMessageComparator,\n flatListProps,\n }) => {\n const { playerService, recorderService } = usePlatformService();\n const { sdk, currentUser, sbOptions, voiceMessageStatusManager, groupChannelFragmentOptions } = useSendbirdChat();\n\n const [groupChannelThreadPubSub] = useState(() => pubsub<GroupChannelThreadPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const [_parentMessage, setParentMessage] = useState(parentMessage);\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n loadNext,\n loadPrevious,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelThreadMessages(sdk, channel, _parentMessage, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelThreadPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n onMessagesUpdated(messages) {\n groupChannelThreadPubSub.publish({ type: 'MESSAGES_UPDATED', data: { messages } });\n },\n onParentMessageUpdated(parentMessage) {\n setParentMessage(parentMessage);\n },\n onParentMessageDeleted: () => {\n toast.show(STRINGS.TOAST.THREAD_PARENT_MESSAGE_DELETED_ERROR, 'error');\n onParentMessageDeleted?.();\n },\n onChannelDeleted,\n onCurrentUserBanned: onChannelDeleted,\n sortComparator,\n markAsRead: confirmAndMarkAsRead,\n isReactionEnabled: sbOptions.uikit.groupChannel.channel.enableReactions,\n startingPoint,\n });\n\n const onBlurFragment = () => {\n return Promise.allSettled([playerService.reset(), recorderService.reset()]);\n };\n const _onPressHeaderLeft = useFreshCallback(async () => {\n await onBlurFragment();\n voiceMessageStatusManager.publishAll();\n onPressHeaderLeft();\n });\n const _onPressHeaderSubtitle = useFreshCallback(async () => {\n await onBlurFragment();\n voiceMessageStatusManager.publishAll();\n groupChannelFragmentOptions.pubsub.publish({\n type: 'OVERRIDE_SEARCH_ITEM_STARTING_POINT',\n data: { startingPoint: parentMessage.createdAt },\n });\n onPressHeaderSubtitle();\n });\n const _onPressMediaMessage: NonNullable<GroupChannelThreadProps['MessageList']['onPressMediaMessage']> =\n useFreshCallback(async (message, deleteMessage, uri) => {\n await onBlurFragment();\n onPressMediaMessage(message, deleteMessage, uri);\n });\n\n useEffect(() => {\n return () => {\n onBlurFragment();\n };\n }, []);\n\n const renderItem: GroupChannelThreadProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n const content = renderMessage ? (\n renderMessage(props)\n ) : (\n <GroupChannelMessageRenderer hideParentMessage {...props} />\n );\n return <Box>{content}</Box>;\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListHeaderComponent: (\n <GroupChannelThreadModule.ParentMessageInfo\n channel={channel}\n currentUserId={currentUser?.userId}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n />\n ),\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback(async () => {\n return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);\n }, []);\n\n const onResetMessageListWithStartingPoint = useCallback(async (startingPoint: number) => {\n return await resetWithStartingPoint(startingPoint);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelThreadPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelThreadPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const updateIfParentMessage = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n if (message.messageId === parentMessage.parentMessageId) {\n setParentMessage(message);\n }\n };\n\n const onPressSendUserMessage: GroupChannelThreadProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelThreadProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const fileSize = (processedParams.file as File)?.size ?? processedParams.fileSize;\n const uploadSizeLimit = sbOptions.appInfo.uploadSizeLimit;\n\n if (fileSize && uploadSizeLimit && fileSize > uploadSizeLimit) {\n const sizeLimitString = `${getReadableFileSize(uploadSizeLimit)} MB`;\n toast.show(STRINGS.TOAST.FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR(sizeLimitString), 'error');\n return;\n } else {\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n }\n },\n );\n const onPressUpdateUserMessage: GroupChannelThreadProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n const updatedMessage = await updateUserMessage(message.messageId, processedParams);\n updateIfParentMessage(updatedMessage);\n },\n );\n const onPressUpdateFileMessage: GroupChannelThreadProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n const updatedMessage = await updateFileMessage(message.messageId, processedParams);\n updateIfParentMessage(updatedMessage);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelThreadModule.Provider\n channel={channel}\n parentMessage={_parentMessage}\n groupChannelThreadPubSub={groupChannelThreadPubSub}\n keyboardAvoidOffset={keyboardAvoidOffset}\n threadedMessages={messages}\n >\n <GroupChannelThreadModule.Header onPressLeft={_onPressHeaderLeft} onPressSubtitle={_onPressHeaderSubtitle} />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelThreadModule.StatusLoading />}>\n <GroupChannelThreadModule.MessageList\n channel={channel}\n onResetMessageList={onResetMessageList}\n onResetMessageListWithStartingPoint={onResetMessageListWithStartingPoint}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={loadPrevious}\n onBottomReached={loadNext}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n flatListProps={memoizedFlatListProps}\n startingPoint={startingPoint}\n />\n <GroupChannelThreadModule.Input\n SuggestedMentionList={GroupChannelThreadModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelThreadModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nexport function threadMessageComparator(a: SendbirdMessage, b: SendbirdMessage) {\n return messageComparator(a, b) * -1;\n}\n\nexport default createGroupChannelThreadFragment;\n"],"mappings":"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"}
@@ -81,9 +81,12 @@ const useMentionSuggestion = params => {
81
81
  limit: mentionManager.config.suggestionLimit + 1
82
82
  }).next().then(members => members.filter(member => member.userId !== (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId))).then(members => members.slice(0, mentionManager.config.suggestionLimit));
83
83
  } else {
84
- return freshChannel.members.sort((a, b) => {
84
+ return freshChannel.members
85
+ // NOTE: When using 'org.webkit:android-jsc', there is a problem with sorting lists that include words starting with uppercase and lowercase letters.
86
+ // To ensure consistent sorting regardless of the JSC, we compare the words in lowercase.
87
+ .sort((a, b) => {
85
88
  var _a$nickname;
86
- return (_a$nickname = a.nickname) === null || _a$nickname === void 0 ? void 0 : _a$nickname.localeCompare(b.nickname);
89
+ return (_a$nickname = a.nickname) === null || _a$nickname === void 0 ? void 0 : _a$nickname.toLowerCase().localeCompare(b.nickname.toLowerCase());
87
90
  }).filter(member => {
88
91
  var _member$nickname;
89
92
  return ((_member$nickname = member.nickname) === null || _member$nickname === void 0 ? void 0 : _member$nickname.toLowerCase().startsWith(searchString.toLowerCase())) && member.userId !== (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) && member.isActive;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_uikitChatHooks","_uikitUtils","_useContext","useMentionSuggestion","params","text","selection","channel","mentionedUsers","freshChannel","setFreshChannel","useState","useAsyncEffect","refresh","url","id","useUniqHandlerId","useChannelHandler","sdk","onUserJoined","eventChannel","isDifferentChannel","onUserLeft","onUserBanned","isGroupChannel","mentionManager","currentUser","useSendbirdChat","members","setMembers","searchStringRangeRef","useRef","start","end","searchLimitedRef","updateSearchStringRange","selectionIndex","searchString","current","getSearchStringRangeInText","updateSearchLimited","mentionCount","mentionLimit","resetRefs","fetchMembers","selectionRanged","selectionContainsMentionedUser","some","it","rangeHelpers","overlaps","range","isTriggered","isValidSearchString","getSearchString","limited","length","config","isSuper","createMemberListQuery","nicknameStartsWithFilter","limit","suggestionLimit","next","then","filter","member","userId","slice","sort","a","b","_a$nickname","nickname","localeCompare","_member$nickname","toLowerCase","startsWith","isActive","useDebounceEffect","catch","debounceMills","reset","useCallback","searchStringRange","searchLimited","_default","exports","default"],"sources":["useMentionSuggestion.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdMember, SendbirdUser } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useAsyncEffect, useDebounceEffect, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../hooks/useContext';\nimport type { Range } from '../types';\n\nconst useMentionSuggestion = (params: {\n text: string;\n selection: Range;\n mentionedUsers: { user: SendbirdUser; range: Range }[];\n sdk: SendbirdChatSDK;\n channel: SendbirdGroupChannel;\n}) => {\n const { text, selection, channel, mentionedUsers } = params;\n\n const [freshChannel, setFreshChannel] = useState(channel);\n\n useAsyncEffect(async () => {\n setFreshChannel(await channel.refresh());\n }, [channel.url]);\n\n const id = useUniqHandlerId('useMentionSuggestion');\n\n useChannelHandler(params.sdk, id, {\n onUserJoined(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n setFreshChannel(eventChannel);\n },\n onUserLeft(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n setFreshChannel(eventChannel);\n },\n onUserBanned(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n if (!eventChannel.isGroupChannel()) return;\n setFreshChannel(eventChannel);\n },\n });\n\n const { mentionManager, currentUser } = useSendbirdChat();\n const [members, setMembers] = useState<SendbirdMember[]>([]);\n\n const searchStringRangeRef = useRef<Range>({ start: 0, end: 0 });\n const searchLimitedRef = useRef(false);\n\n const updateSearchStringRange = (selectionIndex: number, searchString: string) => {\n searchStringRangeRef.current = mentionManager.getSearchStringRangeInText(selectionIndex, searchString);\n return searchStringRangeRef.current;\n };\n const updateSearchLimited = (mentionCount: number, mentionLimit: number) => {\n searchLimitedRef.current = mentionCount >= mentionLimit;\n return searchLimitedRef.current;\n };\n const resetRefs = () => {\n searchLimitedRef.current = false;\n searchStringRangeRef.current = { start: 0, end: 0 };\n };\n\n const fetchMembers = async (): Promise<SendbirdMember[]> => {\n resetRefs();\n\n const selectionRanged = selection.start !== selection.end;\n if (selectionRanged) return [];\n\n const selectionContainsMentionedUser = mentionedUsers.some((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n if (selectionContainsMentionedUser) return [];\n\n const { isTriggered, isValidSearchString, searchString } = mentionManager.getSearchString(text, selection.start);\n if (!isTriggered() || !isValidSearchString()) return [];\n\n const limited = updateSearchLimited(mentionedUsers.length, mentionManager.config.mentionLimit);\n if (limited) return [];\n\n updateSearchStringRange(selection.start, searchString);\n\n if (freshChannel.isSuper) {\n return freshChannel\n .createMemberListQuery({\n nicknameStartsWithFilter: searchString,\n limit: mentionManager.config.suggestionLimit + 1,\n })\n .next()\n .then((members) => members.filter((member) => member.userId !== currentUser?.userId))\n .then((members) => members.slice(0, mentionManager.config.suggestionLimit));\n } else {\n return freshChannel.members\n .sort((a, b) => a.nickname?.localeCompare(b.nickname))\n .filter(\n (member) =>\n member.nickname?.toLowerCase().startsWith(searchString.toLowerCase()) &&\n member.userId !== currentUser?.userId &&\n member.isActive,\n )\n .slice(0, mentionManager.config.suggestionLimit);\n }\n };\n\n useDebounceEffect(\n () => {\n return fetchMembers()\n .then(setMembers)\n .catch(() => setMembers([]));\n },\n mentionManager.config.debounceMills,\n [text, selection],\n );\n\n return {\n members,\n reset: useCallback(() => setMembers([]), []),\n searchStringRange: searchStringRangeRef.current,\n searchLimited: searchLimitedRef.current,\n };\n};\n\nexport default useMentionSuggestion;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_uikitChatHooks","_uikitUtils","_useContext","useMentionSuggestion","params","text","selection","channel","mentionedUsers","freshChannel","setFreshChannel","useState","useAsyncEffect","refresh","url","id","useUniqHandlerId","useChannelHandler","sdk","onUserJoined","eventChannel","isDifferentChannel","onUserLeft","onUserBanned","isGroupChannel","mentionManager","currentUser","useSendbirdChat","members","setMembers","searchStringRangeRef","useRef","start","end","searchLimitedRef","updateSearchStringRange","selectionIndex","searchString","current","getSearchStringRangeInText","updateSearchLimited","mentionCount","mentionLimit","resetRefs","fetchMembers","selectionRanged","selectionContainsMentionedUser","some","it","rangeHelpers","overlaps","range","isTriggered","isValidSearchString","getSearchString","limited","length","config","isSuper","createMemberListQuery","nicknameStartsWithFilter","limit","suggestionLimit","next","then","filter","member","userId","slice","sort","a","b","_a$nickname","nickname","toLowerCase","localeCompare","_member$nickname","startsWith","isActive","useDebounceEffect","catch","debounceMills","reset","useCallback","searchStringRange","searchLimited","_default","exports","default"],"sources":["useMentionSuggestion.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport type { SendbirdChatSDK, SendbirdGroupChannel, SendbirdMember, SendbirdUser } from '@sendbird/uikit-utils';\nimport { isDifferentChannel, useAsyncEffect, useDebounceEffect, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../hooks/useContext';\nimport type { Range } from '../types';\n\nconst useMentionSuggestion = (params: {\n text: string;\n selection: Range;\n mentionedUsers: { user: SendbirdUser; range: Range }[];\n sdk: SendbirdChatSDK;\n channel: SendbirdGroupChannel;\n}) => {\n const { text, selection, channel, mentionedUsers } = params;\n\n const [freshChannel, setFreshChannel] = useState(channel);\n\n useAsyncEffect(async () => {\n setFreshChannel(await channel.refresh());\n }, [channel.url]);\n\n const id = useUniqHandlerId('useMentionSuggestion');\n\n useChannelHandler(params.sdk, id, {\n onUserJoined(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n setFreshChannel(eventChannel);\n },\n onUserLeft(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n setFreshChannel(eventChannel);\n },\n onUserBanned(eventChannel) {\n if (isDifferentChannel(eventChannel, channel)) return;\n if (!eventChannel.isGroupChannel()) return;\n setFreshChannel(eventChannel);\n },\n });\n\n const { mentionManager, currentUser } = useSendbirdChat();\n const [members, setMembers] = useState<SendbirdMember[]>([]);\n\n const searchStringRangeRef = useRef<Range>({ start: 0, end: 0 });\n const searchLimitedRef = useRef(false);\n\n const updateSearchStringRange = (selectionIndex: number, searchString: string) => {\n searchStringRangeRef.current = mentionManager.getSearchStringRangeInText(selectionIndex, searchString);\n return searchStringRangeRef.current;\n };\n const updateSearchLimited = (mentionCount: number, mentionLimit: number) => {\n searchLimitedRef.current = mentionCount >= mentionLimit;\n return searchLimitedRef.current;\n };\n const resetRefs = () => {\n searchLimitedRef.current = false;\n searchStringRangeRef.current = { start: 0, end: 0 };\n };\n\n const fetchMembers = async (): Promise<SendbirdMember[]> => {\n resetRefs();\n\n const selectionRanged = selection.start !== selection.end;\n if (selectionRanged) return [];\n\n const selectionContainsMentionedUser = mentionedUsers.some((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n if (selectionContainsMentionedUser) return [];\n\n const { isTriggered, isValidSearchString, searchString } = mentionManager.getSearchString(text, selection.start);\n if (!isTriggered() || !isValidSearchString()) return [];\n\n const limited = updateSearchLimited(mentionedUsers.length, mentionManager.config.mentionLimit);\n if (limited) return [];\n\n updateSearchStringRange(selection.start, searchString);\n\n if (freshChannel.isSuper) {\n return freshChannel\n .createMemberListQuery({\n nicknameStartsWithFilter: searchString,\n limit: mentionManager.config.suggestionLimit + 1,\n })\n .next()\n .then((members) => members.filter((member) => member.userId !== currentUser?.userId))\n .then((members) => members.slice(0, mentionManager.config.suggestionLimit));\n } else {\n return (\n freshChannel.members\n // NOTE: When using 'org.webkit:android-jsc', there is a problem with sorting lists that include words starting with uppercase and lowercase letters.\n // To ensure consistent sorting regardless of the JSC, we compare the words in lowercase.\n .sort((a, b) => a.nickname?.toLowerCase().localeCompare(b.nickname.toLowerCase()))\n .filter(\n (member) =>\n member.nickname?.toLowerCase().startsWith(searchString.toLowerCase()) &&\n member.userId !== currentUser?.userId &&\n member.isActive,\n )\n .slice(0, mentionManager.config.suggestionLimit)\n );\n }\n };\n\n useDebounceEffect(\n () => {\n return fetchMembers()\n .then(setMembers)\n .catch(() => setMembers([]));\n },\n mentionManager.config.debounceMills,\n [text, selection],\n );\n\n return {\n members,\n reset: useCallback(() => setMembers([]), []),\n searchStringRange: searchStringRangeRef.current,\n searchLimited: searchLimitedRef.current,\n };\n};\n\nexport default useMentionSuggestion;\n"],"mappings":"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"}
@@ -33,6 +33,7 @@ var _exportNames = {
33
33
  createGroupChannelMutedMembersFragment: true,
34
34
  createGroupChannelBannedUsersFragment: true,
35
35
  createGroupChannelNotificationsFragment: true,
36
+ createGroupChannelThreadFragment: true,
36
37
  createMessageSearchFragment: true,
37
38
  createOpenChannelFragment: true,
38
39
  createOpenChannelParticipantsFragment: true,
@@ -367,6 +368,12 @@ Object.defineProperty(exports, "createGroupChannelSettingsFragment", {
367
368
  return _createGroupChannelSettingsFragment.default;
368
369
  }
369
370
  });
371
+ Object.defineProperty(exports, "createGroupChannelThreadFragment", {
372
+ enumerable: true,
373
+ get: function () {
374
+ return _createGroupChannelThreadFragment.default;
375
+ }
376
+ });
370
377
  Object.defineProperty(exports, "createMessageSearchFragment", {
371
378
  enumerable: true,
372
379
  get: function () {
@@ -513,6 +520,7 @@ var _createGroupChannelRegisterOperatorFragment = _interopRequireDefault(require
513
520
  var _createGroupChannelMutedMembersFragment = _interopRequireDefault(require("./fragments/createGroupChannelMutedMembersFragment"));
514
521
  var _createGroupChannelBannedUsersFragment = _interopRequireDefault(require("./fragments/createGroupChannelBannedUsersFragment"));
515
522
  var _createGroupChannelNotificationsFragment = _interopRequireDefault(require("./fragments/createGroupChannelNotificationsFragment"));
523
+ var _createGroupChannelThreadFragment = _interopRequireDefault(require("./fragments/createGroupChannelThreadFragment"));
516
524
  var _createMessageSearchFragment = _interopRequireDefault(require("./fragments/createMessageSearchFragment"));
517
525
  var _createOpenChannelFragment = _interopRequireDefault(require("./fragments/createOpenChannelFragment"));
518
526
  var _createOpenChannelParticipantsFragment = _interopRequireDefault(require("./fragments/createOpenChannelParticipantsFragment"));
@@ -724,6 +732,30 @@ Object.keys(_types8).forEach(function (key) {
724
732
  }
725
733
  });
726
734
  });
735
+ var _groupChannelThread = require("./domain/groupChannelThread");
736
+ Object.keys(_groupChannelThread).forEach(function (key) {
737
+ if (key === "default" || key === "__esModule") return;
738
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
739
+ if (key in exports && exports[key] === _groupChannelThread[key]) return;
740
+ Object.defineProperty(exports, key, {
741
+ enumerable: true,
742
+ get: function () {
743
+ return _groupChannelThread[key];
744
+ }
745
+ });
746
+ });
747
+ var _types9 = require("./domain/groupChannelThread/types");
748
+ Object.keys(_types9).forEach(function (key) {
749
+ if (key === "default" || key === "__esModule") return;
750
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
751
+ if (key in exports && exports[key] === _types9[key]) return;
752
+ Object.defineProperty(exports, key, {
753
+ enumerable: true,
754
+ get: function () {
755
+ return _types9[key];
756
+ }
757
+ });
758
+ });
727
759
  var _openChannel = require("./domain/openChannel");
728
760
  Object.keys(_openChannel).forEach(function (key) {
729
761
  if (key === "default" || key === "__esModule") return;
@@ -736,15 +768,15 @@ Object.keys(_openChannel).forEach(function (key) {
736
768
  }
737
769
  });
738
770
  });
739
- var _types9 = require("./domain/openChannel/types");
740
- Object.keys(_types9).forEach(function (key) {
771
+ var _types10 = require("./domain/openChannel/types");
772
+ Object.keys(_types10).forEach(function (key) {
741
773
  if (key === "default" || key === "__esModule") return;
742
774
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
743
- if (key in exports && exports[key] === _types9[key]) return;
775
+ if (key in exports && exports[key] === _types10[key]) return;
744
776
  Object.defineProperty(exports, key, {
745
777
  enumerable: true,
746
778
  get: function () {
747
- return _types9[key];
779
+ return _types10[key];
748
780
  }
749
781
  });
750
782
  });
@@ -760,15 +792,15 @@ Object.keys(_openChannelSettings).forEach(function (key) {
760
792
  }
761
793
  });
762
794
  });
763
- var _types10 = require("./domain/openChannelSettings/types");
764
- Object.keys(_types10).forEach(function (key) {
795
+ var _types11 = require("./domain/openChannelSettings/types");
796
+ Object.keys(_types11).forEach(function (key) {
765
797
  if (key === "default" || key === "__esModule") return;
766
798
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
767
- if (key in exports && exports[key] === _types10[key]) return;
799
+ if (key in exports && exports[key] === _types11[key]) return;
768
800
  Object.defineProperty(exports, key, {
769
801
  enumerable: true,
770
802
  get: function () {
771
- return _types10[key];
803
+ return _types11[key];
772
804
  }
773
805
  });
774
806
  });
@@ -784,15 +816,15 @@ Object.keys(_openChannelList).forEach(function (key) {
784
816
  }
785
817
  });
786
818
  });
787
- var _types11 = require("./domain/openChannelList/types");
788
- Object.keys(_types11).forEach(function (key) {
819
+ var _types12 = require("./domain/openChannelList/types");
820
+ Object.keys(_types12).forEach(function (key) {
789
821
  if (key === "default" || key === "__esModule") return;
790
822
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
791
- if (key in exports && exports[key] === _types11[key]) return;
823
+ if (key in exports && exports[key] === _types12[key]) return;
792
824
  Object.defineProperty(exports, key, {
793
825
  enumerable: true,
794
826
  get: function () {
795
- return _types11[key];
827
+ return _types12[key];
796
828
  }
797
829
  });
798
830
  });
@@ -808,15 +840,15 @@ Object.keys(_openChannelCreate).forEach(function (key) {
808
840
  }
809
841
  });
810
842
  });
811
- var _types12 = require("./domain/openChannelCreate/types");
812
- Object.keys(_types12).forEach(function (key) {
843
+ var _types13 = require("./domain/openChannelCreate/types");
844
+ Object.keys(_types13).forEach(function (key) {
813
845
  if (key === "default" || key === "__esModule") return;
814
846
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
815
- if (key in exports && exports[key] === _types12[key]) return;
847
+ if (key in exports && exports[key] === _types13[key]) return;
816
848
  Object.defineProperty(exports, key, {
817
849
  enumerable: true,
818
850
  get: function () {
819
- return _types12[key];
851
+ return _types13[key];
820
852
  }
821
853
  });
822
854
  });
@@ -832,15 +864,15 @@ Object.keys(_openChannelModeration).forEach(function (key) {
832
864
  }
833
865
  });
834
866
  });
835
- var _types13 = require("./domain/openChannelModeration/types");
836
- Object.keys(_types13).forEach(function (key) {
867
+ var _types14 = require("./domain/openChannelModeration/types");
868
+ Object.keys(_types14).forEach(function (key) {
837
869
  if (key === "default" || key === "__esModule") return;
838
870
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
839
- if (key in exports && exports[key] === _types13[key]) return;
871
+ if (key in exports && exports[key] === _types14[key]) return;
840
872
  Object.defineProperty(exports, key, {
841
873
  enumerable: true,
842
874
  get: function () {
843
- return _types13[key];
875
+ return _types14[key];
844
876
  }
845
877
  });
846
878
  });
@@ -856,15 +888,15 @@ Object.keys(_openChannelBannedUsers).forEach(function (key) {
856
888
  }
857
889
  });
858
890
  });
859
- var _types14 = require("./domain/openChannelBannedUsers/types");
860
- Object.keys(_types14).forEach(function (key) {
891
+ var _types15 = require("./domain/openChannelBannedUsers/types");
892
+ Object.keys(_types15).forEach(function (key) {
861
893
  if (key === "default" || key === "__esModule") return;
862
894
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
863
- if (key in exports && exports[key] === _types14[key]) return;
895
+ if (key in exports && exports[key] === _types15[key]) return;
864
896
  Object.defineProperty(exports, key, {
865
897
  enumerable: true,
866
898
  get: function () {
867
- return _types14[key];
899
+ return _types15[key];
868
900
  }
869
901
  });
870
902
  });
@@ -880,15 +912,15 @@ Object.keys(_openChannelMutedParticipants).forEach(function (key) {
880
912
  }
881
913
  });
882
914
  });
883
- var _types15 = require("./domain/openChannelMutedParticipants/types");
884
- Object.keys(_types15).forEach(function (key) {
915
+ var _types16 = require("./domain/openChannelMutedParticipants/types");
916
+ Object.keys(_types16).forEach(function (key) {
885
917
  if (key === "default" || key === "__esModule") return;
886
918
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
887
- if (key in exports && exports[key] === _types15[key]) return;
919
+ if (key in exports && exports[key] === _types16[key]) return;
888
920
  Object.defineProperty(exports, key, {
889
921
  enumerable: true,
890
922
  get: function () {
891
- return _types15[key];
923
+ return _types16[key];
892
924
  }
893
925
  });
894
926
  });
@@ -904,42 +936,42 @@ Object.keys(_openChannelOperators).forEach(function (key) {
904
936
  }
905
937
  });
906
938
  });
907
- var _types16 = require("./domain/openChannelOperators/types");
908
- Object.keys(_types16).forEach(function (key) {
939
+ var _types17 = require("./domain/openChannelOperators/types");
940
+ Object.keys(_types17).forEach(function (key) {
909
941
  if (key === "default" || key === "__esModule") return;
910
942
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
911
- if (key in exports && exports[key] === _types16[key]) return;
943
+ if (key in exports && exports[key] === _types17[key]) return;
912
944
  Object.defineProperty(exports, key, {
913
945
  enumerable: true,
914
946
  get: function () {
915
- return _types16[key];
947
+ return _types17[key];
916
948
  }
917
949
  });
918
950
  });
919
- var _types17 = require("./domain/openChannelUserList/types");
920
- Object.keys(_types17).forEach(function (key) {
951
+ var _types18 = require("./domain/openChannelUserList/types");
952
+ Object.keys(_types18).forEach(function (key) {
921
953
  if (key === "default" || key === "__esModule") return;
922
954
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
923
- if (key in exports && exports[key] === _types17[key]) return;
955
+ if (key in exports && exports[key] === _types18[key]) return;
924
956
  Object.defineProperty(exports, key, {
925
957
  enumerable: true,
926
958
  get: function () {
927
- return _types17[key];
959
+ return _types18[key];
928
960
  }
929
961
  });
930
962
  });
931
963
  var _SendbirdUIKitContainer = _interopRequireWildcard(require("./containers/SendbirdUIKitContainer"));
932
964
  var _SBUError = _interopRequireDefault(require("./libs/SBUError"));
933
965
  var _SBUUtils = _interopRequireDefault(require("./libs/SBUUtils"));
934
- var _types18 = require("./types");
935
- Object.keys(_types18).forEach(function (key) {
966
+ var _types19 = require("./types");
967
+ Object.keys(_types19).forEach(function (key) {
936
968
  if (key === "default" || key === "__esModule") return;
937
969
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
938
- if (key in exports && exports[key] === _types18[key]) return;
970
+ if (key in exports && exports[key] === _types19[key]) return;
939
971
  Object.defineProperty(exports, key, {
940
972
  enumerable: true,
941
973
  get: function () {
942
- return _types18[key];
974
+ return _types19[key];
943
975
  }
944
976
  });
945
977
  });